From 2b9db322225b038884ead725d2dac187ce84119c Mon Sep 17 00:00:00 2001 From: Yeganathan S Date: Sun, 15 Oct 2023 20:53:38 +0530 Subject: [PATCH 01/38] init search_sync_api express app --- .../docker/Dockerfile.search_sync_api | 17 + .../Dockerfile.search_sync_api.dockerignore | 22 + scripts/services/search-sync-api.yaml | 65 + services/apps/search_sync_api/.eslintrc.cjs | 21 + services/apps/search_sync_api/.prettierignore | 3 + services/apps/search_sync_api/.prettierrc.cjs | 7 + .../config/custom-environment-variables.json | 31 + .../apps/search_sync_api/config/default.json | 7 + .../apps/search_sync_api/config/docker.json | 1 + .../search_sync_api/config/production.json | 1 + .../apps/search_sync_api/config/staging.json | 1 + .../apps/search_sync_api/package-lock.json | 3063 +++++++++++++++++ services/apps/search_sync_api/package.json | 46 + .../apps/search_sync_api/src/conf/index.ts | 67 + services/apps/search_sync_api/src/main.ts | 44 + .../src/middleware/database.ts | 14 + .../search_sync_api/src/middleware/error.ts | 24 + .../search_sync_api/src/middleware/index.ts | 5 + .../search_sync_api/src/middleware/logging.ts | 17 + .../search_sync_api/src/routes/activity.ts | 65 + .../apps/search_sync_api/src/routes/member.ts | 90 + .../src/routes/organization.ts | 53 + services/apps/search_sync_api/tsconfig.json | 19 + 23 files changed, 3683 insertions(+) create mode 100644 scripts/services/docker/Dockerfile.search_sync_api create mode 100644 scripts/services/docker/Dockerfile.search_sync_api.dockerignore create mode 100644 scripts/services/search-sync-api.yaml create mode 100644 services/apps/search_sync_api/.eslintrc.cjs create mode 100644 services/apps/search_sync_api/.prettierignore create mode 100644 services/apps/search_sync_api/.prettierrc.cjs create mode 100644 services/apps/search_sync_api/config/custom-environment-variables.json create mode 100644 services/apps/search_sync_api/config/default.json create mode 100644 services/apps/search_sync_api/config/docker.json create mode 100644 services/apps/search_sync_api/config/production.json create mode 100644 services/apps/search_sync_api/config/staging.json create mode 100644 services/apps/search_sync_api/package-lock.json create mode 100644 services/apps/search_sync_api/package.json create mode 100644 services/apps/search_sync_api/src/conf/index.ts create mode 100644 services/apps/search_sync_api/src/main.ts create mode 100644 services/apps/search_sync_api/src/middleware/database.ts create mode 100644 services/apps/search_sync_api/src/middleware/error.ts create mode 100644 services/apps/search_sync_api/src/middleware/index.ts create mode 100644 services/apps/search_sync_api/src/middleware/logging.ts create mode 100644 services/apps/search_sync_api/src/routes/activity.ts create mode 100644 services/apps/search_sync_api/src/routes/member.ts create mode 100644 services/apps/search_sync_api/src/routes/organization.ts create mode 100644 services/apps/search_sync_api/tsconfig.json diff --git a/scripts/services/docker/Dockerfile.search_sync_api b/scripts/services/docker/Dockerfile.search_sync_api new file mode 100644 index 0000000000..79f2b5833b --- /dev/null +++ b/scripts/services/docker/Dockerfile.search_sync_api @@ -0,0 +1,17 @@ +FROM node:16-alpine + +RUN apk add --update --no-cache bash + +WORKDIR /usr/crowd/app + +COPY ./services/scripts ./services/scripts +COPY ./services/libs/ ./services/libs/ +RUN cd services/scripts && ./install_lib_packages.sh + +COPY ./services/apps/search_sync_api/package.json ./services/apps/search_sync_api/package-lock.json ./services/apps/search_sync_api/tsconfig.json ./services/apps/search_sync_api/ +COPY ./services/apps/search_sync_api/config ./services/apps/search_sync_api/config +COPY ./services/apps/search_sync_api/src ./services/apps/search_sync_api/src + +RUN cd services/apps/search_sync_api && npm ci + +RUN npm cache clean --force diff --git a/scripts/services/docker/Dockerfile.search_sync_api.dockerignore b/scripts/services/docker/Dockerfile.search_sync_api.dockerignore new file mode 100644 index 0000000000..77d313162a --- /dev/null +++ b/scripts/services/docker/Dockerfile.search_sync_api.dockerignore @@ -0,0 +1,22 @@ +**/.git +**/node_modules +**/venv* +**/.webpack +**/.serverless +**/.cubestore +**/.env +**/.env.* +**/.idea +**/.vscode +**/dist +backend/server-config/ +backend/util/ +backend/src/serverless/microservices/python +.vscode/ +.github/ +frontend/ +scripts/ +.flake8 +*.md +Makefile +backend/ \ No newline at end of file diff --git a/scripts/services/search-sync-api.yaml b/scripts/services/search-sync-api.yaml new file mode 100644 index 0000000000..2fec4e8af2 --- /dev/null +++ b/scripts/services/search-sync-api.yaml @@ -0,0 +1,65 @@ +version: '3.1' + +x-env-args: &env-args + DOCKER_BUILDKIT: 1 + NODE_ENV: docker + SERVICE: search-sync-api + SHELL: /bin/sh + +services: + search-sync-api: + build: + context: ../../ + dockerfile: ./scripts/services/docker/Dockerfile.search_sync_api + command: 'npm run start' + working_dir: /usr/crowd/app/services/apps/search_sync_api + env_file: + - ../../backend/.env.dist.local + - ../../backend/.env.dist.composed + - ../../backend/.env.override.local + - ../../backend/.env.override.composed + environment: + <<: *env-args + ports: + - '8083:8083' + restart: always + networks: + - crowd-bridge + + search-sync-api-dev: + build: + context: ../../ + dockerfile: ./scripts/services/docker/Dockerfile.search_sync_api + command: 'npm run dev' + working_dir: /usr/crowd/app/services/apps/search_sync_api + # user: '${USER_ID}:${GROUP_ID}' + env_file: + - ../../backend/.env.dist.local + - ../../backend/.env.dist.composed + - ../../backend/.env.override.local + - ../../backend/.env.override.composed + environment: + <<: *env-args + hostname: search-sync-api + ports: + - '8083:8083' + networks: + - crowd-bridge + volumes: + - ../../services/libs/alerting/src:/usr/crowd/app/services/libs/alerting/src + - ../../services/libs/common/src:/usr/crowd/app/services/libs/common/src + - ../../services/libs/conversations/src:/usr/crowd/app/services/libs/conversations/src + - ../../services/libs/database/src:/usr/crowd/app/services/libs/database/src + - ../../services/libs/integrations/src:/usr/crowd/app/services/libs/integrations/src + - ../../services/libs/ioc/src:/usr/crowd/app/services/libs/ioc/src + - ../../services/libs/logging/src:/usr/crowd/app/services/libs/logging/src + - ../../services/libs/opensearch/src:/usr/crowd/app/services/libs/opensearch/src + - ../../services/libs/redis/src:/usr/crowd/app/services/libs/redis/src + - ../../services/libs/sentiment/src:/usr/crowd/app/services/libs/sentiment/src + - ../../services/libs/sqs/src:/usr/crowd/app/services/libs/sqs/src + - ../../services/libs/types/src:/usr/crowd/app/services/libs/types/src + - ../../services/apps/webhook_api/src:/usr/crowd/app/services/apps/search_sync_api/src + +networks: + crowd-bridge: + external: true diff --git a/services/apps/search_sync_api/.eslintrc.cjs b/services/apps/search_sync_api/.eslintrc.cjs new file mode 100644 index 0000000000..4a8c9f2f7d --- /dev/null +++ b/services/apps/search_sync_api/.eslintrc.cjs @@ -0,0 +1,21 @@ +module.exports = { + parser: '@typescript-eslint/parser', + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:prettier/recommended', + ], + plugins: ['@typescript-eslint', 'prettier'], + parserOptions: { + ecmaVersion: 2022, + sourceType: 'module', + }, + env: { + es6: true, + node: true, + }, + rules: { + 'prettier/prettier': 'error', + '@typescript-eslint/explicit-module-boundary-types': 'off', + }, +}; diff --git a/services/apps/search_sync_api/.prettierignore b/services/apps/search_sync_api/.prettierignore new file mode 100644 index 0000000000..323bc0d11c --- /dev/null +++ b/services/apps/search_sync_api/.prettierignore @@ -0,0 +1,3 @@ +dist/ +.eslintrc.cjs +.prettierrc.cjs \ No newline at end of file diff --git a/services/apps/search_sync_api/.prettierrc.cjs b/services/apps/search_sync_api/.prettierrc.cjs new file mode 100644 index 0000000000..424d55813a --- /dev/null +++ b/services/apps/search_sync_api/.prettierrc.cjs @@ -0,0 +1,7 @@ +module.exports = { + singleQuote: true, + arrowParens: 'always', + printWidth: 100, + trailingComma: 'all', + semi: false, +}; diff --git a/services/apps/search_sync_api/config/custom-environment-variables.json b/services/apps/search_sync_api/config/custom-environment-variables.json new file mode 100644 index 0000000000..5d53ec56f9 --- /dev/null +++ b/services/apps/search_sync_api/config/custom-environment-variables.json @@ -0,0 +1,31 @@ +{ + "service": { + "edition": "CROWD_EDITION" + }, + "db": { + "host": "CROWD_DB_WRITE_HOST", + "port": "CROWD_DB_PORT", + "database": "CROWD_DB_DATABASE", + "user": "CROWD_DB_USERNAME", + "password": "CROWD_DB_PASSWORD" + }, + "sqs": { + "region": "CROWD_SQS_AWS_REGION", + "host": "CROWD_SQS_HOST", + "port": "CROWD_SQS_PORT", + "accessKeyId": "CROWD_SQS_AWS_ACCESS_KEY_ID", + "secretAccessKey": "CROWD_SQS_AWS_SECRET_ACCESS_KEY" + }, + "redis": { + "username": "CROWD_REDIS_USERNAME", + "password": "CROWD_REDIS_PASSWORD", + "host": "CROWD_REDIS_HOST", + "port": "CROWD_REDIS_PORT" + }, + "opensearch": { + "node": "CROWD_OPENSEARCH_NODE", + "region": "CROWD_OPENSEARCH_AWS_REGION", + "accessKeyId": "CROWD_OPENSEARCH_AWS_ACCESS_KEY_ID", + "secretAccessKey": "CROWD_OPENSEARCH_AWS_SECRET_ACCESS_KEY" + } +} diff --git a/services/apps/search_sync_api/config/default.json b/services/apps/search_sync_api/config/default.json new file mode 100644 index 0000000000..0ae2ffe715 --- /dev/null +++ b/services/apps/search_sync_api/config/default.json @@ -0,0 +1,7 @@ +{ + "service": {}, + "db": {}, + "sqs": {}, + "redis": {}, + "opensearch": {} +} diff --git a/services/apps/search_sync_api/config/docker.json b/services/apps/search_sync_api/config/docker.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/services/apps/search_sync_api/config/docker.json @@ -0,0 +1 @@ +{} diff --git a/services/apps/search_sync_api/config/production.json b/services/apps/search_sync_api/config/production.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/services/apps/search_sync_api/config/production.json @@ -0,0 +1 @@ +{} diff --git a/services/apps/search_sync_api/config/staging.json b/services/apps/search_sync_api/config/staging.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/services/apps/search_sync_api/config/staging.json @@ -0,0 +1 @@ +{} diff --git a/services/apps/search_sync_api/package-lock.json b/services/apps/search_sync_api/package-lock.json new file mode 100644 index 0000000000..00802dcd86 --- /dev/null +++ b/services/apps/search_sync_api/package-lock.json @@ -0,0 +1,3063 @@ +{ + "name": "@crowdapp/search-sync-api", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@crowdapp/search-sync-api", + "version": "1.0.0", + "dependencies": { + "@crowd/common": "file:../../libs/common", + "@crowd/database": "file:../../libs/database", + "@crowd/ioc": "file:../../libs/ioc", + "@crowd/logging": "file:../../libs/logging", + "@crowd/opensearch": "file:../../libs/opensearch", + "@crowd/sqs": "file:../../libs/sqs", + "@crowd/types": "file:../../libs/types", + "@types/config": "^3.3.0", + "@types/express": "^4.17.17", + "@types/node": "^18.16.3", + "bunyan-middleware": "^1.0.2", + "config": "^3.3.9", + "cors": "^2.8.5", + "express": "^4.18.2", + "inversify": "^6.0.1", + "reflect-metadata": "^0.1.13", + "ts-node": "^10.9.1", + "tsconfig-paths": "^4.2.0", + "typescript": "^5.0.4" + }, + "devDependencies": { + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "nodemon": "^2.0.22", + "prettier": "^2.8.8" + } + }, + "../../libs/common": { + "version": "1.0.0", + "dependencies": { + "@crowd/types": "file:../types", + "psl": "^1.9.0", + "uuid": "^9.0.0" + }, + "devDependencies": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + } + }, + "../../libs/database": { + "version": "1.0.0", + "dependencies": { + "@crowd/common": "file:../common", + "@crowd/logging": "file:../logging", + "inversify": "^6.0.1", + "pg-promise": "^11.4.3", + "reflect-metadata": "^0.1.13" + }, + "devDependencies": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + } + }, + "../../libs/ioc": { + "version": "1.0.0", + "dependencies": { + "inversify": "^6.0.1", + "reflect-metadata": "^0.1.13" + }, + "devDependencies": { + "@crowd/common": "file:../common", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + } + }, + "../../libs/logging": { + "version": "1.0.0", + "dependencies": { + "@crowd/common": "file:../common", + "bunyan": "^1.8.15", + "bunyan-format": "^0.2.1", + "inversify": "^6.0.1", + "reflect-metadata": "^0.1.13" + }, + "devDependencies": { + "@types/bunyan": "^1.8.8", + "@types/bunyan-format": "^0.2.5", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + } + }, + "../../libs/opensearch": { + "version": "1.0.0", + "dependencies": { + "@crowd/database": "file:../database", + "@crowd/logging": "file:../logging", + "@crowd/redis": "file:../redis", + "@crowd/types": "file:../types", + "@opensearch-project/opensearch": "^1.2.0", + "inversify": "^6.0.1", + "reflect-metadata": "^0.1.13" + }, + "devDependencies": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + } + }, + "../../libs/sqs": { + "version": "1.0.0", + "dependencies": { + "@aws-sdk/client-sqs": "^3.332.0", + "@aws-sdk/types": "^3.329.0", + "@crowd/common": "file:../common", + "@crowd/logging": "file:../logging", + "@crowd/types": "file:../types", + "@smithy/util-retry": "^2.0.1", + "inversify": "^6.0.1", + "reflect-metadata": "^0.1.13" + }, + "devDependencies": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + } + }, + "../../libs/types": { + "version": "1.0.0", + "devDependencies": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@crowd/common": { + "resolved": "../../libs/common", + "link": true + }, + "node_modules/@crowd/database": { + "resolved": "../../libs/database", + "link": true + }, + "node_modules/@crowd/ioc": { + "resolved": "../../libs/ioc", + "link": true + }, + "node_modules/@crowd/logging": { + "resolved": "../../libs/logging", + "link": true + }, + "node_modules/@crowd/opensearch": { + "resolved": "../../libs/opensearch", + "link": true + }, + "node_modules/@crowd/sqs": { + "resolved": "../../libs/sqs", + "link": true + }, + "node_modules/@crowd/types": { + "resolved": "../../libs/types", + "link": true + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", + "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", + "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" + }, + "node_modules/@types/body-parser": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.3.tgz", + "integrity": "sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bunyan": { + "version": "1.8.9", + "resolved": "https://registry.npmjs.org/@types/bunyan/-/bunyan-1.8.9.tgz", + "integrity": "sha512-ZqS9JGpBxVOvsawzmVt30sP++gSQMTejCkIAQ3VdadOcRE8izTyW66hufvwLeH+YEGP6Js2AW7Gz+RMyvrEbmw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/config": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@types/config/-/config-3.3.1.tgz", + "integrity": "sha512-ZhBk8IVIbc3cuES10j2I+xa3L68rpl1X35FdsNce/AiE7yJnhQaA7tvO5MRZblqpBny4OIddJ+WQL04I1933Zg==" + }, + "node_modules/@types/connect": { + "version": "3.4.36", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.36.tgz", + "integrity": "sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.18", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.18.tgz", + "integrity": "sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ==", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.37", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.37.tgz", + "integrity": "sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/http-errors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.2.tgz", + "integrity": "sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==" + }, + "node_modules/@types/json-schema": { + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", + "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", + "dev": true + }, + "node_modules/@types/mime": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.3.tgz", + "integrity": "sha512-Ys+/St+2VF4+xuY6+kDIXGxbNRO0mesVg0bbxEfB97Od1Vjpjx9KD1qxs64Gcb3CWPirk9Xe+PT4YiiHQ9T+eg==" + }, + "node_modules/@types/node": { + "version": "18.18.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.1.tgz", + "integrity": "sha512-3G42sxmm0fF2+Vtb9TJQpnjmP+uKlWvFa8KoEGquh4gqRmoUG/N0ufuhikw6HEsdG2G2oIKhog1GCTfz9v5NdQ==" + }, + "node_modules/@types/qs": { + "version": "6.9.8", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", + "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.5.tgz", + "integrity": "sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA==" + }, + "node_modules/@types/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==", + "dev": true + }, + "node_modules/@types/send": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.2.tgz", + "integrity": "sha512-aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw==", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.3.tgz", + "integrity": "sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg==", + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "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/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/bunyan-middleware": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bunyan-middleware/-/bunyan-middleware-1.0.2.tgz", + "integrity": "sha512-9Kl4u106tfRiRbnNOJ70d84kDOdjM1cfUvJxfaCdz6GlzApu6cZ4uLNsYkAzwRZkAHPdyVUTNbkP84WrP6cQvA==", + "dependencies": { + "@types/bunyan": "^1.8.6", + "@types/express": "^4.0.35", + "uuid": "^8.3.2" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/config": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/config/-/config-3.3.9.tgz", + "integrity": "sha512-G17nfe+cY7kR0wVpc49NCYvNtelm/pPy8czHoFkAgtV1lkmcp7DHtWCdDu+C9Z7gb2WVqa9Tm3uF9aKaPbCfhg==", + "dependencies": { + "json5": "^2.2.3" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", + "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.50.0", + "@humanwhocodes/config-array": "^0.11.11", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", + "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", + "dev": true, + "dependencies": { + "flatted": "^3.2.7", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.22.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", + "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", + "dev": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/inversify": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/inversify/-/inversify-6.0.1.tgz", + "integrity": "sha512-B3ex30927698TJENHR++8FfEaJGqoWOgI6ZY5Ht/nLUsFCwHn6akbwtnUAPCgUepAnTpe2qHxhDNjoKLyz6rgQ==" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "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/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/nodemon": { + "version": "2.0.22", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.22.tgz", + "integrity": "sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==", + "dev": true, + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^3.2.7", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^5.7.1", + "simple-update-notifier": "^1.0.7", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=8.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "node_modules/nodemon/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/nodemon/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/nodemon/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/nodemon/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", + "dev": true + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "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/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "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": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/simple-update-notifier": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz", + "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==", + "dev": true, + "dependencies": { + "semver": "~7.0.0" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/simple-update-notifier/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "dev": true, + "dependencies": { + "nopt": "~1.0.10" + }, + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", + "dev": true + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/services/apps/search_sync_api/package.json b/services/apps/search_sync_api/package.json new file mode 100644 index 0000000000..1f8dba2cfa --- /dev/null +++ b/services/apps/search_sync_api/package.json @@ -0,0 +1,46 @@ +{ + "name": "@crowdapp/search-sync-api", + "version": "1.0.0", + "private": true, + "scripts": { + "start": "SERVICE=search-sync-api TS_NODE_TRANSPILE_ONLY=true node -r tsconfig-paths/register -r ts-node/register src/main.ts", + "start:debug:local": "set -a && . ../../../backend/.env.dist.local && . ../../../backend/.env.override.local && set +a && SERVICE=search-sync-api TS_NODE_TRANSPILE_ONLY=true LOG_LEVEL=trace node --inspect=0.0.0.0:9236 -r tsconfig-paths/register -r ts-node/register src/main.ts", + "start:debug": "SERVICE=search-sync-api TS_NODE_TRANSPILE_ONLY=true LOG_LEVEL=trace node --inspect=0.0.0.0:9236 -r tsconfig-paths/register -r ts-node/register src/main.ts", + "dev:local": "./node_modules/.bin/nodemon --watch src --watch ../../libs --ext ts --exec npm run start:debug:local", + "dev": "./node_modules/.bin/nodemon --watch src --watch ../../libs --ext ts --exec npm run start:debug", + "lint": "./node_modules/.bin/eslint --ext .ts src --max-warnings=0", + "format": "./node_modules/.bin/prettier --write \"src/**/*.ts\"", + "format-check": "./node_modules/.bin/prettier --check .", + "tsc-check": "./node_modules/.bin/tsc --noEmit" + }, + "dependencies": { + "@crowd/common": "file:../../libs/common", + "@crowd/opensearch": "file:../../libs/opensearch", + "@crowd/database": "file:../../libs/database", + "@crowd/logging": "file:../../libs/logging", + "@crowd/sqs": "file:../../libs/sqs", + "@crowd/types": "file:../../libs/types", + "@crowd/ioc": "file:../../libs/ioc", + "@types/config": "^3.3.0", + "@types/express": "^4.17.17", + "@types/node": "^18.16.3", + "bunyan-middleware": "^1.0.2", + "config": "^3.3.9", + "cors": "^2.8.5", + "express": "^4.18.2", + "inversify": "^6.0.1", + "reflect-metadata": "^0.1.13", + "ts-node": "^10.9.1", + "tsconfig-paths": "^4.2.0", + "typescript": "^5.0.4" + }, + "devDependencies": { + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "nodemon": "^2.0.22", + "prettier": "^2.8.8" + } +} diff --git a/services/apps/search_sync_api/src/conf/index.ts b/services/apps/search_sync_api/src/conf/index.ts new file mode 100644 index 0000000000..40515ce059 --- /dev/null +++ b/services/apps/search_sync_api/src/conf/index.ts @@ -0,0 +1,67 @@ +import { IDatabaseConfig } from '@crowd/database' +import { IRedisConfiguration } from '@crowd/redis' +import { ISqsClientConfig } from '@crowd/sqs' +import config from 'config' + +export interface IOpenSearchConfig { + node: string + region?: string + accessKeyId?: string + secretAccessKey?: string +} + +export interface IServiceConfig { + edition: string +} + +export interface ISearchSyncApiServiceConfig { + port: number +} + +let searchSyncApiConfig: ISearchSyncApiServiceConfig +export const SEARCH_SYNC_API_CONFIG = (): ISearchSyncApiServiceConfig => { + if (searchSyncApiConfig) return searchSyncApiConfig + + searchSyncApiConfig = config.get('service') + return searchSyncApiConfig +} + +let serviceConfig: IServiceConfig +export const SERVICE_CONFIG = (): IServiceConfig => { + if (serviceConfig) return serviceConfig + + serviceConfig = config.get('service') + return serviceConfig +} + +let openSearchConfig: IOpenSearchConfig +export const OPENSEARCH_CONFIG = (): IOpenSearchConfig => { + if (openSearchConfig) return openSearchConfig + + openSearchConfig = config.get('opensearch') + return openSearchConfig +} + +let sqsConfig: ISqsClientConfig +export const SQS_CONFIG = (): ISqsClientConfig => { + if (sqsConfig) return sqsConfig + + sqsConfig = config.get('sqs') + return sqsConfig +} + +let dbConfig: IDatabaseConfig +export const DB_CONFIG = (): IDatabaseConfig => { + if (dbConfig) return dbConfig + + dbConfig = config.get('db') + return dbConfig +} + +let redisConfig: IRedisConfiguration +export const REDIS_CONFIG = (): IRedisConfiguration => { + if (redisConfig) return redisConfig + + redisConfig = config.get('redis') + return redisConfig +} diff --git a/services/apps/search_sync_api/src/main.ts b/services/apps/search_sync_api/src/main.ts new file mode 100644 index 0000000000..2dafff9b39 --- /dev/null +++ b/services/apps/search_sync_api/src/main.ts @@ -0,0 +1,44 @@ +import { DATABASE_IOC } from '@crowd/database' +import { LOGGING_IOC, Logger } from '@crowd/logging' +import cors from 'cors' +import express from 'express' +import { DbConnection } from './../../../libs/database/src/types' +import { SEARCH_SYNC_API_CONFIG } from './conf' +import { databaseMiddleware } from './middleware/database' +import { errorMiddleware } from './middleware/error' +import { loggingMiddleware } from './middleware/logging' +import { InitService } from '@crowd/opensearch' +import { IOC } from '@crowd/ioc' +import memberRoutes from './routes/member' +import activityRoutes from './routes/activity' +import organizationRoutes from './routes/organization' + +const config = SEARCH_SYNC_API_CONFIG() + +setImmediate(async () => { + const ioc = IOC() + + const log = ioc.get(LOGGING_IOC.logger) + const app = express() + + app.use(cors({ origin: true })) + app.use(express.json({ limit: '5mb' })) + app.use(express.urlencoded({ extended: true, limit: '5mb' })) + app.use(loggingMiddleware(log)) + app.use(databaseMiddleware(ioc.get(DATABASE_IOC.connection))) + + // init opensearch service + const initService = ioc.get(InitService) + await initService.initialize() + + // add routes + app.use(memberRoutes) + app.use(activityRoutes) + app.use(organizationRoutes) + + app.use(errorMiddleware()) + + app.listen(config.port, () => { + log.info(`Search Sync API listening on port ${config.port}!`) + }) +}) diff --git a/services/apps/search_sync_api/src/middleware/database.ts b/services/apps/search_sync_api/src/middleware/database.ts new file mode 100644 index 0000000000..e30b30761f --- /dev/null +++ b/services/apps/search_sync_api/src/middleware/database.ts @@ -0,0 +1,14 @@ +import { DbConnection, DbStore } from '@crowd/database' +import { NextFunction, Request, RequestHandler, Response } from 'express' + +export interface IDatabaseRequest { + dbStore: DbStore +} + +export const databaseMiddleware = (conn: DbConnection): RequestHandler => { + return (req: Request, _res: Response, next: NextFunction) => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + ;(req as any).dbStore = new DbStore(req.log, conn) + next() + } +} diff --git a/services/apps/search_sync_api/src/middleware/error.ts b/services/apps/search_sync_api/src/middleware/error.ts new file mode 100644 index 0000000000..23df9a1ccb --- /dev/null +++ b/services/apps/search_sync_api/src/middleware/error.ts @@ -0,0 +1,24 @@ +import { ErrorRequestHandler, NextFunction, Request, Response } from 'express' +import { ApiRequest } from '.' +import { HttpStatusError } from '@crowd/common' + +export const asyncWrap = + (fn: (req: ApiRequest, res: Response, next: NextFunction) => Promise) => + (req: Request, res: Response, next: NextFunction) => { + Promise.resolve(fn(req as ApiRequest, res, next)).catch(next) + } + +export const errorMiddleware = (): ErrorRequestHandler => { + // eslint-disable-next-line @typescript-eslint/no-unused-vars + return (err, req, res, _next) => { + const request = req as ApiRequest + + if (err instanceof HttpStatusError) { + request.log.error(err, { statusCode: err.status }, 'HTTP status error occured!') + res.status(err.status).send(err.message) + } else { + request.log.error(err, 'Unknown error occured!') + res.status(500).send('Internal Server Error') + } + } +} diff --git a/services/apps/search_sync_api/src/middleware/index.ts b/services/apps/search_sync_api/src/middleware/index.ts new file mode 100644 index 0000000000..2282d5cf47 --- /dev/null +++ b/services/apps/search_sync_api/src/middleware/index.ts @@ -0,0 +1,5 @@ +import { Request } from 'express' +import { ILoggingRequest } from './logging' +import { IDatabaseRequest } from './database' + +export interface ApiRequest extends Request, ILoggingRequest, IDatabaseRequest {} diff --git a/services/apps/search_sync_api/src/middleware/logging.ts b/services/apps/search_sync_api/src/middleware/logging.ts new file mode 100644 index 0000000000..ce513b0d7f --- /dev/null +++ b/services/apps/search_sync_api/src/middleware/logging.ts @@ -0,0 +1,17 @@ +import { Logger, getChildLogger } from '@crowd/logging' +import bunyanMiddleware from 'bunyan-middleware' +import { RequestHandler } from 'express' + +export interface ILoggingRequest { + log: Logger +} + +export const loggingMiddleware = (log: Logger): RequestHandler => { + return bunyanMiddleware({ + headerName: 'x-request-id', + propertyName: 'requestId', + logName: `requestId`, + logger: getChildLogger('apiRequest', log), + level: 'trace', + }) +} diff --git a/services/apps/search_sync_api/src/routes/activity.ts b/services/apps/search_sync_api/src/routes/activity.ts new file mode 100644 index 0000000000..b8554557e7 --- /dev/null +++ b/services/apps/search_sync_api/src/routes/activity.ts @@ -0,0 +1,65 @@ +import express from 'express' +import { ActivitySyncService } from '@crowd/opensearch' + +const router = express.Router() + +router.post('/sync/activities', async (req, res) => { + const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) + const { activityIds } = req.body + try { + await activitySyncService.syncActivities(activityIds) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } +}) + +router.post('/sync/tenant/activities', async (req, res) => { + const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) + + const { tenantId } = req.body + try { + await activitySyncService.syncTenantActivities(tenantId) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } +}) + +router.post('/sync/organization/activities', async (req, res) => { + const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) + + const { organizationId } = req.body + try { + await activitySyncService.syncOrganizationActivities(organizationId) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } +}) + +router.delete('/cleanup/tenant/activities', async (req, res) => { + const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) + + const { tenantId } = req.body + try { + await activitySyncService.cleanupActivityIndex(tenantId) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } +}) + +router.delete('/cleanup/activities', async (req, res) => { + const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) + + const { activityId } = req.body + try { + await activitySyncService.cleanupActivityIndex(activityId) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } +}) + +export default router diff --git a/services/apps/search_sync_api/src/routes/member.ts b/services/apps/search_sync_api/src/routes/member.ts new file mode 100644 index 0000000000..49a184dc7b --- /dev/null +++ b/services/apps/search_sync_api/src/routes/member.ts @@ -0,0 +1,90 @@ +import express from 'express' +import { MemberSyncService } from '@crowd/opensearch' + +const router = express.Router() + +router.post('/sync/members', async (req, res) => { + const memberSyncService = new MemberSyncService( + req.redisClient, + req.dbStore, + req.opensearch, + req.log, + ) + const { memberIds } = req.body + try { + await memberSyncService.syncMembers(memberIds) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } +}) + +router.post('/sync/tenant/members', async (req, res) => { + const memberSyncService = new MemberSyncService( + req.redisClient, + req.dbStore, + req.opensearch, + req.log, + ) + + const { tenantId } = req.body + try { + await memberSyncService.syncTenantMembers(tenantId) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } +}) + +router.post('/sync/organization/members', async (req, res) => { + const memberSyncService = new MemberSyncService( + req.redisClient, + req.dbStore, + req.opensearch, + req.log, + ) + + const { organizationId } = req.body + try { + await memberSyncService.syncOrganizationMembers(organizationId) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } +}) + +router.delete('/cleanup/tenant/members', async (req, res) => { + const memberSyncService = new MemberSyncService( + req.redisClient, + req.dbStore, + req.opensearch, + req.log, + ) + + const { tenantId } = req.body + try { + await memberSyncService.cleanupMemberIndex(tenantId) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } +}) + +router.delete('/cleanup/members', async (req, res) => { + const memberSyncService = new MemberSyncService( + req.redisClient, + req.dbStore, + req.opensearch, + req.log, + ) + + const { memberId } = req.body + try { + await memberSyncService.removeMember(memberId) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } +}) + +export default router diff --git a/services/apps/search_sync_api/src/routes/organization.ts b/services/apps/search_sync_api/src/routes/organization.ts new file mode 100644 index 0000000000..5ea0bb498a --- /dev/null +++ b/services/apps/search_sync_api/src/routes/organization.ts @@ -0,0 +1,53 @@ +import express from 'express' +import { OrganizationSyncService } from '@crowd/opensearch' + +const router = express.Router() + +router.post('/sync/organizations', async (req, res) => { + const organizationSyncService = new OrganizationSyncService(req.dbStore, req.opensearch, req.log) + const { organizationIds } = req.body + try { + await organizationSyncService.syncOrganizations(organizationIds) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } +}) + +router.post('/sync/tenant/organizations', async (req, res) => { + const organizationSyncService = new OrganizationSyncService(req.dbStore, req.opensearch, req.log) + + const { tenantId } = req.body + try { + await organizationSyncService.syncTenantOrganizations(tenantId) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } +}) + +router.delete('/cleanup/tenant/organizations', async (req, res) => { + const organizationSyncService = new OrganizationSyncService(req.dbStore, req.opensearch, req.log) + + const { tenantId } = req.body + try { + await organizationSyncService.cleanupOrganizationIndex(tenantId) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } +}) + +router.delete('/cleanup/organizations', async (req, res) => { + const organizationSyncService = new OrganizationSyncService(req.dbStore, req.opensearch, req.log) + + const { organizationId } = req.body + try { + await organizationSyncService.cleanupOrganizationIndex(organizationId) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } +}) + +export default router diff --git a/services/apps/search_sync_api/tsconfig.json b/services/apps/search_sync_api/tsconfig.json new file mode 100644 index 0000000000..c7e9d5c376 --- /dev/null +++ b/services/apps/search_sync_api/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "target": "es2017", + "module": "Node16", + "lib": ["es6", "es7", "es2017", "es2017.object", "es2015.promise"], + "types": ["reflect-metadata"], + "skipLibCheck": true, + "sourceMap": true, + "moduleResolution": "node16", + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + "esModuleInterop": true, + "baseUrl": "./src", + "paths": { + "@crowd/*": ["../../../libs/*/src"] + } + }, + "include": ["src/**/*"] +} From 6b8681621f73a5e8f03a24a6c16e57a9e5821592 Mon Sep 17 00:00:00 2001 From: Yeganathan S Date: Sun, 15 Oct 2023 21:00:30 +0530 Subject: [PATCH 02/38] Extract search_sync_worker methods into opensearch lib and init APIs --- services/libs/opensearch/package.json | 3 + services/libs/opensearch/src/conf/index.ts | 55 ++ services/libs/opensearch/src/index.ts | 1 + .../libs/opensearch/src/repo/activity.data.ts | 25 + .../libs/opensearch/src/repo/activity.repo.ts | 181 +++++ .../libs/opensearch/src/repo/member.data.ts | 50 ++ .../libs/opensearch/src/repo/member.repo.ts | 331 ++++++++++ .../opensearch/src/repo/organization.data.ts | 65 ++ .../opensearch/src/repo/organization.repo.ts | 179 +++++ .../libs/opensearch/src/repo/segment.data.ts | 5 + .../libs/opensearch/src/repo/segment.repo.ts | 28 + .../src/service/activity.sync.service.ts | 292 ++++++++ services/libs/opensearch/src/service/index.ts | 5 + .../opensearch/src/service/init.service.ts | 244 +++++++ .../src/service/member.sync.data.ts | 4 + .../src/service/member.sync.service.ts | 621 ++++++++++++++++++ .../opensearch/src/service/opensearch.data.ts | 15 + .../src/service/opensearch.service.ts | 355 ++++++++++ .../src/service/organization.sync.data.ts | 4 + .../src/service/organization.sync.service.ts | 500 ++++++++++++++ services/libs/opensearch/src/types.ts | 601 +++++++++++++++++ 21 files changed, 3564 insertions(+) create mode 100644 services/libs/opensearch/src/conf/index.ts create mode 100644 services/libs/opensearch/src/repo/activity.data.ts create mode 100644 services/libs/opensearch/src/repo/activity.repo.ts create mode 100644 services/libs/opensearch/src/repo/member.data.ts create mode 100644 services/libs/opensearch/src/repo/member.repo.ts create mode 100644 services/libs/opensearch/src/repo/organization.data.ts create mode 100644 services/libs/opensearch/src/repo/organization.repo.ts create mode 100644 services/libs/opensearch/src/repo/segment.data.ts create mode 100644 services/libs/opensearch/src/repo/segment.repo.ts create mode 100644 services/libs/opensearch/src/service/activity.sync.service.ts create mode 100644 services/libs/opensearch/src/service/index.ts create mode 100644 services/libs/opensearch/src/service/init.service.ts create mode 100644 services/libs/opensearch/src/service/member.sync.data.ts create mode 100644 services/libs/opensearch/src/service/member.sync.service.ts create mode 100644 services/libs/opensearch/src/service/opensearch.data.ts create mode 100644 services/libs/opensearch/src/service/opensearch.service.ts create mode 100644 services/libs/opensearch/src/service/organization.sync.data.ts create mode 100644 services/libs/opensearch/src/service/organization.sync.service.ts create mode 100644 services/libs/opensearch/src/types.ts diff --git a/services/libs/opensearch/package.json b/services/libs/opensearch/package.json index 6c5eb33686..cb7c1f536a 100644 --- a/services/libs/opensearch/package.json +++ b/services/libs/opensearch/package.json @@ -20,6 +20,9 @@ }, "dependencies": { "@crowd/types": "file:../types", + "@crowd/logging": "file:../logging", + "@crowd/database": "file:../database", + "@crowd/redis": "file:../redis", "@opensearch-project/opensearch": "^1.2.0" } } diff --git a/services/libs/opensearch/src/conf/index.ts b/services/libs/opensearch/src/conf/index.ts new file mode 100644 index 0000000000..a02ea34892 --- /dev/null +++ b/services/libs/opensearch/src/conf/index.ts @@ -0,0 +1,55 @@ +import { IDatabaseConfig } from '@crowd/database' +import { IRedisConfiguration } from '@crowd/redis' +import { ISqsClientConfig } from '@crowd/sqs' +import config from 'config' + +export interface IOpenSearchConfig { + node: string + region?: string + accessKeyId?: string + secretAccessKey?: string +} + +export interface IServiceConfig { + edition: string +} + +let serviceConfig: IServiceConfig +export const SERVICE_CONFIG = (): IServiceConfig => { + if (serviceConfig) return serviceConfig + + serviceConfig = config.get('service') + return serviceConfig +} + +let openSearchConfig: IOpenSearchConfig +export const OPENSEARCH_CONFIG = (): IOpenSearchConfig => { + if (openSearchConfig) return openSearchConfig + + openSearchConfig = config.get('opensearch') + return openSearchConfig +} + +let sqsConfig: ISqsClientConfig +export const SQS_CONFIG = (): ISqsClientConfig => { + if (sqsConfig) return sqsConfig + + sqsConfig = config.get('sqs') + return sqsConfig +} + +let dbConfig: IDatabaseConfig +export const DB_CONFIG = (): IDatabaseConfig => { + if (dbConfig) return dbConfig + + dbConfig = config.get('db') + return dbConfig +} + +let redisConfig: IRedisConfiguration +export const REDIS_CONFIG = (): IRedisConfiguration => { + if (redisConfig) return redisConfig + + redisConfig = config.get('redis') + return redisConfig +} diff --git a/services/libs/opensearch/src/index.ts b/services/libs/opensearch/src/index.ts index dc874ee3aa..174f7e4ef3 100644 --- a/services/libs/opensearch/src/index.ts +++ b/services/libs/opensearch/src/index.ts @@ -1,3 +1,4 @@ export * from './fieldTranslatorFactory' export * from './opensearchQueryParser' export * from './client' +export * from './service' diff --git a/services/libs/opensearch/src/repo/activity.data.ts b/services/libs/opensearch/src/repo/activity.data.ts new file mode 100644 index 0000000000..753071ad39 --- /dev/null +++ b/services/libs/opensearch/src/repo/activity.data.ts @@ -0,0 +1,25 @@ +export interface IDbActivitySyncData { + id: string + tenantId: string + segmentId: string + type: string + timestamp: string + platform: string + isContribution: boolean + score: number | null + sourceId: string + sourceParentId: string | null + attributes: unknown + channel: string | null + body: string | null + title: string | null + url: string | null + sentiment: number | null + importHash: string | null + memberId: string + conversationId: string | null + parentId: string | null + username: string + objectMemberId: string | null + objectMemberUsername: string | null +} diff --git a/services/libs/opensearch/src/repo/activity.repo.ts b/services/libs/opensearch/src/repo/activity.repo.ts new file mode 100644 index 0000000000..1123834b04 --- /dev/null +++ b/services/libs/opensearch/src/repo/activity.repo.ts @@ -0,0 +1,181 @@ +import { DbStore, RepositoryBase } from '@crowd/database' +import { Logger } from '@crowd/logging' +import { IDbActivitySyncData } from './activity.data' + +export class ActivityRepository extends RepositoryBase { + constructor(dbStore: DbStore, parentLog: Logger) { + super(dbStore, parentLog) + } + + public async getActivityData(activityIds: string[]): Promise { + const results = await this.db().any( + ` + select id, + "tenantId", + "segmentId", + type, + timestamp, + platform, + "isContribution", + score, + "sourceId", + "sourceParentId", + attributes, + channel, + body, + title, + url, + (sentiment -> 'sentiment')::int as sentiment, + "importHash", + "memberId", + "conversationId", + "parentId", + username, + "objectMemberId", + "objectMemberUsername" + from activities where id in ($(activityIds:csv)) and "deletedAt" is null + `, + { + activityIds, + }, + ) + + return results + } + + public async checkActivitiesExist(tenantId: string, activityIds: string[]): Promise { + const results = await this.db().any( + ` + select id from activities where "tenantId" = $(tenantId) and id in ($(activityIds:csv)) and "deletedAt" is null + `, + { + tenantId, + activityIds, + }, + ) + + return results.map((r) => r.id) + } + + public async markSynced(activityIds: string[]): Promise { + await this.db().none( + `update activities set "searchSyncedAt" = now() where id in ($(activityIds:csv))`, + { + activityIds, + }, + ) + } + + public async getTenantActivitiesForSync( + tenantId: string, + perPage: number, + lastId?: string, + ): Promise { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + let results: any[] + + if (lastId) { + results = await this.db().any( + ` + select id from activities + where "tenantId" = $(tenantId) and "deletedAt" is null and id > $(lastId) + order by id + limit ${perPage}; + `, + { + tenantId, + lastId, + }, + ) + } else { + results = await this.db().any( + ` + select id from activities + where "tenantId" = $(tenantId) and "deletedAt" is null + order by id + limit ${perPage}; + `, + { + tenantId, + }, + ) + } + + return results.map((r) => r.id) + } + + public async getOrganizationActivitiesForSync( + organizationId: string, + perPage: number, + lastId?: string, + ): Promise { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + let results: any[] + + if (lastId) { + results = await this.db().any( + ` + select id from activities + where "organizationId" = $(organizationId) and "deletedAt" is null and id > $(lastId) + order by id + limit ${perPage}; + `, + { + organizationId, + lastId, + }, + ) + } else { + results = await this.db().any( + ` + select id from activities + where "organizationId" = $(organizationId) and "deletedAt" is null + order by id + limit ${perPage}; + `, + { + organizationId, + }, + ) + } + + return results.map((r) => r.id) + } + + public async getRemainingTenantActivitiesForSync( + tenantId: string, + page: number, + perPage: number, + cutoffDate: string, + ): Promise { + const results = await this.db().any( + ` + select id from activities + where "tenantId" = $(tenantId) and "deletedAt" is null + and ( + "searchSyncedAt" is null or + "searchSyncedAt" < $(cutoffDate) + ) + limit ${perPage} offset ${(page - 1) * perPage}; + `, + { + tenantId, + cutoffDate, + }, + ) + + return results.map((r) => r.id) + } + + public async getTenantIds(): Promise { + const results = await this.db().any( + `select "tenantId" + from activities + where "deletedAt" is null + group by "tenantId" + order by count(id) asc`, + ) + + return results.map((r) => r.tenantId) + } +} diff --git a/services/libs/opensearch/src/repo/member.data.ts b/services/libs/opensearch/src/repo/member.data.ts new file mode 100644 index 0000000000..a0e65d71e3 --- /dev/null +++ b/services/libs/opensearch/src/repo/member.data.ts @@ -0,0 +1,50 @@ +export interface IDbMemberIdentityData { + platform: string + username: string +} + +export interface IDbMemberTagData { + id: string + name: string +} + +export interface IDbMemberOrganization { + id: string + logo: string | null + displayName: string | null + memberOrganizations: { + title: string + dateStart: string + dateEnd: string + } +} + +export interface IDbMemberSyncData { + id: string + tenantId: string + segmentId: string + displayName: string | null + attributes: unknown | null + emails: string[] | null + score: number | null + lastEnriched: string | null + joinedAt: string + createdAt: string + manuallyCreated: boolean + totalReach: number + numberOfOpenSourceContributions: number + + // member activity data + activeOn: string[] + activityCount: number + activityTypes: string[] + activeDaysCount: number + lastActive: string + averageSentiment: number | null + + identities: IDbMemberIdentityData[] + organizations: IDbMemberOrganization[] + tags: IDbMemberTagData[] + toMergeIds: string[] + noMergeIds: string[] +} diff --git a/services/libs/opensearch/src/repo/member.repo.ts b/services/libs/opensearch/src/repo/member.repo.ts new file mode 100644 index 0000000000..a34a4ae14d --- /dev/null +++ b/services/libs/opensearch/src/repo/member.repo.ts @@ -0,0 +1,331 @@ +import { DbStore, RepositoryBase } from '@crowd/database' +import { Logger } from '@crowd/logging' +import { RedisCache, RedisClient } from '@crowd/redis' +import { IMemberAttribute } from '@crowd/types' +import { IDbMemberSyncData } from './member.data' + +export class MemberRepository extends RepositoryBase { + private readonly cache: RedisCache + + constructor(redisClient: RedisClient, dbStore: DbStore, parentLog: Logger) { + super(dbStore, parentLog) + + this.cache = new RedisCache('memberAttributes', redisClient, this.log) + } + + public async getTenantIds(): Promise { + const results = await this.db().any(`select distinct "tenantId" from members;`) + + return results.map((r) => r.tenantId) + } + + public async getTenantMemberAttributes(tenantId: string): Promise { + const cachedString = await this.cache.get(tenantId) + + if (cachedString) { + return JSON.parse(cachedString) + } + + const results = await this.db().any( + `select type, "canDelete", show, label, name, options from "memberAttributeSettings" where "tenantId" = $(tenantId)`, + { + tenantId, + }, + ) + + await this.cache.set(tenantId, JSON.stringify(results)) + + return results + } + + public async getTenantMembersForSync( + tenantId: string, + perPage: number, + lastId?: string, + ): Promise { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + let results: any[] + + if (lastId) { + results = await this.db().any( + ` + select m.id + from members m + where m."tenantId" = $(tenantId) and + m."deletedAt" is null and + m.id > $(lastId) and + ( + exists (select 1 from activities where "memberId" = m.id) or + m."manuallyCreated" + ) and + exists (select 1 from "memberIdentities" where "memberId" = m.id) + order by m.id + limit ${perPage};`, + { + tenantId, + lastId, + }, + ) + } else { + results = await this.db().any( + ` + select m.id + from members m + where m."tenantId" = $(tenantId) and + m."deletedAt" is null and + ( + exists (select 1 from activities where "memberId" = m.id) or + m."manuallyCreated" + ) and + exists (select 1 from "memberIdentities" where "memberId" = m.id) + order by m.id + limit ${perPage};`, + { + tenantId, + }, + ) + } + + return results.map((r) => r.id) + } + + public async getOrganizationMembersForSync( + organizationId: string, + perPage: number, + lastId?: string, + ): Promise { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + let results: any[] + + if (lastId) { + results = await this.db().any( + ` + select distinct mo."memberId" + from "memberOrganizations" mo + where mo."organizationId" = $(organizationId) and + mo."deletedAt" is null and + mo."memberId" > $(lastId) and + ( + exists (select 1 from activities where "memberId" = mo."memberId") or + exists (select 1 from members where "memberId" = mo."memberId" and "manuallyCreated") + ) and + exists (select 1 from "memberIdentities" where "memberId" = mo."memberId") + order by mo."memberId" + limit ${perPage};`, + { + organizationId, + lastId, + }, + ) + } else { + results = await this.db().any( + ` + select distinct mo."memberId" + from "memberOrganizations" mo + where mo."organizationId" = $(organizationId) and + mo."deletedAt" is null and + ( + exists (select 1 from activities where "memberId" = mo."memberId") or + exists (select 1 from members where "memberId" = mo."memberId" and "manuallyCreated") + ) and + exists (select 1 from "memberIdentities" where "memberId" = mo."memberId") + order by mo."memberId" + limit ${perPage};`, + { + organizationId, + }, + ) + } + + return results.map((r) => r.memberId) + } + + public async getRemainingTenantMembersForSync( + tenantId: string, + page: number, + perPage: number, + cutoffDate: string, + ): Promise { + const results = await this.db().any( + ` + select id from members m + where m."tenantId" = $(tenantId) and m."deletedAt" is null + and ( + m."searchSyncedAt" is null or + m."searchSyncedAt" < $(cutoffDate) + ) and + ( + exists (select 1 from activities where "memberId" = m.id) or + m."manuallyCreated" + ) + limit ${perPage} offset ${(page - 1) * perPage}; + `, + { + tenantId, + cutoffDate, + }, + ) + + return results.map((r) => r.id) + } + + public async getMemberData(ids: string[]): Promise { + const results = await this.db().any( + ` + with to_merge_data as (select mtm."memberId", + array_agg(distinct mtm."toMergeId"::text) as to_merge_ids + from "memberToMerge" mtm + inner join members m2 on mtm."toMergeId" = m2.id + where mtm."memberId" in ($(ids:csv)) + and m2."deletedAt" is null + group by mtm."memberId"), + no_merge_data as (select mnm."memberId", + array_agg(distinct mnm."noMergeId"::text) as no_merge_ids + from "memberNoMerge" mnm + inner join members m2 on mnm."noMergeId" = m2.id + where mnm."memberId" in ($(ids:csv)) + and m2."deletedAt" is null + group by mnm."memberId"), + member_tags as (select mt."memberId", + json_agg( + json_build_object( + 'id', t.id, + 'name', t.name + ) + ) as all_tags, + jsonb_agg(t.id) as all_ids + from "memberTags" mt + inner join tags t on mt."tagId" = t.id + where mt."memberId" in ($(ids:csv)) + and t."deletedAt" is null + group by mt."memberId"), + member_organizations as (select mo."memberId", + os."segmentId", + json_agg( + json_build_object( + 'id', o.id, + 'logo', o.logo, + 'displayName', o."displayName", + 'memberOrganizations', json_build_object( + 'dateStart', mo."dateStart", + 'dateEnd', mo."dateEnd", + 'title', mo.title + ) + ) + ) as all_organizations, + jsonb_agg(o.id) as all_ids + from "memberOrganizations" mo + inner join organizations o on mo."organizationId" = o.id + inner join "organizationSegments" os on o.id = os."organizationId" + where mo."memberId" in ($(ids:csv)) + and mo."deletedAt" is null + and o."deletedAt" is null + and exists (select 1 + from activities a + where a."memberId" = mo."memberId" + and a."organizationId" = mo."organizationId" + and a."segmentId" = os."segmentId") + group by mo."memberId", os."segmentId"), + identities as (select mi."memberId", + json_agg( + json_build_object( + 'platform', mi.platform, + 'username', mi.username + ) + ) as identities + from "memberIdentities" mi + where mi."memberId" in ($(ids:csv)) + group by mi."memberId"), + activity_data as (select a."memberId", + a."segmentId", + count(a.id) as "activityCount", + max(a.timestamp) as "lastActive", + array_agg(distinct concat(a.platform, ':', a.type)) + filter (where a.platform is not null) as "activityTypes", + array_agg(distinct a.platform) filter (where a.platform is not null) as "activeOn", + count(distinct a."timestamp"::date) as "activeDaysCount", + round(avg( + case + when (a.sentiment ->> 'sentiment'::text) is not null + then (a.sentiment ->> 'sentiment'::text)::double precision + else null::double precision + end)::numeric, 2) as "averageSentiment" + from activities a + where a."memberId" in ($(ids:csv)) + group by a."memberId", a."segmentId") + select m.id, + m."tenantId", + ms."segmentId", + m."displayName", + m.attributes, + m.emails, + m.score, + m."lastEnriched", + m."joinedAt", + m."manuallyCreated", + m."createdAt", + (m.reach -> 'total')::integer as "totalReach", + coalesce(jsonb_array_length(m.contributions), 0) as "numberOfOpenSourceContributions", + + ad."activeOn", + ad."activityCount", + ad."activityTypes", + ad."activeDaysCount", + ad."lastActive", + ad."averageSentiment", + + i.identities, + coalesce(mo.all_organizations, json_build_array()) as organizations, + coalesce(mt.all_tags, json_build_array()) as tags, + coalesce(tmd.to_merge_ids, array []::text[]) as "toMergeIds", + coalesce(nmd.no_merge_ids, array []::text[]) as "noMergeIds" + from "memberSegments" ms + inner join members m on ms."memberId" = m.id + inner join identities i on m.id = i."memberId" + left join activity_data ad on ms."memberId" = ad."memberId" and ms."segmentId" = ad."segmentId" + left join to_merge_data tmd on m.id = tmd."memberId" + left join no_merge_data nmd on m.id = nmd."memberId" + left join member_tags mt on ms."memberId" = mt."memberId" + left join member_organizations mo on ms."memberId" = mo."memberId" and ms."segmentId" = mo."segmentId" + where ms."memberId" in ($(ids:csv)) + and m."deletedAt" is null + and (ad."memberId" is not null or m."manuallyCreated");`, + { + ids, + }, + ) + + return results + } + + public async markSynced(memberIds: string[]): Promise { + await this.db().none( + `update members set "searchSyncedAt" = now() where id in ($(memberIds:csv))`, + { + memberIds, + }, + ) + } + + public async checkMembersExists(tenantId: string, memberIds: string[]): Promise { + const results = await this.db().any( + ` + select m.id + from members m + where m."tenantId" = $(tenantId ) and + m.id in ($(memberIds:csv)) and + ( + exists (select 1 from activities where "memberId" = m.id) or + m."manuallyCreated" + ) and + exists(select 1 from "memberIdentities" mi where mi."memberId" = m.id) + `, + { + tenantId, + memberIds, + }, + ) + + return results.map((r) => r.id) + } +} diff --git a/services/libs/opensearch/src/repo/organization.data.ts b/services/libs/opensearch/src/repo/organization.data.ts new file mode 100644 index 0000000000..34799299fd --- /dev/null +++ b/services/libs/opensearch/src/repo/organization.data.ts @@ -0,0 +1,65 @@ +import { IOrganizationIdentity } from '@crowd/types' + +export interface IDbOrganizationSyncData { + // organization data + organizationId: string + segmentId: string + tenantId: string + address: unknown | null + attributes: unknown + createdAt: string + manuallyCreated: boolean + description: string | null + displayName: string + emails: string[] + employeeCountByCountry: unknown | null + employees: number | null + founded: number | null + geoLocation: string | null + headline: string | null + importHash: string | null + industry: string | null + isTeamOrganization: boolean + lastEnrichedAt: string | null + location: string | null + logo: string | null + naics: unknown[] | null + name: string + phoneNumbers: string[] | null + profiles: string[] | null + revenueRange: unknown | null + size: string | null + type: string | null + url: string | null + website: string | null + linkedin: unknown | null + github: unknown | null + crunchbase: unknown | null + twitter: unknown | null + immediateParent: string | null + ultimateParent: string | null + affiliatedProfiles: string[] | null + allSubsidiaries: string[] | null + alternativeDomains: string[] | null + alternativeNames: string[] | null + averageEmployeeTenure: number | null + averageTenureByLevel: unknown | null + averageTenureByRole: unknown | null + directSubsidiaries: string[] | null + employeeChurnRate: unknown | null + employeeCountByMonth: unknown | null + employeeGrowthRate: unknown | null + employeeCountByMonthByLevel: unknown | null + employeeCountByMonthByRole: unknown | null + gicsSector: string | null + grossAdditionsByMonth: unknown | null + grossDeparturesByMonth: unknown | null + + // aggregate data + joinedAt: string + lastActive: string + activeOn: string[] + activityCount: number + memberCount: number + identities: IOrganizationIdentity[] +} diff --git a/services/libs/opensearch/src/repo/organization.repo.ts b/services/libs/opensearch/src/repo/organization.repo.ts new file mode 100644 index 0000000000..00a9a1f85f --- /dev/null +++ b/services/libs/opensearch/src/repo/organization.repo.ts @@ -0,0 +1,179 @@ +import { DbStore, RepositoryBase } from '@crowd/database' +import { Logger } from '@crowd/logging' +import { IDbOrganizationSyncData } from './organization.data' + +export class OrganizationRepository extends RepositoryBase { + constructor(dbStore: DbStore, parentLog: Logger) { + super(dbStore, parentLog) + } + + public async getOrganizationData(ids: string[]): Promise { + const results = await this.db().any( + ` + with + organization_segments as ( + select "segmentId", "organizationId" + from "organizationSegments" + where "organizationId" in ($(ids:csv)) + ), + member_data as ( + select os."segmentId", + os."organizationId", + count(distinct a."memberId") as "memberCount", + count(distinct a.id) as "activityCount", + case + when array_agg(distinct a.platform) = array [null] then array []::text[] + else array_agg(distinct a.platform) end as "activeOn", + max(a.timestamp) as "lastActive", + min(a.timestamp) filter ( where a.timestamp <> '1970-01-01T00:00:00.000Z') as "joinedAt" + from organization_segments os + join activities a + on a."organizationId" = os."organizationId" + and a."segmentId" = os."segmentId" and a."deletedAt" is null + join members m on a."memberId" = m.id and m."deletedAt" is null + join "memberOrganizations" mo + on m.id = mo."memberId" + and a."organizationId" = mo."organizationId" + and mo."deletedAt" is null + and mo."dateEnd" is null + group by os."segmentId", os."organizationId" + ), + identities as ( + select oi."organizationId", jsonb_agg(oi) as "identities" + from "organizationIdentities" oi + where oi."organizationId" in ($(ids:csv)) + group by oi."organizationId" + ) + select + o.id as "organizationId", + md."segmentId", + o."tenantId", + o.address, + o.attributes, + o."createdAt", + o."manuallyCreated", + o.description, + o."displayName", + o.emails, + o."employeeCountByCountry", + o.employees, + o.founded, + o."geoLocation", + o.headline, + o."importHash", + o.industry, + o."isTeamOrganization", + o."lastEnrichedAt", + o.location, + o.logo, + o.naics, + o."phoneNumbers", + o.profiles, + o."revenueRange", + o.size, + o.type, + o.website, + o.linkedin, + o.github, + o.crunchbase, + o.twitter, + o."affiliatedProfiles", + o."allSubsidiaries", + o."alternativeDomains", + o."alternativeNames", + o."averageEmployeeTenure", + o."averageTenureByLevel", + o."averageTenureByRole", + o."directSubsidiaries", + o."employeeChurnRate", + o."employeeCountByMonth", + o."employeeGrowthRate", + o."employeeCountByMonthByLevel", + o."employeeCountByMonthByRole", + o."gicsSector", + o."grossAdditionsByMonth", + o."grossDeparturesByMonth", + o."ultimateParent", + o."immediateParent", + md."joinedAt", + md."lastActive", + md."activeOn", + md."activityCount", + md."memberCount", + i.identities + from organizations o + left join member_data md on o.id = md."organizationId" + left join identities i on o.id = i."organizationId" + where o.id in ($(ids:csv)) + and o."deletedAt" is null + and (md."organizationId" is not null or o."manuallyCreated"); + `, + { + ids, + }, + ) + + return results + } + + public async checkOrganizationsExists(tenantId: string, orgIds: string[]): Promise { + const results = await this.db().any( + ` + select id + from + organizations + where + "tenantId" = $(tenantId) and + id in ($(orgIds:csv)) and + "deletedAt" is null + `, + { + tenantId, + orgIds, + }, + ) + + return results.map((r) => r.id) + } + + public async markSynced(orgIds: string[]): Promise { + await this.db().none( + `update organizations set "searchSyncedAt" = now() where id in ($(orgIds:csv))`, + { + orgIds, + }, + ) + } + + public async getTenantOrganizationsForSync( + tenantId: string, + page: number, + perPage: number, + cutoffDate: string, + ): Promise { + const results = await this.db().any( + ` + select o.id + from organizations o + where o."tenantId" = $(tenantId) and + o."deletedAt" is null and + ( + o."searchSyncedAt" is null or + o."searchSyncedAt" < $(cutoffDate) + ) + limit ${perPage} offset ${(page - 1) * perPage};`, + { + tenantId, + cutoffDate, + }, + ) + + return results.map((r) => r.id) + } + + public async getTenantIds(): Promise { + const results = await this.db().any(`select distinct "tenantId" from organizations;`) + + return results.map((r) => r.tenantId) + } +} diff --git a/services/libs/opensearch/src/repo/segment.data.ts b/services/libs/opensearch/src/repo/segment.data.ts new file mode 100644 index 0000000000..7c7896018e --- /dev/null +++ b/services/libs/opensearch/src/repo/segment.data.ts @@ -0,0 +1,5 @@ +export interface IDbSegmentInfo { + id: string + parentId: string + grandParentId: string +} diff --git a/services/libs/opensearch/src/repo/segment.repo.ts b/services/libs/opensearch/src/repo/segment.repo.ts new file mode 100644 index 0000000000..71b5b6075f --- /dev/null +++ b/services/libs/opensearch/src/repo/segment.repo.ts @@ -0,0 +1,28 @@ +import { DbStore, RepositoryBase } from '@crowd/database' +import { Logger } from '@crowd/logging' +import { IDbSegmentInfo } from './segment.data' + +export class SegmentRepository extends RepositoryBase { + constructor(dbStore: DbStore, parentLog: Logger) { + super(dbStore, parentLog) + } + + public async getParentSegmentIds(childSegmentIds: string[]): Promise { + const results = await this.db().any( + ` + select s.id, pd.id as "parentId", gpd.id as "grandParentId" + from segments s + inner join segments pd + on pd."tenantId" = s."tenantId" and pd.slug = s."parentSlug" and pd."grandparentSlug" is null and + pd."parentSlug" is not null + inner join segments gpd on gpd."tenantId" = s."tenantId" and gpd.slug = s."grandparentSlug" and + gpd."grandparentSlug" is null and gpd."parentSlug" is null + where s.id in ($(childSegmentIds:csv)); + `, + { + childSegmentIds, + }, + ) + return results + } +} diff --git a/services/libs/opensearch/src/service/activity.sync.service.ts b/services/libs/opensearch/src/service/activity.sync.service.ts new file mode 100644 index 0000000000..a7f0c9009b --- /dev/null +++ b/services/libs/opensearch/src/service/activity.sync.service.ts @@ -0,0 +1,292 @@ +import { IDbActivitySyncData } from '../repo/activity.data' +import { ActivityRepository } from '../repo/activity.repo' +import { OpenSearchIndex } from '../types' +import { trimUtf8ToMaxByteLength } from '@crowd/common' +import { DbStore } from '@crowd/database' +import { Logger, getChildLogger, logExecutionTime } from '@crowd/logging' +import { IPagedSearchResponse, ISearchHit } from './opensearch.data' +import { OpenSearchService } from './opensearch.service' + +export class ActivitySyncService { + private static MAX_BYTE_LENGTH = 25000 + private log: Logger + private readonly activityRepo: ActivityRepository + + constructor( + store: DbStore, + private readonly openSearchService: OpenSearchService, + parentLog: Logger, + ) { + this.log = getChildLogger('activity-sync-service', parentLog) + + this.activityRepo = new ActivityRepository(store, this.log) + } + + public async getAllIndexedTenantIds( + pageSize = 500, + afterKey?: string, + ): Promise> { + const include = ['uuid_tenantId'] + + const results = await this.openSearchService.search( + OpenSearchIndex.ACTIVITIES, + undefined, + { + uuid_tenantId_buckets: { + composite: { + size: pageSize, + sources: [ + { + uuid_tenantId: { + terms: { + field: 'uuid_tenantId', + }, + }, + }, + ], + after: afterKey + ? { + uuid_tenantId: afterKey, + } + : undefined, + }, + }, + }, + undefined, + undefined, + undefined, + include, + ) + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const data = (results as any).uuid_tenantId_buckets + + const newAfterKey = data.after_key?.uuid_tenantId + + const ids = data.buckets.map((b) => b.key.uuid_tenantId) + + return { + data: ids, + afterKey: newAfterKey, + } + } + + public async cleanupActivityIndex(tenantId: string): Promise { + this.log.warn({ tenantId }, 'Cleaning up activity index!') + + const query = { + bool: { + filter: { + term: { + uuid_tenantId: tenantId, + }, + }, + }, + } + + const sort = [{ date_timestamp: 'asc' }] + const include = ['date_timestamp'] + const pageSize = 500 + let lastTimestamp: string + + let results = (await this.openSearchService.search( + OpenSearchIndex.ACTIVITIES, + query, + undefined, + pageSize, + sort, + undefined, + include, + )) as ISearchHit<{ date_timestamp: string }>[] + + let processed = 0 + + while (results.length > 0) { + // check every activity if they exists in the database and if not remove them from the index + const ids = results.map((r) => r._id) + const dbIds = await this.activityRepo.checkActivitiesExist(tenantId, ids) + + const toRemove = ids.filter((id) => !dbIds.includes(id)) + + if (toRemove.length > 0) { + this.log.warn({ tenantId, toRemove }, 'Removing activities from index!') + for (const id of toRemove) { + await this.removeActivity(id) + } + } + + processed += results.length + this.log.warn({ tenantId }, `Processed ${processed} activities while cleaning up tenant!`) + + // use last joinedAt to get the next page + lastTimestamp = results[results.length - 1]._source.date_timestamp + results = (await this.openSearchService.search( + OpenSearchIndex.ACTIVITIES, + query, + undefined, + pageSize, + sort, + lastTimestamp, + include, + )) as ISearchHit<{ date_timestamp: string }>[] + } + + this.log.warn({ tenantId }, `Processed total of ${processed} members while cleaning up tenant!`) + } + + public async syncTenantActivities(tenantId: string, batchSize = 200): Promise { + this.log.debug({ tenantId }, 'Syncing all tenant activities!') + let count = 0 + const now = new Date() + const cutoffDate = now.toISOString() + + await logExecutionTime( + async () => { + let activityIds = await this.activityRepo.getTenantActivitiesForSync(tenantId, batchSize) + + while (activityIds.length > 0) { + count += await this.syncActivities(activityIds) + + const diffInSeconds = (new Date().getTime() - now.getTime()) / 1000 + this.log.info( + { tenantId }, + `Synced ${count} activities! Speed: ${Math.round( + count / diffInSeconds, + )} activities/second!`, + ) + + activityIds = await this.activityRepo.getTenantActivitiesForSync( + tenantId, + batchSize, + activityIds[activityIds.length - 1], + ) + } + + activityIds = await this.activityRepo.getRemainingTenantActivitiesForSync( + tenantId, + 1, + batchSize, + cutoffDate, + ) + + while (activityIds.length > 0) { + count += await this.syncActivities(activityIds) + + const diffInSeconds = (new Date().getTime() - now.getTime()) / 1000 + this.log.info( + { tenantId }, + `Synced ${count} activities! Speed: ${Math.round( + count / diffInSeconds, + )} activities/second!`, + ) + + activityIds = await this.activityRepo.getRemainingTenantActivitiesForSync( + tenantId, + 1, + batchSize, + cutoffDate, + ) + } + }, + this.log, + 'sync-tenant-activities', + ) + + this.log.info({ tenantId }, `Synced total of ${count} activities!`) + } + + public async syncOrganizationActivities(organizationId: string, batchSize = 200): Promise { + this.log.debug({ organizationId }, 'Syncing all organization activities!') + let count = 0 + const now = new Date() + + await logExecutionTime( + async () => { + let activityIds = await this.activityRepo.getOrganizationActivitiesForSync( + organizationId, + batchSize, + ) + + while (activityIds.length > 0) { + count += await this.syncActivities(activityIds) + + const diffInSeconds = (new Date().getTime() - now.getTime()) / 1000 + this.log.info( + { organizationId }, + `Synced ${count} activities! Speed: ${Math.round( + count / diffInSeconds, + )} activities/second!`, + ) + + activityIds = await this.activityRepo.getOrganizationActivitiesForSync( + organizationId, + batchSize, + activityIds[activityIds.length - 1], + ) + } + }, + this.log, + 'sync-organization-activities', + ) + + this.log.info({ organizationId }, `Synced total of ${count} activities!`) + } + + public async removeActivity(activityId: string): Promise { + this.log.debug({ activityId }, 'Removing activity from index!') + await this.openSearchService.removeFromIndex(activityId, OpenSearchIndex.ACTIVITIES) + } + + public async syncActivities(activityIds: string[]): Promise { + this.log.debug({ activityIds }, 'Syncing activities!') + + const activities = await this.activityRepo.getActivityData(activityIds) + + if (activities.length > 0) { + await this.openSearchService.bulkIndex( + OpenSearchIndex.ACTIVITIES, + activities.map((m) => { + return { + id: m.id, + body: ActivitySyncService.prefixData(m), + } + }), + ) + + await this.activityRepo.markSynced(activities.map((m) => m.id)) + } + + return activities.length + } + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + public static prefixData(data: IDbActivitySyncData): any { + const p: Record = {} + + p.uuid_id = data.id + p.uuid_tenantId = data.tenantId + p.uuid_segmentId = data.segmentId + p.keyword_type = data.type + p.date_timestamp = new Date(data.timestamp).toISOString() + p.keyword_platform = data.platform + p.bool_isContribution = data.isContribution + p.int_score = data.score ?? 0 + p.keyword_sourceId = data.sourceId + p.keyword_sourceParentId = data.sourceParentId + p.string_attributes = data.attributes ? JSON.stringify(data.attributes) : '{}' + p.keyword_channel = data.channel + p.string_body = trimUtf8ToMaxByteLength(data.body, ActivitySyncService.MAX_BYTE_LENGTH) + p.string_title = data.title + p.string_url = data.url + p.int_sentiment = data.sentiment + p.keyword_importHash = data.importHash + p.uuid_memberId = data.memberId + p.uuid_conversationId = data.conversationId + p.uuid_parentId = data.parentId + p.string_username = data.username + p.uuid_objectMemberId = data.objectMemberId + p.string_objectMemberUsername = data.objectMemberUsername + + return p + } +} diff --git a/services/libs/opensearch/src/service/index.ts b/services/libs/opensearch/src/service/index.ts new file mode 100644 index 0000000000..79f30ab2bc --- /dev/null +++ b/services/libs/opensearch/src/service/index.ts @@ -0,0 +1,5 @@ +export * from './activity.sync.service' +export * from './member.sync.service' +export * from './opensearch.service' +export * from './organization.sync.service' +export * from './init.service' diff --git a/services/libs/opensearch/src/service/init.service.ts b/services/libs/opensearch/src/service/init.service.ts new file mode 100644 index 0000000000..8151f798f6 --- /dev/null +++ b/services/libs/opensearch/src/service/init.service.ts @@ -0,0 +1,244 @@ +import { IDbActivitySyncData } from '../repo/activity.data' +import { IDbMemberSyncData } from '../repo/member.data' +import { IDbOrganizationSyncData } from '../repo/organization.data' +import { OpenSearchIndex } from '../types' +import { Logger, getChildLogger } from '@crowd/logging' +import { ActivitySyncService } from './activity.sync.service' +import { MemberSyncService } from './member.sync.service' +import { OpenSearchService } from './opensearch.service' +import { OrganizationSyncService } from './organization.sync.service' + +export class InitService { + public static FAKE_TENANT_ID = 'b0e82a13-566f-40e0-b0d0-11fcb6596b0f' + public static FAKE_SEGMENT_ID = 'ce36b0b0-1fc4-4637-955d-afb8a6b58e48' + public static FAKE_MEMBER_ID = '9c19e17c-6a07-4f4c-bc9b-ce1fdce9c126' + public static FAKE_ACTIVITY_ID = 'fa761640-f77c-4340-b56e-bdd0936d852b' + public static FAKE_CONVERSATION_ID = 'cba1758c-7b1f-4a3c-b6ff-e6f3bdf54c86' + public static FAKE_ORGANIZATION_ID = 'cba1758c-7b1f-4a3c-b6ff-e6f3bdf54c85' + + private log: Logger + + constructor(private readonly openSearchService: OpenSearchService, parentLog: Logger) { + this.log = getChildLogger('init-service', parentLog) + } + + public async initialize(): Promise { + await this.openSearchService.initialize() + + await this.createFakeMember() + await this.createFakeActivity() + await this.createFakeOrganization() + } + + private async createFakeOrganization(): Promise { + const fakeOrg: IDbOrganizationSyncData = { + organizationId: InitService.FAKE_ORGANIZATION_ID, + tenantId: InitService.FAKE_TENANT_ID, + segmentId: InitService.FAKE_SEGMENT_ID, + address: { + name: 'paris, ile-de-france, france', + metro: null, + region: 'ile-de-france', + country: 'france', + locality: 'paris', + continent: 'europe', + postal_code: null, + address_line_2: null, + street_address: null, + }, + attributes: {}, + createdAt: new Date().toISOString(), + description: 'Fake organization', + displayName: 'Fake organization', + emails: ['fake@org.com'], + employeeCountByCountry: { US: 10 }, + employees: 10, + founded: 2010, + geoLocation: '123,321', + headline: 'Fake organization', + importHash: 'fakehash', + industry: 'Fake industry', + isTeamOrganization: false, + lastEnrichedAt: new Date().toISOString(), + location: 'Unknown City, Unknown Country', + logo: 'https://placehold.co/400', + naics: [], + name: 'Fake organization', + phoneNumbers: ['123456789'], + profiles: ['https://placehold.co/400'], + revenueRange: {}, + size: '10-50', + type: 'Fake type', + url: 'https://placehold.co/400', + website: 'https://placehold.co/400', + linkedin: {}, + github: {}, + crunchbase: {}, + twitter: {}, + joinedAt: new Date().toISOString(), + lastActive: new Date().toISOString(), + activeOn: ['devto'], + activityCount: 10, + memberCount: 10, + identities: [ + { + platform: 'devto', + name: 'fakeorg', + }, + ], + manuallyCreated: false, + immediateParent: 'Fake parent', + ultimateParent: 'Fake ultimate parent', + affiliatedProfiles: ['https://placehold.co/400'], + allSubsidiaries: ['Fake subsidiary 1', 'Fake subsidiary 2'], + alternativeDomains: ['www.fake1.org', 'www.fake2.org'], + alternativeNames: ['Fake name 1', 'Fake name 2'], + averageEmployeeTenure: 2.8, + averageTenureByLevel: { cxo: 2, manager: 1.5 }, + averageTenureByRole: { + customer_service: 1.141, + engineering: 1.827, + human_resources: 1.083, + }, + employeeChurnRate: { + '3_month': 0.0248, + '6_month': 0.124, + '12_month': 0.1983, + '24_month': 0.3306, + }, + employeeCountByMonth: { + '2022-04': 105, + '2022-05': 112, + '2022-06': 117, + }, + employeeGrowthRate: { + '3_month': 0.0522, + '6_month': 0.0342, + '12_month': 0.375, + '24_month': 1.283, + }, + employeeCountByMonthByLevel: { + '2020-01': { cxo: 2, manager: 5 }, + '2020-02': { cxo: 3, manager: 6 }, + }, + employeeCountByMonthByRole: { + '2020-01': { marketing: 5, engineering: 10 }, + '2020-02': { marketing: 6, engineering: 12 }, + }, + gicsSector: 'Fake GICS sector', + grossAdditionsByMonth: { '2022-05': 7, '2022-06': 6, '2022-07': 1, '2022-08': 1 }, + grossDeparturesByMonth: { '2022-06': 2, '2022-07': 1, '2022-08': 2, '2022-09': 2 }, + directSubsidiaries: ['Fake direct subsidiary 1', 'Fake direct subsidiary 2'], + } + + const prepared = OrganizationSyncService.prefixData(fakeOrg) + await this.openSearchService.index( + `${InitService.FAKE_ORGANIZATION_ID}-${InitService.FAKE_SEGMENT_ID}`, + OpenSearchIndex.ORGANIZATIONS, + prepared, + ) + } + + private async createFakeMember(): Promise { + // we need to create a fake member to initialize the index with the proper data + // it will be created in a nonexisting tenant so no one will see it ever + // if we don't have anything in the index any search by any field will return an error + + const fakeMember: IDbMemberSyncData = { + id: InitService.FAKE_MEMBER_ID, + tenantId: InitService.FAKE_TENANT_ID, + segmentId: InitService.FAKE_SEGMENT_ID, + displayName: 'Test Member', + emails: ['fake@email.com'], + score: 10, + lastEnriched: new Date().toISOString(), + joinedAt: new Date().toISOString(), + createdAt: new Date().toISOString(), + totalReach: 20, + numberOfOpenSourceContributions: 10, + + activeOn: ['devto'], + activityCount: 10, + activityTypes: ['devto:comment'], + activeDaysCount: 20, + lastActive: new Date().toISOString(), + averageSentiment: 20.32, + + identities: [ + { + platform: 'devto', + username: 'Test Member', + }, + ], + organizations: [ + { + id: '0dfaa9a0-d95a-4397-958e-4727189e3ef8', + logo: 'https://placehold.co/400', + displayName: 'Test Organization', + memberOrganizations: { + title: 'blabla', + dateStart: new Date().toISOString(), + dateEnd: new Date().toISOString(), + }, + }, + ], + tags: [ + { + id: 'bced635d-acf7-4b68-a95d-872729e09d58', + name: 'fake tag', + }, + ], + toMergeIds: ['3690742c-c5de-4d9a-aef8-1e3eaf57233d'], + noMergeIds: ['b176d053-c53e-42d2-88d2-6fbc3e34184c'], + + attributes: {}, + manuallyCreated: false, + } + + const prepared = MemberSyncService.prefixData(fakeMember, []) + await this.openSearchService.index( + `${InitService.FAKE_MEMBER_ID}-${InitService.FAKE_SEGMENT_ID}`, + OpenSearchIndex.MEMBERS, + prepared, + ) + } + + private async createFakeActivity(): Promise { + // we need to create a fake activity to initialize the index with the proper data + // it will be created in a nonexisting tenant so no one will see it ever + // if we don't have anything in the index any search by any field will return an error + + const fakeActivity: IDbActivitySyncData = { + id: InitService.FAKE_ACTIVITY_ID, + tenantId: InitService.FAKE_TENANT_ID, + segmentId: InitService.FAKE_SEGMENT_ID, + memberId: InitService.FAKE_MEMBER_ID, + type: 'comment', + timestamp: new Date().toISOString(), + platform: 'devto', + isContribution: true, + score: 10, + sourceId: '123', + sourceParentId: '456', + attributes: {}, + channel: 'channel', + body: 'body', + title: 'title', + url: 'https://placehold.co/400', + sentiment: 10, + importHash: 'importHash', + conversationId: InitService.FAKE_CONVERSATION_ID, + parentId: '6952eace-e083-4c53-a65c-f99848c47c1c', + username: 'Test Member', + objectMemberId: '4ea4c0f7-fdf8-448c-99ff-e03d0df95358', + objectMemberUsername: 'Test Member2', + } + + const prepared = ActivitySyncService.prefixData(fakeActivity) + await this.openSearchService.index( + InitService.FAKE_ACTIVITY_ID, + OpenSearchIndex.ACTIVITIES, + prepared, + ) + } +} diff --git a/services/libs/opensearch/src/service/member.sync.data.ts b/services/libs/opensearch/src/service/member.sync.data.ts new file mode 100644 index 0000000000..cdf6735cc3 --- /dev/null +++ b/services/libs/opensearch/src/service/member.sync.data.ts @@ -0,0 +1,4 @@ +export interface IMemberSyncResult { + membersSynced: number + documentsIndexed: number +} diff --git a/services/libs/opensearch/src/service/member.sync.service.ts b/services/libs/opensearch/src/service/member.sync.service.ts new file mode 100644 index 0000000000..0bc7140551 --- /dev/null +++ b/services/libs/opensearch/src/service/member.sync.service.ts @@ -0,0 +1,621 @@ +import { SERVICE_CONFIG } from '../conf' +import { IDbMemberSyncData } from '../repo/member.data' +import { MemberRepository } from '../repo/member.repo' +import { IDbSegmentInfo } from '../repo/segment.data' +import { SegmentRepository } from '../repo/segment.repo' +import { OpenSearchIndex } from '../types' +import { distinct, distinctBy, groupBy, trimUtf8ToMaxByteLength } from '@crowd/common' +import { DbStore } from '@crowd/database' +import { Logger, getChildLogger, logExecutionTime } from '@crowd/logging' +import { RedisClient } from '@crowd/redis' +import { Edition, IMemberAttribute, MemberAttributeType } from '@crowd/types' +import { IMemberSyncResult } from './member.sync.data' +import { IIndexRequest, IPagedSearchResponse, ISearchHit } from './opensearch.data' +import { OpenSearchService } from './opensearch.service' + +export class MemberSyncService { + private static MAX_BYTE_LENGTH = 25000 + private log: Logger + private readonly memberRepo: MemberRepository + private readonly segmentRepo: SegmentRepository + + constructor( + redisClient: RedisClient, + store: DbStore, + private readonly openSearchService: OpenSearchService, + parentLog: Logger, + ) { + this.log = getChildLogger('member-sync-service', parentLog) + + this.memberRepo = new MemberRepository(redisClient, store, this.log) + this.segmentRepo = new SegmentRepository(store, this.log) + } + + public async getAllIndexedTenantIds( + pageSize = 500, + afterKey?: string, + ): Promise> { + const include = ['uuid_tenantId'] + + const results = await this.openSearchService.search( + OpenSearchIndex.MEMBERS, + undefined, + { + uuid_tenantId_buckets: { + composite: { + size: pageSize, + sources: [ + { + uuid_tenantId: { + terms: { + field: 'uuid_tenantId', + }, + }, + }, + ], + after: afterKey + ? { + uuid_tenantId: afterKey, + } + : undefined, + }, + }, + }, + undefined, + undefined, + undefined, + include, + ) + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const data = (results as any).uuid_tenantId_buckets + + const newAfterKey = data.after_key?.uuid_tenantId + + const ids = data.buckets.map((b) => b.key.uuid_tenantId) + + return { + data: ids, + afterKey: newAfterKey, + } + } + + public async cleanupMemberIndex(tenantId: string): Promise { + this.log.warn({ tenantId }, 'Cleaning up member index!') + + const query = { + bool: { + filter: { + term: { + uuid_tenantId: tenantId, + }, + }, + }, + } + + const sort = [{ date_joinedAt: 'asc' }] + const include = ['date_joinedAt', 'uuid_memberId'] + const pageSize = 500 + let lastJoinedAt: string + + let results = (await this.openSearchService.search( + OpenSearchIndex.MEMBERS, + query, + undefined, + pageSize, + sort, + undefined, + include, + )) as ISearchHit<{ date_joinedAt: string; uuid_memberId: string }>[] + + let processed = 0 + + while (results.length > 0) { + // check every member if they exists in the database and if not remove them from the index + const dbIds = await this.memberRepo.checkMembersExists( + tenantId, + results.map((r) => r._source.uuid_memberId), + ) + + const toRemove = results + .filter((r) => !dbIds.includes(r._source.uuid_memberId)) + .map((r) => r._id) + + if (toRemove.length > 0) { + this.log.warn({ tenantId, toRemove }, 'Removing members from index!') + for (const id of toRemove) { + await this.openSearchService.removeFromIndex(id, OpenSearchIndex.MEMBERS) + } + } + + processed += results.length + this.log.warn({ tenantId }, `Processed ${processed} members while cleaning up tenant!`) + + // use last joinedAt to get the next page + lastJoinedAt = results[results.length - 1]._source.date_joinedAt + results = (await this.openSearchService.search( + OpenSearchIndex.MEMBERS, + query, + undefined, + pageSize, + sort, + lastJoinedAt, + include, + )) as ISearchHit<{ date_joinedAt: string; uuid_memberId: string }>[] + } + + this.log.warn({ tenantId }, `Processed total of ${processed} members while cleaning up tenant!`) + } + + public async removeMember(memberId: string): Promise { + this.log.debug({ memberId }, 'Removing member from index!') + + const query = { + bool: { + filter: { + term: { + uuid_memberId: memberId, + }, + }, + }, + } + + const sort = [{ date_joinedAt: 'asc' }] + const include = ['date_joinedAt'] + const pageSize = 10 + let lastJoinedAt: string + + let results = (await this.openSearchService.search( + OpenSearchIndex.MEMBERS, + query, + undefined, + pageSize, + sort, + undefined, + include, + )) as ISearchHit<{ date_joinedAt: string }>[] + + while (results.length > 0) { + const ids = results.map((r) => r._id) + for (const id of ids) { + await this.openSearchService.removeFromIndex(id, OpenSearchIndex.MEMBERS) + } + + // use last joinedAt to get the next page + lastJoinedAt = results[results.length - 1]._source.date_joinedAt + results = (await this.openSearchService.search( + OpenSearchIndex.MEMBERS, + query, + undefined, + pageSize, + sort, + lastJoinedAt, + include, + )) as ISearchHit<{ date_joinedAt: string }>[] + } + } + + public async syncTenantMembers(tenantId: string, batchSize = 200): Promise { + this.log.debug({ tenantId }, 'Syncing all tenant members!') + let docCount = 0 + let memberCount = 0 + + const now = new Date() + const cutoffDate = now.toISOString() + + await logExecutionTime( + async () => { + let memberIds = await this.memberRepo.getTenantMembersForSync(tenantId, batchSize) + + while (memberIds.length > 0) { + const { membersSynced, documentsIndexed } = await this.syncMembers(memberIds) + + docCount += documentsIndexed + memberCount += membersSynced + + const diffInSeconds = (new Date().getTime() - now.getTime()) / 1000 + this.log.info( + { tenantId }, + `Synced ${memberCount} members! Speed: ${Math.round( + memberCount / diffInSeconds, + )} members/second!`, + ) + memberIds = await this.memberRepo.getTenantMembersForSync( + tenantId, + batchSize, + memberIds[memberIds.length - 1], + ) + } + + memberIds = await this.memberRepo.getRemainingTenantMembersForSync( + tenantId, + 1, + batchSize, + cutoffDate, + ) + + while (memberIds.length > 0) { + const { membersSynced, documentsIndexed } = await this.syncMembers(memberIds) + + memberCount += membersSynced + docCount += documentsIndexed + + const diffInSeconds = (new Date().getTime() - now.getTime()) / 1000 + this.log.info( + { tenantId }, + `Synced ${memberCount} members! Speed: ${Math.round( + memberCount / diffInSeconds, + )} members/second!`, + ) + + memberIds = await this.memberRepo.getRemainingTenantMembersForSync( + tenantId, + 1, + batchSize, + cutoffDate, + ) + } + }, + this.log, + 'sync-tenant-members', + ) + + this.log.info( + { tenantId }, + `Synced total of ${memberCount} members with ${docCount} documents!`, + ) + } + + public async syncOrganizationMembers(organizationId: string, batchSize = 200): Promise { + this.log.debug({ organizationId }, 'Syncing all organization members!') + let docCount = 0 + let memberCount = 0 + + const now = new Date() + + await logExecutionTime( + async () => { + let memberIds = await this.memberRepo.getOrganizationMembersForSync( + organizationId, + batchSize, + ) + + while (memberIds.length > 0) { + const { membersSynced, documentsIndexed } = await this.syncMembers(memberIds) + + docCount += documentsIndexed + memberCount += membersSynced + + const diffInSeconds = (new Date().getTime() - now.getTime()) / 1000 + this.log.info( + { organizationId }, + `Synced ${memberCount} members! Speed: ${Math.round( + memberCount / diffInSeconds, + )} members/second!`, + ) + memberIds = await this.memberRepo.getOrganizationMembersForSync( + organizationId, + batchSize, + memberIds[memberIds.length - 1], + ) + } + }, + this.log, + 'sync-organization-members', + ) + + this.log.info( + { organizationId }, + `Synced total of ${memberCount} members with ${docCount} documents!`, + ) + } + + public async syncMembers(memberIds: string[]): Promise { + this.log.debug({ memberIds }, 'Syncing members!') + + const isMultiSegment = SERVICE_CONFIG().edition === Edition.LFX + + let docCount = 0 + let memberCount = 0 + + const members = await this.memberRepo.getMemberData(memberIds) + + if (members.length > 0) { + const attributes = await this.memberRepo.getTenantMemberAttributes(members[0].tenantId) + + let childSegmentIds: string[] | undefined + let segmentInfos: IDbSegmentInfo[] | undefined + + if (isMultiSegment) { + childSegmentIds = distinct(members.map((m) => m.segmentId)) + segmentInfos = await this.segmentRepo.getParentSegmentIds(childSegmentIds) + } + + const grouped = groupBy(members, (m) => m.id) + const memberIds = Array.from(grouped.keys()) + + const forSync: IIndexRequest[] = [] + for (const memberId of memberIds) { + const memberDocs = grouped.get(memberId) + if (isMultiSegment) { + // index each of them individually + for (const member of memberDocs) { + const prepared = MemberSyncService.prefixData(member, attributes) + forSync.push({ + id: `${memberId}-${member.segmentId}`, + body: prepared, + }) + + const relevantSegmentInfos = segmentInfos.filter((s) => s.id === member.segmentId) + + // and for each parent and grandparent + const parentIds = distinct(relevantSegmentInfos.map((s) => s.parentId)) + for (const parentId of parentIds) { + const aggregated = MemberSyncService.aggregateData( + memberDocs, + relevantSegmentInfos, + parentId, + ) + const prepared = MemberSyncService.prefixData(aggregated, attributes) + forSync.push({ + id: `${memberId}-${parentId}`, + body: prepared, + }) + } + + const grandParentIds = distinct(relevantSegmentInfos.map((s) => s.grandParentId)) + for (const grandParentId of grandParentIds) { + const aggregated = MemberSyncService.aggregateData( + memberDocs, + relevantSegmentInfos, + undefined, + grandParentId, + ) + const prepared = MemberSyncService.prefixData(aggregated, attributes) + forSync.push({ + id: `${memberId}-${grandParentId}`, + body: prepared, + }) + } + } + } else { + if (memberDocs.length > 1) { + throw new Error( + 'More than one member found - this can not be the case in single segment edition!', + ) + } + + const member = memberDocs[0] + const prepared = MemberSyncService.prefixData(member, attributes) + forSync.push({ + id: `${memberId}-${member.segmentId}`, + body: prepared, + }) + } + } + + await this.openSearchService.bulkIndex(OpenSearchIndex.MEMBERS, forSync) + docCount += forSync.length + memberCount += memberIds.length + } + + await this.memberRepo.markSynced(memberIds) + + return { + membersSynced: memberCount, + documentsIndexed: docCount, + } + } + + private static aggregateData( + segmentMembers: IDbMemberSyncData[], + segmentInfos: IDbSegmentInfo[], + parentId?: string, + grandParentId?: string, + ): IDbMemberSyncData | undefined { + if (!parentId && !grandParentId) { + throw new Error('Either parentId or grandParentId must be provided!') + } + + const relevantSubchildIds: string[] = [] + for (const si of segmentInfos) { + if (parentId && si.parentId === parentId) { + relevantSubchildIds.push(si.id) + } else if (grandParentId && si.grandParentId === grandParentId) { + relevantSubchildIds.push(si.id) + } + } + + const members = segmentMembers.filter((m) => relevantSubchildIds.includes(m.segmentId)) + + if (members.length === 0) { + throw new Error('No members found for given parent or grandParent segment id!') + } + + // aggregate data + const member = { ...members[0] } + + // use corrent id as segmentId + if (parentId) { + member.segmentId = parentId + } else { + member.segmentId = grandParentId + } + + // reset aggregates + member.activeOn = [] + member.activityCount = 0 + member.activityTypes = [] + member.activeDaysCount = 0 + member.lastActive = undefined + member.averageSentiment = null + member.tags = [] + member.organizations = [] + + for (const m of members) { + member.activeOn.push(...m.activeOn) + member.activityCount += m.activityCount + member.activityTypes.push(...m.activityTypes) + member.activeDaysCount += m.activeDaysCount + if (!member.lastActive) { + member.lastActive = m.lastActive + } else if (m.lastActive) { + const d1 = new Date(member.lastActive) + const d2 = new Date(m.lastActive) + + if (d1 < d2) { + member.lastActive = m.lastActive + } + } + if (!member.averageSentiment) { + member.averageSentiment = m.averageSentiment + } else if (m.averageSentiment) { + member.averageSentiment += m.averageSentiment + } + member.tags.push(...m.tags) + member.organizations.push(...m.organizations) + } + + // average sentiment with the total number of members that have sentiment set + if (member.averageSentiment) { + member.averageSentiment = Number( + ( + member.averageSentiment / members.filter((m) => m.averageSentiment !== null).length + ).toFixed(2), + ) + } + + // gather only uniques + member.activeOn = distinct(member.activeOn) + member.activityTypes = distinct(member.activityTypes) + member.tags = distinctBy(member.tags, (t) => t.id) + member.organizations = distinctBy(member.organizations, (o) => o.id) + + return member + } + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + public static prefixData(data: IDbMemberSyncData, attributes: IMemberAttribute[]): any { + const p: Record = {} + + p.uuid_memberId = data.id + p.uuid_tenantId = data.tenantId + p.uuid_segmentId = data.segmentId + p.string_displayName = data.displayName + p.keyword_displayName = data.displayName + const p_attributes = {} + + for (const attribute of attributes) { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const attData = data.attributes as any + + if (attribute.name in attData) { + if (attribute.type === MemberAttributeType.SPECIAL) { + let data = JSON.stringify(attData[attribute.name]) + data = trimUtf8ToMaxByteLength(data, MemberSyncService.MAX_BYTE_LENGTH) + p_attributes[`string_${attribute.name}`] = data + } else { + const p_data = {} + const defValue = attData[attribute.name].default + const prefix = this.attributeTypeToOpenSearchPrefix(defValue, attribute.type) + + for (const key of Object.keys(attData[attribute.name])) { + let value = attData[attribute.name][key] + if (attribute.type === MemberAttributeType.STRING) { + value = trimUtf8ToMaxByteLength(value, MemberSyncService.MAX_BYTE_LENGTH) + } + p_data[`${prefix}_${key}`] = value + } + + p_attributes[`obj_${attribute.name}`] = p_data + } + } + } + + p.obj_attributes = p_attributes + p.string_arr_emails = data.emails || [] + p.int_score = data.score + p.date_lastEnriched = data.lastEnriched ? new Date(data.lastEnriched).toISOString() : null + p.date_joinedAt = new Date(data.joinedAt).toISOString() + p.date_createdAt = new Date(data.createdAt).toISOString() + p.bool_manuallyCreated = data.manuallyCreated ? data.manuallyCreated : false + p.int_totalReach = data.totalReach + p.int_numberOfOpenSourceContributions = data.numberOfOpenSourceContributions + p.string_arr_activeOn = data.activeOn + p.int_activityCount = data.activityCount + p.string_arr_activityTypes = data.activityTypes + p.int_activeDaysCount = data.activeDaysCount + p.date_lastActive = data.lastActive ? new Date(data.lastActive).toISOString() : null + p.float_averageSentiment = data.averageSentiment + + const p_identities = [] + for (const identity of data.identities) { + p_identities.push({ + string_platform: identity.platform, + string_username: identity.username, + }) + } + p.nested_identities = p_identities + + const p_organizations = [] + for (const organization of data.organizations) { + p_organizations.push({ + uuid_id: organization.id, + string_logo: organization.logo, + string_displayName: organization.displayName, + obj_memberOrganizations: { + string_title: organization.memberOrganizations?.title || null, + date_dateStart: organization.memberOrganizations?.dateStart || null, + date_dateEnd: organization.memberOrganizations?.dateEnd || null, + }, + }) + } + p.nested_organizations = p_organizations + + const p_tags = [] + for (const tag of data.tags) { + p_tags.push({ + uuid_id: tag.id, + string_name: tag.name, + }) + } + + p.nested_tags = p_tags + + p.uuid_arr_toMergeIds = data.toMergeIds + p.uuid_arr_noMergeIds = data.noMergeIds + + return p + } + + private static attributeTypeToOpenSearchPrefix( + defValue: unknown, + type: MemberAttributeType, + ): string { + switch (type) { + case MemberAttributeType.BOOLEAN: + return 'bool' + case MemberAttributeType.NUMBER: { + if ((defValue as number) % 1 === 0) { + return 'int' + } else { + return 'float' + } + } + case MemberAttributeType.EMAIL: + return 'string' + case MemberAttributeType.STRING: + return 'string' + case MemberAttributeType.URL: + return 'string' + case MemberAttributeType.DATE: + return 'date' + case MemberAttributeType.MULTI_SELECT: + return 'string_arr' + case MemberAttributeType.SPECIAL: + return 'string' + default: + throw new Error(`Could not map attribute type: ${type} to OpenSearch type!`) + } + } +} diff --git a/services/libs/opensearch/src/service/opensearch.data.ts b/services/libs/opensearch/src/service/opensearch.data.ts new file mode 100644 index 0000000000..b57c409ea7 --- /dev/null +++ b/services/libs/opensearch/src/service/opensearch.data.ts @@ -0,0 +1,15 @@ +export interface IIndexRequest { + id: string + body: T +} + +export interface ISearchHit { + _id: string + + _source?: T +} + +export interface IPagedSearchResponse { + data: T[] + afterKey?: TAfter +} diff --git a/services/libs/opensearch/src/service/opensearch.service.ts b/services/libs/opensearch/src/service/opensearch.service.ts new file mode 100644 index 0000000000..757ddbe4f2 --- /dev/null +++ b/services/libs/opensearch/src/service/opensearch.service.ts @@ -0,0 +1,355 @@ +import { + IndexVersions, + OPENSEARCH_INDEX_MAPPINGS, + OPENSEARCH_INDEX_SETTINGS, + OpenSearchIndex, +} from '../types' +import { IS_DEV_ENV } from '@crowd/common' +import { Logger, getChildLogger } from '@crowd/logging' +import { Client } from '@opensearch-project/opensearch' +import { IIndexRequest, ISearchHit } from './opensearch.data' + +export class OpenSearchService { + private log: Logger + private readonly indexVersionMap: Map = new Map() + + constructor(private readonly client: Client, parentLog: Logger) { + this.log = getChildLogger('opensearch-service', parentLog) + + const indexNames = Object.values(OpenSearchIndex) + indexNames.forEach((name) => { + const version = IndexVersions.get(name) + this.indexVersionMap.set(name, `${name}_v${version}`) + }) + } + + private async doesIndexExist(indexName: string): Promise { + try { + const exists = await this.client.indices.exists({ index: indexName }) + return exists.body + } catch (err) { + this.log.error(err, { indexName }, 'Failed to check if index exists!') + throw err + } + } + + private async doesAliasExist(aliasName: string): Promise { + try { + const exists = await this.client.indices.existsAlias({ + name: aliasName, + }) + return exists.body + } catch (err) { + this.log.error(err, { aliasName }, 'Failed to check if alias exists!') + throw err + } + } + + private async doesAliasPointToIndex(indexName: string, aliasName: string): Promise { + try { + const exists = await this.client.indices.existsAlias({ + name: aliasName, + index: indexName, + }) + return exists.body + } catch (err) { + this.log.error(err, { aliasName, indexName }, 'Failed to check if alias points to the index!') + throw err + } + } + + public async createIndexWithVersion(indexName: OpenSearchIndex): Promise { + try { + const settings = OPENSEARCH_INDEX_SETTINGS[indexName] + const mappings = OPENSEARCH_INDEX_MAPPINGS[indexName] + + const versionedIndexName = this.indexVersionMap.get(indexName) + + await this.client.indices.create({ + index: versionedIndexName, + body: { + settings, + mappings, + }, + }) + } catch (err) { + this.log.error(err, { indexName }, 'Failed to create versioned index!') + throw err + } + } + + public async createAlias(indexName: string, aliasName: string): Promise { + try { + await this.client.indices.putAlias({ + index: indexName, + name: aliasName, + }) + } catch (err) { + this.log.error(err, { aliasName, indexName }, 'Failed to create alias!') + throw err + } + } + + private async pointAliasToCorrectIndex(indexName: string, aliasName: string): Promise { + try { + // Updates alias by removing existing references and points it to the new index + await this.client.indices.updateAliases({ + body: { + actions: [ + { remove: { index: '*', alias: aliasName } }, + { add: { index: indexName, alias: aliasName } }, + ], + }, + }) + this.log.info('Alias successfully updated', { aliasName, indexName }) + } catch (err) { + this.log.error(err, { aliasName, indexName }, 'Failed to update alias!') + } + } + + public async reIndex(sourceIndex: string, targetIndex: string): Promise { + try { + const response = await this.client.reindex({ + wait_for_completion: false, // should be false else it will return timeout error + refresh: true, + body: { + source: { + index: sourceIndex, + }, + dest: { + index: targetIndex, + }, + }, + }) + return response?.body?.task + } catch (err) { + err.meta?.body?.failures?.forEach((failure) => + this.log.error(failure, 'Reindex failure details!'), + ) + this.log.error(err, { sourceIndex, targetIndex }, 'Failed to reindex!') + throw err + } + } + + // Count of documents in the index + public async getDocumentCount(indexName: string): Promise { + try { + const { body } = await this.client.count({ + index: indexName, + }) + return body.count + } catch (err) { + this.log.error(err, { indexName }, 'Failed to get document count!') + throw err + } + } + + public async deleteIndex(indexName: string): Promise { + try { + await this.client.indices.delete({ + index: indexName, + }) + } catch (err) { + this.log.error(err, { indexName }, 'Failed to delete index!') + throw err + } + } + + public async getIndexSettings(indexName: OpenSearchIndex): Promise { + try { + const indexNameWithVersion = this.indexVersionMap.get(indexName) + const settings = await this.client.indices.getSettings({ + index: indexNameWithVersion, + }) + return settings.body + } catch (err) { + this.log.error(err, { indexName }, 'Failed to get index settings!') + throw err + } + } + + public async getIndexMappings(indexName: OpenSearchIndex): Promise { + try { + const indexNameWithVersion = this.indexVersionMap.get(indexName) + const mappings = await this.client.indices.getMapping({ + index: indexNameWithVersion, + }) + return mappings.body + } catch (err) { + this.log.error(err, { indexName }, 'Failed to get index mappings!') + throw err + } + } + + public async setIndexMappings(indexName: OpenSearchIndex): Promise { + try { + const mappings = OPENSEARCH_INDEX_MAPPINGS[indexName] + const indexNameWithVersion = this.indexVersionMap.get(indexName) + + await this.client.indices.putMapping({ + index: indexNameWithVersion, + body: mappings, + }) + } catch (err) { + this.log.error(err, { indexName }, 'Failed to set index mappings!') + throw err + } + } + + private async ensureIndexAndAliasExists(indexName: OpenSearchIndex) { + const indexNameWithVersion = this.indexVersionMap.get(indexName) + const aliasName = indexName // index name is the alias name (without version) + const indexExists = await this.doesIndexExist(indexNameWithVersion) + const aliasExists = await this.doesAliasExist(aliasName) + const aliasPointsToIndex = await this.doesAliasPointToIndex(indexNameWithVersion, aliasName) + + // create index and alias if they don't exist (only in dev environment) + if (IS_DEV_ENV) { + if (!indexExists) { + this.log.info('Creating versioned index with settings and mappings!', { + indexNameWithVersion, + }) + await this.createIndexWithVersion(indexName) + } + + if (!aliasExists) { + this.log.info('Creating alias for index!', { indexNameWithVersion, aliasName }) + await this.createAlias(indexNameWithVersion, aliasName) + } + } else { + if (!indexExists || !aliasExists || !aliasPointsToIndex) { + throw new Error('Index and alias are either missing or not properly configured!') + } + } + + // check if index and alias exist and alias points to the index + if (indexExists && aliasExists && aliasPointsToIndex) { + this.log.info('Index and alias already exist!', { + indexNameWithVersion, + aliasName, + }) + } + } + + public async initialize() { + await this.client.cluster.putSettings({ + body: { + persistent: { + 'action.auto_create_index': 'false', + }, + }, + }) + await this.ensureIndexAndAliasExists(OpenSearchIndex.MEMBERS) + await this.ensureIndexAndAliasExists(OpenSearchIndex.ACTIVITIES) + await this.ensureIndexAndAliasExists(OpenSearchIndex.ORGANIZATIONS) + } + + public async removeFromIndex(id: string, index: OpenSearchIndex): Promise { + try { + const indexName = this.indexVersionMap.get(index) + await this.client.delete({ + id, + index: indexName, + refresh: true, + }) + } catch (err) { + if (err.meta.statusCode === 404) { + this.log.debug(err, { id, index }, 'Document not found in index!') + return + } + this.log.error(err, { id, index }, 'Failed to remove document from index!') + throw new Error(`Failed to remove document with id: ${id} from index ${index}!`) + } + } + + public async index(id: string, index: OpenSearchIndex, body: T): Promise { + const indexName = this.indexVersionMap.get(index) + try { + await this.client.index({ + id, + index: indexName, + body, + refresh: true, + }) + } catch (err) { + this.log.error(err, { id, index }, 'Failed to index document!') + throw new Error(`Failed to index document with id: ${id} in index ${index}!`) + } + } + + public async bulkIndex(index: OpenSearchIndex, batch: IIndexRequest[]): Promise { + try { + const body = [] + const indexName = this.indexVersionMap.get(index) + for (const doc of batch) { + body.push({ + index: { _index: indexName, _id: doc.id }, + }) + body.push({ + ...doc.body, + }) + } + + const result = await this.client.bulk({ + body, + refresh: true, + }) + + if (result.body.errors === true) { + const errorItems = result.body.items + .filter((i) => i.index !== undefined && i.index.error !== undefined) + .map((i) => { + return { + error: i.index.error, + itemId: i.index._id, + } + }) + + this.log.error({ errorItems }, 'Failed to bulk index documents!') + throw new Error(`Failed to bulk index documents in index ${index}!`) + } + } catch (err) { + this.log.error(err, { index }, 'Failed to bulk index documents!') + throw new Error(`Failed to bulk index documents in index ${index}!`) + } + } + + public async search( + index: OpenSearchIndex, + query?: unknown, + aggs?: unknown, + size?: number, + sort?: unknown[], + searchAfter?: unknown, + sourceIncludeFields?: string[], + sourceExcludeFields?: string[], + ): Promise[] | unknown> { + try { + const indexName = this.indexVersionMap.get(index) + const payload = { + index: indexName, + _source_excludes: sourceExcludeFields, + _source_includes: sourceIncludeFields, + body: { + size: aggs ? 0 : undefined, + query, + aggs, + search_after: searchAfter ? [searchAfter] : undefined, + sort, + }, + size, + } + + const data = await this.client.search(payload) + + if (query) { + return data.body.hits.hits + } else { + return data.body.aggregations + } + } catch (err) { + this.log.error(err, { index, query }, 'Failed to search documents!') + throw new Error('Failed to search documents!') + } + } +} diff --git a/services/libs/opensearch/src/service/organization.sync.data.ts b/services/libs/opensearch/src/service/organization.sync.data.ts new file mode 100644 index 0000000000..b57429a4c8 --- /dev/null +++ b/services/libs/opensearch/src/service/organization.sync.data.ts @@ -0,0 +1,4 @@ +export interface IOrganizationSyncResult { + organizationsSynced: number + documentsIndexed: number +} diff --git a/services/libs/opensearch/src/service/organization.sync.service.ts b/services/libs/opensearch/src/service/organization.sync.service.ts new file mode 100644 index 0000000000..3e1ecff975 --- /dev/null +++ b/services/libs/opensearch/src/service/organization.sync.service.ts @@ -0,0 +1,500 @@ +import { SERVICE_CONFIG } from '../conf' +import { IDbOrganizationSyncData } from '../repo/organization.data' +import { OrganizationRepository } from '../repo/organization.repo' +import { IDbSegmentInfo } from '../repo/segment.data' +import { SegmentRepository } from '../repo/segment.repo' +import { distinct, groupBy } from '@crowd/common' +import { DbStore } from '@crowd/database' +import { Logger, getChildLogger, logExecutionTime } from '@crowd/logging' +import { Edition, OpenSearchIndex } from '@crowd/types' +import { IIndexRequest, IPagedSearchResponse, ISearchHit } from './opensearch.data' +import { OpenSearchService } from './opensearch.service' +import { IOrganizationSyncResult } from './organization.sync.data' + +export class OrganizationSyncService { + private log: Logger + private readonly orgRepo: OrganizationRepository + private readonly segmentRepo: SegmentRepository + + constructor( + store: DbStore, + private readonly openSearchService: OpenSearchService, + parentLog: Logger, + ) { + this.log = getChildLogger('organization-sync-service', parentLog) + + this.orgRepo = new OrganizationRepository(store, this.log) + this.segmentRepo = new SegmentRepository(store, this.log) + } + + public async getAllIndexedTenantIds( + pageSize = 500, + afterKey?: string, + ): Promise> { + const include = ['uuid_tenantId'] + + const results = await this.openSearchService.search( + OpenSearchIndex.ORGANIZATIONS, + undefined, + { + uuid_tenantId_buckets: { + composite: { + size: pageSize, + sources: [ + { + uuid_tenantId: { + terms: { + field: 'uuid_tenantId', + }, + }, + }, + ], + after: afterKey + ? { + uuid_tenantId: afterKey, + } + : undefined, + }, + }, + }, + undefined, + undefined, + undefined, + include, + ) + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const data = (results as any).uuid_tenantId_buckets + + const newAfterKey = data.after_key?.uuid_tenantId + + const ids = data.buckets.map((b) => b.key.uuid_tenantId) + + return { + data: ids, + afterKey: newAfterKey, + } + } + + public async cleanupOrganizationIndex(tenantId: string): Promise { + this.log.warn({ tenantId }, 'Cleaning up organization index!') + + const query = { + bool: { + filter: { + term: { + uuid_tenantId: tenantId, + }, + }, + }, + } + + const sort = [{ date_createdAt: 'asc' }] + const include = ['date_createdAt', 'uuid_organizationId'] + const pageSize = 500 + let lastCreatedAt: string + + let results = (await this.openSearchService.search( + OpenSearchIndex.ORGANIZATIONS, + query, + undefined, + pageSize, + sort, + undefined, + include, + )) as ISearchHit<{ date_createdAt: string; uuid_organizationId: string }>[] + + let processed = 0 + + while (results.length > 0) { + // check every organization if they exists in the database and if not remove them from the index + const dbIds = await this.orgRepo.checkOrganizationsExists( + tenantId, + results.map((r) => r._source.uuid_organizationId), + ) + + const toRemove = results + .filter((r) => !dbIds.includes(r._source.uuid_organizationId)) + .map((r) => r._id) + + if (toRemove.length > 0) { + this.log.warn({ tenantId, toRemove }, 'Removing organizations from index!') + for (const id of toRemove) { + await this.openSearchService.removeFromIndex(id, OpenSearchIndex.ORGANIZATIONS) + } + } + + processed += results.length + this.log.warn({ tenantId }, `Processed ${processed} organizations while cleaning up tenant!`) + + // use last createdAt to get the next page + lastCreatedAt = results[results.length - 1]._source.date_createdAt + results = (await this.openSearchService.search( + OpenSearchIndex.ORGANIZATIONS, + query, + undefined, + pageSize, + sort, + lastCreatedAt, + include, + )) as ISearchHit<{ date_createdAt: string; uuid_organizationId: string }>[] + } + + this.log.warn( + { tenantId }, + `Processed total of ${processed} organizations while cleaning up tenant!`, + ) + } + + public async removeOrganization(organizationId: string): Promise { + this.log.debug({ organizationId }, 'Removing organization from index!') + + const query = { + bool: { + filter: { + term: { + uuid_organizationId: organizationId, + }, + }, + }, + } + + const sort = [{ date_joinedAt: 'asc' }] + const include = ['date_joinedAt'] + const pageSize = 10 + let lastJoinedAt: string + + let results = (await this.openSearchService.search( + OpenSearchIndex.ORGANIZATIONS, + query, + undefined, + pageSize, + sort, + undefined, + include, + )) as ISearchHit<{ date_joinedAt: string }>[] + + while (results.length > 0) { + const ids = results.map((r) => r._id) + for (const id of ids) { + await this.openSearchService.removeFromIndex(id, OpenSearchIndex.ORGANIZATIONS) + } + + // use last joinedAt to get the next page + lastJoinedAt = results[results.length - 1]._source.date_joinedAt + results = (await this.openSearchService.search( + OpenSearchIndex.ORGANIZATIONS, + query, + undefined, + pageSize, + sort, + lastJoinedAt, + include, + )) as ISearchHit<{ date_joinedAt: string }>[] + } + } + + public async syncTenantOrganizations( + tenantId: string, + batchSize = 200, + syncCutoffTime?: string, + ): Promise { + const cutoffDate = syncCutoffTime ? syncCutoffTime : new Date().toISOString() + + this.log.warn({ tenantId, cutoffDate }, 'Syncing all tenant organizations!') + let docCount = 0 + let organizationCount = 0 + + await logExecutionTime( + async () => { + let organizationIds = await this.orgRepo.getTenantOrganizationsForSync( + tenantId, + 1, + batchSize, + cutoffDate, + ) + + while (organizationIds.length > 0) { + const { organizationsSynced, documentsIndexed } = await this.syncOrganizations( + organizationIds, + ) + + organizationCount += organizationsSynced + docCount += documentsIndexed + + this.log.info( + { tenantId }, + `Synced ${organizationCount} organizations with ${docCount} documents!`, + ) + organizationIds = await this.orgRepo.getTenantOrganizationsForSync( + tenantId, + 1, + batchSize, + cutoffDate, + ) + } + }, + this.log, + 'sync-tenant-organizations', + ) + + this.log.info( + { tenantId }, + `Synced total of ${organizationCount} organizations with ${docCount} documents!`, + ) + } + + public async syncOrganizations(organizationIds: string[]): Promise { + this.log.debug({ organizationIds }, 'Syncing organizations!') + + const isMultiSegment = SERVICE_CONFIG().edition === Edition.LFX + + let docCount = 0 + let organizationCount = 0 + + const organizations = await this.orgRepo.getOrganizationData(organizationIds) + + if (organizations.length > 0) { + let childSegmentIds: string[] | undefined + let segmentInfos: IDbSegmentInfo[] | undefined + + if (isMultiSegment) { + childSegmentIds = distinct(organizations.map((m) => m.segmentId)) + segmentInfos = await this.segmentRepo.getParentSegmentIds(childSegmentIds) + } + + const grouped = groupBy(organizations, (m) => m.organizationId) + const organizationIds = Array.from(grouped.keys()) + + const forSync: IIndexRequest[] = [] + for (const organizationId of organizationIds) { + const organizationDocs = grouped.get(organizationId) + if (isMultiSegment) { + for (const organization of organizationDocs) { + // index each of them individually because it's per leaf segment + const prepared = OrganizationSyncService.prefixData(organization) + forSync.push({ + id: `${organizationId}-${organization.segmentId}`, + body: prepared, + }) + + const relevantSegmentInfos = segmentInfos.filter((s) => s.id === organization.segmentId) + + // and for each parent and grandparent + const parentIds = distinct(relevantSegmentInfos.map((s) => s.parentId)) + for (const parentId of parentIds) { + const aggregated = OrganizationSyncService.aggregateData( + organizationDocs, + relevantSegmentInfos, + parentId, + ) + const prepared = OrganizationSyncService.prefixData(aggregated) + forSync.push({ + id: `${organizationId}-${parentId}`, + body: prepared, + }) + } + + const grandParentIds = distinct(relevantSegmentInfos.map((s) => s.grandParentId)) + for (const grandParentId of grandParentIds) { + const aggregated = OrganizationSyncService.aggregateData( + organizationDocs, + relevantSegmentInfos, + undefined, + grandParentId, + ) + const prepared = OrganizationSyncService.prefixData(aggregated) + forSync.push({ + id: `${organizationId}-${grandParentId}`, + body: prepared, + }) + } + } + } else { + if (organizationDocs.length > 1) { + throw new Error( + 'More than one organization found - this can not be the case in single segment edition!', + ) + } + + const organization = organizationDocs[0] + const prepared = OrganizationSyncService.prefixData(organization) + forSync.push({ + id: `${organizationId}-${organization.segmentId}`, + body: prepared, + }) + } + } + + await this.openSearchService.bulkIndex(OpenSearchIndex.ORGANIZATIONS, forSync) + docCount += forSync.length + organizationCount += organizationIds.length + } + + await this.orgRepo.markSynced(organizationIds) + + return { + organizationsSynced: organizationCount, + documentsIndexed: docCount, + } + } + + private static aggregateData( + segmentOrganizationss: IDbOrganizationSyncData[], + segmentInfos: IDbSegmentInfo[], + parentId?: string, + grandParentId?: string, + ): IDbOrganizationSyncData | undefined { + if (!parentId && !grandParentId) { + throw new Error('Either parentId or grandParentId must be provided!') + } + + const relevantSubchildIds: string[] = [] + for (const si of segmentInfos) { + if (parentId && si.parentId === parentId) { + relevantSubchildIds.push(si.id) + } else if (grandParentId && si.grandParentId === grandParentId) { + relevantSubchildIds.push(si.id) + } + } + + const organizations = segmentOrganizationss.filter((m) => + relevantSubchildIds.includes(m.segmentId), + ) + + if (organizations.length === 0) { + throw new Error('No organizations found for given parent or grandParent segment id!') + } + + // aggregate data + const organization = { ...organizations[0] } + + // use corrent id as segmentId + if (parentId) { + organization.segmentId = parentId + } else { + organization.segmentId = grandParentId + } + + // reset aggregates + organization.joinedAt = undefined + organization.lastActive = undefined + organization.activeOn = [] + organization.activityCount = 0 + organization.memberCount = 0 + organization.identities = [] + + for (const org of organizations) { + if (!organization.joinedAt) { + organization.joinedAt = org.joinedAt + } else if (org.joinedAt) { + const d1 = new Date(organization.joinedAt) + const d2 = new Date(org.joinedAt) + + if (d1 > d2) { + organization.joinedAt = org.joinedAt + } + } + + if (!organization.lastActive) { + organization.lastActive = org.lastActive + } else if (org.lastActive) { + const d1 = new Date(organization.lastActive) + const d2 = new Date(org.lastActive) + + if (d1 < d2) { + organization.lastActive = org.lastActive + } + } + + organization.activeOn.push(...org.activeOn) + organization.activityCount += org.activityCount + organization.memberCount += org.memberCount + organization.identities.push(...org.identities) + } + + // gather only uniques + organization.activeOn = distinct(organization.activeOn) + organization.identities = distinct(organization.identities) + + return organization + } + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + public static prefixData(data: IDbOrganizationSyncData): any { + const p: Record = {} + + p.uuid_organizationId = data.organizationId + p.uuid_segmentId = data.segmentId + p.uuid_tenantId = data.tenantId + p.obj_address = data.address + p.string_address = data.address ? JSON.stringify(data.address) : null + p.string_attributes = data.attributes ? JSON.stringify(data.attributes) : '{}' + p.date_createdAt = data.createdAt ? new Date(data.createdAt).toISOString() : null + p.string_description = data.description + p.string_displayName = data.displayName + p.keyword_displayName = data.displayName + p.string_arr_emails = data.emails + p.obj_employeeCountByCountry = data.employeeCountByCountry + p.int_employees = data.employees + p.int_founded = data.founded + p.string_geoLocation = data.geoLocation + p.string_location = data.location + p.string_headline = data.headline + p.keyword_importHash = data.importHash + p.string_industry = data.industry + p.string_arr_phoneNumbers = data.phoneNumbers + p.string_arr_profiles = data.profiles + p.obj_revenueRange = data.revenueRange + p.string_size = data.size + p.string_type = data.type + p.string_url = data.url + p.string_website = data.website + p.date_lastEnrichedAt = data.lastEnrichedAt ? new Date(data.lastEnrichedAt).toISOString() : null + p.bool_isTeamOrganization = data.isTeamOrganization ? data.isTeamOrganization : false + p.bool_manuallyCreated = data.manuallyCreated ? data.manuallyCreated : false + p.string_logo = data.logo || null + p.obj_linkedin = data.linkedin + p.obj_github = data.github + p.obj_crunchbase = data.crunchbase + p.obj_twitter = data.twitter + p.string_immediateParent = data.immediateParent + p.string_ultimateParent = data.ultimateParent + p.string_arr_affiliatedProfiles = data.affiliatedProfiles + p.string_arr_allSubsidiaries = data.allSubsidiaries + p.string_arr_alternativeDomains = data.alternativeDomains + p.string_arr_alternativeNames = data.alternativeNames + p.float_averageEmployeeTenure = data.averageEmployeeTenure + p.obj_averageTenureByLevel = data.averageTenureByLevel + p.obj_averageTenureByRole = data.averageTenureByRole + p.string_arr_directSubsidiaries = data.directSubsidiaries + p.obj_employeeChurnRate = data.employeeChurnRate + p.obj_employeeCountByMonth = data.employeeCountByMonth + p.obj_employeeGrowthRate = data.employeeGrowthRate + p.obj_employeeCountByMonthByLevel = data.employeeCountByMonthByLevel + p.obj_employeeCountByMonthByRole = data.employeeCountByMonthByRole + p.string_gicsSector = data.gicsSector + p.obj_grossAdditionsByMonth = data.grossAdditionsByMonth + p.obj_grossDeparturesByMonth = data.grossDeparturesByMonth + + // identities + const p_identities = [] + for (const identity of data.identities) { + p_identities.push({ + string_platform: identity.platform, + string_name: identity.name, + string_url: identity.url, + }) + } + p.nested_identities = p_identities + + // aggregate data + p.date_joinedAt = data.joinedAt ? new Date(data.joinedAt).toISOString() : null + p.date_lastActive = data.lastActive ? new Date(data.lastActive).toISOString() : null + p.string_arr_activeOn = data.activeOn + p.int_activityCount = data.activityCount + p.int_memberCount = data.memberCount + + return p + } +} diff --git a/services/libs/opensearch/src/types.ts b/services/libs/opensearch/src/types.ts new file mode 100644 index 0000000000..60dd3677fb --- /dev/null +++ b/services/libs/opensearch/src/types.ts @@ -0,0 +1,601 @@ +export enum OpenSearchIndex { + MEMBERS = 'members', + ACTIVITIES = 'activities', + ORGANIZATIONS = 'organizations', +} + +// Keeps track of version numbers for all OpenSearch indexes, aiding in managing documents. +// for eg: members_v1, activities_v1, etc. +export const IndexVersions = new Map() +IndexVersions.set(OpenSearchIndex.MEMBERS, 2) +IndexVersions.set(OpenSearchIndex.ACTIVITIES, 2) +IndexVersions.set(OpenSearchIndex.ORGANIZATIONS, 2) + +const prefixedMapping = { + dynamic_templates: [ + // https://opensearch.org/docs/latest/field-types/supported-field-types/string/ + { + strings: { + match_pattern: 'regex', + match: '^string_.*', + path_match: '.*', + mapping: { + type: 'text', + analyzer: 'lowercase_keyword_analyzer', + }, + }, + }, + { + nox_strings: { + match_pattern: 'regex', + match: '^nox_string_.*', + path_match: '.*', + mapping: { + type: 'text', + index: false, + }, + }, + }, + { + uuids: { + match_pattern: 'regex', + match: '^uuid_.*', + path_match: '.*', + mapping: { + type: 'keyword', + }, + }, + }, + { + nox_uuids: { + match_pattern: 'regex', + match: '^nox_uuid_.*', + path_match: '.*', + mapping: { + type: 'keyword', + index: false, + }, + }, + }, + { + keywords: { + match_pattern: 'regex', + match: '^keyword_.*', + path_match: '.*', + mapping: { + type: 'keyword', + }, + }, + }, + { + nox_keywords: { + match_pattern: 'regex', + match: '^nox_keyword_.*', + path_match: '.*', + mapping: { + type: 'keyword', + index: false, + }, + }, + }, + // https://opensearch.org/docs/latest/field-types/supported-field-types/numeric/ + { + integers: { + match_pattern: 'regex', + match: '^int_.*', + path_match: '.*', + mapping: { + type: 'integer', + }, + }, + }, + { + nox_integers: { + match_pattern: 'regex', + match: '^nox_int_.*', + path_match: '.*', + mapping: { + type: 'integer', + index: false, + }, + }, + }, + { + floats: { + match_pattern: 'regex', + match: '^float_.*', + path_match: '.*', + mapping: { + type: 'float', + }, + }, + }, + { + nox_floats: { + match_pattern: 'regex', + match: '^nox_float_.*', + path_match: '.*', + mapping: { + type: 'float', + index: false, + }, + }, + }, + { + bytes: { + match_pattern: 'regex', + match: '^byte_.*', + path_match: '.*', + mapping: { + type: 'byte', + }, + }, + }, + { + nox_bytes: { + match_pattern: 'regex', + match: '^nox_byte_.*', + path_match: '.*', + mapping: { + type: 'byte', + index: false, + }, + }, + }, + { + doubles: { + match_pattern: 'regex', + match: '^double_.*', + path_match: '.*', + mapping: { + type: 'double', + }, + }, + }, + { + nox_doubles: { + match_pattern: 'regex', + match: '^nox_double_.*', + path_match: '.*', + mapping: { + type: 'double', + index: false, + }, + }, + }, + { + half_floats: { + match_pattern: 'regex', + match: '^half_float_.*', + path_match: '.*', + mapping: { + type: 'half_float', + }, + }, + }, + { + nox_half_floats: { + match_pattern: 'regex', + match: '^nox_half_float_.*', + path_match: '.*', + mapping: { + type: 'half_float', + index: false, + }, + }, + }, + { + longs: { + match_pattern: 'regex', + match: '^long_.*', + path_match: '.*', + mapping: { + type: 'long', + }, + }, + }, + { + nox_longs: { + match_pattern: 'regex', + match: '^nox_long_.*', + path_match: '.*', + mapping: { + type: 'long', + index: false, + }, + }, + }, + { + shorts: { + match_pattern: 'regex', + match: '^short_.*', + path_match: '.*', + mapping: { + type: 'short', + }, + }, + }, + { + nox_shorts: { + match_pattern: 'regex', + match: '^nox_short_.*', + path_match: '.*', + mapping: { + type: 'short', + index: false, + }, + }, + }, + // https://opensearch.org/docs/latest/field-types/supported-field-types/date/ + { + dates: { + match_pattern: 'regex', + match: '^date_.*', + path_match: '.*', + mapping: { + type: 'date', + format: + 'strict_date_optional_time||strict_date_optional_time_nanos||epoch_millis||yyyy-MM-dd HH:mm:ssXXX||yyyy-MM-dd HH:mm:ssX||yyyy-MM-dd HH:mm:ss.SSS||yyyy-MM-dd HH:mm:ss.SS||yyyy-MM-dd HH:mm:ss.S||yyyy-MM-dd HH:mm:ss.SSSZ', + }, + }, + }, + { + nox_dates: { + match_pattern: 'regex', + match: '^nox_date_.*', + path_match: '.*', + mapping: { + type: 'date', + format: + 'strict_date_optional_time||strict_date_optional_time_nanos||epoch_millis||yyyy-MM-dd HH:mm:ssXXX||yyyy-MM-dd HH:mm:ssX||yyyy-MM-dd HH:mm:ss.SSS||yyyy-MM-dd HH:mm:ss.SS||yyyy-MM-dd HH:mm:ss.S||yyyy-MM-dd HH:mm:ss.SSSZ', + index: false, + }, + }, + }, + // https://opensearch.org/docs/latest/field-types/supported-field-types/boolean/ + { + booleans: { + match_pattern: 'regex', + match: '^bool_.*', + path_match: '.*', + mapping: { + type: 'boolean', + }, + }, + }, + { + nox_booleans: { + match_pattern: 'regex', + match: '^nox_bool_.*', + path_match: '.*', + mapping: { + type: 'boolean', + index: false, + }, + }, + }, + // https://opensearch.org/docs/latest/field-types/supported-field-types/object-fields/ + { + objects: { + match_pattern: 'regex', + match: '^obj_.*', + path_match: '.*', + mapping: { + type: 'object', + }, + }, + }, + { + nox_objects: { + match_pattern: 'regex', + match: '^nox_obj_.*', + path_match: '.*', + mapping: { + type: 'object', + index: false, + }, + }, + }, + { + nested_objects: { + match_pattern: 'regex', + match: '^nested_.*', + path_match: '.*', + mapping: { + type: 'nested', + }, + }, + }, + { + nox_nested_objects: { + match_pattern: 'regex', + match: '^nox_nested_.*', + path_match: '.*', + mapping: { + type: 'nested', + index: false, + }, + }, + }, + { + string_arrays: { + match_pattern: 'regex', + match: '^string_arr_.*', + path_match: '.*', + mapping: { + type: 'text', + }, + }, + }, + { + nox_string_arrays: { + match_pattern: 'regex', + match: '^nox_string_arr_.*', + path_match: '.*', + mapping: { + type: 'text', + index: false, + }, + }, + }, + { + integer_arrays: { + match_pattern: 'regex', + match: '^int_arr_.*', + path_match: '.*', + mapping: { + type: 'integer', + }, + }, + }, + { + nox_integer_arrays: { + match_pattern: 'regex', + match: '^nox_int_arr_.*', + path_match: '.*', + mapping: { + type: 'integer', + index: false, + }, + }, + }, + { + float_arrays: { + match_pattern: 'regex', + match: '^float_arr_.*', + path_match: '.*', + mapping: { + type: 'float', + }, + }, + }, + { + nox_float_arrays: { + match_pattern: 'regex', + match: '^nox_float_arr_.*', + path_match: '.*', + mapping: { + type: 'float', + index: false, + }, + }, + }, + { + byte_arrays: { + match_pattern: 'regex', + match: '^byte_arr_.*', + path_match: '.*', + mapping: { + type: 'byte', + }, + }, + }, + { + nox_byte_arrays: { + match_pattern: 'regex', + match: '^nox_byte_arr_.*', + path_match: '.*', + mapping: { + type: 'byte', + index: false, + }, + }, + }, + { + double_arrays: { + match_pattern: 'regex', + match: '^double_arr_.*', + path_match: '.*', + mapping: { + type: 'double', + }, + }, + }, + { + nox_double_arrays: { + match_pattern: 'regex', + match: '^nox_double_arr_.*', + path_match: '.*', + mapping: { + type: 'double', + index: false, + }, + }, + }, + { + half_float_arrays: { + match_pattern: 'regex', + match: '^half_float_arr_.*', + path_match: '.*', + mapping: { + type: 'half_float', + }, + }, + }, + { + nox_half_float_arrays: { + match_pattern: 'regex', + match: '^nox_half_float_arr_.*', + path_match: '.*', + mapping: { + type: 'half_float', + index: false, + }, + }, + }, + { + long_arrays: { + match_pattern: 'regex', + match: '^long_arr_.*', + path_match: '.*', + mapping: { + type: 'long', + }, + }, + }, + { + nox_long_arrays: { + match_pattern: 'regex', + match: '^nox_long_arr_.*', + path_match: '.*', + mapping: { + type: 'long', + index: false, + }, + }, + }, + { + short_arrays: { + match_pattern: 'regex', + match: '^short_arr_.*', + path_match: '.*', + mapping: { + type: 'short', + }, + }, + }, + { + nox_short_arrays: { + match_pattern: 'regex', + match: '^nox_short_arr_.*', + path_match: '.*', + mapping: { + type: 'short', + index: false, + }, + }, + }, + { + date_arrays: { + match_pattern: 'regex', + match: '^date_arr_.*', + path_match: '.*', + mapping: { + type: 'date', + format: + 'strict_date_optional_time||strict_date_optional_time_nanos||epoch_millis||yyyy-MM-dd HH:mm:ssXXX||yyyy-MM-dd HH:mm:ssX||yyyy-MM-dd HH:mm:ss.SSS||yyyy-MM-dd HH:mm:ss.SS||yyyy-MM-dd HH:mm:ss.S||yyyy-MM-dd HH:mm:ss.SSSZ', + }, + }, + }, + { + nox_date_arrays: { + match_pattern: 'regex', + match: '^nox_date_arr_.*', + path_match: '.*', + mapping: { + type: 'date', + format: + 'strict_date_optional_time||strict_date_optional_time_nanos||epoch_millis||yyyy-MM-dd HH:mm:ssXXX||yyyy-MM-dd HH:mm:ssX||yyyy-MM-dd HH:mm:ss.SSS||yyyy-MM-dd HH:mm:ss.SS||yyyy-MM-dd HH:mm:ss.S||yyyy-MM-dd HH:mm:ss.SSSZ', + index: false, + }, + }, + }, + { + boolean_arrays: { + match_pattern: 'regex', + match: '^bool_arr_.*', + path_match: '.*', + mapping: { + type: 'boolean', + }, + }, + }, + { + nox_boolean_arrays: { + match_pattern: 'regex', + match: '^nox_bool_arr_.*', + path_match: '.*', + mapping: { + type: 'boolean', + index: false, + }, + }, + }, + { + uuid_arrays: { + match_pattern: 'regex', + match: '^uuid_arr_.*', + path_match: '.*', + mapping: { + type: 'keyword', + }, + }, + }, + { + nox_uuid_arrays: { + match_pattern: 'regex', + match: '^nox_uuid_arr_.*', + path_match: '.*', + mapping: { + type: 'keyword', + index: false, + }, + }, + }, + { + keyword_arrays: { + match_pattern: 'regex', + match: '^keyword_arr_.*', + path_match: '.*', + mapping: { + type: 'keyword', + }, + }, + }, + { + nox_keyword_arrays: { + match_pattern: 'regex', + match: '^nox_keyword_arr_.*', + path_match: '.*', + mapping: { + type: 'keyword', + index: false, + }, + }, + }, + ], +} + +const prefixedSettings = { + analysis: { + analyzer: { + lowercase_keyword_analyzer: { + type: 'custom', + tokenizer: 'keyword', + filter: ['lowercase'], + }, + }, + }, +} + +export const OPENSEARCH_INDEX_SETTINGS: Record = { + [OpenSearchIndex.MEMBERS]: prefixedSettings, + [OpenSearchIndex.ACTIVITIES]: prefixedSettings, + [OpenSearchIndex.ORGANIZATIONS]: prefixedSettings, +} + +export const OPENSEARCH_INDEX_MAPPINGS: Record = { + [OpenSearchIndex.MEMBERS]: prefixedMapping, + [OpenSearchIndex.ACTIVITIES]: prefixedMapping, + [OpenSearchIndex.ORGANIZATIONS]: prefixedMapping, +} From fe6d10c2c24544ee5c15cb62ac90c96deb2388ba Mon Sep 17 00:00:00 2001 From: Yeganathan S Date: Sun, 15 Oct 2023 21:13:19 +0530 Subject: [PATCH 03/38] Fix package.json for build --- .../apps/search_sync_api/package-lock.json | 25 ++-- services/libs/opensearch/package-lock.json | 125 ++++++++++++++++++ 2 files changed, 138 insertions(+), 12 deletions(-) diff --git a/services/apps/search_sync_api/package-lock.json b/services/apps/search_sync_api/package-lock.json index 00802dcd86..43e063753a 100644 --- a/services/apps/search_sync_api/package-lock.json +++ b/services/apps/search_sync_api/package-lock.json @@ -39,8 +39,10 @@ } }, "../../libs/common": { + "name": "@crowd/common", "version": "1.0.0", "dependencies": { + "@crowd/logging": "file:../logging", "@crowd/types": "file:../types", "psl": "^1.9.0", "uuid": "^9.0.0" @@ -57,13 +59,12 @@ } }, "../../libs/database": { + "name": "@crowd/database", "version": "1.0.0", "dependencies": { "@crowd/common": "file:../common", "@crowd/logging": "file:../logging", - "inversify": "^6.0.1", - "pg-promise": "^11.4.3", - "reflect-metadata": "^0.1.13" + "pg-promise": "^11.4.3" }, "devDependencies": { "@types/node": "^18.16.3", @@ -95,13 +96,13 @@ } }, "../../libs/logging": { + "name": "@crowd/logging", "version": "1.0.0", "dependencies": { "@crowd/common": "file:../common", + "@crowd/tracing": "file:../tracing", "bunyan": "^1.8.15", - "bunyan-format": "^0.2.1", - "inversify": "^6.0.1", - "reflect-metadata": "^0.1.13" + "bunyan-format": "^0.2.1" }, "devDependencies": { "@types/bunyan": "^1.8.8", @@ -117,15 +118,14 @@ } }, "../../libs/opensearch": { + "name": "@crowd/opensearch", "version": "1.0.0", "dependencies": { "@crowd/database": "file:../database", "@crowd/logging": "file:../logging", "@crowd/redis": "file:../redis", "@crowd/types": "file:../types", - "@opensearch-project/opensearch": "^1.2.0", - "inversify": "^6.0.1", - "reflect-metadata": "^0.1.13" + "@opensearch-project/opensearch": "^1.2.0" }, "devDependencies": { "@types/node": "^18.16.3", @@ -139,16 +139,16 @@ } }, "../../libs/sqs": { + "name": "@crowd/sqs", "version": "1.0.0", "dependencies": { "@aws-sdk/client-sqs": "^3.332.0", "@aws-sdk/types": "^3.329.0", "@crowd/common": "file:../common", "@crowd/logging": "file:../logging", + "@crowd/tracing": "file:../tracing", "@crowd/types": "file:../types", - "@smithy/util-retry": "^2.0.1", - "inversify": "^6.0.1", - "reflect-metadata": "^0.1.13" + "@smithy/util-retry": "^2.0.1" }, "devDependencies": { "@types/node": "^18.16.3", @@ -162,6 +162,7 @@ } }, "../../libs/types": { + "name": "@crowd/types", "version": "1.0.0", "devDependencies": { "@types/node": "^18.16.3", diff --git a/services/libs/opensearch/package-lock.json b/services/libs/opensearch/package-lock.json index 2e59e9d7d4..8c18016598 100644 --- a/services/libs/opensearch/package-lock.json +++ b/services/libs/opensearch/package-lock.json @@ -8,6 +8,9 @@ "name": "@crowd/opensearch", "version": "1.0.0", "dependencies": { + "@crowd/database": "file:../database", + "@crowd/logging": "file:../logging", + "@crowd/redis": "file:../redis", "@crowd/types": "file:../types", "@opensearch-project/opensearch": "^1.2.0" }, @@ -22,6 +25,64 @@ "typescript": "^5.0.4" } }, + "../database": { + "version": "1.0.0", + "dependencies": { + "@crowd/common": "file:../common", + "@crowd/logging": "file:../logging", + "pg-promise": "^11.4.3" + }, + "devDependencies": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + } + }, + "../logging": { + "version": "1.0.0", + "dependencies": { + "@crowd/common": "file:../common", + "@crowd/tracing": "file:../tracing", + "bunyan": "^1.8.15", + "bunyan-format": "^0.2.1" + }, + "devDependencies": { + "@types/bunyan": "^1.8.8", + "@types/bunyan-format": "^0.2.5", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + } + }, + "../redis": { + "version": "1.0.0", + "dependencies": { + "@crowd/common": "file:../common", + "@crowd/logging": "file:../logging", + "@crowd/types": "file:../types", + "redis": "^4.6.6" + }, + "devDependencies": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + } + }, "../types": { "name": "@crowd/types", "version": "1.0.0", @@ -36,6 +97,18 @@ "typescript": "^5.0.4" } }, + "node_modules/@crowd/database": { + "resolved": "../database", + "link": true + }, + "node_modules/@crowd/logging": { + "resolved": "../logging", + "link": true + }, + "node_modules/@crowd/redis": { + "resolved": "../redis", + "link": true + }, "node_modules/@crowd/types": { "resolved": "../types", "link": true @@ -1730,6 +1803,58 @@ } }, "dependencies": { + "@crowd/database": { + "version": "file:../database", + "requires": { + "@crowd/common": "file:../common", + "@crowd/logging": "file:../logging", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "pg-promise": "^11.4.3", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + } + }, + "@crowd/logging": { + "version": "file:../logging", + "requires": { + "@crowd/common": "file:../common", + "@crowd/tracing": "file:../tracing", + "@types/bunyan": "^1.8.8", + "@types/bunyan-format": "^0.2.5", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "bunyan": "^1.8.15", + "bunyan-format": "^0.2.1", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + } + }, + "@crowd/redis": { + "version": "file:../redis", + "requires": { + "@crowd/common": "file:../common", + "@crowd/logging": "file:../logging", + "@crowd/types": "file:../types", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "redis": "^4.6.6", + "typescript": "^5.0.4" + } + }, "@crowd/types": { "version": "file:../types", "requires": { From 7c3fac164bd9c9d7764e78bf363f24210437decd Mon Sep 17 00:00:00 2001 From: Yeganathan S Date: Sun, 15 Oct 2023 21:52:29 +0530 Subject: [PATCH 04/38] Fix failing tests --- services/libs/opensearch/package-lock.json | 43 ++++++++++++++++++++++ services/libs/opensearch/package.json | 1 + 2 files changed, 44 insertions(+) diff --git a/services/libs/opensearch/package-lock.json b/services/libs/opensearch/package-lock.json index 8c18016598..c75bbb7402 100644 --- a/services/libs/opensearch/package-lock.json +++ b/services/libs/opensearch/package-lock.json @@ -18,6 +18,7 @@ "@types/node": "^18.16.3", "@typescript-eslint/eslint-plugin": "^5.59.2", "@typescript-eslint/parser": "^5.59.2", + "config": "^3.3.9", "eslint": "^8.39.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", @@ -26,6 +27,7 @@ } }, "../database": { + "name": "@crowd/database", "version": "1.0.0", "dependencies": { "@crowd/common": "file:../common", @@ -44,6 +46,7 @@ } }, "../logging": { + "name": "@crowd/logging", "version": "1.0.0", "dependencies": { "@crowd/common": "file:../common", @@ -65,6 +68,7 @@ } }, "../redis": { + "name": "@crowd/redis", "version": "1.0.0", "dependencies": { "@crowd/common": "file:../common", @@ -621,6 +625,18 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "node_modules/config": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/config/-/config-3.3.9.tgz", + "integrity": "sha512-G17nfe+cY7kR0wVpc49NCYvNtelm/pPy8czHoFkAgtV1lkmcp7DHtWCdDu+C9Z7gb2WVqa9Tm3uF9aKaPbCfhg==", + "dev": true, + "dependencies": { + "json5": "^2.2.3" + }, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -1247,6 +1263,18 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -2210,6 +2238,15 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "config": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/config/-/config-3.3.9.tgz", + "integrity": "sha512-G17nfe+cY7kR0wVpc49NCYvNtelm/pPy8czHoFkAgtV1lkmcp7DHtWCdDu+C9Z7gb2WVqa9Tm3uF9aKaPbCfhg==", + "dev": true, + "requires": { + "json5": "^2.2.3" + } + }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -2681,6 +2718,12 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, "levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", diff --git a/services/libs/opensearch/package.json b/services/libs/opensearch/package.json index cb7c1f536a..4cfea07329 100644 --- a/services/libs/opensearch/package.json +++ b/services/libs/opensearch/package.json @@ -12,6 +12,7 @@ "@types/node": "^18.16.3", "@typescript-eslint/eslint-plugin": "^5.59.2", "@typescript-eslint/parser": "^5.59.2", + "config": "^3.3.9", "eslint": "^8.39.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", From 47ee12136df017db9cf27b3855b7e76ebd0e7ad3 Mon Sep 17 00:00:00 2001 From: Yeganathan S Date: Sun, 15 Oct 2023 23:24:04 +0530 Subject: [PATCH 05/38] Add opensearch and redis middlewares --- .../apps/search_sync_api/package-lock.json | 46 +++++++++++-------- services/apps/search_sync_api/package.json | 5 +- services/apps/search_sync_api/src/main.ts | 22 ++++----- .../search_sync_api/src/middleware/index.ts | 9 +++- .../src/middleware/opensearch.ts | 16 +++++++ .../search_sync_api/src/middleware/redis.ts | 14 ++++++ .../search_sync_api/src/routes/activity.ts | 11 +++-- .../apps/search_sync_api/src/routes/member.ts | 11 +++-- .../src/routes/organization.ts | 9 ++-- .../src/service/opensearch.service.ts | 33 +++++++++++-- 10 files changed, 121 insertions(+), 55 deletions(-) create mode 100644 services/apps/search_sync_api/src/middleware/opensearch.ts create mode 100644 services/apps/search_sync_api/src/middleware/redis.ts diff --git a/services/apps/search_sync_api/package-lock.json b/services/apps/search_sync_api/package-lock.json index 43e063753a..a1d7b259fe 100644 --- a/services/apps/search_sync_api/package-lock.json +++ b/services/apps/search_sync_api/package-lock.json @@ -10,10 +10,9 @@ "dependencies": { "@crowd/common": "file:../../libs/common", "@crowd/database": "file:../../libs/database", - "@crowd/ioc": "file:../../libs/ioc", "@crowd/logging": "file:../../libs/logging", "@crowd/opensearch": "file:../../libs/opensearch", - "@crowd/sqs": "file:../../libs/sqs", + "@crowd/redis": "file:../../libs/redis", "@crowd/types": "file:../../libs/types", "@types/config": "^3.3.0", "@types/express": "^4.17.17", @@ -22,8 +21,6 @@ "config": "^3.3.9", "cors": "^2.8.5", "express": "^4.18.2", - "inversify": "^6.0.1", - "reflect-metadata": "^0.1.13", "ts-node": "^10.9.1", "tsconfig-paths": "^4.2.0", "typescript": "^5.0.4" @@ -79,6 +76,7 @@ }, "../../libs/ioc": { "version": "1.0.0", + "extraneous": true, "dependencies": { "inversify": "^6.0.1", "reflect-metadata": "^0.1.13" @@ -127,6 +125,27 @@ "@crowd/types": "file:../types", "@opensearch-project/opensearch": "^1.2.0" }, + "devDependencies": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "config": "^3.3.9", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + } + }, + "../../libs/redis": { + "name": "@crowd/redis", + "version": "1.0.0", + "dependencies": { + "@crowd/common": "file:../common", + "@crowd/logging": "file:../logging", + "@crowd/types": "file:../types", + "redis": "^4.6.6" + }, "devDependencies": { "@types/node": "^18.16.3", "@typescript-eslint/eslint-plugin": "^5.59.2", @@ -141,6 +160,7 @@ "../../libs/sqs": { "name": "@crowd/sqs", "version": "1.0.0", + "extraneous": true, "dependencies": { "@aws-sdk/client-sqs": "^3.332.0", "@aws-sdk/types": "^3.329.0", @@ -192,10 +212,6 @@ "resolved": "../../libs/database", "link": true }, - "node_modules/@crowd/ioc": { - "resolved": "../../libs/ioc", - "link": true - }, "node_modules/@crowd/logging": { "resolved": "../../libs/logging", "link": true @@ -204,8 +220,8 @@ "resolved": "../../libs/opensearch", "link": true }, - "node_modules/@crowd/sqs": { - "resolved": "../../libs/sqs", + "node_modules/@crowd/redis": { + "resolved": "../../libs/redis", "link": true }, "node_modules/@crowd/types": { @@ -1854,11 +1870,6 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/inversify": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/inversify/-/inversify-6.0.1.tgz", - "integrity": "sha512-B3ex30927698TJENHR++8FfEaJGqoWOgI6ZY5Ht/nLUsFCwHn6akbwtnUAPCgUepAnTpe2qHxhDNjoKLyz6rgQ==" - }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -2522,11 +2533,6 @@ "node": ">=8.10.0" } }, - "node_modules/reflect-metadata": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" - }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", diff --git a/services/apps/search_sync_api/package.json b/services/apps/search_sync_api/package.json index 1f8dba2cfa..7d68b63ef3 100644 --- a/services/apps/search_sync_api/package.json +++ b/services/apps/search_sync_api/package.json @@ -17,10 +17,9 @@ "@crowd/common": "file:../../libs/common", "@crowd/opensearch": "file:../../libs/opensearch", "@crowd/database": "file:../../libs/database", + "@crowd/redis": "file:../../libs/redis", "@crowd/logging": "file:../../libs/logging", - "@crowd/sqs": "file:../../libs/sqs", "@crowd/types": "file:../../libs/types", - "@crowd/ioc": "file:../../libs/ioc", "@types/config": "^3.3.0", "@types/express": "^4.17.17", "@types/node": "^18.16.3", @@ -28,8 +27,6 @@ "config": "^3.3.9", "cors": "^2.8.5", "express": "^4.18.2", - "inversify": "^6.0.1", - "reflect-metadata": "^0.1.13", "ts-node": "^10.9.1", "tsconfig-paths": "^4.2.0", "typescript": "^5.0.4" diff --git a/services/apps/search_sync_api/src/main.ts b/services/apps/search_sync_api/src/main.ts index 2dafff9b39..ccbb81d638 100644 --- a/services/apps/search_sync_api/src/main.ts +++ b/services/apps/search_sync_api/src/main.ts @@ -1,34 +1,34 @@ -import { DATABASE_IOC } from '@crowd/database' -import { LOGGING_IOC, Logger } from '@crowd/logging' +import { getServiceLogger } from '@crowd/logging' import cors from 'cors' import express from 'express' -import { DbConnection } from './../../../libs/database/src/types' -import { SEARCH_SYNC_API_CONFIG } from './conf' +import { DB_CONFIG, SEARCH_SYNC_API_CONFIG } from './conf' import { databaseMiddleware } from './middleware/database' import { errorMiddleware } from './middleware/error' import { loggingMiddleware } from './middleware/logging' -import { InitService } from '@crowd/opensearch' -import { IOC } from '@crowd/ioc' +import { InitService, OpenSearchService } from '@crowd/opensearch' import memberRoutes from './routes/member' import activityRoutes from './routes/activity' import organizationRoutes from './routes/organization' +import { getDbConnection } from '@crowd/database' +import { opensearchMiddleware } from 'middleware/opensearch' +const log = getServiceLogger() const config = SEARCH_SYNC_API_CONFIG() setImmediate(async () => { - const ioc = IOC() - - const log = ioc.get(LOGGING_IOC.logger) const app = express() + const openSearchService = new OpenSearchService(log) + const dbConnection = await getDbConnection(DB_CONFIG(), 3) app.use(cors({ origin: true })) app.use(express.json({ limit: '5mb' })) app.use(express.urlencoded({ extended: true, limit: '5mb' })) app.use(loggingMiddleware(log)) - app.use(databaseMiddleware(ioc.get(DATABASE_IOC.connection))) + app.use(databaseMiddleware(dbConnection)) + app.use(opensearchMiddleware(log)) // init opensearch service - const initService = ioc.get(InitService) + const initService = new InitService(openSearchService, log) await initService.initialize() // add routes diff --git a/services/apps/search_sync_api/src/middleware/index.ts b/services/apps/search_sync_api/src/middleware/index.ts index 2282d5cf47..b650201040 100644 --- a/services/apps/search_sync_api/src/middleware/index.ts +++ b/services/apps/search_sync_api/src/middleware/index.ts @@ -1,5 +1,12 @@ import { Request } from 'express' import { ILoggingRequest } from './logging' import { IDatabaseRequest } from './database' +import { IOpensearchRequest } from './opensearch' +import { IRedisRequest } from './redis' -export interface ApiRequest extends Request, ILoggingRequest, IDatabaseRequest {} +export interface ApiRequest + extends Request, + ILoggingRequest, + IOpensearchRequest, + IRedisRequest, + IDatabaseRequest {} diff --git a/services/apps/search_sync_api/src/middleware/opensearch.ts b/services/apps/search_sync_api/src/middleware/opensearch.ts new file mode 100644 index 0000000000..12c257a91e --- /dev/null +++ b/services/apps/search_sync_api/src/middleware/opensearch.ts @@ -0,0 +1,16 @@ +import { OpenSearchService } from '@crowd/opensearch' +import { NextFunction, Request, RequestHandler, Response } from 'express' +import { Logger } from '@crowd/logging' + +export interface IOpensearchRequest { + opensearch: OpenSearchService +} + +export const opensearchMiddleware = (parentLog: Logger): RequestHandler => { + return (req: Request, _res: Response, next: NextFunction) => { + const opensearchService = new OpenSearchService(parentLog) + // eslint-disable-next-line @typescript-eslint/no-explicit-any + ;(req as any).opensearchService = opensearchService + next() + } +} diff --git a/services/apps/search_sync_api/src/middleware/redis.ts b/services/apps/search_sync_api/src/middleware/redis.ts new file mode 100644 index 0000000000..88204d7b7b --- /dev/null +++ b/services/apps/search_sync_api/src/middleware/redis.ts @@ -0,0 +1,14 @@ +import { RedisClient } from '@crowd/redis' +import { NextFunction, Request, RequestHandler, Response } from 'express' + +export interface IRedisRequest { + redisClient: RedisClient +} + +export const redisMiddleware = (client: RedisClient): RequestHandler => { + return (req: Request, _res: Response, next: NextFunction) => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + ;(req as any).redisClient = client + next() + } +} diff --git a/services/apps/search_sync_api/src/routes/activity.ts b/services/apps/search_sync_api/src/routes/activity.ts index b8554557e7..26d40e20cf 100644 --- a/services/apps/search_sync_api/src/routes/activity.ts +++ b/services/apps/search_sync_api/src/routes/activity.ts @@ -1,9 +1,10 @@ import express from 'express' import { ActivitySyncService } from '@crowd/opensearch' +import { ApiRequest } from '../middleware/index' const router = express.Router() -router.post('/sync/activities', async (req, res) => { +router.post('/sync/activities', async (req: ApiRequest, res) => { const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) const { activityIds } = req.body try { @@ -14,7 +15,7 @@ router.post('/sync/activities', async (req, res) => { } }) -router.post('/sync/tenant/activities', async (req, res) => { +router.post('/sync/tenant/activities', async (req: ApiRequest, res) => { const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) const { tenantId } = req.body @@ -26,7 +27,7 @@ router.post('/sync/tenant/activities', async (req, res) => { } }) -router.post('/sync/organization/activities', async (req, res) => { +router.post('/sync/organization/activities', async (req: ApiRequest, res) => { const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) const { organizationId } = req.body @@ -38,7 +39,7 @@ router.post('/sync/organization/activities', async (req, res) => { } }) -router.delete('/cleanup/tenant/activities', async (req, res) => { +router.delete('/cleanup/tenant/activities', async (req: ApiRequest, res) => { const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) const { tenantId } = req.body @@ -50,7 +51,7 @@ router.delete('/cleanup/tenant/activities', async (req, res) => { } }) -router.delete('/cleanup/activities', async (req, res) => { +router.delete('/cleanup/activities', async (req: ApiRequest, res) => { const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) const { activityId } = req.body diff --git a/services/apps/search_sync_api/src/routes/member.ts b/services/apps/search_sync_api/src/routes/member.ts index 49a184dc7b..b372b218bc 100644 --- a/services/apps/search_sync_api/src/routes/member.ts +++ b/services/apps/search_sync_api/src/routes/member.ts @@ -1,9 +1,10 @@ import express from 'express' import { MemberSyncService } from '@crowd/opensearch' +import { ApiRequest } from 'middleware' const router = express.Router() -router.post('/sync/members', async (req, res) => { +router.post('/sync/members', async (req: ApiRequest, res) => { const memberSyncService = new MemberSyncService( req.redisClient, req.dbStore, @@ -19,7 +20,7 @@ router.post('/sync/members', async (req, res) => { } }) -router.post('/sync/tenant/members', async (req, res) => { +router.post('/sync/tenant/members', async (req: ApiRequest, res) => { const memberSyncService = new MemberSyncService( req.redisClient, req.dbStore, @@ -36,7 +37,7 @@ router.post('/sync/tenant/members', async (req, res) => { } }) -router.post('/sync/organization/members', async (req, res) => { +router.post('/sync/organization/members', async (req: ApiRequest, res) => { const memberSyncService = new MemberSyncService( req.redisClient, req.dbStore, @@ -53,7 +54,7 @@ router.post('/sync/organization/members', async (req, res) => { } }) -router.delete('/cleanup/tenant/members', async (req, res) => { +router.delete('/cleanup/tenant/members', async (req: ApiRequest, res) => { const memberSyncService = new MemberSyncService( req.redisClient, req.dbStore, @@ -70,7 +71,7 @@ router.delete('/cleanup/tenant/members', async (req, res) => { } }) -router.delete('/cleanup/members', async (req, res) => { +router.delete('/cleanup/members', async (req: ApiRequest, res) => { const memberSyncService = new MemberSyncService( req.redisClient, req.dbStore, diff --git a/services/apps/search_sync_api/src/routes/organization.ts b/services/apps/search_sync_api/src/routes/organization.ts index 5ea0bb498a..ce70704cc7 100644 --- a/services/apps/search_sync_api/src/routes/organization.ts +++ b/services/apps/search_sync_api/src/routes/organization.ts @@ -1,9 +1,10 @@ import express from 'express' import { OrganizationSyncService } from '@crowd/opensearch' +import { ApiRequest } from 'middleware' const router = express.Router() -router.post('/sync/organizations', async (req, res) => { +router.post('/sync/organizations', async (req: ApiRequest, res) => { const organizationSyncService = new OrganizationSyncService(req.dbStore, req.opensearch, req.log) const { organizationIds } = req.body try { @@ -14,7 +15,7 @@ router.post('/sync/organizations', async (req, res) => { } }) -router.post('/sync/tenant/organizations', async (req, res) => { +router.post('/sync/tenant/organizations', async (req: ApiRequest, res) => { const organizationSyncService = new OrganizationSyncService(req.dbStore, req.opensearch, req.log) const { tenantId } = req.body @@ -26,7 +27,7 @@ router.post('/sync/tenant/organizations', async (req, res) => { } }) -router.delete('/cleanup/tenant/organizations', async (req, res) => { +router.delete('/cleanup/tenant/organizations', async (req: ApiRequest, res) => { const organizationSyncService = new OrganizationSyncService(req.dbStore, req.opensearch, req.log) const { tenantId } = req.body @@ -38,7 +39,7 @@ router.delete('/cleanup/tenant/organizations', async (req, res) => { } }) -router.delete('/cleanup/organizations', async (req, res) => { +router.delete('/cleanup/organizations', async (req: ApiRequest, res) => { const organizationSyncService = new OrganizationSyncService(req.dbStore, req.opensearch, req.log) const { organizationId } = req.body diff --git a/services/libs/opensearch/src/service/opensearch.service.ts b/services/libs/opensearch/src/service/opensearch.service.ts index 757ddbe4f2..186616dd06 100644 --- a/services/libs/opensearch/src/service/opensearch.service.ts +++ b/services/libs/opensearch/src/service/opensearch.service.ts @@ -5,22 +5,45 @@ import { OpenSearchIndex, } from '../types' import { IS_DEV_ENV } from '@crowd/common' -import { Logger, getChildLogger } from '@crowd/logging' +import { Logger, LoggerBase } from '@crowd/logging' import { Client } from '@opensearch-project/opensearch' import { IIndexRequest, ISearchHit } from './opensearch.data' +import { OPENSEARCH_CONFIG } from 'conf' +import { AwsSigv4Signer } from '@opensearch-project/opensearch/aws' -export class OpenSearchService { - private log: Logger +export class OpenSearchService extends LoggerBase { + public readonly client: Client private readonly indexVersionMap: Map = new Map() - constructor(private readonly client: Client, parentLog: Logger) { - this.log = getChildLogger('opensearch-service', parentLog) + constructor(parentLog: Logger) { + super(parentLog) const indexNames = Object.values(OpenSearchIndex) indexNames.forEach((name) => { const version = IndexVersions.get(name) this.indexVersionMap.set(name, `${name}_v${version}`) }) + + const config = OPENSEARCH_CONFIG() + if (config.region) { + this.client = new Client({ + node: config.node, + ...AwsSigv4Signer({ + region: config.region, + service: 'es', + getCredentials: async () => { + return { + accessKeyId: config.accessKeyId, + secretAccessKey: config.secretAccessKey, + } + }, + }), + }) + } else { + this.client = new Client({ + node: config.node, + }) + } } private async doesIndexExist(indexName: string): Promise { From b36ef5c21eabf05c008581fd5aacd1855d831cd4 Mon Sep 17 00:00:00 2001 From: Yeganathan S Date: Sun, 15 Oct 2023 23:37:38 +0530 Subject: [PATCH 06/38] Fix failing tests --- services/apps/search_sync_api/tsconfig.json | 1 - services/libs/opensearch/src/service/opensearch.service.ts | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/services/apps/search_sync_api/tsconfig.json b/services/apps/search_sync_api/tsconfig.json index c7e9d5c376..b34cb4015e 100644 --- a/services/apps/search_sync_api/tsconfig.json +++ b/services/apps/search_sync_api/tsconfig.json @@ -3,7 +3,6 @@ "target": "es2017", "module": "Node16", "lib": ["es6", "es7", "es2017", "es2017.object", "es2015.promise"], - "types": ["reflect-metadata"], "skipLibCheck": true, "sourceMap": true, "moduleResolution": "node16", diff --git a/services/libs/opensearch/src/service/opensearch.service.ts b/services/libs/opensearch/src/service/opensearch.service.ts index 186616dd06..07e9e19ae7 100644 --- a/services/libs/opensearch/src/service/opensearch.service.ts +++ b/services/libs/opensearch/src/service/opensearch.service.ts @@ -8,7 +8,7 @@ import { IS_DEV_ENV } from '@crowd/common' import { Logger, LoggerBase } from '@crowd/logging' import { Client } from '@opensearch-project/opensearch' import { IIndexRequest, ISearchHit } from './opensearch.data' -import { OPENSEARCH_CONFIG } from 'conf' +import { OPENSEARCH_CONFIG } from '../conf' import { AwsSigv4Signer } from '@opensearch-project/opensearch/aws' export class OpenSearchService extends LoggerBase { From f78ceff93350e999a04c9728a19c1b764e5e0956 Mon Sep 17 00:00:00 2001 From: Yeganathan S Date: Tue, 17 Oct 2023 21:54:49 +0530 Subject: [PATCH 07/38] Add config to lib and refactor later --- scripts/services/search-sync-api.yaml | 2 +- .../config/custom-environment-variables.json | 31 +++++++++++++++++++ services/libs/opensearch/config/default.json | 7 +++++ services/libs/opensearch/config/docker.json | 1 + .../libs/opensearch/config/production.json | 1 + services/libs/opensearch/config/staging.json | 1 + 6 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 services/libs/opensearch/config/custom-environment-variables.json create mode 100644 services/libs/opensearch/config/default.json create mode 100644 services/libs/opensearch/config/docker.json create mode 100644 services/libs/opensearch/config/production.json create mode 100644 services/libs/opensearch/config/staging.json diff --git a/scripts/services/search-sync-api.yaml b/scripts/services/search-sync-api.yaml index 2fec4e8af2..c74ce0467e 100644 --- a/scripts/services/search-sync-api.yaml +++ b/scripts/services/search-sync-api.yaml @@ -58,7 +58,7 @@ services: - ../../services/libs/sentiment/src:/usr/crowd/app/services/libs/sentiment/src - ../../services/libs/sqs/src:/usr/crowd/app/services/libs/sqs/src - ../../services/libs/types/src:/usr/crowd/app/services/libs/types/src - - ../../services/apps/webhook_api/src:/usr/crowd/app/services/apps/search_sync_api/src + - ../../services/apps/search_sync_api/src:/usr/crowd/app/services/apps/search_sync_api/src networks: crowd-bridge: diff --git a/services/libs/opensearch/config/custom-environment-variables.json b/services/libs/opensearch/config/custom-environment-variables.json new file mode 100644 index 0000000000..5d53ec56f9 --- /dev/null +++ b/services/libs/opensearch/config/custom-environment-variables.json @@ -0,0 +1,31 @@ +{ + "service": { + "edition": "CROWD_EDITION" + }, + "db": { + "host": "CROWD_DB_WRITE_HOST", + "port": "CROWD_DB_PORT", + "database": "CROWD_DB_DATABASE", + "user": "CROWD_DB_USERNAME", + "password": "CROWD_DB_PASSWORD" + }, + "sqs": { + "region": "CROWD_SQS_AWS_REGION", + "host": "CROWD_SQS_HOST", + "port": "CROWD_SQS_PORT", + "accessKeyId": "CROWD_SQS_AWS_ACCESS_KEY_ID", + "secretAccessKey": "CROWD_SQS_AWS_SECRET_ACCESS_KEY" + }, + "redis": { + "username": "CROWD_REDIS_USERNAME", + "password": "CROWD_REDIS_PASSWORD", + "host": "CROWD_REDIS_HOST", + "port": "CROWD_REDIS_PORT" + }, + "opensearch": { + "node": "CROWD_OPENSEARCH_NODE", + "region": "CROWD_OPENSEARCH_AWS_REGION", + "accessKeyId": "CROWD_OPENSEARCH_AWS_ACCESS_KEY_ID", + "secretAccessKey": "CROWD_OPENSEARCH_AWS_SECRET_ACCESS_KEY" + } +} diff --git a/services/libs/opensearch/config/default.json b/services/libs/opensearch/config/default.json new file mode 100644 index 0000000000..0ae2ffe715 --- /dev/null +++ b/services/libs/opensearch/config/default.json @@ -0,0 +1,7 @@ +{ + "service": {}, + "db": {}, + "sqs": {}, + "redis": {}, + "opensearch": {} +} diff --git a/services/libs/opensearch/config/docker.json b/services/libs/opensearch/config/docker.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/services/libs/opensearch/config/docker.json @@ -0,0 +1 @@ +{} diff --git a/services/libs/opensearch/config/production.json b/services/libs/opensearch/config/production.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/services/libs/opensearch/config/production.json @@ -0,0 +1 @@ +{} diff --git a/services/libs/opensearch/config/staging.json b/services/libs/opensearch/config/staging.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/services/libs/opensearch/config/staging.json @@ -0,0 +1 @@ +{} From 4ac0c27e03d59c6b0e71360802d7640b81b1c179 Mon Sep 17 00:00:00 2001 From: Yeganathan S Date: Wed, 18 Oct 2023 00:51:18 +0530 Subject: [PATCH 08/38] Wrap endpoints with asyncWrap --- services/apps/search_sync_api/src/main.ts | 6 +- .../search_sync_api/src/routes/activity.ts | 116 ++++++------ .../apps/search_sync_api/src/routes/member.ts | 167 ++++++++++-------- .../src/routes/organization.ts | 121 ++++++++----- 4 files changed, 237 insertions(+), 173 deletions(-) diff --git a/services/apps/search_sync_api/src/main.ts b/services/apps/search_sync_api/src/main.ts index ccbb81d638..da183e5543 100644 --- a/services/apps/search_sync_api/src/main.ts +++ b/services/apps/search_sync_api/src/main.ts @@ -38,7 +38,9 @@ setImmediate(async () => { app.use(errorMiddleware()) - app.listen(config.port, () => { - log.info(`Search Sync API listening on port ${config.port}!`) + const PORT = config.port || 8083 + + app.listen(PORT, () => { + log.info(`Search Sync API listening on port ${PORT}!`) }) }) diff --git a/services/apps/search_sync_api/src/routes/activity.ts b/services/apps/search_sync_api/src/routes/activity.ts index 26d40e20cf..56f90f09ae 100644 --- a/services/apps/search_sync_api/src/routes/activity.ts +++ b/services/apps/search_sync_api/src/routes/activity.ts @@ -1,66 +1,82 @@ import express from 'express' import { ActivitySyncService } from '@crowd/opensearch' import { ApiRequest } from '../middleware/index' +import { asyncWrap } from 'middleware/error' const router = express.Router() -router.post('/sync/activities', async (req: ApiRequest, res) => { - const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) - const { activityIds } = req.body - try { - await activitySyncService.syncActivities(activityIds) - res.sendStatus(200) - } catch (error) { - res.status(500).send(error.message) - } -}) +router.post( + '/sync/activities', + asyncWrap(async (req: ApiRequest, res) => { + const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) + const { activityIds } = req.body + try { + await activitySyncService.syncActivities(activityIds) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } + }), +) -router.post('/sync/tenant/activities', async (req: ApiRequest, res) => { - const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) +router.post( + '/sync/tenant/activities', + asyncWrap(async (req: ApiRequest, res) => { + const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) - const { tenantId } = req.body - try { - await activitySyncService.syncTenantActivities(tenantId) - res.sendStatus(200) - } catch (error) { - res.status(500).send(error.message) - } -}) + const { tenantId } = req.body + try { + await activitySyncService.syncTenantActivities(tenantId) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } + }), +) -router.post('/sync/organization/activities', async (req: ApiRequest, res) => { - const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) +router.post( + '/sync/organization/activities', + asyncWrap(async (req: ApiRequest, res) => { + const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) - const { organizationId } = req.body - try { - await activitySyncService.syncOrganizationActivities(organizationId) - res.sendStatus(200) - } catch (error) { - res.status(500).send(error.message) - } -}) + const { organizationId } = req.body + try { + await activitySyncService.syncOrganizationActivities(organizationId) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } + }), +) -router.delete('/cleanup/tenant/activities', async (req: ApiRequest, res) => { - const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) +router.delete( + '/cleanup/tenant/activities', + asyncWrap(async (req: ApiRequest, res) => { + const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) - const { tenantId } = req.body - try { - await activitySyncService.cleanupActivityIndex(tenantId) - res.sendStatus(200) - } catch (error) { - res.status(500).send(error.message) - } -}) + const { tenantId } = req.body + try { + await activitySyncService.cleanupActivityIndex(tenantId) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } + }), +) -router.delete('/cleanup/activities', async (req: ApiRequest, res) => { - const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) +router.delete( + '/cleanup/activities', + asyncWrap(async (req: ApiRequest, res) => { + const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) - const { activityId } = req.body - try { - await activitySyncService.cleanupActivityIndex(activityId) - res.sendStatus(200) - } catch (error) { - res.status(500).send(error.message) - } -}) + const { activityId } = req.body + try { + await activitySyncService.cleanupActivityIndex(activityId) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } + }), +) export default router diff --git a/services/apps/search_sync_api/src/routes/member.ts b/services/apps/search_sync_api/src/routes/member.ts index b372b218bc..83071ed9e5 100644 --- a/services/apps/search_sync_api/src/routes/member.ts +++ b/services/apps/search_sync_api/src/routes/member.ts @@ -1,91 +1,108 @@ import express from 'express' import { MemberSyncService } from '@crowd/opensearch' import { ApiRequest } from 'middleware' +import { asyncWrap } from 'middleware/error' const router = express.Router() -router.post('/sync/members', async (req: ApiRequest, res) => { - const memberSyncService = new MemberSyncService( - req.redisClient, - req.dbStore, - req.opensearch, - req.log, - ) - const { memberIds } = req.body - try { - await memberSyncService.syncMembers(memberIds) - res.sendStatus(200) - } catch (error) { - res.status(500).send(error.message) - } -}) +router.post( + '/sync/members', + asyncWrap(async (req: ApiRequest, res) => { + const memberSyncService = new MemberSyncService( + req.redisClient, + req.dbStore, + req.opensearch, + req.log, + ) + const { memberIds } = req.body -router.post('/sync/tenant/members', async (req: ApiRequest, res) => { - const memberSyncService = new MemberSyncService( - req.redisClient, - req.dbStore, - req.opensearch, - req.log, - ) + try { + await memberSyncService.syncMembers(memberIds) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } + }), +) - const { tenantId } = req.body - try { - await memberSyncService.syncTenantMembers(tenantId) - res.sendStatus(200) - } catch (error) { - res.status(500).send(error.message) - } -}) +router.post( + '/sync/tenant/members', + asyncWrap(async (req: ApiRequest, res) => { + const memberSyncService = new MemberSyncService( + req.redisClient, + req.dbStore, + req.opensearch, + req.log, + ) -router.post('/sync/organization/members', async (req: ApiRequest, res) => { - const memberSyncService = new MemberSyncService( - req.redisClient, - req.dbStore, - req.opensearch, - req.log, - ) + const { tenantId } = req.body + try { + await memberSyncService.syncTenantMembers(tenantId) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } + }), +) - const { organizationId } = req.body - try { - await memberSyncService.syncOrganizationMembers(organizationId) - res.sendStatus(200) - } catch (error) { - res.status(500).send(error.message) - } -}) +router.post( + '/sync/organization/members', + asyncWrap(async (req: ApiRequest, res) => { + const memberSyncService = new MemberSyncService( + req.redisClient, + req.dbStore, + req.opensearch, + req.log, + ) -router.delete('/cleanup/tenant/members', async (req: ApiRequest, res) => { - const memberSyncService = new MemberSyncService( - req.redisClient, - req.dbStore, - req.opensearch, - req.log, - ) + const { organizationId } = req.body + try { + await memberSyncService.syncOrganizationMembers(organizationId) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } + }), +) - const { tenantId } = req.body - try { - await memberSyncService.cleanupMemberIndex(tenantId) - res.sendStatus(200) - } catch (error) { - res.status(500).send(error.message) - } -}) +router.delete( + '/cleanup/tenant/members', + asyncWrap(async (req: ApiRequest, res) => { + const memberSyncService = new MemberSyncService( + req.redisClient, + req.dbStore, + req.opensearch, + req.log, + ) -router.delete('/cleanup/members', async (req: ApiRequest, res) => { - const memberSyncService = new MemberSyncService( - req.redisClient, - req.dbStore, - req.opensearch, - req.log, - ) + const { tenantId } = req.body + try { + await memberSyncService.cleanupMemberIndex(tenantId) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } + }), +) - const { memberId } = req.body - try { - await memberSyncService.removeMember(memberId) - res.sendStatus(200) - } catch (error) { - res.status(500).send(error.message) - } -}) +router.delete( + '/cleanup/members', + asyncWrap(async (req: ApiRequest, res) => { + const memberSyncService = new MemberSyncService( + req.redisClient, + req.dbStore, + req.opensearch, + req.log, + ) + + const { memberId } = req.body + try { + await memberSyncService.removeMember(memberId) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } + }), +) export default router diff --git a/services/apps/search_sync_api/src/routes/organization.ts b/services/apps/search_sync_api/src/routes/organization.ts index ce70704cc7..cf6e254f2a 100644 --- a/services/apps/search_sync_api/src/routes/organization.ts +++ b/services/apps/search_sync_api/src/routes/organization.ts @@ -1,54 +1,83 @@ import express from 'express' import { OrganizationSyncService } from '@crowd/opensearch' import { ApiRequest } from 'middleware' +import { asyncWrap } from 'middleware/error' const router = express.Router() -router.post('/sync/organizations', async (req: ApiRequest, res) => { - const organizationSyncService = new OrganizationSyncService(req.dbStore, req.opensearch, req.log) - const { organizationIds } = req.body - try { - await organizationSyncService.syncOrganizations(organizationIds) - res.sendStatus(200) - } catch (error) { - res.status(500).send(error.message) - } -}) - -router.post('/sync/tenant/organizations', async (req: ApiRequest, res) => { - const organizationSyncService = new OrganizationSyncService(req.dbStore, req.opensearch, req.log) - - const { tenantId } = req.body - try { - await organizationSyncService.syncTenantOrganizations(tenantId) - res.sendStatus(200) - } catch (error) { - res.status(500).send(error.message) - } -}) - -router.delete('/cleanup/tenant/organizations', async (req: ApiRequest, res) => { - const organizationSyncService = new OrganizationSyncService(req.dbStore, req.opensearch, req.log) - - const { tenantId } = req.body - try { - await organizationSyncService.cleanupOrganizationIndex(tenantId) - res.sendStatus(200) - } catch (error) { - res.status(500).send(error.message) - } -}) - -router.delete('/cleanup/organizations', async (req: ApiRequest, res) => { - const organizationSyncService = new OrganizationSyncService(req.dbStore, req.opensearch, req.log) - - const { organizationId } = req.body - try { - await organizationSyncService.cleanupOrganizationIndex(organizationId) - res.sendStatus(200) - } catch (error) { - res.status(500).send(error.message) - } -}) +router.post( + '/sync/organizations', + asyncWrap(async (req: ApiRequest, res) => { + const organizationSyncService = new OrganizationSyncService( + req.dbStore, + req.opensearch, + req.log, + ) + const { organizationIds } = req.body + try { + await organizationSyncService.syncOrganizations(organizationIds) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } + }), +) + +router.post( + '/sync/tenant/organizations', + asyncWrap(async (req: ApiRequest, res) => { + const organizationSyncService = new OrganizationSyncService( + req.dbStore, + req.opensearch, + req.log, + ) + + const { tenantId } = req.body + try { + await organizationSyncService.syncTenantOrganizations(tenantId) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } + }), +) + +router.delete( + '/cleanup/tenant/organizations', + asyncWrap(async (req: ApiRequest, res) => { + const organizationSyncService = new OrganizationSyncService( + req.dbStore, + req.opensearch, + req.log, + ) + + const { tenantId } = req.body + try { + await organizationSyncService.cleanupOrganizationIndex(tenantId) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } + }), +) + +router.delete( + '/cleanup/organizations', + asyncWrap(async (req: ApiRequest, res) => { + const organizationSyncService = new OrganizationSyncService( + req.dbStore, + req.opensearch, + req.log, + ) + + const { organizationId } = req.body + try { + await organizationSyncService.cleanupOrganizationIndex(organizationId) + res.sendStatus(200) + } catch (error) { + res.status(500).send(error.message) + } + }), +) export default router From 1e67044a1ba0dafb231245981a2675cb9a367800 Mon Sep 17 00:00:00 2001 From: Yeganathan S Date: Tue, 24 Oct 2023 20:14:08 +0530 Subject: [PATCH 09/38] Fix middleware and pass arguments properly --- .../apps/search_sync_api/package-lock.json | 40 +++++++++++++++++-- services/apps/search_sync_api/package.json | 3 +- services/apps/search_sync_api/src/main.ts | 11 +++-- .../search_sync_api/src/middleware/index.ts | 4 +- .../src/middleware/opensearch.ts | 9 ++--- .../search_sync_api/src/routes/activity.ts | 17 +++++--- .../apps/search_sync_api/src/routes/member.ts | 17 +++++--- .../src/routes/organization.ts | 14 ++++--- 8 files changed, 84 insertions(+), 31 deletions(-) diff --git a/services/apps/search_sync_api/package-lock.json b/services/apps/search_sync_api/package-lock.json index a1d7b259fe..59f931abb1 100644 --- a/services/apps/search_sync_api/package-lock.json +++ b/services/apps/search_sync_api/package-lock.json @@ -14,6 +14,7 @@ "@crowd/opensearch": "file:../../libs/opensearch", "@crowd/redis": "file:../../libs/redis", "@crowd/types": "file:../../libs/types", + "@opensearch-project/opensearch": "^1.2.0", "@types/config": "^3.3.0", "@types/express": "^4.17.17", "@types/node": "^18.16.3", @@ -385,6 +386,26 @@ "node": ">= 8" } }, + "node_modules/@opensearch-project/opensearch": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@opensearch-project/opensearch/-/opensearch-1.2.0.tgz", + "integrity": "sha512-bX0aUz5e7rlY1lKz1rFrqnNbl/l1CHvvysYB2Jn+C3WNs7nL6FnQjuxLhGwyRdW9W1bFokDoOVgPMIOi/Nn9/g==", + "dependencies": { + "aws4": "^1.11.0", + "debug": "^4.3.1", + "hpagent": "^0.1.1", + "ms": "^2.1.3", + "secure-json-parse": "^2.4.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@opensearch-project/opensearch/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, "node_modules/@tsconfig/node10": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", @@ -825,6 +846,11 @@ "node": ">=8" } }, + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -1094,7 +1120,6 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -1789,6 +1814,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/hpagent": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-0.1.2.tgz", + "integrity": "sha512-ePqFXHtSQWAFXYmj+JtOTHr84iNrII4/QRlAAPPE+zqnKy4xJo7Ie1Y4kC7AdB+LxLxSTTzBMASsEcy0q8YyvQ==" + }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -2132,8 +2162,7 @@ "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/natural-compare": { "version": "1.4.0", @@ -2614,6 +2643,11 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "node_modules/secure-json-parse": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", + "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==" + }, "node_modules/semver": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", diff --git a/services/apps/search_sync_api/package.json b/services/apps/search_sync_api/package.json index 7d68b63ef3..55f0ed400c 100644 --- a/services/apps/search_sync_api/package.json +++ b/services/apps/search_sync_api/package.json @@ -29,7 +29,8 @@ "express": "^4.18.2", "ts-node": "^10.9.1", "tsconfig-paths": "^4.2.0", - "typescript": "^5.0.4" + "typescript": "^5.0.4", + "@opensearch-project/opensearch": "^1.2.0" }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^5.59.2", diff --git a/services/apps/search_sync_api/src/main.ts b/services/apps/search_sync_api/src/main.ts index da183e5543..8fdb846067 100644 --- a/services/apps/search_sync_api/src/main.ts +++ b/services/apps/search_sync_api/src/main.ts @@ -1,22 +1,26 @@ import { getServiceLogger } from '@crowd/logging' import cors from 'cors' import express from 'express' -import { DB_CONFIG, SEARCH_SYNC_API_CONFIG } from './conf' +import { DB_CONFIG, SEARCH_SYNC_API_CONFIG, REDIS_CONFIG, OPENSEARCH_CONFIG } from './conf' import { databaseMiddleware } from './middleware/database' import { errorMiddleware } from './middleware/error' import { loggingMiddleware } from './middleware/logging' -import { InitService, OpenSearchService } from '@crowd/opensearch' +import { InitService, OpenSearchService, getOpensearchClient } from '@crowd/opensearch' import memberRoutes from './routes/member' import activityRoutes from './routes/activity' import organizationRoutes from './routes/organization' import { getDbConnection } from '@crowd/database' import { opensearchMiddleware } from 'middleware/opensearch' +import { getRedisClient } from '@crowd/redis' +import { redisMiddleware } from 'middleware/redis' const log = getServiceLogger() const config = SEARCH_SYNC_API_CONFIG() setImmediate(async () => { const app = express() + const redis = await getRedisClient(REDIS_CONFIG(), true) + const opensearch = getOpensearchClient(OPENSEARCH_CONFIG()) const openSearchService = new OpenSearchService(log) const dbConnection = await getDbConnection(DB_CONFIG(), 3) @@ -24,8 +28,9 @@ setImmediate(async () => { app.use(express.json({ limit: '5mb' })) app.use(express.urlencoded({ extended: true, limit: '5mb' })) app.use(loggingMiddleware(log)) + app.use(redisMiddleware(redis)) app.use(databaseMiddleware(dbConnection)) - app.use(opensearchMiddleware(log)) + app.use(opensearchMiddleware(opensearch)) // init opensearch service const initService = new InitService(openSearchService, log) diff --git a/services/apps/search_sync_api/src/middleware/index.ts b/services/apps/search_sync_api/src/middleware/index.ts index b650201040..669f1bc6ca 100644 --- a/services/apps/search_sync_api/src/middleware/index.ts +++ b/services/apps/search_sync_api/src/middleware/index.ts @@ -1,12 +1,12 @@ import { Request } from 'express' import { ILoggingRequest } from './logging' import { IDatabaseRequest } from './database' -import { IOpensearchRequest } from './opensearch' +import { IOpenSearchRequest } from './opensearch' import { IRedisRequest } from './redis' export interface ApiRequest extends Request, ILoggingRequest, - IOpensearchRequest, + IOpenSearchRequest, IRedisRequest, IDatabaseRequest {} diff --git a/services/apps/search_sync_api/src/middleware/opensearch.ts b/services/apps/search_sync_api/src/middleware/opensearch.ts index 12c257a91e..cb37f81f38 100644 --- a/services/apps/search_sync_api/src/middleware/opensearch.ts +++ b/services/apps/search_sync_api/src/middleware/opensearch.ts @@ -1,16 +1,15 @@ +import { Client as OpenSearchClient } from '@opensearch-project/opensearch' import { OpenSearchService } from '@crowd/opensearch' import { NextFunction, Request, RequestHandler, Response } from 'express' -import { Logger } from '@crowd/logging' -export interface IOpensearchRequest { +export interface IOpenSearchRequest { opensearch: OpenSearchService } -export const opensearchMiddleware = (parentLog: Logger): RequestHandler => { +export const opensearchMiddleware = (client: OpenSearchClient): RequestHandler => { return (req: Request, _res: Response, next: NextFunction) => { - const opensearchService = new OpenSearchService(parentLog) // eslint-disable-next-line @typescript-eslint/no-explicit-any - ;(req as any).opensearchService = opensearchService + ;(req as any).opensearch = client next() } } diff --git a/services/apps/search_sync_api/src/routes/activity.ts b/services/apps/search_sync_api/src/routes/activity.ts index 56f90f09ae..336216494c 100644 --- a/services/apps/search_sync_api/src/routes/activity.ts +++ b/services/apps/search_sync_api/src/routes/activity.ts @@ -1,5 +1,5 @@ import express from 'express' -import { ActivitySyncService } from '@crowd/opensearch' +import { ActivitySyncService, OpenSearchService } from '@crowd/opensearch' import { ApiRequest } from '../middleware/index' import { asyncWrap } from 'middleware/error' @@ -8,7 +8,8 @@ const router = express.Router() router.post( '/sync/activities', asyncWrap(async (req: ApiRequest, res) => { - const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) + const openSearchService = new OpenSearchService(req.log) + const activitySyncService = new ActivitySyncService(req.dbStore, openSearchService, req.log) const { activityIds } = req.body try { await activitySyncService.syncActivities(activityIds) @@ -22,7 +23,8 @@ router.post( router.post( '/sync/tenant/activities', asyncWrap(async (req: ApiRequest, res) => { - const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) + const openSearchService = new OpenSearchService(req.log) + const activitySyncService = new ActivitySyncService(req.dbStore, openSearchService, req.log) const { tenantId } = req.body try { @@ -37,7 +39,8 @@ router.post( router.post( '/sync/organization/activities', asyncWrap(async (req: ApiRequest, res) => { - const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) + const openSearchService = new OpenSearchService(req.log) + const activitySyncService = new ActivitySyncService(req.dbStore, openSearchService, req.log) const { organizationId } = req.body try { @@ -52,7 +55,8 @@ router.post( router.delete( '/cleanup/tenant/activities', asyncWrap(async (req: ApiRequest, res) => { - const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) + const openSearchService = new OpenSearchService(req.log) + const activitySyncService = new ActivitySyncService(req.dbStore, openSearchService, req.log) const { tenantId } = req.body try { @@ -67,7 +71,8 @@ router.delete( router.delete( '/cleanup/activities', asyncWrap(async (req: ApiRequest, res) => { - const activitySyncService = new ActivitySyncService(req.dbStore, req.opensearch, req.log) + const openSearchService = new OpenSearchService(req.log) + const activitySyncService = new ActivitySyncService(req.dbStore, openSearchService, req.log) const { activityId } = req.body try { diff --git a/services/apps/search_sync_api/src/routes/member.ts b/services/apps/search_sync_api/src/routes/member.ts index 83071ed9e5..3f1d3c83b6 100644 --- a/services/apps/search_sync_api/src/routes/member.ts +++ b/services/apps/search_sync_api/src/routes/member.ts @@ -1,5 +1,5 @@ import express from 'express' -import { MemberSyncService } from '@crowd/opensearch' +import { MemberSyncService, OpenSearchService } from '@crowd/opensearch' import { ApiRequest } from 'middleware' import { asyncWrap } from 'middleware/error' @@ -8,10 +8,11 @@ const router = express.Router() router.post( '/sync/members', asyncWrap(async (req: ApiRequest, res) => { + const openSearchService = new OpenSearchService(req.log) const memberSyncService = new MemberSyncService( req.redisClient, req.dbStore, - req.opensearch, + openSearchService, req.log, ) const { memberIds } = req.body @@ -28,10 +29,11 @@ router.post( router.post( '/sync/tenant/members', asyncWrap(async (req: ApiRequest, res) => { + const openSearchService = new OpenSearchService(req.log) const memberSyncService = new MemberSyncService( req.redisClient, req.dbStore, - req.opensearch, + openSearchService, req.log, ) @@ -48,10 +50,11 @@ router.post( router.post( '/sync/organization/members', asyncWrap(async (req: ApiRequest, res) => { + const openSearchService = new OpenSearchService(req.log) const memberSyncService = new MemberSyncService( req.redisClient, req.dbStore, - req.opensearch, + openSearchService, req.log, ) @@ -68,10 +71,11 @@ router.post( router.delete( '/cleanup/tenant/members', asyncWrap(async (req: ApiRequest, res) => { + const openSearchService = new OpenSearchService(req.log) const memberSyncService = new MemberSyncService( req.redisClient, req.dbStore, - req.opensearch, + openSearchService, req.log, ) @@ -88,10 +92,11 @@ router.delete( router.delete( '/cleanup/members', asyncWrap(async (req: ApiRequest, res) => { + const openSearchService = new OpenSearchService(req.log) const memberSyncService = new MemberSyncService( req.redisClient, req.dbStore, - req.opensearch, + openSearchService, req.log, ) diff --git a/services/apps/search_sync_api/src/routes/organization.ts b/services/apps/search_sync_api/src/routes/organization.ts index cf6e254f2a..5e75d9e916 100644 --- a/services/apps/search_sync_api/src/routes/organization.ts +++ b/services/apps/search_sync_api/src/routes/organization.ts @@ -1,5 +1,5 @@ import express from 'express' -import { OrganizationSyncService } from '@crowd/opensearch' +import { OpenSearchService, OrganizationSyncService } from '@crowd/opensearch' import { ApiRequest } from 'middleware' import { asyncWrap } from 'middleware/error' @@ -8,9 +8,10 @@ const router = express.Router() router.post( '/sync/organizations', asyncWrap(async (req: ApiRequest, res) => { + const openSearchService = new OpenSearchService(req.log) const organizationSyncService = new OrganizationSyncService( req.dbStore, - req.opensearch, + openSearchService, req.log, ) const { organizationIds } = req.body @@ -26,9 +27,10 @@ router.post( router.post( '/sync/tenant/organizations', asyncWrap(async (req: ApiRequest, res) => { + const openSearchService = new OpenSearchService(req.log) const organizationSyncService = new OrganizationSyncService( req.dbStore, - req.opensearch, + openSearchService, req.log, ) @@ -45,9 +47,10 @@ router.post( router.delete( '/cleanup/tenant/organizations', asyncWrap(async (req: ApiRequest, res) => { + const openSearchService = new OpenSearchService(req.log) const organizationSyncService = new OrganizationSyncService( req.dbStore, - req.opensearch, + openSearchService, req.log, ) @@ -64,9 +67,10 @@ router.delete( router.delete( '/cleanup/organizations', asyncWrap(async (req: ApiRequest, res) => { + const openSearchService = new OpenSearchService(req.log) const organizationSyncService = new OrganizationSyncService( req.dbStore, - req.opensearch, + openSearchService, req.log, ) From 83086eb53829e4adbab9df1075110ef1bed98cfe Mon Sep 17 00:00:00 2001 From: Yeganathan S Date: Wed, 25 Oct 2023 20:36:38 +0530 Subject: [PATCH 10/38] Refactor existing sqs triggers to adapt the new api --- .../src/httpClients/searchSyncApiClient.ts | 160 ++++++++++++++++++ backend/src/services/activityService.ts | 37 ++-- backend/src/services/integrationService.ts | 6 +- backend/src/services/memberService.ts | 44 ++--- backend/src/services/organizationService.ts | 35 ++-- .../enrichment/memberEnrichmentService.ts | 10 +- .../organizationEnrichmentService.ts | 7 +- .../search_sync_api/src/routes/activity.ts | 2 +- .../apps/search_sync_api/src/routes/member.ts | 2 +- .../src/routes/organization.ts | 2 +- 10 files changed, 226 insertions(+), 79 deletions(-) create mode 100644 backend/src/httpClients/searchSyncApiClient.ts diff --git a/backend/src/httpClients/searchSyncApiClient.ts b/backend/src/httpClients/searchSyncApiClient.ts new file mode 100644 index 0000000000..6c0691d25c --- /dev/null +++ b/backend/src/httpClients/searchSyncApiClient.ts @@ -0,0 +1,160 @@ +import axios from 'axios' + +export class SearchSyncApiClient { + private searchSyncApi + + constructor() { + this.searchSyncApi = axios.create({ + baseURL: process.env.SEARCH_SYNC_API_URL, + }) + } + + public async triggerMemberSync(memberId: string): Promise { + if (!memberId) { + throw new Error('memberId is required!') + } + + await this.searchSyncApi.post('/sync/members', { + memberIds: [memberId], + }) + } + + public async triggerTenantMembersSync(tenantId: string): Promise { + if (!tenantId) { + throw new Error('tenantId is required!') + } + + await this.searchSyncApi.post('/sync/tenant/members', { + tenantId, + }) + } + + public async triggerOrganizationMembersSync(organizationId: string): Promise { + if (!organizationId) { + throw new Error('organizationId is required!') + } + + await this.searchSyncApi.post('/sync/organization/members', { + organizationId, + }) + } + + public async triggerRemoveMember(memberId: string): Promise { + if (!memberId) { + throw new Error('memberId is required!') + } + + await this.searchSyncApi.delete('/cleanup/member', { + memberId, + }) + } + + public async triggerMemberCleanup(tenantId: string): Promise { + if (!tenantId) { + throw new Error('tenantId is required!') + } + + await this.searchSyncApi.delete('/cleanup/tenant/members', { + tenantId, + }) + } + + public async triggerActivitySync(activityId: string): Promise { + if (!activityId) { + throw new Error('activityId is required!') + } + + await this.searchSyncApi.post('/sync/activities', { + activityIds: [activityId], + }) + } + + public async triggerTenantActivitiesSync(tenantId: string): Promise { + if (!tenantId) { + throw new Error('tenantId is required!') + } + + await this.searchSyncApi.post('/sync/tenant/activities', { + tenantId, + }) + } + + public async triggerOrganizationActivitiesSync(organizationId: string): Promise { + if (!organizationId) { + throw new Error('organizationId is required!') + } + + await this.searchSyncApi.post('/sync/organization/activities', { + organizationId, + }) + } + + public async triggerRemoveActivity(activityId: string): Promise { + if (!activityId) { + throw new Error('activityId is required!') + } + + await this.searchSyncApi.delete('/cleanup/activity', { + activityId, + }) + } + + public async triggerActivityCleanup(tenantId: string): Promise { + if (!tenantId) { + throw new Error('tenantId is required!') + } + + await this.searchSyncApi.delete('/cleanup/tenant/activities', { + tenantId, + }) + } + + public async triggerOrganizationSync(organizationId: string): Promise { + if (!organizationId) { + throw new Error('organizationId is required!') + } + + await this.searchSyncApi.post('/sync/organizations', { + organizationIds: [organizationId], + }) + } + + public async triggerTenantOrganizationSync(tenantId: string): Promise { + if (!tenantId) { + throw new Error('tenantId is required!') + } + + await this.searchSyncApi.post('/sync/tenant/organizations', { + tenantId, + }) + } + + public async triggerRemoveOrganization(organizationId: string): Promise { + if (!organizationId) { + throw new Error('organizationId is required!') + } + + await this.searchSyncApi.delete('/cleanup/organization', { + organizationId, + }) + } + + public async triggerOrganizationCleanup(tenantId: string): Promise { + if (!tenantId) { + throw new Error('tenantId is required!') + } + + await this.searchSyncApi.delete('/cleanup/tenant/organizations', { + tenantId, + }) + } +} + +let searchSyncApiClient: SearchSyncApiClient +export const getSearchSyncApiClient = async (): Promise => { + if (!searchSyncApiClient) { + searchSyncApiClient = new SearchSyncApiClient() + } + + return searchSyncApiClient +} diff --git a/backend/src/services/activityService.ts b/backend/src/services/activityService.ts index 210746a2a7..569738b16c 100644 --- a/backend/src/services/activityService.ts +++ b/backend/src/services/activityService.ts @@ -13,7 +13,6 @@ import { mapUsernameToIdentities } from '../database/repositories/types/memberTy import Error400 from '../errors/Error400' import telemetryTrack from '../segment/telemetryTrack' import { sendNewActivityNodeSQSMessage } from '../serverless/utils/nodeWorkerSQS' -import { getSearchSyncWorkerEmitter } from '../serverless/utils/serviceSQS' import { IServiceOptions } from './IServiceOptions' import { detectSentiment, detectSentimentBatch } from './aws' import ConversationService from './conversationService' @@ -22,6 +21,7 @@ import merge from './helpers/merge' import MemberService from './memberService' import SegmentService from './segmentService' import MemberAffiliationService from './memberAffiliationService' +import { getSearchSyncApiClient } from '@/httpClients/searchSyncApiClient' const IS_GITHUB_COMMIT_DATA_ENABLED = GITHUB_CONFIG.isCommitDataEnabled === 'true' @@ -54,7 +54,7 @@ export default class ActivityService extends LoggerBase { fireSync: boolean = true, ) { const transaction = await SequelizeRepository.createTransaction(this.options) - const searchSyncEmitter = await getSearchSyncWorkerEmitter() + const searchSyncApi = await getSearchSyncApiClient() const repositoryOptions = { ...this.options, transaction } try { @@ -180,8 +180,8 @@ export default class ActivityService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) if (fireSync) { - await searchSyncEmitter.triggerMemberSync(this.options.currentTenant.id, record.memberId) - await searchSyncEmitter.triggerActivitySync(this.options.currentTenant.id, record.id) + await searchSyncApi.triggerMemberSync(record.memberId) + await searchSyncApi.triggerActivitySync(record.id) } if (!existing && fireCrowdWebhooks) { @@ -368,7 +368,7 @@ export default class ActivityService extends LoggerBase { */ async addToConversation(id: string, parentId: string, transaction: Transaction) { - const searchSyncEmitter = await getSearchSyncWorkerEmitter() + const searchSyncApi = await getSearchSyncApiClient() const parent = await ActivityRepository.findById(parentId, { ...this.options, transaction }) const child = await ActivityRepository.findById(id, { ...this.options, transaction }) @@ -414,7 +414,7 @@ export default class ActivityService extends LoggerBase { { conversationId: conversation.id }, { ...this.options, transaction }, ) - await searchSyncEmitter.triggerActivitySync(this.options.currentTenant.id, parent.id) + await searchSyncApi.triggerActivitySync(parent.id) } else { // neither child nor parent is in a conversation, create one from parent const conversationTitle = await conversationService.generateTitle( @@ -443,7 +443,7 @@ export default class ActivityService extends LoggerBase { { conversationId: conversation.id }, { ...this.options, transaction }, ) - await searchSyncEmitter.triggerActivitySync(this.options.currentTenant.id, parentId) + await searchSyncApi.triggerActivitySync(parentId) record = await ActivityRepository.update( id, { conversationId: conversation.id }, @@ -476,7 +476,7 @@ export default class ActivityService extends LoggerBase { async createWithMember(data, fireCrowdWebhooks: boolean = true) { const logger = this.options.log - const searchSyncEmitter = await getSearchSyncWorkerEmitter() + const searchSyncApi = await getSearchSyncApiClient() const errorDetails: any = {} @@ -542,10 +542,7 @@ export default class ActivityService extends LoggerBase { ) await ActivityRepository.destroy(activityExists.id, this.options, true) - await searchSyncEmitter.triggerRemoveActivity( - this.options.currentTenant.id, - activityExists.id, - ) + await searchSyncApi.triggerRemoveActivity(activityExists.id) activityExists = false existingMember = false } @@ -611,11 +608,11 @@ export default class ActivityService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) - await searchSyncEmitter.triggerMemberSync(this.options.currentTenant.id, record.memberId) - await searchSyncEmitter.triggerActivitySync(this.options.currentTenant.id, record.id) + await searchSyncApi.triggerMemberSync(record.memberId) + await searchSyncApi.triggerActivitySync(record.id) if (data.objectMember) { - await searchSyncEmitter.triggerMemberSync(this.options.currentTenant.id, data.objectMember) + await searchSyncApi.triggerMemberSync(data.objectMember) } return record @@ -647,7 +644,7 @@ export default class ActivityService extends LoggerBase { async update(id, data) { const transaction = await SequelizeRepository.createTransaction(this.options) - const searchSyncEmitter = await getSearchSyncWorkerEmitter() + const searchSyncApi = await getSearchSyncApiClient() try { data.member = await MemberRepository.filterIdInTenant(data.member, { @@ -669,8 +666,8 @@ export default class ActivityService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) - await searchSyncEmitter.triggerActivitySync(this.options.currentTenant.id, record.id) - await searchSyncEmitter.triggerMemberSync(this.options.currentTenant.id, record.memberId) + await searchSyncApi.triggerActivitySync(record.id) + await searchSyncApi.triggerMemberSync(record.memberId) return record } catch (error) { if (error.name && error.name.includes('Sequelize')) { @@ -694,7 +691,7 @@ export default class ActivityService extends LoggerBase { } async destroyAll(ids) { - const searchSyncEmitter = await getSearchSyncWorkerEmitter() + const searchSyncApi = await getSearchSyncApiClient() const transaction = await SequelizeRepository.createTransaction(this.options) @@ -713,7 +710,7 @@ export default class ActivityService extends LoggerBase { } for (const id of ids) { - await searchSyncEmitter.triggerRemoveActivity(this.options.currentTenant.id, id) + await searchSyncApi.triggerRemoveActivity(id) } } diff --git a/backend/src/services/integrationService.ts b/backend/src/services/integrationService.ts index cfa81a4873..25ed623260 100644 --- a/backend/src/services/integrationService.ts +++ b/backend/src/services/integrationService.ts @@ -36,7 +36,6 @@ import IntegrationRunRepository from '../database/repositories/integrationRunRep import { getIntegrationRunWorkerEmitter, getIntegrationSyncWorkerEmitter, - getSearchSyncWorkerEmitter, } from '../serverless/utils/serviceSQS' import MemberAttributeSettingsRepository from '../database/repositories/memberAttributeSettingsRepository' import TenantRepository from '../database/repositories/tenantRepository' @@ -51,6 +50,7 @@ import { GroupsioGetToken, GroupsioVerifyGroup, } from '@/serverless/integrations/usecases/groupsio/types' +import { getSearchSyncApiClient } from '@/httpClients/searchSyncApiClient' const discordToken = DISCORD_CONFIG.token || DISCORD_CONFIG.token2 @@ -623,8 +623,8 @@ export default class IntegrationService { ) // send it to opensearch because in member.update we bypass while passing transactions - const searchSyncEmitter = await getSearchSyncWorkerEmitter() - await searchSyncEmitter.triggerMemberSync(this.options.currentTenant.id, member.id) + const searchSyncApi = await getSearchSyncApiClient() + await searchSyncApi.triggerMemberSync(member.id) } async hubspotStopSyncOrganization(payload: IHubspotManualSyncPayload) { diff --git a/backend/src/services/memberService.ts b/backend/src/services/memberService.ts index 08f0e6d7d3..be0ac2b030 100644 --- a/backend/src/services/memberService.ts +++ b/backend/src/services/memberService.ts @@ -30,10 +30,10 @@ import merge from './helpers/merge' import MemberAttributeSettingsService from './memberAttributeSettingsService' import OrganizationService from './organizationService' import SettingsService from './settingsService' -import { getSearchSyncWorkerEmitter } from '../serverless/utils/serviceSQS' import isFeatureEnabled from '../feature-flags/isFeatureEnabled' import { FeatureFlag } from '../types/common' import SegmentRepository from '../database/repositories/segmentRepository' +import { getSearchSyncApiClient } from '@/httpClients/searchSyncApiClient' export default class MemberService extends LoggerBase { options: IServiceOptions @@ -199,7 +199,7 @@ export default class MemberService extends LoggerBase { fireSync: boolean = true, ) { const logger = this.options.log - const searchSyncEmitter = await getSearchSyncWorkerEmitter() + const searchSyncApi = await getSearchSyncApiClient() const errorDetails: any = {} @@ -435,7 +435,7 @@ export default class MemberService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) if (fireSync) { - await searchSyncEmitter.triggerMemberSync(this.options.currentTenant.id, record.id) + await searchSyncApi.triggerMemberSync(record.id) } if (!existing && fireCrowdWebhooks) { @@ -629,10 +629,9 @@ export default class MemberService extends LoggerBase { await SequelizeRepository.commitTransaction(tx) try { - // TODO replace this with synchroneous call - const searchSyncEmitter = await getSearchSyncWorkerEmitter() - await searchSyncEmitter.triggerMemberSync(this.options.currentTenant.id, originalId) - await searchSyncEmitter.triggerRemoveMember(this.options.currentTenant.id, toMergeId) + const searchSyncApi = await getSearchSyncApiClient() + await searchSyncApi.triggerMemberSync(originalId) + await searchSyncApi.triggerRemoveMember(toMergeId) } catch (emitError) { this.log.error( emitError, @@ -745,20 +744,14 @@ export default class MemberService extends LoggerBase { async addToMerge(suggestions: IMemberMergeSuggestion[]) { const transaction = await SequelizeRepository.createTransaction(this.options) try { - const searchSyncEmitter = await getSearchSyncWorkerEmitter() + const searchSyncApi = await getSearchSyncApiClient() await MemberRepository.addToMerge(suggestions, { ...this.options, transaction }) await SequelizeRepository.commitTransaction(transaction) for (const suggestion of suggestions) { - await searchSyncEmitter.triggerMemberSync( - this.options.currentTenant.id, - suggestion.members[0], - ) - await searchSyncEmitter.triggerMemberSync( - this.options.currentTenant.id, - suggestion.members[1], - ) + await searchSyncApi.triggerMemberSync(suggestion.members[0]) + await searchSyncApi.triggerMemberSync(suggestion.members[1]) } return { status: 200 } } catch (error) { @@ -776,7 +769,7 @@ export default class MemberService extends LoggerBase { */ async addToNoMerge(memberOneId, memberTwoId) { const transaction = await SequelizeRepository.createTransaction(this.options) - const searchSyncEmitter = await getSearchSyncWorkerEmitter() + const searchSyncApi = await getSearchSyncApiClient() try { await MemberRepository.addNoMerge(memberOneId, memberTwoId, { @@ -798,8 +791,8 @@ export default class MemberService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) - await searchSyncEmitter.triggerMemberSync(this.options.currentTenant.id, memberOneId) - await searchSyncEmitter.triggerMemberSync(this.options.currentTenant.id, memberTwoId) + await searchSyncApi.triggerMemberSync(memberOneId) + await searchSyncApi.triggerMemberSync(memberTwoId) return { status: 200 } } catch (error) { @@ -847,7 +840,7 @@ export default class MemberService extends LoggerBase { async update(id, data) { let transaction - const searchSyncEmitter = await getSearchSyncWorkerEmitter() + const searchSyncApi = await getSearchSyncApiClient() try { const repoOptions = await SequelizeRepository.createTransactionalRepositoryOptions( @@ -909,8 +902,7 @@ export default class MemberService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) try { - // TODO replace this with synchroneous call - await searchSyncEmitter.triggerMemberSync(this.options.currentTenant.id, record.id) + await searchSyncApi.triggerMemberSync(record.id) } catch (emitErr) { this.log.error( emitErr, @@ -946,7 +938,7 @@ export default class MemberService extends LoggerBase { async destroyBulk(ids) { const transaction = await SequelizeRepository.createTransaction(this.options) - const searchSyncEmitter = await getSearchSyncWorkerEmitter() + const searchSyncApi = await getSearchSyncApiClient() try { await MemberRepository.destroyBulk( @@ -965,13 +957,13 @@ export default class MemberService extends LoggerBase { } for (const id of ids) { - await searchSyncEmitter.triggerRemoveMember(this.options.currentTenant.id, id) + await searchSyncApi.triggerRemoveMember(id) } } async destroyAll(ids) { const transaction = await SequelizeRepository.createTransaction(this.options) - const searchSyncEmitter = await getSearchSyncWorkerEmitter() + const searchSyncApi = await getSearchSyncApiClient() try { for (const id of ids) { @@ -992,7 +984,7 @@ export default class MemberService extends LoggerBase { } for (const id of ids) { - await searchSyncEmitter.triggerRemoveMember(this.options.currentTenant.id, id) + await searchSyncApi.triggerRemoveMember(id) } } diff --git a/backend/src/services/organizationService.ts b/backend/src/services/organizationService.ts index f7b66fea0d..dddb2940e2 100644 --- a/backend/src/services/organizationService.ts +++ b/backend/src/services/organizationService.ts @@ -2,7 +2,6 @@ import { websiteNormalizer } from '@crowd/common' import { LoggerBase } from '@crowd/logging' import { IOrganization, IOrganizationIdentity, OrganizationMergeSuggestionType } from '@crowd/types' import { IRepositoryOptions } from '@/database/repositories/IRepositoryOptions' -import { getSearchSyncWorkerEmitter } from '@/serverless/utils/serviceSQS' import getObjectWithoutKey from '@/utils/getObjectWithoutKey' import { CLEARBIT_CONFIG, IS_TEST_ENV } from '../conf' import MemberRepository from '../database/repositories/memberRepository' @@ -20,6 +19,7 @@ import { keepPrimaryIfExists, mergeUniqueStringArrayItems, } from './helpers/mergeFunctions' +import { getSearchSyncApiClient } from '@/httpClients/searchSyncApiClient' export default class OrganizationService extends LoggerBase { options: IServiceOptions @@ -141,15 +141,15 @@ export default class OrganizationService extends LoggerBase { await SequelizeRepository.commitTransaction(tx) - const searchSyncEmitter = await getSearchSyncWorkerEmitter() - await searchSyncEmitter.triggerOrganizationSync(this.options.currentTenant.id, originalId) - await searchSyncEmitter.triggerRemoveOrganization(this.options.currentTenant.id, toMergeId) + const searchSyncApi = await getSearchSyncApiClient() + await searchSyncApi.triggerOrganizationSync(originalId) + await searchSyncApi.triggerRemoveOrganization(toMergeId) // sync organization members - await searchSyncEmitter.triggerOrganizationMembersSync(originalId) + await searchSyncApi.triggerOrganizationMembersSync(originalId) // sync organization activities - await searchSyncEmitter.triggerOrganizationActivitiesSync(originalId) + await searchSyncApi.triggerOrganizationActivitiesSync(originalId) this.options.log.info({ originalId, toMergeId }, 'Organizations merged!') return { status: 200, mergedId: originalId } @@ -288,7 +288,7 @@ export default class OrganizationService extends LoggerBase { async addToNoMerge(organizationId: string, noMergeId: string): Promise { const transaction = await SequelizeRepository.createTransaction(this.options) - const searchSyncEmitter = await getSearchSyncWorkerEmitter() + const searchSyncApi = await getSearchSyncApiClient() try { await OrganizationRepository.addNoMerge(organizationId, noMergeId, { @@ -302,8 +302,8 @@ export default class OrganizationService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) - await searchSyncEmitter.triggerOrganizationSync(this.options.currentTenant.id, organizationId) - await searchSyncEmitter.triggerOrganizationSync(this.options.currentTenant.id, noMergeId) + await searchSyncApi.triggerOrganizationSync(organizationId) + await searchSyncApi.triggerOrganizationSync(noMergeId) } catch (error) { await SequelizeRepository.rollbackTransaction(transaction) @@ -472,8 +472,8 @@ export default class OrganizationService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) - const searchSyncEmitter = await getSearchSyncWorkerEmitter() - await searchSyncEmitter.triggerOrganizationSync(this.options.currentTenant.id, record.id) + const searchSyncApi = await getSearchSyncApiClient() + await searchSyncApi.triggerOrganizationSync(record.id) return await this.findById(record.id) } catch (error) { @@ -536,9 +536,8 @@ export default class OrganizationService extends LoggerBase { await SequelizeRepository.commitTransaction(tx) try { - // TODO replace with synchroneous call - const searchSyncEmitter = await getSearchSyncWorkerEmitter() - await searchSyncEmitter.triggerOrganizationSync(this.options.currentTenant.id, record.id) + const searchSyncApi = await getSearchSyncApiClient() + await searchSyncApi.triggerOrganizationSync(record.id) } catch (emitErr) { this.log.error( emitErr, @@ -576,10 +575,10 @@ export default class OrganizationService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) - const searchSyncEmitter = await getSearchSyncWorkerEmitter() + const searchSyncApi = await getSearchSyncApiClient() for (const id of ids) { - await searchSyncEmitter.triggerRemoveOrganization(this.options.currentTenant.id, id) + await searchSyncApi.triggerRemoveOrganization(id) } } catch (error) { await SequelizeRepository.rollbackTransaction(transaction) @@ -633,9 +632,9 @@ export default class OrganizationService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) - const searchSyncEmitter = await getSearchSyncWorkerEmitter() + const searchSyncApi = await getSearchSyncApiClient() for (const id of ids) { - await searchSyncEmitter.triggerRemoveOrganization(this.options.currentTenant.id, id) + await searchSyncApi.triggerRemoveOrganization(id) } } catch (error) { await SequelizeRepository.rollbackTransaction(transaction) diff --git a/backend/src/services/premium/enrichment/memberEnrichmentService.ts b/backend/src/services/premium/enrichment/memberEnrichmentService.ts index 67cf0a4c9e..5608415271 100644 --- a/backend/src/services/premium/enrichment/memberEnrichmentService.ts +++ b/backend/src/services/premium/enrichment/memberEnrichmentService.ts @@ -35,7 +35,7 @@ import OrganizationService from '../../organizationService' import MemberRepository from '../../../database/repositories/memberRepository' import OrganizationRepository from '../../../database/repositories/organizationRepository' import SequelizeRepository from '@/database/repositories/sequelizeRepository' -import { getSearchSyncWorkerEmitter } from '@/serverless/utils/serviceSQS' +import { getSearchSyncApiClient } from '@/httpClients/searchSyncApiClient' export default class MemberEnrichmentService extends LoggerBase { options: IServiceOptions @@ -144,7 +144,7 @@ export default class MemberEnrichmentService extends LoggerBase { async bulkEnrich(memberIds: string[], notifyFrontend: boolean = true) { const redis = await getRedisClient(REDIS_CONFIG, true) - const searchSyncEmitter = await getSearchSyncWorkerEmitter() + const searchSyncApi = await getSearchSyncApiClient() const apiPubSubEmitter = new RedisPubSubEmitter( 'api-pubsub', @@ -159,7 +159,7 @@ export default class MemberEnrichmentService extends LoggerBase { try { await this.enrichOne(memberId) enrichedMembers++ - await searchSyncEmitter.triggerMemberSync(this.options.currentTenant.id, memberId) + await searchSyncApi.triggerMemberSync(memberId) this.log.info(`Enriched member ${memberId}`) } catch (err) { if ( @@ -236,7 +236,7 @@ export default class MemberEnrichmentService extends LoggerBase { await this.getAttributes() } - const searchSyncEmitter = await getSearchSyncWorkerEmitter() + const searchSyncApi = await getSearchSyncApiClient() // Create an instance of the MemberService and use it to look up the member const memberService = new MemberService(options) @@ -357,7 +357,7 @@ export default class MemberEnrichmentService extends LoggerBase { } } - await searchSyncEmitter.triggerMemberSync(options.currentTenant.id, result.id) + await searchSyncApi.triggerMemberSync(result.id) result = await memberService.findById(result.id, true, false) await SequelizeRepository.commitTransaction(transaction) diff --git a/backend/src/services/premium/enrichment/organizationEnrichmentService.ts b/backend/src/services/premium/enrichment/organizationEnrichmentService.ts index 607f4449f2..4f4c2aabb8 100644 --- a/backend/src/services/premium/enrichment/organizationEnrichmentService.ts +++ b/backend/src/services/premium/enrichment/organizationEnrichmentService.ts @@ -15,9 +15,9 @@ import OrganizationRepository from '../../../database/repositories/organizationR import { renameKeys } from '../../../utils/renameKeys' import { IServiceOptions } from '../../IServiceOptions' import { EnrichmentParams, IEnrichmentResponse } from './types/organizationEnrichmentTypes' -import { getSearchSyncWorkerEmitter } from '@/serverless/utils/serviceSQS' import SequelizeRepository from '@/database/repositories/sequelizeRepository' import OrganizationService from '@/services/organizationService' +import { getSearchSyncApiClient } from '@/httpClients/searchSyncApiClient' export default class OrganizationEnrichmentService extends LoggerBase { tenantId: string @@ -148,7 +148,7 @@ export default class OrganizationEnrichmentService extends LoggerBase { const transaction = await SequelizeRepository.createTransaction(this.options) try { - const searchSyncEmitter = await getSearchSyncWorkerEmitter() + const searchSyncApi = await getSearchSyncApiClient() let unmergedOrgs: IOrganization[] = [] // check strong weak identities and move them if needed @@ -209,8 +209,7 @@ export default class OrganizationEnrichmentService extends LoggerBase { ) for (const org of records) { - // trigger open search sync - await searchSyncEmitter.triggerOrganizationSync(this.options.currentTenant.id, org.id) + await searchSyncApi.triggerOrganizationSync(org.id) } await SequelizeRepository.commitTransaction(transaction) diff --git a/services/apps/search_sync_api/src/routes/activity.ts b/services/apps/search_sync_api/src/routes/activity.ts index 336216494c..1151e642f0 100644 --- a/services/apps/search_sync_api/src/routes/activity.ts +++ b/services/apps/search_sync_api/src/routes/activity.ts @@ -69,7 +69,7 @@ router.delete( ) router.delete( - '/cleanup/activities', + '/cleanup/activity', asyncWrap(async (req: ApiRequest, res) => { const openSearchService = new OpenSearchService(req.log) const activitySyncService = new ActivitySyncService(req.dbStore, openSearchService, req.log) diff --git a/services/apps/search_sync_api/src/routes/member.ts b/services/apps/search_sync_api/src/routes/member.ts index 3f1d3c83b6..ae16492738 100644 --- a/services/apps/search_sync_api/src/routes/member.ts +++ b/services/apps/search_sync_api/src/routes/member.ts @@ -90,7 +90,7 @@ router.delete( ) router.delete( - '/cleanup/members', + '/cleanup/member', asyncWrap(async (req: ApiRequest, res) => { const openSearchService = new OpenSearchService(req.log) const memberSyncService = new MemberSyncService( diff --git a/services/apps/search_sync_api/src/routes/organization.ts b/services/apps/search_sync_api/src/routes/organization.ts index 5e75d9e916..651884d92b 100644 --- a/services/apps/search_sync_api/src/routes/organization.ts +++ b/services/apps/search_sync_api/src/routes/organization.ts @@ -65,7 +65,7 @@ router.delete( ) router.delete( - '/cleanup/organizations', + '/cleanup/organization', asyncWrap(async (req: ApiRequest, res) => { const openSearchService = new OpenSearchService(req.log) const organizationSyncService = new OrganizationSyncService( From ac18a330247b5c56e380b3e41a211dc73797bf10 Mon Sep 17 00:00:00 2001 From: Yeganathan S Date: Wed, 25 Oct 2023 21:33:00 +0530 Subject: [PATCH 11/38] Refactor existing sqs triggers and extract httpclients to lib --- backend/package-lock.json | 43 + backend/package.json | 1 + backend/src/services/activityService.ts | 2 +- backend/src/services/integrationService.ts | 2 +- backend/src/services/memberService.ts | 2 +- backend/src/services/organizationService.ts | 2 +- .../enrichment/memberEnrichmentService.ts | 2 +- .../organizationEnrichmentService.ts | 2 +- .../apps/data_sink_worker/package-lock.json | 11 + services/apps/data_sink_worker/package.json | 1 + .../src/bin/map-member-to-org.ts | 19 +- .../src/bin/map-tenant-members-to-org.ts | 19 +- .../src/bin/process-results.ts | 12 +- .../src/jobs/processOldResults.ts | 11 +- services/apps/data_sink_worker/src/main.ts | 13 +- .../apps/data_sink_worker/src/queue/index.ts | 3 - .../src/service/activity.service.ts | 39 +- .../src/service/dataSink.service.ts | 11 +- .../src/service/member.service.ts | 21 +- .../integration_run_worker/package-lock.json | 16 + .../apps/integration_run_worker/package.json | 1 + .../apps/integration_run_worker/src/main.ts | 4 - .../integration_run_worker/src/queue/index.ts | 3 - .../src/service/integrationRunService.ts | 9 +- services/libs/httpclients/.eslintrc.cjs | 21 + services/libs/httpclients/.prettierignore | 3 + services/libs/httpclients/.prettierrc.cjs | 8 + services/libs/httpclients/package-lock.json | 1469 +++++++++++++++++ services/libs/httpclients/package.json | 22 + .../libs/httpclients/src/factoryMethods.ts | 10 + services/libs/httpclients/src/index.ts | 1 + .../httpclients/src}/searchSyncApiClient.ts | 0 services/libs/httpclients/tsconfig.json | 17 + 33 files changed, 1683 insertions(+), 117 deletions(-) create mode 100644 services/libs/httpclients/.eslintrc.cjs create mode 100644 services/libs/httpclients/.prettierignore create mode 100644 services/libs/httpclients/.prettierrc.cjs create mode 100644 services/libs/httpclients/package-lock.json create mode 100644 services/libs/httpclients/package.json create mode 100644 services/libs/httpclients/src/factoryMethods.ts create mode 100644 services/libs/httpclients/src/index.ts rename {backend/src/httpClients => services/libs/httpclients/src}/searchSyncApiClient.ts (100%) create mode 100644 services/libs/httpclients/tsconfig.json diff --git a/backend/package-lock.json b/backend/package-lock.json index 5e87b678f9..93697cefc6 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -14,6 +14,7 @@ "@aws-sdk/util-format-url": "^3.226.0", "@crowd/alerting": "file:../services/libs/alerting", "@crowd/common": "file:../services/libs/common", + "@crowd/httpclients": "file:../services/libs/httpclients", "@crowd/integrations": "file:../services/libs/integrations", "@crowd/logging": "file:../services/libs/logging", "@crowd/opensearch": "file:../services/libs/opensearch", @@ -3129,6 +3130,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "../services/libs/httpclients": { + "version": "1.0.0", + "dependencies": { + "@types/node": "^20.3.1", + "@typescript-eslint/eslint-plugin": "^5.59.11", + "@typescript-eslint/parser": "^5.59.11", + "axios": "^1.4.0", + "eslint": "^8.42.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.1.3" + } + }, "../services/libs/integrations": { "name": "@crowd/integrations", "version": "1.0.0", @@ -6641,6 +6656,9 @@ "name": "@crowd/opensearch", "version": "1.0.0", "dependencies": { + "@crowd/database": "file:../database", + "@crowd/logging": "file:../logging", + "@crowd/redis": "file:../redis", "@crowd/types": "file:../types", "@opensearch-project/opensearch": "^1.2.0" }, @@ -6648,6 +6666,7 @@ "@types/node": "^18.16.3", "@typescript-eslint/eslint-plugin": "^5.59.2", "@typescript-eslint/parser": "^5.59.2", + "config": "^3.3.9", "eslint": "^8.39.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", @@ -12313,6 +12332,7 @@ "@opentelemetry/resources": "~1.17.0", "@opentelemetry/sdk-node": "~0.43.0", "@opentelemetry/semantic-conventions": "~1.17.0", + "opentelemetry-instrumentation-kafkajs": "~0.39.1", "opentelemetry-instrumentation-sequelize": "~0.39.1" }, "devDependencies": { @@ -16545,6 +16565,10 @@ "resolved": "../services/libs/common", "link": true }, + "node_modules/@crowd/httpclients": { + "resolved": "../services/libs/httpclients", + "link": true + }, "node_modules/@crowd/integrations": { "resolved": "../services/libs/integrations", "link": true @@ -37018,6 +37042,20 @@ } } }, + "@crowd/httpclients": { + "version": "file:../services/libs/httpclients", + "requires": { + "@types/node": "^20.3.1", + "@typescript-eslint/eslint-plugin": "^5.59.11", + "@typescript-eslint/parser": "^5.59.11", + "axios": "^1.4.0", + "eslint": "^8.42.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.1.3" + } + }, "@crowd/integrations": { "version": "file:../services/libs/integrations", "requires": { @@ -43597,11 +43635,15 @@ "@crowd/opensearch": { "version": "file:../services/libs/opensearch", "requires": { + "@crowd/database": "file:../database", + "@crowd/logging": "file:../logging", + "@crowd/redis": "file:../redis", "@crowd/types": "file:../types", "@opensearch-project/opensearch": "^1.2.0", "@types/node": "^18.16.3", "@typescript-eslint/eslint-plugin": "^5.59.2", "@typescript-eslint/parser": "^5.59.2", + "config": "^3.3.9", "eslint": "^8.39.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", @@ -55258,6 +55300,7 @@ "eslint": "^8.39.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", + "opentelemetry-instrumentation-kafkajs": "~0.39.1", "opentelemetry-instrumentation-sequelize": "~0.39.1", "prettier": "^2.8.8", "typescript": "^5.0.4" diff --git a/backend/package.json b/backend/package.json index b946b165f3..26df6934f2 100644 --- a/backend/package.json +++ b/backend/package.json @@ -59,6 +59,7 @@ "@crowd/sqs": "file:../services/libs/sqs", "@crowd/tracing": "file:../services/libs/tracing", "@crowd/types": "file:../services/libs/types", + "@crowd/httpclients": "file:../services/libs/httpclients", "@cubejs-client/core": "^0.30.4", "@google-cloud/storage": "5.3.0", "@octokit/auth-app": "^3.6.1", diff --git a/backend/src/services/activityService.ts b/backend/src/services/activityService.ts index 569738b16c..9ae2a38b2c 100644 --- a/backend/src/services/activityService.ts +++ b/backend/src/services/activityService.ts @@ -3,6 +3,7 @@ import { Blob } from 'buffer' import vader from 'crowd-sentiment' import { Transaction } from 'sequelize/types' import { PlatformType } from '@crowd/types' +import { getSearchSyncApiClient } from '@crowd/httpclients' import { IS_DEV_ENV, IS_TEST_ENV, GITHUB_CONFIG } from '../conf' import ActivityRepository from '../database/repositories/activityRepository' import MemberAttributeSettingsRepository from '../database/repositories/memberAttributeSettingsRepository' @@ -21,7 +22,6 @@ import merge from './helpers/merge' import MemberService from './memberService' import SegmentService from './segmentService' import MemberAffiliationService from './memberAffiliationService' -import { getSearchSyncApiClient } from '@/httpClients/searchSyncApiClient' const IS_GITHUB_COMMIT_DATA_ENABLED = GITHUB_CONFIG.isCommitDataEnabled === 'true' diff --git a/backend/src/services/integrationService.ts b/backend/src/services/integrationService.ts index 25ed623260..f197888b36 100644 --- a/backend/src/services/integrationService.ts +++ b/backend/src/services/integrationService.ts @@ -17,6 +17,7 @@ import { getHubspotLists, IProcessStreamContext, } from '@crowd/integrations' +import { getSearchSyncApiClient } from '@crowd/httpclients' import { ILinkedInOrganization } from '../serverless/integrations/types/linkedinTypes' import { DISCORD_CONFIG, GITHUB_CONFIG, IS_TEST_ENV, KUBE_MODE, NANGO_CONFIG } from '../conf/index' import Error400 from '../errors/Error400' @@ -50,7 +51,6 @@ import { GroupsioGetToken, GroupsioVerifyGroup, } from '@/serverless/integrations/usecases/groupsio/types' -import { getSearchSyncApiClient } from '@/httpClients/searchSyncApiClient' const discordToken = DISCORD_CONFIG.token || DISCORD_CONFIG.token2 diff --git a/backend/src/services/memberService.ts b/backend/src/services/memberService.ts index be0ac2b030..c6f18433f1 100644 --- a/backend/src/services/memberService.ts +++ b/backend/src/services/memberService.ts @@ -6,6 +6,7 @@ import moment from 'moment-timezone' import validator from 'validator' import { IOrganization, MemberAttributeType } from '@crowd/types' import { isDomainExcluded } from '@crowd/common' +import { getSearchSyncApiClient } from '@crowd/httpclients' import { IRepositoryOptions } from '../database/repositories/IRepositoryOptions' import ActivityRepository from '../database/repositories/activityRepository' import MemberAttributeSettingsRepository from '../database/repositories/memberAttributeSettingsRepository' @@ -33,7 +34,6 @@ import SettingsService from './settingsService' import isFeatureEnabled from '../feature-flags/isFeatureEnabled' import { FeatureFlag } from '../types/common' import SegmentRepository from '../database/repositories/segmentRepository' -import { getSearchSyncApiClient } from '@/httpClients/searchSyncApiClient' export default class MemberService extends LoggerBase { options: IServiceOptions diff --git a/backend/src/services/organizationService.ts b/backend/src/services/organizationService.ts index dddb2940e2..e892bebb05 100644 --- a/backend/src/services/organizationService.ts +++ b/backend/src/services/organizationService.ts @@ -1,6 +1,7 @@ import { websiteNormalizer } from '@crowd/common' import { LoggerBase } from '@crowd/logging' import { IOrganization, IOrganizationIdentity, OrganizationMergeSuggestionType } from '@crowd/types' +import { getSearchSyncApiClient } from '@crowd/httpclients' import { IRepositoryOptions } from '@/database/repositories/IRepositoryOptions' import getObjectWithoutKey from '@/utils/getObjectWithoutKey' import { CLEARBIT_CONFIG, IS_TEST_ENV } from '../conf' @@ -19,7 +20,6 @@ import { keepPrimaryIfExists, mergeUniqueStringArrayItems, } from './helpers/mergeFunctions' -import { getSearchSyncApiClient } from '@/httpClients/searchSyncApiClient' export default class OrganizationService extends LoggerBase { options: IServiceOptions diff --git a/backend/src/services/premium/enrichment/memberEnrichmentService.ts b/backend/src/services/premium/enrichment/memberEnrichmentService.ts index 5608415271..3e24bfdf2e 100644 --- a/backend/src/services/premium/enrichment/memberEnrichmentService.ts +++ b/backend/src/services/premium/enrichment/memberEnrichmentService.ts @@ -12,6 +12,7 @@ import { PlatformType, OrganizationSource, } from '@crowd/types' +import { getSearchSyncApiClient } from '@crowd/httpclients' import { ENRICHMENT_CONFIG, REDIS_CONFIG } from '../../../conf' import { AttributeData } from '../../../database/attributes/attribute' import MemberEnrichmentCacheRepository from '../../../database/repositories/memberEnrichmentCacheRepository' @@ -35,7 +36,6 @@ import OrganizationService from '../../organizationService' import MemberRepository from '../../../database/repositories/memberRepository' import OrganizationRepository from '../../../database/repositories/organizationRepository' import SequelizeRepository from '@/database/repositories/sequelizeRepository' -import { getSearchSyncApiClient } from '@/httpClients/searchSyncApiClient' export default class MemberEnrichmentService extends LoggerBase { options: IServiceOptions diff --git a/backend/src/services/premium/enrichment/organizationEnrichmentService.ts b/backend/src/services/premium/enrichment/organizationEnrichmentService.ts index 4f4c2aabb8..0f54f50b8d 100644 --- a/backend/src/services/premium/enrichment/organizationEnrichmentService.ts +++ b/backend/src/services/premium/enrichment/organizationEnrichmentService.ts @@ -10,6 +10,7 @@ import { IOrganizationCache, PlatformType, } from '@crowd/types' +import { getSearchSyncApiClient } from '@crowd/httpclients' import { REDIS_CONFIG } from '../../../conf' import OrganizationRepository from '../../../database/repositories/organizationRepository' import { renameKeys } from '../../../utils/renameKeys' @@ -17,7 +18,6 @@ import { IServiceOptions } from '../../IServiceOptions' import { EnrichmentParams, IEnrichmentResponse } from './types/organizationEnrichmentTypes' import SequelizeRepository from '@/database/repositories/sequelizeRepository' import OrganizationService from '@/services/organizationService' -import { getSearchSyncApiClient } from '@/httpClients/searchSyncApiClient' export default class OrganizationEnrichmentService extends LoggerBase { tenantId: string diff --git a/services/apps/data_sink_worker/package-lock.json b/services/apps/data_sink_worker/package-lock.json index 9089dcc5b1..eb77f4b0c2 100644 --- a/services/apps/data_sink_worker/package-lock.json +++ b/services/apps/data_sink_worker/package-lock.json @@ -12,6 +12,7 @@ "@crowd/common": "file:../../libs/common", "@crowd/conversations": "file:../../libs/conversations", "@crowd/database": "file:../../libs/database", + "@crowd/httpsclients": "file:../../libs/httpsclients", "@crowd/integrations": "file:../../libs/integrations", "@crowd/logging": "file:../../libs/logging", "@crowd/redis": "file:../../libs/redis", @@ -116,6 +117,7 @@ "typescript": "^5.0.4" } }, + "../../libs/httpsclients": {}, "../../libs/integrations": { "name": "@crowd/integrations", "version": "1.0.0", @@ -243,6 +245,7 @@ "@opentelemetry/resources": "~1.17.0", "@opentelemetry/sdk-node": "~0.43.0", "@opentelemetry/semantic-conventions": "~1.17.0", + "opentelemetry-instrumentation-kafkajs": "~0.39.1", "opentelemetry-instrumentation-sequelize": "~0.39.1" }, "devDependencies": { @@ -295,6 +298,10 @@ "resolved": "../../libs/database", "link": true }, + "node_modules/@crowd/httpsclients": { + "resolved": "../../libs/httpsclients", + "link": true + }, "node_modules/@crowd/integrations": { "resolved": "../../libs/integrations", "link": true @@ -2510,6 +2517,9 @@ "typescript": "^5.0.4" } }, + "@crowd/httpsclients": { + "version": "file:../../libs/httpsclients" + }, "@crowd/integrations": { "version": "file:../../libs/integrations", "requires": { @@ -2627,6 +2637,7 @@ "eslint": "^8.39.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", + "opentelemetry-instrumentation-kafkajs": "~0.39.1", "opentelemetry-instrumentation-sequelize": "~0.39.1", "prettier": "^2.8.8", "typescript": "^5.0.4" diff --git a/services/apps/data_sink_worker/package.json b/services/apps/data_sink_worker/package.json index 550b33a034..73a6dd92b0 100644 --- a/services/apps/data_sink_worker/package.json +++ b/services/apps/data_sink_worker/package.json @@ -25,6 +25,7 @@ "@crowd/common": "file:../../libs/common", "@crowd/conversations": "file:../../libs/conversations", "@crowd/database": "file:../../libs/database", + "@crowd/httpsclients": "file:../../libs/httpsclients", "@crowd/integrations": "file:../../libs/integrations", "@crowd/logging": "file:../../libs/logging", "@crowd/redis": "file:../../libs/redis", diff --git a/services/apps/data_sink_worker/src/bin/map-member-to-org.ts b/services/apps/data_sink_worker/src/bin/map-member-to-org.ts index 6b5ad370ed..24a83df76c 100644 --- a/services/apps/data_sink_worker/src/bin/map-member-to-org.ts +++ b/services/apps/data_sink_worker/src/bin/map-member-to-org.ts @@ -2,12 +2,8 @@ import { DB_CONFIG, SQS_CONFIG } from '../conf' import { DbStore, getDbConnection } from '@crowd/database' import { getServiceTracer } from '@crowd/tracing' import { getServiceLogger } from '@crowd/logging' -import { - DataSinkWorkerEmitter, - NodejsWorkerEmitter, - SearchSyncWorkerEmitter, - getSqsClient, -} from '@crowd/sqs' +import { getSearchSyncApiClient } from '@crowd/httpclients' +import { DataSinkWorkerEmitter, NodejsWorkerEmitter, getSqsClient } from '@crowd/sqs' import MemberRepository from '../repo/member.repo' import MemberService from '../service/member.service' import DataSinkRepository from '../repo/dataSink.repo' @@ -39,12 +35,11 @@ setImmediate(async () => { const nodejsWorkerEmitter = new NodejsWorkerEmitter(sqsClient, tracer, log) await nodejsWorkerEmitter.init() - const searchSyncWorkerEmitter = new SearchSyncWorkerEmitter(sqsClient, tracer, log) - await searchSyncWorkerEmitter.init() - - const memberService = new MemberService(store, nodejsWorkerEmitter, searchSyncWorkerEmitter, log) + const memberService = new MemberService(store, nodejsWorkerEmitter, log) const orgService = new OrganizationService(store, log) + const searchSyncApi = await getSearchSyncApiClient() + try { const member = await memberRepo.findById(memberId) @@ -72,10 +67,10 @@ setImmediate(async () => { orgService.addToMember(member.tenantId, segmentId, member.id, orgs) for (const org of orgs) { - await searchSyncWorkerEmitter.triggerOrganizationSync(member.tenantId, org.id) + await searchSyncApi.triggerOrganizationSync(org.id) } - await searchSyncWorkerEmitter.triggerMemberSync(member.tenantId, member.id) + await searchSyncApi.triggerMemberSync(member.id) log.info('Done mapping member to organizations!') } else { log.info('No organizations found with matching email domains!') diff --git a/services/apps/data_sink_worker/src/bin/map-tenant-members-to-org.ts b/services/apps/data_sink_worker/src/bin/map-tenant-members-to-org.ts index 211fafca90..c3ffb7bc58 100644 --- a/services/apps/data_sink_worker/src/bin/map-tenant-members-to-org.ts +++ b/services/apps/data_sink_worker/src/bin/map-tenant-members-to-org.ts @@ -2,12 +2,8 @@ import { DB_CONFIG, SQS_CONFIG } from '../conf' import { DbStore, getDbConnection } from '@crowd/database' import { getServiceTracer } from '@crowd/tracing' import { getServiceLogger } from '@crowd/logging' -import { - DataSinkWorkerEmitter, - NodejsWorkerEmitter, - SearchSyncWorkerEmitter, - getSqsClient, -} from '@crowd/sqs' +import { getSearchSyncApiClient } from '@crowd/httpclients' +import { DataSinkWorkerEmitter, NodejsWorkerEmitter, getSqsClient } from '@crowd/sqs' import MemberRepository from '../repo/member.repo' import DataSinkRepository from '../repo/dataSink.repo' import MemberService from '../service/member.service' @@ -42,12 +38,11 @@ setImmediate(async () => { const nodejsWorkerEmitter = new NodejsWorkerEmitter(sqsClient, tracer, log) await nodejsWorkerEmitter.init() - const searchSyncWorkerEmitter = new SearchSyncWorkerEmitter(sqsClient, tracer, log) - await searchSyncWorkerEmitter.init() - - const memberService = new MemberService(store, nodejsWorkerEmitter, searchSyncWorkerEmitter, log) + const memberService = new MemberService(store, nodejsWorkerEmitter, log) const orgService = new OrganizationService(store, log) + const searchSyncApi = await getSearchSyncApiClient() + const limit = 100 let offset = 0 let processedMembers = 0 @@ -86,10 +81,10 @@ setImmediate(async () => { orgService.addToMember(tenantId, segmentId, member.id, orgs) for (const org of orgs) { - await searchSyncWorkerEmitter.triggerOrganizationSync(tenantId, org.id) + await searchSyncApi.triggerOrganizationSync(org.id) } - await searchSyncWorkerEmitter.triggerMemberSync(tenantId, member.id) + await searchSyncApi.triggerMemberSync(member.id) } } diff --git a/services/apps/data_sink_worker/src/bin/process-results.ts b/services/apps/data_sink_worker/src/bin/process-results.ts index 22e116ac48..1bc01c762b 100644 --- a/services/apps/data_sink_worker/src/bin/process-results.ts +++ b/services/apps/data_sink_worker/src/bin/process-results.ts @@ -5,7 +5,7 @@ import { DbStore, getDbConnection } from '@crowd/database' import { getServiceTracer } from '@crowd/tracing' import { getServiceLogger } from '@crowd/logging' import { getRedisClient } from '@crowd/redis' -import { NodejsWorkerEmitter, SearchSyncWorkerEmitter, getSqsClient } from '@crowd/sqs' +import { NodejsWorkerEmitter, getSqsClient } from '@crowd/sqs' import { initializeSentimentAnalysis } from '@crowd/sentiment' const tracer = getServiceTracer() @@ -28,19 +28,11 @@ setImmediate(async () => { const nodejsWorkerEmitter = new NodejsWorkerEmitter(sqsClient, tracer, log) await nodejsWorkerEmitter.init() - const searchSyncWorkerEmitter = new SearchSyncWorkerEmitter(sqsClient, tracer, log) - await searchSyncWorkerEmitter.init() const dbConnection = await getDbConnection(DB_CONFIG()) const store = new DbStore(log, dbConnection) - const service = new DataSinkService( - store, - nodejsWorkerEmitter, - searchSyncWorkerEmitter, - redisClient, - log, - ) + const service = new DataSinkService(store, nodejsWorkerEmitter, redisClient, log) const repo = new DataSinkRepository(store, log) for (const resultId of resultIds) { diff --git a/services/apps/data_sink_worker/src/jobs/processOldResults.ts b/services/apps/data_sink_worker/src/jobs/processOldResults.ts index 47f37d3874..04e0d7a482 100644 --- a/services/apps/data_sink_worker/src/jobs/processOldResults.ts +++ b/services/apps/data_sink_worker/src/jobs/processOldResults.ts @@ -3,24 +3,17 @@ import DataSinkService from '../service/dataSink.service' import { DbConnection, DbStore } from '@crowd/database' import { Logger } from '@crowd/logging' import { RedisClient, processWithLock } from '@crowd/redis' -import { NodejsWorkerEmitter, SearchSyncWorkerEmitter } from '@crowd/sqs' +import { NodejsWorkerEmitter } from '@crowd/sqs' export const processOldResultsJob = async ( dbConn: DbConnection, redis: RedisClient, nodejsWorkerEmitter: NodejsWorkerEmitter, - searchSyncWorkerEmitter: SearchSyncWorkerEmitter, log: Logger, ): Promise => { const store = new DbStore(log, dbConn) const repo = new DataSinkRepository(store, log) - const service = new DataSinkService( - store, - nodejsWorkerEmitter, - searchSyncWorkerEmitter, - redis, - log, - ) + const service = new DataSinkService(store, nodejsWorkerEmitter, redis, log) const loadNextBatch = async (): Promise => { return await processWithLock(redis, 'process-old-results', 5 * 60, 3 * 60, async () => { diff --git a/services/apps/data_sink_worker/src/main.ts b/services/apps/data_sink_worker/src/main.ts index e83f544759..a993e5b7f3 100644 --- a/services/apps/data_sink_worker/src/main.ts +++ b/services/apps/data_sink_worker/src/main.ts @@ -1,7 +1,7 @@ import { getDbConnection } from '@crowd/database' import { getServiceTracer } from '@crowd/tracing' import { getServiceLogger } from '@crowd/logging' -import { NodejsWorkerEmitter, SearchSyncWorkerEmitter, getSqsClient } from '@crowd/sqs' +import { NodejsWorkerEmitter, getSqsClient } from '@crowd/sqs' import { DB_CONFIG, SENTIMENT_CONFIG, SQS_CONFIG, REDIS_CONFIG } from './conf' import { WorkerQueueReceiver } from './queue' import { initializeSentimentAnalysis } from '@crowd/sentiment' @@ -28,13 +28,11 @@ setImmediate(async () => { } const nodejsWorkerEmitter = new NodejsWorkerEmitter(sqsClient, tracer, log) - const searchSyncWorkerEmitter = new SearchSyncWorkerEmitter(sqsClient, tracer, log) const queue = new WorkerQueueReceiver( sqsClient, dbConnection, nodejsWorkerEmitter, - searchSyncWorkerEmitter, redisClient, tracer, log, @@ -43,20 +41,13 @@ setImmediate(async () => { try { await nodejsWorkerEmitter.init() - await searchSyncWorkerEmitter.init() let processing = false setInterval(async () => { try { if (!processing) { processing = true - await processOldResultsJob( - dbConnection, - redisClient, - nodejsWorkerEmitter, - searchSyncWorkerEmitter, - log, - ) + await processOldResultsJob(dbConnection, redisClient, nodejsWorkerEmitter, log) } } catch (err) { log.error(err, 'Failed to process old results!') diff --git a/services/apps/data_sink_worker/src/queue/index.ts b/services/apps/data_sink_worker/src/queue/index.ts index 9b91160271..17e0aa022a 100644 --- a/services/apps/data_sink_worker/src/queue/index.ts +++ b/services/apps/data_sink_worker/src/queue/index.ts @@ -4,7 +4,6 @@ import { DbConnection, DbStore } from '@crowd/database' import { DATA_SINK_WORKER_QUEUE_SETTINGS, NodejsWorkerEmitter, - SearchSyncWorkerEmitter, SqsClient, SqsQueueReceiver, } from '@crowd/sqs' @@ -22,7 +21,6 @@ export class WorkerQueueReceiver extends SqsQueueReceiver { client: SqsClient, private readonly dbConn: DbConnection, private readonly nodejsWorkerEmitter: NodejsWorkerEmitter, - private readonly searchSyncWorkerEmitter: SearchSyncWorkerEmitter, private readonly redisClient: RedisClient, tracer: Tracer, parentLog: Logger, @@ -39,7 +37,6 @@ export class WorkerQueueReceiver extends SqsQueueReceiver { const service = new DataSinkService( new DbStore(this.log, this.dbConn), this.nodejsWorkerEmitter, - this.searchSyncWorkerEmitter, this.redisClient, this.log, ) diff --git a/services/apps/data_sink_worker/src/service/activity.service.ts b/services/apps/data_sink_worker/src/service/activity.service.ts index 50644bc246..976626242c 100644 --- a/services/apps/data_sink_worker/src/service/activity.service.ts +++ b/services/apps/data_sink_worker/src/service/activity.service.ts @@ -3,6 +3,7 @@ import MemberRepository from '../repo/member.repo' import { isObjectEmpty, singleOrDefault } from '@crowd/common' import { DbStore, arePrimitivesDbEqual } from '@crowd/database' import { Logger, LoggerBase, getChildLogger } from '@crowd/logging' +import { getSearchSyncApiClient } from '@crowd/httpclients' import { ISentimentAnalysisResult, getSentiment } from '@crowd/sentiment' import { IActivityData, PlatformType } from '@crowd/types' import ActivityRepository from '../repo/activity.repo' @@ -10,7 +11,7 @@ import { IActivityCreateData, IActivityUpdateData } from './activity.data' import MemberService from './member.service' import mergeWith from 'lodash.mergewith' import isEqual from 'lodash.isequal' -import { NodejsWorkerEmitter, SearchSyncWorkerEmitter } from '@crowd/sqs' +import { NodejsWorkerEmitter } from '@crowd/sqs' import SettingsRepository from './settings.repo' import { ConversationService } from '@crowd/conversations' import IntegrationRepository from '../repo/integration.repo' @@ -28,7 +29,6 @@ export default class ActivityService extends LoggerBase { constructor( private readonly store: DbStore, private readonly nodejsWorkerEmitter: NodejsWorkerEmitter, - private readonly searchSyncWorkerEmitter: SearchSyncWorkerEmitter, private readonly redisClient: RedisClient, parentLog: Logger, ) { @@ -47,6 +47,7 @@ export default class ActivityService extends LoggerBase { this.log.debug('Creating an activity.') const sentiment = await getSentiment(`${activity.body || ''} ${activity.title || ''}`.trim()) + const searchSyncApi = await getSearchSyncApiClient() const id = await this.store.transactionally(async (txStore) => { const txRepo = new ActivityRepository(txStore, this.log) @@ -93,13 +94,13 @@ export default class ActivityService extends LoggerBase { const affectedIds = await this.conversationService.processActivity(tenantId, segmentId, id) if (fireSync) { - await this.searchSyncWorkerEmitter.triggerMemberSync(tenantId, activity.memberId) - await this.searchSyncWorkerEmitter.triggerActivitySync(tenantId, id) + await searchSyncApi.triggerMemberSync(activity.memberId) + await searchSyncApi.triggerActivitySync(id) } if (affectedIds.length > 0) { for (const affectedId of affectedIds.filter((i) => i !== id)) { - await this.searchSyncWorkerEmitter.triggerActivitySync(tenantId, affectedId) + await searchSyncApi.triggerActivitySync(affectedId) } } @@ -119,6 +120,7 @@ export default class ActivityService extends LoggerBase { fireSync = true, ): Promise { try { + const searchSyncApi = await getSearchSyncApiClient() const updated = await this.store.transactionally(async (txStore) => { const txRepo = new ActivityRepository(txStore, this.log) const txSettingsRepo = new SettingsRepository(txStore, this.log) @@ -172,8 +174,8 @@ export default class ActivityService extends LoggerBase { await this.conversationService.processActivity(tenantId, segmentId, id) if (fireSync) { - await this.searchSyncWorkerEmitter.triggerMemberSync(tenantId, activity.memberId) - await this.searchSyncWorkerEmitter.triggerActivitySync(tenantId, id) + await searchSyncApi.triggerMemberSync(activity.memberId) + await searchSyncApi.triggerActivitySync(id) } } } catch (err) { @@ -373,21 +375,17 @@ export default class ActivityService extends LoggerBase { let objectMemberId: string | undefined let activityId: string + const searchSyncApi = await getSearchSyncApiClient() + await this.store.transactionally(async (txStore) => { let segmentId: string try { const txRepo = new ActivityRepository(txStore, this.log) const txMemberRepo = new MemberRepository(txStore, this.log) - const txMemberService = new MemberService( - txStore, - this.nodejsWorkerEmitter, - this.searchSyncWorkerEmitter, - this.log, - ) + const txMemberService = new MemberService(txStore, this.nodejsWorkerEmitter, this.log) const txActivityService = new ActivityService( txStore, this.nodejsWorkerEmitter, - this.searchSyncWorkerEmitter, this.redisClient, this.log, ) @@ -447,7 +445,7 @@ export default class ActivityService extends LoggerBase { // delete activity await txRepo.delete(dbActivity.id) - await this.searchSyncWorkerEmitter.triggerRemoveActivity(tenantId, dbActivity.id) + await searchSyncApi.triggerRemoveActivity(dbActivity.id) createActivity = true } @@ -564,10 +562,7 @@ export default class ActivityService extends LoggerBase { // delete activity await txRepo.delete(dbActivity.id) - await this.searchSyncWorkerEmitter.triggerRemoveActivity( - tenantId, - dbActivity.id, - ) + await searchSyncApi.triggerRemoveActivity(dbActivity.id) createActivity = true } @@ -822,12 +817,12 @@ export default class ActivityService extends LoggerBase { } }) - await this.searchSyncWorkerEmitter.triggerMemberSync(tenantId, memberId) + await searchSyncApi.triggerMemberSync(memberId) if (objectMemberId) { - await this.searchSyncWorkerEmitter.triggerMemberSync(tenantId, objectMemberId) + await searchSyncApi.triggerMemberSync(objectMemberId) } if (activityId) { - await this.searchSyncWorkerEmitter.triggerActivitySync(tenantId, activityId) + await searchSyncApi.triggerActivitySync(activityId) } } catch (err) { this.log.error(err, 'Error while processing an activity!') diff --git a/services/apps/data_sink_worker/src/service/dataSink.service.ts b/services/apps/data_sink_worker/src/service/dataSink.service.ts index 1bce39e0de..4fb041c599 100644 --- a/services/apps/data_sink_worker/src/service/dataSink.service.ts +++ b/services/apps/data_sink_worker/src/service/dataSink.service.ts @@ -1,7 +1,7 @@ import { DbStore } from '@crowd/database' import { Logger, LoggerBase, getChildLogger } from '@crowd/logging' import { RedisClient } from '@crowd/redis' -import { NodejsWorkerEmitter, SearchSyncWorkerEmitter } from '@crowd/sqs' +import { NodejsWorkerEmitter } from '@crowd/sqs' import { IActivityData, IMemberData, @@ -21,7 +21,6 @@ export default class DataSinkService extends LoggerBase { constructor( private readonly store: DbStore, private readonly nodejsWorkerEmitter: NodejsWorkerEmitter, - private readonly searchSyncWorkerEmitter: SearchSyncWorkerEmitter, private readonly redisClient: RedisClient, parentLog: Logger, ) { @@ -105,7 +104,6 @@ export default class DataSinkService extends LoggerBase { const service = new ActivityService( this.store, this.nodejsWorkerEmitter, - this.searchSyncWorkerEmitter, this.redisClient, this.log, ) @@ -124,12 +122,7 @@ export default class DataSinkService extends LoggerBase { } case IntegrationResultType.MEMBER_ENRICH: { - const service = new MemberService( - this.store, - this.nodejsWorkerEmitter, - this.searchSyncWorkerEmitter, - this.log, - ) + const service = new MemberService(this.store, this.nodejsWorkerEmitter, this.log) const memberData = data.data as IMemberData await service.processMemberEnrich( diff --git a/services/apps/data_sink_worker/src/service/member.service.ts b/services/apps/data_sink_worker/src/service/member.service.ts index 5b153db0eb..9b24bda202 100644 --- a/services/apps/data_sink_worker/src/service/member.service.ts +++ b/services/apps/data_sink_worker/src/service/member.service.ts @@ -7,6 +7,7 @@ import { isDomainExcluded, } from '@crowd/common' import { DbStore } from '@crowd/database' +import { getSearchSyncApiClient } from '@crowd/httpclients' import { Logger, LoggerBase, getChildLogger } from '@crowd/logging' import { IMemberData, @@ -19,7 +20,7 @@ import mergeWith from 'lodash.mergewith' import isEqual from 'lodash.isequal' import { IMemberCreateData, IMemberUpdateData } from './member.data' import MemberAttributeService from './memberAttribute.service' -import { NodejsWorkerEmitter, SearchSyncWorkerEmitter } from '@crowd/sqs' +import { NodejsWorkerEmitter } from '@crowd/sqs' import IntegrationRepository from '../repo/integration.repo' import { OrganizationService } from './organization.service' import uniqby from 'lodash.uniqby' @@ -28,7 +29,6 @@ export default class MemberService extends LoggerBase { constructor( private readonly store: DbStore, private readonly nodejsWorkerEmitter: NodejsWorkerEmitter, - private readonly searchSyncWorkerEmitter: SearchSyncWorkerEmitter, parentLog: Logger, ) { super(parentLog) @@ -120,13 +120,14 @@ export default class MemberService extends LoggerBase { }) await this.nodejsWorkerEmitter.processAutomationForNewMember(tenantId, id) + const searchSyncApi = await getSearchSyncApiClient() if (fireSync) { - await this.searchSyncWorkerEmitter.triggerMemberSync(tenantId, id) + await searchSyncApi.triggerMemberSync(id) } for (const org of organizations) { - await this.searchSyncWorkerEmitter.triggerOrganizationSync(tenantId, org.id) + await searchSyncApi.triggerOrganizationSync(org.id) } return id @@ -147,6 +148,7 @@ export default class MemberService extends LoggerBase { releaseMemberLock?: () => Promise, ): Promise { try { + const searchSyncApi = await getSearchSyncApiClient() const { updated, organizations } = await this.store.transactionally(async (txStore) => { const txRepo = new MemberRepository(txStore, this.log) const txMemberAttributeService = new MemberAttributeService(txStore, this.log) @@ -245,11 +247,11 @@ export default class MemberService extends LoggerBase { }) if (updated && fireSync) { - await this.searchSyncWorkerEmitter.triggerMemberSync(tenantId, id) + await searchSyncApi.triggerMemberSync(id) } for (const org of organizations) { - await this.searchSyncWorkerEmitter.triggerOrganizationSync(tenantId, org.id) + await searchSyncApi.triggerOrganizationSync(org.id) } } catch (err) { this.log.error(err, { memberId: id }, 'Error while updating a member!') @@ -328,12 +330,7 @@ export default class MemberService extends LoggerBase { await this.store.transactionally(async (txStore) => { const txRepo = new MemberRepository(txStore, this.log) const txIntegrationRepo = new IntegrationRepository(txStore, this.log) - const txService = new MemberService( - txStore, - this.nodejsWorkerEmitter, - this.searchSyncWorkerEmitter, - this.log, - ) + const txService = new MemberService(txStore, this.nodejsWorkerEmitter, this.log) const dbIntegration = await txIntegrationRepo.findById(integrationId) const segmentId = dbIntegration.segmentId diff --git a/services/apps/integration_run_worker/package-lock.json b/services/apps/integration_run_worker/package-lock.json index 92ce284fce..3693c64271 100644 --- a/services/apps/integration_run_worker/package-lock.json +++ b/services/apps/integration_run_worker/package-lock.json @@ -11,6 +11,7 @@ "@crowd/alerting": "file:../../libs/alerting", "@crowd/common": "file:../../libs/common", "@crowd/database": "file:../../libs/database", + "@crowd/httpsclients": "file:../../libs/httpsclients", "@crowd/integrations": "file:../../libs/integrations", "@crowd/logging": "file:../../libs/logging", "@crowd/redis": "file:../../libs/redis", @@ -37,6 +38,7 @@ } }, "../../libs/alerting": { + "name": "@crowd/alerting", "version": "1.0.0", "dependencies": { "@types/node": "^20.3.1", @@ -51,6 +53,7 @@ } }, "../../libs/common": { + "name": "@crowd/common", "version": "1.0.0", "dependencies": { "@crowd/logging": "file:../logging", @@ -70,6 +73,7 @@ } }, "../../libs/database": { + "name": "@crowd/database", "version": "1.0.0", "dependencies": { "@crowd/common": "file:../common", @@ -87,7 +91,9 @@ "typescript": "^5.0.4" } }, + "../../libs/httpsclients": {}, "../../libs/integrations": { + "name": "@crowd/integrations", "version": "1.0.0", "dependencies": { "@crowd/common": "file:../common", @@ -114,6 +120,7 @@ } }, "../../libs/logging": { + "name": "@crowd/logging", "version": "1.0.0", "dependencies": { "@crowd/common": "file:../common", @@ -135,6 +142,7 @@ } }, "../../libs/redis": { + "name": "@crowd/redis", "version": "1.0.0", "dependencies": { "@crowd/common": "file:../common", @@ -154,6 +162,7 @@ } }, "../../libs/sqs": { + "name": "@crowd/sqs", "version": "1.0.0", "dependencies": { "@aws-sdk/client-sqs": "^3.332.0", @@ -176,6 +185,7 @@ } }, "../../libs/tracing": { + "name": "@crowd/tracing", "version": "1.0.0", "dependencies": { "@crowd/common": "file:../common", @@ -190,6 +200,7 @@ "@opentelemetry/resources": "~1.17.0", "@opentelemetry/sdk-node": "~0.43.0", "@opentelemetry/semantic-conventions": "~1.17.0", + "opentelemetry-instrumentation-kafkajs": "~0.39.1", "opentelemetry-instrumentation-sequelize": "~0.39.1" }, "devDependencies": { @@ -204,6 +215,7 @@ } }, "../../libs/types": { + "name": "@crowd/types", "version": "1.0.0", "devDependencies": { "@types/node": "^18.16.3", @@ -249,6 +261,10 @@ "resolved": "../../libs/database", "link": true }, + "node_modules/@crowd/httpsclients": { + "resolved": "../../libs/httpsclients", + "link": true + }, "node_modules/@crowd/integrations": { "resolved": "../../libs/integrations", "link": true diff --git a/services/apps/integration_run_worker/package.json b/services/apps/integration_run_worker/package.json index d78046bc0f..cd9c857515 100644 --- a/services/apps/integration_run_worker/package.json +++ b/services/apps/integration_run_worker/package.json @@ -21,6 +21,7 @@ "@crowd/alerting": "file:../../libs/alerting", "@crowd/common": "file:../../libs/common", "@crowd/database": "file:../../libs/database", + "@crowd/httpsclients": "file:../../libs/httpsclients", "@crowd/integrations": "file:../../libs/integrations", "@crowd/logging": "file:../../libs/logging", "@crowd/redis": "file:../../libs/redis", diff --git a/services/apps/integration_run_worker/src/main.ts b/services/apps/integration_run_worker/src/main.ts index 0862ed2c3c..e4cc6b7d31 100644 --- a/services/apps/integration_run_worker/src/main.ts +++ b/services/apps/integration_run_worker/src/main.ts @@ -5,7 +5,6 @@ import { IntegrationRunWorkerEmitter, IntegrationStreamWorkerEmitter, IntegrationSyncWorkerEmitter, - SearchSyncWorkerEmitter, getSqsClient, } from '@crowd/sqs' import { DB_CONFIG, REDIS_CONFIG, SQS_CONFIG } from './conf' @@ -27,7 +26,6 @@ setImmediate(async () => { const runWorkerEmitter = new IntegrationRunWorkerEmitter(sqsClient, tracer, log) const streamWorkerEmitter = new IntegrationStreamWorkerEmitter(sqsClient, tracer, log) - const searchSyncWorkerEmitter = new SearchSyncWorkerEmitter(sqsClient, tracer, log) const integrationSyncWorkerEmitter = new IntegrationSyncWorkerEmitter(sqsClient, tracer, log) const apiPubSubEmitter = new ApiPubSubEmitter(redisClient, log) @@ -38,7 +36,6 @@ setImmediate(async () => { dbConnection, streamWorkerEmitter, runWorkerEmitter, - searchSyncWorkerEmitter, integrationSyncWorkerEmitter, apiPubSubEmitter, tracer, @@ -49,7 +46,6 @@ setImmediate(async () => { try { await streamWorkerEmitter.init() await runWorkerEmitter.init() - await searchSyncWorkerEmitter.init() await integrationSyncWorkerEmitter.init() await queue.start() } catch (err) { diff --git a/services/apps/integration_run_worker/src/queue/index.ts b/services/apps/integration_run_worker/src/queue/index.ts index 15ccb34da0..d1a6fab2c1 100644 --- a/services/apps/integration_run_worker/src/queue/index.ts +++ b/services/apps/integration_run_worker/src/queue/index.ts @@ -6,7 +6,6 @@ import { INTEGRATION_RUN_WORKER_QUEUE_SETTINGS, IntegrationRunWorkerEmitter, IntegrationStreamWorkerEmitter, - SearchSyncWorkerEmitter, IntegrationSyncWorkerEmitter, SqsClient, SqsQueueReceiver, @@ -29,7 +28,6 @@ export class WorkerQueueReceiver extends SqsQueueReceiver { private readonly dbConn: DbConnection, private readonly streamWorkerEmitter: IntegrationStreamWorkerEmitter, private readonly runWorkerEmitter: IntegrationRunWorkerEmitter, - private readonly searchSyncWorkerEmitter: SearchSyncWorkerEmitter, private readonly integrationSyncWorkerEmitter: IntegrationSyncWorkerEmitter, private readonly apiPubSubEmitter: ApiPubSubEmitter, tracer: Tracer, @@ -48,7 +46,6 @@ export class WorkerQueueReceiver extends SqsQueueReceiver { this.redisClient, this.streamWorkerEmitter, this.runWorkerEmitter, - this.searchSyncWorkerEmitter, this.integrationSyncWorkerEmitter, this.apiPubSubEmitter, new DbStore(this.log, this.dbConn), diff --git a/services/apps/integration_run_worker/src/service/integrationRunService.ts b/services/apps/integration_run_worker/src/service/integrationRunService.ts index 2f13ece164..4229232929 100644 --- a/services/apps/integration_run_worker/src/service/integrationRunService.ts +++ b/services/apps/integration_run_worker/src/service/integrationRunService.ts @@ -10,9 +10,9 @@ import { ApiPubSubEmitter, RedisCache, RedisClient } from '@crowd/redis' import { IntegrationRunWorkerEmitter, IntegrationStreamWorkerEmitter, - SearchSyncWorkerEmitter, IntegrationSyncWorkerEmitter, } from '@crowd/sqs' +import { getSearchSyncApiClient } from '@crowd/httpclients' import { IntegrationRunState, IntegrationStreamState } from '@crowd/types' import { NANGO_CONFIG, PLATFORM_CONFIG } from '../conf' import IntegrationRunRepository from '../repo/integrationRun.repo' @@ -29,7 +29,6 @@ export default class IntegrationRunService extends LoggerBase { private readonly redisClient: RedisClient, private readonly streamWorkerEmitter: IntegrationStreamWorkerEmitter, private readonly runWorkerEmitter: IntegrationRunWorkerEmitter, - private readonly searchSyncWorkerEmitter: SearchSyncWorkerEmitter, private readonly integrationSyncWorkerEmitter: IntegrationSyncWorkerEmitter, private readonly apiPubSubEmitter: ApiPubSubEmitter, private readonly store: DbStore, @@ -337,8 +336,10 @@ export default class IntegrationRunService extends LoggerBase { await txRepo.deleteSampleData(runInfo.tenantId) }) - await this.searchSyncWorkerEmitter.triggerActivityCleanup(runInfo.tenantId) - await this.searchSyncWorkerEmitter.triggerMemberCleanup(runInfo.tenantId) + const searchSyncApi = await getSearchSyncApiClient() + + await searchSyncApi.triggerActivityCleanup(runInfo.tenantId) + await searchSyncApi.triggerMemberCleanup(runInfo.tenantId) } catch (err) { this.log.error({ err }, 'Error while deleting sample data!') await this.triggerRunError( diff --git a/services/libs/httpclients/.eslintrc.cjs b/services/libs/httpclients/.eslintrc.cjs new file mode 100644 index 0000000000..25ba4e0d66 --- /dev/null +++ b/services/libs/httpclients/.eslintrc.cjs @@ -0,0 +1,21 @@ +module.exports = { + parser: '@typescript-eslint/parser', + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:prettier/recommended', + ], + plugins: ['@typescript-eslint', 'prettier'], + parserOptions: { + ecmaVersion: 2022, + sourceType: 'module', + }, + env: { + es6: true, + node: true, + }, + rules: { + 'prettier/prettier': 'error', + '@typescript-eslint/explicit-module-boundary-types': 'off', + }, +} diff --git a/services/libs/httpclients/.prettierignore b/services/libs/httpclients/.prettierignore new file mode 100644 index 0000000000..323bc0d11c --- /dev/null +++ b/services/libs/httpclients/.prettierignore @@ -0,0 +1,3 @@ +dist/ +.eslintrc.cjs +.prettierrc.cjs \ No newline at end of file diff --git a/services/libs/httpclients/.prettierrc.cjs b/services/libs/httpclients/.prettierrc.cjs new file mode 100644 index 0000000000..56e49d51b5 --- /dev/null +++ b/services/libs/httpclients/.prettierrc.cjs @@ -0,0 +1,8 @@ +module.exports = { + singleQuote: true, + arrowParens: 'always', + printWidth: 100, + trailingComma: 'all', + semi: false, + }; + \ No newline at end of file diff --git a/services/libs/httpclients/package-lock.json b/services/libs/httpclients/package-lock.json new file mode 100644 index 0000000000..cf6692fd46 --- /dev/null +++ b/services/libs/httpclients/package-lock.json @@ -0,0 +1,1469 @@ +{ + "name": "@crowd/httpclients", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@crowd/httpclients", + "version": "1.0.0", + "dependencies": { + "@types/node": "^20.3.1", + "@typescript-eslint/eslint-plugin": "^5.59.11", + "@typescript-eslint/parser": "^5.59.11", + "axios": "^1.4.0", + "eslint": "^8.42.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.1.3" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.5.1", + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.0.3", + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.42.0", + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.10", + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "license": "BSD-3-Clause" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.12", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.3.1", + "license": "MIT" + }, + "node_modules/@types/semver": { + "version": "7.5.0", + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.59.11", + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.11", + "@typescript-eslint/type-utils": "5.59.11", + "@typescript-eslint/utils": "5.59.11", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.59.11", + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "5.59.11", + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/typescript-estree": "5.59.11", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.59.11", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/visitor-keys": "5.59.11" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.59.11", + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.59.11", + "@typescript-eslint/utils": "5.59.11", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.59.11", + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.59.11", + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/visitor-keys": "5.59.11", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.59.11", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.11", + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/typescript-estree": "5.59.11", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.59.11", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.59.11", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/acorn": { + "version": "8.8.2", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "license": "Python-2.0" + }, + "node_modules/array-union": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.4.0", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "license": "MIT" + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.42.0", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.42.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.8.0", + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "license": "MIT", + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-scope": { + "version": "7.2.0", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "9.5.2", + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "license": "MIT" + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "license": "Apache-2.0" + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.15.0", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "license": "MIT", + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "license": "ISC" + }, + "node_modules/glob": { + "version": "7.2.3", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.20.0", + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "license": "MIT" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "license": "MIT" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "license": "ISC" + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "license": "ISC" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/levn": { + "version": "0.4.1", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "license": "MIT", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "license": "MIT" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "license": "MIT" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "license": "MIT" + }, + "node_modules/once": { + "version": "1.4.0", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picomatch": { + "version": "2.3.1", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "license": "MIT", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "license": "MIT" + }, + "node_modules/punycode": { + "version": "2.3.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/semver": { + "version": "7.5.1", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "license": "MIT" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.1.3", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "license": "ISC" + }, + "node_modules/yallist": { + "version": "4.0.0", + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/services/libs/httpclients/package.json b/services/libs/httpclients/package.json new file mode 100644 index 0000000000..dacdc18d4a --- /dev/null +++ b/services/libs/httpclients/package.json @@ -0,0 +1,22 @@ +{ + "name": "@crowd/httpclients", + "version": "1.0.0", + "private": true, + "scripts": { + "lint": "./node_modules/.bin/eslint --ext .ts src --max-warnings=0", + "format": "./node_modules/.bin/prettier --write \"src/**/*.ts\"", + "format-check": "./node_modules/.bin/prettier --check .", + "tsc-check": "./node_modules/.bin/tsc --noEmit" + }, + "dependencies": { + "@types/node": "^20.3.1", + "@typescript-eslint/eslint-plugin": "^5.59.11", + "@typescript-eslint/parser": "^5.59.11", + "axios": "^1.4.0", + "eslint": "^8.42.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.1.3" + } +} diff --git a/services/libs/httpclients/src/factoryMethods.ts b/services/libs/httpclients/src/factoryMethods.ts new file mode 100644 index 0000000000..f67e8c1ecc --- /dev/null +++ b/services/libs/httpclients/src/factoryMethods.ts @@ -0,0 +1,10 @@ +import { SearchSyncApiClient } from './searchSyncApiClient' + +let searchSyncApiClient: SearchSyncApiClient +export const getSearchSyncApiClient = async (): Promise => { + if (!searchSyncApiClient) { + searchSyncApiClient = new SearchSyncApiClient() + } + + return searchSyncApiClient +} diff --git a/services/libs/httpclients/src/index.ts b/services/libs/httpclients/src/index.ts new file mode 100644 index 0000000000..f83a5e0976 --- /dev/null +++ b/services/libs/httpclients/src/index.ts @@ -0,0 +1 @@ +export * from './factoryMethods' diff --git a/backend/src/httpClients/searchSyncApiClient.ts b/services/libs/httpclients/src/searchSyncApiClient.ts similarity index 100% rename from backend/src/httpClients/searchSyncApiClient.ts rename to services/libs/httpclients/src/searchSyncApiClient.ts diff --git a/services/libs/httpclients/tsconfig.json b/services/libs/httpclients/tsconfig.json new file mode 100644 index 0000000000..5696b56882 --- /dev/null +++ b/services/libs/httpclients/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "target": "es2017", + "module": "commonjs", + "lib": ["es6", "es7", "es2017", "es2017.object", "es2015.promise"], + "skipLibCheck": true, + "sourceMap": true, + "moduleResolution": "node", + "experimentalDecorators": true, + "esModuleInterop": true, + "baseUrl": "src", + "paths": { + "@crowd/*": ["../../*/src"] + } + }, + "include": ["src/**/*"] +} From ef17a1841b7d029e792305566102f11e4efa8a70 Mon Sep 17 00:00:00 2001 From: Yeganathan S Date: Wed, 25 Oct 2023 21:52:33 +0530 Subject: [PATCH 12/38] Add github workflows for the new api service --- .../workflows/lf-production-deploy-new.yaml | 43 +++++++++++++ .../lf-staging-deploy-search-sync-api.yaml | 60 +++++++++++++++++++ .github/workflows/production-deploy-new.yaml | 43 +++++++++++++ .../staging-deploy-search-sync-api.yaml | 60 +++++++++++++++++++ 4 files changed, 206 insertions(+) create mode 100644 .github/workflows/lf-staging-deploy-search-sync-api.yaml create mode 100644 .github/workflows/staging-deploy-search-sync-api.yaml diff --git a/.github/workflows/lf-production-deploy-new.yaml b/.github/workflows/lf-production-deploy-new.yaml index 8fa7a3a1e4..66be73d6f1 100644 --- a/.github/workflows/lf-production-deploy-new.yaml +++ b/.github/workflows/lf-production-deploy-new.yaml @@ -7,6 +7,10 @@ on: description: Deploy search-sync-worker service? required: true type: boolean + deploy_search_sync_api: + description: Deploy search-sync-api service? + required: true + type: boolean deploy_integration_sync_worker: description: Deploy integration-sync-worker service? required: true @@ -52,6 +56,27 @@ jobs: - name: Set docker image output id: image run: echo "IMAGE=${{ steps.image-builder.outputs.image }}" >> $GITHUB_OUTPUT + + build-and-push-search-sync-api: + runs-on: ubuntu-latest + if: ${{ inputs.deploy_search_sync_api }} + outputs: + image: ${{ steps.image.outputs.IMAGE }} + defaults: + run: + shell: bash + steps: + - name: Check out repository code + uses: actions/checkout@v2 + + - uses: ./.github/actions/build-docker-image + id: image-builder + with: + image: search-sync-api + + - name: Set docker image output + id: image + run: echo "IMAGE=${{ steps.image-builder.outputs.image }}" >> $GITHUB_OUTPUT build-and-push-integration-sync-worker: runs-on: ubuntu-latest @@ -134,6 +159,24 @@ jobs: image: ${{ needs.build-and-push-search-sync-worker.outputs.image }} cluster: ${{ env.CROWD_CLUSTER }} + deploy-search-sync-api: + needs: build-and-push-search-sync-api + runs-on: ubuntu-latest + if: ${{ inputs.deploy_search_sync_api }} + defaults: + run: + shell: bash + + steps: + - name: Check out repository code + uses: actions/checkout@v2 + + - uses: ./.github/actions/deploy-service + with: + service: search-sync-api + image: ${{ needs.build-and-push-search-sync-api.outputs.image }} + cluster: ${{ env.CROWD_CLUSTER }} + deploy-integration-sync-worker: needs: build-and-push-integration-sync-worker runs-on: ubuntu-latest diff --git a/.github/workflows/lf-staging-deploy-search-sync-api.yaml b/.github/workflows/lf-staging-deploy-search-sync-api.yaml new file mode 100644 index 0000000000..7f4e25cfb1 --- /dev/null +++ b/.github/workflows/lf-staging-deploy-search-sync-api.yaml @@ -0,0 +1,60 @@ +name: LF Staging Deploy Search Sync API + +on: + push: + branches: + - 'lf-staging/**' + - 'lf-staging-**' + paths: + - 'services/libs/**' + - 'services/apps/search_sync_api/**' + +env: + DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} + DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} + CROWD_CLUSTER: ${{ secrets.LF_STAGING_CLUSTER_NAME }} + CROWD_ROLE_ARN: ${{ secrets.LF_STAGING_CLUSTER_ROLE_ARN }} + AWS_ACCESS_KEY_ID: ${{ secrets.LF_AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.LF_AWS_SECRET_ACCESS_KEY }} + AWS_REGION: ${{ secrets.LF_AWS_REGION }} + SLACK_CHANNEL: deploys-lf-staging + SLACK_WEBHOOK: ${{ secrets.LF_STAGING_SLACK_CHANNEL_HOOK }} + +jobs: + build-and-push: + runs-on: ubuntu-latest + outputs: + image: ${{ steps.image.outputs.IMAGE }} + defaults: + run: + shell: bash + + steps: + - name: Check out repository code + uses: actions/checkout@v2 + + - uses: ./.github/actions/build-docker-image + id: image-builder + with: + image: search-sync-api + + - name: Set docker image output + id: image + run: echo "IMAGE=${{ steps.image-builder.outputs.image }}" >> $GITHUB_OUTPUT + + deploy-search-sync-api: + needs: build-and-push + runs-on: ubuntu-latest + defaults: + run: + shell: bash + + steps: + - name: Check out repository code + uses: actions/checkout@v2 + + - uses: ./.github/actions/deploy-service + with: + service: search-sync-api + image: ${{ needs.build-and-push.outputs.image }} + cluster: ${{ env.CROWD_CLUSTER }} diff --git a/.github/workflows/production-deploy-new.yaml b/.github/workflows/production-deploy-new.yaml index 10852465a9..c6482a7d5d 100644 --- a/.github/workflows/production-deploy-new.yaml +++ b/.github/workflows/production-deploy-new.yaml @@ -7,6 +7,10 @@ on: description: Deploy search-sync-worker service? required: true type: boolean + deploy_search_sync_api: + description: Deploy search-sync-api service? + required: true + type: boolean deploy_integration_sync_worker: description: Deploy integration-sync-worker service? required: true @@ -52,6 +56,27 @@ jobs: - name: Set docker image output id: image run: echo "IMAGE=${{ steps.image-builder.outputs.image }}" >> $GITHUB_OUTPUT + + build-and-push-search-sync-api: + runs-on: ubuntu-latest + if: ${{ inputs.deploy_search_sync_api }} + outputs: + image: ${{ steps.image.outputs.IMAGE }} + defaults: + run: + shell: bash + steps: + - name: Check out repository code + uses: actions/checkout@v2 + + - uses: ./.github/actions/build-docker-image + id: image-builder + with: + image: search-sync-api + + - name: Set docker image output + id: image + run: echo "IMAGE=${{ steps.image-builder.outputs.image }}" >> $GITHUB_OUTPUT build-and-push-integration-sync-worker: runs-on: ubuntu-latest @@ -134,6 +159,24 @@ jobs: image: ${{ needs.build-and-push-search-sync-worker.outputs.image }} cluster: ${{ env.CROWD_CLUSTER }} + deploy-search-sync-api: + needs: build-and-push-search-sync-api + runs-on: ubuntu-latest + if: ${{ inputs.deploy_search_sync_api }} + defaults: + run: + shell: bash + + steps: + - name: Check out repository code + uses: actions/checkout@v2 + + - uses: ./.github/actions/deploy-service + with: + service: search-sync-api + image: ${{ needs.build-and-push-search-sync-api.outputs.image }} + cluster: ${{ env.CROWD_CLUSTER }} + deploy-integration-sync-worker: needs: build-and-push-integration-sync-worker runs-on: ubuntu-latest diff --git a/.github/workflows/staging-deploy-search-sync-api.yaml b/.github/workflows/staging-deploy-search-sync-api.yaml new file mode 100644 index 0000000000..4dc1402b2a --- /dev/null +++ b/.github/workflows/staging-deploy-search-sync-api.yaml @@ -0,0 +1,60 @@ +name: Staging Deploy Search Sync API + +on: + push: + branches: + - 'staging/**' + - 'staging-**' + paths: + - 'services/libs/**' + - 'services/apps/search_sync_api/**' + +env: + DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} + DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} + CROWD_CLUSTER: ${{ secrets.STAGING_CLUSTER_NAME }} + CROWD_ROLE_ARN: ${{ secrets.STAGING_CLUSTER_ROLE_ARN }} + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + AWS_REGION: ${{ secrets.AWS_REGION }} + SLACK_CHANNEL: deploys-staging + SLACK_WEBHOOK: ${{ secrets.STAGING_SLACK_CHANNEL_HOOK }} + +jobs: + build-and-push: + runs-on: ubuntu-latest + outputs: + image: ${{ steps.image.outputs.IMAGE }} + defaults: + run: + shell: bash + + steps: + - name: Check out repository code + uses: actions/checkout@v2 + + - uses: ./.github/actions/build-docker-image + id: image-builder + with: + image: search-sync-api + + - name: Set docker image output + id: image + run: echo "IMAGE=${{ steps.image-builder.outputs.image }}" >> $GITHUB_OUTPUT + + deploy-search-sync-api: + needs: build-and-push + runs-on: ubuntu-latest + defaults: + run: + shell: bash + + steps: + - name: Check out repository code + uses: actions/checkout@v2 + + - uses: ./.github/actions/deploy-service + with: + service: search-sync-api + image: ${{ needs.build-and-push.outputs.image }} + cluster: ${{ env.CROWD_CLUSTER }} From acc7c3643d116c20efd472b251b7dc138cced45e Mon Sep 17 00:00:00 2001 From: Yeganathan S Date: Wed, 25 Oct 2023 22:32:24 +0530 Subject: [PATCH 13/38] Refactor conf usages --- .../apps/search_sync_api/config/default.json | 4 +- .../apps/search_sync_api/src/conf/index.ts | 55 ------------------- services/apps/search_sync_api/src/main.ts | 9 ++- services/libs/opensearch/src/conf/index.ts | 9 --- services/libs/opensearch/src/index.ts | 1 + 5 files changed, 8 insertions(+), 70 deletions(-) diff --git a/services/apps/search_sync_api/config/default.json b/services/apps/search_sync_api/config/default.json index 0ae2ffe715..c4b931d764 100644 --- a/services/apps/search_sync_api/config/default.json +++ b/services/apps/search_sync_api/config/default.json @@ -1,5 +1,7 @@ { - "service": {}, + "service": { + "port": 8083 + }, "db": {}, "sqs": {}, "redis": {}, diff --git a/services/apps/search_sync_api/src/conf/index.ts b/services/apps/search_sync_api/src/conf/index.ts index 40515ce059..1d588406e0 100644 --- a/services/apps/search_sync_api/src/conf/index.ts +++ b/services/apps/search_sync_api/src/conf/index.ts @@ -1,19 +1,4 @@ -import { IDatabaseConfig } from '@crowd/database' -import { IRedisConfiguration } from '@crowd/redis' -import { ISqsClientConfig } from '@crowd/sqs' import config from 'config' - -export interface IOpenSearchConfig { - node: string - region?: string - accessKeyId?: string - secretAccessKey?: string -} - -export interface IServiceConfig { - edition: string -} - export interface ISearchSyncApiServiceConfig { port: number } @@ -25,43 +10,3 @@ export const SEARCH_SYNC_API_CONFIG = (): ISearchSyncApiServiceConfig => { searchSyncApiConfig = config.get('service') return searchSyncApiConfig } - -let serviceConfig: IServiceConfig -export const SERVICE_CONFIG = (): IServiceConfig => { - if (serviceConfig) return serviceConfig - - serviceConfig = config.get('service') - return serviceConfig -} - -let openSearchConfig: IOpenSearchConfig -export const OPENSEARCH_CONFIG = (): IOpenSearchConfig => { - if (openSearchConfig) return openSearchConfig - - openSearchConfig = config.get('opensearch') - return openSearchConfig -} - -let sqsConfig: ISqsClientConfig -export const SQS_CONFIG = (): ISqsClientConfig => { - if (sqsConfig) return sqsConfig - - sqsConfig = config.get('sqs') - return sqsConfig -} - -let dbConfig: IDatabaseConfig -export const DB_CONFIG = (): IDatabaseConfig => { - if (dbConfig) return dbConfig - - dbConfig = config.get('db') - return dbConfig -} - -let redisConfig: IRedisConfiguration -export const REDIS_CONFIG = (): IRedisConfiguration => { - if (redisConfig) return redisConfig - - redisConfig = config.get('redis') - return redisConfig -} diff --git a/services/apps/search_sync_api/src/main.ts b/services/apps/search_sync_api/src/main.ts index 8fdb846067..6722851638 100644 --- a/services/apps/search_sync_api/src/main.ts +++ b/services/apps/search_sync_api/src/main.ts @@ -1,7 +1,7 @@ import { getServiceLogger } from '@crowd/logging' import cors from 'cors' import express from 'express' -import { DB_CONFIG, SEARCH_SYNC_API_CONFIG, REDIS_CONFIG, OPENSEARCH_CONFIG } from './conf' +import { DB_CONFIG, REDIS_CONFIG, OPENSEARCH_CONFIG } from '@crowd/opensearch' import { databaseMiddleware } from './middleware/database' import { errorMiddleware } from './middleware/error' import { loggingMiddleware } from './middleware/logging' @@ -13,6 +13,7 @@ import { getDbConnection } from '@crowd/database' import { opensearchMiddleware } from 'middleware/opensearch' import { getRedisClient } from '@crowd/redis' import { redisMiddleware } from 'middleware/redis' +import { SEARCH_SYNC_API_CONFIG } from 'conf' const log = getServiceLogger() const config = SEARCH_SYNC_API_CONFIG() @@ -43,9 +44,7 @@ setImmediate(async () => { app.use(errorMiddleware()) - const PORT = config.port || 8083 - - app.listen(PORT, () => { - log.info(`Search Sync API listening on port ${PORT}!`) + app.listen(config.port, () => { + log.info(`Search Sync API listening on port ${config.port}!`) }) }) diff --git a/services/libs/opensearch/src/conf/index.ts b/services/libs/opensearch/src/conf/index.ts index a02ea34892..28c8b537d4 100644 --- a/services/libs/opensearch/src/conf/index.ts +++ b/services/libs/opensearch/src/conf/index.ts @@ -1,6 +1,5 @@ import { IDatabaseConfig } from '@crowd/database' import { IRedisConfiguration } from '@crowd/redis' -import { ISqsClientConfig } from '@crowd/sqs' import config from 'config' export interface IOpenSearchConfig { @@ -30,14 +29,6 @@ export const OPENSEARCH_CONFIG = (): IOpenSearchConfig => { return openSearchConfig } -let sqsConfig: ISqsClientConfig -export const SQS_CONFIG = (): ISqsClientConfig => { - if (sqsConfig) return sqsConfig - - sqsConfig = config.get('sqs') - return sqsConfig -} - let dbConfig: IDatabaseConfig export const DB_CONFIG = (): IDatabaseConfig => { if (dbConfig) return dbConfig diff --git a/services/libs/opensearch/src/index.ts b/services/libs/opensearch/src/index.ts index 174f7e4ef3..7c2288bdc8 100644 --- a/services/libs/opensearch/src/index.ts +++ b/services/libs/opensearch/src/index.ts @@ -2,3 +2,4 @@ export * from './fieldTranslatorFactory' export * from './opensearchQueryParser' export * from './client' export * from './service' +export * from './conf' From 130c70bca946c924ebf4d1a1808041cbbd21073d Mon Sep 17 00:00:00 2001 From: Yeganathan S Date: Thu, 26 Oct 2023 00:04:38 +0530 Subject: [PATCH 14/38] Add envs properly with config set --- .../config/custom-environment-variables.json | 10 ++++++++ services/libs/httpclients/config/default.json | 7 ++++++ services/libs/httpclients/config/docker.json | 1 + .../libs/httpclients/config/production.json | 1 + services/libs/httpclients/config/staging.json | 1 + services/libs/httpclients/package-lock.json | 23 +++++++++++++++++++ services/libs/httpclients/package.json | 1 + services/libs/httpclients/src/conf/index.ts | 14 +++++++++++ .../httpclients/src/searchSyncApiClient.ts | 4 +++- 9 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 services/libs/httpclients/config/custom-environment-variables.json create mode 100644 services/libs/httpclients/config/default.json create mode 100644 services/libs/httpclients/config/docker.json create mode 100644 services/libs/httpclients/config/production.json create mode 100644 services/libs/httpclients/config/staging.json create mode 100644 services/libs/httpclients/src/conf/index.ts diff --git a/services/libs/httpclients/config/custom-environment-variables.json b/services/libs/httpclients/config/custom-environment-variables.json new file mode 100644 index 0000000000..3c61774be5 --- /dev/null +++ b/services/libs/httpclients/config/custom-environment-variables.json @@ -0,0 +1,10 @@ +{ + "service": { + "edition": "CROWD_EDITION", + "searchSyncApiUrl": "SEARCH_SYNC_API_URL" + }, + "db": {}, + "sqs": {}, + "redis": {}, + "opensearch": {} +} diff --git a/services/libs/httpclients/config/default.json b/services/libs/httpclients/config/default.json new file mode 100644 index 0000000000..0ae2ffe715 --- /dev/null +++ b/services/libs/httpclients/config/default.json @@ -0,0 +1,7 @@ +{ + "service": {}, + "db": {}, + "sqs": {}, + "redis": {}, + "opensearch": {} +} diff --git a/services/libs/httpclients/config/docker.json b/services/libs/httpclients/config/docker.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/services/libs/httpclients/config/docker.json @@ -0,0 +1 @@ +{} diff --git a/services/libs/httpclients/config/production.json b/services/libs/httpclients/config/production.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/services/libs/httpclients/config/production.json @@ -0,0 +1 @@ +{} diff --git a/services/libs/httpclients/config/staging.json b/services/libs/httpclients/config/staging.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/services/libs/httpclients/config/staging.json @@ -0,0 +1 @@ +{} diff --git a/services/libs/httpclients/package-lock.json b/services/libs/httpclients/package-lock.json index cf6692fd46..8bf1e2a6e3 100644 --- a/services/libs/httpclients/package-lock.json +++ b/services/libs/httpclients/package-lock.json @@ -12,6 +12,7 @@ "@typescript-eslint/eslint-plugin": "^5.59.11", "@typescript-eslint/parser": "^5.59.11", "axios": "^1.4.0", + "config": "^3.3.9", "eslint": "^8.42.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", @@ -471,6 +472,17 @@ "version": "0.0.1", "license": "MIT" }, + "node_modules/config": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/config/-/config-3.3.9.tgz", + "integrity": "sha512-G17nfe+cY7kR0wVpc49NCYvNtelm/pPy8czHoFkAgtV1lkmcp7DHtWCdDu+C9Z7gb2WVqa9Tm3uF9aKaPbCfhg==", + "dependencies": { + "json5": "^2.2.3" + }, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/cross-spawn": { "version": "7.0.3", "license": "MIT", @@ -992,6 +1004,17 @@ "version": "1.0.1", "license": "MIT" }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/levn": { "version": "0.4.1", "license": "MIT", diff --git a/services/libs/httpclients/package.json b/services/libs/httpclients/package.json index dacdc18d4a..349271f91d 100644 --- a/services/libs/httpclients/package.json +++ b/services/libs/httpclients/package.json @@ -12,6 +12,7 @@ "@types/node": "^20.3.1", "@typescript-eslint/eslint-plugin": "^5.59.11", "@typescript-eslint/parser": "^5.59.11", + "config": "^3.3.9", "axios": "^1.4.0", "eslint": "^8.42.0", "eslint-config-prettier": "^8.8.0", diff --git a/services/libs/httpclients/src/conf/index.ts b/services/libs/httpclients/src/conf/index.ts new file mode 100644 index 0000000000..7f76a12517 --- /dev/null +++ b/services/libs/httpclients/src/conf/index.ts @@ -0,0 +1,14 @@ +import config from 'config' + +export interface IServiceConfig { + edition: string + searchSyncApiUrl: string +} + +let serviceConfig: IServiceConfig +export const SERVICE_CONFIG = (): IServiceConfig => { + if (serviceConfig) return serviceConfig + + serviceConfig = config.get('service') + return serviceConfig +} diff --git a/services/libs/httpclients/src/searchSyncApiClient.ts b/services/libs/httpclients/src/searchSyncApiClient.ts index 6c0691d25c..1f885a14a5 100644 --- a/services/libs/httpclients/src/searchSyncApiClient.ts +++ b/services/libs/httpclients/src/searchSyncApiClient.ts @@ -1,11 +1,13 @@ import axios from 'axios' +import { SERVICE_CONFIG } from 'conf' +const config = SERVICE_CONFIG() export class SearchSyncApiClient { private searchSyncApi constructor() { this.searchSyncApi = axios.create({ - baseURL: process.env.SEARCH_SYNC_API_URL, + baseURL: config.searchSyncApiUrl, }) } From 5b5e07419eb65bb3d66a049deb10e868b9b0e6a7 Mon Sep 17 00:00:00 2001 From: Yeganathan S Date: Thu, 26 Oct 2023 19:11:16 +0530 Subject: [PATCH 15/38] Resolve pr comments by passing configs thro constructor --- .../config/custom-environment-variables.json | 3 ++ backend/src/conf/index.ts | 4 ++ backend/src/services/activityService.ts | 2 +- backend/src/services/integrationService.ts | 2 +- backend/src/services/memberService.ts | 2 +- backend/src/services/organizationService.ts | 2 +- .../enrichment/memberEnrichmentService.ts | 2 +- .../organizationEnrichmentService.ts | 2 +- backend/src/utils/apiClients.ts | 13 ++++++ .../config/custom-environment-variables.json | 3 ++ .../src/bin/map-member-to-org.ts | 10 ++-- .../src/bin/map-tenant-members-to-org.ts | 10 ++-- .../apps/data_sink_worker/src/conf/index.ts | 5 ++ services/apps/data_sink_worker/src/main.ts | 12 ++++- .../apps/data_sink_worker/src/queue/index.ts | 3 ++ .../src/service/activity.service.ts | 35 +++++++------- .../src/service/dataSink.service.ts | 10 +++- .../src/service/member.service.ts | 20 ++++---- .../config/custom-environment-variables.json | 3 ++ .../integration_run_worker/src/conf/index.ts | 5 ++ .../apps/integration_run_worker/src/main.ts | 6 ++- .../integration_run_worker/src/queue/index.ts | 3 ++ .../src/service/integrationRunService.ts | 9 ++-- .../apps/search_sync_api/src/conf/index.ts | 45 ++++++++++++++++++ services/apps/search_sync_api/src/main.ts | 5 +- .../search_sync_api/src/routes/activity.ts | 12 +++-- .../apps/search_sync_api/src/routes/member.ts | 18 ++++++-- .../src/routes/organization.ts | 15 ++++-- .../config/custom-environment-variables.json | 10 ---- services/libs/httpclients/config/default.json | 7 --- services/libs/httpclients/config/docker.json | 1 - .../libs/httpclients/config/production.json | 1 - services/libs/httpclients/config/staging.json | 1 - services/libs/httpclients/package.json | 1 - services/libs/httpclients/src/conf/index.ts | 14 ------ .../libs/httpclients/src/factoryMethods.ts | 10 ---- services/libs/httpclients/src/index.ts | 3 +- .../httpclients/src/searchSyncApiClient.ts | 16 ++----- services/libs/httpclients/src/types.ts | 3 ++ .../config/custom-environment-variables.json | 31 ------------- services/libs/opensearch/config/default.json | 7 --- services/libs/opensearch/config/docker.json | 1 - .../libs/opensearch/config/production.json | 1 - services/libs/opensearch/config/staging.json | 1 - services/libs/opensearch/package.json | 1 - services/libs/opensearch/src/conf/index.ts | 46 ------------------- services/libs/opensearch/src/index.ts | 1 - .../src/service/member.sync.service.ts | 8 ++-- .../src/service/opensearch.service.ts | 19 ++++---- .../src/service/organization.sync.service.ts | 7 ++- services/libs/types/src/index.ts | 2 + services/libs/types/src/service.ts | 3 ++ 52 files changed, 229 insertions(+), 227 deletions(-) create mode 100644 backend/src/utils/apiClients.ts delete mode 100644 services/libs/httpclients/config/custom-environment-variables.json delete mode 100644 services/libs/httpclients/config/default.json delete mode 100644 services/libs/httpclients/config/docker.json delete mode 100644 services/libs/httpclients/config/production.json delete mode 100644 services/libs/httpclients/config/staging.json delete mode 100644 services/libs/httpclients/src/conf/index.ts delete mode 100644 services/libs/httpclients/src/factoryMethods.ts create mode 100644 services/libs/httpclients/src/types.ts delete mode 100644 services/libs/opensearch/config/custom-environment-variables.json delete mode 100644 services/libs/opensearch/config/default.json delete mode 100644 services/libs/opensearch/config/docker.json delete mode 100644 services/libs/opensearch/config/production.json delete mode 100644 services/libs/opensearch/config/staging.json delete mode 100644 services/libs/opensearch/src/conf/index.ts create mode 100644 services/libs/types/src/service.ts diff --git a/backend/config/custom-environment-variables.json b/backend/config/custom-environment-variables.json index 7ec18c3020..fdab5a8d9e 100644 --- a/backend/config/custom-environment-variables.json +++ b/backend/config/custom-environment-variables.json @@ -195,5 +195,8 @@ "tenantId": "CROWD_ANALYTICS_TENANT_ID", "baseUrl": "CROWD_ANALYTICS_BASE_URL", "apiToken": "CROWD_ANALYTICS_API_TOKEN" + }, + "searchSyncApi": { + "baseUrl": "CROWD_SEARCH_SYNC_API_URL" } } diff --git a/backend/src/conf/index.ts b/backend/src/conf/index.ts index 41220ae8ba..ac89318339 100644 --- a/backend/src/conf/index.ts +++ b/backend/src/conf/index.ts @@ -1,5 +1,6 @@ import config from 'config' import { IRedisConfiguration } from '@crowd/redis' +import { ISearchSyncApiConfig } from '@crowd/httpclients' import { SQSConfiguration, S3Configuration, @@ -134,3 +135,6 @@ export const WEEKLY_EMAILS_CONFIG: WeeklyEmailsConfiguration = export const CROWD_ANALYTICS_CONFIG: CrowdAnalyticsConfiguration = config.get('crowdAnalytics') + +export const SEARCH_SYNC_API_CONFIG: ISearchSyncApiConfig = + config.get('searchSyncApi') diff --git a/backend/src/services/activityService.ts b/backend/src/services/activityService.ts index 9ae2a38b2c..cf571508dd 100644 --- a/backend/src/services/activityService.ts +++ b/backend/src/services/activityService.ts @@ -3,7 +3,7 @@ import { Blob } from 'buffer' import vader from 'crowd-sentiment' import { Transaction } from 'sequelize/types' import { PlatformType } from '@crowd/types' -import { getSearchSyncApiClient } from '@crowd/httpclients' +import { getSearchSyncApiClient } from '@/utils/apiClients' import { IS_DEV_ENV, IS_TEST_ENV, GITHUB_CONFIG } from '../conf' import ActivityRepository from '../database/repositories/activityRepository' import MemberAttributeSettingsRepository from '../database/repositories/memberAttributeSettingsRepository' diff --git a/backend/src/services/integrationService.ts b/backend/src/services/integrationService.ts index f197888b36..3c01948e88 100644 --- a/backend/src/services/integrationService.ts +++ b/backend/src/services/integrationService.ts @@ -17,7 +17,7 @@ import { getHubspotLists, IProcessStreamContext, } from '@crowd/integrations' -import { getSearchSyncApiClient } from '@crowd/httpclients' +import { getSearchSyncApiClient } from '@/utils/apiClients' import { ILinkedInOrganization } from '../serverless/integrations/types/linkedinTypes' import { DISCORD_CONFIG, GITHUB_CONFIG, IS_TEST_ENV, KUBE_MODE, NANGO_CONFIG } from '../conf/index' import Error400 from '../errors/Error400' diff --git a/backend/src/services/memberService.ts b/backend/src/services/memberService.ts index c6f18433f1..65f149bc3a 100644 --- a/backend/src/services/memberService.ts +++ b/backend/src/services/memberService.ts @@ -6,7 +6,7 @@ import moment from 'moment-timezone' import validator from 'validator' import { IOrganization, MemberAttributeType } from '@crowd/types' import { isDomainExcluded } from '@crowd/common' -import { getSearchSyncApiClient } from '@crowd/httpclients' +import { getSearchSyncApiClient } from '@/utils/apiClients' import { IRepositoryOptions } from '../database/repositories/IRepositoryOptions' import ActivityRepository from '../database/repositories/activityRepository' import MemberAttributeSettingsRepository from '../database/repositories/memberAttributeSettingsRepository' diff --git a/backend/src/services/organizationService.ts b/backend/src/services/organizationService.ts index fdc75ae29c..2325ccd598 100644 --- a/backend/src/services/organizationService.ts +++ b/backend/src/services/organizationService.ts @@ -1,7 +1,7 @@ import { websiteNormalizer } from '@crowd/common' import { LoggerBase } from '@crowd/logging' import { IOrganization, IOrganizationIdentity, OrganizationMergeSuggestionType } from '@crowd/types' -import { getSearchSyncApiClient } from '@crowd/httpclients' +import { getSearchSyncApiClient } from '@/utils/apiClients' import { IRepositoryOptions } from '@/database/repositories/IRepositoryOptions' import getObjectWithoutKey from '@/utils/getObjectWithoutKey' import { CLEARBIT_CONFIG, IS_TEST_ENV } from '../conf' diff --git a/backend/src/services/premium/enrichment/memberEnrichmentService.ts b/backend/src/services/premium/enrichment/memberEnrichmentService.ts index 3e24bfdf2e..945034bd39 100644 --- a/backend/src/services/premium/enrichment/memberEnrichmentService.ts +++ b/backend/src/services/premium/enrichment/memberEnrichmentService.ts @@ -12,7 +12,7 @@ import { PlatformType, OrganizationSource, } from '@crowd/types' -import { getSearchSyncApiClient } from '@crowd/httpclients' +import { getSearchSyncApiClient } from '@/utils/apiClients' import { ENRICHMENT_CONFIG, REDIS_CONFIG } from '../../../conf' import { AttributeData } from '../../../database/attributes/attribute' import MemberEnrichmentCacheRepository from '../../../database/repositories/memberEnrichmentCacheRepository' diff --git a/backend/src/services/premium/enrichment/organizationEnrichmentService.ts b/backend/src/services/premium/enrichment/organizationEnrichmentService.ts index f9ed1b739c..4c2738eaf5 100644 --- a/backend/src/services/premium/enrichment/organizationEnrichmentService.ts +++ b/backend/src/services/premium/enrichment/organizationEnrichmentService.ts @@ -10,7 +10,7 @@ import { IOrganizationCache, PlatformType, } from '@crowd/types' -import { getSearchSyncApiClient } from '@crowd/httpclients' +import { getSearchSyncApiClient } from '@/utils/apiClients' import { REDIS_CONFIG } from '../../../conf' import OrganizationRepository from '../../../database/repositories/organizationRepository' import { renameKeys } from '../../../utils/renameKeys' diff --git a/backend/src/utils/apiClients.ts b/backend/src/utils/apiClients.ts new file mode 100644 index 0000000000..ddc2cf4204 --- /dev/null +++ b/backend/src/utils/apiClients.ts @@ -0,0 +1,13 @@ +import { SearchSyncApiClient } from '@crowd/httpclients' +import { SEARCH_SYNC_API_CONFIG } from '../conf' + +const config = SEARCH_SYNC_API_CONFIG + +let searchSyncApiClient: SearchSyncApiClient +export const getSearchSyncApiClient = async (): Promise => { + if (!searchSyncApiClient) { + searchSyncApiClient = new SearchSyncApiClient(config) + } + + return searchSyncApiClient +} diff --git a/services/apps/data_sink_worker/config/custom-environment-variables.json b/services/apps/data_sink_worker/config/custom-environment-variables.json index 6f13b81482..0ed92466a2 100644 --- a/services/apps/data_sink_worker/config/custom-environment-variables.json +++ b/services/apps/data_sink_worker/config/custom-environment-variables.json @@ -26,5 +26,8 @@ "password": "CROWD_REDIS_PASSWORD", "host": "CROWD_REDIS_HOST", "port": "CROWD_REDIS_PORT" + }, + "searchSyncApi": { + "baseUrl": "CROWD_SEARCH_SYNC_API_URL" } } diff --git a/services/apps/data_sink_worker/src/bin/map-member-to-org.ts b/services/apps/data_sink_worker/src/bin/map-member-to-org.ts index 24a83df76c..36b6fedb18 100644 --- a/services/apps/data_sink_worker/src/bin/map-member-to-org.ts +++ b/services/apps/data_sink_worker/src/bin/map-member-to-org.ts @@ -1,13 +1,13 @@ -import { DB_CONFIG, SQS_CONFIG } from '../conf' +import { DB_CONFIG, SEARCH_SYNC_API_CONFIG, SQS_CONFIG } from '../conf' import { DbStore, getDbConnection } from '@crowd/database' import { getServiceTracer } from '@crowd/tracing' import { getServiceLogger } from '@crowd/logging' -import { getSearchSyncApiClient } from '@crowd/httpclients' import { DataSinkWorkerEmitter, NodejsWorkerEmitter, getSqsClient } from '@crowd/sqs' import MemberRepository from '../repo/member.repo' import MemberService from '../service/member.service' import DataSinkRepository from '../repo/dataSink.repo' import { OrganizationService } from '../service/organization.service' +import { SearchSyncApiClient } from '../../../../libs/httpclients/src/searchSyncApiClient' const tracer = getServiceTracer() const log = getServiceLogger() @@ -35,10 +35,10 @@ setImmediate(async () => { const nodejsWorkerEmitter = new NodejsWorkerEmitter(sqsClient, tracer, log) await nodejsWorkerEmitter.init() - const memberService = new MemberService(store, nodejsWorkerEmitter, log) - const orgService = new OrganizationService(store, log) + const searchSyncApi = new SearchSyncApiClient(SEARCH_SYNC_API_CONFIG()) - const searchSyncApi = await getSearchSyncApiClient() + const memberService = new MemberService(store, nodejsWorkerEmitter, searchSyncApi, log) + const orgService = new OrganizationService(store, log) try { const member = await memberRepo.findById(memberId) diff --git a/services/apps/data_sink_worker/src/bin/map-tenant-members-to-org.ts b/services/apps/data_sink_worker/src/bin/map-tenant-members-to-org.ts index c3ffb7bc58..d4ca52e4f0 100644 --- a/services/apps/data_sink_worker/src/bin/map-tenant-members-to-org.ts +++ b/services/apps/data_sink_worker/src/bin/map-tenant-members-to-org.ts @@ -1,13 +1,13 @@ -import { DB_CONFIG, SQS_CONFIG } from '../conf' +import { DB_CONFIG, SEARCH_SYNC_API_CONFIG, SQS_CONFIG } from '../conf' import { DbStore, getDbConnection } from '@crowd/database' import { getServiceTracer } from '@crowd/tracing' import { getServiceLogger } from '@crowd/logging' -import { getSearchSyncApiClient } from '@crowd/httpclients' import { DataSinkWorkerEmitter, NodejsWorkerEmitter, getSqsClient } from '@crowd/sqs' import MemberRepository from '../repo/member.repo' import DataSinkRepository from '../repo/dataSink.repo' import MemberService from '../service/member.service' import { OrganizationService } from '../service/organization.service' +import { SearchSyncApiClient } from '@crowd/httpclients' const tracer = getServiceTracer() const log = getServiceLogger() @@ -38,10 +38,10 @@ setImmediate(async () => { const nodejsWorkerEmitter = new NodejsWorkerEmitter(sqsClient, tracer, log) await nodejsWorkerEmitter.init() - const memberService = new MemberService(store, nodejsWorkerEmitter, log) - const orgService = new OrganizationService(store, log) + const searchSyncApi = new SearchSyncApiClient(SEARCH_SYNC_API_CONFIG()) - const searchSyncApi = await getSearchSyncApiClient() + const memberService = new MemberService(store, nodejsWorkerEmitter, searchSyncApi, log) + const orgService = new OrganizationService(store, log) const limit = 100 let offset = 0 diff --git a/services/apps/data_sink_worker/src/conf/index.ts b/services/apps/data_sink_worker/src/conf/index.ts index 962d745fd9..c07403227c 100644 --- a/services/apps/data_sink_worker/src/conf/index.ts +++ b/services/apps/data_sink_worker/src/conf/index.ts @@ -3,6 +3,7 @@ import { IDatabaseConfig } from '@crowd/database' import { ISqsClientConfig } from '@crowd/sqs' import { ISentimentClientConfig } from '@crowd/sentiment' import config from 'config' +import { ISearchSyncApiConfig } from '@crowd/httpclients' export interface ISlackAlertingConfig { url: string @@ -52,3 +53,7 @@ export const SENTIMENT_CONFIG = (): ISentimentClientConfig | undefined => { return sentimentConfig } + +export const SEARCH_SYNC_API_CONFIG = (): ISearchSyncApiConfig => { + return config.get('searchSyncApi') +} diff --git a/services/apps/data_sink_worker/src/main.ts b/services/apps/data_sink_worker/src/main.ts index a993e5b7f3..55b58baa5b 100644 --- a/services/apps/data_sink_worker/src/main.ts +++ b/services/apps/data_sink_worker/src/main.ts @@ -2,11 +2,18 @@ import { getDbConnection } from '@crowd/database' import { getServiceTracer } from '@crowd/tracing' import { getServiceLogger } from '@crowd/logging' import { NodejsWorkerEmitter, getSqsClient } from '@crowd/sqs' -import { DB_CONFIG, SENTIMENT_CONFIG, SQS_CONFIG, REDIS_CONFIG } from './conf' +import { + DB_CONFIG, + SENTIMENT_CONFIG, + SQS_CONFIG, + REDIS_CONFIG, + SEARCH_SYNC_API_CONFIG, +} from './conf' import { WorkerQueueReceiver } from './queue' import { initializeSentimentAnalysis } from '@crowd/sentiment' import { getRedisClient } from '@crowd/redis' import { processOldResultsJob } from './jobs/processOldResults' +import { SearchSyncApiClient } from '@crowd/httpclients' const tracer = getServiceTracer() const log = getServiceLogger() @@ -29,11 +36,14 @@ setImmediate(async () => { const nodejsWorkerEmitter = new NodejsWorkerEmitter(sqsClient, tracer, log) + const searchSyncApi = new SearchSyncApiClient(SEARCH_SYNC_API_CONFIG()) + const queue = new WorkerQueueReceiver( sqsClient, dbConnection, nodejsWorkerEmitter, redisClient, + searchSyncApi, tracer, log, MAX_CONCURRENT_PROCESSING, diff --git a/services/apps/data_sink_worker/src/queue/index.ts b/services/apps/data_sink_worker/src/queue/index.ts index 17e0aa022a..e9184ec757 100644 --- a/services/apps/data_sink_worker/src/queue/index.ts +++ b/services/apps/data_sink_worker/src/queue/index.ts @@ -15,6 +15,7 @@ import { } from '@crowd/types' import DataSinkService from '../service/dataSink.service' import { RedisClient } from '@crowd/redis' +import { SearchSyncApiClient } from '@crowd/httpclients' export class WorkerQueueReceiver extends SqsQueueReceiver { constructor( @@ -22,6 +23,7 @@ export class WorkerQueueReceiver extends SqsQueueReceiver { private readonly dbConn: DbConnection, private readonly nodejsWorkerEmitter: NodejsWorkerEmitter, private readonly redisClient: RedisClient, + private readonly searchSyncApi: SearchSyncApiClient, tracer: Tracer, parentLog: Logger, maxConcurrentProcessing: number, @@ -38,6 +40,7 @@ export class WorkerQueueReceiver extends SqsQueueReceiver { new DbStore(this.log, this.dbConn), this.nodejsWorkerEmitter, this.redisClient, + this.searchSyncApi, this.log, ) diff --git a/services/apps/data_sink_worker/src/service/activity.service.ts b/services/apps/data_sink_worker/src/service/activity.service.ts index 939857d26f..032a0f2c51 100644 --- a/services/apps/data_sink_worker/src/service/activity.service.ts +++ b/services/apps/data_sink_worker/src/service/activity.service.ts @@ -3,7 +3,7 @@ import MemberRepository from '../repo/member.repo' import { isObjectEmpty, singleOrDefault, escapeNullByte } from '@crowd/common' import { DbStore, arePrimitivesDbEqual } from '@crowd/database' import { Logger, LoggerBase, getChildLogger } from '@crowd/logging' -import { getSearchSyncApiClient } from '@crowd/httpclients' +import { SearchSyncApiClient } from '@crowd/httpclients' import { ISentimentAnalysisResult, getSentiment } from '@crowd/sentiment' import { IActivityData, PlatformType } from '@crowd/types' import ActivityRepository from '../repo/activity.repo' @@ -30,6 +30,7 @@ export default class ActivityService extends LoggerBase { private readonly store: DbStore, private readonly nodejsWorkerEmitter: NodejsWorkerEmitter, private readonly redisClient: RedisClient, + private readonly searchSyncApi: SearchSyncApiClient, parentLog: Logger, ) { super(parentLog) @@ -47,7 +48,6 @@ export default class ActivityService extends LoggerBase { this.log.debug('Creating an activity.') const sentiment = await getSentiment(`${activity.body || ''} ${activity.title || ''}`.trim()) - const searchSyncApi = await getSearchSyncApiClient() const id = await this.store.transactionally(async (txStore) => { const txRepo = new ActivityRepository(txStore, this.log) @@ -94,13 +94,13 @@ export default class ActivityService extends LoggerBase { const affectedIds = await this.conversationService.processActivity(tenantId, segmentId, id) if (fireSync) { - await searchSyncApi.triggerMemberSync(activity.memberId) - await searchSyncApi.triggerActivitySync(id) + await this.searchSyncApi.triggerMemberSync(activity.memberId) + await this.searchSyncApi.triggerActivitySync(id) } if (affectedIds.length > 0) { for (const affectedId of affectedIds.filter((i) => i !== id)) { - await searchSyncApi.triggerActivitySync(affectedId) + await this.searchSyncApi.triggerActivitySync(affectedId) } } @@ -120,7 +120,6 @@ export default class ActivityService extends LoggerBase { fireSync = true, ): Promise { try { - const searchSyncApi = await getSearchSyncApiClient() const updated = await this.store.transactionally(async (txStore) => { const txRepo = new ActivityRepository(txStore, this.log) const txSettingsRepo = new SettingsRepository(txStore, this.log) @@ -174,8 +173,8 @@ export default class ActivityService extends LoggerBase { await this.conversationService.processActivity(tenantId, segmentId, id) if (fireSync) { - await searchSyncApi.triggerMemberSync(activity.memberId) - await searchSyncApi.triggerActivitySync(id) + await this.searchSyncApi.triggerMemberSync(activity.memberId) + await this.searchSyncApi.triggerActivitySync(id) } } } catch (err) { @@ -375,18 +374,22 @@ export default class ActivityService extends LoggerBase { let objectMemberId: string | undefined let activityId: string - const searchSyncApi = await getSearchSyncApiClient() - await this.store.transactionally(async (txStore) => { let segmentId: string try { const txRepo = new ActivityRepository(txStore, this.log) const txMemberRepo = new MemberRepository(txStore, this.log) - const txMemberService = new MemberService(txStore, this.nodejsWorkerEmitter, this.log) + const txMemberService = new MemberService( + txStore, + this.nodejsWorkerEmitter, + this.searchSyncApi, + this.log, + ) const txActivityService = new ActivityService( txStore, this.nodejsWorkerEmitter, this.redisClient, + this.searchSyncApi, this.log, ) const txIntegrationRepo = new IntegrationRepository(txStore, this.log) @@ -445,7 +448,7 @@ export default class ActivityService extends LoggerBase { // delete activity await txRepo.delete(dbActivity.id) - await searchSyncApi.triggerRemoveActivity(dbActivity.id) + await this.searchSyncApi.triggerRemoveActivity(dbActivity.id) createActivity = true } @@ -562,7 +565,7 @@ export default class ActivityService extends LoggerBase { // delete activity await txRepo.delete(dbActivity.id) - await searchSyncApi.triggerRemoveActivity(dbActivity.id) + await this.searchSyncApi.triggerRemoveActivity(dbActivity.id) createActivity = true } @@ -817,12 +820,12 @@ export default class ActivityService extends LoggerBase { } }) - await searchSyncApi.triggerMemberSync(memberId) + await this.searchSyncApi.triggerMemberSync(memberId) if (objectMemberId) { - await searchSyncApi.triggerMemberSync(objectMemberId) + await this.searchSyncApi.triggerMemberSync(objectMemberId) } if (activityId) { - await searchSyncApi.triggerActivitySync(activityId) + await this.searchSyncApi.triggerActivitySync(activityId) } } catch (err) { this.log.error(err, 'Error while processing an activity!') diff --git a/services/apps/data_sink_worker/src/service/dataSink.service.ts b/services/apps/data_sink_worker/src/service/dataSink.service.ts index 4fb041c599..1f853add13 100644 --- a/services/apps/data_sink_worker/src/service/dataSink.service.ts +++ b/services/apps/data_sink_worker/src/service/dataSink.service.ts @@ -14,6 +14,7 @@ import DataSinkRepository from '../repo/dataSink.repo' import ActivityService from './activity.service' import MemberService from './member.service' import { OrganizationService } from './organization.service' +import { SearchSyncApiClient } from '@crowd/httpclients' export default class DataSinkService extends LoggerBase { private readonly repo: DataSinkRepository @@ -22,6 +23,7 @@ export default class DataSinkService extends LoggerBase { private readonly store: DbStore, private readonly nodejsWorkerEmitter: NodejsWorkerEmitter, private readonly redisClient: RedisClient, + private readonly searchSyncApi: SearchSyncApiClient, parentLog: Logger, ) { super(parentLog) @@ -105,6 +107,7 @@ export default class DataSinkService extends LoggerBase { this.store, this.nodejsWorkerEmitter, this.redisClient, + this.searchSyncApi, this.log, ) const activityData = data.data as IActivityData @@ -122,7 +125,12 @@ export default class DataSinkService extends LoggerBase { } case IntegrationResultType.MEMBER_ENRICH: { - const service = new MemberService(this.store, this.nodejsWorkerEmitter, this.log) + const service = new MemberService( + this.store, + this.nodejsWorkerEmitter, + this.searchSyncApi, + this.log, + ) const memberData = data.data as IMemberData await service.processMemberEnrich( diff --git a/services/apps/data_sink_worker/src/service/member.service.ts b/services/apps/data_sink_worker/src/service/member.service.ts index 9b24bda202..5c92e6987d 100644 --- a/services/apps/data_sink_worker/src/service/member.service.ts +++ b/services/apps/data_sink_worker/src/service/member.service.ts @@ -7,7 +7,6 @@ import { isDomainExcluded, } from '@crowd/common' import { DbStore } from '@crowd/database' -import { getSearchSyncApiClient } from '@crowd/httpclients' import { Logger, LoggerBase, getChildLogger } from '@crowd/logging' import { IMemberData, @@ -24,11 +23,13 @@ import { NodejsWorkerEmitter } from '@crowd/sqs' import IntegrationRepository from '../repo/integration.repo' import { OrganizationService } from './organization.service' import uniqby from 'lodash.uniqby' +import { SearchSyncApiClient } from '@crowd/httpclients' export default class MemberService extends LoggerBase { constructor( private readonly store: DbStore, private readonly nodejsWorkerEmitter: NodejsWorkerEmitter, + private readonly searchSyncApi: SearchSyncApiClient, parentLog: Logger, ) { super(parentLog) @@ -120,14 +121,13 @@ export default class MemberService extends LoggerBase { }) await this.nodejsWorkerEmitter.processAutomationForNewMember(tenantId, id) - const searchSyncApi = await getSearchSyncApiClient() if (fireSync) { - await searchSyncApi.triggerMemberSync(id) + await this.searchSyncApi.triggerMemberSync(id) } for (const org of organizations) { - await searchSyncApi.triggerOrganizationSync(org.id) + await this.searchSyncApi.triggerOrganizationSync(org.id) } return id @@ -148,7 +148,6 @@ export default class MemberService extends LoggerBase { releaseMemberLock?: () => Promise, ): Promise { try { - const searchSyncApi = await getSearchSyncApiClient() const { updated, organizations } = await this.store.transactionally(async (txStore) => { const txRepo = new MemberRepository(txStore, this.log) const txMemberAttributeService = new MemberAttributeService(txStore, this.log) @@ -247,11 +246,11 @@ export default class MemberService extends LoggerBase { }) if (updated && fireSync) { - await searchSyncApi.triggerMemberSync(id) + await this.searchSyncApi.triggerMemberSync(id) } for (const org of organizations) { - await searchSyncApi.triggerOrganizationSync(org.id) + await this.searchSyncApi.triggerOrganizationSync(org.id) } } catch (err) { this.log.error(err, { memberId: id }, 'Error while updating a member!') @@ -330,7 +329,12 @@ export default class MemberService extends LoggerBase { await this.store.transactionally(async (txStore) => { const txRepo = new MemberRepository(txStore, this.log) const txIntegrationRepo = new IntegrationRepository(txStore, this.log) - const txService = new MemberService(txStore, this.nodejsWorkerEmitter, this.log) + const txService = new MemberService( + txStore, + this.nodejsWorkerEmitter, + this.searchSyncApi, + this.log, + ) const dbIntegration = await txIntegrationRepo.findById(integrationId) const segmentId = dbIntegration.segmentId diff --git a/services/apps/integration_run_worker/config/custom-environment-variables.json b/services/apps/integration_run_worker/config/custom-environment-variables.json index e427dee209..4f9a1f80b4 100644 --- a/services/apps/integration_run_worker/config/custom-environment-variables.json +++ b/services/apps/integration_run_worker/config/custom-environment-variables.json @@ -34,5 +34,8 @@ "privateKey": "CROWD_GITHUB_PRIVATE_KEY", "webhookSecret": "CROWD_GITHUB_WEBHOOK_SECRET", "isCommitDataEnabled": "CROWD_GITHUB_IS_COMMIT_DATA_ENABLED" + }, + "searchSyncApi": { + "baseUrl": "CROWD_SEARCH_SYNC_API_URL" } } diff --git a/services/apps/integration_run_worker/src/conf/index.ts b/services/apps/integration_run_worker/src/conf/index.ts index d4ba63f4d5..1a4f7298fc 100644 --- a/services/apps/integration_run_worker/src/conf/index.ts +++ b/services/apps/integration_run_worker/src/conf/index.ts @@ -1,4 +1,5 @@ import { IDatabaseConfig } from '@crowd/database' +import { ISearchSyncApiConfig } from '@crowd/httpclients' import { IRedisConfiguration } from '@crowd/redis' import { ISqsClientConfig } from '@crowd/sqs' import config from 'config' @@ -85,3 +86,7 @@ export const PLATFORM_CONFIG = (platform: string): unknown | undefined => { return undefined } } + +export const SEARCH_SYNC_API_CONFIG = (): ISearchSyncApiConfig => { + return config.get('searchSyncApi') +} diff --git a/services/apps/integration_run_worker/src/main.ts b/services/apps/integration_run_worker/src/main.ts index e4cc6b7d31..3067434517 100644 --- a/services/apps/integration_run_worker/src/main.ts +++ b/services/apps/integration_run_worker/src/main.ts @@ -7,9 +7,10 @@ import { IntegrationSyncWorkerEmitter, getSqsClient, } from '@crowd/sqs' -import { DB_CONFIG, REDIS_CONFIG, SQS_CONFIG } from './conf' +import { DB_CONFIG, REDIS_CONFIG, SEARCH_SYNC_API_CONFIG, SQS_CONFIG } from './conf' import { WorkerQueueReceiver } from './queue' import { ApiPubSubEmitter, getRedisClient } from '@crowd/redis' +import { SearchSyncApiClient } from '@crowd/httpclients' const tracer = getServiceTracer() const log = getServiceLogger() @@ -30,6 +31,8 @@ setImmediate(async () => { const apiPubSubEmitter = new ApiPubSubEmitter(redisClient, log) + const searchSyncApi = new SearchSyncApiClient(SEARCH_SYNC_API_CONFIG()) + const queue = new WorkerQueueReceiver( sqsClient, redisClient, @@ -38,6 +41,7 @@ setImmediate(async () => { runWorkerEmitter, integrationSyncWorkerEmitter, apiPubSubEmitter, + searchSyncApi, tracer, log, MAX_CONCURRENT_PROCESSING, diff --git a/services/apps/integration_run_worker/src/queue/index.ts b/services/apps/integration_run_worker/src/queue/index.ts index d1a6fab2c1..e1828fcf3b 100644 --- a/services/apps/integration_run_worker/src/queue/index.ts +++ b/services/apps/integration_run_worker/src/queue/index.ts @@ -18,6 +18,7 @@ import { StreamProcessedQueueMessage, } from '@crowd/types' import IntegrationRunService from '../service/integrationRunService' +import { SearchSyncApiClient } from '@crowd/httpclients' /* eslint-disable no-case-declarations */ @@ -30,6 +31,7 @@ export class WorkerQueueReceiver extends SqsQueueReceiver { private readonly runWorkerEmitter: IntegrationRunWorkerEmitter, private readonly integrationSyncWorkerEmitter: IntegrationSyncWorkerEmitter, private readonly apiPubSubEmitter: ApiPubSubEmitter, + private readonly searchSyncApi: SearchSyncApiClient, tracer: Tracer, parentLog: Logger, maxConcurrentProcessing: number, @@ -48,6 +50,7 @@ export class WorkerQueueReceiver extends SqsQueueReceiver { this.runWorkerEmitter, this.integrationSyncWorkerEmitter, this.apiPubSubEmitter, + this.searchSyncApi, new DbStore(this.log, this.dbConn), this.log, ) diff --git a/services/apps/integration_run_worker/src/service/integrationRunService.ts b/services/apps/integration_run_worker/src/service/integrationRunService.ts index 4229232929..b912730f73 100644 --- a/services/apps/integration_run_worker/src/service/integrationRunService.ts +++ b/services/apps/integration_run_worker/src/service/integrationRunService.ts @@ -12,13 +12,13 @@ import { IntegrationStreamWorkerEmitter, IntegrationSyncWorkerEmitter, } from '@crowd/sqs' -import { getSearchSyncApiClient } from '@crowd/httpclients' import { IntegrationRunState, IntegrationStreamState } from '@crowd/types' import { NANGO_CONFIG, PLATFORM_CONFIG } from '../conf' import IntegrationRunRepository from '../repo/integrationRun.repo' import MemberAttributeSettingsRepository from '../repo/memberAttributeSettings.repo' import SampleDataRepository from '../repo/sampleData.repo' import { AutomationRepository } from '../repo/automation.repo' +import { SearchSyncApiClient } from '@crowd/httpclients' export default class IntegrationRunService extends LoggerBase { private readonly repo: IntegrationRunRepository @@ -31,6 +31,7 @@ export default class IntegrationRunService extends LoggerBase { private readonly runWorkerEmitter: IntegrationRunWorkerEmitter, private readonly integrationSyncWorkerEmitter: IntegrationSyncWorkerEmitter, private readonly apiPubSubEmitter: ApiPubSubEmitter, + private readonly searchSyncApi: SearchSyncApiClient, private readonly store: DbStore, parentLog: Logger, ) { @@ -336,10 +337,8 @@ export default class IntegrationRunService extends LoggerBase { await txRepo.deleteSampleData(runInfo.tenantId) }) - const searchSyncApi = await getSearchSyncApiClient() - - await searchSyncApi.triggerActivityCleanup(runInfo.tenantId) - await searchSyncApi.triggerMemberCleanup(runInfo.tenantId) + await this.searchSyncApi.triggerActivityCleanup(runInfo.tenantId) + await this.searchSyncApi.triggerMemberCleanup(runInfo.tenantId) } catch (err) { this.log.error({ err }, 'Error while deleting sample data!') await this.triggerRunError( diff --git a/services/apps/search_sync_api/src/conf/index.ts b/services/apps/search_sync_api/src/conf/index.ts index 1d588406e0..c5d66cbe49 100644 --- a/services/apps/search_sync_api/src/conf/index.ts +++ b/services/apps/search_sync_api/src/conf/index.ts @@ -1,4 +1,49 @@ import config from 'config' +import { IDatabaseConfig } from '@crowd/database' +import { IRedisConfiguration } from '@crowd/redis' +export interface IOpenSearchConfig { + node: string + region?: string + accessKeyId?: string + secretAccessKey?: string +} + +export interface IServiceConfig { + edition: string +} + +let serviceConfig: IServiceConfig +export const SERVICE_CONFIG = (): IServiceConfig => { + if (serviceConfig) return serviceConfig + + serviceConfig = config.get('service') + return serviceConfig +} + +let openSearchConfig: IOpenSearchConfig +export const OPENSEARCH_CONFIG = (): IOpenSearchConfig => { + if (openSearchConfig) return openSearchConfig + + openSearchConfig = config.get('opensearch') + return openSearchConfig +} + +let dbConfig: IDatabaseConfig +export const DB_CONFIG = (): IDatabaseConfig => { + if (dbConfig) return dbConfig + + dbConfig = config.get('db') + return dbConfig +} + +let redisConfig: IRedisConfiguration +export const REDIS_CONFIG = (): IRedisConfiguration => { + if (redisConfig) return redisConfig + + redisConfig = config.get('redis') + return redisConfig +} + export interface ISearchSyncApiServiceConfig { port: number } diff --git a/services/apps/search_sync_api/src/main.ts b/services/apps/search_sync_api/src/main.ts index 6722851638..e1164dc5f2 100644 --- a/services/apps/search_sync_api/src/main.ts +++ b/services/apps/search_sync_api/src/main.ts @@ -1,7 +1,6 @@ import { getServiceLogger } from '@crowd/logging' import cors from 'cors' import express from 'express' -import { DB_CONFIG, REDIS_CONFIG, OPENSEARCH_CONFIG } from '@crowd/opensearch' import { databaseMiddleware } from './middleware/database' import { errorMiddleware } from './middleware/error' import { loggingMiddleware } from './middleware/logging' @@ -13,7 +12,7 @@ import { getDbConnection } from '@crowd/database' import { opensearchMiddleware } from 'middleware/opensearch' import { getRedisClient } from '@crowd/redis' import { redisMiddleware } from 'middleware/redis' -import { SEARCH_SYNC_API_CONFIG } from 'conf' +import { DB_CONFIG, OPENSEARCH_CONFIG, REDIS_CONFIG, SEARCH_SYNC_API_CONFIG } from './conf' const log = getServiceLogger() const config = SEARCH_SYNC_API_CONFIG() @@ -22,7 +21,7 @@ setImmediate(async () => { const app = express() const redis = await getRedisClient(REDIS_CONFIG(), true) const opensearch = getOpensearchClient(OPENSEARCH_CONFIG()) - const openSearchService = new OpenSearchService(log) + const openSearchService = new OpenSearchService(log, OPENSEARCH_CONFIG()) const dbConnection = await getDbConnection(DB_CONFIG(), 3) app.use(cors({ origin: true })) diff --git a/services/apps/search_sync_api/src/routes/activity.ts b/services/apps/search_sync_api/src/routes/activity.ts index 1151e642f0..38785f1922 100644 --- a/services/apps/search_sync_api/src/routes/activity.ts +++ b/services/apps/search_sync_api/src/routes/activity.ts @@ -2,13 +2,15 @@ import express from 'express' import { ActivitySyncService, OpenSearchService } from '@crowd/opensearch' import { ApiRequest } from '../middleware/index' import { asyncWrap } from 'middleware/error' +import { OPENSEARCH_CONFIG } from 'conf' const router = express.Router() +const opensearchConfig = OPENSEARCH_CONFIG() router.post( '/sync/activities', asyncWrap(async (req: ApiRequest, res) => { - const openSearchService = new OpenSearchService(req.log) + const openSearchService = new OpenSearchService(req.log, opensearchConfig) const activitySyncService = new ActivitySyncService(req.dbStore, openSearchService, req.log) const { activityIds } = req.body try { @@ -23,7 +25,7 @@ router.post( router.post( '/sync/tenant/activities', asyncWrap(async (req: ApiRequest, res) => { - const openSearchService = new OpenSearchService(req.log) + const openSearchService = new OpenSearchService(req.log, opensearchConfig) const activitySyncService = new ActivitySyncService(req.dbStore, openSearchService, req.log) const { tenantId } = req.body @@ -39,7 +41,7 @@ router.post( router.post( '/sync/organization/activities', asyncWrap(async (req: ApiRequest, res) => { - const openSearchService = new OpenSearchService(req.log) + const openSearchService = new OpenSearchService(req.log, opensearchConfig) const activitySyncService = new ActivitySyncService(req.dbStore, openSearchService, req.log) const { organizationId } = req.body @@ -55,7 +57,7 @@ router.post( router.delete( '/cleanup/tenant/activities', asyncWrap(async (req: ApiRequest, res) => { - const openSearchService = new OpenSearchService(req.log) + const openSearchService = new OpenSearchService(req.log, opensearchConfig) const activitySyncService = new ActivitySyncService(req.dbStore, openSearchService, req.log) const { tenantId } = req.body @@ -71,7 +73,7 @@ router.delete( router.delete( '/cleanup/activity', asyncWrap(async (req: ApiRequest, res) => { - const openSearchService = new OpenSearchService(req.log) + const openSearchService = new OpenSearchService(req.log, opensearchConfig) const activitySyncService = new ActivitySyncService(req.dbStore, openSearchService, req.log) const { activityId } = req.body diff --git a/services/apps/search_sync_api/src/routes/member.ts b/services/apps/search_sync_api/src/routes/member.ts index ae16492738..57bc2f1f10 100644 --- a/services/apps/search_sync_api/src/routes/member.ts +++ b/services/apps/search_sync_api/src/routes/member.ts @@ -2,18 +2,22 @@ import express from 'express' import { MemberSyncService, OpenSearchService } from '@crowd/opensearch' import { ApiRequest } from 'middleware' import { asyncWrap } from 'middleware/error' +import { OPENSEARCH_CONFIG, SERVICE_CONFIG } from 'conf' const router = express.Router() +const opensearchConfig = OPENSEARCH_CONFIG() +const serviceConfig = SERVICE_CONFIG() router.post( '/sync/members', asyncWrap(async (req: ApiRequest, res) => { - const openSearchService = new OpenSearchService(req.log) + const openSearchService = new OpenSearchService(req.log, opensearchConfig) const memberSyncService = new MemberSyncService( req.redisClient, req.dbStore, openSearchService, req.log, + serviceConfig, ) const { memberIds } = req.body @@ -29,12 +33,13 @@ router.post( router.post( '/sync/tenant/members', asyncWrap(async (req: ApiRequest, res) => { - const openSearchService = new OpenSearchService(req.log) + const openSearchService = new OpenSearchService(req.log, opensearchConfig) const memberSyncService = new MemberSyncService( req.redisClient, req.dbStore, openSearchService, req.log, + serviceConfig, ) const { tenantId } = req.body @@ -50,12 +55,13 @@ router.post( router.post( '/sync/organization/members', asyncWrap(async (req: ApiRequest, res) => { - const openSearchService = new OpenSearchService(req.log) + const openSearchService = new OpenSearchService(req.log, opensearchConfig) const memberSyncService = new MemberSyncService( req.redisClient, req.dbStore, openSearchService, req.log, + serviceConfig, ) const { organizationId } = req.body @@ -71,12 +77,13 @@ router.post( router.delete( '/cleanup/tenant/members', asyncWrap(async (req: ApiRequest, res) => { - const openSearchService = new OpenSearchService(req.log) + const openSearchService = new OpenSearchService(req.log, opensearchConfig) const memberSyncService = new MemberSyncService( req.redisClient, req.dbStore, openSearchService, req.log, + serviceConfig, ) const { tenantId } = req.body @@ -92,12 +99,13 @@ router.delete( router.delete( '/cleanup/member', asyncWrap(async (req: ApiRequest, res) => { - const openSearchService = new OpenSearchService(req.log) + const openSearchService = new OpenSearchService(req.log, opensearchConfig) const memberSyncService = new MemberSyncService( req.redisClient, req.dbStore, openSearchService, req.log, + serviceConfig, ) const { memberId } = req.body diff --git a/services/apps/search_sync_api/src/routes/organization.ts b/services/apps/search_sync_api/src/routes/organization.ts index 651884d92b..7379cfd47d 100644 --- a/services/apps/search_sync_api/src/routes/organization.ts +++ b/services/apps/search_sync_api/src/routes/organization.ts @@ -2,17 +2,21 @@ import express from 'express' import { OpenSearchService, OrganizationSyncService } from '@crowd/opensearch' import { ApiRequest } from 'middleware' import { asyncWrap } from 'middleware/error' +import { OPENSEARCH_CONFIG, SERVICE_CONFIG } from 'conf' const router = express.Router() +const openSearchConfig = OPENSEARCH_CONFIG() +const serviceConfig = SERVICE_CONFIG() router.post( '/sync/organizations', asyncWrap(async (req: ApiRequest, res) => { - const openSearchService = new OpenSearchService(req.log) + const openSearchService = new OpenSearchService(req.log, openSearchConfig) const organizationSyncService = new OrganizationSyncService( req.dbStore, openSearchService, req.log, + serviceConfig, ) const { organizationIds } = req.body try { @@ -27,11 +31,12 @@ router.post( router.post( '/sync/tenant/organizations', asyncWrap(async (req: ApiRequest, res) => { - const openSearchService = new OpenSearchService(req.log) + const openSearchService = new OpenSearchService(req.log, openSearchConfig) const organizationSyncService = new OrganizationSyncService( req.dbStore, openSearchService, req.log, + serviceConfig, ) const { tenantId } = req.body @@ -47,11 +52,12 @@ router.post( router.delete( '/cleanup/tenant/organizations', asyncWrap(async (req: ApiRequest, res) => { - const openSearchService = new OpenSearchService(req.log) + const openSearchService = new OpenSearchService(req.log, openSearchConfig) const organizationSyncService = new OrganizationSyncService( req.dbStore, openSearchService, req.log, + serviceConfig, ) const { tenantId } = req.body @@ -67,11 +73,12 @@ router.delete( router.delete( '/cleanup/organization', asyncWrap(async (req: ApiRequest, res) => { - const openSearchService = new OpenSearchService(req.log) + const openSearchService = new OpenSearchService(req.log, openSearchConfig) const organizationSyncService = new OrganizationSyncService( req.dbStore, openSearchService, req.log, + serviceConfig, ) const { organizationId } = req.body diff --git a/services/libs/httpclients/config/custom-environment-variables.json b/services/libs/httpclients/config/custom-environment-variables.json deleted file mode 100644 index 3c61774be5..0000000000 --- a/services/libs/httpclients/config/custom-environment-variables.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "service": { - "edition": "CROWD_EDITION", - "searchSyncApiUrl": "SEARCH_SYNC_API_URL" - }, - "db": {}, - "sqs": {}, - "redis": {}, - "opensearch": {} -} diff --git a/services/libs/httpclients/config/default.json b/services/libs/httpclients/config/default.json deleted file mode 100644 index 0ae2ffe715..0000000000 --- a/services/libs/httpclients/config/default.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "service": {}, - "db": {}, - "sqs": {}, - "redis": {}, - "opensearch": {} -} diff --git a/services/libs/httpclients/config/docker.json b/services/libs/httpclients/config/docker.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/services/libs/httpclients/config/docker.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/services/libs/httpclients/config/production.json b/services/libs/httpclients/config/production.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/services/libs/httpclients/config/production.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/services/libs/httpclients/config/staging.json b/services/libs/httpclients/config/staging.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/services/libs/httpclients/config/staging.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/services/libs/httpclients/package.json b/services/libs/httpclients/package.json index 349271f91d..dacdc18d4a 100644 --- a/services/libs/httpclients/package.json +++ b/services/libs/httpclients/package.json @@ -12,7 +12,6 @@ "@types/node": "^20.3.1", "@typescript-eslint/eslint-plugin": "^5.59.11", "@typescript-eslint/parser": "^5.59.11", - "config": "^3.3.9", "axios": "^1.4.0", "eslint": "^8.42.0", "eslint-config-prettier": "^8.8.0", diff --git a/services/libs/httpclients/src/conf/index.ts b/services/libs/httpclients/src/conf/index.ts deleted file mode 100644 index 7f76a12517..0000000000 --- a/services/libs/httpclients/src/conf/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -import config from 'config' - -export interface IServiceConfig { - edition: string - searchSyncApiUrl: string -} - -let serviceConfig: IServiceConfig -export const SERVICE_CONFIG = (): IServiceConfig => { - if (serviceConfig) return serviceConfig - - serviceConfig = config.get('service') - return serviceConfig -} diff --git a/services/libs/httpclients/src/factoryMethods.ts b/services/libs/httpclients/src/factoryMethods.ts deleted file mode 100644 index f67e8c1ecc..0000000000 --- a/services/libs/httpclients/src/factoryMethods.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { SearchSyncApiClient } from './searchSyncApiClient' - -let searchSyncApiClient: SearchSyncApiClient -export const getSearchSyncApiClient = async (): Promise => { - if (!searchSyncApiClient) { - searchSyncApiClient = new SearchSyncApiClient() - } - - return searchSyncApiClient -} diff --git a/services/libs/httpclients/src/index.ts b/services/libs/httpclients/src/index.ts index f83a5e0976..5783a275e2 100644 --- a/services/libs/httpclients/src/index.ts +++ b/services/libs/httpclients/src/index.ts @@ -1 +1,2 @@ -export * from './factoryMethods' +export * from './types' +export * from './searchSyncApiClient' diff --git a/services/libs/httpclients/src/searchSyncApiClient.ts b/services/libs/httpclients/src/searchSyncApiClient.ts index 1f885a14a5..a46bbefdef 100644 --- a/services/libs/httpclients/src/searchSyncApiClient.ts +++ b/services/libs/httpclients/src/searchSyncApiClient.ts @@ -1,13 +1,12 @@ import axios from 'axios' -import { SERVICE_CONFIG } from 'conf' +import { ISearchSyncApiConfig } from './types' -const config = SERVICE_CONFIG() export class SearchSyncApiClient { private searchSyncApi - constructor() { + constructor(config: ISearchSyncApiConfig) { this.searchSyncApi = axios.create({ - baseURL: config.searchSyncApiUrl, + baseURL: config.baseUrl, }) } @@ -151,12 +150,3 @@ export class SearchSyncApiClient { }) } } - -let searchSyncApiClient: SearchSyncApiClient -export const getSearchSyncApiClient = async (): Promise => { - if (!searchSyncApiClient) { - searchSyncApiClient = new SearchSyncApiClient() - } - - return searchSyncApiClient -} diff --git a/services/libs/httpclients/src/types.ts b/services/libs/httpclients/src/types.ts new file mode 100644 index 0000000000..98c198022b --- /dev/null +++ b/services/libs/httpclients/src/types.ts @@ -0,0 +1,3 @@ +export interface ISearchSyncApiConfig { + baseUrl: string +} diff --git a/services/libs/opensearch/config/custom-environment-variables.json b/services/libs/opensearch/config/custom-environment-variables.json deleted file mode 100644 index 5d53ec56f9..0000000000 --- a/services/libs/opensearch/config/custom-environment-variables.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "service": { - "edition": "CROWD_EDITION" - }, - "db": { - "host": "CROWD_DB_WRITE_HOST", - "port": "CROWD_DB_PORT", - "database": "CROWD_DB_DATABASE", - "user": "CROWD_DB_USERNAME", - "password": "CROWD_DB_PASSWORD" - }, - "sqs": { - "region": "CROWD_SQS_AWS_REGION", - "host": "CROWD_SQS_HOST", - "port": "CROWD_SQS_PORT", - "accessKeyId": "CROWD_SQS_AWS_ACCESS_KEY_ID", - "secretAccessKey": "CROWD_SQS_AWS_SECRET_ACCESS_KEY" - }, - "redis": { - "username": "CROWD_REDIS_USERNAME", - "password": "CROWD_REDIS_PASSWORD", - "host": "CROWD_REDIS_HOST", - "port": "CROWD_REDIS_PORT" - }, - "opensearch": { - "node": "CROWD_OPENSEARCH_NODE", - "region": "CROWD_OPENSEARCH_AWS_REGION", - "accessKeyId": "CROWD_OPENSEARCH_AWS_ACCESS_KEY_ID", - "secretAccessKey": "CROWD_OPENSEARCH_AWS_SECRET_ACCESS_KEY" - } -} diff --git a/services/libs/opensearch/config/default.json b/services/libs/opensearch/config/default.json deleted file mode 100644 index 0ae2ffe715..0000000000 --- a/services/libs/opensearch/config/default.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "service": {}, - "db": {}, - "sqs": {}, - "redis": {}, - "opensearch": {} -} diff --git a/services/libs/opensearch/config/docker.json b/services/libs/opensearch/config/docker.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/services/libs/opensearch/config/docker.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/services/libs/opensearch/config/production.json b/services/libs/opensearch/config/production.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/services/libs/opensearch/config/production.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/services/libs/opensearch/config/staging.json b/services/libs/opensearch/config/staging.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/services/libs/opensearch/config/staging.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/services/libs/opensearch/package.json b/services/libs/opensearch/package.json index 4cfea07329..cb7c1f536a 100644 --- a/services/libs/opensearch/package.json +++ b/services/libs/opensearch/package.json @@ -12,7 +12,6 @@ "@types/node": "^18.16.3", "@typescript-eslint/eslint-plugin": "^5.59.2", "@typescript-eslint/parser": "^5.59.2", - "config": "^3.3.9", "eslint": "^8.39.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", diff --git a/services/libs/opensearch/src/conf/index.ts b/services/libs/opensearch/src/conf/index.ts deleted file mode 100644 index 28c8b537d4..0000000000 --- a/services/libs/opensearch/src/conf/index.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { IDatabaseConfig } from '@crowd/database' -import { IRedisConfiguration } from '@crowd/redis' -import config from 'config' - -export interface IOpenSearchConfig { - node: string - region?: string - accessKeyId?: string - secretAccessKey?: string -} - -export interface IServiceConfig { - edition: string -} - -let serviceConfig: IServiceConfig -export const SERVICE_CONFIG = (): IServiceConfig => { - if (serviceConfig) return serviceConfig - - serviceConfig = config.get('service') - return serviceConfig -} - -let openSearchConfig: IOpenSearchConfig -export const OPENSEARCH_CONFIG = (): IOpenSearchConfig => { - if (openSearchConfig) return openSearchConfig - - openSearchConfig = config.get('opensearch') - return openSearchConfig -} - -let dbConfig: IDatabaseConfig -export const DB_CONFIG = (): IDatabaseConfig => { - if (dbConfig) return dbConfig - - dbConfig = config.get('db') - return dbConfig -} - -let redisConfig: IRedisConfiguration -export const REDIS_CONFIG = (): IRedisConfiguration => { - if (redisConfig) return redisConfig - - redisConfig = config.get('redis') - return redisConfig -} diff --git a/services/libs/opensearch/src/index.ts b/services/libs/opensearch/src/index.ts index 7c2288bdc8..174f7e4ef3 100644 --- a/services/libs/opensearch/src/index.ts +++ b/services/libs/opensearch/src/index.ts @@ -2,4 +2,3 @@ export * from './fieldTranslatorFactory' export * from './opensearchQueryParser' export * from './client' export * from './service' -export * from './conf' diff --git a/services/libs/opensearch/src/service/member.sync.service.ts b/services/libs/opensearch/src/service/member.sync.service.ts index 0bc7140551..999434cad3 100644 --- a/services/libs/opensearch/src/service/member.sync.service.ts +++ b/services/libs/opensearch/src/service/member.sync.service.ts @@ -1,4 +1,3 @@ -import { SERVICE_CONFIG } from '../conf' import { IDbMemberSyncData } from '../repo/member.data' import { MemberRepository } from '../repo/member.repo' import { IDbSegmentInfo } from '../repo/segment.data' @@ -8,7 +7,7 @@ import { distinct, distinctBy, groupBy, trimUtf8ToMaxByteLength } from '@crowd/c import { DbStore } from '@crowd/database' import { Logger, getChildLogger, logExecutionTime } from '@crowd/logging' import { RedisClient } from '@crowd/redis' -import { Edition, IMemberAttribute, MemberAttributeType } from '@crowd/types' +import { Edition, IMemberAttribute, IServiceConfig, MemberAttributeType } from '@crowd/types' import { IMemberSyncResult } from './member.sync.data' import { IIndexRequest, IPagedSearchResponse, ISearchHit } from './opensearch.data' import { OpenSearchService } from './opensearch.service' @@ -18,14 +17,17 @@ export class MemberSyncService { private log: Logger private readonly memberRepo: MemberRepository private readonly segmentRepo: SegmentRepository + private readonly serviceConfig: IServiceConfig constructor( redisClient: RedisClient, store: DbStore, private readonly openSearchService: OpenSearchService, parentLog: Logger, + serviceConfig: IServiceConfig, ) { this.log = getChildLogger('member-sync-service', parentLog) + this.serviceConfig = serviceConfig this.memberRepo = new MemberRepository(redisClient, store, this.log) this.segmentRepo = new SegmentRepository(store, this.log) @@ -313,7 +315,7 @@ export class MemberSyncService { public async syncMembers(memberIds: string[]): Promise { this.log.debug({ memberIds }, 'Syncing members!') - const isMultiSegment = SERVICE_CONFIG().edition === Edition.LFX + const isMultiSegment = this.serviceConfig.edition === Edition.LFX let docCount = 0 let memberCount = 0 diff --git a/services/libs/opensearch/src/service/opensearch.service.ts b/services/libs/opensearch/src/service/opensearch.service.ts index 07e9e19ae7..b9b8939c06 100644 --- a/services/libs/opensearch/src/service/opensearch.service.ts +++ b/services/libs/opensearch/src/service/opensearch.service.ts @@ -8,15 +8,17 @@ import { IS_DEV_ENV } from '@crowd/common' import { Logger, LoggerBase } from '@crowd/logging' import { Client } from '@opensearch-project/opensearch' import { IIndexRequest, ISearchHit } from './opensearch.data' -import { OPENSEARCH_CONFIG } from '../conf' import { AwsSigv4Signer } from '@opensearch-project/opensearch/aws' +import { IOpenSearchConfig } from '@crowd/types' export class OpenSearchService extends LoggerBase { public readonly client: Client private readonly indexVersionMap: Map = new Map() + private readonly config: IOpenSearchConfig - constructor(parentLog: Logger) { + constructor(parentLog: Logger, config: IOpenSearchConfig) { super(parentLog) + this.config = config const indexNames = Object.values(OpenSearchIndex) indexNames.forEach((name) => { @@ -24,24 +26,23 @@ export class OpenSearchService extends LoggerBase { this.indexVersionMap.set(name, `${name}_v${version}`) }) - const config = OPENSEARCH_CONFIG() - if (config.region) { + if (this.config.region) { this.client = new Client({ - node: config.node, + node: this.config.node, ...AwsSigv4Signer({ - region: config.region, + region: this.config.region, service: 'es', getCredentials: async () => { return { - accessKeyId: config.accessKeyId, - secretAccessKey: config.secretAccessKey, + accessKeyId: this.config.accessKeyId, + secretAccessKey: this.config.secretAccessKey, } }, }), }) } else { this.client = new Client({ - node: config.node, + node: this.config.node, }) } } diff --git a/services/libs/opensearch/src/service/organization.sync.service.ts b/services/libs/opensearch/src/service/organization.sync.service.ts index 3e1ecff975..a4a7e81880 100644 --- a/services/libs/opensearch/src/service/organization.sync.service.ts +++ b/services/libs/opensearch/src/service/organization.sync.service.ts @@ -1,4 +1,3 @@ -import { SERVICE_CONFIG } from '../conf' import { IDbOrganizationSyncData } from '../repo/organization.data' import { OrganizationRepository } from '../repo/organization.repo' import { IDbSegmentInfo } from '../repo/segment.data' @@ -10,18 +9,22 @@ import { Edition, OpenSearchIndex } from '@crowd/types' import { IIndexRequest, IPagedSearchResponse, ISearchHit } from './opensearch.data' import { OpenSearchService } from './opensearch.service' import { IOrganizationSyncResult } from './organization.sync.data' +import { IServiceConfig } from '@crowd/types' export class OrganizationSyncService { private log: Logger private readonly orgRepo: OrganizationRepository private readonly segmentRepo: SegmentRepository + private readonly serviceConfig: IServiceConfig constructor( store: DbStore, private readonly openSearchService: OpenSearchService, parentLog: Logger, + serviceConfig: IServiceConfig, ) { this.log = getChildLogger('organization-sync-service', parentLog) + this.serviceConfig = serviceConfig this.orgRepo = new OrganizationRepository(store, this.log) this.segmentRepo = new SegmentRepository(store, this.log) @@ -247,7 +250,7 @@ export class OrganizationSyncService { public async syncOrganizations(organizationIds: string[]): Promise { this.log.debug({ organizationIds }, 'Syncing organizations!') - const isMultiSegment = SERVICE_CONFIG().edition === Edition.LFX + const isMultiSegment = this.serviceConfig.edition === Edition.LFX let docCount = 0 let organizationCount = 0 diff --git a/services/libs/types/src/index.ts b/services/libs/types/src/index.ts index 3e41dee044..9057c3f06b 100644 --- a/services/libs/types/src/index.ts +++ b/services/libs/types/src/index.ts @@ -49,3 +49,5 @@ export * from './sync' export * from './enums/customViews' export * from './customView' + +export * from './service' diff --git a/services/libs/types/src/service.ts b/services/libs/types/src/service.ts new file mode 100644 index 0000000000..79e508f6b4 --- /dev/null +++ b/services/libs/types/src/service.ts @@ -0,0 +1,3 @@ +export interface IServiceConfig { + edition: string +} From 9dbd7c621f23acb7220a4dc6d6bb2513606fee94 Mon Sep 17 00:00:00 2001 From: Yeganathan S Date: Thu, 26 Oct 2023 19:15:34 +0530 Subject: [PATCH 16/38] Fix bug casuing search sync server to hang --- .../apps/data_sink_worker/src/jobs/processOldResults.ts | 4 +++- services/apps/data_sink_worker/src/main.ts | 8 +++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/services/apps/data_sink_worker/src/jobs/processOldResults.ts b/services/apps/data_sink_worker/src/jobs/processOldResults.ts index 04e0d7a482..447cdf3b68 100644 --- a/services/apps/data_sink_worker/src/jobs/processOldResults.ts +++ b/services/apps/data_sink_worker/src/jobs/processOldResults.ts @@ -1,6 +1,7 @@ import DataSinkRepository from '../repo/dataSink.repo' import DataSinkService from '../service/dataSink.service' import { DbConnection, DbStore } from '@crowd/database' +import { SearchSyncApiClient } from '@crowd/httpclients' import { Logger } from '@crowd/logging' import { RedisClient, processWithLock } from '@crowd/redis' import { NodejsWorkerEmitter } from '@crowd/sqs' @@ -9,11 +10,12 @@ export const processOldResultsJob = async ( dbConn: DbConnection, redis: RedisClient, nodejsWorkerEmitter: NodejsWorkerEmitter, + searchSyncApi: SearchSyncApiClient, log: Logger, ): Promise => { const store = new DbStore(log, dbConn) const repo = new DataSinkRepository(store, log) - const service = new DataSinkService(store, nodejsWorkerEmitter, redis, log) + const service = new DataSinkService(store, nodejsWorkerEmitter, redis, searchSyncApi, log) const loadNextBatch = async (): Promise => { return await processWithLock(redis, 'process-old-results', 5 * 60, 3 * 60, async () => { diff --git a/services/apps/data_sink_worker/src/main.ts b/services/apps/data_sink_worker/src/main.ts index 55b58baa5b..6ad0ff99f4 100644 --- a/services/apps/data_sink_worker/src/main.ts +++ b/services/apps/data_sink_worker/src/main.ts @@ -57,7 +57,13 @@ setImmediate(async () => { try { if (!processing) { processing = true - await processOldResultsJob(dbConnection, redisClient, nodejsWorkerEmitter, log) + await processOldResultsJob( + dbConnection, + redisClient, + nodejsWorkerEmitter, + searchSyncApi, + log, + ) } } catch (err) { log.error(err, 'Failed to process old results!') From ee9efc7139a694dfb206c9f1bd6695acccdc1219 Mon Sep 17 00:00:00 2001 From: Yeganathan S Date: Fri, 27 Oct 2023 10:14:56 +0530 Subject: [PATCH 17/38] Fix failing tests --- .../apps/data_sink_worker/src/bin/map-member-to-org.ts | 8 +++++++- .../data_sink_worker/src/bin/map-tenant-members-to-org.ts | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/services/apps/data_sink_worker/src/bin/map-member-to-org.ts b/services/apps/data_sink_worker/src/bin/map-member-to-org.ts index cc08de7a01..f8254a4a64 100644 --- a/services/apps/data_sink_worker/src/bin/map-member-to-org.ts +++ b/services/apps/data_sink_worker/src/bin/map-member-to-org.ts @@ -1,4 +1,10 @@ -import { DB_CONFIG, SEARCH_SYNC_API_CONFIG, SQS_CONFIG, TEMPORAL_CONFIG, UNLEASH_CONFIG } from '../conf' +import { + DB_CONFIG, + SEARCH_SYNC_API_CONFIG, + SQS_CONFIG, + TEMPORAL_CONFIG, + UNLEASH_CONFIG, +} from '../conf' import { DbStore, getDbConnection } from '@crowd/database' import { getServiceTracer } from '@crowd/tracing' import { getServiceLogger } from '@crowd/logging' diff --git a/services/apps/data_sink_worker/src/bin/map-tenant-members-to-org.ts b/services/apps/data_sink_worker/src/bin/map-tenant-members-to-org.ts index 7e810f220a..541b27ed07 100644 --- a/services/apps/data_sink_worker/src/bin/map-tenant-members-to-org.ts +++ b/services/apps/data_sink_worker/src/bin/map-tenant-members-to-org.ts @@ -1,4 +1,10 @@ -import { DB_CONFIG, SEARCH_SYNC_API_CONFIG, SQS_CONFIG, TEMPORAL_CONFIG, UNLEASH_CONFIG } from '../conf' +import { + DB_CONFIG, + SEARCH_SYNC_API_CONFIG, + SQS_CONFIG, + TEMPORAL_CONFIG, + UNLEASH_CONFIG, +} from '../conf' import { DbStore, getDbConnection } from '@crowd/database' import { getServiceTracer } from '@crowd/tracing' import { getServiceLogger } from '@crowd/logging' From 935c36721c6d4b15d2e7b5b069aa519ba72b8de3 Mon Sep 17 00:00:00 2001 From: Yeganathan S Date: Fri, 27 Oct 2023 10:26:06 +0530 Subject: [PATCH 18/38] Add searchSyncApi default config --- backend/config/default.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/config/default.json b/backend/config/default.json index 26fa04939f..b1bbd43a47 100644 --- a/backend/config/default.json +++ b/backend/config/default.json @@ -59,5 +59,6 @@ }, "temporal": { "automationsTaskQueue": "automations" - } + }, + "searchSyncApi": {} } From 9719ddf64cfa82835069ceff36da87663c7535d4 Mon Sep 17 00:00:00 2001 From: Yeganathan S Date: Fri, 27 Oct 2023 10:44:58 +0530 Subject: [PATCH 19/38] Fix failing test cases - env, init --- backend/.env.dist.local | 5 ++++- backend/.env.test | 5 ++++- services/apps/data_sink_worker/src/bin/process-results.ts | 5 +++++ services/apps/data_sink_worker/src/main.ts | 2 +- .../apps/data_sink_worker/src/service/activity.service.ts | 2 +- .../apps/data_sink_worker/src/service/dataSink.service.ts | 2 +- services/apps/data_sink_worker/src/service/member.service.ts | 4 ++-- 7 files changed, 18 insertions(+), 7 deletions(-) diff --git a/backend/.env.dist.local b/backend/.env.dist.local index b539966871..dd507f1628 100755 --- a/backend/.env.dist.local +++ b/backend/.env.dist.local @@ -169,4 +169,7 @@ CROWD_ANALYTICS_API_TOKEN= # Temporal CROWD_TEMPORAL_SERVER_URL=localhost:7233 -CROWD_TEMPORAL_NAMESPACE=default \ No newline at end of file +CROWD_TEMPORAL_NAMESPACE=default + +# Seach sync api +CROWD_SEARCH_SYNC_API_URL=localhost:8083 \ No newline at end of file diff --git a/backend/.env.test b/backend/.env.test index 43a10bbef5..bf9bf9c77c 100755 --- a/backend/.env.test +++ b/backend/.env.test @@ -8,4 +8,7 @@ CROWD_REDIS_PORT=6380 CROWD_SQS_PORT=9325 # Temporal settings -CROWD_TEMPORAL_SERVER_URL=localhost:7234 \ No newline at end of file +CROWD_TEMPORAL_SERVER_URL=localhost:7234 + +# Search Sync API Settings +CROWD_SEARCH_SYNC_API_URL=localhost:8083 \ No newline at end of file diff --git a/services/apps/data_sink_worker/src/bin/process-results.ts b/services/apps/data_sink_worker/src/bin/process-results.ts index b5e2264514..f82067db13 100644 --- a/services/apps/data_sink_worker/src/bin/process-results.ts +++ b/services/apps/data_sink_worker/src/bin/process-results.ts @@ -5,6 +5,7 @@ import { SENTIMENT_CONFIG, TEMPORAL_CONFIG, UNLEASH_CONFIG, + SEARCH_SYNC_API_CONFIG, } from '../conf' import DataSinkRepository from '../repo/dataSink.repo' import DataSinkService from '../service/dataSink.service' @@ -16,6 +17,7 @@ import { NodejsWorkerEmitter, getSqsClient } from '@crowd/sqs' import { initializeSentimentAnalysis } from '@crowd/sentiment' import { getUnleashClient } from '@crowd/feature-flags' import { getTemporalClient } from '@crowd/temporal' +import { SearchSyncApiClient } from '@crowd/httpclients' const tracer = getServiceTracer() const log = getServiceLogger() @@ -45,12 +47,15 @@ setImmediate(async () => { const dbConnection = await getDbConnection(DB_CONFIG()) const store = new DbStore(log, dbConnection) + const searchSyncApi = new SearchSyncApiClient(SEARCH_SYNC_API_CONFIG()) + const service = new DataSinkService( store, nodejsWorkerEmitter, redisClient, unleash, temporal, + searchSyncApi, log, ) diff --git a/services/apps/data_sink_worker/src/main.ts b/services/apps/data_sink_worker/src/main.ts index b60cae1628..2838b4926d 100644 --- a/services/apps/data_sink_worker/src/main.ts +++ b/services/apps/data_sink_worker/src/main.ts @@ -71,9 +71,9 @@ setImmediate(async () => { dbConnection, redisClient, nodejsWorkerEmitter, + searchSyncApi, unleash, temporal, - searchSyncApi, log, ) } diff --git a/services/apps/data_sink_worker/src/service/activity.service.ts b/services/apps/data_sink_worker/src/service/activity.service.ts index c95c97dc2b..f6ae1a4b43 100644 --- a/services/apps/data_sink_worker/src/service/activity.service.ts +++ b/services/apps/data_sink_worker/src/service/activity.service.ts @@ -420,9 +420,9 @@ export default class ActivityService extends LoggerBase { const txMemberService = new MemberService( txStore, this.nodejsWorkerEmitter, - this.searchSyncApi, this.unleash, this.temporal, + this.searchSyncApi, this.log, ) const txActivityService = new ActivityService( diff --git a/services/apps/data_sink_worker/src/service/dataSink.service.ts b/services/apps/data_sink_worker/src/service/dataSink.service.ts index d0a651d4e3..4578257065 100644 --- a/services/apps/data_sink_worker/src/service/dataSink.service.ts +++ b/services/apps/data_sink_worker/src/service/dataSink.service.ts @@ -134,9 +134,9 @@ export default class DataSinkService extends LoggerBase { const service = new MemberService( this.store, this.nodejsWorkerEmitter, - this.searchSyncApi, this.unleash, this.temporal, + this.searchSyncApi, this.log, ) const memberData = data.data as IMemberData diff --git a/services/apps/data_sink_worker/src/service/member.service.ts b/services/apps/data_sink_worker/src/service/member.service.ts index 78ccd2dc68..ec846f2fa5 100644 --- a/services/apps/data_sink_worker/src/service/member.service.ts +++ b/services/apps/data_sink_worker/src/service/member.service.ts @@ -33,9 +33,9 @@ export default class MemberService extends LoggerBase { constructor( private readonly store: DbStore, private readonly nodejsWorkerEmitter: NodejsWorkerEmitter, - private readonly searchSyncApi: SearchSyncApiClient, private readonly unleash: Unleash | undefined, private readonly temporal: TemporalClient, + private readonly searchSyncApi: SearchSyncApiClient, parentLog: Logger, ) { super(parentLog) @@ -370,9 +370,9 @@ export default class MemberService extends LoggerBase { const txService = new MemberService( txStore, this.nodejsWorkerEmitter, - this.searchSyncApi, this.unleash, this.temporal, + this.searchSyncApi, this.log, ) From bdbc33c12693373f4490c0987c00a722fb4ff19e Mon Sep 17 00:00:00 2001 From: Yeganathan S Date: Sat, 28 Oct 2023 00:33:39 +0530 Subject: [PATCH 20/38] Fix env for tests --- backend/.env.dist.composed | 5 ++++- backend/.env.dist.local | 2 +- backend/.env.test | 3 --- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/backend/.env.dist.composed b/backend/.env.dist.composed index 6f9fd75fb1..3f548385e6 100644 --- a/backend/.env.dist.composed +++ b/backend/.env.dist.composed @@ -25,4 +25,7 @@ CROWD_NANGO_URL=http://nango:3003 CROWD_OPENSEARCH_NODE=http://open-search:9200 # Temporal -CROWD_TEMPORAL_SERVER_URL=temporal:7233 \ No newline at end of file +CROWD_TEMPORAL_SERVER_URL=temporal:7233 + +# Seach sync api +CROWD_SEARCH_SYNC_API_URL=http://search-sync-api:8083 \ No newline at end of file diff --git a/backend/.env.dist.local b/backend/.env.dist.local index dd507f1628..f7851777c4 100755 --- a/backend/.env.dist.local +++ b/backend/.env.dist.local @@ -172,4 +172,4 @@ CROWD_TEMPORAL_SERVER_URL=localhost:7233 CROWD_TEMPORAL_NAMESPACE=default # Seach sync api -CROWD_SEARCH_SYNC_API_URL=localhost:8083 \ No newline at end of file +CROWD_SEARCH_SYNC_API_URL=http://localhost:8083 \ No newline at end of file diff --git a/backend/.env.test b/backend/.env.test index bf9bf9c77c..da83254ba2 100755 --- a/backend/.env.test +++ b/backend/.env.test @@ -9,6 +9,3 @@ CROWD_SQS_PORT=9325 # Temporal settings CROWD_TEMPORAL_SERVER_URL=localhost:7234 - -# Search Sync API Settings -CROWD_SEARCH_SYNC_API_URL=localhost:8083 \ No newline at end of file From d7723032c859376c9f954b93e2e201070ad333bd Mon Sep 17 00:00:00 2001 From: Yeganathan S Date: Sat, 28 Oct 2023 01:06:51 +0530 Subject: [PATCH 21/38] Add builder script for the service --- scripts/builders/search-sync-api.sh | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 scripts/builders/search-sync-api.sh diff --git a/scripts/builders/search-sync-api.sh b/scripts/builders/search-sync-api.sh new file mode 100644 index 0000000000..7144cf0f13 --- /dev/null +++ b/scripts/builders/search-sync-api.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +DOCKERFILE="./services/docker/Dockerfile.search_sync_api" +CONTEXT="../" +REPO="crowddotdev/search-sync-api" \ No newline at end of file From e3c7b44fe2a801b3cb7dac7fd4939ff762ccd544 Mon Sep 17 00:00:00 2001 From: Yeganathan S Date: Sat, 28 Oct 2023 01:50:48 +0530 Subject: [PATCH 22/38] Fix env anc check tests --- backend/.env.dist.local | 2 +- scripts/services/api.yaml | 1 + scripts/services/data-sink-worker.yaml | 1 + scripts/services/integration-run-worker.yaml | 1 + scripts/services/search-sync-api.yaml | 1 + 5 files changed, 5 insertions(+), 1 deletion(-) diff --git a/backend/.env.dist.local b/backend/.env.dist.local index f7851777c4..42d223ec0f 100755 --- a/backend/.env.dist.local +++ b/backend/.env.dist.local @@ -172,4 +172,4 @@ CROWD_TEMPORAL_SERVER_URL=localhost:7233 CROWD_TEMPORAL_NAMESPACE=default # Seach sync api -CROWD_SEARCH_SYNC_API_URL=http://localhost:8083 \ No newline at end of file +CROWD_SEARCH_SYNC_API_URL=http://search-sync-api:8083 \ No newline at end of file diff --git a/scripts/services/api.yaml b/scripts/services/api.yaml index c310204b29..2ac3d5082f 100644 --- a/scripts/services/api.yaml +++ b/scripts/services/api.yaml @@ -58,6 +58,7 @@ services: - ../../services/libs/sentiment/src:/usr/crowd/app/services/libs/sentiment/src - ../../services/libs/sqs/src:/usr/crowd/app/services/libs/sqs/src - ../../services/libs/types/src:/usr/crowd/app/services/libs/types/src + - ../../services/libs/httpclients/src:/usr/crowd/app/services/libs/httpclients/src - ../../backend/src:/usr/crowd/app/backend/src - /usr/crowd/app/backend/node_modules diff --git a/scripts/services/data-sink-worker.yaml b/scripts/services/data-sink-worker.yaml index 7194d0916a..e8b6dbd215 100644 --- a/scripts/services/data-sink-worker.yaml +++ b/scripts/services/data-sink-worker.yaml @@ -54,6 +54,7 @@ services: - ../../services/libs/sentiment/src:/usr/crowd/app/services/libs/sentiment/src - ../../services/libs/sqs/src:/usr/crowd/app/services/libs/sqs/src - ../../services/libs/types/src:/usr/crowd/app/services/libs/types/src + - ../../services/libs/httpclients/src:/usr/crowd/app/services/libs/httpclients/src - ../../services/apps/data_sink_worker/src:/usr/crowd/app/services/apps/data_sink_worker/src networks: diff --git a/scripts/services/integration-run-worker.yaml b/scripts/services/integration-run-worker.yaml index 4e7cfb7031..131bf03445 100644 --- a/scripts/services/integration-run-worker.yaml +++ b/scripts/services/integration-run-worker.yaml @@ -54,6 +54,7 @@ services: - ../../services/libs/sentiment/src:/usr/crowd/app/services/libs/sentiment/src - ../../services/libs/sqs/src:/usr/crowd/app/services/libs/sqs/src - ../../services/libs/types/src:/usr/crowd/app/services/libs/types/src + - ../../services/libs/httpclients/src:/usr/crowd/app/services/libs/httpclients/src - ../../services/apps/integration_run_worker/src:/usr/crowd/app/services/apps/integration_run_worker/src networks: diff --git a/scripts/services/search-sync-api.yaml b/scripts/services/search-sync-api.yaml index c74ce0467e..2c830f90a9 100644 --- a/scripts/services/search-sync-api.yaml +++ b/scripts/services/search-sync-api.yaml @@ -58,6 +58,7 @@ services: - ../../services/libs/sentiment/src:/usr/crowd/app/services/libs/sentiment/src - ../../services/libs/sqs/src:/usr/crowd/app/services/libs/sqs/src - ../../services/libs/types/src:/usr/crowd/app/services/libs/types/src + - ../../services/libs/httpclients/src:/usr/crowd/app/services/libs/httpclients/src - ../../services/apps/search_sync_api/src:/usr/crowd/app/services/apps/search_sync_api/src networks: From ad1640cc79ce17eb2a7364fd7a92c9e0c40938e1 Mon Sep 17 00:00:00 2001 From: anil Date: Thu, 2 Nov 2023 17:56:36 +0100 Subject: [PATCH 23/38] dataSink and integrationRun services syncs to opensearch asynchronously - moved apiClient for synchronous opensearch updates to opensearch lib --- backend/package-lock.json | 73991 +++++++++++----- backend/package.json | 1 - backend/src/conf/index.ts | 2 +- backend/src/utils/apiClients.ts | 2 +- scripts/services/api.yaml | 1 - scripts/services/data-sink-worker.yaml | 1 - scripts/services/integration-run-worker.yaml | 1 - scripts/services/search-sync-api.yaml | 1 - .../apps/data_sink_worker/package-lock.json | 8 + .../src/bin/map-member-to-org.ts | 2 +- .../src/bin/map-tenant-members-to-org.ts | 2 +- .../src/bin/process-results.ts | 2 +- .../apps/data_sink_worker/src/conf/index.ts | 2 +- .../src/jobs/processOldResults.ts | 7 +- services/apps/data_sink_worker/src/main.ts | 11 +- .../apps/data_sink_worker/src/queue/index.ts | 6 +- .../src/service/activity.service.ts | 32 +- .../src/service/dataSink.service.ts | 9 +- .../src/service/member.service.ts | 15 +- .../integration_run_worker/src/conf/index.ts | 2 +- .../apps/integration_run_worker/src/main.ts | 10 +- .../integration_run_worker/src/queue/index.ts | 6 +- .../src/service/integrationRunService.ts | 8 +- services/libs/feature-flags/package-lock.json | 1 + services/libs/httpclients/.eslintrc.cjs | 21 - services/libs/httpclients/.prettierignore | 3 - services/libs/httpclients/.prettierrc.cjs | 8 - services/libs/httpclients/package-lock.json | 1492 - services/libs/httpclients/package.json | 22 - services/libs/httpclients/src/index.ts | 2 - services/libs/httpclients/src/types.ts | 3 - services/libs/httpclients/tsconfig.json | 17 - services/libs/opensearch/package-lock.json | 154 +- services/libs/opensearch/package.json | 7 +- .../src/apiClient.ts} | 4 +- services/libs/opensearch/src/index.ts | 1 + services/libs/temporal/package-lock.json | 1 + 37 files changed, 52443 insertions(+), 23415 deletions(-) delete mode 100644 services/libs/httpclients/.eslintrc.cjs delete mode 100644 services/libs/httpclients/.prettierignore delete mode 100644 services/libs/httpclients/.prettierrc.cjs delete mode 100644 services/libs/httpclients/package-lock.json delete mode 100644 services/libs/httpclients/package.json delete mode 100644 services/libs/httpclients/src/index.ts delete mode 100644 services/libs/httpclients/src/types.ts delete mode 100644 services/libs/httpclients/tsconfig.json rename services/libs/{httpclients/src/searchSyncApiClient.ts => opensearch/src/apiClient.ts} (98%) diff --git a/backend/package-lock.json b/backend/package-lock.json index dabf29b48d..915f2ea381 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -15,7 +15,6 @@ "@crowd/alerting": "file:../services/libs/alerting", "@crowd/common": "file:../services/libs/common", "@crowd/feature-flags": "file:../services/libs/feature-flags", - "@crowd/httpclients": "file:../services/libs/httpclients", "@crowd/integrations": "file:../services/libs/integrations", "@crowd/logging": "file:../services/libs/logging", "@crowd/opensearch": "file:../services/libs/opensearch", @@ -1618,6 +1617,22 @@ "typescript": "^5.0.4" } }, + "../services/libs/common/node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../services/libs/common/node_modules/@crowd/logging": { + "resolved": "../services/libs/logging", + "link": true + }, + "../services/libs/common/node_modules/@crowd/types": { + "resolved": "../services/libs/types", + "link": true + }, "../services/libs/common/node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, @@ -1641,13 +1656,13 @@ } }, "../services/libs/common/node_modules/@eslint/eslintrc": { - "version": "2.0.3", + "version": "2.1.0", "dev": true, "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.5.2", + "espree": "^9.6.0", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -1663,7 +1678,7 @@ } }, "../services/libs/common/node_modules/@eslint/js": { - "version": "8.40.0", + "version": "8.44.0", "dev": true, "license": "MIT", "engines": { @@ -1671,7 +1686,7 @@ } }, "../services/libs/common/node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", + "version": "0.11.10", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -1733,12 +1748,12 @@ } }, "../services/libs/common/node_modules/@types/json-schema": { - "version": "7.0.11", + "version": "7.0.12", "dev": true, "license": "MIT" }, "../services/libs/common/node_modules/@types/node": { - "version": "18.16.7", + "version": "18.16.19", "dev": true, "license": "MIT" }, @@ -1748,16 +1763,16 @@ "license": "MIT" }, "../services/libs/common/node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/type-utils": "5.59.6", - "@typescript-eslint/utils": "5.59.6", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", "semver": "^7.3.7", @@ -1781,13 +1796,13 @@ } }, "../services/libs/common/node_modules/@typescript-eslint/parser": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "debug": "^4.3.4" }, "engines": { @@ -1807,12 +1822,12 @@ } }, "../services/libs/common/node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1823,12 +1838,12 @@ } }, "../services/libs/common/node_modules/@typescript-eslint/type-utils": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "5.59.6", - "@typescript-eslint/utils": "5.59.6", + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -1849,7 +1864,7 @@ } }, "../services/libs/common/node_modules/@typescript-eslint/types": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "license": "MIT", "engines": { @@ -1861,12 +1876,12 @@ } }, "../services/libs/common/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -1887,16 +1902,16 @@ } }, "../services/libs/common/node_modules/@typescript-eslint/utils": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "eslint-scope": "^5.1.1", "semver": "^7.3.7" }, @@ -1911,32 +1926,12 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "../services/libs/common/node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { - "version": "5.1.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "../services/libs/common/node_modules/@typescript-eslint/utils/node_modules/estraverse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, "../services/libs/common/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -1948,7 +1943,7 @@ } }, "../services/libs/common/node_modules/acorn": { - "version": "8.8.2", + "version": "8.10.0", "dev": true, "license": "MIT", "bin": { @@ -2153,15 +2148,15 @@ } }, "../services/libs/common/node_modules/eslint": { - "version": "8.40.0", + "version": "8.45.0", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.40.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", + "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -2172,7 +2167,7 @@ "escape-string-regexp": "^4.0.0", "eslint-scope": "^7.2.0", "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", + "espree": "^9.6.0", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -2180,22 +2175,19 @@ "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" }, "bin": { @@ -2240,13 +2232,21 @@ } }, "../services/libs/common/node_modules/eslint-scope": { - "version": "7.2.0", + "version": "5.1.1", "dev": true, "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "estraverse": "^4.1.1" }, + "engines": { + "node": ">=8.0.0" + } + }, + "../services/libs/common/node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "dev": true, + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -2254,10 +2254,14 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/common/node_modules/eslint-visitor-keys": { - "version": "3.4.1", + "../services/libs/common/node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.1", "dev": true, - "license": "Apache-2.0", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -2265,12 +2269,20 @@ "url": "https://opencollective.com/eslint" } }, + "../services/libs/common/node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, "../services/libs/common/node_modules/espree": { - "version": "9.5.2", + "version": "9.6.1", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.4.1" }, @@ -2292,6 +2304,14 @@ "node": ">=0.10" } }, + "../services/libs/common/node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, "../services/libs/common/node_modules/esrecurse": { "version": "4.3.0", "dev": true, @@ -2303,7 +2323,7 @@ "node": ">=4.0" } }, - "../services/libs/common/node_modules/estraverse": { + "../services/libs/common/node_modules/esrecurse/node_modules/estraverse": { "version": "5.3.0", "dev": true, "license": "BSD-2-Clause", @@ -2311,6 +2331,14 @@ "node": ">=4.0" } }, + "../services/libs/common/node_modules/estraverse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, "../services/libs/common/node_modules/esutils": { "version": "2.0.3", "dev": true, @@ -2325,12 +2353,12 @@ "license": "MIT" }, "../services/libs/common/node_modules/fast-diff": { - "version": "1.2.0", + "version": "1.3.0", "dev": true, "license": "Apache-2.0" }, "../services/libs/common/node_modules/fast-glob": { - "version": "3.2.12", + "version": "3.3.0", "dev": true, "license": "MIT", "dependencies": { @@ -2495,8 +2523,8 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/common/node_modules/grapheme-splitter": { - "version": "1.0.4", + "../services/libs/common/node_modules/graphemer": { + "version": "1.4.0", "dev": true, "license": "MIT" }, @@ -2593,15 +2621,6 @@ "dev": true, "license": "ISC" }, - "../services/libs/common/node_modules/js-sdsl": { - "version": "4.4.0", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" - } - }, "../services/libs/common/node_modules/js-yaml": { "version": "4.1.0", "dev": true, @@ -2720,16 +2739,16 @@ } }, "../services/libs/common/node_modules/optionator": { - "version": "0.9.1", + "version": "0.9.3", "dev": true, "license": "MIT", "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" }, "engines": { "node": ">= 0.8.0" @@ -2931,7 +2950,7 @@ } }, "../services/libs/common/node_modules/semver": { - "version": "7.5.1", + "version": "7.5.4", "dev": true, "license": "ISC", "dependencies": { @@ -3062,7 +3081,7 @@ } }, "../services/libs/common/node_modules/typescript": { - "version": "5.0.4", + "version": "5.1.6", "dev": true, "license": "Apache-2.0", "bin": { @@ -3070,7 +3089,7 @@ "tsserver": "bin/tsserver" }, "engines": { - "node": ">=12.20" + "node": ">=14.17" } }, "../services/libs/common/node_modules/uri-js": { @@ -3102,14 +3121,6 @@ "node": ">= 8" } }, - "../services/libs/common/node_modules/word-wrap": { - "version": "1.2.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "../services/libs/common/node_modules/wrappy": { "version": "1.0.2", "dev": true, @@ -3131,14 +3142,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/feature-flags": { - "name": "@crowd/feature-flags", + "../services/libs/database": { + "name": "@crowd/database", "version": "1.0.0", "dependencies": { "@crowd/common": "file:../common", "@crowd/logging": "file:../logging", - "@crowd/types": "file:../types", - "unleash-client": "^3.18.1" + "pg-promise": "^11.4.3" }, "devDependencies": { "@types/node": "^18.16.3", @@ -3151,63 +3161,15 @@ "typescript": "^5.0.4" } }, - "../services/libs/httpclients": { - "name": "@crowd/httpclients", - "version": "1.0.0", - "dependencies": { - "@types/node": "^20.3.1", - "@typescript-eslint/eslint-plugin": "^5.59.11", - "@typescript-eslint/parser": "^5.59.11", - "axios": "^1.4.0", - "eslint": "^8.42.0", - "eslint-config-prettier": "^8.8.0", - "eslint-plugin-prettier": "^4.2.1", - "prettier": "^2.8.8", - "typescript": "^5.1.3" - } - }, - "../services/libs/integrations": { - "name": "@crowd/integrations", - "version": "1.0.0", - "dependencies": { - "@crowd/common": "file:../common", - "@crowd/logging": "file:../logging", - "@crowd/types": "file:../types", - "@octokit/auth-app": "^4.0.13", - "@octokit/graphql": "^5.0.6", - "axios": "^1.4.0", - "he": "^1.2.0", - "lodash.clonedeep": "^4.5.0", - "lodash.merge": "^4.6.2", - "sanitize-html": "^2.10.0", - "verify-github-webhook": "^1.0.1" - }, - "devDependencies": { - "@types/he": "^1.2.0", - "@types/node": "^18.16.3", - "@types/sanitize-html": "^2.9.0", - "@typescript-eslint/eslint-plugin": "^5.59.2", - "@typescript-eslint/parser": "^5.59.2", - "eslint": "^8.39.0", - "eslint-config-prettier": "^8.8.0", - "eslint-plugin-prettier": "^4.2.1", - "prettier": "^2.8.8", - "typescript": "^5.0.4" - } - }, - "../services/libs/integrations/node_modules/@crowd/common": { + "../services/libs/database/node_modules/@crowd/common": { "resolved": "../services/libs/common", "link": true }, - "../services/libs/integrations/node_modules/@crowd/logging": { + "../services/libs/database/node_modules/@crowd/logging": { "resolved": "../services/libs/logging", "link": true }, - "../services/libs/integrations/node_modules/@crowd/types": { - "resolved": "../services/libs/types", - "link": true - }, - "../services/libs/integrations/node_modules/@eslint-community/eslint-utils": { + "../services/libs/database/node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, "license": "MIT", @@ -3221,7 +3183,7 @@ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "../services/libs/integrations/node_modules/@eslint-community/regexpp": { + "../services/libs/database/node_modules/@eslint-community/regexpp": { "version": "4.5.1", "dev": true, "license": "MIT", @@ -3229,7 +3191,7 @@ "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "../services/libs/integrations/node_modules/@eslint/eslintrc": { + "../services/libs/database/node_modules/@eslint/eslintrc": { "version": "2.0.3", "dev": true, "license": "MIT", @@ -3251,7 +3213,7 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/integrations/node_modules/@eslint/js": { + "../services/libs/database/node_modules/@eslint/js": { "version": "8.40.0", "dev": true, "license": "MIT", @@ -3259,7 +3221,7 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "../services/libs/integrations/node_modules/@humanwhocodes/config-array": { + "../services/libs/database/node_modules/@humanwhocodes/config-array": { "version": "0.11.8", "dev": true, "license": "Apache-2.0", @@ -3272,7 +3234,7 @@ "node": ">=10.10.0" } }, - "../services/libs/integrations/node_modules/@humanwhocodes/module-importer": { + "../services/libs/database/node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "dev": true, "license": "Apache-2.0", @@ -3284,12 +3246,12 @@ "url": "https://github.com/sponsors/nzakas" } }, - "../services/libs/integrations/node_modules/@humanwhocodes/object-schema": { + "../services/libs/database/node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", "dev": true, "license": "BSD-3-Clause" }, - "../services/libs/integrations/node_modules/@nodelib/fs.scandir": { + "../services/libs/database/node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "dev": true, "license": "MIT", @@ -3301,7 +3263,7 @@ "node": ">= 8" } }, - "../services/libs/integrations/node_modules/@nodelib/fs.stat": { + "../services/libs/database/node_modules/@nodelib/fs.stat": { "version": "2.0.5", "dev": true, "license": "MIT", @@ -3309,7 +3271,7 @@ "node": ">= 8" } }, - "../services/libs/integrations/node_modules/@nodelib/fs.walk": { + "../services/libs/database/node_modules/@nodelib/fs.walk": { "version": "1.2.8", "dev": true, "license": "MIT", @@ -3321,43 +3283,30 @@ "node": ">= 8" } }, - "../services/libs/integrations/node_modules/@types/he": { - "version": "1.2.0", - "dev": true, - "license": "MIT" - }, - "../services/libs/integrations/node_modules/@types/json-schema": { + "../services/libs/database/node_modules/@types/json-schema": { "version": "7.0.11", "dev": true, "license": "MIT" }, - "../services/libs/integrations/node_modules/@types/node": { - "version": "18.16.9", + "../services/libs/database/node_modules/@types/node": { + "version": "18.16.7", "dev": true, "license": "MIT" }, - "../services/libs/integrations/node_modules/@types/sanitize-html": { - "version": "2.9.0", - "dev": true, - "license": "MIT", - "dependencies": { - "htmlparser2": "^8.0.0" - } - }, - "../services/libs/integrations/node_modules/@types/semver": { + "../services/libs/database/node_modules/@types/semver": { "version": "7.5.0", "dev": true, "license": "MIT" }, - "../services/libs/integrations/node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.59.5", + "../services/libs/database/node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.59.6", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.5", - "@typescript-eslint/type-utils": "5.59.5", - "@typescript-eslint/utils": "5.59.5", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/type-utils": "5.59.6", + "@typescript-eslint/utils": "5.59.6", "debug": "^4.3.4", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", @@ -3382,14 +3331,14 @@ } } }, - "../services/libs/integrations/node_modules/@typescript-eslint/parser": { - "version": "5.59.5", + "../services/libs/database/node_modules/@typescript-eslint/parser": { + "version": "5.59.6", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "5.59.5", - "@typescript-eslint/types": "5.59.5", - "@typescript-eslint/typescript-estree": "5.59.5", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", "debug": "^4.3.4" }, "engines": { @@ -3408,13 +3357,13 @@ } } }, - "../services/libs/integrations/node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.5", + "../services/libs/database/node_modules/@typescript-eslint/scope-manager": { + "version": "5.59.6", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.59.5", - "@typescript-eslint/visitor-keys": "5.59.5" + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -3424,13 +3373,13 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "../services/libs/integrations/node_modules/@typescript-eslint/type-utils": { - "version": "5.59.5", + "../services/libs/database/node_modules/@typescript-eslint/type-utils": { + "version": "5.59.6", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "5.59.5", - "@typescript-eslint/utils": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/utils": "5.59.6", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -3450,8 +3399,8 @@ } } }, - "../services/libs/integrations/node_modules/@typescript-eslint/types": { - "version": "5.59.5", + "../services/libs/database/node_modules/@typescript-eslint/types": { + "version": "5.59.6", "dev": true, "license": "MIT", "engines": { @@ -3462,13 +3411,13 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "../services/libs/integrations/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.5", + "../services/libs/database/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.59.6", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "5.59.5", - "@typescript-eslint/visitor-keys": "5.59.5", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -3488,17 +3437,17 @@ } } }, - "../services/libs/integrations/node_modules/@typescript-eslint/utils": { - "version": "5.59.5", + "../services/libs/database/node_modules/@typescript-eslint/utils": { + "version": "5.59.6", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.5", - "@typescript-eslint/types": "5.59.5", - "@typescript-eslint/typescript-estree": "5.59.5", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", "eslint-scope": "^5.1.1", "semver": "^7.3.7" }, @@ -3513,12 +3462,32 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "../services/libs/integrations/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.5", + "../services/libs/database/node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "../services/libs/database/node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "../services/libs/database/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.59.6", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/types": "5.59.6", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -3529,7 +3498,7 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "../services/libs/integrations/node_modules/acorn": { + "../services/libs/database/node_modules/acorn": { "version": "8.8.2", "dev": true, "license": "MIT", @@ -3540,7 +3509,7 @@ "node": ">=0.4.0" } }, - "../services/libs/integrations/node_modules/acorn-jsx": { + "../services/libs/database/node_modules/acorn-jsx": { "version": "5.3.2", "dev": true, "license": "MIT", @@ -3548,7 +3517,7 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "../services/libs/integrations/node_modules/ajv": { + "../services/libs/database/node_modules/ajv": { "version": "6.12.6", "dev": true, "license": "MIT", @@ -3563,7 +3532,7 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "../services/libs/integrations/node_modules/ansi-regex": { + "../services/libs/database/node_modules/ansi-regex": { "version": "5.0.1", "dev": true, "license": "MIT", @@ -3571,7 +3540,7 @@ "node": ">=8" } }, - "../services/libs/integrations/node_modules/ansi-styles": { + "../services/libs/database/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -3585,12 +3554,12 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "../services/libs/integrations/node_modules/argparse": { + "../services/libs/database/node_modules/argparse": { "version": "2.0.1", "dev": true, "license": "Python-2.0" }, - "../services/libs/integrations/node_modules/array-union": { + "../services/libs/database/node_modules/array-union": { "version": "2.1.0", "dev": true, "license": "MIT", @@ -3598,25 +3567,19 @@ "node": ">=8" } }, - "../services/libs/integrations/node_modules/asynckit": { - "version": "0.4.0", - "license": "MIT" - }, - "../services/libs/integrations/node_modules/axios": { - "version": "1.4.0", + "../services/libs/database/node_modules/assert-options": { + "version": "0.8.1", "license": "MIT", - "dependencies": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" + "engines": { + "node": ">=10.0.0" } }, - "../services/libs/integrations/node_modules/balanced-match": { + "../services/libs/database/node_modules/balanced-match": { "version": "1.0.2", "dev": true, "license": "MIT" }, - "../services/libs/integrations/node_modules/brace-expansion": { + "../services/libs/database/node_modules/brace-expansion": { "version": "1.1.11", "dev": true, "license": "MIT", @@ -3625,7 +3588,7 @@ "concat-map": "0.0.1" } }, - "../services/libs/integrations/node_modules/braces": { + "../services/libs/database/node_modules/braces": { "version": "3.0.2", "dev": true, "license": "MIT", @@ -3636,7 +3599,14 @@ "node": ">=8" } }, - "../services/libs/integrations/node_modules/callsites": { + "../services/libs/database/node_modules/buffer-writer": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../services/libs/database/node_modules/callsites": { "version": "3.1.0", "dev": true, "license": "MIT", @@ -3644,7 +3614,7 @@ "node": ">=6" } }, - "../services/libs/integrations/node_modules/chalk": { + "../services/libs/database/node_modules/chalk": { "version": "4.1.2", "dev": true, "license": "MIT", @@ -3659,7 +3629,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "../services/libs/integrations/node_modules/color-convert": { + "../services/libs/database/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -3670,27 +3640,17 @@ "node": ">=7.0.0" } }, - "../services/libs/integrations/node_modules/color-name": { + "../services/libs/database/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" }, - "../services/libs/integrations/node_modules/combined-stream": { - "version": "1.0.8", - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "../services/libs/integrations/node_modules/concat-map": { + "../services/libs/database/node_modules/concat-map": { "version": "0.0.1", "dev": true, "license": "MIT" }, - "../services/libs/integrations/node_modules/cross-spawn": { + "../services/libs/database/node_modules/cross-spawn": { "version": "7.0.3", "dev": true, "license": "MIT", @@ -3703,7 +3663,7 @@ "node": ">= 8" } }, - "../services/libs/integrations/node_modules/debug": { + "../services/libs/database/node_modules/debug": { "version": "4.3.4", "dev": true, "license": "MIT", @@ -3719,26 +3679,12 @@ } } }, - "../services/libs/integrations/node_modules/deep-is": { + "../services/libs/database/node_modules/deep-is": { "version": "0.1.4", "dev": true, "license": "MIT" }, - "../services/libs/integrations/node_modules/deepmerge": { - "version": "4.3.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "../services/libs/integrations/node_modules/delayed-stream": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "../services/libs/integrations/node_modules/dir-glob": { + "../services/libs/database/node_modules/dir-glob": { "version": "3.0.1", "dev": true, "license": "MIT", @@ -3749,7 +3695,7 @@ "node": ">=8" } }, - "../services/libs/integrations/node_modules/doctrine": { + "../services/libs/database/node_modules/doctrine": { "version": "3.0.0", "dev": true, "license": "Apache-2.0", @@ -3760,65 +3706,9 @@ "node": ">=6.0.0" } }, - "../services/libs/integrations/node_modules/dom-serializer": { - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "../services/libs/integrations/node_modules/domelementtype": { - "version": "2.3.0", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "../services/libs/integrations/node_modules/domhandler": { - "version": "5.0.3", - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "../services/libs/integrations/node_modules/domutils": { - "version": "3.1.0", - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "../services/libs/integrations/node_modules/entities": { - "version": "4.5.0", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "../services/libs/integrations/node_modules/escape-string-regexp": { + "../services/libs/database/node_modules/escape-string-regexp": { "version": "4.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -3827,7 +3717,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/integrations/node_modules/eslint": { + "../services/libs/database/node_modules/eslint": { "version": "8.40.0", "dev": true, "license": "MIT", @@ -3883,7 +3773,7 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/integrations/node_modules/eslint-config-prettier": { + "../services/libs/database/node_modules/eslint-config-prettier": { "version": "8.8.0", "dev": true, "license": "MIT", @@ -3894,7 +3784,7 @@ "eslint": ">=7.0.0" } }, - "../services/libs/integrations/node_modules/eslint-plugin-prettier": { + "../services/libs/database/node_modules/eslint-plugin-prettier": { "version": "4.2.1", "dev": true, "license": "MIT", @@ -3914,22 +3804,14 @@ } } }, - "../services/libs/integrations/node_modules/eslint-scope": { - "version": "5.1.1", + "../services/libs/database/node_modules/eslint-scope": { + "version": "7.2.0", "dev": true, "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "estraverse": "^5.2.0" }, - "engines": { - "node": ">=8.0.0" - } - }, - "../services/libs/integrations/node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "dev": true, - "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -3937,14 +3819,10 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/integrations/node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.0", + "../services/libs/database/node_modules/eslint-visitor-keys": { + "version": "3.4.1", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -3952,15 +3830,7 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/integrations/node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "../services/libs/integrations/node_modules/espree": { + "../services/libs/database/node_modules/espree": { "version": "9.5.2", "dev": true, "license": "BSD-2-Clause", @@ -3976,7 +3846,7 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/integrations/node_modules/esquery": { + "../services/libs/database/node_modules/esquery": { "version": "1.5.0", "dev": true, "license": "BSD-3-Clause", @@ -3987,15 +3857,7 @@ "node": ">=0.10" } }, - "../services/libs/integrations/node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "../services/libs/integrations/node_modules/esrecurse": { + "../services/libs/database/node_modules/esrecurse": { "version": "4.3.0", "dev": true, "license": "BSD-2-Clause", @@ -4006,7 +3868,7 @@ "node": ">=4.0" } }, - "../services/libs/integrations/node_modules/esrecurse/node_modules/estraverse": { + "../services/libs/database/node_modules/estraverse": { "version": "5.3.0", "dev": true, "license": "BSD-2-Clause", @@ -4014,15 +3876,7 @@ "node": ">=4.0" } }, - "../services/libs/integrations/node_modules/estraverse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "../services/libs/integrations/node_modules/esutils": { + "../services/libs/database/node_modules/esutils": { "version": "2.0.3", "dev": true, "license": "BSD-2-Clause", @@ -4030,17 +3884,17 @@ "node": ">=0.10.0" } }, - "../services/libs/integrations/node_modules/fast-deep-equal": { + "../services/libs/database/node_modules/fast-deep-equal": { "version": "3.1.3", "dev": true, "license": "MIT" }, - "../services/libs/integrations/node_modules/fast-diff": { + "../services/libs/database/node_modules/fast-diff": { "version": "1.2.0", "dev": true, "license": "Apache-2.0" }, - "../services/libs/integrations/node_modules/fast-glob": { + "../services/libs/database/node_modules/fast-glob": { "version": "3.2.12", "dev": true, "license": "MIT", @@ -4055,7 +3909,7 @@ "node": ">=8.6.0" } }, - "../services/libs/integrations/node_modules/fast-glob/node_modules/glob-parent": { + "../services/libs/database/node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", "dev": true, "license": "ISC", @@ -4066,17 +3920,17 @@ "node": ">= 6" } }, - "../services/libs/integrations/node_modules/fast-json-stable-stringify": { + "../services/libs/database/node_modules/fast-json-stable-stringify": { "version": "2.1.0", "dev": true, "license": "MIT" }, - "../services/libs/integrations/node_modules/fast-levenshtein": { + "../services/libs/database/node_modules/fast-levenshtein": { "version": "2.0.6", "dev": true, "license": "MIT" }, - "../services/libs/integrations/node_modules/fastq": { + "../services/libs/database/node_modules/fastq": { "version": "1.15.0", "dev": true, "license": "ISC", @@ -4084,7 +3938,7 @@ "reusify": "^1.0.4" } }, - "../services/libs/integrations/node_modules/file-entry-cache": { + "../services/libs/database/node_modules/file-entry-cache": { "version": "6.0.1", "dev": true, "license": "MIT", @@ -4095,7 +3949,7 @@ "node": "^10.12.0 || >=12.0.0" } }, - "../services/libs/integrations/node_modules/fill-range": { + "../services/libs/database/node_modules/fill-range": { "version": "7.0.1", "dev": true, "license": "MIT", @@ -4106,7 +3960,7 @@ "node": ">=8" } }, - "../services/libs/integrations/node_modules/find-up": { + "../services/libs/database/node_modules/find-up": { "version": "5.0.0", "dev": true, "license": "MIT", @@ -4121,7 +3975,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/integrations/node_modules/flat-cache": { + "../services/libs/database/node_modules/flat-cache": { "version": "3.0.4", "dev": true, "license": "MIT", @@ -4133,47 +3987,17 @@ "node": "^10.12.0 || >=12.0.0" } }, - "../services/libs/integrations/node_modules/flatted": { + "../services/libs/database/node_modules/flatted": { "version": "3.2.7", "dev": true, "license": "ISC" }, - "../services/libs/integrations/node_modules/follow-redirects": { - "version": "1.15.2", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "../services/libs/integrations/node_modules/form-data": { - "version": "4.0.0", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "../services/libs/integrations/node_modules/fs.realpath": { + "../services/libs/database/node_modules/fs.realpath": { "version": "1.0.0", "dev": true, "license": "ISC" }, - "../services/libs/integrations/node_modules/glob": { + "../services/libs/database/node_modules/glob": { "version": "7.2.3", "dev": true, "license": "ISC", @@ -4192,7 +4016,7 @@ "url": "https://github.com/sponsors/isaacs" } }, - "../services/libs/integrations/node_modules/glob-parent": { + "../services/libs/database/node_modules/glob-parent": { "version": "6.0.2", "dev": true, "license": "ISC", @@ -4203,7 +4027,7 @@ "node": ">=10.13.0" } }, - "../services/libs/integrations/node_modules/globals": { + "../services/libs/database/node_modules/globals": { "version": "13.20.0", "dev": true, "license": "MIT", @@ -4217,7 +4041,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/integrations/node_modules/globby": { + "../services/libs/database/node_modules/globby": { "version": "11.1.0", "dev": true, "license": "MIT", @@ -4236,12 +4060,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/integrations/node_modules/grapheme-splitter": { + "../services/libs/database/node_modules/grapheme-splitter": { "version": "1.0.4", "dev": true, "license": "MIT" }, - "../services/libs/integrations/node_modules/has-flag": { + "../services/libs/database/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -4249,31 +4073,7 @@ "node": ">=8" } }, - "../services/libs/integrations/node_modules/he": { - "version": "1.2.0", - "license": "MIT", - "bin": { - "he": "bin/he" - } - }, - "../services/libs/integrations/node_modules/htmlparser2": { - "version": "8.0.2", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" - } - }, - "../services/libs/integrations/node_modules/ignore": { + "../services/libs/database/node_modules/ignore": { "version": "5.2.4", "dev": true, "license": "MIT", @@ -4281,7 +4081,7 @@ "node": ">= 4" } }, - "../services/libs/integrations/node_modules/import-fresh": { + "../services/libs/database/node_modules/import-fresh": { "version": "3.3.0", "dev": true, "license": "MIT", @@ -4296,7 +4096,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/integrations/node_modules/imurmurhash": { + "../services/libs/database/node_modules/imurmurhash": { "version": "0.1.4", "dev": true, "license": "MIT", @@ -4304,7 +4104,7 @@ "node": ">=0.8.19" } }, - "../services/libs/integrations/node_modules/inflight": { + "../services/libs/database/node_modules/inflight": { "version": "1.0.6", "dev": true, "license": "ISC", @@ -4313,12 +4113,12 @@ "wrappy": "1" } }, - "../services/libs/integrations/node_modules/inherits": { + "../services/libs/database/node_modules/inherits": { "version": "2.0.4", "dev": true, "license": "ISC" }, - "../services/libs/integrations/node_modules/is-extglob": { + "../services/libs/database/node_modules/is-extglob": { "version": "2.1.1", "dev": true, "license": "MIT", @@ -4326,7 +4126,7 @@ "node": ">=0.10.0" } }, - "../services/libs/integrations/node_modules/is-glob": { + "../services/libs/database/node_modules/is-glob": { "version": "4.0.3", "dev": true, "license": "MIT", @@ -4337,7 +4137,7 @@ "node": ">=0.10.0" } }, - "../services/libs/integrations/node_modules/is-number": { + "../services/libs/database/node_modules/is-number": { "version": "7.0.0", "dev": true, "license": "MIT", @@ -4345,7 +4145,7 @@ "node": ">=0.12.0" } }, - "../services/libs/integrations/node_modules/is-path-inside": { + "../services/libs/database/node_modules/is-path-inside": { "version": "3.0.3", "dev": true, "license": "MIT", @@ -4353,19 +4153,12 @@ "node": ">=8" } }, - "../services/libs/integrations/node_modules/is-plain-object": { - "version": "5.0.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "../services/libs/integrations/node_modules/isexe": { + "../services/libs/database/node_modules/isexe": { "version": "2.0.0", "dev": true, "license": "ISC" }, - "../services/libs/integrations/node_modules/js-sdsl": { + "../services/libs/database/node_modules/js-sdsl": { "version": "4.4.0", "dev": true, "license": "MIT", @@ -4374,7 +4167,7 @@ "url": "https://opencollective.com/js-sdsl" } }, - "../services/libs/integrations/node_modules/js-yaml": { + "../services/libs/database/node_modules/js-yaml": { "version": "4.1.0", "dev": true, "license": "MIT", @@ -4385,17 +4178,17 @@ "js-yaml": "bin/js-yaml.js" } }, - "../services/libs/integrations/node_modules/json-schema-traverse": { + "../services/libs/database/node_modules/json-schema-traverse": { "version": "0.4.1", "dev": true, "license": "MIT" }, - "../services/libs/integrations/node_modules/json-stable-stringify-without-jsonify": { + "../services/libs/database/node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "dev": true, "license": "MIT" }, - "../services/libs/integrations/node_modules/levn": { + "../services/libs/database/node_modules/levn": { "version": "0.4.1", "dev": true, "license": "MIT", @@ -4407,7 +4200,7 @@ "node": ">= 0.8.0" } }, - "../services/libs/integrations/node_modules/locate-path": { + "../services/libs/database/node_modules/locate-path": { "version": "6.0.0", "dev": true, "license": "MIT", @@ -4421,11 +4214,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/integrations/node_modules/lodash.merge": { + "../services/libs/database/node_modules/lodash.merge": { "version": "4.6.2", + "dev": true, "license": "MIT" }, - "../services/libs/integrations/node_modules/lru-cache": { + "../services/libs/database/node_modules/lru-cache": { "version": "6.0.0", "dev": true, "license": "ISC", @@ -4436,7 +4230,7 @@ "node": ">=10" } }, - "../services/libs/integrations/node_modules/merge2": { + "../services/libs/database/node_modules/merge2": { "version": "1.4.1", "dev": true, "license": "MIT", @@ -4444,7 +4238,7 @@ "node": ">= 8" } }, - "../services/libs/integrations/node_modules/micromatch": { + "../services/libs/database/node_modules/micromatch": { "version": "4.0.5", "dev": true, "license": "MIT", @@ -4456,24 +4250,7 @@ "node": ">=8.6" } }, - "../services/libs/integrations/node_modules/mime-db": { - "version": "1.52.0", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "../services/libs/integrations/node_modules/mime-types": { - "version": "2.1.35", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "../services/libs/integrations/node_modules/minimatch": { + "../services/libs/database/node_modules/minimatch": { "version": "3.1.2", "dev": true, "license": "ISC", @@ -4484,38 +4261,22 @@ "node": "*" } }, - "../services/libs/integrations/node_modules/ms": { + "../services/libs/database/node_modules/ms": { "version": "2.1.2", "dev": true, "license": "MIT" }, - "../services/libs/integrations/node_modules/nanoid": { - "version": "3.3.6", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "../services/libs/integrations/node_modules/natural-compare": { + "../services/libs/database/node_modules/natural-compare": { "version": "1.4.0", "dev": true, "license": "MIT" }, - "../services/libs/integrations/node_modules/natural-compare-lite": { + "../services/libs/database/node_modules/natural-compare-lite": { "version": "1.4.0", "dev": true, "license": "MIT" }, - "../services/libs/integrations/node_modules/once": { + "../services/libs/database/node_modules/once": { "version": "1.4.0", "dev": true, "license": "ISC", @@ -4523,7 +4284,7 @@ "wrappy": "1" } }, - "../services/libs/integrations/node_modules/optionator": { + "../services/libs/database/node_modules/optionator": { "version": "0.9.1", "dev": true, "license": "MIT", @@ -4539,7 +4300,7 @@ "node": ">= 0.8.0" } }, - "../services/libs/integrations/node_modules/p-limit": { + "../services/libs/database/node_modules/p-limit": { "version": "3.1.0", "dev": true, "license": "MIT", @@ -4553,7 +4314,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/integrations/node_modules/p-locate": { + "../services/libs/database/node_modules/p-locate": { "version": "5.0.0", "dev": true, "license": "MIT", @@ -4567,7 +4328,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/integrations/node_modules/parent-module": { + "../services/libs/database/node_modules/packet-reader": { + "version": "1.0.0", + "license": "MIT" + }, + "../services/libs/database/node_modules/parent-module": { "version": "1.0.1", "dev": true, "license": "MIT", @@ -4578,11 +4343,7 @@ "node": ">=6" } }, - "../services/libs/integrations/node_modules/parse-srcset": { - "version": "1.0.2", - "license": "MIT" - }, - "../services/libs/integrations/node_modules/path-exists": { + "../services/libs/database/node_modules/path-exists": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -4590,7 +4351,7 @@ "node": ">=8" } }, - "../services/libs/integrations/node_modules/path-is-absolute": { + "../services/libs/database/node_modules/path-is-absolute": { "version": "1.0.1", "dev": true, "license": "MIT", @@ -4598,7 +4359,7 @@ "node": ">=0.10.0" } }, - "../services/libs/integrations/node_modules/path-key": { + "../services/libs/database/node_modules/path-key": { "version": "3.1.1", "dev": true, "license": "MIT", @@ -4606,7 +4367,7 @@ "node": ">=8" } }, - "../services/libs/integrations/node_modules/path-type": { + "../services/libs/database/node_modules/path-type": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -4614,11 +4375,94 @@ "node": ">=8" } }, - "../services/libs/integrations/node_modules/picocolors": { - "version": "1.0.0", - "license": "ISC" + "../services/libs/database/node_modules/pg": { + "version": "8.10.0", + "license": "MIT", + "dependencies": { + "buffer-writer": "2.0.0", + "packet-reader": "1.0.0", + "pg-connection-string": "^2.5.0", + "pg-pool": "^3.6.0", + "pg-protocol": "^1.6.0", + "pg-types": "^2.1.0", + "pgpass": "1.x" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "pg-native": ">=3.0.1" + }, + "peerDependenciesMeta": { + "pg-native": { + "optional": true + } + } }, - "../services/libs/integrations/node_modules/picomatch": { + "../services/libs/database/node_modules/pg-connection-string": { + "version": "2.5.0", + "license": "MIT" + }, + "../services/libs/database/node_modules/pg-int8": { + "version": "1.0.1", + "license": "ISC", + "engines": { + "node": ">=4.0.0" + } + }, + "../services/libs/database/node_modules/pg-minify": { + "version": "1.6.3", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + } + }, + "../services/libs/database/node_modules/pg-pool": { + "version": "3.6.0", + "license": "MIT", + "peerDependencies": { + "pg": ">=8.0" + } + }, + "../services/libs/database/node_modules/pg-promise": { + "version": "11.4.3", + "license": "MIT", + "dependencies": { + "assert-options": "0.8.1", + "pg": "8.10.0", + "pg-minify": "1.6.3", + "spex": "3.3.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "../services/libs/database/node_modules/pg-protocol": { + "version": "1.6.0", + "license": "MIT" + }, + "../services/libs/database/node_modules/pg-types": { + "version": "2.2.0", + "license": "MIT", + "dependencies": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "../services/libs/database/node_modules/pgpass": { + "version": "1.0.5", + "license": "MIT", + "dependencies": { + "split2": "^4.1.0" + } + }, + "../services/libs/database/node_modules/picomatch": { "version": "2.3.1", "dev": true, "license": "MIT", @@ -4629,33 +4473,38 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "../services/libs/integrations/node_modules/postcss": { - "version": "8.4.23", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "../services/libs/database/node_modules/postgres-array": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../services/libs/database/node_modules/postgres-bytea": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../services/libs/database/node_modules/postgres-date": { + "version": "1.0.7", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../services/libs/database/node_modules/postgres-interval": { + "version": "1.2.0", "license": "MIT", "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "xtend": "^4.0.0" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=0.10.0" } }, - "../services/libs/integrations/node_modules/prelude-ls": { + "../services/libs/database/node_modules/prelude-ls": { "version": "1.2.1", "dev": true, "license": "MIT", @@ -4663,7 +4512,7 @@ "node": ">= 0.8.0" } }, - "../services/libs/integrations/node_modules/prettier": { + "../services/libs/database/node_modules/prettier": { "version": "2.8.8", "dev": true, "license": "MIT", @@ -4677,7 +4526,7 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "../services/libs/integrations/node_modules/prettier-linter-helpers": { + "../services/libs/database/node_modules/prettier-linter-helpers": { "version": "1.0.0", "dev": true, "license": "MIT", @@ -4688,11 +4537,7 @@ "node": ">=6.0.0" } }, - "../services/libs/integrations/node_modules/proxy-from-env": { - "version": "1.1.0", - "license": "MIT" - }, - "../services/libs/integrations/node_modules/punycode": { + "../services/libs/database/node_modules/punycode": { "version": "2.3.0", "dev": true, "license": "MIT", @@ -4700,7 +4545,7 @@ "node": ">=6" } }, - "../services/libs/integrations/node_modules/queue-microtask": { + "../services/libs/database/node_modules/queue-microtask": { "version": "1.2.3", "dev": true, "funding": [ @@ -4719,7 +4564,7 @@ ], "license": "MIT" }, - "../services/libs/integrations/node_modules/resolve-from": { + "../services/libs/database/node_modules/resolve-from": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -4727,7 +4572,7 @@ "node": ">=4" } }, - "../services/libs/integrations/node_modules/reusify": { + "../services/libs/database/node_modules/reusify": { "version": "1.0.4", "dev": true, "license": "MIT", @@ -4736,7 +4581,7 @@ "node": ">=0.10.0" } }, - "../services/libs/integrations/node_modules/rimraf": { + "../services/libs/database/node_modules/rimraf": { "version": "3.0.2", "dev": true, "license": "ISC", @@ -4750,7 +4595,7 @@ "url": "https://github.com/sponsors/isaacs" } }, - "../services/libs/integrations/node_modules/run-parallel": { + "../services/libs/database/node_modules/run-parallel": { "version": "1.2.0", "dev": true, "funding": [ @@ -4772,19 +4617,7 @@ "queue-microtask": "^1.2.2" } }, - "../services/libs/integrations/node_modules/sanitize-html": { - "version": "2.10.0", - "license": "MIT", - "dependencies": { - "deepmerge": "^4.2.2", - "escape-string-regexp": "^4.0.0", - "htmlparser2": "^8.0.0", - "is-plain-object": "^5.0.0", - "parse-srcset": "^1.0.2", - "postcss": "^8.3.11" - } - }, - "../services/libs/integrations/node_modules/semver": { + "../services/libs/database/node_modules/semver": { "version": "7.5.1", "dev": true, "license": "ISC", @@ -4798,7 +4631,7 @@ "node": ">=10" } }, - "../services/libs/integrations/node_modules/shebang-command": { + "../services/libs/database/node_modules/shebang-command": { "version": "2.0.0", "dev": true, "license": "MIT", @@ -4809,7 +4642,7 @@ "node": ">=8" } }, - "../services/libs/integrations/node_modules/shebang-regex": { + "../services/libs/database/node_modules/shebang-regex": { "version": "3.0.0", "dev": true, "license": "MIT", @@ -4817,7 +4650,7 @@ "node": ">=8" } }, - "../services/libs/integrations/node_modules/slash": { + "../services/libs/database/node_modules/slash": { "version": "3.0.0", "dev": true, "license": "MIT", @@ -4825,14 +4658,21 @@ "node": ">=8" } }, - "../services/libs/integrations/node_modules/source-map-js": { - "version": "1.0.2", - "license": "BSD-3-Clause", + "../services/libs/database/node_modules/spex": { + "version": "3.3.0", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=10.0.0" } }, - "../services/libs/integrations/node_modules/strip-ansi": { + "../services/libs/database/node_modules/split2": { + "version": "4.2.0", + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, + "../services/libs/database/node_modules/strip-ansi": { "version": "6.0.1", "dev": true, "license": "MIT", @@ -4843,7 +4683,7 @@ "node": ">=8" } }, - "../services/libs/integrations/node_modules/strip-json-comments": { + "../services/libs/database/node_modules/strip-json-comments": { "version": "3.1.1", "dev": true, "license": "MIT", @@ -4854,7 +4694,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/integrations/node_modules/supports-color": { + "../services/libs/database/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", @@ -4865,12 +4705,12 @@ "node": ">=8" } }, - "../services/libs/integrations/node_modules/text-table": { + "../services/libs/database/node_modules/text-table": { "version": "0.2.0", "dev": true, "license": "MIT" }, - "../services/libs/integrations/node_modules/to-regex-range": { + "../services/libs/database/node_modules/to-regex-range": { "version": "5.0.1", "dev": true, "license": "MIT", @@ -4881,12 +4721,12 @@ "node": ">=8.0" } }, - "../services/libs/integrations/node_modules/tslib": { + "../services/libs/database/node_modules/tslib": { "version": "1.14.1", "dev": true, "license": "0BSD" }, - "../services/libs/integrations/node_modules/tsutils": { + "../services/libs/database/node_modules/tsutils": { "version": "3.21.0", "dev": true, "license": "MIT", @@ -4900,7 +4740,7 @@ "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "../services/libs/integrations/node_modules/type-check": { + "../services/libs/database/node_modules/type-check": { "version": "0.4.0", "dev": true, "license": "MIT", @@ -4911,7 +4751,7 @@ "node": ">= 0.8.0" } }, - "../services/libs/integrations/node_modules/type-fest": { + "../services/libs/database/node_modules/type-fest": { "version": "0.20.2", "dev": true, "license": "(MIT OR CC0-1.0)", @@ -4922,7 +4762,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/integrations/node_modules/typescript": { + "../services/libs/database/node_modules/typescript": { "version": "5.0.4", "dev": true, "license": "Apache-2.0", @@ -4934,7 +4774,7 @@ "node": ">=12.20" } }, - "../services/libs/integrations/node_modules/uri-js": { + "../services/libs/database/node_modules/uri-js": { "version": "4.4.1", "dev": true, "license": "BSD-2-Clause", @@ -4942,7 +4782,7 @@ "punycode": "^2.1.0" } }, - "../services/libs/integrations/node_modules/which": { + "../services/libs/database/node_modules/which": { "version": "2.0.2", "dev": true, "license": "ISC", @@ -4956,7 +4796,7 @@ "node": ">= 8" } }, - "../services/libs/integrations/node_modules/word-wrap": { + "../services/libs/database/node_modules/word-wrap": { "version": "1.2.3", "dev": true, "license": "MIT", @@ -4964,17 +4804,24 @@ "node": ">=0.10.0" } }, - "../services/libs/integrations/node_modules/wrappy": { + "../services/libs/database/node_modules/wrappy": { "version": "1.0.2", "dev": true, "license": "ISC" }, - "../services/libs/integrations/node_modules/yallist": { + "../services/libs/database/node_modules/xtend": { + "version": "4.0.2", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "../services/libs/database/node_modules/yallist": { "version": "4.0.0", "dev": true, "license": "ISC" }, - "../services/libs/integrations/node_modules/yocto-queue": { + "../services/libs/database/node_modules/yocto-queue": { "version": "0.1.0", "dev": true, "license": "MIT", @@ -4985,18 +4832,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/logging": { - "name": "@crowd/logging", + "../services/libs/feature-flags": { + "name": "@crowd/feature-flags", "version": "1.0.0", "dependencies": { "@crowd/common": "file:../common", - "@crowd/tracing": "file:../tracing", - "bunyan": "^1.8.15", - "bunyan-format": "^0.2.1" + "@crowd/logging": "file:../logging", + "@crowd/types": "file:../types", + "unleash-client": "^3.18.1" }, "devDependencies": { - "@types/bunyan": "^1.8.8", - "@types/bunyan-format": "^0.2.5", "@types/node": "^18.16.3", "@typescript-eslint/eslint-plugin": "^5.59.2", "@typescript-eslint/parser": "^5.59.2", @@ -5007,11 +4852,48 @@ "typescript": "^5.0.4" } }, - "../services/libs/logging/node_modules/@crowd/common": { + "../services/libs/integrations": { + "name": "@crowd/integrations", + "version": "1.0.0", + "dependencies": { + "@crowd/common": "file:../common", + "@crowd/logging": "file:../logging", + "@crowd/types": "file:../types", + "@octokit/auth-app": "^4.0.13", + "@octokit/graphql": "^5.0.6", + "axios": "^1.4.0", + "he": "^1.2.0", + "lodash.clonedeep": "^4.5.0", + "lodash.merge": "^4.6.2", + "sanitize-html": "^2.10.0", + "verify-github-webhook": "^1.0.1" + }, + "devDependencies": { + "@types/he": "^1.2.0", + "@types/node": "^18.16.3", + "@types/sanitize-html": "^2.9.0", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + } + }, + "../services/libs/integrations/node_modules/@crowd/common": { "resolved": "../services/libs/common", "link": true }, - "../services/libs/logging/node_modules/@eslint-community/eslint-utils": { + "../services/libs/integrations/node_modules/@crowd/logging": { + "resolved": "../services/libs/logging", + "link": true + }, + "../services/libs/integrations/node_modules/@crowd/types": { + "resolved": "../services/libs/types", + "link": true + }, + "../services/libs/integrations/node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, "license": "MIT", @@ -5025,7 +4907,7 @@ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "../services/libs/logging/node_modules/@eslint-community/regexpp": { + "../services/libs/integrations/node_modules/@eslint-community/regexpp": { "version": "4.5.1", "dev": true, "license": "MIT", @@ -5033,7 +4915,7 @@ "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "../services/libs/logging/node_modules/@eslint/eslintrc": { + "../services/libs/integrations/node_modules/@eslint/eslintrc": { "version": "2.0.3", "dev": true, "license": "MIT", @@ -5055,7 +4937,7 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/logging/node_modules/@eslint/js": { + "../services/libs/integrations/node_modules/@eslint/js": { "version": "8.40.0", "dev": true, "license": "MIT", @@ -5063,7 +4945,7 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "../services/libs/logging/node_modules/@humanwhocodes/config-array": { + "../services/libs/integrations/node_modules/@humanwhocodes/config-array": { "version": "0.11.8", "dev": true, "license": "Apache-2.0", @@ -5076,7 +4958,7 @@ "node": ">=10.10.0" } }, - "../services/libs/logging/node_modules/@humanwhocodes/module-importer": { + "../services/libs/integrations/node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "dev": true, "license": "Apache-2.0", @@ -5088,12 +4970,12 @@ "url": "https://github.com/sponsors/nzakas" } }, - "../services/libs/logging/node_modules/@humanwhocodes/object-schema": { + "../services/libs/integrations/node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", "dev": true, "license": "BSD-3-Clause" }, - "../services/libs/logging/node_modules/@nodelib/fs.scandir": { + "../services/libs/integrations/node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "dev": true, "license": "MIT", @@ -5105,7 +4987,7 @@ "node": ">= 8" } }, - "../services/libs/logging/node_modules/@nodelib/fs.stat": { + "../services/libs/integrations/node_modules/@nodelib/fs.stat": { "version": "2.0.5", "dev": true, "license": "MIT", @@ -5113,7 +4995,7 @@ "node": ">= 8" } }, - "../services/libs/logging/node_modules/@nodelib/fs.walk": { + "../services/libs/integrations/node_modules/@nodelib/fs.walk": { "version": "1.2.8", "dev": true, "license": "MIT", @@ -5125,46 +5007,400 @@ "node": ">= 8" } }, - "../services/libs/logging/node_modules/@types/bunyan": { - "version": "1.8.8", - "dev": true, + "../services/libs/integrations/node_modules/@octokit/auth-app": { + "version": "3.6.1", "license": "MIT", "dependencies": { - "@types/node": "*" + "@octokit/auth-oauth-app": "^4.3.0", + "@octokit/auth-oauth-user": "^1.2.3", + "@octokit/request": "^5.6.0", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.0.3", + "@types/lru-cache": "^5.1.0", + "deprecation": "^2.3.1", + "lru-cache": "^6.0.0", + "universal-github-app-jwt": "^1.0.1", + "universal-user-agent": "^6.0.0" } }, - "../services/libs/logging/node_modules/@types/bunyan-format": { - "version": "0.2.5", - "dev": true, + "../services/libs/integrations/node_modules/@octokit/auth-oauth-app": { + "version": "4.3.4", "license": "MIT", "dependencies": { - "@types/node": "*" + "@octokit/auth-oauth-device": "^3.1.1", + "@octokit/auth-oauth-user": "^2.0.0", + "@octokit/request": "^5.6.3", + "@octokit/types": "^6.0.3", + "@types/btoa-lite": "^1.0.0", + "btoa-lite": "^1.0.0", + "universal-user-agent": "^6.0.0" } }, - "../services/libs/logging/node_modules/@types/json-schema": { - "version": "7.0.11", + "../services/libs/integrations/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/auth-oauth-user": { + "version": "2.1.2", + "license": "MIT", + "dependencies": { + "@octokit/auth-oauth-device": "^4.0.0", + "@octokit/oauth-methods": "^2.0.0", + "@octokit/request": "^6.0.0", + "@octokit/types": "^9.0.0", + "btoa-lite": "^1.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "../services/libs/integrations/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/auth-oauth-device": { + "version": "4.0.5", + "license": "MIT", + "dependencies": { + "@octokit/oauth-methods": "^2.0.0", + "@octokit/request": "^6.0.0", + "@octokit/types": "^9.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "../services/libs/integrations/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request": { + "version": "6.2.8", + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "../services/libs/integrations/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/types": { + "version": "9.3.2", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^18.0.0" + } + }, + "../services/libs/integrations/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint": { + "version": "7.0.6", + "license": "MIT", + "dependencies": { + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "../services/libs/integrations/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/node_modules/@octokit/types": { + "version": "9.3.2", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^18.0.0" + } + }, + "../services/libs/integrations/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/openapi-types": { + "version": "18.0.0", + "license": "MIT" + }, + "../services/libs/integrations/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error": { + "version": "3.0.3", + "license": "MIT", + "dependencies": { + "@octokit/types": "^9.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 14" + } + }, + "../services/libs/integrations/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/node_modules/@octokit/types": { + "version": "9.3.2", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^18.0.0" + } + }, + "../services/libs/integrations/node_modules/@octokit/auth-oauth-device": { + "version": "3.1.4", + "license": "MIT", + "dependencies": { + "@octokit/oauth-methods": "^2.0.0", + "@octokit/request": "^6.0.0", + "@octokit/types": "^6.10.0", + "universal-user-agent": "^6.0.0" + } + }, + "../services/libs/integrations/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint": { + "version": "7.0.6", + "license": "MIT", + "dependencies": { + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "../services/libs/integrations/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/node_modules/@octokit/types": { + "version": "9.3.2", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^18.0.0" + } + }, + "../services/libs/integrations/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/openapi-types": { + "version": "18.0.0", + "license": "MIT" + }, + "../services/libs/integrations/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request": { + "version": "6.2.8", + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "../services/libs/integrations/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error": { + "version": "3.0.3", + "license": "MIT", + "dependencies": { + "@octokit/types": "^9.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 14" + } + }, + "../services/libs/integrations/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/node_modules/@octokit/types": { + "version": "9.3.2", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^18.0.0" + } + }, + "../services/libs/integrations/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/node_modules/@octokit/types": { + "version": "9.3.2", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^18.0.0" + } + }, + "../services/libs/integrations/node_modules/@octokit/auth-oauth-user": { + "version": "1.3.0", + "license": "MIT", + "dependencies": { + "@octokit/auth-oauth-device": "^3.1.1", + "@octokit/oauth-methods": "^1.1.0", + "@octokit/request": "^5.4.14", + "@octokit/types": "^6.12.2", + "btoa-lite": "^1.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "../services/libs/integrations/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-authorization-url": { + "version": "4.3.3", + "license": "MIT" + }, + "../services/libs/integrations/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods": { + "version": "1.2.6", + "license": "MIT", + "dependencies": { + "@octokit/oauth-authorization-url": "^4.3.1", + "@octokit/request": "^5.4.14", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.12.2", + "btoa-lite": "^1.0.0" + } + }, + "../services/libs/integrations/node_modules/@octokit/endpoint": { + "version": "6.0.12", + "license": "MIT", + "dependencies": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "../services/libs/integrations/node_modules/@octokit/graphql": { + "version": "4.8.0", + "license": "MIT", + "dependencies": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + } + }, + "../services/libs/integrations/node_modules/@octokit/oauth-authorization-url": { + "version": "5.0.0", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "../services/libs/integrations/node_modules/@octokit/oauth-methods": { + "version": "2.0.6", + "license": "MIT", + "dependencies": { + "@octokit/oauth-authorization-url": "^5.0.0", + "@octokit/request": "^6.2.3", + "@octokit/request-error": "^3.0.3", + "@octokit/types": "^9.0.0", + "btoa-lite": "^1.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "../services/libs/integrations/node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint": { + "version": "7.0.6", + "license": "MIT", + "dependencies": { + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "../services/libs/integrations/node_modules/@octokit/oauth-methods/node_modules/@octokit/openapi-types": { + "version": "18.0.0", + "license": "MIT" + }, + "../services/libs/integrations/node_modules/@octokit/oauth-methods/node_modules/@octokit/request": { + "version": "6.2.8", + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "../services/libs/integrations/node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error": { + "version": "3.0.3", + "license": "MIT", + "dependencies": { + "@octokit/types": "^9.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 14" + } + }, + "../services/libs/integrations/node_modules/@octokit/oauth-methods/node_modules/@octokit/types": { + "version": "9.3.2", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^18.0.0" + } + }, + "../services/libs/integrations/node_modules/@octokit/openapi-types": { + "version": "12.11.0", + "license": "MIT" + }, + "../services/libs/integrations/node_modules/@octokit/request": { + "version": "5.6.3", + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + } + }, + "../services/libs/integrations/node_modules/@octokit/request-error": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "../services/libs/integrations/node_modules/@octokit/types": { + "version": "6.41.0", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^12.11.0" + } + }, + "../services/libs/integrations/node_modules/@types/btoa-lite": { + "version": "1.0.0", + "license": "MIT" + }, + "../services/libs/integrations/node_modules/@types/he": { + "version": "1.2.0", "dev": true, "license": "MIT" }, - "../services/libs/logging/node_modules/@types/node": { - "version": "18.16.8", + "../services/libs/integrations/node_modules/@types/json-schema": { + "version": "7.0.11", "dev": true, "license": "MIT" }, - "../services/libs/logging/node_modules/@types/semver": { + "../services/libs/integrations/node_modules/@types/jsonwebtoken": { + "version": "9.0.2", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "../services/libs/integrations/node_modules/@types/lru-cache": { + "version": "5.1.1", + "license": "MIT" + }, + "../services/libs/integrations/node_modules/@types/node": { + "version": "18.16.9", + "license": "MIT" + }, + "../services/libs/integrations/node_modules/@types/sanitize-html": { + "version": "2.9.0", + "dev": true, + "license": "MIT", + "dependencies": { + "htmlparser2": "^8.0.0" + } + }, + "../services/libs/integrations/node_modules/@types/semver": { "version": "7.5.0", "dev": true, "license": "MIT" }, - "../services/libs/logging/node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.59.6", + "../services/libs/integrations/node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.59.5", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/type-utils": "5.59.6", - "@typescript-eslint/utils": "5.59.6", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/type-utils": "5.59.5", + "@typescript-eslint/utils": "5.59.5", "debug": "^4.3.4", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", @@ -5189,14 +5425,14 @@ } } }, - "../services/libs/logging/node_modules/@typescript-eslint/parser": { - "version": "5.59.6", + "../services/libs/integrations/node_modules/@typescript-eslint/parser": { + "version": "5.59.5", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", "debug": "^4.3.4" }, "engines": { @@ -5215,13 +5451,13 @@ } } }, - "../services/libs/logging/node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.6", + "../services/libs/integrations/node_modules/@typescript-eslint/scope-manager": { + "version": "5.59.5", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6" + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -5231,13 +5467,13 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "../services/libs/logging/node_modules/@typescript-eslint/type-utils": { - "version": "5.59.6", + "../services/libs/integrations/node_modules/@typescript-eslint/type-utils": { + "version": "5.59.5", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "5.59.6", - "@typescript-eslint/utils": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.5", + "@typescript-eslint/utils": "5.59.5", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -5257,8 +5493,8 @@ } } }, - "../services/libs/logging/node_modules/@typescript-eslint/types": { - "version": "5.59.6", + "../services/libs/integrations/node_modules/@typescript-eslint/types": { + "version": "5.59.5", "dev": true, "license": "MIT", "engines": { @@ -5269,13 +5505,13 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "../services/libs/logging/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.6", + "../services/libs/integrations/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.59.5", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -5295,17 +5531,17 @@ } } }, - "../services/libs/logging/node_modules/@typescript-eslint/utils": { - "version": "5.59.6", + "../services/libs/integrations/node_modules/@typescript-eslint/utils": { + "version": "5.59.5", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", "eslint-scope": "^5.1.1", "semver": "^7.3.7" }, @@ -5320,32 +5556,12 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "../services/libs/logging/node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { - "version": "5.1.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "../services/libs/logging/node_modules/@typescript-eslint/utils/node_modules/estraverse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "../services/libs/logging/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.6", + "../services/libs/integrations/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.59.5", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/types": "5.59.5", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -5356,7 +5572,7 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "../services/libs/logging/node_modules/acorn": { + "../services/libs/integrations/node_modules/acorn": { "version": "8.8.2", "dev": true, "license": "MIT", @@ -5367,7 +5583,7 @@ "node": ">=0.4.0" } }, - "../services/libs/logging/node_modules/acorn-jsx": { + "../services/libs/integrations/node_modules/acorn-jsx": { "version": "5.3.2", "dev": true, "license": "MIT", @@ -5375,7 +5591,7 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "../services/libs/logging/node_modules/ajv": { + "../services/libs/integrations/node_modules/ajv": { "version": "6.12.6", "dev": true, "license": "MIT", @@ -5390,7 +5606,7 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "../services/libs/logging/node_modules/ansi-regex": { + "../services/libs/integrations/node_modules/ansi-regex": { "version": "5.0.1", "dev": true, "license": "MIT", @@ -5398,7 +5614,7 @@ "node": ">=8" } }, - "../services/libs/logging/node_modules/ansi-styles": { + "../services/libs/integrations/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -5412,20 +5628,12 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "../services/libs/logging/node_modules/ansicolors": { - "version": "0.2.1", - "license": "MIT" - }, - "../services/libs/logging/node_modules/ansistyles": { - "version": "0.1.3", - "license": "MIT" - }, - "../services/libs/logging/node_modules/argparse": { + "../services/libs/integrations/node_modules/argparse": { "version": "2.0.1", "dev": true, "license": "Python-2.0" }, - "../services/libs/logging/node_modules/array-union": { + "../services/libs/integrations/node_modules/array-union": { "version": "2.1.0", "dev": true, "license": "MIT", @@ -5433,21 +5641,34 @@ "node": ">=8" } }, - "../services/libs/logging/node_modules/balanced-match": { + "../services/libs/integrations/node_modules/asynckit": { + "version": "0.4.0", + "license": "MIT" + }, + "../services/libs/integrations/node_modules/axios": { + "version": "1.4.0", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "../services/libs/integrations/node_modules/balanced-match": { "version": "1.0.2", - "devOptional": true, + "dev": true, "license": "MIT" }, - "../services/libs/logging/node_modules/brace-expansion": { + "../services/libs/integrations/node_modules/brace-expansion": { "version": "1.1.11", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "../services/libs/logging/node_modules/braces": { + "../services/libs/integrations/node_modules/braces": { "version": "3.0.2", "dev": true, "license": "MIT", @@ -5458,32 +5679,15 @@ "node": ">=8" } }, - "../services/libs/logging/node_modules/bunyan": { - "version": "1.8.15", - "engines": [ - "node >=0.10.0" - ], - "license": "MIT", - "bin": { - "bunyan": "bin/bunyan" - }, - "optionalDependencies": { - "dtrace-provider": "~0.8", - "moment": "^2.19.3", - "mv": "~2", - "safe-json-stringify": "~1" - } + "../services/libs/integrations/node_modules/btoa-lite": { + "version": "1.0.0", + "license": "MIT" }, - "../services/libs/logging/node_modules/bunyan-format": { - "version": "0.2.1", - "license": "MIT", - "dependencies": { - "ansicolors": "~0.2.1", - "ansistyles": "~0.1.1", - "xtend": "~2.1.1" - } + "../services/libs/integrations/node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "license": "BSD-3-Clause" }, - "../services/libs/logging/node_modules/callsites": { + "../services/libs/integrations/node_modules/callsites": { "version": "3.1.0", "dev": true, "license": "MIT", @@ -5491,7 +5695,7 @@ "node": ">=6" } }, - "../services/libs/logging/node_modules/chalk": { + "../services/libs/integrations/node_modules/chalk": { "version": "4.1.2", "dev": true, "license": "MIT", @@ -5506,7 +5710,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "../services/libs/logging/node_modules/color-convert": { + "../services/libs/integrations/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -5517,17 +5721,27 @@ "node": ">=7.0.0" } }, - "../services/libs/logging/node_modules/color-name": { + "../services/libs/integrations/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" }, - "../services/libs/logging/node_modules/concat-map": { + "../services/libs/integrations/node_modules/combined-stream": { + "version": "1.0.8", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "../services/libs/integrations/node_modules/concat-map": { "version": "0.0.1", - "devOptional": true, + "dev": true, "license": "MIT" }, - "../services/libs/logging/node_modules/cross-spawn": { + "../services/libs/integrations/node_modules/cross-spawn": { "version": "7.0.3", "dev": true, "license": "MIT", @@ -5540,7 +5754,7 @@ "node": ">= 8" } }, - "../services/libs/logging/node_modules/debug": { + "../services/libs/integrations/node_modules/debug": { "version": "4.3.4", "dev": true, "license": "MIT", @@ -5556,12 +5770,30 @@ } } }, - "../services/libs/logging/node_modules/deep-is": { + "../services/libs/integrations/node_modules/deep-is": { "version": "0.1.4", "dev": true, "license": "MIT" }, - "../services/libs/logging/node_modules/dir-glob": { + "../services/libs/integrations/node_modules/deepmerge": { + "version": "4.3.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../services/libs/integrations/node_modules/delayed-stream": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "../services/libs/integrations/node_modules/deprecation": { + "version": "2.3.1", + "license": "ISC" + }, + "../services/libs/integrations/node_modules/dir-glob": { "version": "3.0.1", "dev": true, "license": "MIT", @@ -5572,7 +5804,7 @@ "node": ">=8" } }, - "../services/libs/logging/node_modules/doctrine": { + "../services/libs/integrations/node_modules/doctrine": { "version": "3.0.0", "dev": true, "license": "Apache-2.0", @@ -5583,21 +5815,72 @@ "node": ">=6.0.0" } }, - "../services/libs/logging/node_modules/dtrace-provider": { - "version": "0.8.8", - "hasInstallScript": true, + "../services/libs/integrations/node_modules/dom-serializer": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "../services/libs/integrations/node_modules/domelementtype": { + "version": "2.3.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "../services/libs/integrations/node_modules/domhandler": { + "version": "5.0.3", "license": "BSD-2-Clause", - "optional": true, "dependencies": { - "nan": "^2.14.0" + "domelementtype": "^2.3.0" }, "engines": { - "node": ">=0.10" + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "../services/libs/logging/node_modules/escape-string-regexp": { + "../services/libs/integrations/node_modules/domutils": { + "version": "3.1.0", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "../services/libs/integrations/node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "../services/libs/integrations/node_modules/entities": { + "version": "4.5.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "../services/libs/integrations/node_modules/escape-string-regexp": { "version": "4.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -5606,7 +5889,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/logging/node_modules/eslint": { + "../services/libs/integrations/node_modules/eslint": { "version": "8.40.0", "dev": true, "license": "MIT", @@ -5662,7 +5945,7 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/logging/node_modules/eslint-config-prettier": { + "../services/libs/integrations/node_modules/eslint-config-prettier": { "version": "8.8.0", "dev": true, "license": "MIT", @@ -5673,7 +5956,7 @@ "eslint": ">=7.0.0" } }, - "../services/libs/logging/node_modules/eslint-plugin-prettier": { + "../services/libs/integrations/node_modules/eslint-plugin-prettier": { "version": "4.2.1", "dev": true, "license": "MIT", @@ -5693,14 +5976,22 @@ } } }, - "../services/libs/logging/node_modules/eslint-scope": { - "version": "7.2.0", + "../services/libs/integrations/node_modules/eslint-scope": { + "version": "5.1.1", "dev": true, "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "estraverse": "^4.1.1" }, + "engines": { + "node": ">=8.0.0" + } + }, + "../services/libs/integrations/node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "dev": true, + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -5708,10 +5999,14 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/logging/node_modules/eslint-visitor-keys": { - "version": "3.4.1", + "../services/libs/integrations/node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.0", "dev": true, - "license": "Apache-2.0", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -5719,7 +6014,15 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/logging/node_modules/espree": { + "../services/libs/integrations/node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "../services/libs/integrations/node_modules/espree": { "version": "9.5.2", "dev": true, "license": "BSD-2-Clause", @@ -5735,7 +6038,7 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/logging/node_modules/esquery": { + "../services/libs/integrations/node_modules/esquery": { "version": "1.5.0", "dev": true, "license": "BSD-3-Clause", @@ -5746,7 +6049,15 @@ "node": ">=0.10" } }, - "../services/libs/logging/node_modules/esrecurse": { + "../services/libs/integrations/node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "../services/libs/integrations/node_modules/esrecurse": { "version": "4.3.0", "dev": true, "license": "BSD-2-Clause", @@ -5757,7 +6068,7 @@ "node": ">=4.0" } }, - "../services/libs/logging/node_modules/estraverse": { + "../services/libs/integrations/node_modules/esrecurse/node_modules/estraverse": { "version": "5.3.0", "dev": true, "license": "BSD-2-Clause", @@ -5765,7 +6076,15 @@ "node": ">=4.0" } }, - "../services/libs/logging/node_modules/esutils": { + "../services/libs/integrations/node_modules/estraverse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "../services/libs/integrations/node_modules/esutils": { "version": "2.0.3", "dev": true, "license": "BSD-2-Clause", @@ -5773,17 +6092,17 @@ "node": ">=0.10.0" } }, - "../services/libs/logging/node_modules/fast-deep-equal": { + "../services/libs/integrations/node_modules/fast-deep-equal": { "version": "3.1.3", "dev": true, "license": "MIT" }, - "../services/libs/logging/node_modules/fast-diff": { + "../services/libs/integrations/node_modules/fast-diff": { "version": "1.2.0", "dev": true, "license": "Apache-2.0" }, - "../services/libs/logging/node_modules/fast-glob": { + "../services/libs/integrations/node_modules/fast-glob": { "version": "3.2.12", "dev": true, "license": "MIT", @@ -5798,7 +6117,7 @@ "node": ">=8.6.0" } }, - "../services/libs/logging/node_modules/fast-glob/node_modules/glob-parent": { + "../services/libs/integrations/node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", "dev": true, "license": "ISC", @@ -5809,17 +6128,17 @@ "node": ">= 6" } }, - "../services/libs/logging/node_modules/fast-json-stable-stringify": { + "../services/libs/integrations/node_modules/fast-json-stable-stringify": { "version": "2.1.0", "dev": true, "license": "MIT" }, - "../services/libs/logging/node_modules/fast-levenshtein": { + "../services/libs/integrations/node_modules/fast-levenshtein": { "version": "2.0.6", "dev": true, "license": "MIT" }, - "../services/libs/logging/node_modules/fastq": { + "../services/libs/integrations/node_modules/fastq": { "version": "1.15.0", "dev": true, "license": "ISC", @@ -5827,7 +6146,7 @@ "reusify": "^1.0.4" } }, - "../services/libs/logging/node_modules/file-entry-cache": { + "../services/libs/integrations/node_modules/file-entry-cache": { "version": "6.0.1", "dev": true, "license": "MIT", @@ -5838,7 +6157,7 @@ "node": "^10.12.0 || >=12.0.0" } }, - "../services/libs/logging/node_modules/fill-range": { + "../services/libs/integrations/node_modules/fill-range": { "version": "7.0.1", "dev": true, "license": "MIT", @@ -5849,7 +6168,7 @@ "node": ">=8" } }, - "../services/libs/logging/node_modules/find-up": { + "../services/libs/integrations/node_modules/find-up": { "version": "5.0.0", "dev": true, "license": "MIT", @@ -5864,7 +6183,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/logging/node_modules/flat-cache": { + "../services/libs/integrations/node_modules/flat-cache": { "version": "3.0.4", "dev": true, "license": "MIT", @@ -5876,17 +6195,47 @@ "node": "^10.12.0 || >=12.0.0" } }, - "../services/libs/logging/node_modules/flatted": { + "../services/libs/integrations/node_modules/flatted": { "version": "3.2.7", "dev": true, "license": "ISC" }, - "../services/libs/logging/node_modules/fs.realpath": { + "../services/libs/integrations/node_modules/follow-redirects": { + "version": "1.15.2", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "../services/libs/integrations/node_modules/form-data": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "../services/libs/integrations/node_modules/fs.realpath": { "version": "1.0.0", "dev": true, "license": "ISC" }, - "../services/libs/logging/node_modules/glob": { + "../services/libs/integrations/node_modules/glob": { "version": "7.2.3", "dev": true, "license": "ISC", @@ -5905,7 +6254,7 @@ "url": "https://github.com/sponsors/isaacs" } }, - "../services/libs/logging/node_modules/glob-parent": { + "../services/libs/integrations/node_modules/glob-parent": { "version": "6.0.2", "dev": true, "license": "ISC", @@ -5916,7 +6265,7 @@ "node": ">=10.13.0" } }, - "../services/libs/logging/node_modules/globals": { + "../services/libs/integrations/node_modules/globals": { "version": "13.20.0", "dev": true, "license": "MIT", @@ -5930,7 +6279,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/logging/node_modules/globby": { + "../services/libs/integrations/node_modules/globby": { "version": "11.1.0", "dev": true, "license": "MIT", @@ -5949,12 +6298,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/logging/node_modules/grapheme-splitter": { + "../services/libs/integrations/node_modules/grapheme-splitter": { "version": "1.0.4", "dev": true, "license": "MIT" }, - "../services/libs/logging/node_modules/has-flag": { + "../services/libs/integrations/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -5962,7 +6311,31 @@ "node": ">=8" } }, - "../services/libs/logging/node_modules/ignore": { + "../services/libs/integrations/node_modules/he": { + "version": "1.2.0", + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "../services/libs/integrations/node_modules/htmlparser2": { + "version": "8.0.2", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "../services/libs/integrations/node_modules/ignore": { "version": "5.2.4", "dev": true, "license": "MIT", @@ -5970,7 +6343,7 @@ "node": ">= 4" } }, - "../services/libs/logging/node_modules/import-fresh": { + "../services/libs/integrations/node_modules/import-fresh": { "version": "3.3.0", "dev": true, "license": "MIT", @@ -5985,7 +6358,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/logging/node_modules/imurmurhash": { + "../services/libs/integrations/node_modules/imurmurhash": { "version": "0.1.4", "dev": true, "license": "MIT", @@ -5993,21 +6366,21 @@ "node": ">=0.8.19" } }, - "../services/libs/logging/node_modules/inflight": { + "../services/libs/integrations/node_modules/inflight": { "version": "1.0.6", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "../services/libs/logging/node_modules/inherits": { + "../services/libs/integrations/node_modules/inherits": { "version": "2.0.4", - "devOptional": true, + "dev": true, "license": "ISC" }, - "../services/libs/logging/node_modules/is-extglob": { + "../services/libs/integrations/node_modules/is-extglob": { "version": "2.1.1", "dev": true, "license": "MIT", @@ -6015,7 +6388,7 @@ "node": ">=0.10.0" } }, - "../services/libs/logging/node_modules/is-glob": { + "../services/libs/integrations/node_modules/is-glob": { "version": "4.0.3", "dev": true, "license": "MIT", @@ -6026,7 +6399,7 @@ "node": ">=0.10.0" } }, - "../services/libs/logging/node_modules/is-number": { + "../services/libs/integrations/node_modules/is-number": { "version": "7.0.0", "dev": true, "license": "MIT", @@ -6034,7 +6407,7 @@ "node": ">=0.12.0" } }, - "../services/libs/logging/node_modules/is-path-inside": { + "../services/libs/integrations/node_modules/is-path-inside": { "version": "3.0.3", "dev": true, "license": "MIT", @@ -6042,12 +6415,19 @@ "node": ">=8" } }, - "../services/libs/logging/node_modules/isexe": { + "../services/libs/integrations/node_modules/is-plain-object": { + "version": "5.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../services/libs/integrations/node_modules/isexe": { "version": "2.0.0", "dev": true, "license": "ISC" }, - "../services/libs/logging/node_modules/js-sdsl": { + "../services/libs/integrations/node_modules/js-sdsl": { "version": "4.4.0", "dev": true, "license": "MIT", @@ -6056,7 +6436,7 @@ "url": "https://opencollective.com/js-sdsl" } }, - "../services/libs/logging/node_modules/js-yaml": { + "../services/libs/integrations/node_modules/js-yaml": { "version": "4.1.0", "dev": true, "license": "MIT", @@ -6067,17 +6447,48 @@ "js-yaml": "bin/js-yaml.js" } }, - "../services/libs/logging/node_modules/json-schema-traverse": { + "../services/libs/integrations/node_modules/json-schema-traverse": { "version": "0.4.1", "dev": true, "license": "MIT" }, - "../services/libs/logging/node_modules/json-stable-stringify-without-jsonify": { + "../services/libs/integrations/node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "dev": true, "license": "MIT" }, - "../services/libs/logging/node_modules/levn": { + "../services/libs/integrations/node_modules/jsonwebtoken": { + "version": "9.0.1", + "license": "MIT", + "dependencies": { + "jws": "^3.2.2", + "lodash": "^4.17.21", + "ms": "^2.1.1", + "semver": "^7.3.8" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "../services/libs/integrations/node_modules/jwa": { + "version": "1.4.1", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "../services/libs/integrations/node_modules/jws": { + "version": "3.2.2", + "license": "MIT", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "../services/libs/integrations/node_modules/levn": { "version": "0.4.1", "dev": true, "license": "MIT", @@ -6089,7 +6500,7 @@ "node": ">= 0.8.0" } }, - "../services/libs/logging/node_modules/locate-path": { + "../services/libs/integrations/node_modules/locate-path": { "version": "6.0.0", "dev": true, "license": "MIT", @@ -6103,14 +6514,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/logging/node_modules/lodash.merge": { + "../services/libs/integrations/node_modules/lodash": { + "version": "4.17.21", + "license": "MIT" + }, + "../services/libs/integrations/node_modules/lodash.merge": { "version": "4.6.2", - "dev": true, "license": "MIT" }, - "../services/libs/logging/node_modules/lru-cache": { + "../services/libs/integrations/node_modules/lru-cache": { "version": "6.0.0", - "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -6119,7 +6532,7 @@ "node": ">=10" } }, - "../services/libs/logging/node_modules/merge2": { + "../services/libs/integrations/node_modules/merge2": { "version": "1.4.1", "dev": true, "license": "MIT", @@ -6127,7 +6540,7 @@ "node": ">= 8" } }, - "../services/libs/logging/node_modules/micromatch": { + "../services/libs/integrations/node_modules/micromatch": { "version": "4.0.5", "dev": true, "license": "MIT", @@ -6139,124 +6552,90 @@ "node": ">=8.6" } }, - "../services/libs/logging/node_modules/minimatch": { - "version": "3.1.2", - "devOptional": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "../services/libs/logging/node_modules/minimist": { - "version": "1.2.8", + "../services/libs/integrations/node_modules/mime-db": { + "version": "1.52.0", "license": "MIT", - "optional": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 0.6" } }, - "../services/libs/logging/node_modules/mkdirp": { - "version": "0.5.6", + "../services/libs/integrations/node_modules/mime-types": { + "version": "2.1.35", "license": "MIT", - "optional": true, "dependencies": { - "minimist": "^1.2.6" + "mime-db": "1.52.0" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">= 0.6" } }, - "../services/libs/logging/node_modules/moment": { - "version": "2.29.4", - "license": "MIT", - "optional": true, + "../services/libs/integrations/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { "node": "*" } }, - "../services/libs/logging/node_modules/ms": { + "../services/libs/integrations/node_modules/ms": { "version": "2.1.2", - "dev": true, "license": "MIT" }, - "../services/libs/logging/node_modules/mv": { - "version": "2.1.1", - "license": "MIT", - "optional": true, - "dependencies": { - "mkdirp": "~0.5.1", - "ncp": "~2.0.0", - "rimraf": "~2.4.0" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "../services/libs/logging/node_modules/mv/node_modules/glob": { - "version": "6.0.4", - "license": "ISC", - "optional": true, - "dependencies": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "../services/libs/integrations/node_modules/nanoid": { + "version": "3.3.6", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": "*" - } - }, - "../services/libs/logging/node_modules/mv/node_modules/rimraf": { - "version": "2.4.5", - "license": "ISC", - "optional": true, - "dependencies": { - "glob": "^6.0.1" - }, - "bin": { - "rimraf": "bin.js" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "../services/libs/logging/node_modules/nan": { - "version": "2.17.0", - "license": "MIT", - "optional": true - }, - "../services/libs/logging/node_modules/natural-compare": { + "../services/libs/integrations/node_modules/natural-compare": { "version": "1.4.0", "dev": true, "license": "MIT" }, - "../services/libs/logging/node_modules/natural-compare-lite": { + "../services/libs/integrations/node_modules/natural-compare-lite": { "version": "1.4.0", "dev": true, "license": "MIT" }, - "../services/libs/logging/node_modules/ncp": { - "version": "2.0.0", + "../services/libs/integrations/node_modules/node-fetch": { + "version": "2.6.12", "license": "MIT", - "optional": true, - "bin": { - "ncp": "bin/ncp" + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "../services/libs/logging/node_modules/object-keys": { - "version": "0.4.0", - "license": "MIT" - }, - "../services/libs/logging/node_modules/once": { + "../services/libs/integrations/node_modules/once": { "version": "1.4.0", - "devOptional": true, "license": "ISC", "dependencies": { "wrappy": "1" } }, - "../services/libs/logging/node_modules/optionator": { + "../services/libs/integrations/node_modules/optionator": { "version": "0.9.1", "dev": true, "license": "MIT", @@ -6272,7 +6651,7 @@ "node": ">= 0.8.0" } }, - "../services/libs/logging/node_modules/p-limit": { + "../services/libs/integrations/node_modules/p-limit": { "version": "3.1.0", "dev": true, "license": "MIT", @@ -6286,7 +6665,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/logging/node_modules/p-locate": { + "../services/libs/integrations/node_modules/p-locate": { "version": "5.0.0", "dev": true, "license": "MIT", @@ -6300,7 +6679,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/logging/node_modules/parent-module": { + "../services/libs/integrations/node_modules/parent-module": { "version": "1.0.1", "dev": true, "license": "MIT", @@ -6311,7 +6690,11 @@ "node": ">=6" } }, - "../services/libs/logging/node_modules/path-exists": { + "../services/libs/integrations/node_modules/parse-srcset": { + "version": "1.0.2", + "license": "MIT" + }, + "../services/libs/integrations/node_modules/path-exists": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -6319,15 +6702,15 @@ "node": ">=8" } }, - "../services/libs/logging/node_modules/path-is-absolute": { + "../services/libs/integrations/node_modules/path-is-absolute": { "version": "1.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "../services/libs/logging/node_modules/path-key": { + "../services/libs/integrations/node_modules/path-key": { "version": "3.1.1", "dev": true, "license": "MIT", @@ -6335,7 +6718,7 @@ "node": ">=8" } }, - "../services/libs/logging/node_modules/path-type": { + "../services/libs/integrations/node_modules/path-type": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -6343,7 +6726,11 @@ "node": ">=8" } }, - "../services/libs/logging/node_modules/picomatch": { + "../services/libs/integrations/node_modules/picocolors": { + "version": "1.0.0", + "license": "ISC" + }, + "../services/libs/integrations/node_modules/picomatch": { "version": "2.3.1", "dev": true, "license": "MIT", @@ -6354,7 +6741,33 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "../services/libs/logging/node_modules/prelude-ls": { + "../services/libs/integrations/node_modules/postcss": { + "version": "8.4.23", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "../services/libs/integrations/node_modules/prelude-ls": { "version": "1.2.1", "dev": true, "license": "MIT", @@ -6362,7 +6775,7 @@ "node": ">= 0.8.0" } }, - "../services/libs/logging/node_modules/prettier": { + "../services/libs/integrations/node_modules/prettier": { "version": "2.8.8", "dev": true, "license": "MIT", @@ -6376,7 +6789,7 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "../services/libs/logging/node_modules/prettier-linter-helpers": { + "../services/libs/integrations/node_modules/prettier-linter-helpers": { "version": "1.0.0", "dev": true, "license": "MIT", @@ -6387,7 +6800,11 @@ "node": ">=6.0.0" } }, - "../services/libs/logging/node_modules/punycode": { + "../services/libs/integrations/node_modules/proxy-from-env": { + "version": "1.1.0", + "license": "MIT" + }, + "../services/libs/integrations/node_modules/punycode": { "version": "2.3.0", "dev": true, "license": "MIT", @@ -6395,7 +6812,7 @@ "node": ">=6" } }, - "../services/libs/logging/node_modules/queue-microtask": { + "../services/libs/integrations/node_modules/queue-microtask": { "version": "1.2.3", "dev": true, "funding": [ @@ -6414,7 +6831,7 @@ ], "license": "MIT" }, - "../services/libs/logging/node_modules/resolve-from": { + "../services/libs/integrations/node_modules/resolve-from": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -6422,7 +6839,7 @@ "node": ">=4" } }, - "../services/libs/logging/node_modules/reusify": { + "../services/libs/integrations/node_modules/reusify": { "version": "1.0.4", "dev": true, "license": "MIT", @@ -6431,7 +6848,7 @@ "node": ">=0.10.0" } }, - "../services/libs/logging/node_modules/rimraf": { + "../services/libs/integrations/node_modules/rimraf": { "version": "3.0.2", "dev": true, "license": "ISC", @@ -6445,7 +6862,7 @@ "url": "https://github.com/sponsors/isaacs" } }, - "../services/libs/logging/node_modules/run-parallel": { + "../services/libs/integrations/node_modules/run-parallel": { "version": "1.2.0", "dev": true, "funding": [ @@ -6467,14 +6884,38 @@ "queue-microtask": "^1.2.2" } }, - "../services/libs/logging/node_modules/safe-json-stringify": { - "version": "1.2.0", + "../services/libs/integrations/node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "../services/libs/integrations/node_modules/sanitize-html": { + "version": "2.10.0", "license": "MIT", - "optional": true + "dependencies": { + "deepmerge": "^4.2.2", + "escape-string-regexp": "^4.0.0", + "htmlparser2": "^8.0.0", + "is-plain-object": "^5.0.0", + "parse-srcset": "^1.0.2", + "postcss": "^8.3.11" + } }, - "../services/libs/logging/node_modules/semver": { + "../services/libs/integrations/node_modules/semver": { "version": "7.5.1", - "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -6486,7 +6927,7 @@ "node": ">=10" } }, - "../services/libs/logging/node_modules/shebang-command": { + "../services/libs/integrations/node_modules/shebang-command": { "version": "2.0.0", "dev": true, "license": "MIT", @@ -6497,7 +6938,7 @@ "node": ">=8" } }, - "../services/libs/logging/node_modules/shebang-regex": { + "../services/libs/integrations/node_modules/shebang-regex": { "version": "3.0.0", "dev": true, "license": "MIT", @@ -6505,7 +6946,7 @@ "node": ">=8" } }, - "../services/libs/logging/node_modules/slash": { + "../services/libs/integrations/node_modules/slash": { "version": "3.0.0", "dev": true, "license": "MIT", @@ -6513,7 +6954,14 @@ "node": ">=8" } }, - "../services/libs/logging/node_modules/strip-ansi": { + "../services/libs/integrations/node_modules/source-map-js": { + "version": "1.0.2", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "../services/libs/integrations/node_modules/strip-ansi": { "version": "6.0.1", "dev": true, "license": "MIT", @@ -6524,7 +6972,7 @@ "node": ">=8" } }, - "../services/libs/logging/node_modules/strip-json-comments": { + "../services/libs/integrations/node_modules/strip-json-comments": { "version": "3.1.1", "dev": true, "license": "MIT", @@ -6535,7 +6983,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/logging/node_modules/supports-color": { + "../services/libs/integrations/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", @@ -6546,12 +6994,12 @@ "node": ">=8" } }, - "../services/libs/logging/node_modules/text-table": { + "../services/libs/integrations/node_modules/text-table": { "version": "0.2.0", "dev": true, "license": "MIT" }, - "../services/libs/logging/node_modules/to-regex-range": { + "../services/libs/integrations/node_modules/to-regex-range": { "version": "5.0.1", "dev": true, "license": "MIT", @@ -6562,12 +7010,16 @@ "node": ">=8.0" } }, - "../services/libs/logging/node_modules/tslib": { + "../services/libs/integrations/node_modules/tr46": { + "version": "0.0.3", + "license": "MIT" + }, + "../services/libs/integrations/node_modules/tslib": { "version": "1.14.1", "dev": true, "license": "0BSD" }, - "../services/libs/logging/node_modules/tsutils": { + "../services/libs/integrations/node_modules/tsutils": { "version": "3.21.0", "dev": true, "license": "MIT", @@ -6581,7 +7033,7 @@ "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "../services/libs/logging/node_modules/type-check": { + "../services/libs/integrations/node_modules/type-check": { "version": "0.4.0", "dev": true, "license": "MIT", @@ -6592,7 +7044,7 @@ "node": ">= 0.8.0" } }, - "../services/libs/logging/node_modules/type-fest": { + "../services/libs/integrations/node_modules/type-fest": { "version": "0.20.2", "dev": true, "license": "(MIT OR CC0-1.0)", @@ -6603,7 +7055,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/logging/node_modules/typescript": { + "../services/libs/integrations/node_modules/typescript": { "version": "5.0.4", "dev": true, "license": "Apache-2.0", @@ -6615,7 +7067,19 @@ "node": ">=12.20" } }, - "../services/libs/logging/node_modules/uri-js": { + "../services/libs/integrations/node_modules/universal-github-app-jwt": { + "version": "1.1.1", + "license": "MIT", + "dependencies": { + "@types/jsonwebtoken": "^9.0.0", + "jsonwebtoken": "^9.0.0" + } + }, + "../services/libs/integrations/node_modules/universal-user-agent": { + "version": "6.0.0", + "license": "ISC" + }, + "../services/libs/integrations/node_modules/uri-js": { "version": "4.4.1", "dev": true, "license": "BSD-2-Clause", @@ -6623,7 +7087,23 @@ "punycode": "^2.1.0" } }, - "../services/libs/logging/node_modules/which": { + "../services/libs/integrations/node_modules/verify-github-webhook": { + "version": "1.0.1", + "license": "MIT" + }, + "../services/libs/integrations/node_modules/webidl-conversions": { + "version": "3.0.1", + "license": "BSD-2-Clause" + }, + "../services/libs/integrations/node_modules/whatwg-url": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "../services/libs/integrations/node_modules/which": { "version": "2.0.2", "dev": true, "license": "ISC", @@ -6637,7 +7117,7 @@ "node": ">= 8" } }, - "../services/libs/logging/node_modules/word-wrap": { + "../services/libs/integrations/node_modules/word-wrap": { "version": "1.2.3", "dev": true, "license": "MIT", @@ -6645,26 +7125,15 @@ "node": ">=0.10.0" } }, - "../services/libs/logging/node_modules/wrappy": { + "../services/libs/integrations/node_modules/wrappy": { "version": "1.0.2", - "devOptional": true, "license": "ISC" }, - "../services/libs/logging/node_modules/xtend": { - "version": "2.1.2", - "dependencies": { - "object-keys": "~0.4.0" - }, - "engines": { - "node": ">=0.4" - } - }, - "../services/libs/logging/node_modules/yallist": { + "../services/libs/integrations/node_modules/yallist": { "version": "4.0.0", - "dev": true, "license": "ISC" }, - "../services/libs/logging/node_modules/yocto-queue": { + "../services/libs/integrations/node_modules/yocto-queue": { "version": "0.1.0", "dev": true, "license": "MIT", @@ -6675,17 +7144,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/opensearch": { - "name": "@crowd/opensearch", + "../services/libs/logging": { + "name": "@crowd/logging", "version": "1.0.0", "dependencies": { - "@crowd/database": "file:../database", - "@crowd/logging": "file:../logging", - "@crowd/redis": "file:../redis", - "@crowd/types": "file:../types", - "@opensearch-project/opensearch": "^1.2.0" + "@crowd/common": "file:../common", + "@crowd/tracing": "file:../tracing", + "bunyan": "^1.8.15", + "bunyan-format": "^0.2.1" }, "devDependencies": { + "@types/bunyan": "^1.8.8", + "@types/bunyan-format": "^0.2.5", "@types/node": "^18.16.3", "@typescript-eslint/eslint-plugin": "^5.59.2", "@typescript-eslint/parser": "^5.59.2", @@ -6696,11 +7166,11 @@ "typescript": "^5.0.4" } }, - "../services/libs/opensearch/node_modules/@crowd/types": { - "resolved": "../services/libs/types", + "../services/libs/logging/node_modules/@crowd/common": { + "resolved": "../services/libs/common", "link": true }, - "../services/libs/opensearch/node_modules/@eslint-community/eslint-utils": { + "../services/libs/logging/node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, "license": "MIT", @@ -6714,7 +7184,7 @@ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "../services/libs/opensearch/node_modules/@eslint-community/regexpp": { + "../services/libs/logging/node_modules/@eslint-community/regexpp": { "version": "4.5.1", "dev": true, "license": "MIT", @@ -6722,7 +7192,7 @@ "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "../services/libs/opensearch/node_modules/@eslint/eslintrc": { + "../services/libs/logging/node_modules/@eslint/eslintrc": { "version": "2.0.3", "dev": true, "license": "MIT", @@ -6744,16 +7214,16 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/opensearch/node_modules/@eslint/js": { - "version": "8.42.0", + "../services/libs/logging/node_modules/@eslint/js": { + "version": "8.40.0", "dev": true, "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "../services/libs/opensearch/node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", + "../services/libs/logging/node_modules/@humanwhocodes/config-array": { + "version": "0.11.8", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -6765,7 +7235,7 @@ "node": ">=10.10.0" } }, - "../services/libs/opensearch/node_modules/@humanwhocodes/module-importer": { + "../services/libs/logging/node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "dev": true, "license": "Apache-2.0", @@ -6777,12 +7247,12 @@ "url": "https://github.com/sponsors/nzakas" } }, - "../services/libs/opensearch/node_modules/@humanwhocodes/object-schema": { + "../services/libs/logging/node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", "dev": true, "license": "BSD-3-Clause" }, - "../services/libs/opensearch/node_modules/@nodelib/fs.scandir": { + "../services/libs/logging/node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "dev": true, "license": "MIT", @@ -6794,7 +7264,7 @@ "node": ">= 8" } }, - "../services/libs/opensearch/node_modules/@nodelib/fs.stat": { + "../services/libs/logging/node_modules/@nodelib/fs.stat": { "version": "2.0.5", "dev": true, "license": "MIT", @@ -6802,7 +7272,7 @@ "node": ">= 8" } }, - "../services/libs/opensearch/node_modules/@nodelib/fs.walk": { + "../services/libs/logging/node_modules/@nodelib/fs.walk": { "version": "1.2.8", "dev": true, "license": "MIT", @@ -6814,48 +7284,46 @@ "node": ">= 8" } }, - "../services/libs/opensearch/node_modules/@opensearch-project/opensearch": { - "version": "1.2.0", - "license": "Apache-2.0", + "../services/libs/logging/node_modules/@types/bunyan": { + "version": "1.8.8", + "dev": true, + "license": "MIT", "dependencies": { - "aws4": "^1.11.0", - "debug": "^4.3.1", - "hpagent": "^0.1.1", - "ms": "^2.1.3", - "secure-json-parse": "^2.4.0" - }, - "engines": { - "node": ">=10" + "@types/node": "*" } }, - "../services/libs/opensearch/node_modules/@opensearch-project/opensearch/node_modules/ms": { - "version": "2.1.3", - "license": "MIT" + "../services/libs/logging/node_modules/@types/bunyan-format": { + "version": "0.2.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } }, - "../services/libs/opensearch/node_modules/@types/json-schema": { - "version": "7.0.12", + "../services/libs/logging/node_modules/@types/json-schema": { + "version": "7.0.11", "dev": true, "license": "MIT" }, - "../services/libs/opensearch/node_modules/@types/node": { - "version": "18.16.18", + "../services/libs/logging/node_modules/@types/node": { + "version": "18.16.8", "dev": true, "license": "MIT" }, - "../services/libs/opensearch/node_modules/@types/semver": { + "../services/libs/logging/node_modules/@types/semver": { "version": "7.5.0", "dev": true, "license": "MIT" }, - "../services/libs/opensearch/node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.59.11", + "../services/libs/logging/node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.59.6", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.11", - "@typescript-eslint/type-utils": "5.59.11", - "@typescript-eslint/utils": "5.59.11", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/type-utils": "5.59.6", + "@typescript-eslint/utils": "5.59.6", "debug": "^4.3.4", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", @@ -6880,14 +7348,14 @@ } } }, - "../services/libs/opensearch/node_modules/@typescript-eslint/parser": { - "version": "5.59.11", + "../services/libs/logging/node_modules/@typescript-eslint/parser": { + "version": "5.59.6", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "5.59.11", - "@typescript-eslint/types": "5.59.11", - "@typescript-eslint/typescript-estree": "5.59.11", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", "debug": "^4.3.4" }, "engines": { @@ -6906,13 +7374,13 @@ } } }, - "../services/libs/opensearch/node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.11", + "../services/libs/logging/node_modules/@typescript-eslint/scope-manager": { + "version": "5.59.6", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.59.11", - "@typescript-eslint/visitor-keys": "5.59.11" + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -6922,13 +7390,13 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "../services/libs/opensearch/node_modules/@typescript-eslint/type-utils": { - "version": "5.59.11", + "../services/libs/logging/node_modules/@typescript-eslint/type-utils": { + "version": "5.59.6", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "5.59.11", - "@typescript-eslint/utils": "5.59.11", + "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/utils": "5.59.6", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -6948,8 +7416,8 @@ } } }, - "../services/libs/opensearch/node_modules/@typescript-eslint/types": { - "version": "5.59.11", + "../services/libs/logging/node_modules/@typescript-eslint/types": { + "version": "5.59.6", "dev": true, "license": "MIT", "engines": { @@ -6960,13 +7428,13 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "../services/libs/opensearch/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.11", + "../services/libs/logging/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.59.6", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "5.59.11", - "@typescript-eslint/visitor-keys": "5.59.11", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -6986,17 +7454,17 @@ } } }, - "../services/libs/opensearch/node_modules/@typescript-eslint/utils": { - "version": "5.59.11", + "../services/libs/logging/node_modules/@typescript-eslint/utils": { + "version": "5.59.6", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.11", - "@typescript-eslint/types": "5.59.11", - "@typescript-eslint/typescript-estree": "5.59.11", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", "eslint-scope": "^5.1.1", "semver": "^7.3.7" }, @@ -7011,12 +7479,32 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "../services/libs/opensearch/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.11", + "../services/libs/logging/node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "../services/libs/logging/node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "../services/libs/logging/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.59.6", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/types": "5.59.6", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -7027,7 +7515,7 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "../services/libs/opensearch/node_modules/acorn": { + "../services/libs/logging/node_modules/acorn": { "version": "8.8.2", "dev": true, "license": "MIT", @@ -7038,7 +7526,7 @@ "node": ">=0.4.0" } }, - "../services/libs/opensearch/node_modules/acorn-jsx": { + "../services/libs/logging/node_modules/acorn-jsx": { "version": "5.3.2", "dev": true, "license": "MIT", @@ -7046,7 +7534,7 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "../services/libs/opensearch/node_modules/ajv": { + "../services/libs/logging/node_modules/ajv": { "version": "6.12.6", "dev": true, "license": "MIT", @@ -7061,7 +7549,7 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "../services/libs/opensearch/node_modules/ansi-regex": { + "../services/libs/logging/node_modules/ansi-regex": { "version": "5.0.1", "dev": true, "license": "MIT", @@ -7069,7 +7557,7 @@ "node": ">=8" } }, - "../services/libs/opensearch/node_modules/ansi-styles": { + "../services/libs/logging/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -7083,12 +7571,20 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "../services/libs/opensearch/node_modules/argparse": { + "../services/libs/logging/node_modules/ansicolors": { + "version": "0.2.1", + "license": "MIT" + }, + "../services/libs/logging/node_modules/ansistyles": { + "version": "0.1.3", + "license": "MIT" + }, + "../services/libs/logging/node_modules/argparse": { "version": "2.0.1", "dev": true, "license": "Python-2.0" }, - "../services/libs/opensearch/node_modules/array-union": { + "../services/libs/logging/node_modules/array-union": { "version": "2.1.0", "dev": true, "license": "MIT", @@ -7096,25 +7592,21 @@ "node": ">=8" } }, - "../services/libs/opensearch/node_modules/aws4": { - "version": "1.12.0", - "license": "MIT" - }, - "../services/libs/opensearch/node_modules/balanced-match": { + "../services/libs/logging/node_modules/balanced-match": { "version": "1.0.2", - "dev": true, + "devOptional": true, "license": "MIT" }, - "../services/libs/opensearch/node_modules/brace-expansion": { + "../services/libs/logging/node_modules/brace-expansion": { "version": "1.1.11", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "../services/libs/opensearch/node_modules/braces": { + "../services/libs/logging/node_modules/braces": { "version": "3.0.2", "dev": true, "license": "MIT", @@ -7125,7 +7617,32 @@ "node": ">=8" } }, - "../services/libs/opensearch/node_modules/callsites": { + "../services/libs/logging/node_modules/bunyan": { + "version": "1.8.15", + "engines": [ + "node >=0.10.0" + ], + "license": "MIT", + "bin": { + "bunyan": "bin/bunyan" + }, + "optionalDependencies": { + "dtrace-provider": "~0.8", + "moment": "^2.19.3", + "mv": "~2", + "safe-json-stringify": "~1" + } + }, + "../services/libs/logging/node_modules/bunyan-format": { + "version": "0.2.1", + "license": "MIT", + "dependencies": { + "ansicolors": "~0.2.1", + "ansistyles": "~0.1.1", + "xtend": "~2.1.1" + } + }, + "../services/libs/logging/node_modules/callsites": { "version": "3.1.0", "dev": true, "license": "MIT", @@ -7133,7 +7650,7 @@ "node": ">=6" } }, - "../services/libs/opensearch/node_modules/chalk": { + "../services/libs/logging/node_modules/chalk": { "version": "4.1.2", "dev": true, "license": "MIT", @@ -7148,7 +7665,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "../services/libs/opensearch/node_modules/color-convert": { + "../services/libs/logging/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -7159,17 +7676,17 @@ "node": ">=7.0.0" } }, - "../services/libs/opensearch/node_modules/color-name": { + "../services/libs/logging/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" }, - "../services/libs/opensearch/node_modules/concat-map": { + "../services/libs/logging/node_modules/concat-map": { "version": "0.0.1", - "dev": true, + "devOptional": true, "license": "MIT" }, - "../services/libs/opensearch/node_modules/cross-spawn": { + "../services/libs/logging/node_modules/cross-spawn": { "version": "7.0.3", "dev": true, "license": "MIT", @@ -7182,8 +7699,9 @@ "node": ">= 8" } }, - "../services/libs/opensearch/node_modules/debug": { + "../services/libs/logging/node_modules/debug": { "version": "4.3.4", + "dev": true, "license": "MIT", "dependencies": { "ms": "2.1.2" @@ -7197,12 +7715,12 @@ } } }, - "../services/libs/opensearch/node_modules/deep-is": { + "../services/libs/logging/node_modules/deep-is": { "version": "0.1.4", "dev": true, "license": "MIT" }, - "../services/libs/opensearch/node_modules/dir-glob": { + "../services/libs/logging/node_modules/dir-glob": { "version": "3.0.1", "dev": true, "license": "MIT", @@ -7213,7 +7731,7 @@ "node": ">=8" } }, - "../services/libs/opensearch/node_modules/doctrine": { + "../services/libs/logging/node_modules/doctrine": { "version": "3.0.0", "dev": true, "license": "Apache-2.0", @@ -7224,7 +7742,19 @@ "node": ">=6.0.0" } }, - "../services/libs/opensearch/node_modules/escape-string-regexp": { + "../services/libs/logging/node_modules/dtrace-provider": { + "version": "0.8.8", + "hasInstallScript": true, + "license": "BSD-2-Clause", + "optional": true, + "dependencies": { + "nan": "^2.14.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "../services/libs/logging/node_modules/escape-string-regexp": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -7235,16 +7765,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/opensearch/node_modules/eslint": { - "version": "8.42.0", + "../services/libs/logging/node_modules/eslint": { + "version": "8.40.0", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.42.0", - "@humanwhocodes/config-array": "^0.11.10", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -7263,12 +7793,13 @@ "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", - "graphemer": "^1.4.0", + "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", @@ -7290,7 +7821,7 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/opensearch/node_modules/eslint-config-prettier": { + "../services/libs/logging/node_modules/eslint-config-prettier": { "version": "8.8.0", "dev": true, "license": "MIT", @@ -7301,7 +7832,7 @@ "eslint": ">=7.0.0" } }, - "../services/libs/opensearch/node_modules/eslint-plugin-prettier": { + "../services/libs/logging/node_modules/eslint-plugin-prettier": { "version": "4.2.1", "dev": true, "license": "MIT", @@ -7321,22 +7852,14 @@ } } }, - "../services/libs/opensearch/node_modules/eslint-scope": { - "version": "5.1.1", + "../services/libs/logging/node_modules/eslint-scope": { + "version": "7.2.0", "dev": true, "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "estraverse": "^5.2.0" }, - "engines": { - "node": ">=8.0.0" - } - }, - "../services/libs/opensearch/node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "dev": true, - "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -7344,14 +7867,10 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/opensearch/node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.0", + "../services/libs/logging/node_modules/eslint-visitor-keys": { + "version": "3.4.1", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -7359,15 +7878,7 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/opensearch/node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "../services/libs/opensearch/node_modules/espree": { + "../services/libs/logging/node_modules/espree": { "version": "9.5.2", "dev": true, "license": "BSD-2-Clause", @@ -7383,7 +7894,7 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/opensearch/node_modules/esquery": { + "../services/libs/logging/node_modules/esquery": { "version": "1.5.0", "dev": true, "license": "BSD-3-Clause", @@ -7394,15 +7905,7 @@ "node": ">=0.10" } }, - "../services/libs/opensearch/node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "../services/libs/opensearch/node_modules/esrecurse": { + "../services/libs/logging/node_modules/esrecurse": { "version": "4.3.0", "dev": true, "license": "BSD-2-Clause", @@ -7413,7 +7916,7 @@ "node": ">=4.0" } }, - "../services/libs/opensearch/node_modules/esrecurse/node_modules/estraverse": { + "../services/libs/logging/node_modules/estraverse": { "version": "5.3.0", "dev": true, "license": "BSD-2-Clause", @@ -7421,15 +7924,7 @@ "node": ">=4.0" } }, - "../services/libs/opensearch/node_modules/estraverse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "../services/libs/opensearch/node_modules/esutils": { + "../services/libs/logging/node_modules/esutils": { "version": "2.0.3", "dev": true, "license": "BSD-2-Clause", @@ -7437,17 +7932,17 @@ "node": ">=0.10.0" } }, - "../services/libs/opensearch/node_modules/fast-deep-equal": { + "../services/libs/logging/node_modules/fast-deep-equal": { "version": "3.1.3", "dev": true, "license": "MIT" }, - "../services/libs/opensearch/node_modules/fast-diff": { - "version": "1.3.0", + "../services/libs/logging/node_modules/fast-diff": { + "version": "1.2.0", "dev": true, "license": "Apache-2.0" }, - "../services/libs/opensearch/node_modules/fast-glob": { + "../services/libs/logging/node_modules/fast-glob": { "version": "3.2.12", "dev": true, "license": "MIT", @@ -7462,7 +7957,7 @@ "node": ">=8.6.0" } }, - "../services/libs/opensearch/node_modules/fast-glob/node_modules/glob-parent": { + "../services/libs/logging/node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", "dev": true, "license": "ISC", @@ -7473,17 +7968,17 @@ "node": ">= 6" } }, - "../services/libs/opensearch/node_modules/fast-json-stable-stringify": { + "../services/libs/logging/node_modules/fast-json-stable-stringify": { "version": "2.1.0", "dev": true, "license": "MIT" }, - "../services/libs/opensearch/node_modules/fast-levenshtein": { + "../services/libs/logging/node_modules/fast-levenshtein": { "version": "2.0.6", "dev": true, "license": "MIT" }, - "../services/libs/opensearch/node_modules/fastq": { + "../services/libs/logging/node_modules/fastq": { "version": "1.15.0", "dev": true, "license": "ISC", @@ -7491,7 +7986,7 @@ "reusify": "^1.0.4" } }, - "../services/libs/opensearch/node_modules/file-entry-cache": { + "../services/libs/logging/node_modules/file-entry-cache": { "version": "6.0.1", "dev": true, "license": "MIT", @@ -7502,7 +7997,7 @@ "node": "^10.12.0 || >=12.0.0" } }, - "../services/libs/opensearch/node_modules/fill-range": { + "../services/libs/logging/node_modules/fill-range": { "version": "7.0.1", "dev": true, "license": "MIT", @@ -7513,7 +8008,7 @@ "node": ">=8" } }, - "../services/libs/opensearch/node_modules/find-up": { + "../services/libs/logging/node_modules/find-up": { "version": "5.0.0", "dev": true, "license": "MIT", @@ -7528,7 +8023,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/opensearch/node_modules/flat-cache": { + "../services/libs/logging/node_modules/flat-cache": { "version": "3.0.4", "dev": true, "license": "MIT", @@ -7540,17 +8035,17 @@ "node": "^10.12.0 || >=12.0.0" } }, - "../services/libs/opensearch/node_modules/flatted": { + "../services/libs/logging/node_modules/flatted": { "version": "3.2.7", "dev": true, "license": "ISC" }, - "../services/libs/opensearch/node_modules/fs.realpath": { + "../services/libs/logging/node_modules/fs.realpath": { "version": "1.0.0", "dev": true, "license": "ISC" }, - "../services/libs/opensearch/node_modules/glob": { + "../services/libs/logging/node_modules/glob": { "version": "7.2.3", "dev": true, "license": "ISC", @@ -7569,7 +8064,7 @@ "url": "https://github.com/sponsors/isaacs" } }, - "../services/libs/opensearch/node_modules/glob-parent": { + "../services/libs/logging/node_modules/glob-parent": { "version": "6.0.2", "dev": true, "license": "ISC", @@ -7580,7 +8075,7 @@ "node": ">=10.13.0" } }, - "../services/libs/opensearch/node_modules/globals": { + "../services/libs/logging/node_modules/globals": { "version": "13.20.0", "dev": true, "license": "MIT", @@ -7594,7 +8089,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/opensearch/node_modules/globby": { + "../services/libs/logging/node_modules/globby": { "version": "11.1.0", "dev": true, "license": "MIT", @@ -7613,17 +8108,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/opensearch/node_modules/grapheme-splitter": { + "../services/libs/logging/node_modules/grapheme-splitter": { "version": "1.0.4", "dev": true, "license": "MIT" }, - "../services/libs/opensearch/node_modules/graphemer": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "../services/libs/opensearch/node_modules/has-flag": { + "../services/libs/logging/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -7631,11 +8121,7 @@ "node": ">=8" } }, - "../services/libs/opensearch/node_modules/hpagent": { - "version": "0.1.2", - "license": "MIT" - }, - "../services/libs/opensearch/node_modules/ignore": { + "../services/libs/logging/node_modules/ignore": { "version": "5.2.4", "dev": true, "license": "MIT", @@ -7643,7 +8129,7 @@ "node": ">= 4" } }, - "../services/libs/opensearch/node_modules/import-fresh": { + "../services/libs/logging/node_modules/import-fresh": { "version": "3.3.0", "dev": true, "license": "MIT", @@ -7658,7 +8144,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/opensearch/node_modules/imurmurhash": { + "../services/libs/logging/node_modules/imurmurhash": { "version": "0.1.4", "dev": true, "license": "MIT", @@ -7666,21 +8152,21 @@ "node": ">=0.8.19" } }, - "../services/libs/opensearch/node_modules/inflight": { + "../services/libs/logging/node_modules/inflight": { "version": "1.0.6", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "../services/libs/opensearch/node_modules/inherits": { + "../services/libs/logging/node_modules/inherits": { "version": "2.0.4", - "dev": true, + "devOptional": true, "license": "ISC" }, - "../services/libs/opensearch/node_modules/is-extglob": { + "../services/libs/logging/node_modules/is-extglob": { "version": "2.1.1", "dev": true, "license": "MIT", @@ -7688,7 +8174,7 @@ "node": ">=0.10.0" } }, - "../services/libs/opensearch/node_modules/is-glob": { + "../services/libs/logging/node_modules/is-glob": { "version": "4.0.3", "dev": true, "license": "MIT", @@ -7699,7 +8185,7 @@ "node": ">=0.10.0" } }, - "../services/libs/opensearch/node_modules/is-number": { + "../services/libs/logging/node_modules/is-number": { "version": "7.0.0", "dev": true, "license": "MIT", @@ -7707,7 +8193,7 @@ "node": ">=0.12.0" } }, - "../services/libs/opensearch/node_modules/is-path-inside": { + "../services/libs/logging/node_modules/is-path-inside": { "version": "3.0.3", "dev": true, "license": "MIT", @@ -7715,12 +8201,21 @@ "node": ">=8" } }, - "../services/libs/opensearch/node_modules/isexe": { + "../services/libs/logging/node_modules/isexe": { "version": "2.0.0", "dev": true, "license": "ISC" }, - "../services/libs/opensearch/node_modules/js-yaml": { + "../services/libs/logging/node_modules/js-sdsl": { + "version": "4.4.0", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, + "../services/libs/logging/node_modules/js-yaml": { "version": "4.1.0", "dev": true, "license": "MIT", @@ -7731,17 +8226,17 @@ "js-yaml": "bin/js-yaml.js" } }, - "../services/libs/opensearch/node_modules/json-schema-traverse": { + "../services/libs/logging/node_modules/json-schema-traverse": { "version": "0.4.1", "dev": true, "license": "MIT" }, - "../services/libs/opensearch/node_modules/json-stable-stringify-without-jsonify": { + "../services/libs/logging/node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "dev": true, "license": "MIT" }, - "../services/libs/opensearch/node_modules/levn": { + "../services/libs/logging/node_modules/levn": { "version": "0.4.1", "dev": true, "license": "MIT", @@ -7753,7 +8248,7 @@ "node": ">= 0.8.0" } }, - "../services/libs/opensearch/node_modules/locate-path": { + "../services/libs/logging/node_modules/locate-path": { "version": "6.0.0", "dev": true, "license": "MIT", @@ -7767,12 +8262,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/opensearch/node_modules/lodash.merge": { + "../services/libs/logging/node_modules/lodash.merge": { "version": "4.6.2", "dev": true, "license": "MIT" }, - "../services/libs/opensearch/node_modules/lru-cache": { + "../services/libs/logging/node_modules/lru-cache": { "version": "6.0.0", "dev": true, "license": "ISC", @@ -7783,7 +8278,7 @@ "node": ">=10" } }, - "../services/libs/opensearch/node_modules/merge2": { + "../services/libs/logging/node_modules/merge2": { "version": "1.4.1", "dev": true, "license": "MIT", @@ -7791,7 +8286,7 @@ "node": ">= 8" } }, - "../services/libs/opensearch/node_modules/micromatch": { + "../services/libs/logging/node_modules/micromatch": { "version": "4.0.5", "dev": true, "license": "MIT", @@ -7803,9 +8298,9 @@ "node": ">=8.6" } }, - "../services/libs/opensearch/node_modules/minimatch": { + "../services/libs/logging/node_modules/minimatch": { "version": "3.1.2", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -7814,29 +8309,113 @@ "node": "*" } }, - "../services/libs/opensearch/node_modules/ms": { + "../services/libs/logging/node_modules/minimist": { + "version": "1.2.8", + "license": "MIT", + "optional": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../services/libs/logging/node_modules/mkdirp": { + "version": "0.5.6", + "license": "MIT", + "optional": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "../services/libs/logging/node_modules/moment": { + "version": "2.29.4", + "license": "MIT", + "optional": true, + "engines": { + "node": "*" + } + }, + "../services/libs/logging/node_modules/ms": { "version": "2.1.2", + "dev": true, "license": "MIT" }, - "../services/libs/opensearch/node_modules/natural-compare": { + "../services/libs/logging/node_modules/mv": { + "version": "2.1.1", + "license": "MIT", + "optional": true, + "dependencies": { + "mkdirp": "~0.5.1", + "ncp": "~2.0.0", + "rimraf": "~2.4.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "../services/libs/logging/node_modules/mv/node_modules/glob": { + "version": "6.0.4", + "license": "ISC", + "optional": true, + "dependencies": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "../services/libs/logging/node_modules/mv/node_modules/rimraf": { + "version": "2.4.5", + "license": "ISC", + "optional": true, + "dependencies": { + "glob": "^6.0.1" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "../services/libs/logging/node_modules/nan": { + "version": "2.17.0", + "license": "MIT", + "optional": true + }, + "../services/libs/logging/node_modules/natural-compare": { "version": "1.4.0", "dev": true, "license": "MIT" }, - "../services/libs/opensearch/node_modules/natural-compare-lite": { + "../services/libs/logging/node_modules/natural-compare-lite": { "version": "1.4.0", "dev": true, "license": "MIT" }, - "../services/libs/opensearch/node_modules/once": { + "../services/libs/logging/node_modules/ncp": { + "version": "2.0.0", + "license": "MIT", + "optional": true, + "bin": { + "ncp": "bin/ncp" + } + }, + "../services/libs/logging/node_modules/object-keys": { + "version": "0.4.0", + "license": "MIT" + }, + "../services/libs/logging/node_modules/once": { "version": "1.4.0", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "wrappy": "1" } }, - "../services/libs/opensearch/node_modules/optionator": { + "../services/libs/logging/node_modules/optionator": { "version": "0.9.1", "dev": true, "license": "MIT", @@ -7852,7 +8431,7 @@ "node": ">= 0.8.0" } }, - "../services/libs/opensearch/node_modules/p-limit": { + "../services/libs/logging/node_modules/p-limit": { "version": "3.1.0", "dev": true, "license": "MIT", @@ -7866,7 +8445,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/opensearch/node_modules/p-locate": { + "../services/libs/logging/node_modules/p-locate": { "version": "5.0.0", "dev": true, "license": "MIT", @@ -7880,7 +8459,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/opensearch/node_modules/parent-module": { + "../services/libs/logging/node_modules/parent-module": { "version": "1.0.1", "dev": true, "license": "MIT", @@ -7891,7 +8470,7 @@ "node": ">=6" } }, - "../services/libs/opensearch/node_modules/path-exists": { + "../services/libs/logging/node_modules/path-exists": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -7899,15 +8478,15 @@ "node": ">=8" } }, - "../services/libs/opensearch/node_modules/path-is-absolute": { + "../services/libs/logging/node_modules/path-is-absolute": { "version": "1.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "../services/libs/opensearch/node_modules/path-key": { + "../services/libs/logging/node_modules/path-key": { "version": "3.1.1", "dev": true, "license": "MIT", @@ -7915,7 +8494,7 @@ "node": ">=8" } }, - "../services/libs/opensearch/node_modules/path-type": { + "../services/libs/logging/node_modules/path-type": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -7923,7 +8502,7 @@ "node": ">=8" } }, - "../services/libs/opensearch/node_modules/picomatch": { + "../services/libs/logging/node_modules/picomatch": { "version": "2.3.1", "dev": true, "license": "MIT", @@ -7934,7 +8513,7 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "../services/libs/opensearch/node_modules/prelude-ls": { + "../services/libs/logging/node_modules/prelude-ls": { "version": "1.2.1", "dev": true, "license": "MIT", @@ -7942,7 +8521,7 @@ "node": ">= 0.8.0" } }, - "../services/libs/opensearch/node_modules/prettier": { + "../services/libs/logging/node_modules/prettier": { "version": "2.8.8", "dev": true, "license": "MIT", @@ -7956,7 +8535,7 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "../services/libs/opensearch/node_modules/prettier-linter-helpers": { + "../services/libs/logging/node_modules/prettier-linter-helpers": { "version": "1.0.0", "dev": true, "license": "MIT", @@ -7967,7 +8546,7 @@ "node": ">=6.0.0" } }, - "../services/libs/opensearch/node_modules/punycode": { + "../services/libs/logging/node_modules/punycode": { "version": "2.3.0", "dev": true, "license": "MIT", @@ -7975,7 +8554,7 @@ "node": ">=6" } }, - "../services/libs/opensearch/node_modules/queue-microtask": { + "../services/libs/logging/node_modules/queue-microtask": { "version": "1.2.3", "dev": true, "funding": [ @@ -7994,7 +8573,7 @@ ], "license": "MIT" }, - "../services/libs/opensearch/node_modules/resolve-from": { + "../services/libs/logging/node_modules/resolve-from": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -8002,7 +8581,7 @@ "node": ">=4" } }, - "../services/libs/opensearch/node_modules/reusify": { + "../services/libs/logging/node_modules/reusify": { "version": "1.0.4", "dev": true, "license": "MIT", @@ -8011,7 +8590,7 @@ "node": ">=0.10.0" } }, - "../services/libs/opensearch/node_modules/rimraf": { + "../services/libs/logging/node_modules/rimraf": { "version": "3.0.2", "dev": true, "license": "ISC", @@ -8025,7 +8604,7 @@ "url": "https://github.com/sponsors/isaacs" } }, - "../services/libs/opensearch/node_modules/run-parallel": { + "../services/libs/logging/node_modules/run-parallel": { "version": "1.2.0", "dev": true, "funding": [ @@ -8047,11 +8626,12 @@ "queue-microtask": "^1.2.2" } }, - "../services/libs/opensearch/node_modules/secure-json-parse": { - "version": "2.7.0", - "license": "BSD-3-Clause" + "../services/libs/logging/node_modules/safe-json-stringify": { + "version": "1.2.0", + "license": "MIT", + "optional": true }, - "../services/libs/opensearch/node_modules/semver": { + "../services/libs/logging/node_modules/semver": { "version": "7.5.1", "dev": true, "license": "ISC", @@ -8065,7 +8645,7 @@ "node": ">=10" } }, - "../services/libs/opensearch/node_modules/shebang-command": { + "../services/libs/logging/node_modules/shebang-command": { "version": "2.0.0", "dev": true, "license": "MIT", @@ -8076,7 +8656,7 @@ "node": ">=8" } }, - "../services/libs/opensearch/node_modules/shebang-regex": { + "../services/libs/logging/node_modules/shebang-regex": { "version": "3.0.0", "dev": true, "license": "MIT", @@ -8084,7 +8664,7 @@ "node": ">=8" } }, - "../services/libs/opensearch/node_modules/slash": { + "../services/libs/logging/node_modules/slash": { "version": "3.0.0", "dev": true, "license": "MIT", @@ -8092,7 +8672,7 @@ "node": ">=8" } }, - "../services/libs/opensearch/node_modules/strip-ansi": { + "../services/libs/logging/node_modules/strip-ansi": { "version": "6.0.1", "dev": true, "license": "MIT", @@ -8103,7 +8683,7 @@ "node": ">=8" } }, - "../services/libs/opensearch/node_modules/strip-json-comments": { + "../services/libs/logging/node_modules/strip-json-comments": { "version": "3.1.1", "dev": true, "license": "MIT", @@ -8114,7 +8694,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/opensearch/node_modules/supports-color": { + "../services/libs/logging/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", @@ -8125,12 +8705,12 @@ "node": ">=8" } }, - "../services/libs/opensearch/node_modules/text-table": { + "../services/libs/logging/node_modules/text-table": { "version": "0.2.0", "dev": true, "license": "MIT" }, - "../services/libs/opensearch/node_modules/to-regex-range": { + "../services/libs/logging/node_modules/to-regex-range": { "version": "5.0.1", "dev": true, "license": "MIT", @@ -8141,12 +8721,12 @@ "node": ">=8.0" } }, - "../services/libs/opensearch/node_modules/tslib": { + "../services/libs/logging/node_modules/tslib": { "version": "1.14.1", "dev": true, "license": "0BSD" }, - "../services/libs/opensearch/node_modules/tsutils": { + "../services/libs/logging/node_modules/tsutils": { "version": "3.21.0", "dev": true, "license": "MIT", @@ -8160,7 +8740,7 @@ "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "../services/libs/opensearch/node_modules/type-check": { + "../services/libs/logging/node_modules/type-check": { "version": "0.4.0", "dev": true, "license": "MIT", @@ -8171,7 +8751,7 @@ "node": ">= 0.8.0" } }, - "../services/libs/opensearch/node_modules/type-fest": { + "../services/libs/logging/node_modules/type-fest": { "version": "0.20.2", "dev": true, "license": "(MIT OR CC0-1.0)", @@ -8182,8 +8762,8 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/opensearch/node_modules/typescript": { - "version": "5.1.3", + "../services/libs/logging/node_modules/typescript": { + "version": "5.0.4", "dev": true, "license": "Apache-2.0", "bin": { @@ -8191,10 +8771,10 @@ "tsserver": "bin/tsserver" }, "engines": { - "node": ">=14.17" + "node": ">=12.20" } }, - "../services/libs/opensearch/node_modules/uri-js": { + "../services/libs/logging/node_modules/uri-js": { "version": "4.4.1", "dev": true, "license": "BSD-2-Clause", @@ -8202,7 +8782,7 @@ "punycode": "^2.1.0" } }, - "../services/libs/opensearch/node_modules/which": { + "../services/libs/logging/node_modules/which": { "version": "2.0.2", "dev": true, "license": "ISC", @@ -8216,7 +8796,7 @@ "node": ">= 8" } }, - "../services/libs/opensearch/node_modules/word-wrap": { + "../services/libs/logging/node_modules/word-wrap": { "version": "1.2.3", "dev": true, "license": "MIT", @@ -8224,17 +8804,26 @@ "node": ">=0.10.0" } }, - "../services/libs/opensearch/node_modules/wrappy": { + "../services/libs/logging/node_modules/wrappy": { "version": "1.0.2", - "dev": true, + "devOptional": true, "license": "ISC" }, - "../services/libs/opensearch/node_modules/yallist": { + "../services/libs/logging/node_modules/xtend": { + "version": "2.1.2", + "dependencies": { + "object-keys": "~0.4.0" + }, + "engines": { + "node": ">=0.4" + } + }, + "../services/libs/logging/node_modules/yallist": { "version": "4.0.0", "dev": true, "license": "ISC" }, - "../services/libs/opensearch/node_modules/yocto-queue": { + "../services/libs/logging/node_modules/yocto-queue": { "version": "0.1.0", "dev": true, "license": "MIT", @@ -8245,14 +8834,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/redis": { - "name": "@crowd/redis", + "../services/libs/opensearch": { + "name": "@crowd/opensearch", "version": "1.0.0", "dependencies": { - "@crowd/common": "file:../common", + "@crowd/database": "file:../database", "@crowd/logging": "file:../logging", + "@crowd/redis": "file:../redis", "@crowd/types": "file:../types", - "redis": "^4.6.6" + "@opensearch-project/opensearch": "^1.2.0", + "axios": "^1.6.0" }, "devDependencies": { "@types/node": "^18.16.3", @@ -8265,19 +8856,23 @@ "typescript": "^5.0.4" } }, - "../services/libs/redis/node_modules/@crowd/common": { - "resolved": "../services/libs/common", + "../services/libs/opensearch/node_modules/@crowd/database": { + "resolved": "../services/libs/database", "link": true }, - "../services/libs/redis/node_modules/@crowd/logging": { + "../services/libs/opensearch/node_modules/@crowd/logging": { "resolved": "../services/libs/logging", "link": true }, - "../services/libs/redis/node_modules/@crowd/types": { + "../services/libs/opensearch/node_modules/@crowd/redis": { + "resolved": "../services/libs/redis", + "link": true + }, + "../services/libs/opensearch/node_modules/@crowd/types": { "resolved": "../services/libs/types", "link": true }, - "../services/libs/redis/node_modules/@eslint-community/eslint-utils": { + "../services/libs/opensearch/node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, "license": "MIT", @@ -8291,7 +8886,7 @@ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "../services/libs/redis/node_modules/@eslint-community/regexpp": { + "../services/libs/opensearch/node_modules/@eslint-community/regexpp": { "version": "4.5.1", "dev": true, "license": "MIT", @@ -8299,7 +8894,7 @@ "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "../services/libs/redis/node_modules/@eslint/eslintrc": { + "../services/libs/opensearch/node_modules/@eslint/eslintrc": { "version": "2.0.3", "dev": true, "license": "MIT", @@ -8321,16 +8916,16 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/redis/node_modules/@eslint/js": { - "version": "8.40.0", + "../services/libs/opensearch/node_modules/@eslint/js": { + "version": "8.42.0", "dev": true, "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "../services/libs/redis/node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", + "../services/libs/opensearch/node_modules/@humanwhocodes/config-array": { + "version": "0.11.10", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -8342,7 +8937,7 @@ "node": ">=10.10.0" } }, - "../services/libs/redis/node_modules/@humanwhocodes/module-importer": { + "../services/libs/opensearch/node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "dev": true, "license": "Apache-2.0", @@ -8354,12 +8949,12 @@ "url": "https://github.com/sponsors/nzakas" } }, - "../services/libs/redis/node_modules/@humanwhocodes/object-schema": { + "../services/libs/opensearch/node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", "dev": true, "license": "BSD-3-Clause" }, - "../services/libs/redis/node_modules/@nodelib/fs.scandir": { + "../services/libs/opensearch/node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "dev": true, "license": "MIT", @@ -8371,7 +8966,7 @@ "node": ">= 8" } }, - "../services/libs/redis/node_modules/@nodelib/fs.stat": { + "../services/libs/opensearch/node_modules/@nodelib/fs.stat": { "version": "2.0.5", "dev": true, "license": "MIT", @@ -8379,7 +8974,7 @@ "node": ">= 8" } }, - "../services/libs/redis/node_modules/@nodelib/fs.walk": { + "../services/libs/opensearch/node_modules/@nodelib/fs.walk": { "version": "1.2.8", "dev": true, "license": "MIT", @@ -8391,77 +8986,48 @@ "node": ">= 8" } }, - "../services/libs/redis/node_modules/@redis/bloom": { + "../services/libs/opensearch/node_modules/@opensearch-project/opensearch": { "version": "1.2.0", - "license": "MIT", - "peerDependencies": { - "@redis/client": "^1.0.0" - } - }, - "../services/libs/redis/node_modules/@redis/client": { - "version": "1.5.7", - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "cluster-key-slot": "1.1.2", - "generic-pool": "3.9.0", - "yallist": "4.0.0" + "aws4": "^1.11.0", + "debug": "^4.3.1", + "hpagent": "^0.1.1", + "ms": "^2.1.3", + "secure-json-parse": "^2.4.0" }, "engines": { - "node": ">=14" - } - }, - "../services/libs/redis/node_modules/@redis/graph": { - "version": "1.1.0", - "license": "MIT", - "peerDependencies": { - "@redis/client": "^1.0.0" - } - }, - "../services/libs/redis/node_modules/@redis/json": { - "version": "1.0.4", - "license": "MIT", - "peerDependencies": { - "@redis/client": "^1.0.0" - } - }, - "../services/libs/redis/node_modules/@redis/search": { - "version": "1.1.2", - "license": "MIT", - "peerDependencies": { - "@redis/client": "^1.0.0" + "node": ">=10" } }, - "../services/libs/redis/node_modules/@redis/time-series": { - "version": "1.0.4", - "license": "MIT", - "peerDependencies": { - "@redis/client": "^1.0.0" - } + "../services/libs/opensearch/node_modules/@opensearch-project/opensearch/node_modules/ms": { + "version": "2.1.3", + "license": "MIT" }, - "../services/libs/redis/node_modules/@types/json-schema": { - "version": "7.0.11", + "../services/libs/opensearch/node_modules/@types/json-schema": { + "version": "7.0.12", "dev": true, "license": "MIT" }, - "../services/libs/redis/node_modules/@types/node": { - "version": "18.16.9", + "../services/libs/opensearch/node_modules/@types/node": { + "version": "18.16.18", "dev": true, "license": "MIT" }, - "../services/libs/redis/node_modules/@types/semver": { + "../services/libs/opensearch/node_modules/@types/semver": { "version": "7.5.0", "dev": true, "license": "MIT" }, - "../services/libs/redis/node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.59.6", + "../services/libs/opensearch/node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.59.11", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/type-utils": "5.59.6", - "@typescript-eslint/utils": "5.59.6", + "@typescript-eslint/scope-manager": "5.59.11", + "@typescript-eslint/type-utils": "5.59.11", + "@typescript-eslint/utils": "5.59.11", "debug": "^4.3.4", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", @@ -8486,14 +9052,14 @@ } } }, - "../services/libs/redis/node_modules/@typescript-eslint/parser": { - "version": "5.59.6", + "../services/libs/opensearch/node_modules/@typescript-eslint/parser": { + "version": "5.59.11", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/scope-manager": "5.59.11", + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/typescript-estree": "5.59.11", "debug": "^4.3.4" }, "engines": { @@ -8512,13 +9078,13 @@ } } }, - "../services/libs/redis/node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.6", + "../services/libs/opensearch/node_modules/@typescript-eslint/scope-manager": { + "version": "5.59.11", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6" + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/visitor-keys": "5.59.11" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -8528,13 +9094,13 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "../services/libs/redis/node_modules/@typescript-eslint/type-utils": { - "version": "5.59.6", + "../services/libs/opensearch/node_modules/@typescript-eslint/type-utils": { + "version": "5.59.11", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "5.59.6", - "@typescript-eslint/utils": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.11", + "@typescript-eslint/utils": "5.59.11", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -8554,8 +9120,8 @@ } } }, - "../services/libs/redis/node_modules/@typescript-eslint/types": { - "version": "5.59.6", + "../services/libs/opensearch/node_modules/@typescript-eslint/types": { + "version": "5.59.11", "dev": true, "license": "MIT", "engines": { @@ -8566,13 +9132,13 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "../services/libs/redis/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.6", + "../services/libs/opensearch/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.59.11", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6", + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/visitor-keys": "5.59.11", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -8592,17 +9158,17 @@ } } }, - "../services/libs/redis/node_modules/@typescript-eslint/utils": { - "version": "5.59.6", + "../services/libs/opensearch/node_modules/@typescript-eslint/utils": { + "version": "5.59.11", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/scope-manager": "5.59.11", + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/typescript-estree": "5.59.11", "eslint-scope": "^5.1.1", "semver": "^7.3.7" }, @@ -8617,32 +9183,12 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "../services/libs/redis/node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { - "version": "5.1.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "../services/libs/redis/node_modules/@typescript-eslint/utils/node_modules/estraverse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "../services/libs/redis/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.6", + "../services/libs/opensearch/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.59.11", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/types": "5.59.11", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -8653,7 +9199,7 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "../services/libs/redis/node_modules/acorn": { + "../services/libs/opensearch/node_modules/acorn": { "version": "8.8.2", "dev": true, "license": "MIT", @@ -8664,7 +9210,7 @@ "node": ">=0.4.0" } }, - "../services/libs/redis/node_modules/acorn-jsx": { + "../services/libs/opensearch/node_modules/acorn-jsx": { "version": "5.3.2", "dev": true, "license": "MIT", @@ -8672,7 +9218,7 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "../services/libs/redis/node_modules/ajv": { + "../services/libs/opensearch/node_modules/ajv": { "version": "6.12.6", "dev": true, "license": "MIT", @@ -8687,7 +9233,7 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "../services/libs/redis/node_modules/ansi-regex": { + "../services/libs/opensearch/node_modules/ansi-regex": { "version": "5.0.1", "dev": true, "license": "MIT", @@ -8695,7 +9241,7 @@ "node": ">=8" } }, - "../services/libs/redis/node_modules/ansi-styles": { + "../services/libs/opensearch/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -8709,12 +9255,12 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "../services/libs/redis/node_modules/argparse": { + "../services/libs/opensearch/node_modules/argparse": { "version": "2.0.1", "dev": true, "license": "Python-2.0" }, - "../services/libs/redis/node_modules/array-union": { + "../services/libs/opensearch/node_modules/array-union": { "version": "2.1.0", "dev": true, "license": "MIT", @@ -8722,12 +9268,29 @@ "node": ">=8" } }, - "../services/libs/redis/node_modules/balanced-match": { + "../services/libs/opensearch/node_modules/asynckit": { + "version": "0.4.0", + "license": "MIT" + }, + "../services/libs/opensearch/node_modules/aws4": { + "version": "1.12.0", + "license": "MIT" + }, + "../services/libs/opensearch/node_modules/axios": { + "version": "1.6.0", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "../services/libs/opensearch/node_modules/balanced-match": { "version": "1.0.2", "dev": true, "license": "MIT" }, - "../services/libs/redis/node_modules/brace-expansion": { + "../services/libs/opensearch/node_modules/brace-expansion": { "version": "1.1.11", "dev": true, "license": "MIT", @@ -8736,7 +9299,7 @@ "concat-map": "0.0.1" } }, - "../services/libs/redis/node_modules/braces": { + "../services/libs/opensearch/node_modules/braces": { "version": "3.0.2", "dev": true, "license": "MIT", @@ -8747,7 +9310,7 @@ "node": ">=8" } }, - "../services/libs/redis/node_modules/callsites": { + "../services/libs/opensearch/node_modules/callsites": { "version": "3.1.0", "dev": true, "license": "MIT", @@ -8755,7 +9318,7 @@ "node": ">=6" } }, - "../services/libs/redis/node_modules/chalk": { + "../services/libs/opensearch/node_modules/chalk": { "version": "4.1.2", "dev": true, "license": "MIT", @@ -8770,14 +9333,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "../services/libs/redis/node_modules/cluster-key-slot": { - "version": "1.1.2", - "license": "Apache-2.0", - "engines": { - "node": ">=0.10.0" - } - }, - "../services/libs/redis/node_modules/color-convert": { + "../services/libs/opensearch/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -8788,17 +9344,27 @@ "node": ">=7.0.0" } }, - "../services/libs/redis/node_modules/color-name": { + "../services/libs/opensearch/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" }, - "../services/libs/redis/node_modules/concat-map": { + "../services/libs/opensearch/node_modules/combined-stream": { + "version": "1.0.8", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "../services/libs/opensearch/node_modules/concat-map": { "version": "0.0.1", "dev": true, "license": "MIT" }, - "../services/libs/redis/node_modules/cross-spawn": { + "../services/libs/opensearch/node_modules/cross-spawn": { "version": "7.0.3", "dev": true, "license": "MIT", @@ -8811,9 +9377,8 @@ "node": ">= 8" } }, - "../services/libs/redis/node_modules/debug": { + "../services/libs/opensearch/node_modules/debug": { "version": "4.3.4", - "dev": true, "license": "MIT", "dependencies": { "ms": "2.1.2" @@ -8827,12 +9392,19 @@ } } }, - "../services/libs/redis/node_modules/deep-is": { + "../services/libs/opensearch/node_modules/deep-is": { "version": "0.1.4", "dev": true, "license": "MIT" }, - "../services/libs/redis/node_modules/dir-glob": { + "../services/libs/opensearch/node_modules/delayed-stream": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "../services/libs/opensearch/node_modules/dir-glob": { "version": "3.0.1", "dev": true, "license": "MIT", @@ -8843,7 +9415,7 @@ "node": ">=8" } }, - "../services/libs/redis/node_modules/doctrine": { + "../services/libs/opensearch/node_modules/doctrine": { "version": "3.0.0", "dev": true, "license": "Apache-2.0", @@ -8854,7 +9426,7 @@ "node": ">=6.0.0" } }, - "../services/libs/redis/node_modules/escape-string-regexp": { + "../services/libs/opensearch/node_modules/escape-string-regexp": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -8865,16 +9437,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/redis/node_modules/eslint": { - "version": "8.40.0", + "../services/libs/opensearch/node_modules/eslint": { + "version": "8.42.0", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.40.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint/js": "8.42.0", + "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -8893,13 +9465,12 @@ "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", @@ -8921,7 +9492,7 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/redis/node_modules/eslint-config-prettier": { + "../services/libs/opensearch/node_modules/eslint-config-prettier": { "version": "8.8.0", "dev": true, "license": "MIT", @@ -8932,7 +9503,7 @@ "eslint": ">=7.0.0" } }, - "../services/libs/redis/node_modules/eslint-plugin-prettier": { + "../services/libs/opensearch/node_modules/eslint-plugin-prettier": { "version": "4.2.1", "dev": true, "license": "MIT", @@ -8952,14 +9523,22 @@ } } }, - "../services/libs/redis/node_modules/eslint-scope": { - "version": "7.2.0", + "../services/libs/opensearch/node_modules/eslint-scope": { + "version": "5.1.1", "dev": true, "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "estraverse": "^4.1.1" }, + "engines": { + "node": ">=8.0.0" + } + }, + "../services/libs/opensearch/node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "dev": true, + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -8967,10 +9546,14 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/redis/node_modules/eslint-visitor-keys": { - "version": "3.4.1", + "../services/libs/opensearch/node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.0", "dev": true, - "license": "Apache-2.0", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -8978,7 +9561,15 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/redis/node_modules/espree": { + "../services/libs/opensearch/node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "../services/libs/opensearch/node_modules/espree": { "version": "9.5.2", "dev": true, "license": "BSD-2-Clause", @@ -8994,7 +9585,7 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/redis/node_modules/esquery": { + "../services/libs/opensearch/node_modules/esquery": { "version": "1.5.0", "dev": true, "license": "BSD-3-Clause", @@ -9005,7 +9596,15 @@ "node": ">=0.10" } }, - "../services/libs/redis/node_modules/esrecurse": { + "../services/libs/opensearch/node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "../services/libs/opensearch/node_modules/esrecurse": { "version": "4.3.0", "dev": true, "license": "BSD-2-Clause", @@ -9016,7 +9615,7 @@ "node": ">=4.0" } }, - "../services/libs/redis/node_modules/estraverse": { + "../services/libs/opensearch/node_modules/esrecurse/node_modules/estraverse": { "version": "5.3.0", "dev": true, "license": "BSD-2-Clause", @@ -9024,7 +9623,15 @@ "node": ">=4.0" } }, - "../services/libs/redis/node_modules/esutils": { + "../services/libs/opensearch/node_modules/estraverse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "../services/libs/opensearch/node_modules/esutils": { "version": "2.0.3", "dev": true, "license": "BSD-2-Clause", @@ -9032,17 +9639,17 @@ "node": ">=0.10.0" } }, - "../services/libs/redis/node_modules/fast-deep-equal": { + "../services/libs/opensearch/node_modules/fast-deep-equal": { "version": "3.1.3", "dev": true, "license": "MIT" }, - "../services/libs/redis/node_modules/fast-diff": { - "version": "1.2.0", + "../services/libs/opensearch/node_modules/fast-diff": { + "version": "1.3.0", "dev": true, "license": "Apache-2.0" }, - "../services/libs/redis/node_modules/fast-glob": { + "../services/libs/opensearch/node_modules/fast-glob": { "version": "3.2.12", "dev": true, "license": "MIT", @@ -9057,7 +9664,7 @@ "node": ">=8.6.0" } }, - "../services/libs/redis/node_modules/fast-glob/node_modules/glob-parent": { + "../services/libs/opensearch/node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", "dev": true, "license": "ISC", @@ -9068,17 +9675,17 @@ "node": ">= 6" } }, - "../services/libs/redis/node_modules/fast-json-stable-stringify": { + "../services/libs/opensearch/node_modules/fast-json-stable-stringify": { "version": "2.1.0", "dev": true, "license": "MIT" }, - "../services/libs/redis/node_modules/fast-levenshtein": { + "../services/libs/opensearch/node_modules/fast-levenshtein": { "version": "2.0.6", "dev": true, "license": "MIT" }, - "../services/libs/redis/node_modules/fastq": { + "../services/libs/opensearch/node_modules/fastq": { "version": "1.15.0", "dev": true, "license": "ISC", @@ -9086,7 +9693,7 @@ "reusify": "^1.0.4" } }, - "../services/libs/redis/node_modules/file-entry-cache": { + "../services/libs/opensearch/node_modules/file-entry-cache": { "version": "6.0.1", "dev": true, "license": "MIT", @@ -9097,7 +9704,7 @@ "node": "^10.12.0 || >=12.0.0" } }, - "../services/libs/redis/node_modules/fill-range": { + "../services/libs/opensearch/node_modules/fill-range": { "version": "7.0.1", "dev": true, "license": "MIT", @@ -9108,7 +9715,7 @@ "node": ">=8" } }, - "../services/libs/redis/node_modules/find-up": { + "../services/libs/opensearch/node_modules/find-up": { "version": "5.0.0", "dev": true, "license": "MIT", @@ -9123,7 +9730,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/redis/node_modules/flat-cache": { + "../services/libs/opensearch/node_modules/flat-cache": { "version": "3.0.4", "dev": true, "license": "MIT", @@ -9135,24 +9742,47 @@ "node": "^10.12.0 || >=12.0.0" } }, - "../services/libs/redis/node_modules/flatted": { + "../services/libs/opensearch/node_modules/flatted": { "version": "3.2.7", "dev": true, "license": "ISC" }, - "../services/libs/redis/node_modules/fs.realpath": { - "version": "1.0.0", - "dev": true, - "license": "ISC" + "../services/libs/opensearch/node_modules/follow-redirects": { + "version": "1.15.3", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } }, - "../services/libs/redis/node_modules/generic-pool": { - "version": "3.9.0", + "../services/libs/opensearch/node_modules/form-data": { + "version": "4.0.0", "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, "engines": { - "node": ">= 4" + "node": ">= 6" } }, - "../services/libs/redis/node_modules/glob": { + "../services/libs/opensearch/node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "../services/libs/opensearch/node_modules/glob": { "version": "7.2.3", "dev": true, "license": "ISC", @@ -9171,7 +9801,7 @@ "url": "https://github.com/sponsors/isaacs" } }, - "../services/libs/redis/node_modules/glob-parent": { + "../services/libs/opensearch/node_modules/glob-parent": { "version": "6.0.2", "dev": true, "license": "ISC", @@ -9182,7 +9812,7 @@ "node": ">=10.13.0" } }, - "../services/libs/redis/node_modules/globals": { + "../services/libs/opensearch/node_modules/globals": { "version": "13.20.0", "dev": true, "license": "MIT", @@ -9196,7 +9826,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/redis/node_modules/globby": { + "../services/libs/opensearch/node_modules/globby": { "version": "11.1.0", "dev": true, "license": "MIT", @@ -9215,12 +9845,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/redis/node_modules/grapheme-splitter": { + "../services/libs/opensearch/node_modules/grapheme-splitter": { "version": "1.0.4", "dev": true, "license": "MIT" }, - "../services/libs/redis/node_modules/has-flag": { + "../services/libs/opensearch/node_modules/graphemer": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "../services/libs/opensearch/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -9228,7 +9863,11 @@ "node": ">=8" } }, - "../services/libs/redis/node_modules/ignore": { + "../services/libs/opensearch/node_modules/hpagent": { + "version": "0.1.2", + "license": "MIT" + }, + "../services/libs/opensearch/node_modules/ignore": { "version": "5.2.4", "dev": true, "license": "MIT", @@ -9236,7 +9875,7 @@ "node": ">= 4" } }, - "../services/libs/redis/node_modules/import-fresh": { + "../services/libs/opensearch/node_modules/import-fresh": { "version": "3.3.0", "dev": true, "license": "MIT", @@ -9251,7 +9890,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/redis/node_modules/imurmurhash": { + "../services/libs/opensearch/node_modules/imurmurhash": { "version": "0.1.4", "dev": true, "license": "MIT", @@ -9259,7 +9898,7 @@ "node": ">=0.8.19" } }, - "../services/libs/redis/node_modules/inflight": { + "../services/libs/opensearch/node_modules/inflight": { "version": "1.0.6", "dev": true, "license": "ISC", @@ -9268,12 +9907,12 @@ "wrappy": "1" } }, - "../services/libs/redis/node_modules/inherits": { + "../services/libs/opensearch/node_modules/inherits": { "version": "2.0.4", "dev": true, "license": "ISC" }, - "../services/libs/redis/node_modules/is-extglob": { + "../services/libs/opensearch/node_modules/is-extglob": { "version": "2.1.1", "dev": true, "license": "MIT", @@ -9281,7 +9920,7 @@ "node": ">=0.10.0" } }, - "../services/libs/redis/node_modules/is-glob": { + "../services/libs/opensearch/node_modules/is-glob": { "version": "4.0.3", "dev": true, "license": "MIT", @@ -9292,7 +9931,7 @@ "node": ">=0.10.0" } }, - "../services/libs/redis/node_modules/is-number": { + "../services/libs/opensearch/node_modules/is-number": { "version": "7.0.0", "dev": true, "license": "MIT", @@ -9300,7 +9939,7 @@ "node": ">=0.12.0" } }, - "../services/libs/redis/node_modules/is-path-inside": { + "../services/libs/opensearch/node_modules/is-path-inside": { "version": "3.0.3", "dev": true, "license": "MIT", @@ -9308,21 +9947,12 @@ "node": ">=8" } }, - "../services/libs/redis/node_modules/isexe": { + "../services/libs/opensearch/node_modules/isexe": { "version": "2.0.0", "dev": true, "license": "ISC" }, - "../services/libs/redis/node_modules/js-sdsl": { - "version": "4.4.0", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" - } - }, - "../services/libs/redis/node_modules/js-yaml": { + "../services/libs/opensearch/node_modules/js-yaml": { "version": "4.1.0", "dev": true, "license": "MIT", @@ -9333,17 +9963,17 @@ "js-yaml": "bin/js-yaml.js" } }, - "../services/libs/redis/node_modules/json-schema-traverse": { + "../services/libs/opensearch/node_modules/json-schema-traverse": { "version": "0.4.1", "dev": true, "license": "MIT" }, - "../services/libs/redis/node_modules/json-stable-stringify-without-jsonify": { + "../services/libs/opensearch/node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "dev": true, "license": "MIT" }, - "../services/libs/redis/node_modules/levn": { + "../services/libs/opensearch/node_modules/levn": { "version": "0.4.1", "dev": true, "license": "MIT", @@ -9355,7 +9985,7 @@ "node": ">= 0.8.0" } }, - "../services/libs/redis/node_modules/locate-path": { + "../services/libs/opensearch/node_modules/locate-path": { "version": "6.0.0", "dev": true, "license": "MIT", @@ -9369,12 +9999,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/redis/node_modules/lodash.merge": { + "../services/libs/opensearch/node_modules/lodash.merge": { "version": "4.6.2", "dev": true, "license": "MIT" }, - "../services/libs/redis/node_modules/lru-cache": { + "../services/libs/opensearch/node_modules/lru-cache": { "version": "6.0.0", "dev": true, "license": "ISC", @@ -9385,7 +10015,7 @@ "node": ">=10" } }, - "../services/libs/redis/node_modules/merge2": { + "../services/libs/opensearch/node_modules/merge2": { "version": "1.4.1", "dev": true, "license": "MIT", @@ -9393,7 +10023,7 @@ "node": ">= 8" } }, - "../services/libs/redis/node_modules/micromatch": { + "../services/libs/opensearch/node_modules/micromatch": { "version": "4.0.5", "dev": true, "license": "MIT", @@ -9405,7 +10035,24 @@ "node": ">=8.6" } }, - "../services/libs/redis/node_modules/minimatch": { + "../services/libs/opensearch/node_modules/mime-db": { + "version": "1.52.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "../services/libs/opensearch/node_modules/mime-types": { + "version": "2.1.35", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "../services/libs/opensearch/node_modules/minimatch": { "version": "3.1.2", "dev": true, "license": "ISC", @@ -9416,22 +10063,21 @@ "node": "*" } }, - "../services/libs/redis/node_modules/ms": { + "../services/libs/opensearch/node_modules/ms": { "version": "2.1.2", - "dev": true, "license": "MIT" }, - "../services/libs/redis/node_modules/natural-compare": { + "../services/libs/opensearch/node_modules/natural-compare": { "version": "1.4.0", "dev": true, "license": "MIT" }, - "../services/libs/redis/node_modules/natural-compare-lite": { + "../services/libs/opensearch/node_modules/natural-compare-lite": { "version": "1.4.0", "dev": true, "license": "MIT" }, - "../services/libs/redis/node_modules/once": { + "../services/libs/opensearch/node_modules/once": { "version": "1.4.0", "dev": true, "license": "ISC", @@ -9439,7 +10085,7 @@ "wrappy": "1" } }, - "../services/libs/redis/node_modules/optionator": { + "../services/libs/opensearch/node_modules/optionator": { "version": "0.9.1", "dev": true, "license": "MIT", @@ -9455,7 +10101,7 @@ "node": ">= 0.8.0" } }, - "../services/libs/redis/node_modules/p-limit": { + "../services/libs/opensearch/node_modules/p-limit": { "version": "3.1.0", "dev": true, "license": "MIT", @@ -9469,7 +10115,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/redis/node_modules/p-locate": { + "../services/libs/opensearch/node_modules/p-locate": { "version": "5.0.0", "dev": true, "license": "MIT", @@ -9483,7 +10129,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/redis/node_modules/parent-module": { + "../services/libs/opensearch/node_modules/parent-module": { "version": "1.0.1", "dev": true, "license": "MIT", @@ -9494,7 +10140,7 @@ "node": ">=6" } }, - "../services/libs/redis/node_modules/path-exists": { + "../services/libs/opensearch/node_modules/path-exists": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -9502,7 +10148,7 @@ "node": ">=8" } }, - "../services/libs/redis/node_modules/path-is-absolute": { + "../services/libs/opensearch/node_modules/path-is-absolute": { "version": "1.0.1", "dev": true, "license": "MIT", @@ -9510,7 +10156,7 @@ "node": ">=0.10.0" } }, - "../services/libs/redis/node_modules/path-key": { + "../services/libs/opensearch/node_modules/path-key": { "version": "3.1.1", "dev": true, "license": "MIT", @@ -9518,7 +10164,7 @@ "node": ">=8" } }, - "../services/libs/redis/node_modules/path-type": { + "../services/libs/opensearch/node_modules/path-type": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -9526,7 +10172,7 @@ "node": ">=8" } }, - "../services/libs/redis/node_modules/picomatch": { + "../services/libs/opensearch/node_modules/picomatch": { "version": "2.3.1", "dev": true, "license": "MIT", @@ -9537,7 +10183,7 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "../services/libs/redis/node_modules/prelude-ls": { + "../services/libs/opensearch/node_modules/prelude-ls": { "version": "1.2.1", "dev": true, "license": "MIT", @@ -9545,7 +10191,7 @@ "node": ">= 0.8.0" } }, - "../services/libs/redis/node_modules/prettier": { + "../services/libs/opensearch/node_modules/prettier": { "version": "2.8.8", "dev": true, "license": "MIT", @@ -9559,7 +10205,7 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "../services/libs/redis/node_modules/prettier-linter-helpers": { + "../services/libs/opensearch/node_modules/prettier-linter-helpers": { "version": "1.0.0", "dev": true, "license": "MIT", @@ -9570,7 +10216,11 @@ "node": ">=6.0.0" } }, - "../services/libs/redis/node_modules/punycode": { + "../services/libs/opensearch/node_modules/proxy-from-env": { + "version": "1.1.0", + "license": "MIT" + }, + "../services/libs/opensearch/node_modules/punycode": { "version": "2.3.0", "dev": true, "license": "MIT", @@ -9578,7 +10228,7 @@ "node": ">=6" } }, - "../services/libs/redis/node_modules/queue-microtask": { + "../services/libs/opensearch/node_modules/queue-microtask": { "version": "1.2.3", "dev": true, "funding": [ @@ -9597,22 +10247,7 @@ ], "license": "MIT" }, - "../services/libs/redis/node_modules/redis": { - "version": "4.6.6", - "license": "MIT", - "workspaces": [ - "./packages/*" - ], - "dependencies": { - "@redis/bloom": "1.2.0", - "@redis/client": "1.5.7", - "@redis/graph": "1.1.0", - "@redis/json": "1.0.4", - "@redis/search": "1.1.2", - "@redis/time-series": "1.0.4" - } - }, - "../services/libs/redis/node_modules/resolve-from": { + "../services/libs/opensearch/node_modules/resolve-from": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -9620,7 +10255,7 @@ "node": ">=4" } }, - "../services/libs/redis/node_modules/reusify": { + "../services/libs/opensearch/node_modules/reusify": { "version": "1.0.4", "dev": true, "license": "MIT", @@ -9629,7 +10264,7 @@ "node": ">=0.10.0" } }, - "../services/libs/redis/node_modules/rimraf": { + "../services/libs/opensearch/node_modules/rimraf": { "version": "3.0.2", "dev": true, "license": "ISC", @@ -9643,7 +10278,7 @@ "url": "https://github.com/sponsors/isaacs" } }, - "../services/libs/redis/node_modules/run-parallel": { + "../services/libs/opensearch/node_modules/run-parallel": { "version": "1.2.0", "dev": true, "funding": [ @@ -9665,7 +10300,11 @@ "queue-microtask": "^1.2.2" } }, - "../services/libs/redis/node_modules/semver": { + "../services/libs/opensearch/node_modules/secure-json-parse": { + "version": "2.7.0", + "license": "BSD-3-Clause" + }, + "../services/libs/opensearch/node_modules/semver": { "version": "7.5.1", "dev": true, "license": "ISC", @@ -9679,7 +10318,7 @@ "node": ">=10" } }, - "../services/libs/redis/node_modules/shebang-command": { + "../services/libs/opensearch/node_modules/shebang-command": { "version": "2.0.0", "dev": true, "license": "MIT", @@ -9690,7 +10329,7 @@ "node": ">=8" } }, - "../services/libs/redis/node_modules/shebang-regex": { + "../services/libs/opensearch/node_modules/shebang-regex": { "version": "3.0.0", "dev": true, "license": "MIT", @@ -9698,7 +10337,7 @@ "node": ">=8" } }, - "../services/libs/redis/node_modules/slash": { + "../services/libs/opensearch/node_modules/slash": { "version": "3.0.0", "dev": true, "license": "MIT", @@ -9706,7 +10345,7 @@ "node": ">=8" } }, - "../services/libs/redis/node_modules/strip-ansi": { + "../services/libs/opensearch/node_modules/strip-ansi": { "version": "6.0.1", "dev": true, "license": "MIT", @@ -9717,7 +10356,7 @@ "node": ">=8" } }, - "../services/libs/redis/node_modules/strip-json-comments": { + "../services/libs/opensearch/node_modules/strip-json-comments": { "version": "3.1.1", "dev": true, "license": "MIT", @@ -9728,7 +10367,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/redis/node_modules/supports-color": { + "../services/libs/opensearch/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", @@ -9739,12 +10378,12 @@ "node": ">=8" } }, - "../services/libs/redis/node_modules/text-table": { + "../services/libs/opensearch/node_modules/text-table": { "version": "0.2.0", "dev": true, "license": "MIT" }, - "../services/libs/redis/node_modules/to-regex-range": { + "../services/libs/opensearch/node_modules/to-regex-range": { "version": "5.0.1", "dev": true, "license": "MIT", @@ -9755,12 +10394,12 @@ "node": ">=8.0" } }, - "../services/libs/redis/node_modules/tslib": { + "../services/libs/opensearch/node_modules/tslib": { "version": "1.14.1", "dev": true, "license": "0BSD" }, - "../services/libs/redis/node_modules/tsutils": { + "../services/libs/opensearch/node_modules/tsutils": { "version": "3.21.0", "dev": true, "license": "MIT", @@ -9774,7 +10413,7 @@ "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "../services/libs/redis/node_modules/type-check": { + "../services/libs/opensearch/node_modules/type-check": { "version": "0.4.0", "dev": true, "license": "MIT", @@ -9785,7 +10424,7 @@ "node": ">= 0.8.0" } }, - "../services/libs/redis/node_modules/type-fest": { + "../services/libs/opensearch/node_modules/type-fest": { "version": "0.20.2", "dev": true, "license": "(MIT OR CC0-1.0)", @@ -9796,8 +10435,8 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/redis/node_modules/typescript": { - "version": "5.0.4", + "../services/libs/opensearch/node_modules/typescript": { + "version": "5.1.3", "dev": true, "license": "Apache-2.0", "bin": { @@ -9805,10 +10444,10 @@ "tsserver": "bin/tsserver" }, "engines": { - "node": ">=12.20" + "node": ">=14.17" } }, - "../services/libs/redis/node_modules/uri-js": { + "../services/libs/opensearch/node_modules/uri-js": { "version": "4.4.1", "dev": true, "license": "BSD-2-Clause", @@ -9816,7 +10455,7 @@ "punycode": "^2.1.0" } }, - "../services/libs/redis/node_modules/which": { + "../services/libs/opensearch/node_modules/which": { "version": "2.0.2", "dev": true, "license": "ISC", @@ -9830,7 +10469,7 @@ "node": ">= 8" } }, - "../services/libs/redis/node_modules/word-wrap": { + "../services/libs/opensearch/node_modules/word-wrap": { "version": "1.2.3", "dev": true, "license": "MIT", @@ -9838,16 +10477,17 @@ "node": ">=0.10.0" } }, - "../services/libs/redis/node_modules/wrappy": { + "../services/libs/opensearch/node_modules/wrappy": { "version": "1.0.2", "dev": true, "license": "ISC" }, - "../services/libs/redis/node_modules/yallist": { + "../services/libs/opensearch/node_modules/yallist": { "version": "4.0.0", + "dev": true, "license": "ISC" }, - "../services/libs/redis/node_modules/yocto-queue": { + "../services/libs/opensearch/node_modules/yocto-queue": { "version": "0.1.0", "dev": true, "license": "MIT", @@ -9858,17 +10498,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/sqs": { - "name": "@crowd/sqs", + "../services/libs/redis": { + "name": "@crowd/redis", "version": "1.0.0", "dependencies": { - "@aws-sdk/client-sqs": "^3.332.0", - "@aws-sdk/types": "^3.329.0", "@crowd/common": "file:../common", "@crowd/logging": "file:../logging", - "@crowd/tracing": "file:../tracing", "@crowd/types": "file:../types", - "@smithy/util-retry": "^2.0.1" + "redis": "^4.6.6" }, "devDependencies": { "@types/node": "^18.16.3", @@ -9881,2526 +10518,2541 @@ "typescript": "^5.0.4" } }, - "../services/libs/sqs/node_modules/@aws-crypto/ie11-detection": { - "version": "3.0.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^1.11.1" - } - }, - "../services/libs/sqs/node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" - }, - "../services/libs/sqs/node_modules/@aws-crypto/sha256-browser": { - "version": "3.0.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/ie11-detection": "^3.0.0", - "@aws-crypto/sha256-js": "^3.0.0", - "@aws-crypto/supports-web-crypto": "^3.0.0", - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" - } - }, - "../services/libs/sqs/node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" - }, - "../services/libs/sqs/node_modules/@aws-crypto/sha256-js": { - "version": "3.0.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" - } - }, - "../services/libs/sqs/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" - }, - "../services/libs/sqs/node_modules/@aws-crypto/supports-web-crypto": { - "version": "3.0.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^1.11.1" - } - }, - "../services/libs/sqs/node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" + "../services/libs/redis/node_modules/@crowd/common": { + "resolved": "../services/libs/common", + "link": true }, - "../services/libs/sqs/node_modules/@aws-crypto/util": { - "version": "3.0.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" - } + "../services/libs/redis/node_modules/@crowd/logging": { + "resolved": "../services/libs/logging", + "link": true }, - "../services/libs/sqs/node_modules/@aws-crypto/util/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" + "../services/libs/redis/node_modules/@crowd/types": { + "resolved": "../services/libs/types", + "link": true }, - "../services/libs/sqs/node_modules/@aws-sdk/abort-controller": { - "version": "3.329.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">=14.0.0" - } - }, - "../services/libs/sqs/node_modules/@aws-sdk/client-sqs": { - "version": "3.332.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.332.0", - "@aws-sdk/config-resolver": "3.329.0", - "@aws-sdk/credential-provider-node": "3.332.0", - "@aws-sdk/fetch-http-handler": "3.329.0", - "@aws-sdk/hash-node": "3.329.0", - "@aws-sdk/invalid-dependency": "3.329.0", - "@aws-sdk/md5-js": "3.329.0", - "@aws-sdk/middleware-content-length": "3.329.0", - "@aws-sdk/middleware-endpoint": "3.329.0", - "@aws-sdk/middleware-host-header": "3.329.0", - "@aws-sdk/middleware-logger": "3.329.0", - "@aws-sdk/middleware-recursion-detection": "3.329.0", - "@aws-sdk/middleware-retry": "3.329.0", - "@aws-sdk/middleware-sdk-sqs": "3.329.0", - "@aws-sdk/middleware-serde": "3.329.0", - "@aws-sdk/middleware-signing": "3.329.0", - "@aws-sdk/middleware-stack": "3.329.0", - "@aws-sdk/middleware-user-agent": "3.332.0", - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/node-http-handler": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/smithy-client": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.329.0", - "@aws-sdk/util-defaults-mode-node": "3.329.0", - "@aws-sdk/util-endpoints": "3.332.0", - "@aws-sdk/util-retry": "3.329.0", - "@aws-sdk/util-user-agent-browser": "3.329.0", - "@aws-sdk/util-user-agent-node": "3.329.0", - "@aws-sdk/util-utf8": "3.310.0", - "fast-xml-parser": "4.1.2", - "tslib": "^2.5.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "../services/libs/sqs/node_modules/@aws-sdk/client-sso": { - "version": "3.332.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.329.0", - "@aws-sdk/fetch-http-handler": "3.329.0", - "@aws-sdk/hash-node": "3.329.0", - "@aws-sdk/invalid-dependency": "3.329.0", - "@aws-sdk/middleware-content-length": "3.329.0", - "@aws-sdk/middleware-endpoint": "3.329.0", - "@aws-sdk/middleware-host-header": "3.329.0", - "@aws-sdk/middleware-logger": "3.329.0", - "@aws-sdk/middleware-recursion-detection": "3.329.0", - "@aws-sdk/middleware-retry": "3.329.0", - "@aws-sdk/middleware-serde": "3.329.0", - "@aws-sdk/middleware-stack": "3.329.0", - "@aws-sdk/middleware-user-agent": "3.332.0", - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/node-http-handler": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/smithy-client": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.329.0", - "@aws-sdk/util-defaults-mode-node": "3.329.0", - "@aws-sdk/util-endpoints": "3.332.0", - "@aws-sdk/util-retry": "3.329.0", - "@aws-sdk/util-user-agent-browser": "3.329.0", - "@aws-sdk/util-user-agent-node": "3.329.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" - }, + "../services/libs/redis/node_modules/@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "../services/libs/sqs/node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.332.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.329.0", - "@aws-sdk/fetch-http-handler": "3.329.0", - "@aws-sdk/hash-node": "3.329.0", - "@aws-sdk/invalid-dependency": "3.329.0", - "@aws-sdk/middleware-content-length": "3.329.0", - "@aws-sdk/middleware-endpoint": "3.329.0", - "@aws-sdk/middleware-host-header": "3.329.0", - "@aws-sdk/middleware-logger": "3.329.0", - "@aws-sdk/middleware-recursion-detection": "3.329.0", - "@aws-sdk/middleware-retry": "3.329.0", - "@aws-sdk/middleware-serde": "3.329.0", - "@aws-sdk/middleware-stack": "3.329.0", - "@aws-sdk/middleware-user-agent": "3.332.0", - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/node-http-handler": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/smithy-client": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.329.0", - "@aws-sdk/util-defaults-mode-node": "3.329.0", - "@aws-sdk/util-endpoints": "3.332.0", - "@aws-sdk/util-retry": "3.329.0", - "@aws-sdk/util-user-agent-browser": "3.329.0", - "@aws-sdk/util-user-agent-node": "3.329.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": ">=14.0.0" - } - }, - "../services/libs/sqs/node_modules/@aws-sdk/client-sts": { - "version": "3.332.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.329.0", - "@aws-sdk/credential-provider-node": "3.332.0", - "@aws-sdk/fetch-http-handler": "3.329.0", - "@aws-sdk/hash-node": "3.329.0", - "@aws-sdk/invalid-dependency": "3.329.0", - "@aws-sdk/middleware-content-length": "3.329.0", - "@aws-sdk/middleware-endpoint": "3.329.0", - "@aws-sdk/middleware-host-header": "3.329.0", - "@aws-sdk/middleware-logger": "3.329.0", - "@aws-sdk/middleware-recursion-detection": "3.329.0", - "@aws-sdk/middleware-retry": "3.329.0", - "@aws-sdk/middleware-sdk-sts": "3.329.0", - "@aws-sdk/middleware-serde": "3.329.0", - "@aws-sdk/middleware-signing": "3.329.0", - "@aws-sdk/middleware-stack": "3.329.0", - "@aws-sdk/middleware-user-agent": "3.332.0", - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/node-http-handler": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/smithy-client": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.329.0", - "@aws-sdk/util-defaults-mode-node": "3.329.0", - "@aws-sdk/util-endpoints": "3.332.0", - "@aws-sdk/util-retry": "3.329.0", - "@aws-sdk/util-user-agent-browser": "3.329.0", - "@aws-sdk/util-user-agent-node": "3.329.0", - "@aws-sdk/util-utf8": "3.310.0", - "fast-xml-parser": "4.1.2", - "tslib": "^2.5.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "engines": { - "node": ">=14.0.0" + "funding": { + "url": "https://opencollective.com/eslint" } }, - "../services/libs/sqs/node_modules/@aws-sdk/config-resolver": { - "version": "3.329.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.329.0", - "@aws-sdk/util-config-provider": "3.310.0", - "@aws-sdk/util-middleware": "3.329.0", - "tslib": "^2.5.0" - }, + "../services/libs/redis/node_modules/@eslint/js": { + "version": "8.40.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "../services/libs/sqs/node_modules/@aws-sdk/credential-provider-env": { - "version": "3.329.0", + "../services/libs/redis/node_modules/@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" }, "engines": { - "node": ">=14.0.0" + "node": ">=10.10.0" } }, - "../services/libs/sqs/node_modules/@aws-sdk/credential-provider-imds": { - "version": "3.329.0", + "../services/libs/redis/node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true, "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", - "tslib": "^2.5.0" - }, "engines": { - "node": ">=14.0.0" - } - }, - "../services/libs/sqs/node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.332.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.329.0", - "@aws-sdk/credential-provider-imds": "3.329.0", - "@aws-sdk/credential-provider-process": "3.329.0", - "@aws-sdk/credential-provider-sso": "3.332.0", - "@aws-sdk/credential-provider-web-identity": "3.329.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" + "node": ">=12.22" }, - "engines": { - "node": ">=14.0.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "../services/libs/sqs/node_modules/@aws-sdk/credential-provider-node": { - "version": "3.332.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.329.0", - "@aws-sdk/credential-provider-imds": "3.329.0", - "@aws-sdk/credential-provider-ini": "3.332.0", - "@aws-sdk/credential-provider-process": "3.329.0", - "@aws-sdk/credential-provider-sso": "3.332.0", - "@aws-sdk/credential-provider-web-identity": "3.329.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } + "../services/libs/redis/node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true, + "license": "BSD-3-Clause" }, - "../services/libs/sqs/node_modules/@aws-sdk/credential-provider-process": { - "version": "3.329.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": ">=14.0.0" + "node": ">= 8" } }, - "../services/libs/sqs/node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.332.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/client-sso": "3.332.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/token-providers": "3.332.0", - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" - }, + "../services/libs/redis/node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">= 8" } }, - "../services/libs/sqs/node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.329.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": ">=14.0.0" + "node": ">= 8" } }, - "../services/libs/sqs/node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.329.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/querystring-builder": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/util-base64": "3.310.0", - "tslib": "^2.5.0" + "../services/libs/redis/node_modules/@redis/bloom": { + "version": "1.2.0", + "license": "MIT", + "peerDependencies": { + "@redis/client": "^1.0.0" } }, - "../services/libs/sqs/node_modules/@aws-sdk/hash-node": { - "version": "3.329.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/@redis/client": { + "version": "1.5.7", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.329.0", - "@aws-sdk/util-buffer-from": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" + "cluster-key-slot": "1.1.2", + "generic-pool": "3.9.0", + "yallist": "4.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=14" } }, - "../services/libs/sqs/node_modules/@aws-sdk/invalid-dependency": { - "version": "3.329.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" + "../services/libs/redis/node_modules/@redis/graph": { + "version": "1.1.0", + "license": "MIT", + "peerDependencies": { + "@redis/client": "^1.0.0" } }, - "../services/libs/sqs/node_modules/@aws-sdk/is-array-buffer": { - "version": "3.310.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" + "../services/libs/redis/node_modules/@redis/json": { + "version": "1.0.4", + "license": "MIT", + "peerDependencies": { + "@redis/client": "^1.0.0" } }, - "../services/libs/sqs/node_modules/@aws-sdk/md5-js": { - "version": "3.329.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.329.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" + "../services/libs/redis/node_modules/@redis/search": { + "version": "1.1.2", + "license": "MIT", + "peerDependencies": { + "@redis/client": "^1.0.0" } }, - "../services/libs/sqs/node_modules/@aws-sdk/middleware-content-length": { - "version": "3.329.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/@redis/time-series": { + "version": "1.0.4", + "license": "MIT", + "peerDependencies": { + "@redis/client": "^1.0.0" + } + }, + "../services/libs/redis/node_modules/@types/json-schema": { + "version": "7.0.11", + "dev": true, + "license": "MIT" + }, + "../services/libs/redis/node_modules/@types/node": { + "version": "18.16.9", + "dev": true, + "license": "MIT" + }, + "../services/libs/redis/node_modules/@types/semver": { + "version": "7.5.0", + "dev": true, + "license": "MIT" + }, + "../services/libs/redis/node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.59.6", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/type-utils": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=14.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "../services/libs/sqs/node_modules/@aws-sdk/middleware-endpoint": { - "version": "3.329.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/@typescript-eslint/parser": { + "version": "5.59.6", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@aws-sdk/middleware-serde": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", - "@aws-sdk/util-middleware": "3.329.0", - "tslib": "^2.5.0" + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "debug": "^4.3.4" }, "engines": { - "node": ">=14.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "../services/libs/sqs/node_modules/@aws-sdk/middleware-host-header": { - "version": "3.329.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/@typescript-eslint/scope-manager": { + "version": "5.59.6", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6" }, "engines": { - "node": ">=14.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "../services/libs/sqs/node_modules/@aws-sdk/middleware-logger": { - "version": "3.329.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/@typescript-eslint/type-utils": { + "version": "5.59.6", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" + "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=14.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "../services/libs/sqs/node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.329.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" - }, + "../services/libs/redis/node_modules/@typescript-eslint/types": { + "version": "5.59.6", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "../services/libs/sqs/node_modules/@aws-sdk/middleware-retry": { - "version": "3.329.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.59.6", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/service-error-classification": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/util-middleware": "3.329.0", - "@aws-sdk/util-retry": "3.329.0", - "tslib": "^2.5.0", - "uuid": "^8.3.2" + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=14.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "../services/libs/sqs/node_modules/@aws-sdk/middleware-sdk-sqs": { - "version": "3.329.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/@typescript-eslint/utils": { + "version": "5.59.6", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.329.0", - "@aws-sdk/util-hex-encoding": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" }, "engines": { - "node": ">=14.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "../services/libs/sqs/node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.329.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@aws-sdk/middleware-signing": "3.329.0", - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=8.0.0" } }, - "../services/libs/sqs/node_modules/@aws-sdk/middleware-serde": { - "version": "3.329.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" - }, + "../services/libs/redis/node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=14.0.0" + "node": ">=4.0" } }, - "../services/libs/sqs/node_modules/@aws-sdk/middleware-signing": { - "version": "3.329.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.59.6", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/signature-v4": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/util-middleware": "3.329.0", - "tslib": "^2.5.0" + "@typescript-eslint/types": "5.59.6", + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">=14.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "../services/libs/sqs/node_modules/@aws-sdk/middleware-stack": { - "version": "3.329.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.5.0" + "../services/libs/redis/node_modules/acorn": { + "version": "8.8.2", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">=14.0.0" + "node": ">=0.4.0" } }, - "../services/libs/sqs/node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.332.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/acorn-jsx": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "../services/libs/redis/node_modules/ajv": { + "version": "6.12.6", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/util-endpoints": "3.332.0", - "tslib": "^2.5.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "../services/libs/redis/node_modules/ansi-regex": { + "version": "5.0.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "../services/libs/sqs/node_modules/@aws-sdk/node-config-provider": { - "version": "3.329.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "../services/libs/sqs/node_modules/@aws-sdk/node-http-handler": { - "version": "3.329.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/abort-controller": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/querystring-builder": "3.329.0", - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" - }, + "../services/libs/redis/node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" + }, + "../services/libs/redis/node_modules/array-union": { + "version": "2.1.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "../services/libs/sqs/node_modules/@aws-sdk/property-provider": { - "version": "3.329.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/balanced-match": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "../services/libs/redis/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "../services/libs/sqs/node_modules/@aws-sdk/protocol-http": { - "version": "3.329.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/braces": { + "version": "3.0.2", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" + "fill-range": "^7.0.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "../services/libs/sqs/node_modules/@aws-sdk/querystring-builder": { - "version": "3.329.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.329.0", - "@aws-sdk/util-uri-escape": "3.310.0", - "tslib": "^2.5.0" - }, + "../services/libs/redis/node_modules/callsites": { + "version": "3.1.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=6" } }, - "../services/libs/sqs/node_modules/@aws-sdk/querystring-parser": { - "version": "3.329.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "../services/libs/sqs/node_modules/@aws-sdk/service-error-classification": { - "version": "3.329.0", + "../services/libs/redis/node_modules/cluster-key-slot": { + "version": "1.1.2", "license": "Apache-2.0", "engines": { - "node": ">=14.0.0" + "node": ">=0.10.0" } }, - "../services/libs/sqs/node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.329.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=14.0.0" + "node": ">=7.0.0" } }, - "../services/libs/sqs/node_modules/@aws-sdk/signature-v4": { - "version": "3.329.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../services/libs/redis/node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "../services/libs/redis/node_modules/cross-spawn": { + "version": "7.0.3", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/is-array-buffer": "3.310.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/util-hex-encoding": "3.310.0", - "@aws-sdk/util-middleware": "3.329.0", - "@aws-sdk/util-uri-escape": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=14.0.0" + "node": ">= 8" } }, - "../services/libs/sqs/node_modules/@aws-sdk/smithy-client": { - "version": "3.329.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/middleware-stack": "3.329.0", - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" + "ms": "2.1.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "../services/libs/sqs/node_modules/@aws-sdk/token-providers": { - "version": "3.332.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/deep-is": { + "version": "0.1.4", + "dev": true, + "license": "MIT" + }, + "../services/libs/redis/node_modules/dir-glob": { + "version": "3.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/client-sso-oidc": "3.332.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" + "path-type": "^4.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "../services/libs/sqs/node_modules/@aws-sdk/types": { - "version": "3.329.0", + "../services/libs/redis/node_modules/doctrine": { + "version": "3.0.0", + "dev": true, "license": "Apache-2.0", "dependencies": { - "tslib": "^2.5.0" + "esutils": "^2.0.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.0.0" } }, - "../services/libs/sqs/node_modules/@aws-sdk/url-parser": { - "version": "3.329.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/querystring-parser": "3.329.0", - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" + "../services/libs/redis/node_modules/escape-string-regexp": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/sqs/node_modules/@aws-sdk/util-base64": { - "version": "3.310.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/eslint": { + "version": "8.40.0", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/util-buffer-from": "3.310.0", - "tslib": "^2.5.0" + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" }, "engines": { - "node": ">=14.0.0" - } - }, - "../services/libs/sqs/node_modules/@aws-sdk/util-body-length-browser": { - "version": "3.310.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.5.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "../services/libs/sqs/node_modules/@aws-sdk/util-body-length-node": { - "version": "3.310.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.5.0" + "../services/libs/redis/node_modules/eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "eslint": ">=7.0.0" } }, - "../services/libs/sqs/node_modules/@aws-sdk/util-buffer-from": { - "version": "3.310.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/is-array-buffer": "3.310.0", - "tslib": "^2.5.0" + "prettier-linter-helpers": "^1.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } } }, - "../services/libs/sqs/node_modules/@aws-sdk/util-config-provider": { - "version": "3.310.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/eslint-scope": { + "version": "7.2.0", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "tslib": "^2.5.0" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": ">=14.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "../services/libs/sqs/node_modules/@aws-sdk/util-defaults-mode-browser": { - "version": "3.329.0", + "../services/libs/redis/node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "dev": true, "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", - "bowser": "^2.11.0", - "tslib": "^2.5.0" - }, "engines": { - "node": ">= 10.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "../services/libs/sqs/node_modules/@aws-sdk/util-defaults-mode-node": { - "version": "3.329.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/espree": { + "version": "9.5.2", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@aws-sdk/config-resolver": "3.329.0", - "@aws-sdk/credential-provider-imds": "3.329.0", - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": ">= 10.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "../services/libs/sqs/node_modules/@aws-sdk/util-endpoints": { - "version": "3.332.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/esquery": { + "version": "1.5.0", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" + "estraverse": "^5.1.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=0.10" } }, - "../services/libs/sqs/node_modules/@aws-sdk/util-hex-encoding": { - "version": "3.310.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/esrecurse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "tslib": "^2.5.0" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=4.0" } }, - "../services/libs/sqs/node_modules/@aws-sdk/util-locate-window": { - "version": "3.310.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.5.0" - }, + "../services/libs/redis/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=14.0.0" + "node": ">=4.0" } }, - "../services/libs/sqs/node_modules/@aws-sdk/util-middleware": { - "version": "3.329.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.5.0" - }, + "../services/libs/redis/node_modules/esutils": { + "version": "2.0.3", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=14.0.0" + "node": ">=0.10.0" } }, - "../services/libs/sqs/node_modules/@aws-sdk/util-retry": { - "version": "3.329.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/fast-deep-equal": { + "version": "3.1.3", + "dev": true, + "license": "MIT" + }, + "../services/libs/redis/node_modules/fast-diff": { + "version": "1.2.0", + "dev": true, + "license": "Apache-2.0" + }, + "../services/libs/redis/node_modules/fast-glob": { + "version": "3.2.12", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/service-error-classification": "3.329.0", - "tslib": "^2.5.0" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" }, "engines": { - "node": ">= 14.0.0" + "node": ">=8.6.0" } }, - "../services/libs/sqs/node_modules/@aws-sdk/util-uri-escape": { - "version": "3.310.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", "dependencies": { - "tslib": "^2.5.0" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=14.0.0" + "node": ">= 6" } }, - "../services/libs/sqs/node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.329.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true, + "license": "MIT" + }, + "../services/libs/redis/node_modules/fast-levenshtein": { + "version": "2.0.6", + "dev": true, + "license": "MIT" + }, + "../services/libs/redis/node_modules/fastq": { + "version": "1.15.0", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/types": "3.329.0", - "bowser": "^2.11.0", - "tslib": "^2.5.0" + "reusify": "^1.0.4" } }, - "../services/libs/sqs/node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.329.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/file-entry-cache": { + "version": "6.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", - "tslib": "^2.5.0" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "aws-crt": ">=1.0.0" - }, - "peerDependenciesMeta": { - "aws-crt": { - "optional": true - } + "node": "^10.12.0 || >=12.0.0" } }, - "../services/libs/sqs/node_modules/@aws-sdk/util-utf8": { - "version": "3.310.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/fill-range": { + "version": "7.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/util-buffer-from": "3.310.0", - "tslib": "^2.5.0" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "../services/libs/sqs/node_modules/@aws-sdk/util-utf8-browser": { - "version": "3.259.0", - "license": "Apache-2.0", + "../services/libs/redis/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.3.1" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/sqs/node_modules/@crowd/common": { - "resolved": "../services/libs/common", - "link": true - }, - "../services/libs/sqs/node_modules/@crowd/logging": { - "resolved": "../services/libs/logging", - "link": true - }, - "../services/libs/sqs/node_modules/@crowd/types": { - "resolved": "../services/libs/types", - "link": true - }, - "../services/libs/sqs/node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", + "../services/libs/redis/node_modules/flat-cache": { + "version": "3.0.4", "dev": true, "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "node": "^10.12.0 || >=12.0.0" } }, - "../services/libs/sqs/node_modules/@eslint-community/regexpp": { - "version": "4.5.1", + "../services/libs/redis/node_modules/flatted": { + "version": "3.2.7", + "dev": true, + "license": "ISC" + }, + "../services/libs/redis/node_modules/fs.realpath": { + "version": "1.0.0", "dev": true, + "license": "ISC" + }, + "../services/libs/redis/node_modules/generic-pool": { + "version": "3.9.0", "license": "MIT", "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">= 4" } }, - "../services/libs/sqs/node_modules/@eslint/eslintrc": { - "version": "2.0.3", + "../services/libs/redis/node_modules/glob": { + "version": "7.2.3", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.2", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "*" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/isaacs" } }, - "../services/libs/sqs/node_modules/@eslint/js": { - "version": "8.40.0", + "../services/libs/redis/node_modules/glob-parent": { + "version": "6.0.2", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10.13.0" } }, - "../services/libs/sqs/node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", + "../services/libs/redis/node_modules/globals": { + "version": "13.20.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "type-fest": "^0.20.2" }, "engines": { - "node": ">=10.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/sqs/node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", + "../services/libs/redis/node_modules/globby": { + "version": "11.1.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, "engines": { - "node": ">=12.22" + "node": ">=10" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/sqs/node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", + "../services/libs/redis/node_modules/grapheme-splitter": { + "version": "1.0.4", "dev": true, - "license": "BSD-3-Clause" + "license": "MIT" }, - "../services/libs/sqs/node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", + "../services/libs/redis/node_modules/has-flag": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, "engines": { - "node": ">= 8" + "node": ">=8" } }, - "../services/libs/sqs/node_modules/@nodelib/fs.stat": { - "version": "2.0.5", + "../services/libs/redis/node_modules/ignore": { + "version": "5.2.4", "dev": true, "license": "MIT", "engines": { - "node": ">= 8" + "node": ">= 4" } }, - "../services/libs/sqs/node_modules/@nodelib/fs.walk": { - "version": "1.2.8", + "../services/libs/redis/node_modules/import-fresh": { + "version": "3.3.0", "dev": true, "license": "MIT", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { - "node": ">= 8" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/sqs/node_modules/@types/json-schema": { - "version": "7.0.11", + "../services/libs/redis/node_modules/imurmurhash": { + "version": "0.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } }, - "../services/libs/sqs/node_modules/@types/node": { - "version": "18.16.8", + "../services/libs/redis/node_modules/inflight": { + "version": "1.0.6", "dev": true, - "license": "MIT" + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } }, - "../services/libs/sqs/node_modules/@types/semver": { - "version": "7.5.0", + "../services/libs/redis/node_modules/inherits": { + "version": "2.0.4", "dev": true, - "license": "MIT" + "license": "ISC" }, - "../services/libs/sqs/node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.59.5", + "../services/libs/redis/node_modules/is-extglob": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../services/libs/redis/node_modules/is-glob": { + "version": "4.0.3", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.5", - "@typescript-eslint/type-utils": "5.59.5", - "@typescript-eslint/utils": "5.59.5", - "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "is-extglob": "^2.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=0.10.0" } }, - "../services/libs/sqs/node_modules/@typescript-eslint/parser": { - "version": "5.59.5", + "../services/libs/redis/node_modules/is-number": { + "version": "7.0.0", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/scope-manager": "5.59.5", - "@typescript-eslint/types": "5.59.5", - "@typescript-eslint/typescript-estree": "5.59.5", - "debug": "^4.3.4" - }, + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=0.12.0" } }, - "../services/libs/sqs/node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.5", + "../services/libs/redis/node_modules/is-path-inside": { + "version": "3.0.3", "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.59.5", - "@typescript-eslint/visitor-keys": "5.59.5" - }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=8" } }, - "../services/libs/sqs/node_modules/@typescript-eslint/type-utils": { - "version": "5.59.5", + "../services/libs/redis/node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "../services/libs/redis/node_modules/js-sdsl": { + "version": "4.4.0", "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/typescript-estree": "5.59.5", - "@typescript-eslint/utils": "5.59.5", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://opencollective.com/js-sdsl" } }, - "../services/libs/sqs/node_modules/@typescript-eslint/types": { - "version": "5.59.5", + "../services/libs/redis/node_modules/js-yaml": { + "version": "4.1.0", "dev": true, "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "dependencies": { + "argparse": "^2.0.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "../services/libs/sqs/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.5", + "../services/libs/redis/node_modules/json-schema-traverse": { + "version": "0.4.1", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT" + }, + "../services/libs/redis/node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "../services/libs/redis/node_modules/levn": { + "version": "0.4.1", + "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.59.5", - "@typescript-eslint/visitor-keys": "5.59.5", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">= 0.8.0" } }, - "../services/libs/sqs/node_modules/@typescript-eslint/utils": { - "version": "5.59.5", + "../services/libs/redis/node_modules/locate-path": { + "version": "6.0.0", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.5", - "@typescript-eslint/types": "5.59.5", - "@typescript-eslint/typescript-estree": "5.59.5", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "p-locate": "^5.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/sqs/node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { - "version": "5.1.1", + "../services/libs/redis/node_modules/lodash.merge": { + "version": "4.6.2", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT" + }, + "../services/libs/redis/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "yallist": "^4.0.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=10" } }, - "../services/libs/sqs/node_modules/@typescript-eslint/utils/node_modules/estraverse": { - "version": "4.3.0", + "../services/libs/redis/node_modules/merge2": { + "version": "1.4.1", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "engines": { - "node": ">=4.0" + "node": ">= 8" } }, - "../services/libs/sqs/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.5", + "../services/libs/redis/node_modules/micromatch": { + "version": "4.0.5", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.59.5", - "eslint-visitor-keys": "^3.3.0" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=8.6" } }, - "../services/libs/sqs/node_modules/acorn": { - "version": "8.8.2", + "../services/libs/redis/node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=0.4.0" + "node": "*" } }, - "../services/libs/sqs/node_modules/acorn-jsx": { - "version": "5.3.2", + "../services/libs/redis/node_modules/ms": { + "version": "2.1.2", "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "license": "MIT" + }, + "../services/libs/redis/node_modules/natural-compare": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "../services/libs/redis/node_modules/natural-compare-lite": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "../services/libs/redis/node_modules/once": { + "version": "1.4.0", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" } }, - "../services/libs/sqs/node_modules/ajv": { - "version": "6.12.6", + "../services/libs/redis/node_modules/optionator": { + "version": "0.9.1", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">= 0.8.0" } }, - "../services/libs/sqs/node_modules/ansi-regex": { - "version": "5.0.1", + "../services/libs/redis/node_modules/p-limit": { + "version": "3.1.0", "dev": true, "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/sqs/node_modules/ansi-styles": { - "version": "4.3.0", + "../services/libs/redis/node_modules/p-locate": { + "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/sqs/node_modules/argparse": { - "version": "2.0.1", + "../services/libs/redis/node_modules/parent-module": { + "version": "1.0.1", "dev": true, - "license": "Python-2.0" + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } }, - "../services/libs/sqs/node_modules/array-union": { - "version": "2.1.0", + "../services/libs/redis/node_modules/path-exists": { + "version": "4.0.0", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "../services/libs/sqs/node_modules/balanced-match": { - "version": "1.0.2", + "../services/libs/redis/node_modules/path-is-absolute": { + "version": "1.0.1", "dev": true, - "license": "MIT" - }, - "../services/libs/sqs/node_modules/bowser": { - "version": "2.11.0", - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "../services/libs/sqs/node_modules/brace-expansion": { - "version": "1.1.11", + "../services/libs/redis/node_modules/path-key": { + "version": "3.1.1", "dev": true, "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "engines": { + "node": ">=8" } }, - "../services/libs/sqs/node_modules/braces": { - "version": "3.0.2", + "../services/libs/redis/node_modules/path-type": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "fill-range": "^7.0.1" - }, "engines": { "node": ">=8" } }, - "../services/libs/sqs/node_modules/callsites": { - "version": "3.1.0", + "../services/libs/redis/node_modules/picomatch": { + "version": "2.3.1", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "../services/libs/sqs/node_modules/chalk": { - "version": "4.1.2", + "../services/libs/redis/node_modules/prelude-ls": { + "version": "1.2.1", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "engines": { + "node": ">= 0.8.0" + } + }, + "../services/libs/redis/node_modules/prettier": { + "version": "2.8.8", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin-prettier.js" }, "engines": { - "node": ">=10" + "node": ">=10.13.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "../services/libs/sqs/node_modules/color-convert": { - "version": "2.0.1", + "../services/libs/redis/node_modules/prettier-linter-helpers": { + "version": "1.0.0", "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "fast-diff": "^1.1.2" }, "engines": { - "node": ">=7.0.0" + "node": ">=6.0.0" } }, - "../services/libs/sqs/node_modules/color-name": { - "version": "1.1.4", + "../services/libs/redis/node_modules/punycode": { + "version": "2.3.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "../services/libs/sqs/node_modules/concat-map": { - "version": "0.0.1", + "../services/libs/redis/node_modules/queue-microtask": { + "version": "1.2.3", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT" }, - "../services/libs/sqs/node_modules/cross-spawn": { - "version": "7.0.3", - "dev": true, + "../services/libs/redis/node_modules/redis": { + "version": "4.6.6", "license": "MIT", + "workspaces": [ + "./packages/*" + ], "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, + "@redis/bloom": "1.2.0", + "@redis/client": "1.5.7", + "@redis/graph": "1.1.0", + "@redis/json": "1.0.4", + "@redis/search": "1.1.2", + "@redis/time-series": "1.0.4" + } + }, + "../services/libs/redis/node_modules/resolve-from": { + "version": "4.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 8" + "node": ">=4" } }, - "../services/libs/sqs/node_modules/debug": { - "version": "4.3.4", + "../services/libs/redis/node_modules/reusify": { + "version": "1.0.4", "dev": true, "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "../services/libs/redis/node_modules/rimraf": { + "version": "3.0.2", + "dev": true, + "license": "ISC", "dependencies": { - "ms": "2.1.2" + "glob": "^7.1.3" }, - "engines": { - "node": ">=6.0" + "bin": { + "rimraf": "bin.js" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "../services/libs/redis/node_modules/run-parallel": { + "version": "1.2.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" } }, - "../services/libs/sqs/node_modules/deep-is": { - "version": "0.1.4", + "../services/libs/redis/node_modules/semver": { + "version": "7.5.1", "dev": true, - "license": "MIT" + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } }, - "../services/libs/sqs/node_modules/dir-glob": { - "version": "3.0.1", + "../services/libs/redis/node_modules/shebang-command": { + "version": "2.0.0", "dev": true, "license": "MIT", "dependencies": { - "path-type": "^4.0.0" + "shebang-regex": "^3.0.0" }, "engines": { "node": ">=8" } }, - "../services/libs/sqs/node_modules/doctrine": { + "../services/libs/redis/node_modules/shebang-regex": { "version": "3.0.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../services/libs/redis/node_modules/slash": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../services/libs/redis/node_modules/strip-ansi": { + "version": "6.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "esutils": "^2.0.2" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "../services/libs/sqs/node_modules/escape-string-regexp": { - "version": "4.0.0", + "../services/libs/redis/node_modules/strip-json-comments": { + "version": "3.1.1", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/sqs/node_modules/eslint": { - "version": "8.40.0", + "../services/libs/redis/node_modules/supports-color": { + "version": "7.2.0", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.40.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" + "has-flag": "^4.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=8" } }, - "../services/libs/sqs/node_modules/eslint-config-prettier": { - "version": "8.8.0", + "../services/libs/redis/node_modules/text-table": { + "version": "0.2.0", + "dev": true, + "license": "MIT" + }, + "../services/libs/redis/node_modules/to-regex-range": { + "version": "5.0.1", "dev": true, "license": "MIT", - "bin": { - "eslint-config-prettier": "bin/cli.js" + "dependencies": { + "is-number": "^7.0.0" }, - "peerDependencies": { - "eslint": ">=7.0.0" + "engines": { + "node": ">=8.0" } }, - "../services/libs/sqs/node_modules/eslint-plugin-prettier": { - "version": "4.2.1", + "../services/libs/redis/node_modules/tslib": { + "version": "1.14.1", + "dev": true, + "license": "0BSD" + }, + "../services/libs/redis/node_modules/tsutils": { + "version": "3.21.0", "dev": true, "license": "MIT", "dependencies": { - "prettier-linter-helpers": "^1.0.0" + "tslib": "^1.8.1" }, "engines": { - "node": ">=12.0.0" + "node": ">= 6" }, "peerDependencies": { - "eslint": ">=7.28.0", - "prettier": ">=2.0.0" - }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "../services/libs/sqs/node_modules/eslint-scope": { - "version": "7.2.0", + "../services/libs/redis/node_modules/type-check": { + "version": "0.4.0", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "prelude-ls": "^1.2.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">= 0.8.0" } }, - "../services/libs/sqs/node_modules/eslint-visitor-keys": { - "version": "3.4.1", + "../services/libs/redis/node_modules/type-fest": { + "version": "0.20.2", "dev": true, - "license": "Apache-2.0", + "license": "(MIT OR CC0-1.0)", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/sqs/node_modules/espree": { - "version": "9.5.2", + "../services/libs/redis/node_modules/typescript": { + "version": "5.0.4", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=12.20" } }, - "../services/libs/sqs/node_modules/esquery": { - "version": "1.5.0", + "../services/libs/redis/node_modules/uri-js": { + "version": "4.4.1", "dev": true, - "license": "BSD-3-Clause", + "license": "BSD-2-Clause", "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" + "punycode": "^2.1.0" } }, - "../services/libs/sqs/node_modules/esrecurse": { - "version": "4.3.0", + "../services/libs/redis/node_modules/which": { + "version": "2.0.2", "dev": true, - "license": "BSD-2-Clause", + "license": "ISC", "dependencies": { - "estraverse": "^5.2.0" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" }, "engines": { - "node": ">=4.0" - } - }, - "../services/libs/sqs/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" + "node": ">= 8" } }, - "../services/libs/sqs/node_modules/esutils": { - "version": "2.0.3", + "../services/libs/redis/node_modules/word-wrap": { + "version": "1.2.3", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "../services/libs/sqs/node_modules/fast-deep-equal": { - "version": "3.1.3", + "../services/libs/redis/node_modules/wrappy": { + "version": "1.0.2", "dev": true, - "license": "MIT" + "license": "ISC" }, - "../services/libs/sqs/node_modules/fast-diff": { - "version": "1.2.0", - "dev": true, - "license": "Apache-2.0" + "../services/libs/redis/node_modules/yallist": { + "version": "4.0.0", + "license": "ISC" }, - "../services/libs/sqs/node_modules/fast-glob": { - "version": "3.2.12", + "../services/libs/redis/node_modules/yocto-queue": { + "version": "0.1.0", "dev": true, "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, "engines": { - "node": ">=8.6.0" - } - }, - "../services/libs/sqs/node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" + "node": ">=10" }, - "engines": { - "node": ">= 6" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/sqs/node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true, - "license": "MIT" - }, - "../services/libs/sqs/node_modules/fast-levenshtein": { - "version": "2.0.6", - "dev": true, - "license": "MIT" - }, - "../services/libs/sqs/node_modules/fast-xml-parser": { - "version": "4.1.2", - "license": "MIT", + "../services/libs/sqs": { + "name": "@crowd/sqs", + "version": "1.0.0", "dependencies": { - "strnum": "^1.0.5" - }, - "bin": { - "fxparser": "src/cli/cli.js" + "@aws-sdk/client-sqs": "^3.332.0", + "@aws-sdk/types": "^3.329.0", + "@crowd/common": "file:../common", + "@crowd/logging": "file:../logging", + "@crowd/tracing": "file:../tracing", + "@crowd/types": "file:../types", + "@smithy/util-retry": "^2.0.1" }, - "funding": { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" + "devDependencies": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" } }, - "../services/libs/sqs/node_modules/fastq": { - "version": "1.15.0", - "dev": true, - "license": "ISC", + "../services/libs/sqs/node_modules/@aws-crypto/ie11-detection": { + "version": "3.0.0", + "license": "Apache-2.0", "dependencies": { - "reusify": "^1.0.4" + "tslib": "^1.11.1" } }, - "../services/libs/sqs/node_modules/file-entry-cache": { - "version": "6.0.1", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "../services/libs/sqs/node_modules/@aws-crypto/sha256-browser": { + "version": "3.0.0", + "license": "Apache-2.0", "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" + "@aws-crypto/ie11-detection": "^3.0.0", + "@aws-crypto/sha256-js": "^3.0.0", + "@aws-crypto/supports-web-crypto": "^3.0.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" } }, - "../services/libs/sqs/node_modules/fill-range": { - "version": "7.0.1", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "../services/libs/sqs/node_modules/@aws-crypto/sha256-js": { + "version": "3.0.0", + "license": "Apache-2.0", "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" } }, - "../services/libs/sqs/node_modules/find-up": { - "version": "5.0.0", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "../services/libs/sqs/node_modules/@aws-crypto/supports-web-crypto": { + "version": "3.0.0", + "license": "Apache-2.0", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "tslib": "^1.11.1" } }, - "../services/libs/sqs/node_modules/flat-cache": { - "version": "3.0.4", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "../services/libs/sqs/node_modules/@aws-crypto/util": { + "version": "3.0.0", + "license": "Apache-2.0", "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" } }, - "../services/libs/sqs/node_modules/flatted": { - "version": "3.2.7", - "dev": true, - "license": "ISC" - }, - "../services/libs/sqs/node_modules/fs.realpath": { - "version": "1.0.0", - "dev": true, - "license": "ISC" + "../services/libs/sqs/node_modules/@aws-crypto/util/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" }, - "../services/libs/sqs/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", + "../services/libs/sqs/node_modules/@aws-sdk/abort-controller": { + "version": "3.329.0", + "license": "Apache-2.0", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/glob-parent": { - "version": "6.0.2", - "dev": true, - "license": "ISC", + "../services/libs/sqs/node_modules/@aws-sdk/client-sqs": { + "version": "3.332.0", + "license": "Apache-2.0", "dependencies": { - "is-glob": "^4.0.3" + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.332.0", + "@aws-sdk/config-resolver": "3.329.0", + "@aws-sdk/credential-provider-node": "3.332.0", + "@aws-sdk/fetch-http-handler": "3.329.0", + "@aws-sdk/hash-node": "3.329.0", + "@aws-sdk/invalid-dependency": "3.329.0", + "@aws-sdk/md5-js": "3.329.0", + "@aws-sdk/middleware-content-length": "3.329.0", + "@aws-sdk/middleware-endpoint": "3.329.0", + "@aws-sdk/middleware-host-header": "3.329.0", + "@aws-sdk/middleware-logger": "3.329.0", + "@aws-sdk/middleware-recursion-detection": "3.329.0", + "@aws-sdk/middleware-retry": "3.329.0", + "@aws-sdk/middleware-sdk-sqs": "3.329.0", + "@aws-sdk/middleware-serde": "3.329.0", + "@aws-sdk/middleware-signing": "3.329.0", + "@aws-sdk/middleware-stack": "3.329.0", + "@aws-sdk/middleware-user-agent": "3.332.0", + "@aws-sdk/node-config-provider": "3.329.0", + "@aws-sdk/node-http-handler": "3.329.0", + "@aws-sdk/protocol-http": "3.329.0", + "@aws-sdk/smithy-client": "3.329.0", + "@aws-sdk/types": "3.329.0", + "@aws-sdk/url-parser": "3.329.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.329.0", + "@aws-sdk/util-defaults-mode-node": "3.329.0", + "@aws-sdk/util-endpoints": "3.332.0", + "@aws-sdk/util-retry": "3.329.0", + "@aws-sdk/util-user-agent-browser": "3.329.0", + "@aws-sdk/util-user-agent-node": "3.329.0", + "@aws-sdk/util-utf8": "3.310.0", + "fast-xml-parser": "4.1.2", + "tslib": "^2.5.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/globals": { - "version": "13.20.0", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/client-sso": { + "version": "3.332.0", + "license": "Apache-2.0", "dependencies": { - "type-fest": "^0.20.2" + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/config-resolver": "3.329.0", + "@aws-sdk/fetch-http-handler": "3.329.0", + "@aws-sdk/hash-node": "3.329.0", + "@aws-sdk/invalid-dependency": "3.329.0", + "@aws-sdk/middleware-content-length": "3.329.0", + "@aws-sdk/middleware-endpoint": "3.329.0", + "@aws-sdk/middleware-host-header": "3.329.0", + "@aws-sdk/middleware-logger": "3.329.0", + "@aws-sdk/middleware-recursion-detection": "3.329.0", + "@aws-sdk/middleware-retry": "3.329.0", + "@aws-sdk/middleware-serde": "3.329.0", + "@aws-sdk/middleware-stack": "3.329.0", + "@aws-sdk/middleware-user-agent": "3.332.0", + "@aws-sdk/node-config-provider": "3.329.0", + "@aws-sdk/node-http-handler": "3.329.0", + "@aws-sdk/protocol-http": "3.329.0", + "@aws-sdk/smithy-client": "3.329.0", + "@aws-sdk/types": "3.329.0", + "@aws-sdk/url-parser": "3.329.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.329.0", + "@aws-sdk/util-defaults-mode-node": "3.329.0", + "@aws-sdk/util-endpoints": "3.332.0", + "@aws-sdk/util-retry": "3.329.0", + "@aws-sdk/util-user-agent-browser": "3.329.0", + "@aws-sdk/util-user-agent-node": "3.329.0", + "@aws-sdk/util-utf8": "3.310.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/globby": { - "version": "11.1.0", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.332.0", + "license": "Apache-2.0", "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/config-resolver": "3.329.0", + "@aws-sdk/fetch-http-handler": "3.329.0", + "@aws-sdk/hash-node": "3.329.0", + "@aws-sdk/invalid-dependency": "3.329.0", + "@aws-sdk/middleware-content-length": "3.329.0", + "@aws-sdk/middleware-endpoint": "3.329.0", + "@aws-sdk/middleware-host-header": "3.329.0", + "@aws-sdk/middleware-logger": "3.329.0", + "@aws-sdk/middleware-recursion-detection": "3.329.0", + "@aws-sdk/middleware-retry": "3.329.0", + "@aws-sdk/middleware-serde": "3.329.0", + "@aws-sdk/middleware-stack": "3.329.0", + "@aws-sdk/middleware-user-agent": "3.332.0", + "@aws-sdk/node-config-provider": "3.329.0", + "@aws-sdk/node-http-handler": "3.329.0", + "@aws-sdk/protocol-http": "3.329.0", + "@aws-sdk/smithy-client": "3.329.0", + "@aws-sdk/types": "3.329.0", + "@aws-sdk/url-parser": "3.329.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.329.0", + "@aws-sdk/util-defaults-mode-node": "3.329.0", + "@aws-sdk/util-endpoints": "3.332.0", + "@aws-sdk/util-retry": "3.329.0", + "@aws-sdk/util-user-agent-browser": "3.329.0", + "@aws-sdk/util-user-agent-node": "3.329.0", + "@aws-sdk/util-utf8": "3.310.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/grapheme-splitter": { - "version": "1.0.4", - "dev": true, - "license": "MIT" - }, - "../services/libs/sqs/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "../services/libs/sqs/node_modules/@aws-sdk/client-sts": { + "version": "3.332.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/config-resolver": "3.329.0", + "@aws-sdk/credential-provider-node": "3.332.0", + "@aws-sdk/fetch-http-handler": "3.329.0", + "@aws-sdk/hash-node": "3.329.0", + "@aws-sdk/invalid-dependency": "3.329.0", + "@aws-sdk/middleware-content-length": "3.329.0", + "@aws-sdk/middleware-endpoint": "3.329.0", + "@aws-sdk/middleware-host-header": "3.329.0", + "@aws-sdk/middleware-logger": "3.329.0", + "@aws-sdk/middleware-recursion-detection": "3.329.0", + "@aws-sdk/middleware-retry": "3.329.0", + "@aws-sdk/middleware-sdk-sts": "3.329.0", + "@aws-sdk/middleware-serde": "3.329.0", + "@aws-sdk/middleware-signing": "3.329.0", + "@aws-sdk/middleware-stack": "3.329.0", + "@aws-sdk/middleware-user-agent": "3.332.0", + "@aws-sdk/node-config-provider": "3.329.0", + "@aws-sdk/node-http-handler": "3.329.0", + "@aws-sdk/protocol-http": "3.329.0", + "@aws-sdk/smithy-client": "3.329.0", + "@aws-sdk/types": "3.329.0", + "@aws-sdk/url-parser": "3.329.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.329.0", + "@aws-sdk/util-defaults-mode-node": "3.329.0", + "@aws-sdk/util-endpoints": "3.332.0", + "@aws-sdk/util-retry": "3.329.0", + "@aws-sdk/util-user-agent-browser": "3.329.0", + "@aws-sdk/util-user-agent-node": "3.329.0", + "@aws-sdk/util-utf8": "3.310.0", + "fast-xml-parser": "4.1.2", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/ignore": { - "version": "5.2.4", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/config-resolver": { + "version": "3.329.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.329.0", + "@aws-sdk/util-config-provider": "3.310.0", + "@aws-sdk/util-middleware": "3.329.0", + "tslib": "^2.5.0" + }, "engines": { - "node": ">= 4" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/import-fresh": { - "version": "3.3.0", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/credential-provider-env": { + "version": "3.329.0", + "license": "Apache-2.0", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "@aws-sdk/property-provider": "3.329.0", + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/imurmurhash": { - "version": "0.1.4", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/credential-provider-imds": { + "version": "3.329.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/node-config-provider": "3.329.0", + "@aws-sdk/property-provider": "3.329.0", + "@aws-sdk/types": "3.329.0", + "@aws-sdk/url-parser": "3.329.0", + "tslib": "^2.5.0" + }, "engines": { - "node": ">=0.8.19" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/inflight": { - "version": "1.0.6", - "dev": true, - "license": "ISC", + "../services/libs/sqs/node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.332.0", + "license": "Apache-2.0", "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "@aws-sdk/credential-provider-env": "3.329.0", + "@aws-sdk/credential-provider-imds": "3.329.0", + "@aws-sdk/credential-provider-process": "3.329.0", + "@aws-sdk/credential-provider-sso": "3.332.0", + "@aws-sdk/credential-provider-web-identity": "3.329.0", + "@aws-sdk/property-provider": "3.329.0", + "@aws-sdk/shared-ini-file-loader": "3.329.0", + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/inherits": { - "version": "2.0.4", - "dev": true, - "license": "ISC" - }, - "../services/libs/sqs/node_modules/is-extglob": { - "version": "2.1.1", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/credential-provider-node": { + "version": "3.332.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.329.0", + "@aws-sdk/credential-provider-imds": "3.329.0", + "@aws-sdk/credential-provider-ini": "3.332.0", + "@aws-sdk/credential-provider-process": "3.329.0", + "@aws-sdk/credential-provider-sso": "3.332.0", + "@aws-sdk/credential-provider-web-identity": "3.329.0", + "@aws-sdk/property-provider": "3.329.0", + "@aws-sdk/shared-ini-file-loader": "3.329.0", + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/is-glob": { - "version": "4.0.3", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/credential-provider-process": { + "version": "3.329.0", + "license": "Apache-2.0", "dependencies": { - "is-extglob": "^2.1.1" + "@aws-sdk/property-provider": "3.329.0", + "@aws-sdk/shared-ini-file-loader": "3.329.0", + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/is-number": { - "version": "7.0.0", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.332.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/client-sso": "3.332.0", + "@aws-sdk/property-provider": "3.329.0", + "@aws-sdk/shared-ini-file-loader": "3.329.0", + "@aws-sdk/token-providers": "3.332.0", + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" + }, "engines": { - "node": ">=0.12.0" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/is-path-inside": { - "version": "3.0.3", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.329.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/property-provider": "3.329.0", + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" + }, "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/isexe": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, - "../services/libs/sqs/node_modules/js-sdsl": { - "version": "4.4.0", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" + "../services/libs/sqs/node_modules/@aws-sdk/fetch-http-handler": { + "version": "3.329.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/protocol-http": "3.329.0", + "@aws-sdk/querystring-builder": "3.329.0", + "@aws-sdk/types": "3.329.0", + "@aws-sdk/util-base64": "3.310.0", + "tslib": "^2.5.0" } }, - "../services/libs/sqs/node_modules/js-yaml": { - "version": "4.1.0", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/hash-node": { + "version": "3.329.0", + "license": "Apache-2.0", "dependencies": { - "argparse": "^2.0.1" + "@aws-sdk/types": "3.329.0", + "@aws-sdk/util-buffer-from": "3.310.0", + "@aws-sdk/util-utf8": "3.310.0", + "tslib": "^2.5.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "license": "MIT" - }, - "../services/libs/sqs/node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "../services/libs/sqs/node_modules/levn": { - "version": "0.4.1", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/invalid-dependency": { + "version": "3.329.0", + "license": "Apache-2.0", "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" } }, - "../services/libs/sqs/node_modules/locate-path": { - "version": "6.0.0", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/is-array-buffer": { + "version": "3.310.0", + "license": "Apache-2.0", "dependencies": { - "p-locate": "^5.0.0" + "tslib": "^2.5.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/lodash.merge": { - "version": "4.6.2", - "dev": true, - "license": "MIT" + "../services/libs/sqs/node_modules/@aws-sdk/md5-js": { + "version": "3.329.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.329.0", + "@aws-sdk/util-utf8": "3.310.0", + "tslib": "^2.5.0" + } }, - "../services/libs/sqs/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", + "../services/libs/sqs/node_modules/@aws-sdk/middleware-content-length": { + "version": "3.329.0", + "license": "Apache-2.0", "dependencies": { - "yallist": "^4.0.0" + "@aws-sdk/protocol-http": "3.329.0", + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=10" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/merge2": { - "version": "1.4.1", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/middleware-endpoint": { + "version": "3.329.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/middleware-serde": "3.329.0", + "@aws-sdk/types": "3.329.0", + "@aws-sdk/url-parser": "3.329.0", + "@aws-sdk/util-middleware": "3.329.0", + "tslib": "^2.5.0" + }, "engines": { - "node": ">= 8" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/micromatch": { - "version": "4.0.5", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/middleware-host-header": { + "version": "3.329.0", + "license": "Apache-2.0", "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "@aws-sdk/protocol-http": "3.329.0", + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=8.6" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", + "../services/libs/sqs/node_modules/@aws-sdk/middleware-logger": { + "version": "3.329.0", + "license": "Apache-2.0", "dependencies": { - "brace-expansion": "^1.1.7" + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" }, "engines": { - "node": "*" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/ms": { - "version": "2.1.2", - "dev": true, - "license": "MIT" - }, - "../services/libs/sqs/node_modules/natural-compare": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "../services/libs/sqs/node_modules/natural-compare-lite": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "../services/libs/sqs/node_modules/once": { - "version": "1.4.0", - "dev": true, - "license": "ISC", + "../services/libs/sqs/node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.329.0", + "license": "Apache-2.0", "dependencies": { - "wrappy": "1" + "@aws-sdk/protocol-http": "3.329.0", + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/optionator": { - "version": "0.9.1", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/middleware-retry": { + "version": "3.329.0", + "license": "Apache-2.0", "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "@aws-sdk/protocol-http": "3.329.0", + "@aws-sdk/service-error-classification": "3.329.0", + "@aws-sdk/types": "3.329.0", + "@aws-sdk/util-middleware": "3.329.0", + "@aws-sdk/util-retry": "3.329.0", + "tslib": "^2.5.0", + "uuid": "^8.3.2" }, "engines": { - "node": ">= 0.8.0" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/p-limit": { - "version": "3.1.0", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/middleware-sdk-sqs": { + "version": "3.329.0", + "license": "Apache-2.0", "dependencies": { - "yocto-queue": "^0.1.0" + "@aws-sdk/types": "3.329.0", + "@aws-sdk/util-hex-encoding": "3.310.0", + "@aws-sdk/util-utf8": "3.310.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/p-locate": { - "version": "5.0.0", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/middleware-sdk-sts": { + "version": "3.329.0", + "license": "Apache-2.0", "dependencies": { - "p-limit": "^3.0.2" + "@aws-sdk/middleware-signing": "3.329.0", + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/parent-module": { - "version": "1.0.1", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/middleware-serde": { + "version": "3.329.0", + "license": "Apache-2.0", "dependencies": { - "callsites": "^3.0.0" + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/path-exists": { - "version": "4.0.0", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/middleware-signing": { + "version": "3.329.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/property-provider": "3.329.0", + "@aws-sdk/protocol-http": "3.329.0", + "@aws-sdk/signature-v4": "3.329.0", + "@aws-sdk/types": "3.329.0", + "@aws-sdk/util-middleware": "3.329.0", + "tslib": "^2.5.0" + }, "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/path-is-absolute": { - "version": "1.0.1", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/middleware-stack": { + "version": "3.329.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.5.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/path-key": { - "version": "3.1.1", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.332.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/protocol-http": "3.329.0", + "@aws-sdk/types": "3.329.0", + "@aws-sdk/util-endpoints": "3.332.0", + "tslib": "^2.5.0" + }, "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/path-type": { - "version": "4.0.0", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/node-config-provider": { + "version": "3.329.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/property-provider": "3.329.0", + "@aws-sdk/shared-ini-file-loader": "3.329.0", + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" + }, "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/picomatch": { - "version": "2.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" + "../services/libs/sqs/node_modules/@aws-sdk/node-http-handler": { + "version": "3.329.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/abort-controller": "3.329.0", + "@aws-sdk/protocol-http": "3.329.0", + "@aws-sdk/querystring-builder": "3.329.0", + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "engines": { + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/prelude-ls": { - "version": "1.2.1", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/property-provider": { + "version": "3.329.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" + }, "engines": { - "node": ">= 0.8.0" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/prettier": { - "version": "2.8.8", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin-prettier.js" + "../services/libs/sqs/node_modules/@aws-sdk/protocol-http": { + "version": "3.329.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/querystring-builder": { + "version": "3.329.0", + "license": "Apache-2.0", "dependencies": { - "fast-diff": "^1.1.2" + "@aws-sdk/types": "3.329.0", + "@aws-sdk/util-uri-escape": "3.310.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/punycode": { - "version": "2.3.0", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/querystring-parser": { + "version": "3.329.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" + }, "engines": { - "node": ">=6" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/queue-microtask": { - "version": "1.2.3", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "../services/libs/sqs/node_modules/resolve-from": { - "version": "4.0.0", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/service-error-classification": { + "version": "3.329.0", + "license": "Apache-2.0", "engines": { - "node": ">=4" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/reusify": { - "version": "1.0.4", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/shared-ini-file-loader": { + "version": "3.329.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" + }, "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/rimraf": { - "version": "3.0.2", - "dev": true, - "license": "ISC", + "../services/libs/sqs/node_modules/@aws-sdk/signature-v4": { + "version": "3.329.0", + "license": "Apache-2.0", "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "@aws-sdk/is-array-buffer": "3.310.0", + "@aws-sdk/types": "3.329.0", + "@aws-sdk/util-hex-encoding": "3.310.0", + "@aws-sdk/util-middleware": "3.329.0", + "@aws-sdk/util-uri-escape": "3.310.0", + "@aws-sdk/util-utf8": "3.310.0", + "tslib": "^2.5.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/run-parallel": { - "version": "1.2.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/smithy-client": { + "version": "3.329.0", + "license": "Apache-2.0", "dependencies": { - "queue-microtask": "^1.2.2" + "@aws-sdk/middleware-stack": "3.329.0", + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/semver": { - "version": "7.5.0", - "dev": true, - "license": "ISC", + "../services/libs/sqs/node_modules/@aws-sdk/token-providers": { + "version": "3.332.0", + "license": "Apache-2.0", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "@aws-sdk/client-sso-oidc": "3.332.0", + "@aws-sdk/property-provider": "3.329.0", + "@aws-sdk/shared-ini-file-loader": "3.329.0", + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=10" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/shebang-command": { - "version": "2.0.0", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/types": { + "version": "3.329.0", + "license": "Apache-2.0", "dependencies": { - "shebang-regex": "^3.0.0" + "tslib": "^2.5.0" }, "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/shebang-regex": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "../services/libs/sqs/node_modules/@aws-sdk/url-parser": { + "version": "3.329.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/querystring-parser": "3.329.0", + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" } }, - "../services/libs/sqs/node_modules/slash": { - "version": "3.0.0", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/util-base64": { + "version": "3.310.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/util-buffer-from": "3.310.0", + "tslib": "^2.5.0" + }, "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/strip-ansi": { - "version": "6.0.1", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/util-body-length-browser": { + "version": "3.310.0", + "license": "Apache-2.0", "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" + "tslib": "^2.5.0" } }, - "../services/libs/sqs/node_modules/strip-json-comments": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "../services/libs/sqs/node_modules/@aws-sdk/util-body-length-node": { + "version": "3.310.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.5.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/strnum": { - "version": "1.0.5", - "license": "MIT" - }, - "../services/libs/sqs/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/util-buffer-from": { + "version": "3.310.0", + "license": "Apache-2.0", "dependencies": { - "has-flag": "^4.0.0" + "@aws-sdk/is-array-buffer": "3.310.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/text-table": { - "version": "0.2.0", - "dev": true, - "license": "MIT" - }, - "../services/libs/sqs/node_modules/to-regex-range": { - "version": "5.0.1", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/util-config-provider": { + "version": "3.310.0", + "license": "Apache-2.0", "dependencies": { - "is-number": "^7.0.0" + "tslib": "^2.5.0" }, "engines": { - "node": ">=8.0" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/tslib": { - "version": "2.5.0", - "license": "0BSD" - }, - "../services/libs/sqs/node_modules/tsutils": { - "version": "3.21.0", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/util-defaults-mode-browser": { + "version": "3.329.0", + "license": "Apache-2.0", "dependencies": { - "tslib": "^1.8.1" + "@aws-sdk/property-provider": "3.329.0", + "@aws-sdk/types": "3.329.0", + "bowser": "^2.11.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + "node": ">= 10.0.0" } }, - "../services/libs/sqs/node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" - }, - "../services/libs/sqs/node_modules/type-check": { - "version": "0.4.0", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/util-defaults-mode-node": { + "version": "3.329.0", + "license": "Apache-2.0", "dependencies": { - "prelude-ls": "^1.2.1" + "@aws-sdk/config-resolver": "3.329.0", + "@aws-sdk/credential-provider-imds": "3.329.0", + "@aws-sdk/node-config-provider": "3.329.0", + "@aws-sdk/property-provider": "3.329.0", + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 10.0.0" } }, - "../services/libs/sqs/node_modules/type-fest": { - "version": "0.20.2", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" + "../services/libs/sqs/node_modules/@aws-sdk/util-endpoints": { + "version": "3.332.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/typescript": { - "version": "5.0.4", - "dev": true, + "../services/libs/sqs/node_modules/@aws-sdk/util-hex-encoding": { + "version": "3.310.0", "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "dependencies": { + "tslib": "^2.5.0" }, "engines": { - "node": ">=12.20" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/uri-js": { - "version": "4.4.1", - "dev": true, - "license": "BSD-2-Clause", + "../services/libs/sqs/node_modules/@aws-sdk/util-locate-window": { + "version": "3.310.0", + "license": "Apache-2.0", "dependencies": { - "punycode": "^2.1.0" + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/uuid": { - "version": "8.3.2", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "../services/libs/sqs/node_modules/@aws-sdk/util-middleware": { + "version": "3.329.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/which": { - "version": "2.0.2", - "dev": true, - "license": "ISC", + "../services/libs/sqs/node_modules/@aws-sdk/util-retry": { + "version": "3.329.0", + "license": "Apache-2.0", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "@aws-sdk/service-error-classification": "3.329.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 8" + "node": ">= 14.0.0" } }, - "../services/libs/sqs/node_modules/word-wrap": { - "version": "1.2.3", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/util-uri-escape": { + "version": "3.310.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.5.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=14.0.0" } }, - "../services/libs/sqs/node_modules/wrappy": { - "version": "1.0.2", - "dev": true, - "license": "ISC" - }, - "../services/libs/sqs/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" + "../services/libs/sqs/node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.329.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.329.0", + "bowser": "^2.11.0", + "tslib": "^2.5.0" + } }, - "../services/libs/sqs/node_modules/yocto-queue": { - "version": "0.1.0", - "dev": true, - "license": "MIT", + "../services/libs/sqs/node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.329.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/node-config-provider": "3.329.0", + "@aws-sdk/types": "3.329.0", + "tslib": "^2.5.0" + }, "engines": { - "node": ">=10" + "node": ">=14.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } } }, - "../services/libs/temporal": { - "name": "@crowd/temporal", - "version": "1.0.0", + "../services/libs/sqs/node_modules/@aws-sdk/util-utf8": { + "version": "3.310.0", + "license": "Apache-2.0", "dependencies": { - "@temporalio/client": "~1.8.6" + "@aws-sdk/util-buffer-from": "3.310.0", + "tslib": "^2.5.0" }, - "devDependencies": { - "@types/node": "^18.16.3", - "@typescript-eslint/eslint-plugin": "^5.59.2", - "@typescript-eslint/parser": "^5.59.2", - "eslint": "^8.39.0", - "eslint-config-prettier": "^8.8.0", - "eslint-plugin-prettier": "^4.2.1", - "prettier": "^2.8.8", - "typescript": "^5.0.4" + "engines": { + "node": ">=14.0.0" } }, - "../services/libs/tracing": { - "name": "@crowd/tracing", - "version": "1.0.0", + "../services/libs/sqs/node_modules/@aws-sdk/util-utf8-browser": { + "version": "3.259.0", + "license": "Apache-2.0", "dependencies": { - "@crowd/common": "file:../common", - "@opentelemetry/api": "~1.6.0", - "@opentelemetry/exporter-trace-otlp-grpc": "~0.43.0", - "@opentelemetry/instrumentation-aws-sdk": "~0.36.0", - "@opentelemetry/instrumentation-bunyan": "~0.32.1", - "@opentelemetry/instrumentation-express": "~0.33.1", - "@opentelemetry/instrumentation-http": "~0.43.0", - "@opentelemetry/instrumentation-pg": "^0.36.2", - "@opentelemetry/instrumentation-redis-4": "^0.35.3", - "@opentelemetry/resource-detector-aws": "~1.3.1", - "@opentelemetry/resources": "~1.17.0", - "@opentelemetry/sdk-node": "~0.43.0", - "@opentelemetry/semantic-conventions": "~1.17.0", - "opentelemetry-instrumentation-kafkajs": "~0.39.1", - "opentelemetry-instrumentation-sequelize": "~0.39.1" - }, - "devDependencies": { - "@types/node": "^18.16.3", - "@typescript-eslint/eslint-plugin": "^5.59.2", - "@typescript-eslint/parser": "^5.59.2", - "eslint": "^8.39.0", - "eslint-config-prettier": "^8.8.0", - "eslint-plugin-prettier": "^4.2.1", - "prettier": "^2.8.8", - "typescript": "^5.0.4" + "tslib": "^2.3.1" } }, - "../services/libs/types": { - "name": "@crowd/types", - "version": "1.0.0", - "devDependencies": { - "@types/node": "^18.16.3", - "@typescript-eslint/eslint-plugin": "^5.59.2", - "@typescript-eslint/parser": "^5.59.2", - "eslint": "^8.39.0", - "eslint-config-prettier": "^8.8.0", - "eslint-plugin-prettier": "^4.2.1", - "prettier": "^2.8.8", - "typescript": "^5.0.4" - } + "../services/libs/sqs/node_modules/@crowd/common": { + "resolved": "../services/libs/common", + "link": true }, - "../services/libs/types/node_modules/@eslint-community/eslint-utils": { + "../services/libs/sqs/node_modules/@crowd/logging": { + "resolved": "../services/libs/logging", + "link": true + }, + "../services/libs/sqs/node_modules/@crowd/types": { + "resolved": "../services/libs/types", + "link": true + }, + "../services/libs/sqs/node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, "license": "MIT", @@ -12414,7 +13066,7 @@ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "../services/libs/types/node_modules/@eslint-community/regexpp": { + "../services/libs/sqs/node_modules/@eslint-community/regexpp": { "version": "4.5.1", "dev": true, "license": "MIT", @@ -12422,7 +13074,7 @@ "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "../services/libs/types/node_modules/@eslint/eslintrc": { + "../services/libs/sqs/node_modules/@eslint/eslintrc": { "version": "2.0.3", "dev": true, "license": "MIT", @@ -12444,7 +13096,7 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/types/node_modules/@eslint/js": { + "../services/libs/sqs/node_modules/@eslint/js": { "version": "8.40.0", "dev": true, "license": "MIT", @@ -12452,7 +13104,7 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "../services/libs/types/node_modules/@humanwhocodes/config-array": { + "../services/libs/sqs/node_modules/@humanwhocodes/config-array": { "version": "0.11.8", "dev": true, "license": "Apache-2.0", @@ -12465,7 +13117,7 @@ "node": ">=10.10.0" } }, - "../services/libs/types/node_modules/@humanwhocodes/module-importer": { + "../services/libs/sqs/node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "dev": true, "license": "Apache-2.0", @@ -12477,12 +13129,12 @@ "url": "https://github.com/sponsors/nzakas" } }, - "../services/libs/types/node_modules/@humanwhocodes/object-schema": { + "../services/libs/sqs/node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", "dev": true, "license": "BSD-3-Clause" }, - "../services/libs/types/node_modules/@nodelib/fs.scandir": { + "../services/libs/sqs/node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "dev": true, "license": "MIT", @@ -12494,7 +13146,7 @@ "node": ">= 8" } }, - "../services/libs/types/node_modules/@nodelib/fs.stat": { + "../services/libs/sqs/node_modules/@nodelib/fs.stat": { "version": "2.0.5", "dev": true, "license": "MIT", @@ -12502,7 +13154,7 @@ "node": ">= 8" } }, - "../services/libs/types/node_modules/@nodelib/fs.walk": { + "../services/libs/sqs/node_modules/@nodelib/fs.walk": { "version": "1.2.8", "dev": true, "license": "MIT", @@ -12514,22 +13166,22 @@ "node": ">= 8" } }, - "../services/libs/types/node_modules/@types/json-schema": { + "../services/libs/sqs/node_modules/@types/json-schema": { "version": "7.0.11", "dev": true, "license": "MIT" }, - "../services/libs/types/node_modules/@types/node": { - "version": "18.16.9", - "dev": true, + "../services/libs/sqs/node_modules/@types/node": { + "version": "18.16.8", + "dev": true, "license": "MIT" }, - "../services/libs/types/node_modules/@types/semver": { + "../services/libs/sqs/node_modules/@types/semver": { "version": "7.5.0", "dev": true, "license": "MIT" }, - "../services/libs/types/node_modules/@typescript-eslint/eslint-plugin": { + "../services/libs/sqs/node_modules/@typescript-eslint/eslint-plugin": { "version": "5.59.5", "dev": true, "license": "MIT", @@ -12562,7 +13214,7 @@ } } }, - "../services/libs/types/node_modules/@typescript-eslint/parser": { + "../services/libs/sqs/node_modules/@typescript-eslint/parser": { "version": "5.59.5", "dev": true, "license": "BSD-2-Clause", @@ -12588,7 +13240,7 @@ } } }, - "../services/libs/types/node_modules/@typescript-eslint/scope-manager": { + "../services/libs/sqs/node_modules/@typescript-eslint/scope-manager": { "version": "5.59.5", "dev": true, "license": "MIT", @@ -12604,7 +13256,7 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "../services/libs/types/node_modules/@typescript-eslint/type-utils": { + "../services/libs/sqs/node_modules/@typescript-eslint/type-utils": { "version": "5.59.5", "dev": true, "license": "MIT", @@ -12630,7 +13282,7 @@ } } }, - "../services/libs/types/node_modules/@typescript-eslint/types": { + "../services/libs/sqs/node_modules/@typescript-eslint/types": { "version": "5.59.5", "dev": true, "license": "MIT", @@ -12642,7 +13294,7 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "../services/libs/types/node_modules/@typescript-eslint/typescript-estree": { + "../services/libs/sqs/node_modules/@typescript-eslint/typescript-estree": { "version": "5.59.5", "dev": true, "license": "BSD-2-Clause", @@ -12668,7 +13320,7 @@ } } }, - "../services/libs/types/node_modules/@typescript-eslint/utils": { + "../services/libs/sqs/node_modules/@typescript-eslint/utils": { "version": "5.59.5", "dev": true, "license": "MIT", @@ -12693,7 +13345,27 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "../services/libs/types/node_modules/@typescript-eslint/visitor-keys": { + "../services/libs/sqs/node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "../services/libs/sqs/node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "../services/libs/sqs/node_modules/@typescript-eslint/visitor-keys": { "version": "5.59.5", "dev": true, "license": "MIT", @@ -12709,7 +13381,7 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "../services/libs/types/node_modules/acorn": { + "../services/libs/sqs/node_modules/acorn": { "version": "8.8.2", "dev": true, "license": "MIT", @@ -12720,7 +13392,7 @@ "node": ">=0.4.0" } }, - "../services/libs/types/node_modules/acorn-jsx": { + "../services/libs/sqs/node_modules/acorn-jsx": { "version": "5.3.2", "dev": true, "license": "MIT", @@ -12728,7 +13400,7 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "../services/libs/types/node_modules/ajv": { + "../services/libs/sqs/node_modules/ajv": { "version": "6.12.6", "dev": true, "license": "MIT", @@ -12743,7 +13415,7 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "../services/libs/types/node_modules/ansi-regex": { + "../services/libs/sqs/node_modules/ansi-regex": { "version": "5.0.1", "dev": true, "license": "MIT", @@ -12751,7 +13423,7 @@ "node": ">=8" } }, - "../services/libs/types/node_modules/ansi-styles": { + "../services/libs/sqs/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -12765,12 +13437,12 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "../services/libs/types/node_modules/argparse": { + "../services/libs/sqs/node_modules/argparse": { "version": "2.0.1", "dev": true, "license": "Python-2.0" }, - "../services/libs/types/node_modules/array-union": { + "../services/libs/sqs/node_modules/array-union": { "version": "2.1.0", "dev": true, "license": "MIT", @@ -12778,12 +13450,16 @@ "node": ">=8" } }, - "../services/libs/types/node_modules/balanced-match": { + "../services/libs/sqs/node_modules/balanced-match": { "version": "1.0.2", "dev": true, "license": "MIT" }, - "../services/libs/types/node_modules/brace-expansion": { + "../services/libs/sqs/node_modules/bowser": { + "version": "2.11.0", + "license": "MIT" + }, + "../services/libs/sqs/node_modules/brace-expansion": { "version": "1.1.11", "dev": true, "license": "MIT", @@ -12792,7 +13468,7 @@ "concat-map": "0.0.1" } }, - "../services/libs/types/node_modules/braces": { + "../services/libs/sqs/node_modules/braces": { "version": "3.0.2", "dev": true, "license": "MIT", @@ -12803,7 +13479,7 @@ "node": ">=8" } }, - "../services/libs/types/node_modules/callsites": { + "../services/libs/sqs/node_modules/callsites": { "version": "3.1.0", "dev": true, "license": "MIT", @@ -12811,7 +13487,7 @@ "node": ">=6" } }, - "../services/libs/types/node_modules/chalk": { + "../services/libs/sqs/node_modules/chalk": { "version": "4.1.2", "dev": true, "license": "MIT", @@ -12826,7 +13502,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "../services/libs/types/node_modules/color-convert": { + "../services/libs/sqs/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -12837,17 +13513,17 @@ "node": ">=7.0.0" } }, - "../services/libs/types/node_modules/color-name": { + "../services/libs/sqs/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" }, - "../services/libs/types/node_modules/concat-map": { + "../services/libs/sqs/node_modules/concat-map": { "version": "0.0.1", "dev": true, "license": "MIT" }, - "../services/libs/types/node_modules/cross-spawn": { + "../services/libs/sqs/node_modules/cross-spawn": { "version": "7.0.3", "dev": true, "license": "MIT", @@ -12860,7 +13536,7 @@ "node": ">= 8" } }, - "../services/libs/types/node_modules/debug": { + "../services/libs/sqs/node_modules/debug": { "version": "4.3.4", "dev": true, "license": "MIT", @@ -12876,12 +13552,12 @@ } } }, - "../services/libs/types/node_modules/deep-is": { + "../services/libs/sqs/node_modules/deep-is": { "version": "0.1.4", "dev": true, "license": "MIT" }, - "../services/libs/types/node_modules/dir-glob": { + "../services/libs/sqs/node_modules/dir-glob": { "version": "3.0.1", "dev": true, "license": "MIT", @@ -12892,7 +13568,7 @@ "node": ">=8" } }, - "../services/libs/types/node_modules/doctrine": { + "../services/libs/sqs/node_modules/doctrine": { "version": "3.0.0", "dev": true, "license": "Apache-2.0", @@ -12903,7 +13579,7 @@ "node": ">=6.0.0" } }, - "../services/libs/types/node_modules/escape-string-regexp": { + "../services/libs/sqs/node_modules/escape-string-regexp": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -12914,7 +13590,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/types/node_modules/eslint": { + "../services/libs/sqs/node_modules/eslint": { "version": "8.40.0", "dev": true, "license": "MIT", @@ -12970,7 +13646,7 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/types/node_modules/eslint-config-prettier": { + "../services/libs/sqs/node_modules/eslint-config-prettier": { "version": "8.8.0", "dev": true, "license": "MIT", @@ -12981,7 +13657,7 @@ "eslint": ">=7.0.0" } }, - "../services/libs/types/node_modules/eslint-plugin-prettier": { + "../services/libs/sqs/node_modules/eslint-plugin-prettier": { "version": "4.2.1", "dev": true, "license": "MIT", @@ -13001,22 +13677,14 @@ } } }, - "../services/libs/types/node_modules/eslint-scope": { - "version": "5.1.1", + "../services/libs/sqs/node_modules/eslint-scope": { + "version": "7.2.0", "dev": true, "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "estraverse": "^5.2.0" }, - "engines": { - "node": ">=8.0.0" - } - }, - "../services/libs/types/node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "dev": true, - "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -13024,14 +13692,10 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/types/node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.0", + "../services/libs/sqs/node_modules/eslint-visitor-keys": { + "version": "3.4.1", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -13039,15 +13703,7 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/types/node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "../services/libs/types/node_modules/espree": { + "../services/libs/sqs/node_modules/espree": { "version": "9.5.2", "dev": true, "license": "BSD-2-Clause", @@ -13063,7 +13719,7 @@ "url": "https://opencollective.com/eslint" } }, - "../services/libs/types/node_modules/esquery": { + "../services/libs/sqs/node_modules/esquery": { "version": "1.5.0", "dev": true, "license": "BSD-3-Clause", @@ -13074,15 +13730,7 @@ "node": ">=0.10" } }, - "../services/libs/types/node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "../services/libs/types/node_modules/esrecurse": { + "../services/libs/sqs/node_modules/esrecurse": { "version": "4.3.0", "dev": true, "license": "BSD-2-Clause", @@ -13093,7 +13741,7 @@ "node": ">=4.0" } }, - "../services/libs/types/node_modules/esrecurse/node_modules/estraverse": { + "../services/libs/sqs/node_modules/estraverse": { "version": "5.3.0", "dev": true, "license": "BSD-2-Clause", @@ -13101,15 +13749,7 @@ "node": ">=4.0" } }, - "../services/libs/types/node_modules/estraverse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "../services/libs/types/node_modules/esutils": { + "../services/libs/sqs/node_modules/esutils": { "version": "2.0.3", "dev": true, "license": "BSD-2-Clause", @@ -13117,17 +13757,17 @@ "node": ">=0.10.0" } }, - "../services/libs/types/node_modules/fast-deep-equal": { + "../services/libs/sqs/node_modules/fast-deep-equal": { "version": "3.1.3", "dev": true, "license": "MIT" }, - "../services/libs/types/node_modules/fast-diff": { + "../services/libs/sqs/node_modules/fast-diff": { "version": "1.2.0", "dev": true, "license": "Apache-2.0" }, - "../services/libs/types/node_modules/fast-glob": { + "../services/libs/sqs/node_modules/fast-glob": { "version": "3.2.12", "dev": true, "license": "MIT", @@ -13142,7 +13782,7 @@ "node": ">=8.6.0" } }, - "../services/libs/types/node_modules/fast-glob/node_modules/glob-parent": { + "../services/libs/sqs/node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", "dev": true, "license": "ISC", @@ -13153,17 +13793,31 @@ "node": ">= 6" } }, - "../services/libs/types/node_modules/fast-json-stable-stringify": { + "../services/libs/sqs/node_modules/fast-json-stable-stringify": { "version": "2.1.0", "dev": true, "license": "MIT" }, - "../services/libs/types/node_modules/fast-levenshtein": { + "../services/libs/sqs/node_modules/fast-levenshtein": { "version": "2.0.6", "dev": true, "license": "MIT" }, - "../services/libs/types/node_modules/fastq": { + "../services/libs/sqs/node_modules/fast-xml-parser": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + }, + "funding": { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + }, + "../services/libs/sqs/node_modules/fastq": { "version": "1.15.0", "dev": true, "license": "ISC", @@ -13171,7 +13825,7 @@ "reusify": "^1.0.4" } }, - "../services/libs/types/node_modules/file-entry-cache": { + "../services/libs/sqs/node_modules/file-entry-cache": { "version": "6.0.1", "dev": true, "license": "MIT", @@ -13182,7 +13836,7 @@ "node": "^10.12.0 || >=12.0.0" } }, - "../services/libs/types/node_modules/fill-range": { + "../services/libs/sqs/node_modules/fill-range": { "version": "7.0.1", "dev": true, "license": "MIT", @@ -13193,7 +13847,7 @@ "node": ">=8" } }, - "../services/libs/types/node_modules/find-up": { + "../services/libs/sqs/node_modules/find-up": { "version": "5.0.0", "dev": true, "license": "MIT", @@ -13208,7 +13862,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/types/node_modules/flat-cache": { + "../services/libs/sqs/node_modules/flat-cache": { "version": "3.0.4", "dev": true, "license": "MIT", @@ -13220,17 +13874,17 @@ "node": "^10.12.0 || >=12.0.0" } }, - "../services/libs/types/node_modules/flatted": { + "../services/libs/sqs/node_modules/flatted": { "version": "3.2.7", "dev": true, "license": "ISC" }, - "../services/libs/types/node_modules/fs.realpath": { + "../services/libs/sqs/node_modules/fs.realpath": { "version": "1.0.0", "dev": true, "license": "ISC" }, - "../services/libs/types/node_modules/glob": { + "../services/libs/sqs/node_modules/glob": { "version": "7.2.3", "dev": true, "license": "ISC", @@ -13249,7 +13903,7 @@ "url": "https://github.com/sponsors/isaacs" } }, - "../services/libs/types/node_modules/glob-parent": { + "../services/libs/sqs/node_modules/glob-parent": { "version": "6.0.2", "dev": true, "license": "ISC", @@ -13260,7 +13914,7 @@ "node": ">=10.13.0" } }, - "../services/libs/types/node_modules/globals": { + "../services/libs/sqs/node_modules/globals": { "version": "13.20.0", "dev": true, "license": "MIT", @@ -13274,7 +13928,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/types/node_modules/globby": { + "../services/libs/sqs/node_modules/globby": { "version": "11.1.0", "dev": true, "license": "MIT", @@ -13293,12 +13947,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/types/node_modules/grapheme-splitter": { + "../services/libs/sqs/node_modules/grapheme-splitter": { "version": "1.0.4", "dev": true, "license": "MIT" }, - "../services/libs/types/node_modules/has-flag": { + "../services/libs/sqs/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -13306,7 +13960,7 @@ "node": ">=8" } }, - "../services/libs/types/node_modules/ignore": { + "../services/libs/sqs/node_modules/ignore": { "version": "5.2.4", "dev": true, "license": "MIT", @@ -13314,7 +13968,7 @@ "node": ">= 4" } }, - "../services/libs/types/node_modules/import-fresh": { + "../services/libs/sqs/node_modules/import-fresh": { "version": "3.3.0", "dev": true, "license": "MIT", @@ -13329,7 +13983,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/types/node_modules/imurmurhash": { + "../services/libs/sqs/node_modules/imurmurhash": { "version": "0.1.4", "dev": true, "license": "MIT", @@ -13337,7 +13991,7 @@ "node": ">=0.8.19" } }, - "../services/libs/types/node_modules/inflight": { + "../services/libs/sqs/node_modules/inflight": { "version": "1.0.6", "dev": true, "license": "ISC", @@ -13346,12 +14000,12 @@ "wrappy": "1" } }, - "../services/libs/types/node_modules/inherits": { + "../services/libs/sqs/node_modules/inherits": { "version": "2.0.4", "dev": true, "license": "ISC" }, - "../services/libs/types/node_modules/is-extglob": { + "../services/libs/sqs/node_modules/is-extglob": { "version": "2.1.1", "dev": true, "license": "MIT", @@ -13359,7 +14013,7 @@ "node": ">=0.10.0" } }, - "../services/libs/types/node_modules/is-glob": { + "../services/libs/sqs/node_modules/is-glob": { "version": "4.0.3", "dev": true, "license": "MIT", @@ -13370,7 +14024,7 @@ "node": ">=0.10.0" } }, - "../services/libs/types/node_modules/is-number": { + "../services/libs/sqs/node_modules/is-number": { "version": "7.0.0", "dev": true, "license": "MIT", @@ -13378,7 +14032,7 @@ "node": ">=0.12.0" } }, - "../services/libs/types/node_modules/is-path-inside": { + "../services/libs/sqs/node_modules/is-path-inside": { "version": "3.0.3", "dev": true, "license": "MIT", @@ -13386,12 +14040,12 @@ "node": ">=8" } }, - "../services/libs/types/node_modules/isexe": { + "../services/libs/sqs/node_modules/isexe": { "version": "2.0.0", "dev": true, "license": "ISC" }, - "../services/libs/types/node_modules/js-sdsl": { + "../services/libs/sqs/node_modules/js-sdsl": { "version": "4.4.0", "dev": true, "license": "MIT", @@ -13400,7 +14054,7 @@ "url": "https://opencollective.com/js-sdsl" } }, - "../services/libs/types/node_modules/js-yaml": { + "../services/libs/sqs/node_modules/js-yaml": { "version": "4.1.0", "dev": true, "license": "MIT", @@ -13411,17 +14065,17 @@ "js-yaml": "bin/js-yaml.js" } }, - "../services/libs/types/node_modules/json-schema-traverse": { + "../services/libs/sqs/node_modules/json-schema-traverse": { "version": "0.4.1", "dev": true, "license": "MIT" }, - "../services/libs/types/node_modules/json-stable-stringify-without-jsonify": { + "../services/libs/sqs/node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "dev": true, "license": "MIT" }, - "../services/libs/types/node_modules/levn": { + "../services/libs/sqs/node_modules/levn": { "version": "0.4.1", "dev": true, "license": "MIT", @@ -13433,7 +14087,7 @@ "node": ">= 0.8.0" } }, - "../services/libs/types/node_modules/locate-path": { + "../services/libs/sqs/node_modules/locate-path": { "version": "6.0.0", "dev": true, "license": "MIT", @@ -13447,12 +14101,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/types/node_modules/lodash.merge": { + "../services/libs/sqs/node_modules/lodash.merge": { "version": "4.6.2", "dev": true, "license": "MIT" }, - "../services/libs/types/node_modules/lru-cache": { + "../services/libs/sqs/node_modules/lru-cache": { "version": "6.0.0", "dev": true, "license": "ISC", @@ -13463,7 +14117,7 @@ "node": ">=10" } }, - "../services/libs/types/node_modules/merge2": { + "../services/libs/sqs/node_modules/merge2": { "version": "1.4.1", "dev": true, "license": "MIT", @@ -13471,7 +14125,7 @@ "node": ">= 8" } }, - "../services/libs/types/node_modules/micromatch": { + "../services/libs/sqs/node_modules/micromatch": { "version": "4.0.5", "dev": true, "license": "MIT", @@ -13483,7 +14137,7 @@ "node": ">=8.6" } }, - "../services/libs/types/node_modules/minimatch": { + "../services/libs/sqs/node_modules/minimatch": { "version": "3.1.2", "dev": true, "license": "ISC", @@ -13494,22 +14148,22 @@ "node": "*" } }, - "../services/libs/types/node_modules/ms": { + "../services/libs/sqs/node_modules/ms": { "version": "2.1.2", "dev": true, "license": "MIT" }, - "../services/libs/types/node_modules/natural-compare": { + "../services/libs/sqs/node_modules/natural-compare": { "version": "1.4.0", "dev": true, "license": "MIT" }, - "../services/libs/types/node_modules/natural-compare-lite": { + "../services/libs/sqs/node_modules/natural-compare-lite": { "version": "1.4.0", "dev": true, "license": "MIT" }, - "../services/libs/types/node_modules/once": { + "../services/libs/sqs/node_modules/once": { "version": "1.4.0", "dev": true, "license": "ISC", @@ -13517,7 +14171,7 @@ "wrappy": "1" } }, - "../services/libs/types/node_modules/optionator": { + "../services/libs/sqs/node_modules/optionator": { "version": "0.9.1", "dev": true, "license": "MIT", @@ -13533,7 +14187,7 @@ "node": ">= 0.8.0" } }, - "../services/libs/types/node_modules/p-limit": { + "../services/libs/sqs/node_modules/p-limit": { "version": "3.1.0", "dev": true, "license": "MIT", @@ -13547,7 +14201,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/types/node_modules/p-locate": { + "../services/libs/sqs/node_modules/p-locate": { "version": "5.0.0", "dev": true, "license": "MIT", @@ -13561,7 +14215,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/types/node_modules/parent-module": { + "../services/libs/sqs/node_modules/parent-module": { "version": "1.0.1", "dev": true, "license": "MIT", @@ -13572,7 +14226,7 @@ "node": ">=6" } }, - "../services/libs/types/node_modules/path-exists": { + "../services/libs/sqs/node_modules/path-exists": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -13580,7 +14234,7 @@ "node": ">=8" } }, - "../services/libs/types/node_modules/path-is-absolute": { + "../services/libs/sqs/node_modules/path-is-absolute": { "version": "1.0.1", "dev": true, "license": "MIT", @@ -13588,7 +14242,7 @@ "node": ">=0.10.0" } }, - "../services/libs/types/node_modules/path-key": { + "../services/libs/sqs/node_modules/path-key": { "version": "3.1.1", "dev": true, "license": "MIT", @@ -13596,7 +14250,7 @@ "node": ">=8" } }, - "../services/libs/types/node_modules/path-type": { + "../services/libs/sqs/node_modules/path-type": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -13604,7 +14258,7 @@ "node": ">=8" } }, - "../services/libs/types/node_modules/picomatch": { + "../services/libs/sqs/node_modules/picomatch": { "version": "2.3.1", "dev": true, "license": "MIT", @@ -13615,7 +14269,7 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "../services/libs/types/node_modules/prelude-ls": { + "../services/libs/sqs/node_modules/prelude-ls": { "version": "1.2.1", "dev": true, "license": "MIT", @@ -13623,7 +14277,7 @@ "node": ">= 0.8.0" } }, - "../services/libs/types/node_modules/prettier": { + "../services/libs/sqs/node_modules/prettier": { "version": "2.8.8", "dev": true, "license": "MIT", @@ -13637,7 +14291,7 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "../services/libs/types/node_modules/prettier-linter-helpers": { + "../services/libs/sqs/node_modules/prettier-linter-helpers": { "version": "1.0.0", "dev": true, "license": "MIT", @@ -13648,7 +14302,7 @@ "node": ">=6.0.0" } }, - "../services/libs/types/node_modules/punycode": { + "../services/libs/sqs/node_modules/punycode": { "version": "2.3.0", "dev": true, "license": "MIT", @@ -13656,7 +14310,7 @@ "node": ">=6" } }, - "../services/libs/types/node_modules/queue-microtask": { + "../services/libs/sqs/node_modules/queue-microtask": { "version": "1.2.3", "dev": true, "funding": [ @@ -13675,7 +14329,7 @@ ], "license": "MIT" }, - "../services/libs/types/node_modules/resolve-from": { + "../services/libs/sqs/node_modules/resolve-from": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -13683,7 +14337,7 @@ "node": ">=4" } }, - "../services/libs/types/node_modules/reusify": { + "../services/libs/sqs/node_modules/reusify": { "version": "1.0.4", "dev": true, "license": "MIT", @@ -13692,7 +14346,7 @@ "node": ">=0.10.0" } }, - "../services/libs/types/node_modules/rimraf": { + "../services/libs/sqs/node_modules/rimraf": { "version": "3.0.2", "dev": true, "license": "ISC", @@ -13706,7 +14360,7 @@ "url": "https://github.com/sponsors/isaacs" } }, - "../services/libs/types/node_modules/run-parallel": { + "../services/libs/sqs/node_modules/run-parallel": { "version": "1.2.0", "dev": true, "funding": [ @@ -13728,8 +14382,8 @@ "queue-microtask": "^1.2.2" } }, - "../services/libs/types/node_modules/semver": { - "version": "7.5.1", + "../services/libs/sqs/node_modules/semver": { + "version": "7.5.0", "dev": true, "license": "ISC", "dependencies": { @@ -13742,7 +14396,7 @@ "node": ">=10" } }, - "../services/libs/types/node_modules/shebang-command": { + "../services/libs/sqs/node_modules/shebang-command": { "version": "2.0.0", "dev": true, "license": "MIT", @@ -13753,7 +14407,7 @@ "node": ">=8" } }, - "../services/libs/types/node_modules/shebang-regex": { + "../services/libs/sqs/node_modules/shebang-regex": { "version": "3.0.0", "dev": true, "license": "MIT", @@ -13761,7 +14415,7 @@ "node": ">=8" } }, - "../services/libs/types/node_modules/slash": { + "../services/libs/sqs/node_modules/slash": { "version": "3.0.0", "dev": true, "license": "MIT", @@ -13769,7 +14423,7 @@ "node": ">=8" } }, - "../services/libs/types/node_modules/strip-ansi": { + "../services/libs/sqs/node_modules/strip-ansi": { "version": "6.0.1", "dev": true, "license": "MIT", @@ -13780,7 +14434,7 @@ "node": ">=8" } }, - "../services/libs/types/node_modules/strip-json-comments": { + "../services/libs/sqs/node_modules/strip-json-comments": { "version": "3.1.1", "dev": true, "license": "MIT", @@ -13791,7 +14445,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/types/node_modules/supports-color": { + "../services/libs/sqs/node_modules/strnum": { + "version": "1.0.5", + "license": "MIT" + }, + "../services/libs/sqs/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", @@ -13802,12 +14460,12 @@ "node": ">=8" } }, - "../services/libs/types/node_modules/text-table": { + "../services/libs/sqs/node_modules/text-table": { "version": "0.2.0", "dev": true, "license": "MIT" }, - "../services/libs/types/node_modules/to-regex-range": { + "../services/libs/sqs/node_modules/to-regex-range": { "version": "5.0.1", "dev": true, "license": "MIT", @@ -13818,12 +14476,11 @@ "node": ">=8.0" } }, - "../services/libs/types/node_modules/tslib": { - "version": "1.14.1", - "dev": true, + "../services/libs/sqs/node_modules/tslib": { + "version": "2.5.0", "license": "0BSD" }, - "../services/libs/types/node_modules/tsutils": { + "../services/libs/sqs/node_modules/tsutils": { "version": "3.21.0", "dev": true, "license": "MIT", @@ -13837,7 +14494,12 @@ "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "../services/libs/types/node_modules/type-check": { + "../services/libs/sqs/node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "dev": true, + "license": "0BSD" + }, + "../services/libs/sqs/node_modules/type-check": { "version": "0.4.0", "dev": true, "license": "MIT", @@ -13848,7 +14510,7 @@ "node": ">= 0.8.0" } }, - "../services/libs/types/node_modules/type-fest": { + "../services/libs/sqs/node_modules/type-fest": { "version": "0.20.2", "dev": true, "license": "(MIT OR CC0-1.0)", @@ -13859,7 +14521,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "../services/libs/types/node_modules/typescript": { + "../services/libs/sqs/node_modules/typescript": { "version": "5.0.4", "dev": true, "license": "Apache-2.0", @@ -13871,7 +14533,7 @@ "node": ">=12.20" } }, - "../services/libs/types/node_modules/uri-js": { + "../services/libs/sqs/node_modules/uri-js": { "version": "4.4.1", "dev": true, "license": "BSD-2-Clause", @@ -13879,7 +14541,14 @@ "punycode": "^2.1.0" } }, - "../services/libs/types/node_modules/which": { + "../services/libs/sqs/node_modules/uuid": { + "version": "8.3.2", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "../services/libs/sqs/node_modules/which": { "version": "2.0.2", "dev": true, "license": "ISC", @@ -13893,7 +14562,7 @@ "node": ">= 8" } }, - "../services/libs/types/node_modules/word-wrap": { + "../services/libs/sqs/node_modules/word-wrap": { "version": "1.2.3", "dev": true, "license": "MIT", @@ -13901,17 +14570,17 @@ "node": ">=0.10.0" } }, - "../services/libs/types/node_modules/wrappy": { + "../services/libs/sqs/node_modules/wrappy": { "version": "1.0.2", "dev": true, "license": "ISC" }, - "../services/libs/types/node_modules/yallist": { + "../services/libs/sqs/node_modules/yallist": { "version": "4.0.0", "dev": true, "license": "ISC" }, - "../services/libs/types/node_modules/yocto-queue": { + "../services/libs/sqs/node_modules/yocto-queue": { "version": "0.1.0", "dev": true, "license": "MIT", @@ -13922,2480 +14591,2727 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@actions/core": { - "version": "1.10.0", - "dev": true, - "license": "MIT", + "../services/libs/temporal": { + "name": "@crowd/temporal", + "version": "1.0.0", "dependencies": { - "@actions/http-client": "^2.0.1", - "uuid": "^8.3.2" + "@crowd/logging": "file:../logging", + "@temporalio/client": "~1.8.6" + }, + "devDependencies": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" } }, - "node_modules/@actions/core/node_modules/uuid": { - "version": "8.3.2", + "../services/libs/tracing": { + "name": "@crowd/tracing", + "version": "1.0.0", + "dependencies": { + "@crowd/common": "file:../common", + "@opentelemetry/api": "~1.6.0", + "@opentelemetry/exporter-trace-otlp-grpc": "~0.43.0", + "@opentelemetry/instrumentation-aws-sdk": "~0.36.0", + "@opentelemetry/instrumentation-bunyan": "~0.32.1", + "@opentelemetry/instrumentation-express": "~0.33.1", + "@opentelemetry/instrumentation-http": "~0.43.0", + "@opentelemetry/instrumentation-pg": "^0.36.2", + "@opentelemetry/instrumentation-redis-4": "^0.35.3", + "@opentelemetry/resource-detector-aws": "~1.3.1", + "@opentelemetry/resources": "~1.17.0", + "@opentelemetry/sdk-node": "~0.43.0", + "@opentelemetry/semantic-conventions": "~1.17.0", + "opentelemetry-instrumentation-kafkajs": "~0.39.1", + "opentelemetry-instrumentation-sequelize": "~0.39.1" + }, + "devDependencies": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + } + }, + "../services/libs/types": { + "name": "@crowd/types", + "version": "1.0.0", + "devDependencies": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + } + }, + "../services/libs/types/node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", "dev": true, "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@actions/http-client": { - "version": "2.1.0", + "../services/libs/types/node_modules/@eslint-community/regexpp": { + "version": "4.5.1", "dev": true, "license": "MIT", - "dependencies": { - "tunnel": "^0.0.6" + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", + "../services/libs/types/node_modules/@eslint/eslintrc": { + "version": "2.0.3", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": ">=6.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@apidevtools/openapi-schemas": { - "version": "2.1.0", + "../services/libs/types/node_modules/@eslint/js": { + "version": "8.40.0", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@apidevtools/swagger-methods": { - "version": "3.0.2", + "../services/libs/types/node_modules/@humanwhocodes/config-array": { + "version": "0.11.8", "dev": true, - "license": "MIT" - }, - "node_modules/@aws-crypto/crc32": { - "version": "3.0.0", "license": "Apache-2.0", "dependencies": { - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" } }, - "node_modules/@aws-crypto/crc32/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" - }, - "node_modules/@aws-crypto/ie11-detection": { - "version": "3.0.0", + "../services/libs/types/node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true, "license": "Apache-2.0", - "dependencies": { - "tslib": "^1.11.1" + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" + "../services/libs/types/node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true, + "license": "BSD-3-Clause" }, - "node_modules/@aws-crypto/sha256-browser": { - "version": "3.0.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-crypto/ie11-detection": "^3.0.0", - "@aws-crypto/sha256-js": "^3.0.0", - "@aws-crypto/supports-web-crypto": "^3.0.0", - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" + "../services/libs/types/node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } }, - "node_modules/@aws-crypto/sha256-js": { - "version": "3.0.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@aws-crypto/sha256-js/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" + "../services/libs/types/node_modules/@types/json-schema": { + "version": "7.0.11", + "dev": true, + "license": "MIT" }, - "node_modules/@aws-crypto/supports-web-crypto": { - "version": "3.0.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^1.11.1" - } + "../services/libs/types/node_modules/@types/node": { + "version": "18.16.9", + "dev": true, + "license": "MIT" }, - "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" + "../services/libs/types/node_modules/@types/semver": { + "version": "7.5.0", + "dev": true, + "license": "MIT" }, - "node_modules/@aws-crypto/util": { - "version": "3.0.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.59.5", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/type-utils": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@aws-crypto/util/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" + "../services/libs/types/node_modules/@typescript-eslint/parser": { + "version": "5.59.5", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } }, - "node_modules/@aws-sdk/abort-controller": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/@typescript-eslint/scope-manager": { + "version": "5.59.5", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5" }, "engines": { - "node": ">=14.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@aws-sdk/client-comprehend": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/@typescript-eslint/type-utils": { + "version": "5.59.5", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.357.0", - "@aws-sdk/config-resolver": "3.357.0", - "@aws-sdk/credential-provider-node": "3.357.0", - "@aws-sdk/fetch-http-handler": "3.357.0", - "@aws-sdk/hash-node": "3.357.0", - "@aws-sdk/invalid-dependency": "3.357.0", - "@aws-sdk/middleware-content-length": "3.357.0", - "@aws-sdk/middleware-endpoint": "3.357.0", - "@aws-sdk/middleware-host-header": "3.357.0", - "@aws-sdk/middleware-logger": "3.357.0", - "@aws-sdk/middleware-recursion-detection": "3.357.0", - "@aws-sdk/middleware-retry": "3.357.0", - "@aws-sdk/middleware-serde": "3.357.0", - "@aws-sdk/middleware-signing": "3.357.0", - "@aws-sdk/middleware-stack": "3.357.0", - "@aws-sdk/middleware-user-agent": "3.357.0", - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/node-http-handler": "3.357.0", - "@aws-sdk/smithy-client": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.357.0", - "@aws-sdk/util-defaults-mode-node": "3.357.0", - "@aws-sdk/util-endpoints": "3.357.0", - "@aws-sdk/util-retry": "3.357.0", - "@aws-sdk/util-user-agent-browser": "3.357.0", - "@aws-sdk/util-user-agent-node": "3.357.0", - "@aws-sdk/util-utf8": "3.310.0", - "@smithy/protocol-http": "^1.0.1", - "@smithy/types": "^1.0.0", - "tslib": "^2.5.0", - "uuid": "^8.3.2" + "@typescript-eslint/typescript-estree": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=14.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@aws-sdk/client-comprehend/node_modules/uuid": { - "version": "8.3.2", + "../services/libs/types/node_modules/@typescript-eslint/types": { + "version": "5.59.5", + "dev": true, "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@aws-sdk/client-sso": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.59.5", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.357.0", - "@aws-sdk/fetch-http-handler": "3.357.0", - "@aws-sdk/hash-node": "3.357.0", - "@aws-sdk/invalid-dependency": "3.357.0", - "@aws-sdk/middleware-content-length": "3.357.0", - "@aws-sdk/middleware-endpoint": "3.357.0", - "@aws-sdk/middleware-host-header": "3.357.0", - "@aws-sdk/middleware-logger": "3.357.0", - "@aws-sdk/middleware-recursion-detection": "3.357.0", - "@aws-sdk/middleware-retry": "3.357.0", - "@aws-sdk/middleware-serde": "3.357.0", - "@aws-sdk/middleware-stack": "3.357.0", - "@aws-sdk/middleware-user-agent": "3.357.0", - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/node-http-handler": "3.357.0", - "@aws-sdk/smithy-client": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.357.0", - "@aws-sdk/util-defaults-mode-node": "3.357.0", - "@aws-sdk/util-endpoints": "3.357.0", - "@aws-sdk/util-retry": "3.357.0", - "@aws-sdk/util-user-agent-browser": "3.357.0", - "@aws-sdk/util-user-agent-node": "3.357.0", - "@aws-sdk/util-utf8": "3.310.0", - "@smithy/protocol-http": "^1.0.1", - "@smithy/types": "^1.0.0", - "tslib": "^2.5.0" + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=14.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/@typescript-eslint/utils": { + "version": "5.59.5", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.357.0", - "@aws-sdk/fetch-http-handler": "3.357.0", - "@aws-sdk/hash-node": "3.357.0", - "@aws-sdk/invalid-dependency": "3.357.0", - "@aws-sdk/middleware-content-length": "3.357.0", - "@aws-sdk/middleware-endpoint": "3.357.0", - "@aws-sdk/middleware-host-header": "3.357.0", - "@aws-sdk/middleware-logger": "3.357.0", - "@aws-sdk/middleware-recursion-detection": "3.357.0", - "@aws-sdk/middleware-retry": "3.357.0", - "@aws-sdk/middleware-serde": "3.357.0", - "@aws-sdk/middleware-stack": "3.357.0", - "@aws-sdk/middleware-user-agent": "3.357.0", - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/node-http-handler": "3.357.0", - "@aws-sdk/smithy-client": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.357.0", - "@aws-sdk/util-defaults-mode-node": "3.357.0", - "@aws-sdk/util-endpoints": "3.357.0", - "@aws-sdk/util-retry": "3.357.0", - "@aws-sdk/util-user-agent-browser": "3.357.0", - "@aws-sdk/util-user-agent-node": "3.357.0", - "@aws-sdk/util-utf8": "3.310.0", - "@smithy/protocol-http": "^1.0.1", - "@smithy/types": "^1.0.0", - "tslib": "^2.5.0" + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" }, "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/client-sts": { - "version": "3.357.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.357.0", - "@aws-sdk/credential-provider-node": "3.357.0", - "@aws-sdk/fetch-http-handler": "3.357.0", - "@aws-sdk/hash-node": "3.357.0", - "@aws-sdk/invalid-dependency": "3.357.0", - "@aws-sdk/middleware-content-length": "3.357.0", - "@aws-sdk/middleware-endpoint": "3.357.0", - "@aws-sdk/middleware-host-header": "3.357.0", - "@aws-sdk/middleware-logger": "3.357.0", - "@aws-sdk/middleware-recursion-detection": "3.357.0", - "@aws-sdk/middleware-retry": "3.357.0", - "@aws-sdk/middleware-sdk-sts": "3.357.0", - "@aws-sdk/middleware-serde": "3.357.0", - "@aws-sdk/middleware-signing": "3.357.0", - "@aws-sdk/middleware-stack": "3.357.0", - "@aws-sdk/middleware-user-agent": "3.357.0", - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/node-http-handler": "3.357.0", - "@aws-sdk/smithy-client": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.357.0", - "@aws-sdk/util-defaults-mode-node": "3.357.0", - "@aws-sdk/util-endpoints": "3.357.0", - "@aws-sdk/util-retry": "3.357.0", - "@aws-sdk/util-user-agent-browser": "3.357.0", - "@aws-sdk/util-user-agent-node": "3.357.0", - "@aws-sdk/util-utf8": "3.310.0", - "@smithy/protocol-http": "^1.0.1", - "@smithy/types": "^1.0.0", - "fast-xml-parser": "4.2.4", - "tslib": "^2.5.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/config-resolver": { - "version": "3.357.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-config-provider": "3.310.0", - "@aws-sdk/util-middleware": "3.357.0", - "tslib": "^2.5.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.59.5", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "@typescript-eslint/types": "5.59.5", + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">=14.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@aws-sdk/credential-provider-imds": { - "version": "3.357.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", - "tslib": "^2.5.0" + "../services/libs/types/node_modules/acorn": { + "version": "8.8.2", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">=14.0.0" + "node": ">=0.4.0" } }, - "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.357.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.357.0", - "@aws-sdk/credential-provider-imds": "3.357.0", - "@aws-sdk/credential-provider-process": "3.357.0", - "@aws-sdk/credential-provider-sso": "3.357.0", - "@aws-sdk/credential-provider-web-identity": "3.357.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" + "../services/libs/types/node_modules/acorn-jsx": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/ajv": { + "version": "6.12.6", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/credential-provider-env": "3.357.0", - "@aws-sdk/credential-provider-imds": "3.357.0", - "@aws-sdk/credential-provider-ini": "3.357.0", - "@aws-sdk/credential-provider-process": "3.357.0", - "@aws-sdk/credential-provider-sso": "3.357.0", - "@aws-sdk/credential-provider-web-identity": "3.357.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=14.0.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.357.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, + "../services/libs/types/node_modules/ansi-regex": { + "version": "5.0.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/client-sso": "3.357.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/token-providers": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.357.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, + "../services/libs/types/node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" + }, + "../services/libs/types/node_modules/array-union": { + "version": "2.1.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "node_modules/@aws-sdk/eventstream-codec": { - "version": "3.357.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/crc32": "3.0.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-hex-encoding": "3.310.0", - "tslib": "^2.5.0" - } + "../services/libs/types/node_modules/balanced-match": { + "version": "1.0.2", + "dev": true, + "license": "MIT" }, - "node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/querystring-builder": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "tslib": "^2.5.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@aws-sdk/hash-node": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/braces": { + "version": "3.0.2", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-buffer-from": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" + "fill-range": "^7.0.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "node_modules/@aws-sdk/invalid-dependency": { - "version": "3.357.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "../services/libs/types/node_modules/callsites": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" } }, - "node_modules/@aws-sdk/is-array-buffer": { - "version": "3.310.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.5.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@aws-sdk/middleware-content-length": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=14.0.0" + "node": ">=7.0.0" } }, - "node_modules/@aws-sdk/middleware-endpoint": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../services/libs/types/node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "../services/libs/types/node_modules/cross-spawn": { + "version": "7.0.3", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/middleware-serde": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", - "@aws-sdk/util-middleware": "3.357.0", - "tslib": "^2.5.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=14.0.0" + "node": ">= 8" } }, - "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "ms": "2.1.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/@aws-sdk/middleware-logger": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/deep-is": { + "version": "0.1.4", + "dev": true, + "license": "MIT" + }, + "../services/libs/types/node_modules/dir-glob": { + "version": "3.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "path-type": "^4.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.357.0", + "../services/libs/types/node_modules/doctrine": { + "version": "3.0.0", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "esutils": "^2.0.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.0.0" } }, - "node_modules/@aws-sdk/middleware-retry": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/escape-string-regexp": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../services/libs/types/node_modules/eslint": { + "version": "8.40.0", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/service-error-classification": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-middleware": "3.357.0", - "@aws-sdk/util-retry": "3.357.0", - "tslib": "^2.5.0", - "uuid": "^8.3.2" + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" }, "engines": { - "node": ">=14.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@aws-sdk/middleware-retry/node_modules/uuid": { - "version": "8.3.2", + "../services/libs/types/node_modules/eslint-config-prettier": { + "version": "8.8.0", + "dev": true, "license": "MIT", "bin": { - "uuid": "dist/bin/uuid" + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" } }, - "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/middleware-signing": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "prettier-linter-helpers": "^1.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } } }, - "node_modules/@aws-sdk/middleware-serde": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/eslint-scope": { + "version": "5.1.1", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=8.0.0" } }, - "node_modules/@aws-sdk/middleware-signing": { - "version": "3.357.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/signature-v4": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-middleware": "3.357.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/middleware-stack": { - "version": "3.357.0", + "../services/libs/types/node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "dev": true, "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.5.0" - }, "engines": { - "node": ">=14.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.0", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-endpoints": "3.357.0", - "tslib": "^2.5.0" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": ">=14.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@aws-sdk/node-config-provider": { - "version": "3.357.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, + "../services/libs/types/node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=14.0.0" + "node": ">=4.0" } }, - "node_modules/@aws-sdk/node-http-handler": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/espree": { + "version": "9.5.2", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@aws-sdk/abort-controller": "3.357.0", - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/querystring-builder": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": ">=14.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@aws-sdk/property-provider": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/esquery": { + "version": "1.5.0", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "estraverse": "^5.1.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=0.10" } }, - "node_modules/@aws-sdk/protocol-http": { - "version": "3.357.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, + "../services/libs/types/node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=14.0.0" + "node": ">=4.0" } }, - "node_modules/@aws-sdk/querystring-builder": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/esrecurse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-uri-escape": "3.310.0", - "tslib": "^2.5.0" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=4.0" } }, - "node_modules/@aws-sdk/querystring-parser": { - "version": "3.357.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, + "../services/libs/types/node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=14.0.0" + "node": ">=4.0" } }, - "node_modules/@aws-sdk/s3-request-presigner": { - "version": "3.357.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/middleware-endpoint": "3.357.0", - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/signature-v4-multi-region": "3.357.0", - "@aws-sdk/smithy-client": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-format-url": "3.357.0", - "tslib": "^2.5.0" - }, + "../services/libs/types/node_modules/estraverse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=14.0.0" + "node": ">=4.0" } }, - "node_modules/@aws-sdk/service-error-classification": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/esutils": { + "version": "2.0.3", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=14.0.0" + "node": ">=0.10.0" } }, - "node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/fast-deep-equal": { + "version": "3.1.3", + "dev": true, + "license": "MIT" + }, + "../services/libs/types/node_modules/fast-diff": { + "version": "1.2.0", + "dev": true, + "license": "Apache-2.0" + }, + "../services/libs/types/node_modules/fast-glob": { + "version": "3.2.12", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" }, "engines": { - "node": ">=14.0.0" + "node": ">=8.6.0" } }, - "node_modules/@aws-sdk/signature-v4": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/eventstream-codec": "3.357.0", - "@aws-sdk/is-array-buffer": "3.310.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-hex-encoding": "3.310.0", - "@aws-sdk/util-middleware": "3.357.0", - "@aws-sdk/util-uri-escape": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=14.0.0" + "node": ">= 6" } }, - "node_modules/@aws-sdk/signature-v4-multi-region": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true, + "license": "MIT" + }, + "../services/libs/types/node_modules/fast-levenshtein": { + "version": "2.0.6", + "dev": true, + "license": "MIT" + }, + "../services/libs/types/node_modules/fastq": { + "version": "1.15.0", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/signature-v4": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "@aws-sdk/signature-v4-crt": "^3.118.0" - }, - "peerDependenciesMeta": { - "@aws-sdk/signature-v4-crt": { - "optional": true - } + "reusify": "^1.0.4" } }, - "node_modules/@aws-sdk/smithy-client": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/file-entry-cache": { + "version": "6.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/middleware-stack": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-stream": "3.357.0", - "@smithy/types": "^1.0.0", - "tslib": "^2.5.0" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=14.0.0" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/@aws-sdk/token-providers": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/fill-range": { + "version": "7.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/client-sso-oidc": "3.357.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "node_modules/@aws-sdk/types": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.5.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/url-parser": { - "version": "3.357.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/querystring-parser": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@aws-sdk/util-base64": { - "version": "3.310.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/flat-cache": { + "version": "3.0.4", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/util-buffer-from": "3.310.0", - "tslib": "^2.5.0" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, "engines": { - "node": ">=14.0.0" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/@aws-sdk/util-body-length-browser": { - "version": "3.310.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.5.0" - } + "../services/libs/types/node_modules/flatted": { + "version": "3.2.7", + "dev": true, + "license": "ISC" }, - "node_modules/@aws-sdk/util-body-length-node": { - "version": "3.310.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "../services/libs/types/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", "dependencies": { - "tslib": "^2.5.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@aws-sdk/util-buffer-from": { - "version": "3.310.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/glob-parent": { + "version": "6.0.2", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/is-array-buffer": "3.310.0", - "tslib": "^2.5.0" + "is-glob": "^4.0.3" }, "engines": { - "node": ">=14.0.0" + "node": ">=10.13.0" } }, - "node_modules/@aws-sdk/util-config-provider": { - "version": "3.310.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/globals": { + "version": "13.20.0", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.5.0" + "type-fest": "^0.20.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@aws-sdk/util-defaults-mode-browser": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/globby": { + "version": "11.1.0", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", - "bowser": "^2.11.0", - "tslib": "^2.5.0" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" }, "engines": { - "node": ">= 10.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@aws-sdk/util-defaults-mode-node": { - "version": "3.357.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/config-resolver": "3.357.0", - "@aws-sdk/credential-provider-imds": "3.357.0", - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, + "../services/libs/types/node_modules/grapheme-splitter": { + "version": "1.0.4", + "dev": true, + "license": "MIT" + }, + "../services/libs/types/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 10.0.0" + "node": ">=8" } }, - "node_modules/@aws-sdk/util-endpoints": { - "version": "3.357.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, + "../services/libs/types/node_modules/ignore": { + "version": "5.2.4", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">= 4" } }, - "node_modules/@aws-sdk/util-format-url": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/import-fresh": { + "version": "3.3.0", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/querystring-builder": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@aws-sdk/util-hex-encoding": { - "version": "3.310.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.5.0" - }, + "../services/libs/types/node_modules/imurmurhash": { + "version": "0.1.4", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=0.8.19" } }, - "node_modules/@aws-sdk/util-locate-window": { - "version": "3.310.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "license": "ISC", "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/@aws-sdk/util-middleware": { - "version": "3.357.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.5.0" - }, + "../services/libs/types/node_modules/inherits": { + "version": "2.0.4", + "dev": true, + "license": "ISC" + }, + "../services/libs/types/node_modules/is-extglob": { + "version": "2.1.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=0.10.0" } }, - "node_modules/@aws-sdk/util-retry": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/is-glob": { + "version": "4.0.3", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/service-error-classification": "3.357.0", - "tslib": "^2.5.0" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">= 14.0.0" + "node": ">=0.10.0" } }, - "node_modules/@aws-sdk/util-stream": { - "version": "3.357.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/fetch-http-handler": "3.357.0", - "@aws-sdk/node-http-handler": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-buffer-from": "3.310.0", - "@aws-sdk/util-hex-encoding": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" - }, + "../services/libs/types/node_modules/is-number": { + "version": "7.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=0.12.0" } }, - "node_modules/@aws-sdk/util-uri-escape": { - "version": "3.310.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.5.0" - }, + "../services/libs/types/node_modules/is-path-inside": { + "version": "3.0.3", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.357.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.357.0", - "bowser": "^2.11.0", - "tslib": "^2.5.0" + "../services/libs/types/node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "../services/libs/types/node_modules/js-sdsl": { + "version": "4.4.0", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" } }, - "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.357.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/js-yaml": { + "version": "4.1.0", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "aws-crt": ">=1.0.0" + "argparse": "^2.0.1" }, - "peerDependenciesMeta": { - "aws-crt": { - "optional": true - } + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@aws-sdk/util-utf8": { - "version": "3.310.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT" + }, + "../services/libs/types/node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "../services/libs/types/node_modules/levn": { + "version": "0.4.1", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/util-buffer-from": "3.310.0", - "tslib": "^2.5.0" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": ">=14.0.0" + "node": ">= 0.8.0" } }, - "node_modules/@aws-sdk/util-utf8-browser": { - "version": "3.259.0", - "license": "Apache-2.0", + "../services/libs/types/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.3.1" + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/code-frame": { - "version": "7.22.5", + "../services/libs/types/node_modules/lodash.merge": { + "version": "4.6.2", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "../services/libs/types/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", "dependencies": { - "@babel/highlight": "^7.22.5" + "yallist": "^4.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=10" } }, - "node_modules/@babel/compat-data": { - "version": "7.22.5", + "../services/libs/types/node_modules/merge2": { + "version": "1.4.1", "dev": true, "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">= 8" } }, - "node_modules/@babel/core": { - "version": "7.22.5", + "../services/libs/types/node_modules/micromatch": { + "version": "4.0.5", "dev": true, "license": "MIT", "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helpers": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "node": ">=8.6" } }, - "node_modules/@babel/generator": { - "version": "7.22.5", + "../services/libs/types/node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@babel/types": "^7.22.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=6.9.0" + "node": "*" } }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", + "../services/libs/types/node_modules/ms": { + "version": "2.1.2", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "../services/libs/types/node_modules/natural-compare": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "../services/libs/types/node_modules/natural-compare-lite": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "../services/libs/types/node_modules/once": { + "version": "1.4.0", + "dev": true, + "license": "ISC", "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "wrappy": "1" } }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.5", + "../services/libs/types/node_modules/optionator": { + "version": "0.9.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" }, "engines": { - "node": ">=6.9.0" + "node": ">= 0.8.0" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.5", + "../services/libs/types/node_modules/p-limit": { + "version": "3.1.0", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.5", + "../services/libs/types/node_modules/p-locate": { + "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "semver": "^6.3.0" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.5", + "../services/libs/types/node_modules/parent-module": { + "version": "1.0.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.0" + "callsites": "^3.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=6" } }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.0", + "../services/libs/types/node_modules/path-exists": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" + "engines": { + "node": ">=8" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.5", + "../services/libs/types/node_modules/path-is-absolute": { + "version": "1.0.1", "dev": true, "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=0.10.0" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.22.5", + "../services/libs/types/node_modules/path-key": { + "version": "3.1.1", "dev": true, "license": "MIT", - "dependencies": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" - }, "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", + "../services/libs/types/node_modules/path-type": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.22.5", + "../services/libs/types/node_modules/picomatch": { + "version": "2.3.1", "dev": true, "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, "engines": { - "node": ">=6.9.0" + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.5", + "../services/libs/types/node_modules/prelude-ls": { + "version": "1.2.1", "dev": true, "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, "engines": { - "node": ">=6.9.0" + "node": ">= 0.8.0" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.22.5", + "../services/libs/types/node_modules/prettier": { + "version": "2.8.8", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" + "bin": { + "prettier": "bin-prettier.js" }, "engines": { - "node": ">=6.9.0" + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", + "../services/libs/types/node_modules/prettier-linter-helpers": { + "version": "1.0.0", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "fast-diff": "^1.1.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=6.0.0" } }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", + "../services/libs/types/node_modules/punycode": { + "version": "2.3.0", "dev": true, "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=6" } }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.5", + "../services/libs/types/node_modules/queue-microtask": { + "version": "1.2.3", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "../services/libs/types/node_modules/resolve-from": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-wrap-function": "^7.22.5", - "@babel/types": "^7.22.5" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=4" } }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.22.5", + "../services/libs/types/node_modules/reusify": { + "version": "1.0.4", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - }, "engines": { - "node": ">=6.9.0" + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", + "../services/libs/types/node_modules/rimraf": { + "version": "3.0.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@babel/types": "^7.22.5" + "glob": "^7.1.3" }, - "engines": { - "node": ">=6.9.0" + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", + "../services/libs/types/node_modules/run-parallel": { + "version": "1.2.0", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "queue-microtask": "^1.2.2" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.5", + "../services/libs/types/node_modules/semver": { + "version": "7.5.1", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@babel/types": "^7.22.5" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=6.9.0" + "node": ">=10" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", + "../services/libs/types/node_modules/shebang-command": { + "version": "2.0.0", "dev": true, "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.5", + "../services/libs/types/node_modules/shebang-regex": { + "version": "3.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.22.5", + "../services/libs/types/node_modules/slash": { + "version": "3.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.22.5", + "../services/libs/types/node_modules/strip-ansi": { + "version": "6.0.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/helpers": { - "version": "7.22.5", + "../services/libs/types/node_modules/strip-json-comments": { + "version": "3.1.1", "dev": true, "license": "MIT", - "dependencies": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - }, "engines": { - "node": ">=6.9.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/highlight": { - "version": "7.22.5", + "../services/libs/types/node_modules/supports-color": { + "version": "7.2.0", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/parser": { - "version": "7.22.5", + "../services/libs/types/node_modules/text-table": { + "version": "0.2.0", "dev": true, - "license": "MIT", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } + "license": "MIT" }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.5", + "../services/libs/types/node_modules/to-regex-range": { + "version": "5.0.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "is-number": "^7.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=8.0" } }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.5", + "../services/libs/types/node_modules/tslib": { + "version": "1.14.1", + "dev": true, + "license": "0BSD" + }, + "../services/libs/types/node_modules/tsutils": { + "version": "3.21.0", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5" + "tslib": "^1.8.1" }, "engines": { - "node": ">=6.9.0" + "node": ">= 6" }, "peerDependencies": { - "@babel/core": "^7.13.0" + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", + "../services/libs/types/node_modules/type-check": { + "version": "0.4.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=6.9.0" + "dependencies": { + "prelude-ls": "^1.2.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", + "../services/libs/types/node_modules/type-fest": { + "version": "0.20.2", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=4" + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", + "../services/libs/types/node_modules/typescript": { + "version": "5.0.4", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=12.20" } }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", + "../services/libs/types/node_modules/uri-js": { + "version": "4.4.1", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "punycode": "^2.1.0" } }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", + "../services/libs/types/node_modules/which": { + "version": "2.0.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "isexe": "^2.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", + "../services/libs/types/node_modules/word-wrap": { + "version": "1.2.3", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=0.10.0" } }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", + "../services/libs/types/node_modules/wrappy": { + "version": "1.0.2", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "license": "ISC" }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", + "../services/libs/types/node_modules/yallist": { + "version": "4.0.0", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "license": "ISC" }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", + "../services/libs/types/node_modules/yocto-queue": { + "version": "0.1.0", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, "engines": { - "node": ">=6.9.0" + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", + "node_modules/@actions/core": { + "version": "1.10.0", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@actions/http-client": "^2.0.1", + "uuid": "^8.3.2" } }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", + "node_modules/@actions/core/node_modules/uuid": { + "version": "8.3.2", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", + "node_modules/@actions/http-client": { + "version": "2.1.0", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "tunnel": "^0.0.6" } }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", + "node_modules/@ampproject/remapping": { + "version": "2.2.1", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", + "node_modules/@apidevtools/openapi-schemas": { + "version": "2.1.0", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=10" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", + "node_modules/@apidevtools/swagger-methods": { + "version": "3.0.2", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "license": "MIT" }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "dev": true, - "license": "MIT", + "node_modules/@aws-crypto/crc32": { + "version": "3.0.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "node_modules/@aws-crypto/crc32/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "dev": true, - "license": "MIT", + "node_modules/@aws-crypto/ie11-detection": { + "version": "3.0.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "tslib": "^1.11.1" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "dev": true, - "license": "MIT", + "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "node_modules/@aws-crypto/sha256-browser": { + "version": "3.0.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@aws-crypto/ie11-detection": "^3.0.0", + "@aws-crypto/sha256-js": "^3.0.0", + "@aws-crypto/supports-web-crypto": "^3.0.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" } }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "node_modules/@aws-crypto/sha256-js": { + "version": "3.0.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "3.0.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "tslib": "^1.11.1" } }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "node_modules/@aws-crypto/util": { + "version": "3.0.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" } }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "dev": true, - "license": "MIT", + "node_modules/@aws-crypto/util/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "node_modules/@aws-sdk/abort-controller": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/client-comprehend": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.357.0", + "@aws-sdk/config-resolver": "3.357.0", + "@aws-sdk/credential-provider-node": "3.357.0", + "@aws-sdk/fetch-http-handler": "3.357.0", + "@aws-sdk/hash-node": "3.357.0", + "@aws-sdk/invalid-dependency": "3.357.0", + "@aws-sdk/middleware-content-length": "3.357.0", + "@aws-sdk/middleware-endpoint": "3.357.0", + "@aws-sdk/middleware-host-header": "3.357.0", + "@aws-sdk/middleware-logger": "3.357.0", + "@aws-sdk/middleware-recursion-detection": "3.357.0", + "@aws-sdk/middleware-retry": "3.357.0", + "@aws-sdk/middleware-serde": "3.357.0", + "@aws-sdk/middleware-signing": "3.357.0", + "@aws-sdk/middleware-stack": "3.357.0", + "@aws-sdk/middleware-user-agent": "3.357.0", + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/node-http-handler": "3.357.0", + "@aws-sdk/smithy-client": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.357.0", + "@aws-sdk/util-defaults-mode-node": "3.357.0", + "@aws-sdk/util-endpoints": "3.357.0", + "@aws-sdk/util-retry": "3.357.0", + "@aws-sdk/util-user-agent-browser": "3.357.0", + "@aws-sdk/util-user-agent-node": "3.357.0", + "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0", + "uuid": "^8.3.2" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.22.5", - "dev": true, + "node_modules/@aws-sdk/client-comprehend/node_modules/uuid": { + "version": "8.3.2", "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/client-sso": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5" + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/config-resolver": "3.357.0", + "@aws-sdk/fetch-http-handler": "3.357.0", + "@aws-sdk/hash-node": "3.357.0", + "@aws-sdk/invalid-dependency": "3.357.0", + "@aws-sdk/middleware-content-length": "3.357.0", + "@aws-sdk/middleware-endpoint": "3.357.0", + "@aws-sdk/middleware-host-header": "3.357.0", + "@aws-sdk/middleware-logger": "3.357.0", + "@aws-sdk/middleware-recursion-detection": "3.357.0", + "@aws-sdk/middleware-retry": "3.357.0", + "@aws-sdk/middleware-serde": "3.357.0", + "@aws-sdk/middleware-stack": "3.357.0", + "@aws-sdk/middleware-user-agent": "3.357.0", + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/node-http-handler": "3.357.0", + "@aws-sdk/smithy-client": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.357.0", + "@aws-sdk/util-defaults-mode-node": "3.357.0", + "@aws-sdk/util-endpoints": "3.357.0", + "@aws-sdk/util-retry": "3.357.0", + "@aws-sdk/util-user-agent-browser": "3.357.0", + "@aws-sdk/util-user-agent-node": "3.357.0", + "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/config-resolver": "3.357.0", + "@aws-sdk/fetch-http-handler": "3.357.0", + "@aws-sdk/hash-node": "3.357.0", + "@aws-sdk/invalid-dependency": "3.357.0", + "@aws-sdk/middleware-content-length": "3.357.0", + "@aws-sdk/middleware-endpoint": "3.357.0", + "@aws-sdk/middleware-host-header": "3.357.0", + "@aws-sdk/middleware-logger": "3.357.0", + "@aws-sdk/middleware-recursion-detection": "3.357.0", + "@aws-sdk/middleware-retry": "3.357.0", + "@aws-sdk/middleware-serde": "3.357.0", + "@aws-sdk/middleware-stack": "3.357.0", + "@aws-sdk/middleware-user-agent": "3.357.0", + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/node-http-handler": "3.357.0", + "@aws-sdk/smithy-client": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.357.0", + "@aws-sdk/util-defaults-mode-node": "3.357.0", + "@aws-sdk/util-endpoints": "3.357.0", + "@aws-sdk/util-retry": "3.357.0", + "@aws-sdk/util-user-agent-browser": "3.357.0", + "@aws-sdk/util-user-agent-node": "3.357.0", + "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/client-sts": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/config-resolver": "3.357.0", + "@aws-sdk/credential-provider-node": "3.357.0", + "@aws-sdk/fetch-http-handler": "3.357.0", + "@aws-sdk/hash-node": "3.357.0", + "@aws-sdk/invalid-dependency": "3.357.0", + "@aws-sdk/middleware-content-length": "3.357.0", + "@aws-sdk/middleware-endpoint": "3.357.0", + "@aws-sdk/middleware-host-header": "3.357.0", + "@aws-sdk/middleware-logger": "3.357.0", + "@aws-sdk/middleware-recursion-detection": "3.357.0", + "@aws-sdk/middleware-retry": "3.357.0", + "@aws-sdk/middleware-sdk-sts": "3.357.0", + "@aws-sdk/middleware-serde": "3.357.0", + "@aws-sdk/middleware-signing": "3.357.0", + "@aws-sdk/middleware-stack": "3.357.0", + "@aws-sdk/middleware-user-agent": "3.357.0", + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/node-http-handler": "3.357.0", + "@aws-sdk/smithy-client": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.357.0", + "@aws-sdk/util-defaults-mode-node": "3.357.0", + "@aws-sdk/util-endpoints": "3.357.0", + "@aws-sdk/util-retry": "3.357.0", + "@aws-sdk/util-user-agent-browser": "3.357.0", + "@aws-sdk/util-user-agent-node": "3.357.0", + "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", + "fast-xml-parser": "4.2.4", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/config-resolver": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-config-provider": "3.310.0", + "@aws-sdk/util-middleware": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/credential-provider-imds": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "globals": "^11.1.0" + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" + "@aws-sdk/credential-provider-env": "3.357.0", + "@aws-sdk/credential-provider-imds": "3.357.0", + "@aws-sdk/credential-provider-process": "3.357.0", + "@aws-sdk/credential-provider-sso": "3.357.0", + "@aws-sdk/credential-provider-web-identity": "3.357.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/credential-provider-env": "3.357.0", + "@aws-sdk/credential-provider-imds": "3.357.0", + "@aws-sdk/credential-provider-ini": "3.357.0", + "@aws-sdk/credential-provider-process": "3.357.0", + "@aws-sdk/credential-provider-sso": "3.357.0", + "@aws-sdk/credential-provider-web-identity": "3.357.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/client-sso": "3.357.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/token-providers": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/eventstream-codec": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@aws-crypto/crc32": "3.0.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-hex-encoding": "3.310.0", + "tslib": "^2.5.0" } }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/fetch-http-handler": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/querystring-builder": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-base64": "3.310.0", + "tslib": "^2.5.0" } }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/hash-node": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-buffer-from": "3.310.0", + "@aws-sdk/util-utf8": "3.310.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/invalid-dependency": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/is-array-buffer": { + "version": "3.310.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/middleware-content-length": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/middleware-endpoint": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "@aws-sdk/middleware-serde": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", + "@aws-sdk/util-middleware": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/middleware-retry": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5" + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/service-error-classification": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-middleware": "3.357.0", + "@aws-sdk/util-retry": "3.357.0", + "tslib": "^2.5.0", + "uuid": "^8.3.2" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "dev": true, + "node_modules/@aws-sdk/middleware-retry/node_modules/uuid": { + "version": "8.3.2", "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@aws-sdk/middleware-sdk-sts": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/middleware-signing": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/middleware-serde": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/middleware-signing": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/signature-v4": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-middleware": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/middleware-stack": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-endpoints": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/node-config-provider": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.5" + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/node-http-handler": { + "version": "3.357.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/abort-controller": "3.357.0", + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/querystring-builder": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/property-provider": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/protocol-http": { + "version": "3.357.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/querystring-builder": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-uri-escape": "3.310.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/querystring-parser": { + "version": "3.357.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/s3-request-presigner": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "@aws-sdk/middleware-endpoint": "3.357.0", + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/signature-v4-multi-region": "3.357.0", + "@aws-sdk/smithy-client": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-format-url": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/service-error-classification": { + "version": "3.357.0", + "license": "Apache-2.0", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/shared-ini-file-loader": { + "version": "3.357.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/signature-v4": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/eventstream-codec": "3.357.0", + "@aws-sdk/is-array-buffer": "3.310.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-hex-encoding": "3.310.0", + "@aws-sdk/util-middleware": "3.357.0", + "@aws-sdk/util-uri-escape": "3.310.0", + "@aws-sdk/util-utf8": "3.310.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/signature-v4-multi-region": { + "version": "3.357.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/signature-v4": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@aws-sdk/signature-v4-crt": "^3.118.0" + }, + "peerDependenciesMeta": { + "@aws-sdk/signature-v4-crt": { + "optional": true + } } }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/smithy-client": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/middleware-stack": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-stream": "3.357.0", + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/token-providers": { + "version": "3.357.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/client-sso-oidc": "3.357.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/types": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/url-parser": { + "version": "3.357.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/querystring-parser": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@aws-sdk/util-base64": { + "version": "3.310.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/util-buffer-from": "3.310.0", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/util-body-length-browser": { + "version": "3.310.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "tslib": "^2.5.0" + } + }, + "node_modules/@aws-sdk/util-body-length-node": { + "version": "3.310.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-buffer-from": { + "version": "3.310.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/is-array-buffer": "3.310.0", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/util-config-provider": { + "version": "3.310.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.1" + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-defaults-mode-browser": { + "version": "3.357.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", + "bowser": "^2.11.0", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">= 10.0.0" } }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/util-defaults-mode-node": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/config-resolver": "3.357.0", + "@aws-sdk/credential-provider-imds": "3.357.0", + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.357.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/util-format-url": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/querystring-builder": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-hex-encoding": { + "version": "3.310.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.310.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-middleware": { + "version": "3.357.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/util-retry": { + "version": "3.357.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/service-error-classification": "3.357.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">= 14.0.0" + } + }, + "node_modules/@aws-sdk/util-stream": { + "version": "3.357.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/fetch-http-handler": "3.357.0", + "@aws-sdk/node-http-handler": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-buffer-from": "3.310.0", + "@aws-sdk/util-hex-encoding": "3.310.0", + "@aws-sdk/util-utf8": "3.310.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-uri-escape": { + "version": "3.310.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.357.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.357.0", + "bowser": "^2.11.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.357.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } } }, - "node_modules/@babel/plugin-transform-template-literals": { + "node_modules/@aws-sdk/util-utf8": { + "version": "3.310.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/util-buffer-from": "3.310.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-utf8-browser": { + "version": "3.259.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.3.1" + } + }, + "node_modules/@babel/code-frame": { "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/highlight": "^7.22.5" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-typeof-symbol": { + "node_modules/@babel/compat-data": { "version": "7.22.5", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-typescript": { + "node_modules/@babel/core": { "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.22.5" + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/plugin-transform-unicode-escapes": { + "node_modules/@babel/generator": { "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/types": "^7.22.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { + "node_modules/@babel/helper-annotate-as-pure": { "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-unicode-regex": { + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "node_modules/@babel/helper-compilation-targets": { "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/compat-data": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" @@ -16404,2017 +17320,2037 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/preset-env": { + "node_modules/@babel/helper-create-class-features-plugin": { "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.22.5", - "@babel/plugin-syntax-import-attributes": "^7.22.5", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.22.5", - "@babel/plugin-transform-async-generator-functions": "^7.22.5", - "@babel/plugin-transform-async-to-generator": "^7.22.5", - "@babel/plugin-transform-block-scoped-functions": "^7.22.5", - "@babel/plugin-transform-block-scoping": "^7.22.5", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.5", - "@babel/plugin-transform-classes": "^7.22.5", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.22.5", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.5", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.5", - "@babel/plugin-transform-for-of": "^7.22.5", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.5", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-modules-systemjs": "^7.22.5", - "@babel/plugin-transform-modules-umd": "^7.22.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.22.5", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", - "@babel/plugin-transform-numeric-separator": "^7.22.5", - "@babel/plugin-transform-object-rest-spread": "^7.22.5", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.5", - "@babel/plugin-transform-property-literals": "^7.22.5", - "@babel/plugin-transform-regenerator": "^7.22.5", - "@babel/plugin-transform-reserved-words": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/plugin-transform-spread": "^7.22.5", - "@babel/plugin-transform-sticky-regex": "^7.22.5", - "@babel/plugin-transform-template-literals": "^7.22.5", - "@babel/plugin-transform-typeof-symbol": "^7.22.5", - "@babel/plugin-transform-unicode-escapes": "^7.22.5", - "@babel/plugin-transform-unicode-property-regex": "^7.22.5", - "@babel/plugin-transform-unicode-regex": "^7.22.5", - "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.3", - "babel-plugin-polyfill-corejs3": "^0.8.1", - "babel-plugin-polyfill-regenerator": "^0.5.0", - "core-js-compat": "^3.30.2", + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/preset-modules": { - "version": "0.1.5", + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/preset-typescript": { - "version": "7.22.5", + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.0", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-typescript": "^7.22.5" + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.5", + "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", + "node_modules/@babel/helper-function-name": { + "version": "7.22.5", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@babel/runtime": { + "node_modules/@babel/helper-hoist-variables": { "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "regenerator-runtime": "^0.13.11" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/template": { + "node_modules/@babel/helper-member-expression-to-functions": { "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/traverse": { + "node_modules/@babel/helper-module-imports": { "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5", - "debug": "^4.1.0", - "globals": "^11.1.0" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/types": { + "node_modules/@babel/helper-module-transforms": { "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", "@babel/helper-validator-identifier": "^7.22.5", - "to-fast-properties": "^2.0.0" + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", "dev": true, - "license": "MIT" - }, - "node_modules/@crowd/alerting": { - "resolved": "../services/libs/alerting", - "link": true - }, - "node_modules/@crowd/common": { - "resolved": "../services/libs/common", - "link": true - }, - "node_modules/@crowd/feature-flags": { - "resolved": "../services/libs/feature-flags", - "link": true - }, - "node_modules/@crowd/httpclients": { - "resolved": "../services/libs/httpclients", - "link": true - }, - "node_modules/@crowd/integrations": { - "resolved": "../services/libs/integrations", - "link": true - }, - "node_modules/@crowd/logging": { - "resolved": "../services/libs/logging", - "link": true - }, - "node_modules/@crowd/opensearch": { - "resolved": "../services/libs/opensearch", - "link": true - }, - "node_modules/@crowd/redis": { - "resolved": "../services/libs/redis", - "link": true - }, - "node_modules/@crowd/sqs": { - "resolved": "../services/libs/sqs", - "link": true - }, - "node_modules/@crowd/temporal": { - "resolved": "../services/libs/temporal", - "link": true - }, - "node_modules/@crowd/tracing": { - "resolved": "../services/libs/tracing", - "link": true - }, - "node_modules/@crowd/types": { - "resolved": "../services/libs/types", - "link": true + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@cspotcode/source-map-consumer": { - "version": "0.8.0", + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "engines": { - "node": ">= 12" + "node": ">=6.9.0" } }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.7.0", + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@cspotcode/source-map-consumer": "0.8.0" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-wrap-function": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@cubejs-client/core": { - "version": "0.30.74", + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.5", + "dev": true, "license": "MIT", "dependencies": { - "core-js": "^3.6.5", - "cross-fetch": "^3.0.2", - "dayjs": "^1.10.4", - "ramda": "^0.27.0", - "url-search-params-polyfill": "^7.0.0", - "uuid": "^8.3.2" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@cubejs-client/core/node_modules/uuid": { - "version": "8.3.2", + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "dev": true, "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/@discordjs/builders": { - "version": "1.6.3", - "license": "Apache-2.0", "dependencies": { - "@discordjs/formatters": "^0.3.1", - "@discordjs/util": "^0.3.1", - "@sapphire/shapeshift": "^3.8.2", - "discord-api-types": "^0.37.41", - "fast-deep-equal": "^3.1.3", - "ts-mixer": "^6.0.3", - "tslib": "^2.5.0" + "@babel/types": "^7.22.5" }, "engines": { - "node": ">=16.9.0" + "node": ">=6.9.0" } }, - "node_modules/@discordjs/collection": { - "version": "1.5.1", - "license": "Apache-2.0", + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, "engines": { - "node": ">=16.9.0" + "node": ">=6.9.0" } }, - "node_modules/@discordjs/formatters": { - "version": "0.3.1", - "license": "Apache-2.0", + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.5", + "dev": true, + "license": "MIT", "dependencies": { - "discord-api-types": "^0.37.41" + "@babel/types": "^7.22.5" }, "engines": { - "node": ">=16.9.0" + "node": ">=6.9.0" } }, - "node_modules/@discordjs/rest": { - "version": "1.7.1", - "license": "Apache-2.0", - "dependencies": { - "@discordjs/collection": "^1.5.1", - "@discordjs/util": "^0.3.0", - "@sapphire/async-queue": "^1.5.0", - "@sapphire/snowflake": "^3.4.2", - "discord-api-types": "^0.37.41", - "file-type": "^18.3.0", - "tslib": "^2.5.0", - "undici": "^5.22.0" - }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "dev": true, + "license": "MIT", "engines": { - "node": ">=16.9.0" + "node": ">=6.9.0" } }, - "node_modules/@discordjs/util": { - "version": "0.3.1", - "license": "Apache-2.0", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.5", + "dev": true, + "license": "MIT", "engines": { - "node": ">=16.9.0" + "node": ">=6.9.0" } }, - "node_modules/@discordjs/ws": { - "version": "0.8.3", - "license": "Apache-2.0", - "dependencies": { - "@discordjs/collection": "^1.5.1", - "@discordjs/rest": "^1.7.1", - "@discordjs/util": "^0.3.1", - "@sapphire/async-queue": "^1.5.0", - "@types/ws": "^8.5.4", - "@vladfrangu/async_event_emitter": "^2.2.1", - "discord-api-types": "^0.37.41", - "tslib": "^2.5.0", - "ws": "^8.13.0" - }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.5", + "dev": true, + "license": "MIT", "engines": { - "node": ">=16.9.0" + "node": ">=6.9.0" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "node": ">=6.9.0" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.5.1", + "node_modules/@babel/helpers": { + "version": "7.22.5", "dev": true, "license": "MIT", + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + }, "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=6.9.0" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.0.3", + "node_modules/@babel/highlight": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.2", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=6.9.0" } }, - "node_modules/@eslint/eslintrc/node_modules/ajv": { - "version": "6.12.6", + "node_modules/@babel/parser": { + "version": "7.22.5", "dev": true, "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "bin": { + "parser": "bin/babel-parser.js" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.20.0", + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "type-fest": "^0.20.2" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.5", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5" + }, "engines": { - "node": ">=10" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/core": "^7.13.0" } }, - "node_modules/@eslint/js": { - "version": "8.43.0", + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", "dev": true, "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@exodus/schemasafe": { - "version": "1.0.1", + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", "dev": true, - "license": "MIT" - }, - "node_modules/@google-cloud/common": { - "version": "3.10.0", - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@google-cloud/projectify": "^2.0.0", - "@google-cloud/promisify": "^2.0.0", - "arrify": "^2.0.1", - "duplexify": "^4.1.1", - "ent": "^2.2.0", - "extend": "^3.0.2", - "google-auth-library": "^7.14.0", - "retry-request": "^4.2.2", - "teeny-request": "^7.0.0" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { - "node": ">=10" + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@google-cloud/common/node_modules/duplexify": { - "version": "4.1.2", + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "dev": true, "license": "MIT", "dependencies": { - "end-of-stream": "^1.4.1", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1", - "stream-shift": "^1.0.0" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@google-cloud/paginator": { - "version": "3.0.7", - "license": "Apache-2.0", - "dependencies": { - "arrify": "^2.0.0", - "extend": "^3.0.2" + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@google-cloud/projectify": { - "version": "2.1.1", - "license": "Apache-2.0", - "engines": { - "node": ">=10" + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@google-cloud/promisify": { - "version": "2.0.4", - "license": "Apache-2.0", + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, "engines": { - "node": ">=10" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@google-cloud/storage": { - "version": "5.3.0", - "license": "Apache-2.0", + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "dev": true, + "license": "MIT", "dependencies": { - "@google-cloud/common": "^3.3.0", - "@google-cloud/paginator": "^3.0.0", - "@google-cloud/promisify": "^2.0.0", - "arrify": "^2.0.0", - "compressible": "^2.0.12", - "concat-stream": "^2.0.0", - "date-and-time": "^0.14.0", - "duplexify": "^3.5.0", - "extend": "^3.0.2", - "gaxios": "^3.0.0", - "gcs-resumable-upload": "^3.1.0", - "hash-stream-validation": "^0.2.2", - "mime": "^2.2.0", - "mime-types": "^2.0.8", - "onetime": "^5.1.0", - "p-limit": "^3.0.1", - "pumpify": "^2.0.0", - "snakeize": "^0.1.0", - "stream-events": "^1.0.1", - "xdg-basedir": "^4.0.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "@babel/helper-plugin-utils": "^7.8.3" }, - "engines": { - "node": ">=10.10.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=12.22" + "node": ">=6.9.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@humanwhocodes/momoa": { - "version": "2.0.4", + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=10.10.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", "dev": true, "license": "MIT", "dependencies": { - "sprintf-js": "~1.0.2" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", "dev": true, "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "@babel/helper-plugin-utils": "^7.10.4" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", "dev": true, "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", "dev": true, "license": "MIT", "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" + "@babel/helper-plugin-utils": "^7.10.4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", "dev": true, "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": { - "version": "1.0.3", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/console": { - "version": "29.5.0", + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0", - "slash": "^3.0.0" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/console/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/console/node_modules/chalk": { - "version": "4.1.2", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=10" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/console/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { - "node": ">=7.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@jest/console/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/console/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", "dev": true, "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/console/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core": { - "version": "29.5.0", + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "^29.5.0", - "@jest/reporters": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.5.0", - "jest-config": "^29.5.0", - "jest-haste-map": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.5.0", - "jest-resolve-dependencies": "^29.5.0", - "jest-runner": "^29.5.0", - "jest-runtime": "^29.5.0", - "jest-snapshot": "^29.5.0", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", - "jest-watcher": "^29.5.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.5.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.2", + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=10" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=7.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/core/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.5", "dev": true, "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" } }, - "node_modules/@jest/core/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/@babel/plugin-transform-classes": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "globals": "^11.1.0" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/environment": { - "version": "29.5.0", + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@jest/fake-timers": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "jest-mock": "^29.5.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/expect": { - "version": "29.5.0", + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "expect": "^29.5.0", - "jest-snapshot": "^29.5.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/expect-utils": { - "version": "29.5.0", + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "jest-get-type": "^29.4.3" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/fake-timers": { - "version": "29.5.0", + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^29.5.0", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.5.0", - "jest-mock": "^29.5.0", - "jest-util": "^29.5.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/globals": { - "version": "29.5.0", + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^29.5.0", - "@jest/expect": "^29.5.0", - "@jest/types": "^29.5.0", - "jest-mock": "^29.5.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/reporters": { - "version": "29.5.0", + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@jridgewell/trace-mapping": "^0.3.15", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0", - "jest-worker": "^29.5.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/reporters/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/reporters/node_modules/chalk": { - "version": "4.1.2", + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=10" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/reporters/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=7.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/reporters/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/reporters/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.22.5", "dev": true, "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/reporters/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/schemas": { - "version": "29.4.3", + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@sinclair/typebox": "^0.25.16" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/source-map": { - "version": "29.4.3", + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.15", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/test-result": { - "version": "29.5.0", + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/test-sequencer": { - "version": "29.5.0", + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@jest/test-result": "^29.5.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", - "slash": "^3.0.0" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/transform": { - "version": "29.5.0", + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.5.0", - "@jridgewell/trace-mapping": "^0.3.15", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.5.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/transform/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=10" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@jest/transform/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=7.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/transform/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/transform/node_modules/convert-source-map": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/transform/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.5", "dev": true, "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/transform/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/transform/node_modules/write-file-atomic": { - "version": "4.0.2", + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.5", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.5" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/types": { - "version": "29.5.0", + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@jest/schemas": "^29.4.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { - "node": ">=10" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/types/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=7.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/types/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.22.5", "dev": true, "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=6.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.22.5", "dev": true, "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.1" + }, "engines": { - "node": ">=6.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.22.5", "dev": true, "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=6.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "dev": true, - "license": "MIT" - }, - "node_modules/@jsdevtools/ono": { - "version": "7.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", + "node_modules/@babel/plugin-transform-spread": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { - "node": ">= 8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", "dev": true, "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">= 8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.22.5", "dev": true, "license": "MIT", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">= 8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@octokit/auth-app": { - "version": "3.6.1", + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/auth-oauth-app": "^4.3.0", - "@octokit/auth-oauth-user": "^1.2.3", - "@octokit/request": "^5.6.0", - "@octokit/request-error": "^2.1.0", - "@octokit/types": "^6.0.3", - "@types/lru-cache": "^5.1.0", - "deprecation": "^2.3.1", - "lru-cache": "^6.0.0", - "universal-github-app-jwt": "^1.0.1", - "universal-user-agent": "^6.0.0" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@octokit/auth-app/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.22.5", + "dev": true, + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.22.5" }, "engines": { - "node": ">=10" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@octokit/auth-app/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, - "node_modules/@octokit/auth-oauth-app": { - "version": "4.3.4", + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.22.5", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/auth-oauth-device": "^3.1.1", - "@octokit/auth-oauth-user": "^2.0.0", - "@octokit/request": "^5.6.3", - "@octokit/types": "^6.0.3", - "@types/btoa-lite": "^1.0.0", - "btoa-lite": "^1.0.0", - "universal-user-agent": "^6.0.0" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/auth-oauth-user": { - "version": "2.1.2", + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/auth-oauth-device": "^4.0.0", - "@octokit/oauth-methods": "^2.0.0", - "@octokit/request": "^6.0.0", - "@octokit/types": "^9.0.0", - "btoa-lite": "^1.0.0", - "universal-user-agent": "^6.0.0" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">= 14" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/auth-oauth-device": { - "version": "4.0.5", + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/oauth-methods": "^2.0.0", - "@octokit/request": "^6.0.0", - "@octokit/types": "^9.0.0", - "universal-user-agent": "^6.0.0" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">= 14" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request": { - "version": "6.2.8", + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/endpoint": "^7.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">= 14" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/types": { - "version": "9.3.2", + "node_modules/@babel/preset-env": { + "version": "7.22.5", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/openapi-types": "^18.0.0" + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.22.5", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.22.5", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.5", + "@babel/plugin-transform-classes": "^7.22.5", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.5", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.5", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.5", + "@babel/plugin-transform-for-of": "^7.22.5", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.5", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-modules-systemjs": "^7.22.5", + "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", + "@babel/plugin-transform-numeric-separator": "^7.22.5", + "@babel/plugin-transform-object-rest-spread": "^7.22.5", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.5", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.5", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.5", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.3", + "babel-plugin-polyfill-corejs3": "^0.8.1", + "babel-plugin-polyfill-regenerator": "^0.5.0", + "core-js-compat": "^3.30.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint": { - "version": "7.0.6", + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" }, - "engines": { - "node": ">= 14" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/node_modules/@octokit/types": { - "version": "9.3.2", + "node_modules/@babel/preset-typescript": { + "version": "7.22.5", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/openapi-types": "^18.0.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-typescript": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/openapi-types": { - "version": "18.0.0", + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "dev": true, "license": "MIT" }, - "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error": { - "version": "3.0.3", + "node_modules/@babel/runtime": { + "version": "7.22.5", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/types": "^9.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "regenerator-runtime": "^0.13.11" }, "engines": { - "node": ">= 14" - } - }, - "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/node_modules/@octokit/types": { - "version": "9.3.2", - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^18.0.0" + "node": ">=6.9.0" } }, - "node_modules/@octokit/auth-oauth-device": { - "version": "3.1.4", + "node_modules/@babel/template": { + "version": "7.22.5", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/oauth-methods": "^2.0.0", - "@octokit/request": "^6.0.0", - "@octokit/types": "^6.10.0", - "universal-user-agent": "^6.0.0" + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint": { - "version": "7.0.6", + "node_modules/@babel/traverse": { + "version": "7.22.5", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5", + "debug": "^4.1.0", + "globals": "^11.1.0" }, "engines": { - "node": ">= 14" + "node": ">=6.9.0" } }, - "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/node_modules/@octokit/types": { - "version": "9.3.2", + "node_modules/@babel/types": { + "version": "7.22.5", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/openapi-types": "^18.0.0" + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/openapi-types": { - "version": "18.0.0", + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "dev": true, "license": "MIT" }, - "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request": { - "version": "6.2.8", - "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^7.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" - }, + "node_modules/@crowd/alerting": { + "resolved": "../services/libs/alerting", + "link": true + }, + "node_modules/@crowd/common": { + "resolved": "../services/libs/common", + "link": true + }, + "node_modules/@crowd/feature-flags": { + "resolved": "../services/libs/feature-flags", + "link": true + }, + "node_modules/@crowd/integrations": { + "resolved": "../services/libs/integrations", + "link": true + }, + "node_modules/@crowd/logging": { + "resolved": "../services/libs/logging", + "link": true + }, + "node_modules/@crowd/opensearch": { + "resolved": "../services/libs/opensearch", + "link": true + }, + "node_modules/@crowd/redis": { + "resolved": "../services/libs/redis", + "link": true + }, + "node_modules/@crowd/sqs": { + "resolved": "../services/libs/sqs", + "link": true + }, + "node_modules/@crowd/temporal": { + "resolved": "../services/libs/temporal", + "link": true + }, + "node_modules/@crowd/tracing": { + "resolved": "../services/libs/tracing", + "link": true + }, + "node_modules/@crowd/types": { + "resolved": "../services/libs/types", + "link": true + }, + "node_modules/@cspotcode/source-map-consumer": { + "version": "0.8.0", + "dev": true, + "license": "BSD-3-Clause", "engines": { - "node": ">= 14" + "node": ">= 12" } }, - "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error": { - "version": "3.0.3", + "node_modules/@cspotcode/source-map-support": { + "version": "0.7.0", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/types": "^9.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "@cspotcode/source-map-consumer": "0.8.0" }, "engines": { - "node": ">= 14" + "node": ">=12" } }, - "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/node_modules/@octokit/types": { - "version": "9.3.2", + "node_modules/@cubejs-client/core": { + "version": "0.30.74", "license": "MIT", "dependencies": { - "@octokit/openapi-types": "^18.0.0" + "core-js": "^3.6.5", + "cross-fetch": "^3.0.2", + "dayjs": "^1.10.4", + "ramda": "^0.27.0", + "url-search-params-polyfill": "^7.0.0", + "uuid": "^8.3.2" } }, - "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/node_modules/@octokit/types": { - "version": "9.3.2", + "node_modules/@cubejs-client/core/node_modules/uuid": { + "version": "8.3.2", "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^18.0.0" + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/@octokit/auth-oauth-user": { - "version": "1.3.0", - "license": "MIT", + "node_modules/@discordjs/builders": { + "version": "1.6.3", + "license": "Apache-2.0", "dependencies": { - "@octokit/auth-oauth-device": "^3.1.1", - "@octokit/oauth-methods": "^1.1.0", - "@octokit/request": "^5.4.14", - "@octokit/types": "^6.12.2", - "btoa-lite": "^1.0.0", - "universal-user-agent": "^6.0.0" + "@discordjs/formatters": "^0.3.1", + "@discordjs/util": "^0.3.1", + "@sapphire/shapeshift": "^3.8.2", + "discord-api-types": "^0.37.41", + "fast-deep-equal": "^3.1.3", + "ts-mixer": "^6.0.3", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=16.9.0" } }, - "node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-authorization-url": { - "version": "4.3.3", - "license": "MIT" - }, - "node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods": { - "version": "1.2.6", - "license": "MIT", - "dependencies": { - "@octokit/oauth-authorization-url": "^4.3.1", - "@octokit/request": "^5.4.14", - "@octokit/request-error": "^2.0.5", - "@octokit/types": "^6.12.2", - "btoa-lite": "^1.0.0" + "node_modules/@discordjs/collection": { + "version": "1.5.1", + "license": "Apache-2.0", + "engines": { + "node": ">=16.9.0" } }, - "node_modules/@octokit/endpoint": { - "version": "6.0.12", - "license": "MIT", + "node_modules/@discordjs/formatters": { + "version": "0.3.1", + "license": "Apache-2.0", "dependencies": { - "@octokit/types": "^6.0.3", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" + "discord-api-types": "^0.37.41" + }, + "engines": { + "node": ">=16.9.0" } }, - "node_modules/@octokit/graphql": { - "version": "4.8.0", - "license": "MIT", + "node_modules/@discordjs/rest": { + "version": "1.7.1", + "license": "Apache-2.0", "dependencies": { - "@octokit/request": "^5.6.0", - "@octokit/types": "^6.0.3", - "universal-user-agent": "^6.0.0" + "@discordjs/collection": "^1.5.1", + "@discordjs/util": "^0.3.0", + "@sapphire/async-queue": "^1.5.0", + "@sapphire/snowflake": "^3.4.2", + "discord-api-types": "^0.37.41", + "file-type": "^18.3.0", + "tslib": "^2.5.0", + "undici": "^5.22.0" + }, + "engines": { + "node": ">=16.9.0" } }, - "node_modules/@octokit/oauth-authorization-url": { - "version": "5.0.0", - "license": "MIT", + "node_modules/@discordjs/util": { + "version": "0.3.1", + "license": "Apache-2.0", "engines": { - "node": ">= 14" + "node": ">=16.9.0" } }, - "node_modules/@octokit/oauth-methods": { - "version": "2.0.6", - "license": "MIT", + "node_modules/@discordjs/ws": { + "version": "0.8.3", + "license": "Apache-2.0", "dependencies": { - "@octokit/oauth-authorization-url": "^5.0.0", - "@octokit/request": "^6.2.3", - "@octokit/request-error": "^3.0.3", - "@octokit/types": "^9.0.0", - "btoa-lite": "^1.0.0" + "@discordjs/collection": "^1.5.1", + "@discordjs/rest": "^1.7.1", + "@discordjs/util": "^0.3.1", + "@sapphire/async-queue": "^1.5.0", + "@types/ws": "^8.5.4", + "@vladfrangu/async_event_emitter": "^2.2.1", + "discord-api-types": "^0.37.41", + "tslib": "^2.5.0", + "ws": "^8.13.0" }, "engines": { - "node": ">= 14" + "node": ">=16.9.0" } }, - "node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint": { - "version": "7.0.6", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">= 14" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@octokit/oauth-methods/node_modules/@octokit/openapi-types": { - "version": "18.0.0", - "license": "MIT" - }, - "node_modules/@octokit/oauth-methods/node_modules/@octokit/request": { - "version": "6.2.8", + "node_modules/@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true, "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^7.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" - }, "engines": { - "node": ">= 14" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error": { - "version": "3.0.3", + "node_modules/@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/types": "^9.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": ">= 14" - } - }, - "node_modules/@octokit/oauth-methods/node_modules/@octokit/types": { - "version": "9.3.2", - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "license": "MIT" - }, - "node_modules/@octokit/request": { - "version": "5.6.3", + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.1.0", - "@octokit/types": "^6.16.1", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@octokit/request-error": { - "version": "2.1.0", + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.20.0", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/types": "^6.0.3", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@octokit/types": { - "version": "6.41.0", + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.43.0", + "dev": true, "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^12.11.0" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@opencensus/core": { - "version": "0.0.9", + "node_modules/@exodus/schemasafe": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@google-cloud/common": { + "version": "3.10.0", "license": "Apache-2.0", "dependencies": { - "continuation-local-storage": "^3.2.1", - "log-driver": "^1.2.7", - "semver": "^5.5.0", - "shimmer": "^1.2.0", - "uuid": "^3.2.1" + "@google-cloud/projectify": "^2.0.0", + "@google-cloud/promisify": "^2.0.0", + "arrify": "^2.0.1", + "duplexify": "^4.1.1", + "ent": "^2.2.0", + "extend": "^3.0.2", + "google-auth-library": "^7.14.0", + "retry-request": "^4.2.2", + "teeny-request": "^7.0.0" }, "engines": { - "node": ">=6.0" - } - }, - "node_modules/@opencensus/core/node_modules/semver": { - "version": "5.7.1", - "license": "ISC", - "bin": { - "semver": "bin/semver" + "node": ">=10" } }, - "node_modules/@opencensus/core/node_modules/uuid": { - "version": "3.4.0", + "node_modules/@google-cloud/common/node_modules/duplexify": { + "version": "4.1.2", "license": "MIT", - "bin": { - "uuid": "bin/uuid" + "dependencies": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" } }, - "node_modules/@opencensus/propagation-b3": { - "version": "0.0.8", + "node_modules/@google-cloud/paginator": { + "version": "3.0.7", "license": "Apache-2.0", "dependencies": { - "@opencensus/core": "^0.0.8", - "uuid": "^3.2.1" + "arrify": "^2.0.0", + "extend": "^3.0.2" }, "engines": { - "node": ">=6.0" + "node": ">=10" } }, - "node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core": { - "version": "0.0.8", + "node_modules/@google-cloud/projectify": { + "version": "2.1.1", "license": "Apache-2.0", - "dependencies": { - "continuation-local-storage": "^3.2.1", - "log-driver": "^1.2.7", - "semver": "^5.5.0", - "shimmer": "^1.2.0", - "uuid": "^3.2.1" - }, "engines": { - "node": ">=6.0" - } - }, - "node_modules/@opencensus/propagation-b3/node_modules/semver": { - "version": "5.7.1", - "license": "ISC", - "bin": { - "semver": "bin/semver" + "node": ">=10" } }, - "node_modules/@opencensus/propagation-b3/node_modules/uuid": { - "version": "3.4.0", - "license": "MIT", - "bin": { - "uuid": "bin/uuid" + "node_modules/@google-cloud/promisify": { + "version": "2.0.4", + "license": "Apache-2.0", + "engines": { + "node": ">=10" } }, - "node_modules/@opensearch-project/opensearch": { - "version": "1.2.0", + "node_modules/@google-cloud/storage": { + "version": "5.3.0", "license": "Apache-2.0", "dependencies": { - "aws4": "^1.11.0", - "debug": "^4.3.1", - "hpagent": "^0.1.1", - "ms": "^2.1.3", - "secure-json-parse": "^2.4.0" + "@google-cloud/common": "^3.3.0", + "@google-cloud/paginator": "^3.0.0", + "@google-cloud/promisify": "^2.0.0", + "arrify": "^2.0.0", + "compressible": "^2.0.12", + "concat-stream": "^2.0.0", + "date-and-time": "^0.14.0", + "duplexify": "^3.5.0", + "extend": "^3.0.2", + "gaxios": "^3.0.0", + "gcs-resumable-upload": "^3.1.0", + "hash-stream-validation": "^0.2.2", + "mime": "^2.2.0", + "mime-types": "^2.0.8", + "onetime": "^5.1.0", + "p-limit": "^3.0.1", + "pumpify": "^2.0.0", + "snakeize": "^0.1.0", + "stream-events": "^1.0.1", + "xdg-basedir": "^4.0.0" }, "engines": { "node": ">=10" } }, - "node_modules/@pm2/agent": { - "version": "2.0.1", - "license": "AGPL-3.0", + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.10", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "async": "~3.2.0", - "chalk": "~3.0.0", - "dayjs": "~1.8.24", - "debug": "~4.3.1", - "eventemitter2": "~5.0.1", - "fast-json-patch": "^3.0.0-1", - "fclone": "~1.0.11", - "nssocket": "0.6.0", - "pm2-axon": "~4.0.1", - "pm2-axon-rpc": "~0.7.0", - "proxy-agent": "~5.0.0", - "semver": "~7.2.0", - "ws": "~7.4.0" + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" } }, - "node_modules/@pm2/agent/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=8" + "node": ">=12.22" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@pm2/agent/node_modules/async": { - "version": "3.2.4", - "license": "MIT" + "node_modules/@humanwhocodes/momoa": { + "version": "2.0.4", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.10.0" + } }, - "node_modules/@pm2/agent/node_modules/chalk": { - "version": "3.0.0", - "license": "MIT", + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "dev": true, + "license": "ISC", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/@pm2/agent/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "sprintf-js": "~1.0.2" } }, - "node_modules/@pm2/agent/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "node_modules/@pm2/agent/node_modules/dayjs": { - "version": "1.8.36", - "license": "MIT" - }, - "node_modules/@pm2/agent/node_modules/eventemitter2": { - "version": "5.0.1", - "license": "MIT" - }, - "node_modules/@pm2/agent/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "dev": true, "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/@pm2/agent/node_modules/semver": { - "version": "7.2.3", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "engines": { - "node": ">=10" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@pm2/agent/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "p-locate": "^4.1.0" }, "engines": { "node": ">=8" } }, - "node_modules/@pm2/agent/node_modules/ws": { - "version": "7.4.6", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "dev": true, "license": "MIT", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/@pm2/io": { - "version": "5.0.0", - "license": "Apache-2", "dependencies": { - "@opencensus/core": "0.0.9", - "@opencensus/propagation-b3": "0.0.8", - "async": "~2.6.1", - "debug": "~4.3.1", - "eventemitter2": "^6.3.1", - "require-in-the-middle": "^5.0.0", - "semver": "6.3.0", - "shimmer": "^1.2.0", - "signal-exit": "^3.0.3", - "tslib": "1.9.3" + "p-try": "^2.0.0" }, "engines": { - "node": ">=6.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@pm2/io/node_modules/tslib": { - "version": "1.9.3", - "license": "Apache-2.0" - }, - "node_modules/@pm2/js-api": { - "version": "0.6.7", - "license": "Apache-2", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "dev": true, + "license": "MIT", "dependencies": { - "async": "^2.6.3", - "axios": "^0.21.0", - "debug": "~4.3.1", - "eventemitter2": "^6.3.1", - "ws": "^7.0.0" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=4.0" + "node": ">=8" } }, - "node_modules/@pm2/js-api/node_modules/axios": { - "version": "0.21.4", + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "follow-redirects": "^1.14.0" + "engines": { + "node": ">=8" } }, - "node_modules/@pm2/js-api/node_modules/ws": { - "version": "7.5.9", + "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": { + "version": "1.0.3", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "dev": true, "license": "MIT", "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/@pm2/pm2-version-check": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@pm2/pm2-version-check/-/pm2-version-check-1.0.4.tgz", - "integrity": "sha512-SXsM27SGH3yTWKc2fKR4SYNxsmnvuBQ9dd6QHtEWmiZ/VqaOYPAIlS8+vMcn27YLtAEBGvNRSh3TPNvtjZgfqA==", - "dependencies": { - "debug": "^4.3.1" + "node": ">=8" } }, - "node_modules/@readme/better-ajv-errors": { - "version": "1.6.0", + "node_modules/@jest/console": { + "version": "29.5.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.16.0", - "@babel/runtime": "^7.21.0", - "@humanwhocodes/momoa": "^2.0.3", - "chalk": "^4.1.2", - "json-to-ast": "^2.0.3", - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "ajv": "4.11.8 - 8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@readme/better-ajv-errors/node_modules/ansi-styles": { + "node_modules/@jest/console/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -18428,7 +19364,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@readme/better-ajv-errors/node_modules/chalk": { + "node_modules/@jest/console/node_modules/chalk": { "version": "4.1.2", "dev": true, "license": "MIT", @@ -18443,7 +19379,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@readme/better-ajv-errors/node_modules/color-convert": { + "node_modules/@jest/console/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -18454,12 +19390,12 @@ "node": ">=7.0.0" } }, - "node_modules/@readme/better-ajv-errors/node_modules/color-name": { + "node_modules/@jest/console/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/@readme/better-ajv-errors/node_modules/has-flag": { + "node_modules/@jest/console/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -18467,7 +19403,7 @@ "node": ">=8" } }, - "node_modules/@readme/better-ajv-errors/node_modules/supports-color": { + "node_modules/@jest/console/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", @@ -18478,2353 +19414,2732 @@ "node": ">=8" } }, - "node_modules/@readme/json-schema-ref-parser": { - "version": "1.2.0", + "node_modules/@jest/core": { + "version": "29.5.0", "dev": true, "license": "MIT", "dependencies": { - "@jsdevtools/ono": "^7.1.3", - "@types/json-schema": "^7.0.6", - "call-me-maybe": "^1.0.1", - "js-yaml": "^4.1.0" + "@jest/console": "^29.5.0", + "@jest/reporters": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.5.0", + "jest-config": "^29.5.0", + "jest-haste-map": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-resolve-dependencies": "^29.5.0", + "jest-runner": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "jest-watcher": "^29.5.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@readme/openapi-parser": { - "version": "2.5.0", + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, "license": "MIT", "dependencies": { - "@apidevtools/openapi-schemas": "^2.1.0", - "@apidevtools/swagger-methods": "^3.0.2", - "@jsdevtools/ono": "^7.1.3", - "@readme/better-ajv-errors": "^1.6.0", - "@readme/json-schema-ref-parser": "^1.2.0", - "ajv": "^8.12.0", - "ajv-draft-04": "^1.0.0", - "call-me-maybe": "^1.0.1" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=14" + "node": ">=8" }, - "peerDependencies": { - "openapi-types": ">=7" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@sapphire/async-queue": { - "version": "1.5.0", + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "dev": true, "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=v14.0.0", - "npm": ">=7.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@sapphire/shapeshift": { - "version": "3.9.2", + "node_modules/@jest/core/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.3", - "lodash": "^4.17.21" + "color-name": "~1.1.4" }, "engines": { - "node": ">=v14.0.0", - "npm": ">=7.0.0" + "node": ">=7.0.0" } }, - "node_modules/@sapphire/snowflake": { - "version": "3.5.1", + "node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/core/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, "license": "MIT", "engines": { - "node": ">=v14.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@segment/loosely-validate-event": { - "version": "2.0.0", - "dependencies": { - "component-type": "^1.2.1", - "join-component": "^1.1.0" + "node": ">=8" } }, - "node_modules/@selderee/plugin-htmlparser2": { - "version": "0.6.0", + "node_modules/@jest/core/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, "license": "MIT", "dependencies": { - "domhandler": "^4.2.0", - "selderee": "^0.6.0" + "has-flag": "^4.0.0" }, - "funding": { - "url": "https://ko-fi.com/killymxi" + "engines": { + "node": ">=8" } }, - "node_modules/@sendgrid/client": { - "version": "7.7.0", + "node_modules/@jest/environment": { + "version": "29.5.0", + "dev": true, "license": "MIT", "dependencies": { - "@sendgrid/helpers": "^7.7.0", - "axios": "^0.26.0" + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-mock": "^29.5.0" }, "engines": { - "node": "6.* || 8.* || >=10.*" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@sendgrid/client/node_modules/axios": { - "version": "0.26.1", + "node_modules/@jest/expect": { + "version": "29.5.0", + "dev": true, "license": "MIT", "dependencies": { - "follow-redirects": "^1.14.8" + "expect": "^29.5.0", + "jest-snapshot": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@sendgrid/eventwebhook": { - "version": "7.7.0", + "node_modules/@jest/expect-utils": { + "version": "29.5.0", + "dev": true, "license": "MIT", "dependencies": { - "starkbank-ecdsa": "^1.1.1" + "jest-get-type": "^29.4.3" }, "engines": { - "node": "6.* || 8.* || >=10.*" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@sendgrid/helpers": { - "version": "7.7.0", + "node_modules/@jest/fake-timers": { + "version": "29.5.0", + "dev": true, "license": "MIT", "dependencies": { - "deepmerge": "^4.2.2" + "@jest/types": "^29.5.0", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.5.0", + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0" }, "engines": { - "node": ">= 6.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@sendgrid/mail": { - "version": "7.2.6", + "node_modules/@jest/globals": { + "version": "29.5.0", + "dev": true, "license": "MIT", "dependencies": { - "@sendgrid/client": "^7.2.6", - "@sendgrid/helpers": "^7.2.6" + "@jest/environment": "^29.5.0", + "@jest/expect": "^29.5.0", + "@jest/types": "^29.5.0", + "jest-mock": "^29.5.0" }, "engines": { - "node": "6.* || 8.* || >=10.*" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@sinclair/typebox": { - "version": "0.25.24", - "dev": true, - "license": "MIT" - }, - "node_modules/@sindresorhus/is": { - "version": "0.14.0", + "node_modules/@jest/reporters": { + "version": "29.5.0", "dev": true, "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@jridgewell/trace-mapping": "^0.3.15", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "jest-worker": "^29.5.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@sinonjs/commons": { - "version": "3.0.0", + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "type-detect": "4.0.8" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "@sinonjs/commons": "^3.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@slack/logger": { - "version": "3.0.0", + "node_modules/@jest/reporters/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { - "@types/node": ">=12.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 12.13.0", - "npm": ">= 6.12.0" + "node": ">=7.0.0" } }, - "node_modules/@slack/types": { - "version": "2.8.0", + "node_modules/@jest/reporters/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/reporters/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, "license": "MIT", "engines": { - "node": ">= 12.13.0", - "npm": ">= 6.12.0" + "node": ">=8" } }, - "node_modules/@slack/web-api": { - "version": "6.8.1", + "node_modules/@jest/reporters/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, "license": "MIT", "dependencies": { - "@slack/logger": "^3.0.0", - "@slack/types": "^2.0.0", - "@types/is-stream": "^1.1.0", - "@types/node": ">=12.0.0", - "axios": "^0.27.2", - "eventemitter3": "^3.1.0", - "form-data": "^2.5.0", - "is-electron": "2.2.0", - "is-stream": "^1.1.0", - "p-queue": "^6.6.1", - "p-retry": "^4.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 12.13.0", - "npm": ">= 6.12.0" + "node": ">=8" } }, - "node_modules/@smithy/protocol-http": { - "version": "1.1.0", - "license": "Apache-2.0", + "node_modules/@jest/schemas": { + "version": "29.4.3", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "@sinclair/typebox": "^0.25.16" }, "engines": { - "node": ">=14.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@smithy/types": { - "version": "1.1.0", - "license": "Apache-2.0", + "node_modules/@jest/source-map": { + "version": "29.4.3", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.5.0" + "@jridgewell/trace-mapping": "^0.3.15", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" }, "engines": { - "node": ">=14.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@socket.io/component-emitter": { - "version": "3.1.0", - "license": "MIT" - }, - "node_modules/@superfaceai/ast": { - "version": "1.2.0", + "node_modules/@jest/test-result": { + "version": "29.5.0", + "dev": true, "license": "MIT", "dependencies": { - "ajv": "^8.8.2", - "ajv-formats": "^2.1.1" + "@jest/console": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@superfaceai/one-sdk": { - "version": "1.5.2", + "node_modules/@jest/test-sequencer": { + "version": "29.5.0", + "dev": true, + "license": "MIT", "dependencies": { - "@superfaceai/ast": "1.2.0", - "@superfaceai/parser": "1.2.0", - "abort-controller": "^3.0.0", - "cross-fetch": "^3.1.5", - "debug": "^4.3.2", - "isomorphic-form-data": "^2.0.0", - "vm2": "^3.9.7" + "@jest/test-result": "^29.5.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@superfaceai/parser": { - "version": "1.2.0", + "node_modules/@jest/transform": { + "version": "29.5.0", + "dev": true, "license": "MIT", "dependencies": { - "@superfaceai/ast": "^1.2.0", - "@types/debug": "^4.1.5", - "debug": "^4.3.3", - "typescript": "^4" + "@babel/core": "^7.11.6", + "@jest/types": "^29.5.0", + "@jridgewell/trace-mapping": "^0.3.15", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.5.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@superfaceai/passport-twitter-oauth2": { - "version": "1.2.3", + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, "license": "MIT", "dependencies": { - "passport-oauth2": "^1.6.1" + "color-convert": "^2.0.1" }, - "optionalDependencies": { - "@types/passport": "1.x", - "@types/passport-oauth2": ">=1.4" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@szmarczak/http-timer": { - "version": "1.1.2", + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", "dev": true, "license": "MIT", "dependencies": { - "defer-to-connect": "^1.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@tokenizer/token": { - "version": "0.3.0", - "license": "MIT" - }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">= 6" + "node": ">=7.0.0" } }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", + "node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "2.0.0", "dev": true, "license": "MIT" }, - "node_modules/@types/babel__core": { - "version": "7.20.1", + "node_modules/@jest/transform/node_modules/has-flag": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "engines": { + "node": ">=8" } }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.0.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@types/babel__template": { - "version": "7.4.1", + "node_modules/@jest/transform/node_modules/write-file-atomic": { + "version": "4.0.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@types/babel__traverse": { - "version": "7.20.1", + "node_modules/@jest/types": { + "version": "29.5.0", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.20.7" + "@jest/schemas": "^29.4.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/body-parser": { - "version": "1.19.2", + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, "license": "MIT", "dependencies": { - "@types/connect": "*", - "@types/node": "*" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@types/btoa-lite": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/@types/bunyan": { - "version": "1.8.8", + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@types/bunyan-format": { - "version": "0.2.5", + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/@types/config": { - "version": "3.3.0", + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/@types/connect": { - "version": "3.4.35", + "node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "@types/node": "*" + "engines": { + "node": ">=8" } }, - "node_modules/@types/cookie": { - "version": "0.4.1", - "license": "MIT" - }, - "node_modules/@types/cookiejar": { - "version": "2.1.2", + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", "dev": true, - "license": "MIT" - }, - "node_modules/@types/cors": { - "version": "2.8.13", "license": "MIT", "dependencies": { - "@types/node": "*" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@types/cron": { - "version": "2.0.1", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", "dev": true, "license": "MIT", "dependencies": { - "@types/luxon": "*", - "@types/node": "*" - } - }, - "node_modules/@types/debug": { - "version": "4.1.8", - "license": "MIT", - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/express": { - "version": "4.17.17", - "license": "MIT", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.35", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "dev": true, "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@types/graceful-fs": { - "version": "4.1.6", + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", "dev": true, "license": "MIT", - "dependencies": { - "@types/node": "*" + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@types/html-to-text": { - "version": "8.1.1", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", "dev": true, "license": "MIT" }, - "node_modules/@types/is-stream": { - "version": "1.1.0", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", "dev": true, "license": "MIT" }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", + "node_modules/@jsdevtools/ono": { + "version": "7.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", "dev": true, "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "*" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", "dev": true, "license": "MIT", - "dependencies": { - "@types/istanbul-lib-report": "*" + "engines": { + "node": ">= 8" } }, - "node_modules/@types/jest": { - "version": "29.5.2", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", "dev": true, "license": "MIT", "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@types/json-schema": { - "version": "7.0.12", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "node_modules/@types/jsonwebtoken": { - "version": "9.0.2", + "node_modules/@octokit/auth-app": { + "version": "3.6.1", "license": "MIT", "dependencies": { - "@types/node": "*" + "@octokit/auth-oauth-app": "^4.3.0", + "@octokit/auth-oauth-user": "^1.2.3", + "@octokit/request": "^5.6.0", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.0.3", + "@types/lru-cache": "^5.1.0", + "deprecation": "^2.3.1", + "lru-cache": "^6.0.0", + "universal-github-app-jwt": "^1.0.1", + "universal-user-agent": "^6.0.0" } }, - "node_modules/@types/lru-cache": { - "version": "5.1.1", - "license": "MIT" - }, - "node_modules/@types/luxon": { - "version": "3.3.0", - "dev": true, - "license": "MIT" + "node_modules/@octokit/auth-app/node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/@types/mime": { - "version": "1.3.2", - "license": "MIT" + "node_modules/@octokit/auth-app/node_modules/yallist": { + "version": "4.0.0", + "license": "ISC" }, - "node_modules/@types/ms": { - "version": "0.7.31", - "license": "MIT" + "node_modules/@octokit/auth-oauth-app": { + "version": "4.3.4", + "license": "MIT", + "dependencies": { + "@octokit/auth-oauth-device": "^3.1.1", + "@octokit/auth-oauth-user": "^2.0.0", + "@octokit/request": "^5.6.3", + "@octokit/types": "^6.0.3", + "@types/btoa-lite": "^1.0.0", + "btoa-lite": "^1.0.0", + "universal-user-agent": "^6.0.0" + } }, - "node_modules/@types/node": { - "version": "17.0.45", - "license": "MIT" + "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/auth-oauth-user": { + "version": "2.1.2", + "license": "MIT", + "dependencies": { + "@octokit/auth-oauth-device": "^4.0.0", + "@octokit/oauth-methods": "^2.0.0", + "@octokit/request": "^6.0.0", + "@octokit/types": "^9.0.0", + "btoa-lite": "^1.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } }, - "node_modules/@types/oauth": { - "version": "0.9.1", + "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/auth-oauth-device": { + "version": "4.0.5", "license": "MIT", - "optional": true, "dependencies": { - "@types/node": "*" + "@octokit/oauth-methods": "^2.0.0", + "@octokit/request": "^6.0.0", + "@octokit/types": "^9.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" } }, - "node_modules/@types/passport": { - "version": "1.0.12", + "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request": { + "version": "6.2.8", "license": "MIT", - "optional": true, "dependencies": { - "@types/express": "*" + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" } }, - "node_modules/@types/passport-oauth2": { - "version": "1.4.12", + "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/types": { + "version": "9.3.2", "license": "MIT", - "optional": true, "dependencies": { - "@types/express": "*", - "@types/oauth": "*", - "@types/passport": "*" + "@octokit/openapi-types": "^18.0.0" } }, - "node_modules/@types/prettier": { - "version": "2.7.3", - "dev": true, - "license": "MIT" + "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint": { + "version": "7.0.6", + "license": "MIT", + "dependencies": { + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } }, - "node_modules/@types/qs": { - "version": "6.9.7", - "license": "MIT" + "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/node_modules/@octokit/types": { + "version": "9.3.2", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^18.0.0" + } }, - "node_modules/@types/range-parser": { - "version": "1.2.4", + "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/openapi-types": { + "version": "18.0.0", "license": "MIT" }, - "node_modules/@types/retry": { - "version": "0.12.0", - "license": "MIT" + "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error": { + "version": "3.0.3", + "license": "MIT", + "dependencies": { + "@octokit/types": "^9.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 14" + } }, - "node_modules/@types/sanitize-html": { - "version": "2.9.0", - "dev": true, + "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/node_modules/@octokit/types": { + "version": "9.3.2", "license": "MIT", "dependencies": { - "htmlparser2": "^8.0.0" + "@octokit/openapi-types": "^18.0.0" } }, - "node_modules/@types/semver": { - "version": "7.5.0", - "dev": true, - "license": "MIT" + "node_modules/@octokit/auth-oauth-device": { + "version": "3.1.4", + "license": "MIT", + "dependencies": { + "@octokit/oauth-methods": "^2.0.0", + "@octokit/request": "^6.0.0", + "@octokit/types": "^6.10.0", + "universal-user-agent": "^6.0.0" + } }, - "node_modules/@types/send": { - "version": "0.17.1", + "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint": { + "version": "7.0.6", "license": "MIT", "dependencies": { - "@types/mime": "^1", - "@types/node": "*" + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" } }, - "node_modules/@types/serve-static": { - "version": "1.15.1", + "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/node_modules/@octokit/types": { + "version": "9.3.2", "license": "MIT", "dependencies": { - "@types/mime": "*", - "@types/node": "*" + "@octokit/openapi-types": "^18.0.0" } }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "dev": true, + "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/openapi-types": { + "version": "18.0.0", "license": "MIT" }, - "node_modules/@types/superagent": { - "version": "4.1.18", - "dev": true, + "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request": { + "version": "6.2.8", "license": "MIT", "dependencies": { - "@types/cookiejar": "*", - "@types/node": "*" + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" } }, - "node_modules/@types/uuid": { - "version": "9.0.2", - "dev": true, - "license": "MIT" + "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error": { + "version": "3.0.3", + "license": "MIT", + "dependencies": { + "@octokit/types": "^9.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 14" + } }, - "node_modules/@types/validator": { - "version": "13.7.17", - "license": "MIT" + "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/node_modules/@octokit/types": { + "version": "9.3.2", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^18.0.0" + } }, - "node_modules/@types/ws": { - "version": "8.5.5", + "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/node_modules/@octokit/types": { + "version": "9.3.2", "license": "MIT", "dependencies": { - "@types/node": "*" + "@octokit/openapi-types": "^18.0.0" } }, - "node_modules/@types/yargs": { - "version": "17.0.24", - "dev": true, + "node_modules/@octokit/auth-oauth-user": { + "version": "1.3.0", "license": "MIT", "dependencies": { - "@types/yargs-parser": "*" + "@octokit/auth-oauth-device": "^3.1.1", + "@octokit/oauth-methods": "^1.1.0", + "@octokit/request": "^5.4.14", + "@octokit/types": "^6.12.2", + "btoa-lite": "^1.0.0", + "universal-user-agent": "^6.0.0" } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "dev": true, + "node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-authorization-url": { + "version": "4.3.3", "license": "MIT" }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.60.0", - "dev": true, + "node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods": { + "version": "1.2.6", "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.60.0", - "@typescript-eslint/type-utils": "5.60.0", - "@typescript-eslint/utils": "5.60.0", - "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, + "@octokit/oauth-authorization-url": "^4.3.1", + "@octokit/request": "^5.4.14", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.12.2", + "btoa-lite": "^1.0.0" + } + }, + "node_modules/@octokit/endpoint": { + "version": "6.0.12", + "license": "MIT", + "dependencies": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/graphql": { + "version": "4.8.0", + "license": "MIT", + "dependencies": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/oauth-authorization-url": { + "version": "5.0.0", + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">= 14" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", + "node_modules/@octokit/oauth-methods": { + "version": "2.0.6", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "@octokit/oauth-authorization-url": "^5.0.0", + "@octokit/request": "^6.2.3", + "@octokit/request-error": "^3.0.3", + "@octokit/types": "^9.0.0", + "btoa-lite": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 14" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.5.2", - "dev": true, - "license": "ISC", + "node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint": { + "version": "7.0.6", + "license": "MIT", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" }, "engines": { - "node": ">=10" + "node": ">= 14" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" + "node_modules/@octokit/oauth-methods/node_modules/@octokit/openapi-types": { + "version": "18.0.0", + "license": "MIT" }, - "node_modules/@typescript-eslint/parser": { - "version": "5.60.0", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/@octokit/oauth-methods/node_modules/@octokit/request": { + "version": "6.2.8", + "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "5.60.0", - "@typescript-eslint/types": "5.60.0", - "@typescript-eslint/typescript-estree": "5.60.0", - "debug": "^4.3.4" + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">= 14" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.60.0", - "dev": true, + "node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error": { + "version": "3.0.3", "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.60.0", - "@typescript-eslint/visitor-keys": "5.60.0" + "@octokit/types": "^9.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">= 14" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.60.0", - "dev": true, + "node_modules/@octokit/oauth-methods/node_modules/@octokit/types": { + "version": "9.3.2", "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "5.60.0", - "@typescript-eslint/utils": "5.60.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@octokit/openapi-types": "^18.0.0" } }, - "node_modules/@typescript-eslint/types": { - "version": "5.60.0", - "dev": true, + "node_modules/@octokit/openapi-types": { + "version": "12.11.0", + "license": "MIT" + }, + "node_modules/@octokit/request": { + "version": "5.6.3", "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "dependencies": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.60.0", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/@octokit/request-error": { + "version": "2.1.0", + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.60.0", - "@typescript-eslint/visitor-keys": "5.60.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", + "node_modules/@octokit/types": { + "version": "6.41.0", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "@octokit/openapi-types": "^12.11.0" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.5.2", - "dev": true, - "license": "ISC", + "node_modules/@opencensus/core": { + "version": "0.0.9", + "license": "Apache-2.0", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "continuation-local-storage": "^3.2.1", + "log-driver": "^1.2.7", + "semver": "^5.5.0", + "shimmer": "^1.2.0", + "uuid": "^3.2.1" }, "engines": { - "node": ">=10" + "node": ">=6.0" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" + "node_modules/@opencensus/core/node_modules/semver": { + "version": "5.7.1", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.60.0", - "dev": true, + "node_modules/@opencensus/core/node_modules/uuid": { + "version": "3.4.0", "license": "MIT", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/@opencensus/propagation-b3": { + "version": "0.0.8", + "license": "Apache-2.0", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.60.0", - "@typescript-eslint/types": "5.60.0", - "@typescript-eslint/typescript-estree": "5.60.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "@opencensus/core": "^0.0.8", + "uuid": "^3.2.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "node": ">=6.0" } }, - "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", + "node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core": { + "version": "0.0.8", + "license": "Apache-2.0", "dependencies": { - "yallist": "^4.0.0" + "continuation-local-storage": "^3.2.1", + "log-driver": "^1.2.7", + "semver": "^5.5.0", + "shimmer": "^1.2.0", + "uuid": "^3.2.1" }, "engines": { - "node": ">=10" + "node": ">=6.0" } }, - "node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.5.2", - "dev": true, + "node_modules/@opencensus/propagation-b3/node_modules/semver": { + "version": "5.7.1", "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { - "semver": "bin/semver.js" + "semver": "bin/semver" + } + }, + "node_modules/@opencensus/propagation-b3/node_modules/uuid": { + "version": "3.4.0", + "license": "MIT", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/@opensearch-project/opensearch": { + "version": "1.2.0", + "license": "Apache-2.0", + "dependencies": { + "aws4": "^1.11.0", + "debug": "^4.3.1", + "hpagent": "^0.1.1", + "ms": "^2.1.3", + "secure-json-parse": "^2.4.0" }, "engines": { "node": ">=10" } }, - "node_modules/@typescript-eslint/utils/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" + "node_modules/@pm2/agent": { + "version": "2.0.1", + "license": "AGPL-3.0", + "dependencies": { + "async": "~3.2.0", + "chalk": "~3.0.0", + "dayjs": "~1.8.24", + "debug": "~4.3.1", + "eventemitter2": "~5.0.1", + "fast-json-patch": "^3.0.0-1", + "fclone": "~1.0.11", + "nssocket": "0.6.0", + "pm2-axon": "~4.0.1", + "pm2-axon-rpc": "~0.7.0", + "proxy-agent": "~5.0.0", + "semver": "~7.2.0", + "ws": "~7.4.0" + } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.60.0", - "dev": true, + "node_modules/@pm2/agent/node_modules/ansi-styles": { + "version": "4.3.0", "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.60.0", - "eslint-visitor-keys": "^3.3.0" + "color-convert": "^2.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@vladfrangu/async_event_emitter": { - "version": "2.2.2", - "license": "MIT", - "engines": { - "node": ">=v14.0.0", - "npm": ">=7.0.0" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/abbrev": { - "version": "1.1.1", - "license": "ISC" + "node_modules/@pm2/agent/node_modules/async": { + "version": "3.2.4", + "license": "MIT" }, - "node_modules/abort-controller": { + "node_modules/@pm2/agent/node_modules/chalk": { "version": "3.0.0", "license": "MIT", "dependencies": { - "event-target-shim": "^5.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6.5" + "node": ">=8" } }, - "node_modules/accepts": { - "version": "1.3.8", + "node_modules/@pm2/agent/node_modules/color-convert": { + "version": "2.0.1", "license": "MIT", "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 0.6" + "node": ">=7.0.0" } }, - "node_modules/acorn": { - "version": "8.9.0", + "node_modules/@pm2/agent/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/@pm2/agent/node_modules/dayjs": { + "version": "1.8.36", + "license": "MIT" + }, + "node_modules/@pm2/agent/node_modules/eventemitter2": { + "version": "5.0.1", + "license": "MIT" + }, + "node_modules/@pm2/agent/node_modules/has-flag": { + "version": "4.0.0", "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@pm2/agent/node_modules/semver": { + "version": "7.2.3", + "license": "ISC", "bin": { - "acorn": "bin/acorn" + "semver": "bin/semver.js" }, "engines": { - "node": ">=0.4.0" + "node": ">=10" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "dev": true, + "node_modules/@pm2/agent/node_modules/supports-color": { + "version": "7.2.0", "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/acorn-walk": { - "version": "8.2.0", + "node_modules/@pm2/agent/node_modules/ws": { + "version": "7.4.6", "license": "MIT", "engines": { - "node": ">=0.4.0" + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/agent-base": { - "version": "6.0.2", - "license": "MIT", + "node_modules/@pm2/io": { + "version": "5.0.0", + "license": "Apache-2", "dependencies": { - "debug": "4" + "@opencensus/core": "0.0.9", + "@opencensus/propagation-b3": "0.0.8", + "async": "~2.6.1", + "debug": "~4.3.1", + "eventemitter2": "^6.3.1", + "require-in-the-middle": "^5.0.0", + "semver": "6.3.0", + "shimmer": "^1.2.0", + "signal-exit": "^3.0.3", + "tslib": "1.9.3" }, "engines": { - "node": ">= 6.0.0" + "node": ">=6.0" } }, - "node_modules/ajv": { - "version": "8.12.0", - "license": "MIT", + "node_modules/@pm2/io/node_modules/tslib": { + "version": "1.9.3", + "license": "Apache-2.0" + }, + "node_modules/@pm2/js-api": { + "version": "0.6.7", + "license": "Apache-2", "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "async": "^2.6.3", + "axios": "^0.21.0", + "debug": "~4.3.1", + "eventemitter2": "^6.3.1", + "ws": "^7.0.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=4.0" } }, - "node_modules/ajv-draft-04": { - "version": "1.0.0", - "dev": true, + "node_modules/@pm2/js-api/node_modules/axios": { + "version": "0.21.4", "license": "MIT", - "peerDependencies": { - "ajv": "^8.5.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } + "dependencies": { + "follow-redirects": "^1.14.0" } }, - "node_modules/ajv-formats": { - "version": "2.1.1", + "node_modules/@pm2/js-api/node_modules/ws": { + "version": "7.5.9", "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" + "engines": { + "node": ">=8.3.0" }, "peerDependencies": { - "ajv": "^8.0.0" + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" }, "peerDependenciesMeta": { - "ajv": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { "optional": true } } }, - "node_modules/amp": { - "version": "0.3.1", - "license": "MIT" + "node_modules/@pm2/pm2-version-check": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@pm2/pm2-version-check/-/pm2-version-check-1.0.4.tgz", + "integrity": "sha512-SXsM27SGH3yTWKc2fKR4SYNxsmnvuBQ9dd6QHtEWmiZ/VqaOYPAIlS8+vMcn27YLtAEBGvNRSh3TPNvtjZgfqA==", + "dependencies": { + "debug": "^4.3.1" + } }, - "node_modules/amp-message": { - "version": "0.1.2", - "license": "MIT", + "node_modules/@readme/better-ajv-errors": { + "version": "1.6.0", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "amp": "0.3.1" + "@babel/code-frame": "^7.16.0", + "@babel/runtime": "^7.21.0", + "@humanwhocodes/momoa": "^2.0.3", + "chalk": "^4.1.2", + "json-to-ast": "^2.0.3", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "ajv": "4.11.8 - 8" } }, - "node_modules/analytics-node": { - "version": "6.2.0", + "node_modules/@readme/better-ajv-errors/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, "license": "MIT", "dependencies": { - "@segment/loosely-validate-event": "^2.0.0", - "axios": "^0.27.2", - "axios-retry": "3.2.0", - "lodash.isstring": "^4.0.1", - "md5": "^2.2.1", - "ms": "^2.0.0", - "remove-trailing-slash": "^0.1.0", - "uuid": "^8.3.2" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/analytics-node/node_modules/uuid": { - "version": "8.3.2", + "node_modules/@readme/better-ajv-errors/node_modules/chalk": { + "version": "4.1.2", + "dev": true, "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/ansi-align": { - "version": "3.0.1", + "node_modules/@readme/better-ajv-errors/node_modules/color-convert": { + "version": "2.0.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "string-width": "^4.1.0" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/ansi-align/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", + "node_modules/@readme/better-ajv-errors/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/@readme/better-ajv-errors/node_modules/has-flag": { + "version": "4.0.0", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/ansi-align/node_modules/string-width": { - "version": "4.2.3", + "node_modules/@readme/better-ajv-errors/node_modules/supports-color": { + "version": "7.2.0", "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/ansi-colors": { - "version": "4.1.3", + "node_modules/@readme/json-schema-ref-parser": { + "version": "1.2.0", + "dev": true, "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "@jsdevtools/ono": "^7.1.3", + "@types/json-schema": "^7.0.6", + "call-me-maybe": "^1.0.1", + "js-yaml": "^4.1.0" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", + "node_modules/@readme/openapi-parser": { + "version": "2.5.0", "dev": true, "license": "MIT", "dependencies": { - "type-fest": "^0.21.3" + "@apidevtools/openapi-schemas": "^2.1.0", + "@apidevtools/swagger-methods": "^3.0.2", + "@jsdevtools/ono": "^7.1.3", + "@readme/better-ajv-errors": "^1.6.0", + "@readme/json-schema-ref-parser": "^1.2.0", + "ajv": "^8.12.0", + "ajv-draft-04": "^1.0.0", + "call-me-maybe": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">=14" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "openapi-types": ">=7" } }, - "node_modules/ansi-regex": { - "version": "2.1.1", + "node_modules/@sapphire/async-queue": { + "version": "1.5.0", "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=v14.0.0", + "npm": ">=7.0.0" } }, - "node_modules/ansi-styles": { - "version": "3.2.1", + "node_modules/@sapphire/shapeshift": { + "version": "3.9.2", "license": "MIT", "dependencies": { - "color-convert": "^1.9.0" + "fast-deep-equal": "^3.1.3", + "lodash": "^4.17.21" }, "engines": { - "node": ">=4" + "node": ">=v14.0.0", + "npm": ">=7.0.0" } }, - "node_modules/ansicolors": { - "version": "0.2.1", - "license": "MIT" + "node_modules/@sapphire/snowflake": { + "version": "3.5.1", + "license": "MIT", + "engines": { + "node": ">=v14.0.0", + "npm": ">=7.0.0" + } }, - "node_modules/ansistyles": { - "version": "0.1.3", - "license": "MIT" + "node_modules/@segment/loosely-validate-event": { + "version": "2.0.0", + "dependencies": { + "component-type": "^1.2.1", + "join-component": "^1.1.0" + } }, - "node_modules/any-promise": { - "version": "1.3.0", - "license": "MIT" + "node_modules/@selderee/plugin-htmlparser2": { + "version": "0.6.0", + "license": "MIT", + "dependencies": { + "domhandler": "^4.2.0", + "selderee": "^0.6.0" + }, + "funding": { + "url": "https://ko-fi.com/killymxi" + } }, - "node_modules/anymatch": { - "version": "3.1.3", - "license": "ISC", + "node_modules/@sendgrid/client": { + "version": "7.7.0", + "license": "MIT", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@sendgrid/helpers": "^7.7.0", + "axios": "^0.26.0" }, "engines": { - "node": ">= 8" + "node": "6.* || 8.* || >=10.*" } }, - "node_modules/aproba": { - "version": "1.2.0", - "license": "ISC" + "node_modules/@sendgrid/client/node_modules/axios": { + "version": "0.26.1", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.14.8" + } }, - "node_modules/are-we-there-yet": { - "version": "1.1.7", - "license": "ISC", + "node_modules/@sendgrid/eventwebhook": { + "version": "7.7.0", + "license": "MIT", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "starkbank-ecdsa": "^1.1.1" + }, + "engines": { + "node": "6.* || 8.* || >=10.*" } }, - "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "2.3.8", + "node_modules/@sendgrid/helpers": { + "version": "7.7.0", "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "deepmerge": "^4.2.2" + }, + "engines": { + "node": ">= 6.0.0" } }, - "node_modules/are-we-there-yet/node_modules/string_decoder": { - "version": "1.1.1", + "node_modules/@sendgrid/mail": { + "version": "7.2.6", "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "@sendgrid/client": "^7.2.6", + "@sendgrid/helpers": "^7.2.6" + }, + "engines": { + "node": "6.* || 8.* || >=10.*" } }, - "node_modules/arg": { - "version": "4.1.3", + "node_modules/@sinclair/typebox": { + "version": "0.25.24", "dev": true, "license": "MIT" }, - "node_modules/argparse": { - "version": "2.0.1", + "node_modules/@sindresorhus/is": { + "version": "0.14.0", "dev": true, - "license": "Python-2.0" - }, - "node_modules/array-back": { - "version": "3.1.0", "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", + "node_modules/@sinonjs/commons": { + "version": "3.0.0", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "type-detect": "4.0.8" } }, - "node_modules/array-flatten": { - "version": "1.1.1", - "license": "MIT" - }, - "node_modules/array-includes": { - "version": "3.1.6", + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@slack/logger": { + "version": "3.0.0", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" + "@types/node": ">=12.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 12.13.0", + "npm": ">= 6.12.0" } }, - "node_modules/array-union": { - "version": "2.1.0", - "dev": true, + "node_modules/@slack/types": { + "version": "2.8.0", "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 12.13.0", + "npm": ">= 6.12.0" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "dev": true, + "node_modules/@slack/web-api": { + "version": "6.8.1", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "@slack/logger": "^3.0.0", + "@slack/types": "^2.0.0", + "@types/is-stream": "^1.1.0", + "@types/node": ">=12.0.0", + "axios": "^0.27.2", + "eventemitter3": "^3.1.0", + "form-data": "^2.5.0", + "is-electron": "2.2.0", + "is-stream": "^1.1.0", + "p-queue": "^6.6.1", + "p-retry": "^4.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 12.13.0", + "npm": ">= 6.12.0" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "dev": true, - "license": "MIT", + "node_modules/@smithy/protocol-http": { + "version": "1.1.0", + "license": "Apache-2.0", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "@smithy/types": "^1.1.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=14.0.0" } }, - "node_modules/arrify": { - "version": "2.0.1", - "license": "MIT", + "node_modules/@smithy/types": { + "version": "1.1.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.5.0" + }, "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "node_modules/asap": { - "version": "2.0.6", + "node_modules/@socket.io/component-emitter": { + "version": "3.1.0", "license": "MIT" }, - "node_modules/ast-types": { - "version": "0.13.4", + "node_modules/@superfaceai/ast": { + "version": "1.2.0", "license": "MIT", "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" + "ajv": "^8.8.2", + "ajv-formats": "^2.1.1" } }, - "node_modules/async": { - "version": "2.6.4", - "license": "MIT", + "node_modules/@superfaceai/one-sdk": { + "version": "1.5.2", "dependencies": { - "lodash": "^4.17.14" + "@superfaceai/ast": "1.2.0", + "@superfaceai/parser": "1.2.0", + "abort-controller": "^3.0.0", + "cross-fetch": "^3.1.5", + "debug": "^4.3.2", + "isomorphic-form-data": "^2.0.0", + "vm2": "^3.9.7" } }, - "node_modules/async-listener": { - "version": "0.6.10", - "license": "BSD-2-Clause", + "node_modules/@superfaceai/parser": { + "version": "1.2.0", + "license": "MIT", "dependencies": { - "semver": "^5.3.0", - "shimmer": "^1.1.0" - }, - "engines": { - "node": "<=0.11.8 || >0.11.10" - } - }, - "node_modules/async-listener/node_modules/semver": { - "version": "5.7.1", - "license": "ISC", - "bin": { - "semver": "bin/semver" + "@superfaceai/ast": "^1.2.0", + "@types/debug": "^4.1.5", + "debug": "^4.3.3", + "typescript": "^4" } }, - "node_modules/async-retry": { - "version": "1.3.3", + "node_modules/@superfaceai/passport-twitter-oauth2": { + "version": "1.2.3", "license": "MIT", "dependencies": { - "retry": "0.13.1" + "passport-oauth2": "^1.6.1" + }, + "optionalDependencies": { + "@types/passport": "1.x", + "@types/passport-oauth2": ">=1.4" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "license": "MIT" - }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", + "node_modules/@szmarczak/http-timer": { + "version": "1.1.2", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/aws-sdk": { - "version": "2.814.0", - "license": "Apache-2.0", "dependencies": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.15.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "uuid": "3.3.2", - "xml2js": "0.4.19" + "defer-to-connect": "^1.0.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">=6" } }, - "node_modules/aws-sdk/node_modules/uuid": { - "version": "3.3.2", + "node_modules/@tokenizer/token": { + "version": "0.3.0", + "license": "MIT" + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", "license": "MIT", - "bin": { - "uuid": "bin/uuid" + "engines": { + "node": ">= 6" } }, - "node_modules/aws4": { - "version": "1.12.0", + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "dev": true, "license": "MIT" }, - "node_modules/axios": { - "version": "0.27.2", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.14.9", - "form-data": "^4.0.0" - } + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "dev": true, + "license": "MIT" }, - "node_modules/axios-retry": { - "version": "3.2.0", - "license": "Apache-2.0", - "dependencies": { - "is-retry-allowed": "^1.1.0" - } + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "dev": true, + "license": "MIT" }, - "node_modules/axios/node_modules/form-data": { - "version": "4.0.0", + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/babel__core": { + "version": "7.20.1", + "dev": true, "license": "MIT", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/babel-jest": { - "version": "29.5.0", + "node_modules/@types/babel__generator": { + "version": "7.6.4", "dev": true, "license": "MIT", "dependencies": { - "@jest/transform": "^29.5.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" + "@babel/types": "^7.0.0" } }, - "node_modules/babel-jest/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/@types/babel__template": { + "version": "7.4.1", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/babel-jest/node_modules/chalk": { - "version": "4.1.2", + "node_modules/@types/babel__traverse": { + "version": "7.20.1", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "@babel/types": "^7.20.7" } }, - "node_modules/babel-jest/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, + "node_modules/@types/body-parser": { + "version": "1.19.2", "license": "MIT", "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "@types/connect": "*", + "@types/node": "*" } }, - "node_modules/babel-jest/node_modules/color-name": { - "version": "1.1.4", - "dev": true, + "node_modules/@types/btoa-lite": { + "version": "1.0.0", "license": "MIT" }, - "node_modules/babel-jest/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, + "node_modules/@types/bunyan": { + "version": "1.8.8", "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "@types/node": "*" } }, - "node_modules/babel-jest/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/@types/bunyan-format": { + "version": "0.2.5", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "@types/node": "*" } }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", + "node_modules/@types/config": { + "version": "3.3.0", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT" + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" + "@types/node": "*" } }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.5.0", + "node_modules/@types/cookie": { + "version": "0.4.1", + "license": "MIT" + }, + "node_modules/@types/cookiejar": { + "version": "2.1.2", "dev": true, + "license": "MIT" + }, + "node_modules/@types/cors": { + "version": "2.8.13", "license": "MIT", "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "@types/node": "*" } }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.3", + "node_modules/@types/cron": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.4.0", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@types/luxon": "*", + "@types/node": "*" } }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.1", - "dev": true, + "node_modules/@types/debug": { + "version": "4.1.8", "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.0", - "core-js-compat": "^3.30.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@types/ms": "*" } }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.0", - "dev": true, + "node_modules/@types/express": { + "version": "4.17.17", "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" } }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "dev": true, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.35", "license": "MIT", "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" } }, - "node_modules/babel-preset-jest": { - "version": "29.5.0", + "node_modules/@types/graceful-fs": { + "version": "4.1.6", "dev": true, "license": "MIT", "dependencies": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "@types/node": "*" } }, - "node_modules/balanced-match": { - "version": "1.0.2", + "node_modules/@types/html-to-text": { + "version": "8.1.1", + "dev": true, "license": "MIT" }, - "node_modules/base64-js": { - "version": "1.5.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/@types/is-stream": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "dev": true, "license": "MIT" }, - "node_modules/base64id": { - "version": "2.0.0", + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "dev": true, "license": "MIT", - "engines": { - "node": "^4.5.0 || >= 5.9" + "dependencies": { + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/base64url": { + "node_modules/@types/istanbul-reports": { "version": "3.0.1", + "dev": true, "license": "MIT", - "engines": { - "node": ">=6.0.0" + "dependencies": { + "@types/istanbul-lib-report": "*" } }, - "node_modules/bcrypt": { - "version": "5.0.0", - "hasInstallScript": true, + "node_modules/@types/jest": { + "version": "29.5.2", + "dev": true, "license": "MIT", "dependencies": { - "node-addon-api": "^3.0.0", - "node-pre-gyp": "0.15.0" - }, - "engines": { - "node": ">= 10.0.0" + "expect": "^29.0.0", + "pretty-format": "^29.0.0" } }, - "node_modules/big-integer": { - "version": "1.6.51", - "license": "Unlicense", - "engines": { - "node": ">=0.6" + "node_modules/@types/json-schema": { + "version": "7.0.12", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/jsonwebtoken": { + "version": "9.0.2", + "license": "MIT", + "dependencies": { + "@types/node": "*" } }, - "node_modules/bignumber.js": { - "version": "9.1.1", + "node_modules/@types/lru-cache": { + "version": "5.1.1", + "license": "MIT" + }, + "node_modules/@types/luxon": { + "version": "3.3.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mime": { + "version": "1.3.2", + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "0.7.31", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "17.0.45", + "license": "MIT" + }, + "node_modules/@types/oauth": { + "version": "0.9.1", "license": "MIT", - "engines": { - "node": "*" + "optional": true, + "dependencies": { + "@types/node": "*" } }, - "node_modules/binary-extensions": { - "version": "2.2.0", + "node_modules/@types/passport": { + "version": "1.0.12", "license": "MIT", - "engines": { - "node": ">=8" + "optional": true, + "dependencies": { + "@types/express": "*" } }, - "node_modules/bindings": { - "version": "1.5.0", + "node_modules/@types/passport-oauth2": { + "version": "1.4.12", "license": "MIT", + "optional": true, "dependencies": { - "file-uri-to-path": "1.0.0" + "@types/express": "*", + "@types/oauth": "*", + "@types/passport": "*" } }, - "node_modules/bl": { - "version": "4.1.0", + "node_modules/@types/prettier": { + "version": "2.7.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "license": "MIT" + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "license": "MIT" + }, + "node_modules/@types/sanitize-html": { + "version": "2.9.0", "dev": true, "license": "MIT", "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "htmlparser2": "^8.0.0" } }, - "node_modules/bl/node_modules/buffer": { - "version": "5.7.1", + "node_modules/@types/semver": { + "version": "7.5.0", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "0.17.1", "license": "MIT", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "@types/mime": "^1", + "@types/node": "*" } }, - "node_modules/blessed": { - "version": "0.1.81", + "node_modules/@types/serve-static": { + "version": "1.15.1", "license": "MIT", - "bin": { - "blessed": "bin/tput.js" - }, - "engines": { - "node": ">= 0.8.0" + "dependencies": { + "@types/mime": "*", + "@types/node": "*" } }, - "node_modules/bluebird": { - "version": "2.11.0", + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "dev": true, "license": "MIT" }, - "node_modules/bodec": { - "version": "0.1.0", + "node_modules/@types/superagent": { + "version": "4.1.18", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/cookiejar": "*", + "@types/node": "*" + } + }, + "node_modules/@types/uuid": { + "version": "9.0.2", + "dev": true, "license": "MIT" }, - "node_modules/body-parser": { - "version": "1.20.2", + "node_modules/@types/validator": { + "version": "13.7.17", + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.5.5", "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "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.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "@types/node": "*" } }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", + "node_modules/@types/yargs": { + "version": "17.0.24", + "dev": true, "license": "MIT", "dependencies": { - "ms": "2.0.0" + "@types/yargs-parser": "*" } }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "license": "MIT" - }, - "node_modules/boolbase": { - "version": "1.0.0", - "license": "ISC" - }, - "node_modules/bowser": { - "version": "2.11.0", + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "dev": true, "license": "MIT" }, - "node_modules/boxen": { - "version": "4.2.0", + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.60.0", "dev": true, "license": "MIT", "dependencies": { - "ansi-align": "^3.0.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "cli-boxes": "^2.2.0", - "string-width": "^4.1.0", - "term-size": "^2.1.0", - "type-fest": "^0.8.1", - "widest-line": "^3.1.0" + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.60.0", + "@typescript-eslint/type-utils": "5.60.0", + "@typescript-eslint/utils": "5.60.0", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/boxen/node_modules/chalk": { - "version": "3.0.0", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { + "version": "6.0.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/boxen/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.5.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "color-name": "~1.1.4" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=7.0.0" + "node": ">=10" } }, - "node_modules/boxen/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/boxen/node_modules/has-flag": { + "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { "version": "4.0.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } + "license": "ISC" }, - "node_modules/boxen/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", + "node_modules/@typescript-eslint/parser": { + "version": "5.60.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "5.60.0", + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/typescript-estree": "5.60.0", + "debug": "^4.3.4" + }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/boxen/node_modules/string-width": { - "version": "4.2.3", + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.60.0", "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/visitor-keys": "5.60.0" }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/boxen/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/@typescript-eslint/type-utils": { + "version": "5.60.0", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@typescript-eslint/typescript-estree": "5.60.0", + "@typescript-eslint/utils": "5.60.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/boxen/node_modules/type-fest": { - "version": "0.8.1", + "node_modules/@typescript-eslint/types": { + "version": "5.60.0", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "MIT", "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "license": "MIT", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.60.0", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/visitor-keys": "5.60.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/braces": { - "version": "3.0.2", - "license": "MIT", + "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", "dependencies": { - "fill-range": "^7.0.1" + "yallist": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/browserslist": { - "version": "4.21.9", + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.5.2", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", + "license": "ISC", "dependencies": { - "caniuse-lite": "^1.0.30001503", - "electron-to-chromium": "^1.4.431", - "node-releases": "^2.0.12", - "update-browserslist-db": "^1.0.11" + "lru-cache": "^6.0.0" }, "bin": { - "browserslist": "cli.js" + "semver": "bin/semver.js" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=10" } }, - "node_modules/bs-logger": { - "version": "0.2.6", + "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.60.0", "dev": true, "license": "MIT", "dependencies": { - "fast-json-stable-stringify": "2.x" + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.60.0", + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/typescript-estree": "5.60.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" }, "engines": { - "node": ">= 6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/bser": { - "version": "2.1.1", + "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { + "version": "6.0.0", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "node-int64": "^0.4.0" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/btoa-lite": { - "version": "1.0.0", - "license": "MIT" + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.5.2", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/buffer": { - "version": "4.9.2", + "node_modules/@typescript-eslint/utils/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.60.0", + "dev": true, "license": "MIT", "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "@typescript-eslint/types": "5.60.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/buffer-equal-constant-time": { - "version": "1.0.1", - "license": "BSD-3-Clause" + "node_modules/@vladfrangu/async_event_emitter": { + "version": "2.2.2", + "license": "MIT", + "engines": { + "node": ">=v14.0.0", + "npm": ">=7.0.0" + } }, - "node_modules/buffer-from": { - "version": "1.1.2", - "license": "MIT" + "node_modules/abbrev": { + "version": "1.1.1", + "license": "ISC" }, - "node_modules/buffer-writer": { - "version": "2.0.0", + "node_modules/abort-controller": { + "version": "3.0.0", "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, "engines": { - "node": ">=4" + "node": ">=6.5" } }, - "node_modules/bufferutil": { - "version": "4.0.7", - "hasInstallScript": true, + "node_modules/accepts": { + "version": "1.3.8", "license": "MIT", "dependencies": { - "node-gyp-build": "^4.3.0" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { - "node": ">=6.14.2" + "node": ">= 0.6" } }, - "node_modules/bunyan": { - "version": "1.8.15", - "engines": [ - "node >=0.10.0" - ], + "node_modules/acorn": { + "version": "8.9.0", "license": "MIT", "bin": { - "bunyan": "bin/bunyan" + "acorn": "bin/acorn" }, - "optionalDependencies": { - "dtrace-provider": "~0.8", - "moment": "^2.19.3", - "mv": "~2", - "safe-json-stringify": "~1" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/bunyan-format": { - "version": "0.2.1", + "node_modules/acorn-jsx": { + "version": "5.3.2", + "dev": true, "license": "MIT", - "dependencies": { - "ansicolors": "~0.2.1", - "ansistyles": "~0.1.1", - "xtend": "~2.1.1" + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/bunyan-middleware": { - "version": "1.0.2", + "node_modules/acorn-walk": { + "version": "8.2.0", "license": "MIT", - "dependencies": { - "@types/bunyan": "^1.8.6", - "@types/express": "^4.0.35", - "uuid": "^8.3.2" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/bunyan-middleware/node_modules/uuid": { - "version": "8.3.2", + "node_modules/agent-base": { + "version": "6.0.2", "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/busboy": { - "version": "1.6.0", "dependencies": { - "streamsearch": "^1.1.0" + "debug": "4" }, "engines": { - "node": ">=10.16.0" + "node": ">= 6.0.0" } }, - "node_modules/bytes": { - "version": "3.1.2", + "node_modules/ajv": { + "version": "8.12.0", "license": "MIT", - "engines": { - "node": ">= 0.8" + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/cacheable-request": { - "version": "6.1.0", + "node_modules/ajv-draft-04": { + "version": "1.0.0", "dev": true, "license": "MIT", - "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" + "peerDependencies": { + "ajv": "^8.5.0" }, - "engines": { - "node": ">=8" + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "5.2.0", - "dev": true, + "node_modules/ajv-formats": { + "version": "2.1.1", "license": "MIT", "dependencies": { - "pump": "^3.0.0" + "ajv": "^8.0.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "ajv": "^8.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "2.0.0", - "dev": true, + "node_modules/amp": { + "version": "0.3.1", + "license": "MIT" + }, + "node_modules/amp-message": { + "version": "0.1.2", "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "amp": "0.3.1" } }, - "node_modules/call-bind": { - "version": "1.0.2", + "node_modules/analytics-node": { + "version": "6.2.0", "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "@segment/loosely-validate-event": "^2.0.0", + "axios": "^0.27.2", + "axios-retry": "3.2.0", + "lodash.isstring": "^4.0.1", + "md5": "^2.2.1", + "ms": "^2.0.0", + "remove-trailing-slash": "^0.1.0", + "uuid": "^8.3.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4" } }, - "node_modules/call-me-maybe": { - "version": "1.0.2", - "dev": true, - "license": "MIT" + "node_modules/analytics-node/node_modules/uuid": { + "version": "8.3.2", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } }, - "node_modules/callsites": { - "version": "3.1.0", + "node_modules/ansi-align": { + "version": "3.0.1", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" } }, - "node_modules/camelcase": { - "version": "5.3.1", + "node_modules/ansi-align/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001506", + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/chalk": { - "version": "2.4.2", "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/char-regex": { - "version": "1.0.2", - "dev": true, + "node_modules/ansi-colors": { + "version": "4.1.3", "license": "MIT", "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/charenc": { - "version": "0.0.2", - "license": "BSD-3-Clause", + "node_modules/ansi-escapes": { + "version": "4.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, "engines": { - "node": "*" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/charm": { - "version": "0.1.2", - "license": "MIT/X11" + "node_modules/ansi-regex": { + "version": "2.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/chokidar": { - "version": "3.5.3", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "node_modules/ansi-styles": { + "version": "3.2.1", "license": "MIT", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "color-convert": "^1.9.0" }, "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">=4" } }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", + "node_modules/ansicolors": { + "version": "0.2.1", + "license": "MIT" + }, + "node_modules/ansistyles": { + "version": "0.1.3", + "license": "MIT" + }, + "node_modules/any-promise": { + "version": "1.3.0", + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", "license": "ISC", "dependencies": { - "is-glob": "^4.0.1" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": ">= 6" + "node": ">= 8" } }, - "node_modules/chownr": { - "version": "1.1.4", + "node_modules/aproba": { + "version": "1.2.0", "license": "ISC" }, - "node_modules/ci-info": { - "version": "3.8.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/are-we-there-yet": { + "version": "1.1.7", + "license": "ISC", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, - "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "dev": true, - "license": "MIT" + "node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "2.3.8", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } }, - "node_modules/clearbit": { - "version": "1.3.5", + "node_modules/are-we-there-yet/node_modules/string_decoder": { + "version": "1.1.1", "license": "MIT", "dependencies": { - "bluebird": "2", - "create-error": "0.3", - "lodash": "4.x", - "needle": "clearbit/needle#84d28b5f2c3916db1e7eb84aeaa9d976cc40054b" + "safe-buffer": "~5.1.0" } }, - "node_modules/cli-boxes": { - "version": "2.2.1", + "node_modules/arg": { + "version": "4.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", "dev": true, + "license": "Python-2.0" + }, + "node_modules/array-back": { + "version": "3.1.0", "license": "MIT", "engines": { "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-color": { - "version": "1.4.0", - "license": "ISC", - "dependencies": { - "ansi-regex": "^2.1.1", - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "memoizee": "^0.4.14", - "timers-ext": "^0.1.5" } }, - "node_modules/cli-cursor": { - "version": "3.1.0", + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", "dev": true, "license": "MIT", "dependencies": { - "restore-cursor": "^3.1.0" + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/cli-highlight": { - "version": "2.1.6", - "license": "ISC", - "dependencies": { - "chalk": "^3.0.0", - "highlight.js": "^10.0.0", - "mz": "^2.4.0", - "parse5": "^5.1.1", - "parse5-htmlparser2-tree-adapter": "^5.1.1", - "yargs": "^15.0.0" - }, - "bin": { - "highlight": "bin/highlight" - }, - "engines": { - "node": ">=8.0.0", - "npm": ">=5.0.0" - } + "node_modules/array-flatten": { + "version": "1.1.1", + "license": "MIT" }, - "node_modules/cli-highlight/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/array-includes": { + "version": "3.1.6", + "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/cli-highlight/node_modules/chalk": { - "version": "3.0.0", + "node_modules/array-union": { + "version": "2.1.0", + "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { "node": ">=8" } }, - "node_modules/cli-highlight/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/cli-highlight/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/cli-highlight/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/arrify": { + "version": "2.0.1", "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/cli-highlight/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/asap": { + "version": "2.0.6", + "license": "MIT" + }, + "node_modules/ast-types": { + "version": "0.13.4", "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "tslib": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/cli-spinners": { - "version": "2.9.0", + "node_modules/async": { + "version": "2.6.4", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/async-listener": { + "version": "0.6.10", + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^5.3.0", + "shimmer": "^1.1.0" + }, + "engines": { + "node": "<=0.11.8 || >0.11.10" + } + }, + "node_modules/async-listener/node_modules/semver": { + "version": "5.7.1", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/async-retry": { + "version": "1.3.3", + "license": "MIT", + "dependencies": { + "retry": "0.13.1" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "license": "MIT" + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/cli-table": { - "version": "0.3.11", - "dev": true, + "node_modules/aws-sdk": { + "version": "2.814.0", + "license": "Apache-2.0", "dependencies": { - "colors": "1.0.3" + "buffer": "4.9.2", + "events": "1.1.1", + "ieee754": "1.1.13", + "jmespath": "0.15.0", + "querystring": "0.2.0", + "sax": "1.2.1", + "url": "0.10.3", + "uuid": "3.3.2", + "xml2js": "0.4.19" }, "engines": { - "node": ">= 0.2.0" + "node": ">= 0.8.0" } }, - "node_modules/cli-tableau": { - "version": "2.0.1", + "node_modules/aws-sdk/node_modules/uuid": { + "version": "3.3.2", + "license": "MIT", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/aws4": { + "version": "1.12.0", + "license": "MIT" + }, + "node_modules/axios": { + "version": "0.27.2", + "license": "MIT", "dependencies": { - "chalk": "3.0.0" + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, + "node_modules/axios-retry": { + "version": "3.2.0", + "license": "Apache-2.0", + "dependencies": { + "is-retry-allowed": "^1.1.0" + } + }, + "node_modules/axios/node_modules/form-data": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { - "node": ">=8.10.0" + "node": ">= 6" } }, - "node_modules/cli-tableau/node_modules/ansi-styles": { + "node_modules/babel-jest": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/transform": "^29.5.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/node_modules/ansi-styles": { "version": "4.3.0", + "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -20836,19 +22151,24 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/cli-tableau/node_modules/chalk": { - "version": "3.0.0", + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/cli-tableau/node_modules/color-convert": { + "node_modules/babel-jest/node_modules/color-convert": { "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -20857,19 +22177,22 @@ "node": ">=7.0.0" } }, - "node_modules/cli-tableau/node_modules/color-name": { + "node_modules/babel-jest/node_modules/color-name": { "version": "1.1.4", + "dev": true, "license": "MIT" }, - "node_modules/cli-tableau/node_modules/has-flag": { + "node_modules/babel-jest/node_modules/has-flag": { "version": "4.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/cli-tableau/node_modules/supports-color": { + "node_modules/babel-jest/node_modules/supports-color": { "version": "7.2.0", + "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -20878,320 +22201,298 @@ "node": ">=8" } }, - "node_modules/cliui": { - "version": "6.0.0", - "license": "ISC", + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "license": "MIT", + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", + "node_modules/babel-plugin-jest-hoist": { + "version": "29.5.0", + "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/clone": { - "version": "1.0.4", + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.3", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.8" + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.4.0", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/clone-response": { - "version": "1.0.3", + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.1", "dev": true, "license": "MIT", "dependencies": { - "mimic-response": "^1.0.0" + "@babel/helper-define-polyfill-provider": "^0.4.0", + "core-js-compat": "^3.30.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/co": { - "version": "4.6.0", + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.0", "dev": true, "license": "MIT", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/code-error-fragment": { - "version": "0.0.230", + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", "dev": true, "license": "MIT", - "engines": { - "node": ">= 4" + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/code-point-at": { - "version": "1.1.0", + "node_modules/babel-preset-jest": { + "version": "29.5.0", + "dev": true, "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "dev": true, + "node_modules/balanced-match": { + "version": "1.0.2", "license": "MIT" }, - "node_modules/color-convert": { - "version": "1.9.3", - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", + "node_modules/base64-js": { + "version": "1.5.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT" }, - "node_modules/colors": { - "version": "1.0.3", - "dev": true, + "node_modules/base64id": { + "version": "2.0.0", "license": "MIT", "engines": { - "node": ">=0.1.90" + "node": "^4.5.0 || >= 5.9" } }, - "node_modules/combined-stream": { - "version": "1.0.8", + "node_modules/base64url": { + "version": "3.0.1", "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, "engines": { - "node": ">= 0.8" + "node": ">=6.0.0" } }, - "node_modules/command-line-args": { - "version": "5.2.1", + "node_modules/bcrypt": { + "version": "5.0.0", + "hasInstallScript": true, "license": "MIT", "dependencies": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" + "node-addon-api": "^3.0.0", + "node-pre-gyp": "0.15.0" }, "engines": { - "node": ">=4.0.0" + "node": ">= 10.0.0" } }, - "node_modules/command-line-usage": { - "version": "6.1.3", - "license": "MIT", - "dependencies": { - "array-back": "^4.0.2", - "chalk": "^2.4.2", - "table-layout": "^1.0.2", - "typical": "^5.2.0" - }, + "node_modules/big-integer": { + "version": "1.6.51", + "license": "Unlicense", "engines": { - "node": ">=8.0.0" + "node": ">=0.6" } }, - "node_modules/command-line-usage/node_modules/array-back": { - "version": "4.0.2", + "node_modules/bignumber.js": { + "version": "9.1.1", "license": "MIT", "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/command-line-usage/node_modules/typical": { - "version": "5.2.0", + "node_modules/binary-extensions": { + "version": "2.2.0", "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/commander": { - "version": "6.2.1", + "node_modules/bindings": { + "version": "1.5.0", "license": "MIT", - "engines": { - "node": ">= 6" + "dependencies": { + "file-uri-to-path": "1.0.0" } }, - "node_modules/comment-parser": { - "version": "0.7.6", + "node_modules/bl": { + "version": "4.1.0", "dev": true, "license": "MIT", - "engines": { - "node": ">= 6.0.0" + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/component-emitter": { - "version": "1.3.0", - "license": "MIT" - }, - "node_modules/component-type": { - "version": "1.2.1", - "license": "MIT" - }, - "node_modules/compressible": { - "version": "2.0.18", + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT", "dependencies": { - "mime-db": ">= 1.43.0 < 2" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/blessed": { + "version": "0.1.81", + "license": "MIT", + "bin": { + "blessed": "bin/tput.js" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.8.0" } }, - "node_modules/concat-map": { - "version": "0.0.1", + "node_modules/bluebird": { + "version": "2.11.0", "license": "MIT" }, - "node_modules/concat-stream": { - "version": "2.0.0", - "engines": [ - "node >= 6.0" - ], - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" - } + "node_modules/bodec": { + "version": "0.1.0", + "license": "MIT" }, - "node_modules/config": { - "version": "3.3.9", + "node_modules/body-parser": { + "version": "1.20.2", "license": "MIT", "dependencies": { - "json5": "^2.2.3" + "bytes": "3.1.2", + "content-type": "~1.0.5", + "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.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">= 10.0.0" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/config-chain": { - "version": "1.1.13", + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", "license": "MIT", "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "node_modules/configstore": { - "version": "5.0.1", - "license": "BSD-2-Clause", - "dependencies": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=8" + "ms": "2.0.0" } }, - "node_modules/confusing-browser-globals": { - "version": "1.0.11", - "dev": true, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", "license": "MIT" }, - "node_modules/console-control-strings": { - "version": "1.1.0", + "node_modules/boolbase": { + "version": "1.0.0", "license": "ISC" }, - "node_modules/content-disposition": { - "version": "0.5.3", - "license": "MIT", - "dependencies": { - "safe-buffer": "5.1.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/continuation-local-storage": { - "version": "3.2.1", - "license": "BSD-2-Clause", - "dependencies": { - "async-listener": "^0.6.0", - "emitter-listener": "^1.1.1" - } - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, - "node_modules/cookie": { - "version": "0.4.0", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "license": "MIT" - }, - "node_modules/cookiejar": { - "version": "2.1.4", + "node_modules/bowser": { + "version": "2.11.0", "license": "MIT" }, - "node_modules/copy-anything": { - "version": "3.0.5", + "node_modules/boxen": { + "version": "4.2.0", + "dev": true, "license": "MIT", "dependencies": { - "is-what": "^4.1.8" + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "cli-boxes": "^2.2.0", + "string-width": "^4.1.0", + "term-size": "^2.1.0", + "type-fest": "^0.8.1", + "widest-line": "^3.1.0" }, "engines": { - "node": ">=12.13" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, - "node_modules/copyfiles": { - "version": "2.4.1", - "dev": true, - "license": "MIT", - "dependencies": { - "glob": "^7.0.5", - "minimatch": "^3.0.3", - "mkdirp": "^1.0.4", - "noms": "0.0.0", - "through2": "^2.0.1", - "untildify": "^4.0.0", - "yargs": "^16.1.0" - }, - "bin": { - "copyfiles": "copyfiles", - "copyup": "copyfiles" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/copyfiles/node_modules/ansi-styles": { + "node_modules/boxen/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -21205,17 +22506,19 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/copyfiles/node_modules/cliui": { - "version": "7.0.4", + "node_modules/boxen/node_modules/chalk": { + "version": "3.0.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/copyfiles/node_modules/color-convert": { + "node_modules/boxen/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -21226,2215 +22529,1922 @@ "node": ">=7.0.0" } }, - "node_modules/copyfiles/node_modules/color-name": { + "node_modules/boxen/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/copyfiles/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", + "node_modules/boxen/node_modules/has-flag": { + "version": "4.0.0", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/copyfiles/node_modules/string-width": { - "version": "4.2.3", + "node_modules/boxen/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", "dev": true, "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, "engines": { "node": ">=8" } }, - "node_modules/copyfiles/node_modules/wrap-ansi": { - "version": "7.0.0", + "node_modules/boxen/node_modules/string-width": { + "version": "4.2.3", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/copyfiles/node_modules/y18n": { - "version": "5.0.8", - "dev": true, - "license": "ISC", "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/copyfiles/node_modules/yargs": { - "version": "16.2.0", + "node_modules/boxen/node_modules/supports-color": { + "version": "7.2.0", "dev": true, "license": "MIT", "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/copyfiles/node_modules/yargs-parser": { - "version": "20.2.9", + "node_modules/boxen/node_modules/type-fest": { + "version": "0.8.1", "dev": true, - "license": "ISC", + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=10" - } - }, - "node_modules/core-js": { - "version": "3.31.0", - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node": ">=8" } }, - "node_modules/core-js-compat": { - "version": "3.31.0", - "dev": true, + "node_modules/brace-expansion": { + "version": "1.1.11", "license": "MIT", "dependencies": { - "browserslist": "^4.21.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "license": "MIT" - }, - "node_modules/cors": { - "version": "2.8.5", + "node_modules/braces": { + "version": "3.0.2", "license": "MIT", "dependencies": { - "object-assign": "^4", - "vary": "^1" + "fill-range": "^7.0.1" }, "engines": { - "node": ">= 0.10" - } - }, - "node_modules/create-error": { - "version": "0.3.1", - "license": "MIT" - }, - "node_modules/create-require": { - "version": "1.1.1", - "dev": true, - "license": "MIT" - }, - "node_modules/cron": { - "version": "2.3.1", - "license": "MIT", - "dependencies": { - "luxon": "^3.2.1" + "node": ">=8" } }, - "node_modules/cron-time-generator": { - "version": "1.3.2", - "license": "MIT" - }, - "node_modules/croner": { - "version": "4.1.97", - "license": "MIT" - }, - "node_modules/cross-env": { - "version": "7.0.2", + "node_modules/browserslist": { + "version": "4.21.9", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.1" + "caniuse-lite": "^1.0.30001503", + "electron-to-chromium": "^1.4.431", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" }, "bin": { - "cross-env": "src/bin/cross-env.js", - "cross-env-shell": "src/bin/cross-env-shell.js" + "browserslist": "cli.js" }, "engines": { - "node": ">=10.14", - "npm": ">=6", - "yarn": ">=1" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/cross-fetch": { - "version": "3.1.6", + "node_modules/bs-logger": { + "version": "0.2.6", + "dev": true, "license": "MIT", "dependencies": { - "node-fetch": "^2.6.11" + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/cross-spawn": { - "version": "7.0.3", + "node_modules/bser": { + "version": "2.1.1", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" + "node-int64": "^0.4.0" } }, - "node_modules/crowd-sentiment": { - "version": "1.1.7", - "license": "Apache-2.0" + "node_modules/btoa-lite": { + "version": "1.0.0", + "license": "MIT" }, - "node_modules/crypt": { - "version": "0.0.2", - "license": "BSD-3-Clause", - "engines": { - "node": "*" + "node_modules/buffer": { + "version": "4.9.2", + "license": "MIT", + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, - "node_modules/crypto-js": { - "version": "4.1.1", + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "license": "BSD-3-Clause" + }, + "node_modules/buffer-from": { + "version": "1.1.2", "license": "MIT" }, - "node_modules/crypto-random-string": { + "node_modules/buffer-writer": { "version": "2.0.0", "license": "MIT", "engines": { - "node": ">=8" - } - }, - "node_modules/css-select": { - "version": "5.1.0", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "node": ">=4" } }, - "node_modules/css-select/node_modules/domhandler": { - "version": "5.0.3", - "license": "BSD-2-Clause", + "node_modules/bufferutil": { + "version": "4.0.7", + "hasInstallScript": true, + "license": "MIT", "dependencies": { - "domelementtype": "^2.3.0" + "node-gyp-build": "^4.3.0" }, "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "node": ">=6.14.2" } }, - "node_modules/css-what": { - "version": "6.1.0", - "license": "BSD-2-Clause", - "engines": { - "node": ">= 6" + "node_modules/bunyan": { + "version": "1.8.15", + "engines": [ + "node >=0.10.0" + ], + "license": "MIT", + "bin": { + "bunyan": "bin/bunyan" }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "optionalDependencies": { + "dtrace-provider": "~0.8", + "moment": "^2.19.3", + "mv": "~2", + "safe-json-stringify": "~1" } }, - "node_modules/culvert": { - "version": "0.1.2", - "license": "MIT" - }, - "node_modules/d": { - "version": "1.0.1", - "license": "ISC", + "node_modules/bunyan-format": { + "version": "0.2.1", + "license": "MIT", "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" + "ansicolors": "~0.2.1", + "ansistyles": "~0.1.1", + "xtend": "~2.1.1" } }, - "node_modules/data-uri-to-buffer": { - "version": "3.0.1", + "node_modules/bunyan-middleware": { + "version": "1.0.2", "license": "MIT", - "engines": { - "node": ">= 6" + "dependencies": { + "@types/bunyan": "^1.8.6", + "@types/express": "^4.0.35", + "uuid": "^8.3.2" } }, - "node_modules/date-and-time": { - "version": "0.14.2", - "license": "MIT" - }, - "node_modules/dayjs": { - "version": "1.11.8", - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.3.4", + "node_modules/bunyan-middleware/node_modules/uuid": { + "version": "8.3.2", "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/busboy": { + "version": "1.6.0", "dependencies": { - "ms": "2.1.2" + "streamsearch": "^1.1.0" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=10.16.0" } }, - "node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "license": "MIT" - }, - "node_modules/decamelize": { - "version": "1.2.0", + "node_modules/bytes": { + "version": "3.1.2", "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/decompress-response": { - "version": "3.3.0", + "node_modules/cacheable-request": { + "version": "6.1.0", "dev": true, "license": "MIT", "dependencies": { - "mimic-response": "^1.0.0" + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/dedent": { - "version": "0.7.0", + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", "dev": true, - "license": "MIT" - }, - "node_modules/deep-extend": { - "version": "0.6.0", "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, "engines": { - "node": ">=4.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "license": "MIT" - }, - "node_modules/deepmerge": { - "version": "4.3.1", + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "2.0.0", + "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/defaults": { - "version": "1.0.4", - "dev": true, + "node_modules/call-bind": { + "version": "1.0.2", "license": "MIT", "dependencies": { - "clone": "^1.0.2" + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/defer-to-connect": { - "version": "1.1.3", + "node_modules/call-me-maybe": { + "version": "1.0.2", "dev": true, "license": "MIT" }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", + "node_modules/callsites": { + "version": "3.1.0", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/define-properties": { - "version": "1.2.0", - "dev": true, + "node_modules/camelcase": { + "version": "5.3.1", "license": "MIT", - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "node_modules/degenerator": { - "version": "3.0.4", + "node_modules/caniuse-lite": { + "version": "1.0.30001506", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "2.4.2", "license": "MIT", "dependencies": { - "ast-types": "^0.13.2", - "escodegen": "^1.8.1", - "esprima": "^4.0.0", - "vm2": "^3.9.17" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">= 6" + "node": ">=4" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", + "node_modules/char-regex": { + "version": "1.0.2", + "dev": true, "license": "MIT", "engines": { - "node": ">=0.4.0" + "node": ">=10" } }, - "node_modules/delegates": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/depd": { - "version": "2.0.0", - "license": "MIT", + "node_modules/charenc": { + "version": "0.0.2", + "license": "BSD-3-Clause", "engines": { - "node": ">= 0.8" + "node": "*" } }, - "node_modules/deprecation": { - "version": "2.3.1", - "license": "ISC" + "node_modules/charm": { + "version": "0.1.2", + "license": "MIT/X11" }, - "node_modules/destroy": { - "version": "1.2.0", + "node_modules/chokidar": { + "version": "3.5.3", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/detect-libc": { - "version": "1.0.3", - "license": "Apache-2.0", - "bin": { - "detect-libc": "bin/detect-libc.js" + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" }, "engines": { - "node": ">=0.10" + "node": ">= 6" } }, - "node_modules/detect-newline": { - "version": "3.1.0", + "node_modules/chownr": { + "version": "1.1.4", + "license": "ISC" + }, + "node_modules/ci-info": { + "version": "3.8.0", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/dezalgo": { - "version": "1.0.4", - "license": "ISC", + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "dev": true, + "license": "MIT" + }, + "node_modules/clearbit": { + "version": "1.3.5", + "license": "MIT", "dependencies": { - "asap": "^2.0.0", - "wrappy": "1" + "bluebird": "2", + "create-error": "0.3", + "lodash": "4.x", + "needle": "clearbit/needle#84d28b5f2c3916db1e7eb84aeaa9d976cc40054b" } }, - "node_modules/diff": { - "version": "4.0.2", + "node_modules/cli-boxes": { + "version": "2.2.1", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "engines": { - "node": ">=0.3.1" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/diff-sequences": { - "version": "29.4.3", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node_modules/cli-color": { + "version": "1.4.0", + "license": "ISC", + "dependencies": { + "ansi-regex": "^2.1.1", + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "memoizee": "^0.4.14", + "timers-ext": "^0.1.5" } }, - "node_modules/dir-glob": { - "version": "3.0.1", + "node_modules/cli-cursor": { + "version": "3.1.0", "dev": true, "license": "MIT", "dependencies": { - "path-type": "^4.0.0" + "restore-cursor": "^3.1.0" }, "engines": { "node": ">=8" } }, - "node_modules/discontinuous-range": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/discord-api-types": { - "version": "0.37.46", - "license": "MIT" - }, - "node_modules/discord.js": { - "version": "14.11.0", - "license": "Apache-2.0", + "node_modules/cli-highlight": { + "version": "2.1.6", + "license": "ISC", "dependencies": { - "@discordjs/builders": "^1.6.3", - "@discordjs/collection": "^1.5.1", - "@discordjs/formatters": "^0.3.1", - "@discordjs/rest": "^1.7.1", - "@discordjs/util": "^0.3.1", - "@discordjs/ws": "^0.8.3", - "@sapphire/snowflake": "^3.4.2", - "@types/ws": "^8.5.4", - "discord-api-types": "^0.37.41", - "fast-deep-equal": "^3.1.3", - "lodash.snakecase": "^4.1.1", - "tslib": "^2.5.0", - "undici": "^5.22.0", - "ws": "^8.13.0" + "chalk": "^3.0.0", + "highlight.js": "^10.0.0", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^5.1.1", + "yargs": "^15.0.0" }, - "engines": { - "node": ">=16.9.0" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" + "bin": { + "highlight": "bin/highlight" }, "engines": { - "node": ">=6.0.0" + "node": ">=8.0.0", + "npm": ">=5.0.0" } }, - "node_modules/dom-serializer": { - "version": "2.0.0", + "node_modules/cli-highlight/node_modules/ansi-styles": { + "version": "4.3.0", "license": "MIT", "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/dom-serializer/node_modules/domhandler": { - "version": "5.0.3", - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.3.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 4" + "node": ">=8" }, "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/domelementtype": { - "version": "2.3.0", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/domhandler": { - "version": "4.3.1", - "license": "BSD-2-Clause", + "node_modules/cli-highlight/node_modules/chalk": { + "version": "3.0.0", + "license": "MIT", "dependencies": { - "domelementtype": "^2.2.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "node": ">=8" } }, - "node_modules/domutils": { - "version": "3.1.0", - "license": "BSD-2-Clause", + "node_modules/cli-highlight/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" + "color-name": "~1.1.4" }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/domutils/node_modules/domhandler": { - "version": "5.0.3", - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.3.0" - }, + "node_modules/cli-highlight/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/cli-highlight/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "node": ">=8" } }, - "node_modules/dot-prop": { - "version": "5.3.0", + "node_modules/cli-highlight/node_modules/supports-color": { + "version": "7.2.0", "license": "MIT", "dependencies": { - "is-obj": "^2.0.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/dotenv": { - "version": "8.2.0", - "license": "BSD-2-Clause", + "node_modules/cli-spinners": { + "version": "2.9.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/dotenv-expand": { - "version": "8.0.3", - "license": "BSD-2-Clause", + "node_modules/cli-table": { + "version": "0.3.11", + "dev": true, + "dependencies": { + "colors": "1.0.3" + }, "engines": { - "node": ">=12" + "node": ">= 0.2.0" } }, - "node_modules/dottie": { - "version": "2.0.6", - "license": "MIT" - }, - "node_modules/dtrace-provider": { - "version": "0.8.8", - "hasInstallScript": true, - "license": "BSD-2-Clause", - "optional": true, + "node_modules/cli-tableau": { + "version": "2.0.1", "dependencies": { - "nan": "^2.14.0" + "chalk": "3.0.0" }, "engines": { - "node": ">=0.10" + "node": ">=8.10.0" } }, - "node_modules/duplexer3": { - "version": "0.1.5", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/duplexify": { - "version": "3.7.1", + "node_modules/cli-tableau/node_modules/ansi-styles": { + "version": "4.3.0", "license": "MIT", "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/duplexify/node_modules/readable-stream": { - "version": "2.3.8", + "node_modules/cli-tableau/node_modules/chalk": { + "version": "3.0.0", "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/duplexify/node_modules/string_decoder": { - "version": "1.1.1", + "node_modules/cli-tableau/node_modules/color-convert": { + "version": "2.0.1", "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/ecdsa-sig-formatter": { - "version": "1.0.11", - "license": "Apache-2.0", - "dependencies": { - "safe-buffer": "^5.0.1" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/editor": { - "version": "1.0.0", - "dev": true, + "node_modules/cli-tableau/node_modules/color-name": { + "version": "1.1.4", "license": "MIT" }, - "node_modules/editorconfig": { - "version": "0.15.3", + "node_modules/cli-tableau/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-tableau/node_modules/supports-color": { + "version": "7.2.0", "license": "MIT", "dependencies": { - "commander": "^2.19.0", - "lru-cache": "^4.1.5", - "semver": "^5.6.0", - "sigmund": "^1.0.1" + "has-flag": "^4.0.0" }, - "bin": { - "editorconfig": "bin/editorconfig" + "engines": { + "node": ">=8" } }, - "node_modules/editorconfig/node_modules/commander": { - "version": "2.20.3", - "license": "MIT" - }, - "node_modules/editorconfig/node_modules/lru-cache": { - "version": "4.1.5", + "node_modules/cliui": { + "version": "6.0.0", "license": "ISC", "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "node_modules/editorconfig/node_modules/semver": { - "version": "5.7.1", - "license": "ISC", - "bin": { - "semver": "bin/semver" + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/editorconfig/node_modules/yallist": { - "version": "2.1.2", - "license": "ISC" - }, - "node_modules/ee-first": { - "version": "1.1.1", - "license": "MIT" - }, - "node_modules/electron-to-chromium": { - "version": "1.4.437", - "dev": true, - "license": "ISC" - }, - "node_modules/emitter-listener": { - "version": "1.1.2", - "license": "BSD-2-Clause", + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "license": "MIT", "dependencies": { - "shimmer": "^1.2.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/emittery": { - "version": "0.13.1", + "node_modules/clone": { + "version": "1.0.4", "dev": true, "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" + "node": ">=0.8" } }, - "node_modules/emoji-chars": { - "version": "1.0.12", + "node_modules/clone-response": { + "version": "1.0.3", + "dev": true, "license": "MIT", "dependencies": { - "emoji-unicode-map": "^1.0.0" + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/emoji-dictionary": { - "version": "1.0.11", + "node_modules/co": { + "version": "4.6.0", + "dev": true, "license": "MIT", - "dependencies": { - "emoji-chars": "^1.0.0", - "emoji-name-map": "^1.0.0", - "emoji-names": "^1.0.1", - "emoji-unicode-map": "^1.0.0", - "emojilib": "^2.0.2" + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/emoji-name-map": { - "version": "1.2.9", + "node_modules/code-error-fragment": { + "version": "0.0.230", + "dev": true, "license": "MIT", - "dependencies": { - "emojilib": "^2.0.2", - "iterate-object": "^1.3.1", - "map-o": "^2.0.1" + "engines": { + "node": ">= 4" } }, - "node_modules/emoji-names": { - "version": "1.0.12", + "node_modules/code-point-at": { + "version": "1.1.0", "license": "MIT", - "dependencies": { - "emoji-name-map": "^1.0.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/emoji-regex": { - "version": "8.0.0", + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "dev": true, "license": "MIT" }, - "node_modules/emoji-unicode-map": { - "version": "1.1.11", + "node_modules/color-convert": { + "version": "1.9.3", "license": "MIT", "dependencies": { - "emoji-name-map": "^1.1.0", - "iterate-object": "^1.3.1" + "color-name": "1.1.3" } }, - "node_modules/emojilib": { - "version": "2.4.0", + "node_modules/color-name": { + "version": "1.1.3", "license": "MIT" }, - "node_modules/encodeurl": { - "version": "1.0.2", + "node_modules/colors": { + "version": "1.0.3", + "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=0.1.90" } }, - "node_modules/encoding": { - "version": "0.1.13", + "node_modules/combined-stream": { + "version": "1.0.8", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "iconv-lite": "^0.6.2" + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", + "node_modules/command-line-args": { + "version": "5.2.1", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "license": "MIT", - "dependencies": { - "once": "^1.4.0" + "node": ">=4.0.0" } }, - "node_modules/engine.io": { - "version": "6.4.2", + "node_modules/command-line-usage": { + "version": "6.1.3", "license": "MIT", "dependencies": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.0.3", - "ws": "~8.11.0" + "array-back": "^4.0.2", + "chalk": "^2.4.2", + "table-layout": "^1.0.2", + "typical": "^5.2.0" }, "engines": { - "node": ">=10.0.0" + "node": ">=8.0.0" } }, - "node_modules/engine.io-parser": { - "version": "5.0.7", + "node_modules/command-line-usage/node_modules/array-back": { + "version": "4.0.2", "license": "MIT", "engines": { - "node": ">=10.0.0" + "node": ">=8" } }, - "node_modules/engine.io/node_modules/cookie": { - "version": "0.4.2", + "node_modules/command-line-usage/node_modules/typical": { + "version": "5.2.0", "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/engine.io/node_modules/ws": { - "version": "8.11.0", + "node_modules/commander": { + "version": "6.2.1", "license": "MIT", "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "node": ">= 6" } }, - "node_modules/enquirer": { - "version": "2.3.6", + "node_modules/comment-parser": { + "version": "0.7.6", + "dev": true, "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.1" - }, "engines": { - "node": ">=8.6" + "node": ">= 6.0.0" } }, - "node_modules/ent": { - "version": "2.2.0", + "node_modules/component-emitter": { + "version": "1.3.0", "license": "MIT" }, - "node_modules/entities": { - "version": "4.5.0", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } + "node_modules/component-type": { + "version": "1.2.1", + "license": "MIT" }, - "node_modules/erlpack": { - "version": "0.1.4", - "hasInstallScript": true, + "node_modules/compressible": { + "version": "2.0.18", "license": "MIT", "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.15.0" + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/error-ex": { - "version": "1.3.2", + "node_modules/concat-map": { + "version": "0.0.1", + "license": "MIT" + }, + "node_modules/concat-stream": { + "version": "2.0.0", + "engines": [ + "node >= 6.0" + ], "license": "MIT", "dependencies": { - "is-arrayish": "^0.2.1" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" } }, - "node_modules/es-abstract": { - "version": "1.21.2", - "dev": true, + "node_modules/config": { + "version": "3.3.9", "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.0", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" + "json5": "^2.2.3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 10.0.0" } }, - "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "dev": true, + "node_modules/config-chain": { + "version": "1.1.13", "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" + "ini": "^1.3.4", + "proto-list": "~1.2.1" } }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "dev": true, - "license": "MIT", + "node_modules/configstore": { + "version": "5.0.1", + "license": "BSD-2-Clause", "dependencies": { - "has": "^1.0.3" + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/es-to-primitive": { - "version": "1.2.1", + "node_modules/confusing-browser-globals": { + "version": "1.0.11", "dev": true, + "license": "MIT" + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "license": "ISC" + }, + "node_modules/content-disposition": { + "version": "0.5.3", "license": "MIT", "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "safe-buffer": "5.1.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.6" } }, - "node_modules/es5-ext": { - "version": "0.10.62", - "hasInstallScript": true, - "license": "ISC", - "dependencies": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "next-tick": "^1.1.0" - }, + "node_modules/content-type": { + "version": "1.0.5", + "license": "MIT", "engines": { - "node": ">=0.10" + "node": ">= 0.6" } }, - "node_modules/es6-iterator": { - "version": "2.0.3", - "license": "MIT", + "node_modules/continuation-local-storage": { + "version": "3.2.1", + "license": "BSD-2-Clause", "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "async-listener": "^0.6.0", + "emitter-listener": "^1.1.1" } }, - "node_modules/es6-promise": { - "version": "3.3.1", + "node_modules/convert-source-map": { + "version": "1.9.0", "dev": true, "license": "MIT" }, - "node_modules/es6-symbol": { - "version": "3.1.3", - "license": "ISC", - "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "node_modules/es6-weak-map": { - "version": "2.0.3", - "license": "ISC", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "dev": true, + "node_modules/cookie": { + "version": "0.4.0", "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 0.6" } }, - "node_modules/escape-goat": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } + "node_modules/cookie-signature": { + "version": "1.0.6", + "license": "MIT" }, - "node_modules/escape-html": { - "version": "1.0.3", + "node_modules/cookiejar": { + "version": "2.1.4", "license": "MIT" }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", + "node_modules/copy-anything": { + "version": "3.0.5", "license": "MIT", + "dependencies": { + "is-what": "^4.1.8" + }, "engines": { - "node": ">=0.8.0" + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" } }, - "node_modules/escodegen": { - "version": "1.14.3", - "license": "BSD-2-Clause", + "node_modules/copyfiles": { + "version": "2.4.1", + "dev": true, + "license": "MIT", "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" + "glob": "^7.0.5", + "minimatch": "^3.0.3", + "mkdirp": "^1.0.4", + "noms": "0.0.0", + "through2": "^2.0.1", + "untildify": "^4.0.0", + "yargs": "^16.1.0" }, "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=4.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" + "copyfiles": "copyfiles", + "copyup": "copyfiles" } }, - "node_modules/escodegen/node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", + "node_modules/copyfiles/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, "license": "MIT", "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", + "node_modules/copyfiles/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/copyfiles/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 0.8.0" + "node": ">=7.0.0" } }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", + "node_modules/copyfiles/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/copyfiles/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", + "node_modules/copyfiles/node_modules/string-width": { + "version": "4.2.3", + "dev": true, "license": "MIT", "dependencies": { - "prelude-ls": "~1.1.2" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/eslint": { - "version": "8.43.0", + "node_modules/copyfiles/node_modules/wrap-ansi": { + "version": "7.0.0", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.43.0", - "@humanwhocodes/config-array": "^0.11.10", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/eslint-config-airbnb-base": { - "version": "15.0.0", + "node_modules/copyfiles/node_modules/y18n": { + "version": "5.0.8", "dev": true, - "license": "MIT", - "dependencies": { - "confusing-browser-globals": "^1.0.10", - "object.assign": "^4.1.2", - "object.entries": "^1.1.5", - "semver": "^6.3.0" - }, + "license": "ISC", "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "peerDependencies": { - "eslint": "^7.32.0 || ^8.2.0", - "eslint-plugin-import": "^2.25.2" + "node": ">=10" } }, - "node_modules/eslint-config-airbnb-typescript": { + "node_modules/copyfiles/node_modules/yargs": { "version": "16.2.0", "dev": true, "license": "MIT", "dependencies": { - "eslint-config-airbnb-base": "^15.0.0" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.0.0", - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^7.32.0 || ^8.2.0", - "eslint-plugin-import": "^2.25.3" + "engines": { + "node": ">=10" } }, - "node_modules/eslint-config-prettier": { - "version": "8.8.0", + "node_modules/copyfiles/node_modules/yargs-parser": { + "version": "20.2.9", "dev": true, - "license": "MIT", - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" + "license": "ISC", + "engines": { + "node": ">=10" } }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.7", - "dev": true, + "node_modules/core-js": { + "version": "3.31.0", + "hasInstallScript": true, "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", + "node_modules/core-js-compat": { + "version": "3.31.0", "dev": true, "license": "MIT", "dependencies": { - "ms": "^2.1.1" + "browserslist": "^4.21.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/eslint-module-utils": { - "version": "2.8.0", - "dev": true, + "node_modules/core-util-is": { + "version": "1.0.3", + "license": "MIT" + }, + "node_modules/cors": { + "version": "2.8.5", "license": "MIT", "dependencies": { - "debug": "^3.2.7" + "object-assign": "^4", + "vary": "^1" }, "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } + "node": ">= 0.10" } }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", + "node_modules/create-error": { + "version": "0.3.1", + "license": "MIT" + }, + "node_modules/create-require": { + "version": "1.1.1", "dev": true, + "license": "MIT" + }, + "node_modules/cron": { + "version": "2.3.1", "license": "MIT", "dependencies": { - "ms": "^2.1.1" + "luxon": "^3.2.1" } }, - "node_modules/eslint-plugin-import": { - "version": "2.27.5", + "node_modules/cron-time-generator": { + "version": "1.3.2", + "license": "MIT" + }, + "node_modules/croner": { + "version": "4.1.97", + "license": "MIT" + }, + "node_modules/cross-env": { + "version": "7.0.2", "dev": true, "license": "MIT", "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" + "cross-spawn": "^7.0.1" }, - "engines": { - "node": ">=4" + "bin": { + "cross-env": "src/bin/cross-env.js", + "cross-env-shell": "src/bin/cross-env-shell.js" }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "engines": { + "node": ">=10.14", + "npm": ">=6", + "yarn": ">=1" } }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "dev": true, + "node_modules/cross-fetch": { + "version": "3.1.6", "license": "MIT", "dependencies": { - "ms": "^2.1.1" + "node-fetch": "^2.6.11" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", + "node_modules/cross-spawn": { + "version": "7.0.3", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "esutils": "^2.0.2" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8" } }, - "node_modules/eslint-plugin-import/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } + "node_modules/crowd-sentiment": { + "version": "1.1.7", + "license": "Apache-2.0" }, - "node_modules/eslint-plugin-import/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, + "node_modules/crypt": { + "version": "0.0.2", + "license": "BSD-3-Clause", "engines": { - "node": ">=4" + "node": "*" } }, - "node_modules/eslint-plugin-import/node_modules/tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } + "node_modules/crypto-js": { + "version": "4.1.1", + "license": "MIT" }, - "node_modules/eslint-plugin-openapi": { - "version": "0.0.4", - "dev": true, + "node_modules/crypto-random-string": { + "version": "2.0.0", "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "license": "BSD-2-Clause", "dependencies": { - "comment-parser": "^0.7.4" + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "dev": true, + "node_modules/css-select/node_modules/domhandler": { + "version": "5.0.3", "license": "BSD-2-Clause", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "domelementtype": "^2.3.0" }, "engines": { - "node": ">=8.0.0" + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "dev": true, - "license": "Apache-2.0", + "node_modules/css-what": { + "version": "6.1.0", + "license": "BSD-2-Clause", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 6" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/eslint/node_modules/ajv": { - "version": "6.12.6", - "dev": true, - "license": "MIT", + "node_modules/culvert": { + "version": "0.1.2", + "license": "MIT" + }, + "node_modules/d": { + "version": "1.0.1", + "license": "ISC", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "es5-ext": "^0.10.50", + "type": "^1.0.1" } }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, + "node_modules/data-uri-to-buffer": { + "version": "3.0.1", "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 6" } }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "dev": true, + "node_modules/date-and-time": { + "version": "0.14.2", + "license": "MIT" + }, + "node_modules/dayjs": { + "version": "1.11.8", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.4", "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "ms": "2.1.2" }, "engines": { - "node": ">=10" + "node": ">=6.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "license": "MIT" + }, + "node_modules/decamelize": { + "version": "1.2.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-response": { + "version": "3.3.0", "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "mimic-response": "^1.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=4" } }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", + "node_modules/dedent": { + "version": "0.7.0", "dev": true, "license": "MIT" }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "dev": true, + "node_modules/deep-extend": { + "version": "0.6.0", "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4.0.0" } }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } + "node_modules/deep-is": { + "version": "0.1.4", + "license": "MIT" }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/deepmerge": { + "version": "4.3.1", + "license": "MIT", "engines": { - "node": ">=4.0" + "node": ">=0.10.0" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.20.0", + "node_modules/defaults": { + "version": "1.0.4", "dev": true, "license": "MIT", "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" + "clone": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/json-schema-traverse": { - "version": "0.4.1", + "node_modules/defer-to-connect": { + "version": "1.1.3", "dev": true, "license": "MIT" }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/define-lazy-prop": { + "version": "2.0.0", "dev": true, "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { "node": ">=8" } }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", + "node_modules/define-properties": { + "version": "1.2.0", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "MIT", + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/espree": { - "version": "9.5.2", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/degenerator": { + "version": "3.0.4", + "license": "MIT", "dependencies": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "ast-types": "^0.13.2", + "escodegen": "^1.8.1", + "esprima": "^4.0.0", + "vm2": "^3.9.17" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">= 6" } }, - "node_modules/esprima": { - "version": "4.0.1", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.4.0" } }, - "node_modules/esquery": { - "version": "1.5.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, + "node_modules/delegates": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/depd": { + "version": "2.0.0", + "license": "MIT", "engines": { - "node": ">=0.10" + "node": ">= 0.8" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/deprecation": { + "version": "2.3.1", + "license": "ISC" + }, + "node_modules/destroy": { + "version": "1.2.0", + "license": "MIT", "engines": { - "node": ">=4.0" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" + "node_modules/detect-libc": { + "version": "1.0.3", + "license": "Apache-2.0", + "bin": { + "detect-libc": "bin/detect-libc.js" }, "engines": { - "node": ">=4.0" + "node": ">=0.10" } }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", + "node_modules/detect-newline": { + "version": "3.1.0", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "engines": { - "node": ">=4.0" + "node": ">=8" } }, - "node_modules/estraverse": { - "version": "4.3.0", - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" + "node_modules/dezalgo": { + "version": "1.0.4", + "license": "ISC", + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" } }, - "node_modules/esutils": { - "version": "2.0.3", - "license": "BSD-2-Clause", + "node_modules/diff": { + "version": "4.0.2", + "dev": true, + "license": "BSD-3-Clause", "engines": { - "node": ">=0.10.0" + "node": ">=0.3.1" } }, - "node_modules/etag": { - "version": "1.8.1", + "node_modules/diff-sequences": { + "version": "29.4.3", + "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/event-emitter": { - "version": "0.3.5", + "node_modules/dir-glob": { + "version": "3.0.1", + "dev": true, "license": "MIT", "dependencies": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "license": "MIT", + "path-type": "^4.0.0" + }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/eventemitter2": { - "version": "6.4.9", + "node_modules/discontinuous-range": { + "version": "1.0.0", "license": "MIT" }, - "node_modules/eventemitter3": { - "version": "3.1.2", + "node_modules/discord-api-types": { + "version": "0.37.46", "license": "MIT" }, - "node_modules/events": { - "version": "1.1.1", - "license": "MIT", + "node_modules/discord.js": { + "version": "14.11.0", + "license": "Apache-2.0", + "dependencies": { + "@discordjs/builders": "^1.6.3", + "@discordjs/collection": "^1.5.1", + "@discordjs/formatters": "^0.3.1", + "@discordjs/rest": "^1.7.1", + "@discordjs/util": "^0.3.1", + "@discordjs/ws": "^0.8.3", + "@sapphire/snowflake": "^3.4.2", + "@types/ws": "^8.5.4", + "discord-api-types": "^0.37.41", + "fast-deep-equal": "^3.1.3", + "lodash.snakecase": "^4.1.1", + "tslib": "^2.5.0", + "undici": "^5.22.0", + "ws": "^8.13.0" + }, "engines": { - "node": ">=0.4.x" + "node": ">=16.9.0" } }, - "node_modules/execa": { - "version": "5.1.1", + "node_modules/doctrine": { + "version": "3.0.0", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "esutils": "^2.0.2" }, "engines": { - "node": ">=10" + "node": ">=6.0.0" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/execa/node_modules/is-stream": { - "version": "2.0.1", - "dev": true, - "license": "MIT", + "node_modules/dom-serializer/node_modules/domhandler": { + "version": "5.0.3", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, "engines": { - "node": ">=8" + "node": ">= 4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/exit": { - "version": "0.1.2", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } + "node_modules/domelementtype": { + "version": "2.3.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" }, - "node_modules/expect": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/domhandler": { + "version": "4.3.1", + "license": "BSD-2-Clause", "dependencies": { - "@jest/expect-utils": "^29.5.0", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0" + "domelementtype": "^2.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/express": { - "version": "4.17.1", - "license": "MIT", + "node_modules/domutils": { + "version": "3.1.0", + "license": "BSD-2-Clause", "dependencies": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" }, - "engines": { - "node": ">= 0.10.0" + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/express-rate-limit": { - "version": "6.5.1", - "license": "MIT", + "node_modules/domutils/node_modules/domhandler": { + "version": "5.0.3", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, "engines": { - "node": ">= 12.9.0" + "node": ">= 4" }, - "peerDependencies": { - "express": "^4 || ^5" + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/express/node_modules/body-parser": { - "version": "1.19.0", + "node_modules/dot-prop": { + "version": "5.3.0", "license": "MIT", "dependencies": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" + "is-obj": "^2.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=8" } }, - "node_modules/express/node_modules/bytes": { - "version": "3.1.0", - "license": "MIT", + "node_modules/dotenv": { + "version": "8.2.0", + "license": "BSD-2-Clause", "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "node": ">=8" } }, - "node_modules/express/node_modules/depd": { - "version": "1.1.2", - "license": "MIT", + "node_modules/dotenv-expand": { + "version": "8.0.3", + "license": "BSD-2-Clause", "engines": { - "node": ">= 0.6" + "node": ">=12" } }, - "node_modules/express/node_modules/http-errors": { - "version": "1.7.2", - "license": "MIT", + "node_modules/dottie": { + "version": "2.0.6", + "license": "MIT" + }, + "node_modules/dtrace-provider": { + "version": "0.8.8", + "hasInstallScript": true, + "license": "BSD-2-Clause", + "optional": true, "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" + "nan": "^2.14.0" }, "engines": { - "node": ">= 0.6" + "node": ">=0.10" } }, - "node_modules/express/node_modules/inherits": { - "version": "2.0.3", - "license": "ISC" - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "license": "MIT" + "node_modules/duplexer3": { + "version": "0.1.5", + "dev": true, + "license": "BSD-3-Clause" }, - "node_modules/express/node_modules/on-finished": { - "version": "2.3.0", + "node_modules/duplexify": { + "version": "3.7.1", "license": "MIT", "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express/node_modules/qs": { - "version": "6.7.0", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.6" + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, - "node_modules/express/node_modules/raw-body": { - "version": "2.4.0", + "node_modules/duplexify/node_modules/readable-stream": { + "version": "2.3.8", "license": "MIT", "dependencies": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/express/node_modules/toidentifier": { - "version": "1.0.0", + "node_modules/duplexify/node_modules/string_decoder": { + "version": "1.1.1", "license": "MIT", - "engines": { - "node": ">=0.6" + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "node_modules/ext": { - "version": "1.7.0", - "license": "ISC", + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "license": "Apache-2.0", "dependencies": { - "type": "^2.7.2" + "safe-buffer": "^5.0.1" } }, - "node_modules/ext/node_modules/type": { - "version": "2.7.2", - "license": "ISC" - }, - "node_modules/extend": { - "version": "3.0.2", + "node_modules/editor": { + "version": "1.0.0", + "dev": true, "license": "MIT" }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "dev": true, + "node_modules/editorconfig": { + "version": "0.15.3", "license": "MIT", "dependencies": { - "is-extendable": "^0.1.0" + "commander": "^2.19.0", + "lru-cache": "^4.1.5", + "semver": "^5.6.0", + "sigmund": "^1.0.1" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "editorconfig": "bin/editorconfig" } }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", + "node_modules/editorconfig/node_modules/commander": { + "version": "2.20.3", "license": "MIT" }, - "node_modules/fast-glob": { - "version": "3.2.12", - "dev": true, - "license": "MIT", + "node_modules/editorconfig/node_modules/lru-cache": { + "version": "4.1.5", + "license": "ISC", "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "dev": true, + "node_modules/editorconfig/node_modules/semver": { + "version": "5.7.1", "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" + "bin": { + "semver": "bin/semver" } }, - "node_modules/fast-json-patch": { - "version": "3.1.1", + "node_modules/editorconfig/node_modules/yallist": { + "version": "2.1.2", + "license": "ISC" + }, + "node_modules/ee-first": { + "version": "1.1.1", "license": "MIT" }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", + "node_modules/electron-to-chromium": { + "version": "1.4.437", "dev": true, - "license": "MIT" + "license": "ISC" }, - "node_modules/fast-levenshtein": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz", - "integrity": "sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==", + "node_modules/emitter-listener": { + "version": "1.1.2", + "license": "BSD-2-Clause", "dependencies": { - "fastest-levenshtein": "^1.0.7" + "shimmer": "^1.2.0" } }, - "node_modules/fast-safe-stringify": { - "version": "2.1.1", - "license": "MIT" - }, - "node_modules/fast-text-encoding": { - "version": "1.0.6", - "license": "Apache-2.0" - }, - "node_modules/fast-xml-parser": { - "version": "4.2.4", - "funding": [ - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - }, - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - } - ], + "node_modules/emittery": { + "version": "0.13.1", + "dev": true, "license": "MIT", - "dependencies": { - "strnum": "^1.0.5" - }, - "bin": { - "fxparser": "src/cli/cli.js" - } - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "engines": { - "node": ">= 4.9.1" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "node_modules/fastq": { - "version": "1.15.0", - "dev": true, - "license": "ISC", + "node_modules/emoji-chars": { + "version": "1.0.12", + "license": "MIT", "dependencies": { - "reusify": "^1.0.4" + "emoji-unicode-map": "^1.0.0" } }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "dev": true, - "license": "Apache-2.0", + "node_modules/emoji-dictionary": { + "version": "1.0.11", + "license": "MIT", "dependencies": { - "bser": "2.1.1" + "emoji-chars": "^1.0.0", + "emoji-name-map": "^1.0.0", + "emoji-names": "^1.0.1", + "emoji-unicode-map": "^1.0.0", + "emojilib": "^2.0.2" } }, - "node_modules/fclone": { - "version": "1.0.11", - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "dev": true, + "node_modules/emoji-name-map": { + "version": "1.2.9", "license": "MIT", "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" + "emojilib": "^2.0.2", + "iterate-object": "^1.3.1", + "map-o": "^2.0.1" } }, - "node_modules/file-type": { - "version": "18.5.0", + "node_modules/emoji-names": { + "version": "1.0.12", "license": "MIT", "dependencies": { - "readable-web-to-node-stream": "^3.0.2", - "strtok3": "^7.0.0", - "token-types": "^5.0.1" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/file-type?sponsor=1" + "emoji-name-map": "^1.0.0" } }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", + "node_modules/emoji-regex": { + "version": "8.0.0", "license": "MIT" }, - "node_modules/fill-range": { - "version": "7.0.1", + "node_modules/emoji-unicode-map": { + "version": "1.1.11", "license": "MIT", "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" + "emoji-name-map": "^1.1.0", + "iterate-object": "^1.3.1" } }, - "node_modules/finalhandler": { - "version": "1.1.2", + "node_modules/emojilib": { + "version": "2.4.0", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "1.0.2", "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, "engines": { "node": ">= 0.8" } }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", + "node_modules/encoding": { + "version": "0.1.13", "license": "MIT", + "optional": true, + "peer": true, "dependencies": { - "ms": "2.0.0" + "iconv-lite": "^0.6.2" } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "license": "MIT" - }, - "node_modules/finalhandler/node_modules/on-finished": { - "version": "2.3.0", + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", "license": "MIT", + "optional": true, + "peer": true, "dependencies": { - "ee-first": "1.1.1" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/find-replace": { - "version": "3.0.0", + "node_modules/end-of-stream": { + "version": "1.4.4", "license": "MIT", "dependencies": { - "array-back": "^3.0.1" - }, - "engines": { - "node": ">=4.0.0" + "once": "^1.4.0" } }, - "node_modules/find-up": { - "version": "5.0.0", - "dev": true, + "node_modules/engine.io": { + "version": "6.4.2", "license": "MIT", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.11.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10.0.0" } }, - "node_modules/flat-cache": { - "version": "3.0.4", - "dev": true, + "node_modules/engine.io-parser": { + "version": "5.0.7", "license": "MIT", - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=10.0.0" } }, - "node_modules/flatted": { - "version": "3.2.7", - "dev": true, - "license": "ISC" - }, - "node_modules/follow-redirects": { - "version": "1.15.2", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], + "node_modules/engine.io/node_modules/cookie": { + "version": "0.4.2", "license": "MIT", "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } + "node": ">= 0.6" } }, - "node_modules/for-each": { - "version": "0.3.3", - "dev": true, + "node_modules/engine.io/node_modules/ws": { + "version": "8.11.0", "license": "MIT", - "dependencies": { - "is-callable": "^1.1.3" + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/form-data": { - "version": "2.5.1", + "node_modules/enquirer": { + "version": "2.3.6", "license": "MIT", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "ansi-colors": "^4.1.1" }, "engines": { - "node": ">= 0.12" + "node": ">=8.6" } }, - "node_modules/formidable": { - "version": "1.2.6", - "license": "MIT", + "node_modules/ent": { + "version": "2.2.0", + "license": "MIT" + }, + "node_modules/entities": { + "version": "4.5.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, "funding": { - "url": "https://ko-fi.com/tunnckoCore/commissions" + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/formidable-serverless": { - "version": "1.1.1", + "node_modules/erlpack": { + "version": "0.1.4", "license": "MIT", "dependencies": { - "formidable": "^1.2.2" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "license": "MIT", - "engines": { - "node": ">= 0.6" + "bindings": "^1.5.0", + "nan": "^2.15.0" } }, - "node_modules/fresh": { - "version": "0.5.2", + "node_modules/error-ex": { + "version": "1.3.2", "license": "MIT", - "engines": { - "node": ">= 0.6" + "dependencies": { + "is-arrayish": "^0.2.1" } }, - "node_modules/fs-extra": { - "version": "8.1.0", + "node_modules/es-abstract": { + "version": "1.21.2", + "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "array-buffer-byte-length": "^1.0.0", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.0", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" }, "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/fs-minipass": { - "version": "1.2.7", - "license": "ISC", - "dependencies": { - "minipass": "^2.6.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "license": "ISC" - }, - "node_modules/ftp": { - "version": "0.3.10", + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "readable-stream": "1.1.x", - "xregexp": "2.0.0" + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=0.8.0" + "node": ">= 0.4" } }, - "node_modules/ftp/node_modules/isarray": { - "version": "0.0.1", - "license": "MIT" - }, - "node_modules/ftp/node_modules/readable-stream": { - "version": "1.1.14", + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "dev": true, "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "has": "^1.0.3" } }, - "node_modules/ftp/node_modules/string_decoder": { - "version": "0.10.31", - "license": "MIT" - }, - "node_modules/function-bind": { - "version": "1.1.1", - "license": "MIT" - }, - "node_modules/function.prototype.name": { - "version": "1.1.5", + "node_modules/es-to-primitive": { + "version": "1.2.1", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -23443,1223 +24453,1230 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "dev": true, + "node_modules/es5-ext": { + "version": "0.10.62", + "hasInstallScript": true, + "license": "ISC", + "dependencies": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" } }, - "node_modules/gauge": { - "version": "2.7.4", + "node_modules/es6-promise": { + "version": "3.3.1", + "dev": true, + "license": "MIT" + }, + "node_modules/es6-symbol": { + "version": "3.1.3", "license": "ISC", "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "d": "^1.0.1", + "ext": "^1.1.2" } }, - "node_modules/gauge/node_modules/strip-ansi": { - "version": "3.0.1", - "license": "MIT", + "node_modules/es6-weak-map": { + "version": "2.0.3", + "license": "ISC", "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" } }, - "node_modules/gaxios": { - "version": "3.2.0", - "license": "Apache-2.0", - "dependencies": { - "abort-controller": "^3.0.0", - "extend": "^3.0.2", - "https-proxy-agent": "^5.0.0", - "is-stream": "^2.0.0", - "node-fetch": "^2.3.0" - }, + "node_modules/escalade": { + "version": "3.1.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/gaxios/node_modules/is-stream": { - "version": "2.0.1", + "node_modules/escape-goat": { + "version": "2.1.1", + "dev": true, "license": "MIT", "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/gcp-metadata": { - "version": "4.3.1", - "license": "Apache-2.0", - "dependencies": { - "gaxios": "^4.0.0", - "json-bigint": "^1.0.0" - }, + "node_modules/escape-html": { + "version": "1.0.3", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=0.8.0" } }, - "node_modules/gcp-metadata/node_modules/gaxios": { - "version": "4.3.3", - "license": "Apache-2.0", + "node_modules/escodegen": { + "version": "1.14.3", + "license": "BSD-2-Clause", "dependencies": { - "abort-controller": "^3.0.0", - "extend": "^3.0.2", - "https-proxy-agent": "^5.0.0", - "is-stream": "^2.0.0", - "node-fetch": "^2.6.7" + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" }, "engines": { - "node": ">=10" + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "node_modules/gcp-metadata/node_modules/is-stream": { - "version": "2.0.1", + "node_modules/escodegen/node_modules/fast-levenshtein": { + "version": "2.0.6", + "license": "MIT" + }, + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/gcs-resumable-upload": { - "version": "3.6.0", + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", "license": "MIT", "dependencies": { - "abort-controller": "^3.0.0", - "async-retry": "^1.3.3", - "configstore": "^5.0.0", - "extend": "^3.0.2", - "gaxios": "^4.0.0", - "google-auth-library": "^7.0.0", - "pumpify": "^2.0.0", - "stream-events": "^1.0.4" - }, - "bin": { - "gcs-upload": "build/src/cli.js" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" }, "engines": { - "node": ">=10" + "node": ">= 0.8.0" } }, - "node_modules/gcs-resumable-upload/node_modules/gaxios": { - "version": "4.3.3", - "license": "Apache-2.0", + "node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "license": "MIT", "dependencies": { - "abort-controller": "^3.0.0", - "extend": "^3.0.2", - "https-proxy-agent": "^5.0.0", - "is-stream": "^2.0.0", - "node-fetch": "^2.6.7" + "prelude-ls": "~1.1.2" }, "engines": { - "node": ">=10" + "node": ">= 0.8.0" } }, - "node_modules/gcs-resumable-upload/node_modules/is-stream": { - "version": "2.0.1", + "node_modules/eslint": { + "version": "8.43.0", + "dev": true, "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.43.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", + "node_modules/eslint-config-airbnb-base": { + "version": "15.0.0", "dev": true, "license": "MIT", + "dependencies": { + "confusing-browser-globals": "^1.0.10", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5", + "semver": "^6.3.0" + }, "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": "^10.12.0 || >=12.0.0" + }, + "peerDependencies": { + "eslint": "^7.32.0 || ^8.2.0", + "eslint-plugin-import": "^2.25.2" } }, - "node_modules/get-intrinsic": { - "version": "1.2.1", + "node_modules/eslint-config-airbnb-typescript": { + "version": "16.2.0", + "dev": true, "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "eslint-config-airbnb-base": "^15.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0", + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^7.32.0 || ^8.2.0", + "eslint-plugin-import": "^2.25.3" } }, - "node_modules/get-package-type": { - "version": "0.1.0", + "node_modules/eslint-config-prettier": { + "version": "8.8.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=8.0.0" + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" } }, - "node_modules/get-stream": { - "version": "6.0.1", + "node_modules/eslint-import-resolver-node": { + "version": "0.3.7", "dev": true, "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" } }, - "node_modules/get-symbol-description": { - "version": "1.0.0", + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "ms": "^2.1.1" } }, - "node_modules/get-uri": { - "version": "3.0.2", + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "dev": true, "license": "MIT", "dependencies": { - "@tootallnate/once": "1", - "data-uri-to-buffer": "3", - "debug": "4", - "file-uri-to-path": "2", - "fs-extra": "^8.1.0", - "ftp": "^0.3.10" + "debug": "^3.2.7" }, "engines": { - "node": ">= 6" + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } } }, - "node_modules/get-uri/node_modules/file-uri-to-path": { - "version": "2.0.0", + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "dev": true, "license": "MIT", - "engines": { - "node": ">= 6" + "dependencies": { + "ms": "^2.1.1" } }, - "node_modules/git-node-fs": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/git-sha1": { - "version": "0.1.2", - "license": "MIT" - }, - "node_modules/glob": { - "version": "7.2.3", - "license": "ISC", + "node_modules/eslint-plugin-import": { + "version": "2.27.5", + "dev": true, + "license": "MIT", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" }, "engines": { - "node": "*" + "node": ">=4" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "node_modules/glob-parent": { - "version": "6.0.2", + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" + "ms": "^2.1.1" } }, - "node_modules/global-dirs": { + "node_modules/eslint-plugin-import/node_modules/doctrine": { "version": "2.1.0", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "ini": "1.3.7" + "esutils": "^2.0.2" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/global-dirs/node_modules/ini": { - "version": "1.3.7", + "node_modules/eslint-plugin-import/node_modules/json5": { + "version": "1.0.2", "dev": true, - "license": "ISC" + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } }, - "node_modules/globals": { - "version": "11.12.0", + "node_modules/eslint-plugin-import/node_modules/strip-bom": { + "version": "3.0.0", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/globalthis": { - "version": "1.0.3", + "node_modules/eslint-plugin-import/node_modules/tsconfig-paths": { + "version": "3.14.2", "dev": true, "license": "MIT", "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" } }, - "node_modules/globby": { - "version": "11.1.0", + "node_modules/eslint-plugin-openapi": { + "version": "0.0.4", "dev": true, "license": "MIT", "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "comment-parser": "^0.7.4" } }, - "node_modules/google-auth-library": { - "version": "7.14.1", - "license": "Apache-2.0", + "node_modules/eslint-scope": { + "version": "5.1.1", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "arrify": "^2.0.0", - "base64-js": "^1.3.0", - "ecdsa-sig-formatter": "^1.0.11", - "fast-text-encoding": "^1.0.0", - "gaxios": "^4.0.0", - "gcp-metadata": "^4.2.0", - "gtoken": "^5.0.4", - "jws": "^4.0.0", - "lru-cache": "^6.0.0" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, "engines": { - "node": ">=10" + "node": ">=8.0.0" } }, - "node_modules/google-auth-library/node_modules/gaxios": { - "version": "4.3.3", + "node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "dev": true, "license": "Apache-2.0", - "dependencies": { - "abort-controller": "^3.0.0", - "extend": "^3.0.2", - "https-proxy-agent": "^5.0.0", - "is-stream": "^2.0.0", - "node-fetch": "^2.6.7" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/google-auth-library/node_modules/is-stream": { - "version": "2.0.1", - "license": "MIT", "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/google-auth-library/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "url": "https://opencollective.com/eslint" } }, - "node_modules/google-auth-library/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, - "node_modules/google-p12-pem": { - "version": "3.1.4", + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", + "dev": true, "license": "MIT", "dependencies": { - "node-forge": "^1.3.1" - }, - "bin": { - "gp12-pem": "build/src/bin/gp12-pem.js" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=10" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/gopd": { - "version": "1.0.1", + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.3" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/got": { - "version": "9.6.0", + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", "dev": true, "license": "MIT", "dependencies": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=8.6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/got/node_modules/get-stream": { - "version": "4.1.0", + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "pump": "^3.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=6" + "node": ">=7.0.0" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "license": "ISC" - }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/graphemer": { - "version": "1.4.0", + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/gray-matter": { - "version": "4.0.3", + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": ">=6.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/gray-matter/node_modules/argparse": { - "version": "1.0.10", + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", "dev": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" } }, - "node_modules/gray-matter/node_modules/js-yaml": { - "version": "3.14.1", + "node_modules/eslint/node_modules/globals": { + "version": "13.20.0", "dev": true, "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "type-fest": "^0.20.2" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/gray-matter/node_modules/sprintf-js": { - "version": "1.0.3", + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/gtoken": { - "version": "5.3.2", "license": "MIT", - "dependencies": { - "gaxios": "^4.0.0", - "google-p12-pem": "^3.1.3", - "jws": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/gtoken/node_modules/gaxios": { - "version": "4.3.3", - "license": "Apache-2.0", + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT" + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", "dependencies": { - "abort-controller": "^3.0.0", - "extend": "^3.0.2", - "https-proxy-agent": "^5.0.0", - "is-stream": "^2.0.0", - "node-fetch": "^2.6.7" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/gtoken/node_modules/is-stream": { - "version": "2.0.1", - "license": "MIT", + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/has": { - "version": "1.0.3", - "license": "MIT", + "node_modules/espree": { + "version": "9.5.2", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "function-bind": "^1.1.1" + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "dev": true, - "license": "MIT", + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/eslint" } }, - "node_modules/has-flag": { - "version": "3.0.0", - "license": "MIT", + "node_modules/esprima": { + "version": "4.0.1", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, "engines": { "node": ">=4" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", + "node_modules/esquery": { + "version": "1.5.0", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "get-intrinsic": "^1.1.1" + "estraverse": "^5.1.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10" } }, - "node_modules/has-symbols": { - "version": "1.0.3", - "license": "MIT", + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4.0" } }, - "node_modules/has-tostringtag": { - "version": "1.0.0", + "node_modules/esrecurse": { + "version": "4.3.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "has-symbols": "^1.0.2" + "estraverse": "^5.2.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4.0" } }, - "node_modules/has-unicode": { - "version": "2.0.1", - "license": "ISC" - }, - "node_modules/has-yarn": { - "version": "2.1.0", + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "engines": { - "node": ">=8" + "node": ">=4.0" } }, - "node_modules/hash-stream-validation": { - "version": "0.2.4", - "license": "MIT" + "node_modules/estraverse": { + "version": "4.3.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } }, - "node_modules/he": { - "version": "1.2.0", - "license": "MIT", - "bin": { - "he": "bin/he" + "node_modules/esutils": { + "version": "2.0.3", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/helmet": { - "version": "4.1.1", + "node_modules/etag": { + "version": "1.8.1", "license": "MIT", "engines": { - "node": ">=10.0.0" + "node": ">= 0.6" } }, - "node_modules/hexoid": { - "version": "1.0.0", + "node_modules/event-emitter": { + "version": "0.3.5", "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" } }, - "node_modules/highlight.js": { - "version": "10.7.3", - "license": "BSD-3-Clause", + "node_modules/event-target-shim": { + "version": "5.0.1", + "license": "MIT", "engines": { - "node": "*" + "node": ">=6" } }, - "node_modules/hosted-git-info": { - "version": "2.8.9", - "license": "ISC" - }, - "node_modules/hpagent": { - "version": "0.1.2", + "node_modules/eventemitter2": { + "version": "6.4.9", "license": "MIT" }, - "node_modules/html-escaper": { - "version": "2.0.2", - "dev": true, + "node_modules/eventemitter3": { + "version": "3.1.2", "license": "MIT" }, - "node_modules/html-to-mrkdwn-ts": { - "version": "1.1.0", + "node_modules/events": { + "version": "1.1.1", "license": "MIT", - "dependencies": { - "node-html-markdown": "^1.1.3" - }, "engines": { - "node": ">=14.0.0" + "node": ">=0.4.x" } }, - "node_modules/html-to-text": { - "version": "8.2.1", + "node_modules/execa": { + "version": "5.1.1", + "dev": true, "license": "MIT", "dependencies": { - "@selderee/plugin-htmlparser2": "^0.6.0", - "deepmerge": "^4.2.2", - "he": "^1.2.0", - "htmlparser2": "^6.1.0", - "minimist": "^1.2.6", - "selderee": "^0.6.0" - }, - "bin": { - "html-to-text": "bin/cli.js" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": ">=10.23.2" - } - }, - "node_modules/html-to-text/node_modules/dom-serializer": { - "version": "1.4.1", - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" + "node": ">=10" }, "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/html-to-text/node_modules/domutils": { - "version": "2.8.0", - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" + "node_modules/execa/node_modules/is-stream": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/html-to-text/node_modules/entities": { - "version": "2.2.0", - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "node_modules/exit": { + "version": "0.1.2", + "dev": true, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/html-to-text/node_modules/htmlparser2": { - "version": "6.1.0", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], + "node_modules/expect": { + "version": "29.5.0", + "dev": true, "license": "MIT", "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" + "@jest/expect-utils": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/htmlparser2": { - "version": "8.0.2", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], + "node_modules/express": { + "version": "4.17.1", "license": "MIT", "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" } }, - "node_modules/htmlparser2/node_modules/domhandler": { - "version": "5.0.3", - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.3.0" - }, + "node_modules/express-rate-limit": { + "version": "6.5.1", + "license": "MIT", "engines": { - "node": ">= 4" + "node": ">= 12.9.0" }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "peerDependencies": { + "express": "^4 || ^5" } }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/http-errors": { - "version": "2.0.0", + "node_modules/express/node_modules/body-parser": { + "version": "1.19.0", "license": "MIT", "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" }, "engines": { "node": ">= 0.8" } }, - "node_modules/http-errors/node_modules/setprototypeof": { - "version": "1.2.0", - "license": "ISC" - }, - "node_modules/http-errors/node_modules/statuses": { - "version": "2.0.1", + "node_modules/express/node_modules/bytes": { + "version": "3.1.0", "license": "MIT", "engines": { "node": ">= 0.8" } }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", + "node_modules/express/node_modules/debug": { + "version": "2.6.9", "license": "MIT", "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/depd": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/http-errors": { + "version": "1.7.2", + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" }, "engines": { - "node": ">= 6" + "node": ">= 0.6" } }, - "node_modules/http2-client": { - "version": "1.3.5", - "dev": true, + "node_modules/express/node_modules/inherits": { + "version": "2.0.3", + "license": "ISC" + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", "license": "MIT" }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", + "node_modules/express/node_modules/on-finished": { + "version": "2.3.0", "license": "MIT", "dependencies": { - "agent-base": "6", - "debug": "4" + "ee-first": "1.1.1" }, "engines": { - "node": ">= 6" + "node": ">= 0.8" } }, - "node_modules/human-signals": { - "version": "2.1.0", - "dev": true, - "license": "Apache-2.0", + "node_modules/express/node_modules/qs": { + "version": "6.7.0", + "license": "BSD-3-Clause", "engines": { - "node": ">=10.17.0" + "node": ">=0.6" } }, - "node_modules/iconv-lite": { - "version": "0.4.24", + "node_modules/express/node_modules/raw-body": { + "version": "2.4.0", "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/ieee754": { - "version": "1.1.13", - "license": "BSD-3-Clause" - }, - "node_modules/ignore": { - "version": "5.2.4", - "dev": true, + "node_modules/express/node_modules/toidentifier": { + "version": "1.0.0", "license": "MIT", "engines": { - "node": ">= 4" + "node": ">=0.6" } }, - "node_modules/ignore-by-default": { - "version": "1.0.1", - "dev": true, - "license": "ISC" - }, - "node_modules/ignore-walk": { - "version": "3.0.4", + "node_modules/ext": { + "version": "1.7.0", "license": "ISC", "dependencies": { - "minimatch": "^3.0.4" + "type": "^2.7.2" } }, - "node_modules/import-fresh": { - "version": "3.3.0", + "node_modules/ext/node_modules/type": { + "version": "2.7.2", + "license": "ISC" + }, + "node_modules/extend": { + "version": "3.0.2", + "license": "MIT" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/import-lazy": { - "version": "2.1.0", + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.2.12", "dev": true, "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, "engines": { - "node": ">=4" + "node": ">=8.6.0" } }, - "node_modules/import-local": { - "version": "3.1.0", + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } + "node_modules/fast-json-patch": { + "version": "3.1.1", + "license": "MIT" }, - "node_modules/inflection": { - "version": "1.13.4", - "engines": [ - "node >= 0.4.0" - ], + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true, "license": "MIT" }, - "node_modules/inflight": { - "version": "1.0.6", - "license": "ISC", + "node_modules/fast-levenshtein": { + "version": "3.0.0", + "license": "MIT", "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "fastest-levenshtein": "^1.0.7" } }, - "node_modules/inherits": { - "version": "2.0.4", - "license": "ISC" + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "license": "MIT" }, - "node_modules/ini": { - "version": "1.3.8", - "license": "ISC" + "node_modules/fast-text-encoding": { + "version": "1.0.6", + "license": "Apache-2.0" }, - "node_modules/internal-slot": { - "version": "1.0.5", - "dev": true, + "node_modules/fast-xml-parser": { + "version": "4.2.4", + "funding": [ + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + }, + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" + "strnum": "^1.0.5" }, - "engines": { - "node": ">= 0.4" + "bin": { + "fxparser": "src/cli/cli.js" } }, - "node_modules/invert-kv": { - "version": "1.0.0", + "node_modules/fastest-levenshtein": { + "version": "1.0.16", "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 4.9.1" } }, - "node_modules/ip": { - "version": "1.1.8", - "license": "MIT" - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "license": "MIT", - "engines": { - "node": ">= 0.10" + "node_modules/fastq": { + "version": "1.15.0", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" } }, - "node_modules/is-array-buffer": { - "version": "3.0.2", + "node_modules/fb-watchman": { + "version": "2.0.2", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bser": "2.1.1" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", + "node_modules/fclone": { + "version": "1.0.11", "license": "MIT" }, - "node_modules/is-bigint": { - "version": "1.0.4", + "node_modules/file-entry-cache": { + "version": "6.0.1", "dev": true, "license": "MIT", "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=8" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "dev": true, + "node_modules/file-type": { + "version": "18.5.0", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "readable-web-to-node-stream": "^3.0.2", + "strtok3": "^7.0.0", + "token-types": "^5.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=14.16" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/file-type?sponsor=1" } }, - "node_modules/is-buffer": { - "version": "1.1.6", + "node_modules/file-uri-to-path": { + "version": "1.0.0", "license": "MIT" }, - "node_modules/is-callable": { - "version": "1.2.7", - "dev": true, + "node_modules/fill-range": { + "version": "7.0.1", "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "to-regex-range": "^5.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "node_modules/is-ci": { - "version": "2.0.0", - "dev": true, + "node_modules/finalhandler": { + "version": "1.1.2", "license": "MIT", "dependencies": { - "ci-info": "^2.0.0" + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" }, - "bin": { - "is-ci": "bin.js" + "engines": { + "node": ">= 0.8" } }, - "node_modules/is-ci/node_modules/ci-info": { + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", - "dev": true, "license": "MIT" }, - "node_modules/is-core-module": { - "version": "2.12.1", + "node_modules/finalhandler/node_modules/on-finished": { + "version": "2.3.0", "license": "MIT", "dependencies": { - "has": "^1.0.3" + "ee-first": "1.1.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 0.8" } }, - "node_modules/is-date-object": { - "version": "1.0.5", - "dev": true, + "node_modules/find-replace": { + "version": "3.0.0", "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "array-back": "^3.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4.0.0" } }, - "node_modules/is-docker": { - "version": "2.2.1", + "node_modules/find-up": { + "version": "5.0.0", "dev": true, "license": "MIT", - "bin": { - "is-docker": "cli.js" + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-electron": { - "version": "2.2.0", - "license": "MIT" - }, - "node_modules/is-extendable": { - "version": "0.1.1", + "node_modules/flat-cache": { + "version": "3.0.4", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "license": "MIT", "dependencies": { - "number-is-nan": "^1.0.0" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, "engines": { - "node": ">=0.10.0" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/is-generator-fn": { - "version": "2.1.0", + "node_modules/flatted": { + "version": "3.2.7", "dev": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], "license": "MIT", "engines": { - "node": ">=6" + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } } }, - "node_modules/is-glob": { - "version": "4.0.3", + "node_modules/for-each": { + "version": "0.3.3", + "dev": true, "license": "MIT", "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" + "is-callable": "^1.1.3" } }, - "node_modules/is-installed-globally": { - "version": "0.3.2", - "dev": true, + "node_modules/form-data": { + "version": "2.5.1", "license": "MIT", "dependencies": { - "global-dirs": "^2.0.1", - "is-path-inside": "^3.0.1" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.12" } }, - "node_modules/is-interactive": { - "version": "1.0.0", - "dev": true, + "node_modules/formidable": { + "version": "1.2.6", "license": "MIT", - "engines": { - "node": ">=8" + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" } }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "dev": true, + "node_modules/formidable-serverless": { + "version": "1.1.1", "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "formidable": "^1.2.2" } }, - "node_modules/is-npm": { - "version": "4.0.0", - "dev": true, + "node_modules/forwarded": { + "version": "0.2.0", "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/is-number": { - "version": "7.0.0", + "node_modules/fresh": { + "version": "0.5.2", "license": "MIT", "engines": { - "node": ">=0.12.0" + "node": ">= 0.6" } }, - "node_modules/is-number-object": { - "version": "1.0.7", - "dev": true, + "node_modules/fs-extra": { + "version": "8.1.0", "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6 <7 || >=8" } }, - "node_modules/is-obj": { - "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/fs-minipass": { + "version": "1.2.7", + "license": "ISC", + "dependencies": { + "minipass": "^2.6.0" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "dev": true, - "license": "MIT", + "node_modules/fs.realpath": { + "version": "1.0.0", + "license": "ISC" + }, + "node_modules/ftp": { + "version": "0.3.10", + "dependencies": { + "readable-stream": "1.1.x", + "xregexp": "2.0.0" + }, "engines": { - "node": ">=8" + "node": ">=0.8.0" } }, - "node_modules/is-plain-object": { - "version": "5.0.0", + "node_modules/ftp/node_modules/isarray": { + "version": "0.0.1", + "license": "MIT" + }, + "node_modules/ftp/node_modules/readable-stream": { + "version": "1.1.14", "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" } }, - "node_modules/is-promise": { - "version": "2.2.2", + "node_modules/ftp/node_modules/string_decoder": { + "version": "0.10.31", "license": "MIT" }, - "node_modules/is-regex": { - "version": "1.1.4", + "node_modules/function-bind": { + "version": "1.1.1", + "license": "MIT" + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" }, "engines": { "node": ">= 0.4" @@ -24668,1153 +25685,1162 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-retry-allowed": { - "version": "1.2.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", + "node_modules/functions-have-names": { + "version": "1.2.3", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-stream": { - "version": "1.1.0", + "node_modules/gauge": { + "version": "2.7.4", + "license": "ISC", + "dependencies": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "node_modules/gauge/node_modules/strip-ansi": { + "version": "3.0.1", "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-string": { - "version": "1.0.7", - "dev": true, - "license": "MIT", + "node_modules/gaxios": { + "version": "3.2.0", + "license": "Apache-2.0", "dependencies": { - "has-tostringtag": "^1.0.0" + "abort-controller": "^3.0.0", + "extend": "^3.0.2", + "https-proxy-agent": "^5.0.0", + "is-stream": "^2.0.0", + "node-fetch": "^2.3.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" + } + }, + "node_modules/gaxios/node_modules/is-stream": { + "version": "2.0.1", + "license": "MIT", + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-symbol": { - "version": "1.0.4", - "dev": true, - "license": "MIT", + "node_modules/gcp-metadata": { + "version": "4.3.1", + "license": "Apache-2.0", "dependencies": { - "has-symbols": "^1.0.2" + "gaxios": "^4.0.0", + "json-bigint": "^1.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" + } + }, + "node_modules/gcp-metadata/node_modules/gaxios": { + "version": "4.3.3", + "license": "Apache-2.0", + "dependencies": { + "abort-controller": "^3.0.0", + "extend": "^3.0.2", + "https-proxy-agent": "^5.0.0", + "is-stream": "^2.0.0", + "node-fetch": "^2.6.7" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gcp-metadata/node_modules/is-stream": { + "version": "2.0.1", + "license": "MIT", + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-typed-array": { - "version": "1.1.10", - "dev": true, + "node_modules/gcs-resumable-upload": { + "version": "3.6.0", "license": "MIT", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "abort-controller": "^3.0.0", + "async-retry": "^1.3.3", + "configstore": "^5.0.0", + "extend": "^3.0.2", + "gaxios": "^4.0.0", + "google-auth-library": "^7.0.0", + "pumpify": "^2.0.0", + "stream-events": "^1.0.4" }, - "engines": { - "node": ">= 0.4" + "bin": { + "gcs-upload": "build/src/cli.js" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "license": "MIT" + "node_modules/gcs-resumable-upload/node_modules/gaxios": { + "version": "4.3.3", + "license": "Apache-2.0", + "dependencies": { + "abort-controller": "^3.0.0", + "extend": "^3.0.2", + "https-proxy-agent": "^5.0.0", + "is-stream": "^2.0.0", + "node-fetch": "^2.6.7" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "dev": true, + "node_modules/gcs-resumable-upload/node_modules/is-stream": { + "version": "2.0.1", "license": "MIT", "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-weakref": { - "version": "1.0.2", + "node_modules/gensync": { + "version": "1.0.0-beta.2", "dev": true, "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2" + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-what": { - "version": "4.1.15", + "node_modules/get-package-type": { + "version": "0.1.0", + "dev": true, "license": "MIT", "engines": { - "node": ">=12.13" + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/mesqueeb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-wsl": { - "version": "2.2.0", + "node_modules/get-symbol-description": { + "version": "1.0.0", "dev": true, "license": "MIT", "dependencies": { - "is-docker": "^2.0.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-yarn-global": { - "version": "0.3.0", - "dev": true, - "license": "MIT" - }, - "node_modules/isarray": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/isemail": { - "version": "3.2.0", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/get-uri": { + "version": "3.0.2", + "license": "MIT", "dependencies": { - "punycode": "2.x.x" + "@tootallnate/once": "1", + "data-uri-to-buffer": "3", + "debug": "4", + "file-uri-to-path": "2", + "fs-extra": "^8.1.0", + "ftp": "^0.3.10" }, "engines": { - "node": ">=4.0.0" + "node": ">= 6" } }, - "node_modules/isexe": { - "version": "2.0.0", - "license": "ISC" - }, - "node_modules/isomorphic-form-data": { + "node_modules/get-uri/node_modules/file-uri-to-path": { "version": "2.0.0", "license": "MIT", - "dependencies": { - "form-data": "^2.3.2" + "engines": { + "node": ">= 6" } }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/git-node-fs": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/git-sha1": { + "version": "0.1.2", + "license": "MIT" + }, + "node_modules/glob": { + "version": "7.2.3", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, "engines": { - "node": ">=8" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", + "node_modules/glob-parent": { + "version": "6.0.2", "dev": true, - "license": "BSD-3-Clause", + "license": "ISC", "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" + "is-glob": "^4.0.3" }, "engines": { - "node": ">=8" + "node": ">=10.13.0" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", + "node_modules/global-dirs": { + "version": "2.1.0", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "ini": "1.3.7" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/istanbul-lib-report/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/global-dirs/node_modules/ini": { + "version": "1.3.7", + "dev": true, + "license": "ISC" + }, + "node_modules/globals": { + "version": "11.12.0", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/globalthis": { + "version": "1.0.3", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "define-properties": "^1.1.3" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", + "node_modules/globby": { + "version": "11.1.0", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/istanbul-reports": { - "version": "3.1.5", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/google-auth-library": { + "version": "7.14.1", + "license": "Apache-2.0", "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "arrify": "^2.0.0", + "base64-js": "^1.3.0", + "ecdsa-sig-formatter": "^1.0.11", + "fast-text-encoding": "^1.0.0", + "gaxios": "^4.0.0", + "gcp-metadata": "^4.2.0", + "gtoken": "^5.0.4", + "jws": "^4.0.0", + "lru-cache": "^6.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/iterate-object": { - "version": "1.3.4", - "license": "MIT" - }, - "node_modules/jest": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/google-auth-library/node_modules/gaxios": { + "version": "4.3.3", + "license": "Apache-2.0", "dependencies": { - "@jest/core": "^29.5.0", - "@jest/types": "^29.5.0", - "import-local": "^3.0.2", - "jest-cli": "^29.5.0" - }, - "bin": { - "jest": "bin/jest.js" + "abort-controller": "^3.0.0", + "extend": "^3.0.2", + "https-proxy-agent": "^5.0.0", + "is-stream": "^2.0.0", + "node-fetch": "^2.6.7" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": ">=10" } }, - "node_modules/jest-changed-files": { - "version": "29.5.0", - "dev": true, + "node_modules/google-auth-library/node_modules/is-stream": { + "version": "2.0.1", "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/google-auth-library/node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", "dependencies": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" + "yallist": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" } }, - "node_modules/jest-circus": { - "version": "29.5.0", - "dev": true, + "node_modules/google-auth-library/node_modules/yallist": { + "version": "4.0.0", + "license": "ISC" + }, + "node_modules/google-p12-pem": { + "version": "3.1.4", "license": "MIT", "dependencies": { - "@jest/environment": "^29.5.0", - "@jest/expect": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.5.0", - "jest-matcher-utils": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-runtime": "^29.5.0", - "jest-snapshot": "^29.5.0", - "jest-util": "^29.5.0", - "p-limit": "^3.1.0", - "pretty-format": "^29.5.0", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "node-forge": "^1.3.1" + }, + "bin": { + "gp12-pem": "build/src/bin/gp12-pem.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" } }, - "node_modules/jest-circus/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/gopd": { + "version": "1.0.1", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" + "get-intrinsic": "^1.1.3" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-circus/node_modules/chalk": { - "version": "4.1.2", + "node_modules/got": { + "version": "9.6.0", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=8.6" } }, - "node_modules/jest-circus/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/got/node_modules/get-stream": { + "version": "4.1.0", "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "pump": "^3.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=6" } }, - "node_modules/jest-circus/node_modules/color-name": { - "version": "1.1.4", + "node_modules/graceful-fs": { + "version": "4.2.11", + "license": "ISC" + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", "dev": true, "license": "MIT" }, - "node_modules/jest-circus/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/graphemer": { + "version": "1.4.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/jest-circus/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/gray-matter": { + "version": "4.0.3", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=6.0" } }, - "node_modules/jest-cli": { - "version": "29.5.0", + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", "dev": true, "license": "MIT", "dependencies": { - "@jest/core": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/types": "^29.5.0", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^29.5.0", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "sprintf-js": "~1.0.2" } }, - "node_modules/jest-cli/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.14.1", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jest-cli/node_modules/chalk": { - "version": "4.1.2", + "node_modules/gray-matter/node_modules/sprintf-js": { + "version": "1.0.3", "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/gtoken": { + "version": "5.3.2", "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "gaxios": "^4.0.0", + "google-p12-pem": "^3.1.3", + "jws": "^4.0.0" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-cli/node_modules/cliui": { - "version": "8.0.1", - "dev": true, - "license": "ISC", + "node_modules/gtoken/node_modules/gaxios": { + "version": "4.3.3", + "license": "Apache-2.0", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "abort-controller": "^3.0.0", + "extend": "^3.0.2", + "https-proxy-agent": "^5.0.0", + "is-stream": "^2.0.0", + "node-fetch": "^2.6.7" }, "engines": { - "node": ">=12" + "node": ">=10" } }, - "node_modules/jest-cli/node_modules/color-convert": { + "node_modules/gtoken/node_modules/is-stream": { "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-cli/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-cli/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/string-width": { - "version": "4.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-cli/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, + "node_modules/has": { + "version": "1.0.3", "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "function-bind": "^1.1.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4.0" } }, - "node_modules/jest-cli/node_modules/wrap-ansi": { - "version": "7.0.0", + "node_modules/has-bigints": { + "version": "1.0.2", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-cli/node_modules/y18n": { - "version": "5.0.8", - "dev": true, - "license": "ISC", + "node_modules/has-flag": { + "version": "3.0.0", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/jest-cli/node_modules/yargs": { - "version": "17.7.2", + "node_modules/has-property-descriptors": { + "version": "1.0.0", "dev": true, "license": "MIT", "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" + "get-intrinsic": "^1.1.1" }, - "engines": { - "node": ">=12" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-config": { - "version": "29.5.0", - "dev": true, + "node_modules/has-proto": { + "version": "1.0.1", "license": "MIT", - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.5.0", - "@jest/types": "^29.5.0", - "babel-jest": "^29.5.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.5.0", - "jest-environment-node": "^29.5.0", - "jest-get-type": "^29.4.3", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.5.0", - "jest-runner": "^29.5.0", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.5.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-config/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, + "node_modules/has-symbols": { + "version": "1.0.3", "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-config/node_modules/chalk": { - "version": "4.1.2", + "node_modules/has-tostringtag": { + "version": "1.0.0", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-config/node_modules/color-convert": { + "node_modules/has-unicode": { "version": "2.0.1", + "license": "ISC" + }, + "node_modules/has-yarn": { + "version": "2.1.0", "dev": true, "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/jest-config/node_modules/color-name": { - "version": "1.1.4", - "dev": true, + "node_modules/hash-stream-validation": { + "version": "0.2.4", "license": "MIT" }, - "node_modules/jest-config/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, + "node_modules/he": { + "version": "1.2.0", + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/helmet": { + "version": "4.1.1", "license": "MIT", "engines": { - "node": ">=8" + "node": ">=10.0.0" } }, - "node_modules/jest-config/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, + "node_modules/hexoid": { + "version": "1.0.0", "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { "node": ">=8" } }, - "node_modules/jest-diff": { - "version": "29.5.0", + "node_modules/highlight.js": { + "version": "10.7.3", + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "license": "ISC" + }, + "node_modules/hpagent": { + "version": "0.1.2", + "license": "MIT" + }, + "node_modules/html-escaper": { + "version": "2.0.2", "dev": true, + "license": "MIT" + }, + "node_modules/html-to-mrkdwn-ts": { + "version": "1.1.0", "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.5.0" + "node-html-markdown": "^1.1.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=14.0.0" } }, - "node_modules/jest-diff/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, + "node_modules/html-to-text": { + "version": "8.2.1", "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "@selderee/plugin-htmlparser2": "^0.6.0", + "deepmerge": "^4.2.2", + "he": "^1.2.0", + "htmlparser2": "^6.1.0", + "minimist": "^1.2.6", + "selderee": "^0.6.0" }, - "engines": { - "node": ">=8" + "bin": { + "html-to-text": "bin/cli.js" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=10.23.2" } }, - "node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "dev": true, + "node_modules/html-to-text/node_modules/dom-serializer": { + "version": "1.4.1", "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/jest-diff/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", + "node_modules/html-to-text/node_modules/domutils": { + "version": "2.8.0", + "license": "BSD-2-Clause", "dependencies": { - "color-name": "~1.1.4" + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" }, - "engines": { - "node": ">=7.0.0" + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/jest-diff/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-diff/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/html-to-text/node_modules/entities": { + "version": "2.2.0", + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/jest-diff/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, + "node_modules/html-to-text/node_modules/htmlparser2": { + "version": "6.1.0", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" } }, - "node_modules/jest-docblock": { - "version": "29.4.3", - "dev": true, + "node_modules/htmlparser2": { + "version": "8.0.2", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], "license": "MIT", "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" } }, - "node_modules/jest-each": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/htmlparser2/node_modules/domhandler": { + "version": "5.0.3", + "license": "BSD-2-Clause", "dependencies": { - "@jest/types": "^29.5.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "jest-util": "^29.5.0", - "pretty-format": "^29.5.0" + "domelementtype": "^2.3.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/jest-each/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/http-cache-semantics": { + "version": "4.1.1", "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/http-errors": { + "version": "2.0.0", "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 0.8" } }, - "node_modules/jest-each/node_modules/chalk": { - "version": "4.1.2", - "dev": true, + "node_modules/http-errors/node_modules/setprototypeof": { + "version": "1.2.0", + "license": "ISC" + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 0.8" } }, - "node_modules/jest-each/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, + "node_modules/http-proxy-agent": { + "version": "4.0.1", "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=7.0.0" + "node": ">= 6" } }, - "node_modules/jest-each/node_modules/color-name": { - "version": "1.1.4", + "node_modules/http2-client": { + "version": "1.3.5", "dev": true, "license": "MIT" }, - "node_modules/jest-each/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, + "node_modules/https-proxy-agent": { + "version": "5.0.1", "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, "engines": { - "node": ">=8" + "node": ">= 6" } }, - "node_modules/jest-each/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/human-signals": { + "version": "2.1.0", "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, + "license": "Apache-2.0", "engines": { - "node": ">=8" + "node": ">=10.17.0" } }, - "node_modules/jest-environment-node": { - "version": "29.5.0", - "dev": true, + "node_modules/iconv-lite": { + "version": "0.4.24", "license": "MIT", "dependencies": { - "@jest/environment": "^29.5.0", - "@jest/fake-timers": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "jest-mock": "^29.5.0", - "jest-util": "^29.5.0" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-get-type": { - "version": "29.4.3", + "node_modules/ieee754": { + "version": "1.1.13", + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.2.4", "dev": true, "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 4" } }, - "node_modules/jest-haste-map": { - "version": "29.5.0", + "node_modules/ignore-by-default": { + "version": "1.0.1", "dev": true, - "license": "MIT", + "license": "ISC" + }, + "node_modules/ignore-walk": { + "version": "3.0.4", + "license": "ISC", "dependencies": { - "@jest/types": "^29.5.0", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.5.0", - "jest-worker": "^29.5.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "minimatch": "^3.0.4" } }, - "node_modules/jest-leak-detector": { - "version": "29.5.0", + "node_modules/import-fresh": { + "version": "3.3.0", "dev": true, "license": "MIT", "dependencies": { - "jest-get-type": "^29.4.3", - "pretty-format": "^29.5.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-matcher-utils": { - "version": "29.5.0", + "node_modules/import-lazy": { + "version": "2.1.0", "dev": true, "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.5.0", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.5.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4" } }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/import-local": { + "version": "3.1.0", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" }, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.2", - "dev": true, + "node_modules/imurmurhash": { + "version": "0.1.4", "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.8.19" } }, - "node_modules/jest-matcher-utils/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/inflection": { + "version": "1.13.4", + "engines": [ + "node >= 0.4.0" + ], + "license": "MIT" + }, + "node_modules/inflight": { + "version": "1.0.6", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "license": "ISC" + }, + "node_modules/internal-slot": { + "version": "1.0.5", "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.4" } }, - "node_modules/jest-matcher-utils/node_modules/color-name": { - "version": "1.1.4", - "dev": true, + "node_modules/invert-kv": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ip": { + "version": "1.1.8", "license": "MIT" }, - "node_modules/jest-matcher-utils/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, + "node_modules/ipaddr.js": { + "version": "1.9.1", "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.10" } }, - "node_modules/jest-matcher-utils/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/is-array-buffer": { + "version": "3.0.2", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-message-util": { - "version": "29.5.0", + "node_modules/is-arrayish": { + "version": "0.2.1", + "license": "MIT" + }, + "node_modules/is-bigint": { + "version": "1.0.4", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.5.0", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.5.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/is-boolean-object": { + "version": "1.1.2", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", + "node_modules/is-buffer": { + "version": "1.1.6", + "license": "MIT" + }, + "node_modules/is-callable": { + "version": "1.2.7", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-message-util/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/is-ci": { + "version": "2.0.0", "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "ci-info": "^2.0.0" }, - "engines": { - "node": ">=7.0.0" + "bin": { + "is-ci": "bin.js" } }, - "node_modules/jest-message-util/node_modules/color-name": { - "version": "1.1.4", + "node_modules/is-ci/node_modules/ci-info": { + "version": "2.0.0", "dev": true, "license": "MIT" }, - "node_modules/jest-message-util/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, + "node_modules/is-core-module": { + "version": "2.12.1", "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-message-util/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/is-date-object": { + "version": "1.0.5", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-mock": { - "version": "29.5.0", + "node_modules/is-docker": { + "version": "2.2.1", "dev": true, "license": "MIT", - "dependencies": { - "@jest/types": "^29.5.0", - "@types/node": "*", - "jest-util": "^29.5.0" + "bin": { + "is-docker": "cli.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", + "node_modules/is-electron": { + "version": "2.2.0", + "license": "MIT" + }, + "node_modules/is-extendable": { + "version": "0.1.1", "dev": true, "license": "MIT", "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/jest-regex-util": { - "version": "29.4.3", - "dev": true, + "node_modules/is-extglob": { + "version": "2.1.1", "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-resolve": { - "version": "29.5.0", - "dev": true, + "node_modules/is-fullwidth-code-point": { + "version": "1.0.0", "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" + "number-is-nan": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-resolve-dependencies": { - "version": "29.5.0", + "node_modules/is-generator-fn": { + "version": "2.1.0", "dev": true, "license": "MIT", - "dependencies": { - "jest-regex-util": "^29.4.3", - "jest-snapshot": "^29.5.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" } }, - "node_modules/jest-resolve/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, + "node_modules/is-glob": { + "version": "4.0.3", "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/jest-resolve/node_modules/chalk": { - "version": "4.1.2", + "node_modules/is-installed-globally": { + "version": "0.3.2", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "global-dirs": "^2.0.1", + "is-path-inside": "^3.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-resolve/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/is-interactive": { + "version": "1.0.0", "dev": true, "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/jest-resolve/node_modules/color-name": { - "version": "1.1.4", + "node_modules/is-negative-zero": { + "version": "2.0.2", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/jest-resolve/node_modules/has-flag": { + "node_modules/is-npm": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -25822,352 +26848,369 @@ "node": ">=8" } }, - "node_modules/jest-resolve/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, + "node_modules/is-number": { + "version": "7.0.0", "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">=0.12.0" } }, - "node_modules/jest-runner": { - "version": "29.5.0", + "node_modules/is-number-object": { + "version": "1.0.7", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "^29.5.0", - "@jest/environment": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.4.3", - "jest-environment-node": "^29.5.0", - "jest-haste-map": "^29.5.0", - "jest-leak-detector": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-resolve": "^29.5.0", - "jest-runtime": "^29.5.0", - "jest-util": "^29.5.0", - "jest-watcher": "^29.5.0", - "jest-worker": "^29.5.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-runner/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/is-obj": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", "dev": true, "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-runner/node_modules/chalk": { - "version": "4.1.2", + "node_modules/is-plain-object": { + "version": "5.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-promise": { + "version": "2.2.2", + "license": "MIT" + }, + "node_modules/is-regex": { + "version": "1.1.4", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-runner/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, + "node_modules/is-retry-allowed": { + "version": "1.2.0", "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-runner/node_modules/color-name": { - "version": "1.1.4", + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/jest-runner/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, + "node_modules/is-stream": { + "version": "1.1.0", "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-runner/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/is-string": { + "version": "1.0.7", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-runtime": { - "version": "29.5.0", + "node_modules/is-symbol": { + "version": "1.0.4", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^29.5.0", - "@jest/fake-timers": "^29.5.0", - "@jest/globals": "^29.5.0", - "@jest/source-map": "^29.4.3", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-mock": "^29.5.0", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.5.0", - "jest-snapshot": "^29.5.0", - "jest-util": "^29.5.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" + "has-symbols": "^1.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-runtime/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/is-typed-array": { + "version": "1.1.10", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-runtime/node_modules/chalk": { - "version": "4.1.2", + "node_modules/is-typedarray": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-runtime/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/is-weakref": { + "version": "1.0.2", "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "call-bind": "^1.0.2" }, - "engines": { - "node": ">=7.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-runtime/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-runtime/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, + "node_modules/is-what": { + "version": "4.1.15", "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" } }, - "node_modules/jest-runtime/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/is-wsl": { + "version": "2.2.0", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "is-docker": "^2.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/jest-snapshot": { - "version": "29.5.0", + "node_modules/is-yarn-global": { + "version": "0.3.0", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/isarray": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/isemail": { + "version": "3.2.0", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.5.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.5.0", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0", - "natural-compare": "^1.4.0", - "pretty-format": "^29.5.0", - "semver": "^7.3.5" + "punycode": "2.x.x" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4.0.0" } }, - "node_modules/jest-snapshot/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, + "node_modules/isexe": { + "version": "2.0.0", + "license": "ISC" + }, + "node_modules/isomorphic-form-data": { + "version": "2.0.0", "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, + "form-data": "^2.3.2" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-snapshot/node_modules/chalk": { - "version": "4.1.2", + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=8" } }, - "node_modules/jest-snapshot/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/istanbul-lib-report": { + "version": "3.0.0", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "color-name": "~1.1.4" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/jest-snapshot/node_modules/color-name": { - "version": "1.1.4", + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/jest-snapshot/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", "dev": true, "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/jest-snapshot/node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", "dev": true, - "license": "ISC", + "license": "BSD-3-Clause", "dependencies": { - "yallist": "^4.0.0" + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" }, "engines": { "node": ">=10" } }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.5.2", + "node_modules/istanbul-reports": { + "version": "3.1.5", "dev": true, - "license": "ISC", + "license": "BSD-3-Clause", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/jest-snapshot/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/iterate-object": { + "version": "1.3.4", + "license": "MIT" + }, + "node_modules/jest": { + "version": "29.5.0", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@jest/core": "^29.5.0", + "@jest/types": "^29.5.0", + "import-local": "^3.0.2", + "jest-cli": "^29.5.0" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/jest-snapshot/node_modules/yallist": { - "version": "4.0.0", + "node_modules/jest-changed-files": { + "version": "29.5.0", "dev": true, - "license": "ISC" + "license": "MIT", + "dependencies": { + "execa": "^5.0.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/jest-util": { + "node_modules/jest-circus": { "version": "29.5.0", "dev": true, "license": "MIT", "dependencies": { + "@jest/environment": "^29.5.0", + "@jest/expect": "^29.5.0", + "@jest/test-result": "^29.5.0", "@jest/types": "^29.5.0", "@types/node": "*", "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.5.0", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.5.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-util/node_modules/ansi-styles": { + "node_modules/jest-circus/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -26181,7 +27224,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-util/node_modules/chalk": { + "node_modules/jest-circus/node_modules/chalk": { "version": "4.1.2", "dev": true, "license": "MIT", @@ -26196,7 +27239,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-util/node_modules/color-convert": { + "node_modules/jest-circus/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -26207,12 +27250,12 @@ "node": ">=7.0.0" } }, - "node_modules/jest-util/node_modules/color-name": { + "node_modules/jest-circus/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/jest-util/node_modules/has-flag": { + "node_modules/jest-circus/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -26220,7 +27263,7 @@ "node": ">=8" } }, - "node_modules/jest-util/node_modules/supports-color": { + "node_modules/jest-circus/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", @@ -26231,23 +27274,40 @@ "node": ">=8" } }, - "node_modules/jest-validate": { + "node_modules/jest-cli": { "version": "29.5.0", "dev": true, "license": "MIT", "dependencies": { + "@jest/core": "^29.5.0", + "@jest/test-result": "^29.5.0", "@jest/types": "^29.5.0", - "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "leven": "^3.1.0", - "pretty-format": "^29.5.0" + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/jest-validate/node_modules/ansi-styles": { + "node_modules/jest-cli/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -26261,18 +27321,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-validate/node_modules/chalk": { + "node_modules/jest-cli/node_modules/chalk": { "version": "4.1.2", "dev": true, "license": "MIT", @@ -26287,7 +27336,20 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-validate/node_modules/color-convert": { + "node_modules/jest-cli/node_modules/cliui": { + "version": "8.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/jest-cli/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -26298,12 +27360,12 @@ "node": ">=7.0.0" } }, - "node_modules/jest-validate/node_modules/color-name": { + "node_modules/jest-cli/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/jest-validate/node_modules/has-flag": { + "node_modules/jest-cli/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -26311,36 +27373,124 @@ "node": ">=8" } }, - "node_modules/jest-validate/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/jest-cli/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", "dev": true, "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { "node": ">=8" } }, - "node_modules/jest-watcher": { - "version": "29.5.0", + "node_modules/jest-cli/node_modules/string-width": { + "version": "4.2.3", "dev": true, "license": "MIT", "dependencies": { - "@jest/test-result": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.5.0", - "string-length": "^4.0.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-watcher/node_modules/ansi-styles": { + "node_modules/jest-cli/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli/node_modules/wrap-ansi": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/y18n": { + "version": "5.0.8", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-cli/node_modules/yargs": { + "version": "17.7.2", + "dev": true, + "license": "MIT", + "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/jest-config": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.5.0", + "@jest/types": "^29.5.0", + "babel-jest": "^29.5.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.5.0", + "jest-environment-node": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-runner": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -26354,7 +27504,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-watcher/node_modules/chalk": { + "node_modules/jest-config/node_modules/chalk": { "version": "4.1.2", "dev": true, "license": "MIT", @@ -26369,7 +27519,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-watcher/node_modules/color-convert": { + "node_modules/jest-config/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -26380,12 +27530,12 @@ "node": ">=7.0.0" } }, - "node_modules/jest-watcher/node_modules/color-name": { + "node_modules/jest-config/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/jest-watcher/node_modules/has-flag": { + "node_modules/jest-config/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -26393,7 +27543,7 @@ "node": ">=8" } }, - "node_modules/jest-watcher/node_modules/supports-color": { + "node_modules/jest-config/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", @@ -26404,547 +27554,464 @@ "node": ">=8" } }, - "node_modules/jest-worker": { + "node_modules/jest-diff": { "version": "29.5.0", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*", - "jest-util": "^29.5.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "chalk": "^4.0.0", + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jmespath": { - "version": "0.15.0", + "node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">= 0.6.0" + "node": ">=7.0.0" } }, - "node_modules/join-component": { - "version": "1.1.0", + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", + "dev": true, "license": "MIT" }, - "node_modules/jose": { - "version": "4.14.4", - "resolved": "https://registry.npmjs.org/jose/-/jose-4.14.4.tgz", - "integrity": "sha512-j8GhLiKmUAh+dsFXlX1aJCbt5KMibuKb+d7j1JaOJG6s2UjX1PQlW+OKB/sD4a/5ZYF4RcmYmLSndOoU3Lt/3g==", - "funding": { - "url": "https://github.com/sponsors/panva" - } - }, - "node_modules/js-beautify": { - "version": "1.14.8", + "node_modules/jest-diff/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "config-chain": "^1.1.13", - "editorconfig": "^0.15.3", - "glob": "^8.1.0", - "nopt": "^6.0.0" - }, - "bin": { - "css-beautify": "js/bin/css-beautify.js", - "html-beautify": "js/bin/html-beautify.js", - "js-beautify": "js/bin/js-beautify.js" - }, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/js-beautify/node_modules/brace-expansion": { - "version": "2.0.1", + "node_modules/jest-diff/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/js-beautify/node_modules/glob": { - "version": "8.1.0", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=8" } }, - "node_modules/js-beautify/node_modules/minimatch": { - "version": "5.1.6", - "license": "ISC", + "node_modules/jest-docblock": { + "version": "29.4.3", + "dev": true, + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "detect-newline": "^3.0.0" }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/js-beautify/node_modules/nopt": { - "version": "6.0.0", - "license": "ISC", + "node_modules/jest-each": { + "version": "29.5.0", + "dev": true, + "license": "MIT", "dependencies": { - "abbrev": "^1.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" + "@jest/types": "^29.5.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "jest-util": "^29.5.0", + "pretty-format": "^29.5.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/js-git": { - "version": "0.7.8", - "license": "MIT", - "dependencies": { - "bodec": "^0.1.0", - "culvert": "^0.1.2", - "git-sha1": "^0.1.2", - "pako": "^0.2.5" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/js-sha256": { - "version": "0.9.0", - "license": "MIT" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, "license": "MIT", "dependencies": { - "argparse": "^2.0.1" + "color-convert": "^2.0.1" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jsesc": { - "version": "2.5.2", + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", "dev": true, "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/json-bigint": { - "version": "1.0.0", + "node_modules/jest-each/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { - "bignumber.js": "^9.0.0" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/json-buffer": { - "version": "3.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", + "node_modules/jest-each/node_modules/color-name": { + "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "license": "ISC", - "optional": true - }, - "node_modules/json-to-ast": { - "version": "2.1.0", + "node_modules/jest-each/node_modules/has-flag": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "code-error-fragment": "0.0.230", - "grapheme-splitter": "^1.0.4" - }, "engines": { - "node": ">= 4" + "node": ">=8" } }, - "node_modules/json2csv": { - "version": "5.0.7", + "node_modules/jest-each/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, "license": "MIT", "dependencies": { - "commander": "^6.1.0", - "jsonparse": "^1.3.1", - "lodash.get": "^4.4.2" - }, - "bin": { - "json2csv": "bin/json2csv.js" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 10", - "npm": ">= 6.13.0" + "node": ">=8" } }, - "node_modules/json5": { - "version": "2.2.3", + "node_modules/jest-environment-node": { + "version": "29.5.0", + "dev": true, "license": "MIT", - "bin": { - "json5": "lib/cli.js" + "dependencies": { + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0" }, "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "4.0.0", - "license": "MIT", - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jsonparse": { - "version": "1.3.1", - "engines": [ - "node >= 0.2.0" - ], - "license": "MIT" - }, - "node_modules/jsonpointer": { - "version": "5.0.1", + "node_modules/jest-get-type": { + "version": "29.4.3", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jsonwebtoken": { - "version": "8.5.1", + "node_modules/jest-haste-map": { + "version": "29.5.0", + "dev": true, "license": "MIT", "dependencies": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^5.6.0" + "@jest/types": "^29.5.0", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.5.0", + "jest-worker": "^29.5.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" }, "engines": { - "node": ">=4", - "npm": ">=1.4.28" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/jsonwebtoken/node_modules/jwa": { - "version": "1.4.1", + "node_modules/jest-leak-detector": { + "version": "29.5.0", + "dev": true, "license": "MIT", "dependencies": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jsonwebtoken/node_modules/jws": { - "version": "3.2.2", + "node_modules/jest-matcher-utils": { + "version": "29.5.0", + "dev": true, "license": "MIT", "dependencies": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/jsonwebtoken/node_modules/semver": { - "version": "5.7.1", - "license": "ISC", - "bin": { - "semver": "bin/semver" + "chalk": "^4.0.0", + "jest-diff": "^29.5.0", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jwa": { - "version": "2.0.0", + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, "license": "MIT", "dependencies": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/jwks-rsa": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jwks-rsa/-/jwks-rsa-3.0.1.tgz", - "integrity": "sha512-UUOZ0CVReK1QVU3rbi9bC7N5/le8ziUj0A2ef1Q0M7OPD2KvjEYizptqIxGIo6fSLYDkqBrazILS18tYuRc8gw==", - "dependencies": { - "@types/express": "^4.17.14", - "@types/jsonwebtoken": "^9.0.0", - "debug": "^4.3.4", - "jose": "^4.10.4", - "limiter": "^1.1.5", - "lru-memoizer": "^2.1.4" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=14" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jws": { - "version": "4.0.0", + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "dev": true, "license": "MIT", "dependencies": { - "jwa": "^2.0.0", - "safe-buffer": "^5.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/keyv": { - "version": "3.1.0", + "node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "json-buffer": "3.0.0" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/kind-of": { - "version": "6.0.3", + "node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.4", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } + "license": "MIT" }, - "node_modules/kleur": { - "version": "3.0.3", + "node_modules/jest-matcher-utils/node_modules/has-flag": { + "version": "4.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/latest-version": { - "version": "5.1.0", + "node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "7.2.0", "dev": true, "license": "MIT", "dependencies": { - "package-json": "^6.3.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/lazy": { - "version": "1.0.11", + "node_modules/jest-message-util": { + "version": "29.5.0", + "dev": true, "license": "MIT", - "engines": { - "node": ">=0.2.0" + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.5.0", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/lcid": { - "version": "1.0.0", + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, "license": "MIT", "dependencies": { - "invert-kv": "^1.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/leven": { - "version": "3.1.0", + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", "dev": true, "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/levn": { - "version": "0.4.1", + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 0.8.0" + "node": ">=7.0.0" } }, - "node_modules/limiter": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", - "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==" - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/load-json-file": { - "version": "2.0.0", + "node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/load-json-file/node_modules/parse-json": { - "version": "2.2.0", + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, "license": "MIT", "dependencies": { - "error-ex": "^1.2.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/load-json-file/node_modules/strip-bom": { - "version": "3.0.0", + "node_modules/jest-mock": { + "version": "29.5.0", + "dev": true, "license": "MIT", + "dependencies": { + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-util": "^29.5.0" + }, "engines": { - "node": ">=4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/locate-path": { - "version": "6.0.0", + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", "dev": true, "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, "engines": { - "node": ">=10" + "node": ">=6" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "node_modules/lodash": { - "version": "4.17.21", - "license": "MIT" - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "license": "MIT" - }, - "node_modules/lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "license": "MIT" - }, - "node_modules/lodash.includes": { - "version": "4.3.0", - "license": "MIT" - }, - "node_modules/lodash.isboolean": { - "version": "3.0.3", - "license": "MIT" - }, - "node_modules/lodash.isinteger": { - "version": "4.0.4", - "license": "MIT" - }, - "node_modules/lodash.isnumber": { - "version": "3.0.3", - "license": "MIT" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "license": "MIT" - }, - "node_modules/lodash.isstring": { - "version": "4.0.1", - "license": "MIT" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", + "node_modules/jest-regex-util": { + "version": "29.4.3", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/lodash.merge": { - "version": "4.6.2", + "node_modules/jest-resolve": { + "version": "29.5.0", "dev": true, - "license": "MIT" - }, - "node_modules/lodash.once": { - "version": "4.1.1", - "license": "MIT" - }, - "node_modules/lodash.snakecase": { - "version": "4.1.1", - "license": "MIT" - }, - "node_modules/log-driver": { - "version": "1.2.7", - "license": "ISC", + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, "engines": { - "node": ">=0.8.6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/log-symbols": { - "version": "4.1.0", + "node_modules/jest-resolve-dependencies": { + "version": "29.5.0", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "jest-regex-util": "^29.4.3", + "jest-snapshot": "^29.5.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/log-symbols/node_modules/ansi-styles": { + "node_modules/jest-resolve/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -26958,7 +28025,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/log-symbols/node_modules/chalk": { + "node_modules/jest-resolve/node_modules/chalk": { "version": "4.1.2", "dev": true, "license": "MIT", @@ -26973,7 +28040,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/log-symbols/node_modules/color-convert": { + "node_modules/jest-resolve/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -26984,12 +28051,12 @@ "node": ">=7.0.0" } }, - "node_modules/log-symbols/node_modules/color-name": { + "node_modules/jest-resolve/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/log-symbols/node_modules/has-flag": { + "node_modules/jest-resolve/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -26997,7 +28064,7 @@ "node": ">=8" } }, - "node_modules/log-symbols/node_modules/supports-color": { + "node_modules/jest-resolve/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", @@ -27008,878 +28075,1113 @@ "node": ">=8" } }, - "node_modules/lowercase-keys": { - "version": "1.0.1", + "node_modules/jest-runner": { + "version": "29.5.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/lru-memoizer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/lru-memoizer/-/lru-memoizer-2.2.0.tgz", - "integrity": "sha512-QfOZ6jNkxCcM/BkIPnFsqDhtrazLRsghi9mBwFAzol5GCvj4EkFT899Za3+QwikCg5sRX8JstioBDwOxEyzaNw==", "dependencies": { - "lodash.clonedeep": "^4.5.0", - "lru-cache": "~4.0.0" - } - }, - "node_modules/lru-memoizer/node_modules/lru-cache": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz", - "integrity": "sha512-uQw9OqphAGiZhkuPlpFGmdTU2tEuhxTourM/19qGJrxBPHAr/f8BT1a0i/lOclESnGatdJG/UCkP9kZB/Lh1iw==", - "dependencies": { - "pseudomap": "^1.0.1", - "yallist": "^2.0.0" + "@jest/console": "^29.5.0", + "@jest/environment": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.4.3", + "jest-environment-node": "^29.5.0", + "jest-haste-map": "^29.5.0", + "jest-leak-detector": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-resolve": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-util": "^29.5.0", + "jest-watcher": "^29.5.0", + "jest-worker": "^29.5.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/lru-memoizer/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" - }, - "node_modules/lru-queue": { - "version": "0.1.0", + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, "license": "MIT", "dependencies": { - "es5-ext": "~0.10.2" - } - }, - "node_modules/luxon": { - "version": "3.3.0", - "license": "MIT", + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=12" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/make-dir": { - "version": "3.1.0", + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "dev": true, "license": "MIT", "dependencies": { - "semver": "^6.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/make-error": { - "version": "1.3.6", - "dev": true, - "license": "ISC" - }, - "node_modules/makeerror": { - "version": "1.0.12", + "node_modules/jest-runner/node_modules/color-convert": { + "version": "2.0.1", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "tmpl": "1.0.5" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/map-o": { - "version": "2.0.10", + "node_modules/jest-runner/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-runner/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "iterate-object": "^1.3.0" + "engines": { + "node": ">=8" } }, - "node_modules/md5": { - "version": "2.3.0", - "license": "BSD-3-Clause", + "node_modules/jest-runner/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", "dependencies": { - "charenc": "0.0.2", - "crypt": "0.0.2", - "is-buffer": "~1.1.6" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/media-typer": { - "version": "0.3.0", + "node_modules/jest-runtime": { + "version": "29.5.0", + "dev": true, "license": "MIT", + "dependencies": { + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/globals": "^29.5.0", + "@jest/source-map": "^29.4.3", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-mock": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, "engines": { - "node": ">= 0.6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/mem": { - "version": "1.1.0", + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, "license": "MIT", "dependencies": { - "mimic-fn": "^1.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/mem/node_modules/mimic-fn": { - "version": "1.2.0", + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "dev": true, "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/memoizee": { - "version": "0.4.15", - "license": "ISC", + "node_modules/jest-runtime/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "d": "^1.0.1", - "es5-ext": "^0.10.53", - "es6-weak-map": "^2.0.3", - "event-emitter": "^0.3.5", - "is-promise": "^2.2.2", - "lru-queue": "^0.1.0", - "next-tick": "^1.1.0", - "timers-ext": "^0.1.7" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "license": "MIT" - }, - "node_modules/merge-stream": { - "version": "2.0.0", + "node_modules/jest-runtime/node_modules/color-name": { + "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/merge2": { - "version": "1.4.1", + "node_modules/jest-runtime/node_modules/has-flag": { + "version": "4.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">= 8" + "node": ">=8" } }, - "node_modules/methods": { - "version": "1.1.2", + "node_modules/jest-runtime/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/micromatch": { - "version": "4.0.5", + "node_modules/jest-snapshot": { + "version": "29.5.0", "dev": true, "license": "MIT", "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.5.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.5.0", + "semver": "^7.3.5" }, "engines": { - "node": ">=8.6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/mime": { - "version": "2.6.0", + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, "license": "MIT", - "bin": { - "mime": "cli.js" + "dependencies": { + "color-convert": "^2.0.1" }, "engines": { - "node": ">=4.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/mime-db": { - "version": "1.52.0", + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "dev": true, "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/mime-types": { - "version": "2.1.35", + "node_modules/jest-snapshot/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { - "mime-db": "1.52.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 0.6" + "node": ">=7.0.0" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", + "node_modules/jest-snapshot/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-snapshot/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/mimic-response": { - "version": "1.0.1", + "node_modules/jest-snapshot/node_modules/lru-cache": { + "version": "6.0.0", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/minimatch": { - "version": "3.1.2", + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.5.2", + "dev": true, "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": "*" + "node": ">=10" } }, - "node_modules/minimist": { - "version": "1.2.8", + "node_modules/jest-snapshot/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "2.9.0", - "license": "ISC", "dependencies": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/minizlib": { - "version": "1.3.3", + "node_modules/jest-snapshot/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/jest-util": { + "version": "29.5.0", + "dev": true, "license": "MIT", "dependencies": { - "minipass": "^2.9.0" + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/mkdirp": { - "version": "1.0.4", + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" + "dependencies": { + "color-convert": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/module-details-from-path": { - "version": "1.0.3", - "license": "MIT" - }, - "node_modules/moment": { - "version": "2.29.4", + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "dev": true, "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": "*" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/moment-timezone": { - "version": "0.5.43", + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { - "moment": "^2.29.4" + "color-name": "~1.1.4" }, "engines": { - "node": "*" + "node": ">=7.0.0" } }, - "node_modules/moo": { - "version": "0.5.2", - "license": "BSD-3-Clause" - }, - "node_modules/ms": { - "version": "2.1.3", + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "dev": true, "license": "MIT" }, - "node_modules/mute-stream": { - "version": "0.0.8", - "license": "ISC" + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/mv": { - "version": "2.1.1", + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, "license": "MIT", "dependencies": { - "mkdirp": "~0.5.1", - "ncp": "~2.0.0", - "rimraf": "~2.4.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.8.0" + "node": ">=8" } }, - "node_modules/mv/node_modules/glob": { - "version": "6.0.4", - "license": "ISC", + "node_modules/jest-validate": { + "version": "29.5.0", + "dev": true, + "license": "MIT", "dependencies": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "@jest/types": "^29.5.0", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "leven": "^3.1.0", + "pretty-format": "^29.5.0" }, "engines": { - "node": "*" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/mv/node_modules/mkdirp": { - "version": "0.5.6", + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, "license": "MIT", "dependencies": { - "minimist": "^1.2.6" + "color-convert": "^2.0.1" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/mv/node_modules/rimraf": { - "version": "2.4.5", - "license": "ISC", - "dependencies": { - "glob": "^6.0.1" + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" }, - "bin": { - "rimraf": "bin.js" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mz": { - "version": "2.7.0", + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "dev": true, "license": "MIT", "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/nan": { - "version": "2.17.0", - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.6", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" + "dependencies": { + "color-name": "~1.1.4" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">=7.0.0" } }, - "node_modules/natural-compare": { - "version": "1.4.0", + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", + "node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", "dev": true, - "license": "MIT" - }, - "node_modules/ncp": { - "version": "2.0.0", "license": "MIT", - "bin": { - "ncp": "bin/ncp" + "engines": { + "node": ">=8" } }, - "node_modules/nearley": { - "version": "2.20.1", + "node_modules/jest-validate/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, "license": "MIT", "dependencies": { - "commander": "^2.19.0", - "moo": "^0.5.0", - "railroad-diagrams": "^1.0.0", - "randexp": "0.4.6" - }, - "bin": { - "nearley-railroad": "bin/nearley-railroad.js", - "nearley-test": "bin/nearley-test.js", - "nearley-unparse": "bin/nearley-unparse.js", - "nearleyc": "bin/nearleyc.js" - }, - "funding": { - "type": "individual", - "url": "https://nearley.js.org/#give-to-nearley" - } - }, - "node_modules/nearley/node_modules/commander": { - "version": "2.20.3", - "license": "MIT" - }, - "node_modules/needle": { - "version": "0.7.10", - "resolved": "git+ssh://git@github.com/clearbit/needle.git#84d28b5f2c3916db1e7eb84aeaa9d976cc40054b", - "integrity": "sha512-9VnoxVBudfy+C5eIHHbb+SkkWugmACsefrBS+EkHTufUJeHUA5/xBeSquvw+Bj5NvQmieEStduiIDnFKP+Kbog==", - "dependencies": { - "iconv-lite": "^0.4.4" - }, - "bin": { - "needle": "bin/needle" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.10.x" + "node": ">=8" } }, - "node_modules/negotiator": { - "version": "0.6.3", + "node_modules/jest-watcher": { + "version": "29.5.0", + "dev": true, "license": "MIT", + "dependencies": { + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.5.0", + "string-length": "^4.0.1" + }, "engines": { - "node": ">= 0.6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/netmask": { - "version": "2.0.2", + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">= 0.4.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/next-tick": { - "version": "1.1.0", - "license": "ISC" - }, - "node_modules/node-addon-api": { - "version": "3.2.1", - "license": "MIT" - }, - "node_modules/node-fetch": { - "version": "2.6.11", + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "dev": true, "license": "MIT", "dependencies": { - "whatwg-url": "^5.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" + "node": ">=10" }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/node-fetch-h2": { - "version": "2.3.0", + "node_modules/jest-watcher/node_modules/color-convert": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "http2-client": "^1.2.5" + "color-name": "~1.1.4" }, "engines": { - "node": "4.x || >=6.0.0" + "node": ">=7.0.0" } }, - "node_modules/node-forge": { - "version": "1.3.1", - "license": "(BSD-3-Clause OR GPL-2.0)", - "engines": { - "node": ">= 6.13.0" - } + "node_modules/jest-watcher/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" }, - "node_modules/node-gyp-build": { - "version": "4.6.0", + "node_modules/jest-watcher/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, "license": "MIT", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" + "engines": { + "node": ">=8" } }, - "node_modules/node-html-markdown": { - "version": "1.3.0", + "node_modules/jest-watcher/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, "license": "MIT", "dependencies": { - "node-html-parser": "^6.1.1" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/node-html-parser": { - "version": "6.1.5", - "license": "MIT", - "dependencies": { - "css-select": "^5.1.0", - "he": "1.2.0" + "node": ">=8" } }, - "node_modules/node-int64": { - "version": "0.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/node-mocks-http": { - "version": "1.9.0", + "node_modules/jest-worker": { + "version": "29.5.0", "dev": true, "license": "MIT", "dependencies": { - "accepts": "^1.3.7", - "depd": "^1.1.0", - "fresh": "^0.5.2", - "merge-descriptors": "^1.0.1", - "methods": "^1.1.2", - "mime": "^1.3.4", - "parseurl": "^1.3.3", - "range-parser": "^1.2.0", - "type-is": "^1.6.18" + "@types/node": "*", + "jest-util": "^29.5.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">=0.6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/node-mocks-http/node_modules/depd": { - "version": "1.1.2", + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/node-mocks-http/node_modules/mime": { - "version": "1.6.0", + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", "dev": true, "license": "MIT", - "bin": { - "mime": "cli.js" + "dependencies": { + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/node-pre-gyp": { + "node_modules/jmespath": { "version": "0.15.0", - "license": "BSD-3-Clause", - "dependencies": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.3", - "needle": "^2.5.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4.4.2" - }, - "bin": { - "node-pre-gyp": "bin/node-pre-gyp" + "engines": { + "node": ">= 0.6.0" } }, - "node_modules/node-pre-gyp/node_modules/debug": { - "version": "3.2.7", + "node_modules/join-component": { + "version": "1.1.0", + "license": "MIT" + }, + "node_modules/jose": { + "version": "4.14.4", "license": "MIT", - "dependencies": { - "ms": "^2.1.1" + "funding": { + "url": "https://github.com/sponsors/panva" } }, - "node_modules/node-pre-gyp/node_modules/mkdirp": { - "version": "0.5.6", + "node_modules/js-beautify": { + "version": "1.14.8", "license": "MIT", "dependencies": { - "minimist": "^1.2.6" + "config-chain": "^1.1.13", + "editorconfig": "^0.15.3", + "glob": "^8.1.0", + "nopt": "^6.0.0" }, "bin": { - "mkdirp": "bin/cmd.js" + "css-beautify": "js/bin/css-beautify.js", + "html-beautify": "js/bin/html-beautify.js", + "js-beautify": "js/bin/js-beautify.js" + }, + "engines": { + "node": ">=12" } }, - "node_modules/node-pre-gyp/node_modules/needle": { - "version": "2.9.1", + "node_modules/js-beautify/node_modules/brace-expansion": { + "version": "2.0.1", "license": "MIT", "dependencies": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" + "balanced-match": "^1.0.0" + } + }, + "node_modules/js-beautify/node_modules/glob": { + "version": "8.1.0", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": ">= 4.4.x" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/node-pre-gyp/node_modules/rimraf": { - "version": "2.7.1", + "node_modules/js-beautify/node_modules/minimatch": { + "version": "5.1.6", "license": "ISC", "dependencies": { - "glob": "^7.1.3" + "brace-expansion": "^2.0.1" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=10" } }, - "node_modules/node-pre-gyp/node_modules/sax": { - "version": "1.2.4", - "license": "ISC" - }, - "node_modules/node-pre-gyp/node_modules/semver": { - "version": "5.7.1", + "node_modules/js-beautify/node_modules/nopt": { + "version": "6.0.0", "license": "ISC", + "dependencies": { + "abbrev": "^1.0.0" + }, "bin": { - "semver": "bin/semver" + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/node-readfiles": { - "version": "0.2.0", - "dev": true, + "node_modules/js-git": { + "version": "0.7.8", "license": "MIT", "dependencies": { - "es6-promise": "^3.2.1" + "bodec": "^0.1.0", + "culvert": "^0.1.2", + "git-sha1": "^0.1.2", + "pako": "^0.2.5" } }, - "node_modules/node-releases": { - "version": "2.0.12", + "node_modules/js-sha256": { + "version": "0.9.0", + "license": "MIT" + }, + "node_modules/js-tokens": { + "version": "4.0.0", "dev": true, "license": "MIT" }, - "node_modules/nodemon": { - "version": "2.0.4", + "node_modules/js-yaml": { + "version": "4.1.0", "dev": true, - "hasInstallScript": true, "license": "MIT", "dependencies": { - "chokidar": "^3.2.2", - "debug": "^3.2.6", - "ignore-by-default": "^1.0.1", - "minimatch": "^3.0.4", - "pstree.remy": "^1.1.7", - "semver": "^5.7.1", - "supports-color": "^5.5.0", - "touch": "^3.1.0", - "undefsafe": "^2.0.2", - "update-notifier": "^4.0.0" + "argparse": "^2.0.1" }, "bin": { - "nodemon": "bin/nodemon.js" + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" }, "engines": { - "node": ">=8.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nodemon" + "node": ">=4" } }, - "node_modules/nodemon/node_modules/debug": { - "version": "3.2.7", - "dev": true, + "node_modules/json-bigint": { + "version": "1.0.0", "license": "MIT", "dependencies": { - "ms": "^2.1.1" + "bignumber.js": "^9.0.0" } }, - "node_modules/nodemon/node_modules/semver": { - "version": "5.7.1", + "node_modules/json-buffer": { + "version": "3.0.0", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" - } + "license": "MIT" }, - "node_modules/noms": { - "version": "0.0.0", + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", "dev": true, - "license": "ISC", - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "~1.0.31" - } + "license": "MIT" }, - "node_modules/noms/node_modules/isarray": { - "version": "0.0.1", + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", "dev": true, "license": "MIT" }, - "node_modules/noms/node_modules/readable-stream": { - "version": "1.0.34", + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "license": "ISC", + "optional": true + }, + "node_modules/json-to-ast": { + "version": "2.1.0", "dev": true, "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "code-error-fragment": "0.0.230", + "grapheme-splitter": "^1.0.4" + }, + "engines": { + "node": ">= 4" } }, - "node_modules/noms/node_modules/string_decoder": { - "version": "0.10.31", - "dev": true, + "node_modules/json2csv": { + "version": "5.0.7", + "license": "MIT", + "dependencies": { + "commander": "^6.1.0", + "jsonparse": "^1.3.1", + "lodash.get": "^4.4.2" + }, + "bin": { + "json2csv": "bin/json2csv.js" + }, + "engines": { + "node": ">= 10", + "npm": ">= 6.13.0" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "engines": [ + "node >= 0.2.0" + ], "license": "MIT" }, - "node_modules/nopt": { - "version": "4.0.3", - "license": "ISC", + "node_modules/jsonpointer": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jsonwebtoken": { + "version": "8.5.1", + "license": "MIT", "dependencies": { - "abbrev": "1", - "osenv": "^0.1.4" + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" }, - "bin": { - "nopt": "bin/nopt.js" + "engines": { + "node": ">=4", + "npm": ">=1.4.28" } }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "license": "BSD-2-Clause", + "node_modules/jsonwebtoken/node_modules/jwa": { + "version": "1.4.1", + "license": "MIT", "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" } }, - "node_modules/normalize-package-data/node_modules/semver": { + "node_modules/jsonwebtoken/node_modules/jws": { + "version": "3.2.2", + "license": "MIT", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jsonwebtoken/node_modules/semver": { "version": "5.7.1", "license": "ISC", "bin": { "semver": "bin/semver" } }, - "node_modules/normalize-path": { - "version": "3.0.0", + "node_modules/jwa": { + "version": "2.0.0", "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" } }, - "node_modules/normalize-url": { - "version": "4.5.1", - "dev": true, + "node_modules/jwks-rsa": { + "version": "3.0.1", "license": "MIT", + "dependencies": { + "@types/express": "^4.17.14", + "@types/jsonwebtoken": "^9.0.0", + "debug": "^4.3.4", + "jose": "^4.10.4", + "limiter": "^1.1.5", + "lru-memoizer": "^2.1.4" + }, "engines": { - "node": ">=8" + "node": ">=14" } }, - "node_modules/npm-bundled": { - "version": "1.1.2", - "license": "ISC", + "node_modules/jws": { + "version": "4.0.0", + "license": "MIT", "dependencies": { - "npm-normalize-package-bin": "^1.0.1" + "jwa": "^2.0.0", + "safe-buffer": "^5.0.1" } }, - "node_modules/npm-normalize-package-bin": { - "version": "1.0.1", - "license": "ISC" - }, - "node_modules/npm-packlist": { - "version": "1.4.8", - "license": "ISC", + "node_modules/keyv": { + "version": "3.1.0", + "dev": true, + "license": "MIT", "dependencies": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", - "npm-normalize-package-bin": "^1.0.1" + "json-buffer": "3.0.0" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", + "node_modules/kind-of": { + "version": "6.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/latest-version": { + "version": "5.1.0", "dev": true, "license": "MIT", "dependencies": { - "path-key": "^3.0.0" + "package-json": "^6.3.0" }, "engines": { "node": ">=8" } }, - "node_modules/npmlog": { - "version": "4.1.2", - "license": "ISC", + "node_modules/lazy": { + "version": "1.0.11", + "license": "MIT", + "engines": { + "node": ">=0.2.0" + } + }, + "node_modules/lcid": { + "version": "1.0.0", + "license": "MIT", "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "invert-kv": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/nssocket": { - "version": "0.6.0", + "node_modules/leven": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "dev": true, "license": "MIT", "dependencies": { - "eventemitter2": "~0.4.14", - "lazy": "~1.0.11" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": ">= 0.10.x" + "node": ">= 0.8.0" } }, - "node_modules/nssocket/node_modules/eventemitter2": { - "version": "0.4.14", + "node_modules/limiter": { + "version": "1.1.5" + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "dev": true, "license": "MIT" }, - "node_modules/nth-check": { - "version": "2.1.1", - "license": "BSD-2-Clause", + "node_modules/load-json-file": { + "version": "2.0.0", + "license": "MIT", "dependencies": { - "boolbase": "^1.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" + "engines": { + "node": ">=4" } }, - "node_modules/number-is-nan": { - "version": "1.0.1", + "node_modules/load-json-file/node_modules/parse-json": { + "version": "2.2.0", "license": "MIT", + "dependencies": { + "error-ex": "^1.2.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/oas-kit-common": { - "version": "1.0.8", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "fast-safe-stringify": "^2.0.7" + "node_modules/load-json-file/node_modules/strip-bom": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" } }, - "node_modules/oas-linter": { - "version": "3.2.2", + "node_modules/locate-path": { + "version": "6.0.0", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "@exodus/schemasafe": "^1.0.0-rc.2", - "should": "^13.2.1", - "yaml": "^1.10.0" + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/Mermade/oas-kit?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/oas-normalize": { - "version": "6.0.0", + "node_modules/lodash": { + "version": "4.17.21", + "license": "MIT" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "license": "MIT" + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", "dev": true, - "license": "MIT", - "dependencies": { - "@readme/openapi-parser": "^2.2.0", - "js-yaml": "^4.1.0", - "node-fetch": "^2.6.1", - "swagger2openapi": "^7.0.8" - }, + "license": "MIT" + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "license": "MIT" + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "license": "MIT" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "license": "MIT" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "license": "MIT" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "license": "MIT" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "license": "MIT" + }, + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "license": "MIT" + }, + "node_modules/log-driver": { + "version": "1.2.7", + "license": "ISC", "engines": { - "node": ">=14" + "node": ">=0.8.6" } }, - "node_modules/oas-resolver": { - "version": "2.5.6", + "node_modules/log-symbols": { + "version": "4.1.0", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "node-fetch-h2": "^2.3.0", - "oas-kit-common": "^1.0.8", - "reftools": "^1.1.9", - "yaml": "^1.10.0", - "yargs": "^17.0.1" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, - "bin": { - "resolve": "resolve.js" + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/Mermade/oas-kit?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/oas-resolver/node_modules/ansi-styles": { + "node_modules/log-symbols/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -27893,20 +29195,22 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/oas-resolver/node_modules/cliui": { - "version": "8.0.1", + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/oas-resolver/node_modules/color-convert": { + "node_modules/log-symbols/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -27917,1279 +29221,1248 @@ "node": ">=7.0.0" } }, - "node_modules/oas-resolver/node_modules/color-name": { + "node_modules/log-symbols/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/oas-resolver/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/oas-resolver/node_modules/string-width": { - "version": "4.2.3", + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/oas-resolver/node_modules/wrap-ansi": { - "version": "7.0.0", + "node_modules/lowercase-keys": { + "version": "1.0.1", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/oas-resolver/node_modules/y18n": { - "version": "5.0.8", - "dev": true, + "node_modules/lru-cache": { + "version": "5.1.1", "license": "ISC", - "engines": { - "node": ">=10" + "dependencies": { + "yallist": "^3.0.2" } }, - "node_modules/oas-resolver/node_modules/yargs": { - "version": "17.7.2", - "dev": true, + "node_modules/lru-memoizer": { + "version": "2.2.0", "license": "MIT", "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/oas-schema-walker": { - "version": "1.1.5", - "dev": true, - "license": "BSD-3-Clause", - "funding": { - "url": "https://github.com/Mermade/oas-kit?sponsor=1" + "lodash.clonedeep": "^4.5.0", + "lru-cache": "~4.0.0" } }, - "node_modules/oas-validator": { - "version": "5.0.8", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/lru-memoizer/node_modules/lru-cache": { + "version": "4.0.2", + "license": "ISC", "dependencies": { - "call-me-maybe": "^1.0.1", - "oas-kit-common": "^1.0.8", - "oas-linter": "^3.2.2", - "oas-resolver": "^2.5.6", - "oas-schema-walker": "^1.1.5", - "reftools": "^1.1.9", - "should": "^13.2.1", - "yaml": "^1.10.0" - }, - "funding": { - "url": "https://github.com/Mermade/oas-kit?sponsor=1" + "pseudomap": "^1.0.1", + "yallist": "^2.0.0" } }, - "node_modules/oauth": { - "version": "0.9.15", - "license": "MIT" - }, - "node_modules/object-assign": { - "version": "4.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } + "node_modules/lru-memoizer/node_modules/yallist": { + "version": "2.1.2", + "license": "ISC" }, - "node_modules/object-inspect": { - "version": "1.12.3", + "node_modules/lru-queue": { + "version": "0.1.0", "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "es5-ext": "~0.10.2" } }, - "node_modules/object-keys": { - "version": "1.1.1", - "dev": true, + "node_modules/luxon": { + "version": "3.3.0", "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=12" } }, - "node_modules/object.assign": { - "version": "4.1.4", - "dev": true, + "node_modules/make-dir": { + "version": "3.1.0", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" + "semver": "^6.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/object.entries": { - "version": "1.1.6", + "node_modules/make-error": { + "version": "1.3.6", "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - } + "license": "ISC" }, - "node_modules/object.values": { - "version": "1.1.6", + "node_modules/makeerror": { + "version": "1.0.12", "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/omit-deep-by-values": { - "version": "1.0.2", - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "lodash": "~4.17.11" - }, - "engines": { - "node": ">=0.10.0" + "tmpl": "1.0.5" } }, - "node_modules/on-finished": { - "version": "2.4.1", + "node_modules/map-o": { + "version": "2.0.10", "license": "MIT", "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" + "iterate-object": "^1.3.0" } }, - "node_modules/once": { - "version": "1.4.0", - "license": "ISC", + "node_modules/md5": { + "version": "2.3.0", + "license": "BSD-3-Clause", "dependencies": { - "wrappy": "1" + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" } }, - "node_modules/onetime": { - "version": "5.1.2", + "node_modules/media-typer": { + "version": "0.3.0", "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6" } }, - "node_modules/open": { - "version": "8.4.2", - "dev": true, + "node_modules/mem": { + "version": "1.1.0", "license": "MIT", "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" + "mimic-fn": "^1.0.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/openapi-comment-parser": { - "version": "1.0.0", + "node_modules/mem/node_modules/mimic-fn": { + "version": "1.2.0", "license": "MIT", - "bin": { - "openapi-comment-parser": "bin/index.js" - }, "engines": { - "node": ">=10.0.0" + "node": ">=4" } }, - "node_modules/openapi-types": { - "version": "12.1.3", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/optionator": { - "version": "0.9.1", - "dev": true, - "license": "MIT", + "node_modules/memoizee": { + "version": "0.4.15", + "license": "ISC", "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "es6-weak-map": "^2.0.3", + "event-emitter": "^0.3.5", + "is-promise": "^2.2.2", + "lru-queue": "^0.1.0", + "next-tick": "^1.1.0", + "timers-ext": "^0.1.7" } }, - "node_modules/optionator/node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "node_modules/merge-descriptors": { + "version": "1.0.1", + "license": "MIT" }, - "node_modules/ora": { - "version": "5.4.1", + "node_modules/merge-stream": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", "dev": true, "license": "MIT", - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 8" } }, - "node_modules/ora/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, + "node_modules/methods": { + "version": "1.1.2", "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 0.6" } }, - "node_modules/ora/node_modules/chalk": { - "version": "4.1.2", + "node_modules/micromatch": { + "version": "4.0.5", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=8.6" } }, - "node_modules/ora/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, + "node_modules/mime": { + "version": "2.6.0", "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" + "bin": { + "mime": "cli.js" }, "engines": { - "node": ">=7.0.0" + "node": ">=4.0.0" } }, - "node_modules/ora/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/ora/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, + "node_modules/mime-db": { + "version": "1.52.0", "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/ora/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, + "node_modules/mime-types": { + "version": "2.1.35", "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "mime-db": "1.52.0" }, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/os-homedir": { - "version": "1.0.2", + "node_modules/mimic-fn": { + "version": "2.1.0", "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/os-locale": { - "version": "2.1.0", + "node_modules/mimic-response": { + "version": "1.0.1", + "dev": true, "license": "MIT", - "dependencies": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" - }, "engines": { "node": ">=4" } }, - "node_modules/os-locale/node_modules/cross-spawn": { - "version": "5.1.0", - "license": "MIT", - "dependencies": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "node_modules/os-locale/node_modules/execa": { - "version": "0.7.0", - "license": "MIT", + "node_modules/minimatch": { + "version": "3.1.2", + "license": "ISC", "dependencies": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=4" + "node": "*" } }, - "node_modules/os-locale/node_modules/get-stream": { - "version": "3.0.0", + "node_modules/minimist": { + "version": "1.2.8", "license": "MIT", - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/os-locale/node_modules/lru-cache": { - "version": "4.1.5", + "node_modules/minipass": { + "version": "2.9.0", "license": "ISC", "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" } }, - "node_modules/os-locale/node_modules/npm-run-path": { - "version": "2.0.2", + "node_modules/minizlib": { + "version": "1.3.3", "license": "MIT", "dependencies": { - "path-key": "^2.0.0" + "minipass": "^2.9.0" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/os-locale/node_modules/path-key": { - "version": "2.0.1", + "node_modules/module-details-from-path": { + "version": "1.0.3", + "license": "MIT" + }, + "node_modules/moment": { + "version": "2.29.4", "license": "MIT", "engines": { - "node": ">=4" + "node": "*" } }, - "node_modules/os-locale/node_modules/shebang-command": { - "version": "1.2.0", + "node_modules/moment-timezone": { + "version": "0.5.43", "license": "MIT", "dependencies": { - "shebang-regex": "^1.0.0" + "moment": "^2.29.4" }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/os-locale/node_modules/shebang-regex": { - "version": "1.0.0", + "node_modules/moo": { + "version": "0.5.2", + "license": "BSD-3-Clause" + }, + "node_modules/ms": { + "version": "2.1.3", + "license": "MIT" + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "license": "ISC" + }, + "node_modules/mv": { + "version": "2.1.1", "license": "MIT", + "dependencies": { + "mkdirp": "~0.5.1", + "ncp": "~2.0.0", + "rimraf": "~2.4.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=0.8.0" } }, - "node_modules/os-locale/node_modules/which": { - "version": "1.3.1", + "node_modules/mv/node_modules/glob": { + "version": "6.0.4", "license": "ISC", "dependencies": { - "isexe": "^2.0.0" + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, - "bin": { - "which": "bin/which" + "engines": { + "node": "*" } }, - "node_modules/os-locale/node_modules/yallist": { - "version": "2.1.2", - "license": "ISC" - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", + "node_modules/mv/node_modules/mkdirp": { + "version": "0.5.6", "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/osenv": { - "version": "0.1.5", + "node_modules/mv/node_modules/rimraf": { + "version": "2.4.5", "license": "ISC", "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "glob": "^6.0.1" + }, + "bin": { + "rimraf": "bin.js" } }, - "node_modules/p-cancelable": { - "version": "1.1.0", - "dev": true, + "node_modules/mz": { + "version": "2.7.0", "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" } }, - "node_modules/p-finally": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">=4" - } + "node_modules/nan": { + "version": "2.17.0", + "license": "MIT" }, - "node_modules/p-limit": { - "version": "3.1.0", + "node_modules/nanoid": { + "version": "3.3.6", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/p-locate": { - "version": "5.0.0", - "dev": true, + "node_modules/natural-compare": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/ncp": { + "version": "2.0.0", "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "ncp": "bin/ncp" } }, - "node_modules/p-queue": { - "version": "6.6.2", + "node_modules/nearley": { + "version": "2.20.1", "license": "MIT", "dependencies": { - "eventemitter3": "^4.0.4", - "p-timeout": "^3.2.0" + "commander": "^2.19.0", + "moo": "^0.5.0", + "railroad-diagrams": "^1.0.0", + "randexp": "0.4.6" }, - "engines": { - "node": ">=8" + "bin": { + "nearley-railroad": "bin/nearley-railroad.js", + "nearley-test": "bin/nearley-test.js", + "nearley-unparse": "bin/nearley-unparse.js", + "nearleyc": "bin/nearleyc.js" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "individual", + "url": "https://nearley.js.org/#give-to-nearley" } }, - "node_modules/p-queue/node_modules/eventemitter3": { - "version": "4.0.7", + "node_modules/nearley/node_modules/commander": { + "version": "2.20.3", "license": "MIT" }, - "node_modules/p-retry": { - "version": "4.6.2", - "license": "MIT", + "node_modules/needle": { + "version": "0.7.10", + "resolved": "git+ssh://git@github.com/clearbit/needle.git#84d28b5f2c3916db1e7eb84aeaa9d976cc40054b", + "integrity": "sha512-9VnoxVBudfy+C5eIHHbb+SkkWugmACsefrBS+EkHTufUJeHUA5/xBeSquvw+Bj5NvQmieEStduiIDnFKP+Kbog==", "dependencies": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" + "iconv-lite": "^0.4.4" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-timeout": { - "version": "3.2.0", - "license": "MIT", - "dependencies": { - "p-finally": "^1.0.0" + "bin": { + "needle": "bin/needle" }, "engines": { - "node": ">=8" + "node": ">= 0.10.x" } }, - "node_modules/p-try": { - "version": "2.2.0", + "node_modules/negotiator": { + "version": "0.6.3", "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 0.6" } }, - "node_modules/pac-proxy-agent": { - "version": "5.0.0", + "node_modules/netmask": { + "version": "2.0.2", "license": "MIT", - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4", - "get-uri": "3", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "5", - "pac-resolver": "^5.0.0", - "raw-body": "^2.2.0", - "socks-proxy-agent": "5" - }, "engines": { - "node": ">= 8" + "node": ">= 0.4.0" } }, - "node_modules/pac-resolver": { - "version": "5.0.1", + "node_modules/next-tick": { + "version": "1.1.0", + "license": "ISC" + }, + "node_modules/node-addon-api": { + "version": "3.2.1", + "license": "MIT" + }, + "node_modules/node-fetch": { + "version": "2.6.11", "license": "MIT", "dependencies": { - "degenerator": "^3.0.2", - "ip": "^1.1.5", - "netmask": "^2.0.2" + "whatwg-url": "^5.0.0" }, "engines": { - "node": ">= 8" + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "node_modules/package-json": { - "version": "6.5.0", + "node_modules/node-fetch-h2": { + "version": "2.3.0", "dev": true, "license": "MIT", "dependencies": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" + "http2-client": "^1.2.5" }, "engines": { - "node": ">=8" + "node": "4.x || >=6.0.0" } }, - "node_modules/packet-reader": { - "version": "1.0.0", - "license": "MIT" + "node_modules/node-forge": { + "version": "1.3.1", + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } }, - "node_modules/pako": { - "version": "0.2.9", - "license": "MIT" + "node_modules/node-gyp-build": { + "version": "4.6.0", + "license": "MIT", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } }, - "node_modules/parent-module": { - "version": "1.0.1", - "dev": true, + "node_modules/node-html-markdown": { + "version": "1.3.0", "license": "MIT", "dependencies": { - "callsites": "^3.0.0" + "node-html-parser": "^6.1.1" }, "engines": { - "node": ">=6" + "node": ">=10.0.0" } }, - "node_modules/parse-json": { - "version": "5.2.0", - "dev": true, + "node_modules/node-html-parser": { + "version": "6.1.5", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "css-select": "^5.1.0", + "he": "1.2.0" } }, - "node_modules/parse-link-header": { - "version": "2.0.0", + "node_modules/node-int64": { + "version": "0.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/node-mocks-http": { + "version": "1.9.0", "dev": true, "license": "MIT", "dependencies": { - "xtend": "~4.0.1" + "accepts": "^1.3.7", + "depd": "^1.1.0", + "fresh": "^0.5.2", + "merge-descriptors": "^1.0.1", + "methods": "^1.1.2", + "mime": "^1.3.4", + "parseurl": "^1.3.3", + "range-parser": "^1.2.0", + "type-is": "^1.6.18" + }, + "engines": { + "node": ">=0.6" } }, - "node_modules/parse-link-header/node_modules/xtend": { - "version": "4.0.2", + "node_modules/node-mocks-http/node_modules/depd": { + "version": "1.1.2", "dev": true, "license": "MIT", "engines": { - "node": ">=0.4" + "node": ">= 0.6" } }, - "node_modules/parse-srcset": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/parse5": { - "version": "5.1.1", - "license": "MIT" - }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "5.1.1", + "node_modules/node-mocks-http/node_modules/mime": { + "version": "1.6.0", + "dev": true, "license": "MIT", - "dependencies": { - "parse5": "^5.1.1" + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" } }, - "node_modules/parseley": { - "version": "0.7.0", - "license": "MIT", + "node_modules/node-pre-gyp": { + "version": "0.15.0", + "license": "BSD-3-Clause", "dependencies": { - "moo": "^0.5.1", - "nearley": "^2.20.1" + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.3", + "needle": "^2.5.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4.4.2" }, - "funding": { - "url": "https://ko-fi.com/killymxi" + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" } }, - "node_modules/parseurl": { - "version": "1.3.3", + "node_modules/node-pre-gyp/node_modules/debug": { + "version": "3.2.7", "license": "MIT", - "engines": { - "node": ">= 0.8" + "dependencies": { + "ms": "^2.1.1" } }, - "node_modules/passport": { - "version": "0.6.0", + "node_modules/node-pre-gyp/node_modules/mkdirp": { + "version": "0.5.6", "license": "MIT", "dependencies": { - "passport-strategy": "1.x.x", - "pause": "0.0.1", - "utils-merge": "^1.0.1" - }, - "engines": { - "node": ">= 0.4.0" + "minimist": "^1.2.6" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/jaredhanson" + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/passport-facebook": { - "version": "3.0.0", + "node_modules/node-pre-gyp/node_modules/needle": { + "version": "2.9.1", "license": "MIT", "dependencies": { - "passport-oauth2": "1.x.x" + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" }, "engines": { - "node": ">= 0.4.0" + "node": ">= 4.4.x" } }, - "node_modules/passport-github2": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/passport-github2/-/passport-github2-0.1.12.tgz", - "integrity": "sha512-3nPUCc7ttF/3HSP/k9sAXjz3SkGv5Nki84I05kSQPo01Jqq1NzJACgMblCK0fGcv9pKCG/KXU3AJRDGLqHLoIw==", + "node_modules/node-pre-gyp/node_modules/rimraf": { + "version": "2.7.1", + "license": "ISC", "dependencies": { - "passport-oauth2": "1.x.x" + "glob": "^7.1.3" }, - "engines": { - "node": ">= 0.8.0" + "bin": { + "rimraf": "bin.js" } }, - "node_modules/passport-google-oauth": { - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "passport-google-oauth1": "1.x.x", - "passport-google-oauth20": "2.x.x" - }, - "engines": { - "node": ">= 0.4.0" + "node_modules/node-pre-gyp/node_modules/sax": { + "version": "1.2.4", + "license": "ISC" + }, + "node_modules/node-pre-gyp/node_modules/semver": { + "version": "5.7.1", + "license": "ISC", + "bin": { + "semver": "bin/semver" } }, - "node_modules/passport-google-oauth1": { - "version": "1.0.0", + "node_modules/node-readfiles": { + "version": "0.2.0", + "dev": true, "license": "MIT", "dependencies": { - "passport-oauth1": "1.x.x" + "es6-promise": "^3.2.1" } }, - "node_modules/passport-google-oauth20": { - "version": "2.0.0", + "node_modules/node-releases": { + "version": "2.0.12", + "dev": true, + "license": "MIT" + }, + "node_modules/nodemon": { + "version": "2.0.4", + "dev": true, + "hasInstallScript": true, "license": "MIT", "dependencies": { - "passport-oauth2": "1.x.x" + "chokidar": "^3.2.2", + "debug": "^3.2.6", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.0.4", + "pstree.remy": "^1.1.7", + "semver": "^5.7.1", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.2", + "update-notifier": "^4.0.0" + }, + "bin": { + "nodemon": "bin/nodemon.js" }, "engines": { - "node": ">= 0.4.0" + "node": ">=8.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" } }, - "node_modules/passport-oauth": { - "version": "0.1.15", + "node_modules/nodemon/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", "dependencies": { - "oauth": "0.9.x", - "passport": "~0.1.1", - "pkginfo": "0.2.x" - }, - "engines": { - "node": ">= 0.4.0" + "ms": "^2.1.1" } }, - "node_modules/passport-oauth/node_modules/passport": { - "version": "0.1.18", - "dependencies": { - "pause": "0.0.1", - "pkginfo": "0.2.x" - }, - "engines": { - "node": ">= 0.4.0" + "node_modules/nodemon/node_modules/semver": { + "version": "5.7.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" } }, - "node_modules/passport-oauth1": { - "version": "1.3.0", - "license": "MIT", + "node_modules/noms": { + "version": "0.0.0", + "dev": true, + "license": "ISC", "dependencies": { - "oauth": "0.9.x", - "passport-strategy": "1.x.x", - "utils-merge": "1.x.x" - }, - "engines": { - "node": ">= 0.4.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/jaredhanson" + "inherits": "^2.0.1", + "readable-stream": "~1.0.31" } }, - "node_modules/passport-oauth2": { - "version": "1.7.0", + "node_modules/noms/node_modules/isarray": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/noms/node_modules/readable-stream": { + "version": "1.0.34", + "dev": true, "license": "MIT", "dependencies": { - "base64url": "3.x.x", - "oauth": "0.9.x", - "passport-strategy": "1.x.x", - "uid2": "0.0.x", - "utils-merge": "1.x.x" - }, - "engines": { - "node": ">= 0.4.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/jaredhanson" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" } }, - "node_modules/passport-slack": { - "version": "0.0.7", + "node_modules/noms/node_modules/string_decoder": { + "version": "0.10.31", + "dev": true, + "license": "MIT" + }, + "node_modules/nopt": { + "version": "4.0.3", + "license": "ISC", "dependencies": { - "passport-oauth": "~0.1.1", - "pkginfo": "0.2.x" + "abbrev": "1", + "osenv": "^0.1.4" }, - "engines": { - "node": ">= 0.4.0" + "bin": { + "nopt": "bin/nopt.js" } }, - "node_modules/passport-strategy": { - "version": "1.0.0", - "engines": { - "node": ">= 0.4.0" + "node_modules/normalize-package-data": { + "version": "2.5.0", + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "node_modules/path-exists": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "license": "ISC", + "bin": { + "semver": "bin/semver" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", + "node_modules/normalize-path": { + "version": "3.0.0", "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/path-key": { - "version": "3.1.1", + "node_modules/normalize-url": { + "version": "4.5.1", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "license": "MIT" + "node_modules/npm-bundled": { + "version": "1.1.2", + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^1.0.1" + } }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "license": "MIT" + "node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "license": "ISC" }, - "node_modules/path-type": { - "version": "4.0.0", + "node_modules/npm-packlist": { + "version": "1.4.8", + "license": "ISC", + "dependencies": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", "dev": true, "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/pause": { - "version": "0.0.1" + "node_modules/npmlog": { + "version": "4.1.2", + "license": "ISC", + "dependencies": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } }, - "node_modules/peek-readable": { - "version": "5.0.0", + "node_modules/nssocket": { + "version": "0.6.0", "license": "MIT", + "dependencies": { + "eventemitter2": "~0.4.14", + "lazy": "~1.0.11" + }, "engines": { - "node": ">=14.16" + "node": ">= 0.10.x" + } + }, + "node_modules/nssocket/node_modules/eventemitter2": { + "version": "0.4.14", + "license": "MIT" + }, + "node_modules/nth-check": { + "version": "2.1.1", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/peopledatalabs": { - "version": "5.0.5", + "node_modules/number-is-nan": { + "version": "1.0.1", "license": "MIT", - "dependencies": { - "axios": "^1.4.0", - "copy-anything": "^3.0.5" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/peopledatalabs/node_modules/axios": { - "version": "1.4.0", - "license": "MIT", + "node_modules/oas-kit-common": { + "version": "1.0.8", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" + "fast-safe-stringify": "^2.0.7" } }, - "node_modules/peopledatalabs/node_modules/form-data": { - "version": "4.0.0", - "license": "MIT", + "node_modules/oas-linter": { + "version": "3.2.2", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "@exodus/schemasafe": "^1.0.0-rc.2", + "should": "^13.2.1", + "yaml": "^1.10.0" }, - "engines": { - "node": ">= 6" + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" } }, - "node_modules/pg": { - "version": "8.11.0", + "node_modules/oas-normalize": { + "version": "6.0.0", + "dev": true, "license": "MIT", "dependencies": { - "buffer-writer": "2.0.0", - "packet-reader": "1.0.0", - "pg-connection-string": "^2.6.0", - "pg-pool": "^3.6.0", - "pg-protocol": "^1.6.0", - "pg-types": "^2.1.0", - "pgpass": "1.x" + "@readme/openapi-parser": "^2.2.0", + "js-yaml": "^4.1.0", + "node-fetch": "^2.6.1", + "swagger2openapi": "^7.0.8" }, "engines": { - "node": ">= 8.0.0" - }, - "optionalDependencies": { - "pg-cloudflare": "^1.1.0" + "node": ">=14" + } + }, + "node_modules/oas-resolver": { + "version": "2.5.6", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "node-fetch-h2": "^2.3.0", + "oas-kit-common": "^1.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" }, - "peerDependencies": { - "pg-native": ">=3.0.1" + "bin": { + "resolve": "resolve.js" }, - "peerDependenciesMeta": { - "pg-native": { - "optional": true - } + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" } }, - "node_modules/pg-cloudflare": { - "version": "1.1.0", + "node_modules/oas-resolver/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, "license": "MIT", - "optional": true - }, - "node_modules/pg-connection-string": { - "version": "2.6.0", - "license": "MIT" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "node_modules/pg-int8": { - "version": "1.0.1", + "node_modules/oas-resolver/node_modules/cliui": { + "version": "8.0.1", + "dev": true, "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, "engines": { - "node": ">=4.0.0" + "node": ">=12" } }, - "node_modules/pg-pool": { - "version": "3.6.0", + "node_modules/oas-resolver/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, "license": "MIT", - "peerDependencies": { - "pg": ">=8.0" + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/pg-protocol": { - "version": "1.6.0", + "node_modules/oas-resolver/node_modules/color-name": { + "version": "1.1.4", + "dev": true, "license": "MIT" }, - "node_modules/pg-types": { - "version": "2.2.0", + "node_modules/oas-resolver/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "pg-int8": "1.0.1", - "postgres-array": "~2.0.0", - "postgres-bytea": "~1.0.0", - "postgres-date": "~1.0.4", - "postgres-interval": "^1.1.0" - }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/pgpass": { - "version": "1.0.5", + "node_modules/oas-resolver/node_modules/string-width": { + "version": "4.2.3", + "dev": true, "license": "MIT", "dependencies": { - "split2": "^4.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/picocolors": { - "version": "1.0.0", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", + "node_modules/oas-resolver/node_modules/wrap-ansi": { + "version": "7.0.0", + "dev": true, "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": ">=8.6" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/pidusage": { - "version": "3.0.2", + "node_modules/oas-resolver/node_modules/y18n": { + "version": "5.0.8", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/oas-resolver/node_modules/yargs": { + "version": "17.7.2", + "dev": true, "license": "MIT", "dependencies": { - "safe-buffer": "^5.2.1" + "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": ">=10" + "node": ">=12" } }, - "node_modules/pidusage/node_modules/safe-buffer": { - "version": "5.2.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/oas-schema-walker": { + "version": "1.1.5", + "dev": true, + "license": "BSD-3-Clause", + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-validator": { + "version": "5.0.8", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "call-me-maybe": "^1.0.1", + "oas-kit-common": "^1.0.8", + "oas-linter": "^3.2.2", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "reftools": "^1.1.9", + "should": "^13.2.1", + "yaml": "^1.10.0" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oauth": { + "version": "0.9.15", "license": "MIT" }, - "node_modules/pify": { - "version": "2.3.0", + "node_modules/object-assign": { + "version": "4.1.1", "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/pirates": { - "version": "4.0.6", - "dev": true, + "node_modules/object-inspect": { + "version": "1.12.3", "license": "MIT", - "engines": { - "node": ">= 6" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pkg-dir": { - "version": "4.2.0", + "node_modules/object-keys": { + "version": "1.1.1", "dev": true, "license": "MIT", - "dependencies": { - "find-up": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", + "node_modules/object.assign": { + "version": "4.1.4", "dev": true, "license": "MIT", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", + "node_modules/object.entries": { + "version": "1.1.6", "dev": true, "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", + "node_modules/object.values": { + "version": "1.1.6", "dev": true, "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "engines": { - "node": ">=6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "dev": true, + "node_modules/omit-deep-by-values": { + "version": "1.0.2", "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "lodash": "~4.17.11" }, "engines": { - "node": ">=8" - } - }, - "node_modules/pkginfo": { - "version": "0.2.3", - "engines": { - "node": ">= 0.4.0" + "node": ">=0.10.0" } }, - "node_modules/pm2": { - "version": "5.3.0", - "license": "AGPL-3.0", + "node_modules/on-finished": { + "version": "2.4.1", + "license": "MIT", "dependencies": { - "@pm2/agent": "~2.0.0", - "@pm2/io": "~5.0.0", - "@pm2/js-api": "~0.6.7", - "@pm2/pm2-version-check": "latest", - "async": "~3.2.0", - "blessed": "0.1.81", - "chalk": "3.0.0", - "chokidar": "^3.5.3", - "cli-tableau": "^2.0.0", - "commander": "2.15.1", - "croner": "~4.1.92", - "dayjs": "~1.11.5", - "debug": "^4.3.1", - "enquirer": "2.3.6", - "eventemitter2": "5.0.1", - "fclone": "1.0.11", - "mkdirp": "1.0.4", - "needle": "2.4.0", - "pidusage": "~3.0", - "pm2-axon": "~4.0.1", - "pm2-axon-rpc": "~0.7.1", - "pm2-deploy": "~1.0.2", - "pm2-multimeter": "^0.1.2", - "promptly": "^2", - "semver": "^7.2", - "source-map-support": "0.5.21", - "sprintf-js": "1.1.2", - "vizion": "~2.2.1", - "yamljs": "0.3.0" - }, - "bin": { - "pm2": "bin/pm2", - "pm2-dev": "bin/pm2-dev", - "pm2-docker": "bin/pm2-docker", - "pm2-runtime": "bin/pm2-runtime" + "ee-first": "1.1.1" }, "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "pm2-sysmonit": "^1.2.8" + "node": ">= 0.8" } }, - "node_modules/pm2-axon": { - "version": "4.0.1", - "license": "MIT", + "node_modules/once": { + "version": "1.4.0", + "license": "ISC", "dependencies": { - "amp": "~0.3.1", - "amp-message": "~0.1.1", - "debug": "^4.3.1", - "escape-string-regexp": "^4.0.0" - }, - "engines": { - "node": ">=5" + "wrappy": "1" } }, - "node_modules/pm2-axon-rpc": { - "version": "0.7.1", + "node_modules/onetime": { + "version": "5.1.2", "license": "MIT", "dependencies": { - "debug": "^4.3.1" + "mimic-fn": "^2.1.0" }, "engines": { - "node": ">=5" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pm2-axon/node_modules/escape-string-regexp": { - "version": "4.0.0", + "node_modules/open": { + "version": "8.4.2", + "dev": true, "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pm2-deploy": { - "version": "1.0.2", + "node_modules/openapi-comment-parser": { + "version": "1.0.0", "license": "MIT", - "dependencies": { - "run-series": "^1.1.8", - "tv4": "^1.3.0" + "bin": { + "openapi-comment-parser": "bin/index.js" }, "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/pm2-multimeter": { - "version": "0.1.2", - "license": "MIT/X11", - "dependencies": { - "charm": "~0.1.1" - } - }, - "node_modules/pm2-sysmonit": { - "version": "1.2.8", - "license": "Apache", - "optional": true, - "dependencies": { - "async": "^3.2.0", - "debug": "^4.3.1", - "pidusage": "^2.0.21", - "systeminformation": "^5.7", - "tx2": "~1.0.4" + "node": ">=10.0.0" } }, - "node_modules/pm2-sysmonit/node_modules/async": { - "version": "3.2.4", + "node_modules/openapi-types": { + "version": "12.1.3", + "dev": true, "license": "MIT", - "optional": true + "peer": true }, - "node_modules/pm2-sysmonit/node_modules/pidusage": { - "version": "2.0.21", + "node_modules/optionator": { + "version": "0.9.1", + "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "safe-buffer": "^5.2.1" + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" }, "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/pm2-sysmonit/node_modules/safe-buffer": { - "version": "5.2.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "optional": true + "node_modules/optionator/node_modules/fast-levenshtein": { + "version": "2.0.6", + "dev": true, + "license": "MIT" }, - "node_modules/pm2/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/ora": { + "version": "5.4.1", + "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pm2/node_modules/async": { - "version": "3.2.4", - "license": "MIT" + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "node_modules/pm2/node_modules/chalk": { - "version": "3.0.0", + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/pm2/node_modules/color-convert": { + "node_modules/ora/node_modules/color-convert": { "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -29198,1582 +30471,1590 @@ "node": ">=7.0.0" } }, - "node_modules/pm2/node_modules/color-name": { + "node_modules/ora/node_modules/color-name": { "version": "1.1.4", + "dev": true, "license": "MIT" }, - "node_modules/pm2/node_modules/commander": { - "version": "2.15.1", - "license": "MIT" - }, - "node_modules/pm2/node_modules/eventemitter2": { - "version": "5.0.1", - "license": "MIT" - }, - "node_modules/pm2/node_modules/has-flag": { + "node_modules/ora/node_modules/has-flag": { "version": "4.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/pm2/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/pm2/node_modules/needle": { - "version": "2.4.0", + "node_modules/os-homedir": { + "version": "1.0.2", "license": "MIT", - "dependencies": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" - }, "engines": { - "node": ">= 4.4.x" + "node": ">=0.10.0" } }, - "node_modules/pm2/node_modules/needle/node_modules/debug": { - "version": "3.2.7", + "node_modules/os-locale": { + "version": "2.1.0", "license": "MIT", "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/pm2/node_modules/sax": { - "version": "1.2.4", - "license": "ISC" - }, - "node_modules/pm2/node_modules/semver": { - "version": "7.5.2", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" }, "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/pm2/node_modules/source-map-support": { - "version": "0.5.21", + "node_modules/os-locale/node_modules/cross-spawn": { + "version": "5.1.0", "license": "MIT", "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, - "node_modules/pm2/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/os-locale/node_modules/execa": { + "version": "0.7.0", "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/pm2/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" + "node_modules/os-locale/node_modules/get-stream": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "node_modules/postcss": { - "version": "8.4.24", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/os-locale/node_modules/lru-cache": { + "version": "4.1.5", + "license": "ISC", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/os-locale/node_modules/npm-run-path": { + "version": "2.0.2", "license": "MIT", "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "path-key": "^2.0.0" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=4" } }, - "node_modules/postgres-array": { - "version": "2.0.0", + "node_modules/os-locale/node_modules/path-key": { + "version": "2.0.1", "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/postgres-bytea": { - "version": "1.0.0", + "node_modules/os-locale/node_modules/shebang-command": { + "version": "1.2.0", "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/postgres-date": { - "version": "1.0.7", + "node_modules/os-locale/node_modules/shebang-regex": { + "version": "1.0.0", "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/postgres-interval": { - "version": "1.2.0", - "license": "MIT", + "node_modules/os-locale/node_modules/which": { + "version": "1.3.1", + "license": "ISC", "dependencies": { - "xtend": "^4.0.0" + "isexe": "^2.0.0" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "which": "bin/which" } }, - "node_modules/postgres-interval/node_modules/xtend": { - "version": "4.0.2", + "node_modules/os-locale/node_modules/yallist": { + "version": "2.1.2", + "license": "ISC" + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", "license": "MIT", "engines": { - "node": ">=0.4" + "node": ">=0.10.0" } }, - "node_modules/prelude-ls": { - "version": "1.2.1", + "node_modules/osenv": { + "version": "0.1.5", + "license": "ISC", + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "node_modules/p-cancelable": { + "version": "1.1.0", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8.0" + "node": ">=6" } }, - "node_modules/prepend-http": { - "version": "2.0.0", - "dev": true, + "node_modules/p-finally": { + "version": "1.0.0", "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/prettier": { - "version": "2.8.8", - "dev": true, + "node_modules/p-limit": { + "version": "3.1.0", "license": "MIT", - "bin": { - "prettier": "bin-prettier.js" + "dependencies": { + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=10" }, "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pretty-format": { - "version": "29.5.0", + "node_modules/p-locate": { + "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/schemas": "^29.4.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "p-limit": "^3.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, + "node_modules/p-queue": { + "version": "6.6.2", "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.4", + "p-timeout": "^3.2.0" + }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", + "node_modules/p-queue/node_modules/eventemitter3": { + "version": "4.0.7", "license": "MIT" }, - "node_modules/promptly": { - "version": "2.2.0", + "node_modules/p-retry": { + "version": "4.6.2", "license": "MIT", "dependencies": { - "read": "^1.0.4" + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/prompts": { - "version": "2.4.2", - "dev": true, + "node_modules/p-timeout": { + "version": "3.2.0", "license": "MIT", "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" + "p-finally": "^1.0.0" }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/proto-list": { - "version": "1.2.4", - "license": "ISC" - }, - "node_modules/proxy-addr": { - "version": "2.0.7", + "node_modules/p-try": { + "version": "2.2.0", "license": "MIT", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, "engines": { - "node": ">= 0.10" + "node": ">=6" } }, - "node_modules/proxy-agent": { + "node_modules/pac-proxy-agent": { "version": "5.0.0", "license": "MIT", "dependencies": { - "agent-base": "^6.0.0", + "@tootallnate/once": "1", + "agent-base": "6", "debug": "4", - "http-proxy-agent": "^4.0.0", - "https-proxy-agent": "^5.0.0", - "lru-cache": "^5.1.1", - "pac-proxy-agent": "^5.0.0", - "proxy-from-env": "^1.0.0", - "socks-proxy-agent": "^5.0.0" + "get-uri": "3", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "5", + "pac-resolver": "^5.0.0", + "raw-body": "^2.2.0", + "socks-proxy-agent": "5" }, "engines": { "node": ">= 8" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "license": "MIT" - }, - "node_modules/pseudomap": { - "version": "1.0.2", - "license": "ISC" - }, - "node_modules/pstree.remy": { - "version": "1.1.8", - "dev": true, - "license": "MIT" - }, - "node_modules/pump": { - "version": "3.0.0", + "node_modules/pac-resolver": { + "version": "5.0.1", "license": "MIT", "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "degenerator": "^3.0.2", + "ip": "^1.1.5", + "netmask": "^2.0.2" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/pumpify": { - "version": "2.0.1", + "node_modules/package-json": { + "version": "6.5.0", + "dev": true, "license": "MIT", "dependencies": { - "duplexify": "^4.1.1", - "inherits": "^2.0.3", - "pump": "^3.0.0" + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/pumpify/node_modules/duplexify": { - "version": "4.1.2", - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.4.1", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1", - "stream-shift": "^1.0.0" - } + "node_modules/packet-reader": { + "version": "1.0.0", + "license": "MIT" }, - "node_modules/punycode": { - "version": "2.3.0", + "node_modules/pako": { + "version": "0.2.9", + "license": "MIT" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "dev": true, "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, "engines": { "node": ">=6" } }, - "node_modules/pupa": { - "version": "2.1.1", + "node_modules/parse-json": { + "version": "5.2.0", "dev": true, "license": "MIT", "dependencies": { - "escape-goat": "^2.0.0" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pure-rand": { - "version": "6.0.2", + "node_modules/parse-link-header": { + "version": "2.0.0", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ], - "license": "MIT" - }, - "node_modules/qs": { - "version": "6.11.0", - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "xtend": "~4.0.1" } }, - "node_modules/querystring": { - "version": "0.2.0", + "node_modules/parse-link-header/node_modules/xtend": { + "version": "4.0.2", + "dev": true, + "license": "MIT", "engines": { - "node": ">=0.4.x" + "node": ">=0.4" } }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/parse-srcset": { + "version": "1.0.2", "license": "MIT" }, - "node_modules/railroad-diagrams": { - "version": "1.0.0", - "license": "CC0-1.0" - }, - "node_modules/ramda": { - "version": "0.27.2", + "node_modules/parse5": { + "version": "5.1.1", "license": "MIT" }, - "node_modules/randexp": { - "version": "0.4.6", + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "5.1.1", "license": "MIT", "dependencies": { - "discontinuous-range": "1.0.0", - "ret": "~0.1.10" - }, - "engines": { - "node": ">=0.12" + "parse5": "^5.1.1" } }, - "node_modules/range-parser": { - "version": "1.2.1", + "node_modules/parseley": { + "version": "0.7.0", "license": "MIT", - "engines": { - "node": ">= 0.6" + "dependencies": { + "moo": "^0.5.1", + "nearley": "^2.20.1" + }, + "funding": { + "url": "https://ko-fi.com/killymxi" } }, - "node_modules/raw-body": { - "version": "2.5.2", + "node_modules/parseurl": { + "version": "1.3.3", "license": "MIT", - "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/rc": { - "version": "1.2.8", - "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "node_modules/passport": { + "version": "0.6.0", + "license": "MIT", "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "passport-strategy": "1.x.x", + "pause": "0.0.1", + "utils-merge": "^1.0.1" }, - "bin": { - "rc": "cli.js" + "engines": { + "node": ">= 0.4.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jaredhanson" } }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", + "node_modules/passport-facebook": { + "version": "3.0.0", "license": "MIT", + "dependencies": { + "passport-oauth2": "1.x.x" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4.0" } }, - "node_modules/rdme": { - "version": "7.5.0", - "dev": true, - "license": "MIT", + "node_modules/passport-github2": { + "version": "0.1.12", "dependencies": { - "@actions/core": "^1.6.0", - "chalk": "^4.1.2", - "cli-table": "^0.3.1", - "command-line-args": "^5.2.0", - "command-line-usage": "^6.0.2", - "config": "^3.1.0", - "configstore": "^5.0.0", - "debug": "^4.3.3", - "editor": "^1.0.0", - "enquirer": "^2.3.0", - "form-data": "^4.0.0", - "gray-matter": "^4.0.1", - "isemail": "^3.1.3", - "mime-types": "^2.1.35", - "node-fetch": "^2.6.1", - "oas-normalize": "^6.0.0", - "open": "^8.2.1", - "ora": "^5.4.1", - "parse-link-header": "^2.0.0", - "read": "^1.0.7", - "semver": "^7.0.0", - "tmp-promise": "^3.0.2", - "update-notifier": "^5.1.0" - }, - "bin": { - "rdme": "bin/rdme" + "passport-oauth2": "1.x.x" }, "engines": { - "node": ">=14" + "node": ">= 0.8.0" } }, - "node_modules/rdme/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, + "node_modules/passport-google-oauth": { + "version": "2.0.0", "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "passport-google-oauth1": "1.x.x", + "passport-google-oauth20": "2.x.x" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 0.4.0" } }, - "node_modules/rdme/node_modules/boxen": { - "version": "5.1.2", - "dev": true, + "node_modules/passport-google-oauth1": { + "version": "1.0.0", "license": "MIT", "dependencies": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.2", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "passport-oauth1": "1.x.x" } }, - "node_modules/rdme/node_modules/camelcase": { - "version": "6.3.0", - "dev": true, + "node_modules/passport-google-oauth20": { + "version": "2.0.0", "license": "MIT", - "engines": { - "node": ">=10" + "dependencies": { + "passport-oauth2": "1.x.x" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 0.4.0" } }, - "node_modules/rdme/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", + "node_modules/passport-oauth": { + "version": "0.1.15", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "oauth": "0.9.x", + "passport": "~0.1.1", + "pkginfo": "0.2.x" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 0.4.0" } }, - "node_modules/rdme/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", + "node_modules/passport-oauth/node_modules/passport": { + "version": "0.1.18", "dependencies": { - "color-name": "~1.1.4" + "pause": "0.0.1", + "pkginfo": "0.2.x" }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.4.0" } }, - "node_modules/rdme/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/rdme/node_modules/form-data": { - "version": "4.0.0", - "dev": true, + "node_modules/passport-oauth1": { + "version": "1.3.0", "license": "MIT", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "oauth": "0.9.x", + "passport-strategy": "1.x.x", + "utils-merge": "1.x.x" }, "engines": { - "node": ">= 6" + "node": ">= 0.4.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jaredhanson" } }, - "node_modules/rdme/node_modules/global-dirs": { - "version": "3.0.1", - "dev": true, + "node_modules/passport-oauth2": { + "version": "1.7.0", "license": "MIT", "dependencies": { - "ini": "2.0.0" + "base64url": "3.x.x", + "oauth": "0.9.x", + "passport-strategy": "1.x.x", + "uid2": "0.0.x", + "utils-merge": "1.x.x" }, "engines": { - "node": ">=10" + "node": ">= 0.4.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/jaredhanson" } }, - "node_modules/rdme/node_modules/has-flag": { + "node_modules/passport-slack": { + "version": "0.0.7", + "dependencies": { + "passport-oauth": "~0.1.1", + "pkginfo": "0.2.x" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/passport-strategy": { + "version": "1.0.0", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/path-exists": { "version": "4.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/rdme/node_modules/ini": { - "version": "2.0.0", - "dev": true, - "license": "ISC", + "node_modules/path-is-absolute": { + "version": "1.0.1", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/rdme/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", + "node_modules/path-key": { + "version": "3.1.1", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/rdme/node_modules/is-installed-globally": { - "version": "0.4.0", + "node_modules/path-parse": { + "version": "1.0.7", + "license": "MIT" + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/rdme/node_modules/is-npm": { + "node_modules/pause": { + "version": "0.0.1" + }, + "node_modules/peek-readable": { "version": "5.0.0", - "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/rdme/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", + "node_modules/peopledatalabs": { + "version": "5.0.5", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "axios": "^1.4.0", + "copy-anything": "^3.0.5" } }, - "node_modules/rdme/node_modules/semver": { - "version": "7.5.2", - "dev": true, - "license": "ISC", + "node_modules/peopledatalabs/node_modules/axios": { + "version": "1.4.0", + "license": "MIT", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" } }, - "node_modules/rdme/node_modules/string-width": { - "version": "4.2.3", - "dev": true, + "node_modules/peopledatalabs/node_modules/form-data": { + "version": "4.0.0", "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { - "node": ">=8" + "node": ">= 6" } }, - "node_modules/rdme/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, + "node_modules/pg": { + "version": "8.11.0", "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "buffer-writer": "2.0.0", + "packet-reader": "1.0.0", + "pg-connection-string": "^2.6.0", + "pg-pool": "^3.6.0", + "pg-protocol": "^1.6.0", + "pg-types": "^2.1.0", + "pgpass": "1.x" }, "engines": { - "node": ">=8" - } - }, - "node_modules/rdme/node_modules/type-fest": { - "version": "0.20.2", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" + "node": ">= 8.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/rdme/node_modules/update-notifier": { - "version": "5.1.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boxen": "^5.0.0", - "chalk": "^4.1.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.4.0", - "is-npm": "^5.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.1.0", - "pupa": "^2.1.1", - "semver": "^7.3.4", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" + "optionalDependencies": { + "pg-cloudflare": "^1.1.0" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "pg-native": ">=3.0.1" }, - "funding": { - "url": "https://github.com/yeoman/update-notifier?sponsor=1" + "peerDependenciesMeta": { + "pg-native": { + "optional": true + } } }, - "node_modules/rdme/node_modules/wrap-ansi": { - "version": "7.0.0", - "dev": true, + "node_modules/pg-cloudflare": { + "version": "1.1.0", "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/rdme/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" + "optional": true }, - "node_modules/react-is": { - "version": "18.2.0", - "dev": true, + "node_modules/pg-connection-string": { + "version": "2.6.0", "license": "MIT" }, - "node_modules/read": { - "version": "1.0.7", + "node_modules/pg-int8": { + "version": "1.0.1", "license": "ISC", - "dependencies": { - "mute-stream": "~0.0.4" - }, "engines": { - "node": ">=0.8" + "node": ">=4.0.0" } }, - "node_modules/read-pkg": { - "version": "2.0.0", + "node_modules/pg-pool": { + "version": "3.6.0", "license": "MIT", - "dependencies": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - }, - "engines": { - "node": ">=4" + "peerDependencies": { + "pg": ">=8.0" } }, - "node_modules/read-pkg-up": { - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - }, - "engines": { - "node": ">=4" - } + "node_modules/pg-protocol": { + "version": "1.6.0", + "license": "MIT" }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "2.1.0", + "node_modules/pg-types": { + "version": "2.2.0", "license": "MIT", "dependencies": { - "locate-path": "^2.0.0" + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" }, "engines": { "node": ">=4" } }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "2.0.0", + "node_modules/pgpass": { + "version": "1.0.5", "license": "MIT", "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" + "split2": "^4.1.0" } }, - "node_modules/read-pkg-up/node_modules/p-limit": { - "version": "1.3.0", + "node_modules/picocolors": { + "version": "1.0.0", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", "license": "MIT", - "dependencies": { - "p-try": "^1.0.0" - }, "engines": { - "node": ">=4" + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "2.0.0", + "node_modules/pidusage": { + "version": "3.0.2", "license": "MIT", "dependencies": { - "p-limit": "^1.1.0" + "safe-buffer": "^5.2.1" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/read-pkg-up/node_modules/p-try": { - "version": "1.0.0", + "node_modules/pidusage/node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/pify": { + "version": "2.3.0", "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/read-pkg-up/node_modules/path-exists": { - "version": "3.0.0", + "node_modules/pirates": { + "version": "4.0.6", + "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 6" } }, - "node_modules/read-pkg/node_modules/path-type": { - "version": "2.0.0", + "node_modules/pkg-dir": { + "version": "4.2.0", + "dev": true, "license": "MIT", "dependencies": { - "pify": "^2.0.0" + "find-up": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/readable-stream": { - "version": "3.6.2", + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "dev": true, "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/readable-web-to-node-stream": { - "version": "3.0.2", + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "dev": true, "license": "MIT", "dependencies": { - "readable-stream": "^3.6.0" + "p-locate": "^4.1.0" }, "engines": { "node": ">=8" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/readdirp": { - "version": "3.6.0", + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "dev": true, "license": "MIT", "dependencies": { - "picomatch": "^2.2.1" + "p-try": "^2.0.0" }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/reduce-flatten": { - "version": "2.0.0", - "license": "MIT", "engines": { "node": ">=6" - } - }, - "node_modules/reftools": { - "version": "1.1.9", - "dev": true, - "license": "BSD-3-Clause", + }, "funding": { - "url": "https://github.com/Mermade/oas-kit?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/regenerate": { - "version": "1.4.2", - "dev": true, - "license": "MIT" - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.0", + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", "dev": true, "license": "MIT", "dependencies": { - "regenerate": "^1.4.2" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/regenerator-runtime": { - "version": "0.13.11", - "dev": true, - "license": "MIT" - }, - "node_modules/regenerator-transform": { - "version": "0.15.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.8.4" + "node_modules/pkginfo": { + "version": "0.2.3", + "engines": { + "node": ">= 0.4.0" } }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "dev": true, - "license": "MIT", + "node_modules/pm2": { + "version": "5.3.0", + "license": "AGPL-3.0", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" + "@pm2/agent": "~2.0.0", + "@pm2/io": "~5.0.0", + "@pm2/js-api": "~0.6.7", + "@pm2/pm2-version-check": "latest", + "async": "~3.2.0", + "blessed": "0.1.81", + "chalk": "3.0.0", + "chokidar": "^3.5.3", + "cli-tableau": "^2.0.0", + "commander": "2.15.1", + "croner": "~4.1.92", + "dayjs": "~1.11.5", + "debug": "^4.3.1", + "enquirer": "2.3.6", + "eventemitter2": "5.0.1", + "fclone": "1.0.11", + "mkdirp": "1.0.4", + "needle": "2.4.0", + "pidusage": "~3.0", + "pm2-axon": "~4.0.1", + "pm2-axon-rpc": "~0.7.1", + "pm2-deploy": "~1.0.2", + "pm2-multimeter": "^0.1.2", + "promptly": "^2", + "semver": "^7.2", + "source-map-support": "0.5.21", + "sprintf-js": "1.1.2", + "vizion": "~2.2.1", + "yamljs": "0.3.0" + }, + "bin": { + "pm2": "bin/pm2", + "pm2-dev": "bin/pm2-dev", + "pm2-docker": "bin/pm2-docker", + "pm2-runtime": "bin/pm2-runtime" }, "engines": { - "node": ">= 0.4" + "node": ">=10.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "optionalDependencies": { + "pm2-sysmonit": "^1.2.8" } }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "dev": true, + "node_modules/pm2-axon": { + "version": "4.0.1", "license": "MIT", "dependencies": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" + "amp": "~0.3.1", + "amp-message": "~0.1.1", + "debug": "^4.3.1", + "escape-string-regexp": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=5" } }, - "node_modules/registry-auth-token": { - "version": "4.2.2", - "dev": true, + "node_modules/pm2-axon-rpc": { + "version": "0.7.1", "license": "MIT", "dependencies": { - "rc": "1.2.8" + "debug": "^4.3.1" }, "engines": { - "node": ">=6.0.0" + "node": ">=5" } }, - "node_modules/registry-url": { - "version": "5.1.0", - "dev": true, + "node_modules/pm2-axon/node_modules/escape-string-regexp": { + "version": "4.0.0", "license": "MIT", - "dependencies": { - "rc": "^1.2.8" - }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/regjsparser": { - "version": "0.9.1", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/pm2-deploy": { + "version": "1.0.2", + "license": "MIT", "dependencies": { - "jsesc": "~0.5.0" + "run-series": "^1.1.8", + "tv4": "^1.3.0" }, - "bin": { - "regjsparser": "bin/parser" + "engines": { + "node": ">=4.0.0" } }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" + "node_modules/pm2-multimeter": { + "version": "0.1.2", + "license": "MIT/X11", + "dependencies": { + "charm": "~0.1.1" } }, - "node_modules/remove-trailing-slash": { - "version": "0.1.1", - "license": "MIT" - }, - "node_modules/require-directory": { - "version": "2.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/pm2-sysmonit": { + "version": "1.2.8", + "license": "Apache", + "optional": true, + "dependencies": { + "async": "^3.2.0", + "debug": "^4.3.1", + "pidusage": "^2.0.21", + "systeminformation": "^5.7", + "tx2": "~1.0.4" } }, - "node_modules/require-from-string": { - "version": "2.0.2", + "node_modules/pm2-sysmonit/node_modules/async": { + "version": "3.2.4", "license": "MIT", - "engines": { - "node": ">=0.10.0" - } + "optional": true }, - "node_modules/require-in-the-middle": { - "version": "5.2.0", + "node_modules/pm2-sysmonit/node_modules/pidusage": { + "version": "2.0.21", "license": "MIT", + "optional": true, "dependencies": { - "debug": "^4.1.1", - "module-details-from-path": "^1.0.3", - "resolve": "^1.22.1" + "safe-buffer": "^5.2.1" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "license": "ISC" + "node_modules/pm2-sysmonit/node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true }, - "node_modules/resolve": { - "version": "1.22.2", + "node_modules/pm2/node_modules/ansi-styles": { + "version": "4.3.0", "license": "MIT", "dependencies": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "color-convert": "^2.0.1" }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/resolve-cwd": { + "node_modules/pm2/node_modules/async": { + "version": "3.2.4", + "license": "MIT" + }, + "node_modules/pm2/node_modules/chalk": { "version": "3.0.0", - "dev": true, "license": "MIT", "dependencies": { - "resolve-from": "^5.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=8" } }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "dev": true, + "node_modules/pm2/node_modules/color-convert": { + "version": "2.0.1", "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=8" + "node": ">=7.0.0" } }, - "node_modules/resolve-from": { + "node_modules/pm2/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/pm2/node_modules/commander": { + "version": "2.15.1", + "license": "MIT" + }, + "node_modules/pm2/node_modules/eventemitter2": { + "version": "5.0.1", + "license": "MIT" + }, + "node_modules/pm2/node_modules/has-flag": { "version": "4.0.0", - "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/resolve.exports": { - "version": "2.0.2", - "dev": true, - "license": "MIT", + "node_modules/pm2/node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { "node": ">=10" } }, - "node_modules/responselike": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "lowercase-keys": "^1.0.0" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "dev": true, + "node_modules/pm2/node_modules/needle": { + "version": "2.4.0", "license": "MIT", "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" }, "engines": { - "node": ">=8" - } - }, - "node_modules/ret": { - "version": "0.1.15", - "license": "MIT", - "engines": { - "node": ">=0.12" + "node": ">= 4.4.x" } }, - "node_modules/retry": { - "version": "0.13.1", + "node_modules/pm2/node_modules/needle/node_modules/debug": { + "version": "3.2.7", "license": "MIT", - "engines": { - "node": ">= 4" + "dependencies": { + "ms": "^2.1.1" } }, - "node_modules/retry-as-promised": { - "version": "5.0.0", - "license": "MIT" + "node_modules/pm2/node_modules/sax": { + "version": "1.2.4", + "license": "ISC" }, - "node_modules/retry-request": { - "version": "4.2.2", - "license": "MIT", + "node_modules/pm2/node_modules/semver": { + "version": "7.5.2", + "license": "ISC", "dependencies": { - "debug": "^4.1.1", - "extend": "^3.0.2" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=8.10.0" + "node": ">=10" } }, - "node_modules/reusify": { - "version": "1.0.4", - "dev": true, + "node_modules/pm2/node_modules/source-map-support": { + "version": "0.5.21", "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "dev": true, - "license": "ISC", + "node_modules/pm2/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "has-flag": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=8" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "dev": true, + "node_modules/pm2/node_modules/yallist": { + "version": "4.0.0", + "license": "ISC" + }, + "node_modules/postcss": { + "version": "8.4.24", "funding": [ { - "type": "github", - "url": "https://github.com/sponsors/feross" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" }, { - "type": "patreon", - "url": "https://www.patreon.com/feross" + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" }, { - "type": "consulting", - "url": "https://feross.org/support" + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "license": "MIT", "dependencies": { - "queue-microtask": "^1.2.2" + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" } }, - "node_modules/run-series": { - "version": "1.1.9", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "node_modules/postgres-array": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "license": "MIT" + "node_modules/postgres-bytea": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/safe-json-stringify": { - "version": "1.2.0", + "node_modules/postgres-date": { + "version": "1.0.7", "license": "MIT", - "optional": true + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "dev": true, + "node_modules/postgres-interval": { + "version": "1.2.0", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" + "xtend": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "license": "MIT" + "node_modules/postgres-interval/node_modules/xtend": { + "version": "4.0.2", + "license": "MIT", + "engines": { + "node": ">=0.4" + } }, - "node_modules/sanitize-html": { - "version": "2.11.0", + "node_modules/prelude-ls": { + "version": "1.2.1", + "dev": true, "license": "MIT", - "dependencies": { - "deepmerge": "^4.2.2", - "escape-string-regexp": "^4.0.0", - "htmlparser2": "^8.0.0", - "is-plain-object": "^5.0.0", - "parse-srcset": "^1.0.2", - "postcss": "^8.3.11" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/sanitize-html/node_modules/escape-string-regexp": { - "version": "4.0.0", + "node_modules/prepend-http": { + "version": "2.0.0", + "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=4" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/sax": { - "version": "1.2.1", - "license": "ISC" - }, - "node_modules/section-matter": { - "version": "1.0.0", + "node_modules/pretty-format": { + "version": "29.5.0", "dev": true, "license": "MIT", "dependencies": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" + "@jest/schemas": "^29.4.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/secure-json-parse": { - "version": "2.7.0", - "license": "BSD-3-Clause" - }, - "node_modules/selderee": { - "version": "0.6.0", + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "dev": true, "license": "MIT", - "dependencies": { - "parseley": "^0.7.0" + "engines": { + "node": ">=10" }, "funding": { - "url": "https://ko-fi.com/killymxi" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/semver": { - "version": "6.3.0", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node_modules/process-nextick-args": { + "version": "2.0.1", + "license": "MIT" + }, + "node_modules/promptly": { + "version": "2.2.0", + "license": "MIT", + "dependencies": { + "read": "^1.0.4" } }, - "node_modules/semver-diff": { - "version": "3.1.1", + "node_modules/prompts": { + "version": "2.4.2", "dev": true, "license": "MIT", "dependencies": { - "semver": "^6.3.0" + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" }, "engines": { - "node": ">=8" + "node": ">= 6" } }, - "node_modules/send": { - "version": "0.17.1", + "node_modules/proto-list": { + "version": "1.2.4", + "license": "ISC" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", "license": "MIT", "dependencies": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.10" } }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", + "node_modules/proxy-agent": { + "version": "5.0.0", "license": "MIT", "dependencies": { - "ms": "2.0.0" + "agent-base": "^6.0.0", + "debug": "4", + "http-proxy-agent": "^4.0.0", + "https-proxy-agent": "^5.0.0", + "lru-cache": "^5.1.1", + "pac-proxy-agent": "^5.0.0", + "proxy-from-env": "^1.0.0", + "socks-proxy-agent": "^5.0.0" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", + "node_modules/proxy-from-env": { + "version": "1.1.0", "license": "MIT" }, - "node_modules/send/node_modules/depd": { - "version": "1.1.2", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } + "node_modules/pseudomap": { + "version": "1.0.2", + "license": "ISC" }, - "node_modules/send/node_modules/destroy": { - "version": "1.0.4", + "node_modules/pstree.remy": { + "version": "1.1.8", + "dev": true, "license": "MIT" }, - "node_modules/send/node_modules/http-errors": { - "version": "1.7.3", + "node_modules/pump": { + "version": "3.0.0", "license": "MIT", "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "engines": { - "node": ">= 0.6" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/send/node_modules/mime": { - "version": "1.6.0", + "node_modules/pumpify": { + "version": "2.0.1", "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" + "dependencies": { + "duplexify": "^4.1.1", + "inherits": "^2.0.3", + "pump": "^3.0.0" } }, - "node_modules/send/node_modules/ms": { - "version": "2.1.1", - "license": "MIT" + "node_modules/pumpify/node_modules/duplexify": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + } }, - "node_modules/send/node_modules/on-finished": { + "node_modules/punycode": { "version": "2.3.0", "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, "engines": { - "node": ">= 0.8" + "node": ">=6" } }, - "node_modules/send/node_modules/toidentifier": { - "version": "1.0.0", + "node_modules/pupa": { + "version": "2.1.1", + "dev": true, "license": "MIT", + "dependencies": { + "escape-goat": "^2.0.0" + }, "engines": { - "node": ">=0.6" + "node": ">=8" } }, - "node_modules/sequelize": { - "version": "6.21.2", + "node_modules/pure-rand": { + "version": "6.0.2", + "dev": true, "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, { "type": "opencollective", - "url": "https://opencollective.com/sequelize" + "url": "https://opencollective.com/fast-check" } ], - "license": "MIT", + "license": "MIT" + }, + "node_modules/qs": { + "version": "6.11.0", + "license": "BSD-3-Clause", "dependencies": { - "@types/debug": "^4.1.7", - "@types/validator": "^13.7.1", - "debug": "^4.3.3", - "dottie": "^2.0.2", - "inflection": "^1.13.2", - "lodash": "^4.17.21", - "moment": "^2.29.1", - "moment-timezone": "^0.5.34", - "pg-connection-string": "^2.5.0", - "retry-as-promised": "^5.0.0", - "semver": "^7.3.5", - "sequelize-pool": "^7.1.0", - "toposort-class": "^1.0.1", - "uuid": "^8.3.2", - "validator": "^13.7.0", - "wkx": "^0.5.0" + "side-channel": "^1.0.4" }, "engines": { - "node": ">=10.0.0" + "node": ">=0.6" }, - "peerDependenciesMeta": { - "ibm_db": { - "optional": true - }, - "mariadb": { - "optional": true - }, - "mysql2": { - "optional": true - }, - "pg": { - "optional": true - }, - "pg-hstore": { - "optional": true - }, - "snowflake-sdk": { - "optional": true + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" }, - "sqlite3": { - "optional": true + { + "type": "patreon", + "url": "https://www.patreon.com/feross" }, - "tedious": { - "optional": true + { + "type": "consulting", + "url": "https://feross.org/support" } - } + ], + "license": "MIT" }, - "node_modules/sequelize-cli-typescript": { - "version": "3.2.0c", + "node_modules/railroad-diagrams": { + "version": "1.0.0", + "license": "CC0-1.0" + }, + "node_modules/ramda": { + "version": "0.27.2", + "license": "MIT" + }, + "node_modules/randexp": { + "version": "0.4.6", "license": "MIT", "dependencies": { - "bluebird": "^3.5.1", - "cli-color": "^1.2.0", - "fs-extra": "^4.0.2", - "js-beautify": "^1.7.4", - "lodash": "^4.17.4", - "resolve": "^1.5.0", - "umzug": "^2.1.0", - "yargs": "^8.0.2" - }, - "bin": { - "sequelize": "lib/sequelize" + "discontinuous-range": "1.0.0", + "ret": "~0.1.10" }, "engines": { - "node": ">=4.0.0" + "node": ">=0.12" } }, - "node_modules/sequelize-cli-typescript/node_modules/bluebird": { - "version": "3.7.2", - "license": "MIT" - }, - "node_modules/sequelize-cli-typescript/node_modules/camelcase": { - "version": "4.1.0", + "node_modules/range-parser": { + "version": "1.2.1", "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "node_modules/sequelize-cli-typescript/node_modules/cliui": { - "version": "3.2.0", - "license": "ISC", + "node_modules/raw-body": { + "version": "2.5.2", + "license": "MIT", "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "node_modules/sequelize-cli-typescript/node_modules/fs-extra": { - "version": "4.0.3", - "license": "MIT", + "node_modules/rc": { + "version": "1.2.8", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" } }, - "node_modules/sequelize-cli-typescript/node_modules/get-caller-file": { - "version": "1.0.3", - "license": "ISC" - }, - "node_modules/sequelize-cli-typescript/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/sequelize-cli-typescript/node_modules/require-main-filename": { - "version": "1.0.1", - "license": "ISC" + "node_modules/rdme": { + "version": "7.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@actions/core": "^1.6.0", + "chalk": "^4.1.2", + "cli-table": "^0.3.1", + "command-line-args": "^5.2.0", + "command-line-usage": "^6.0.2", + "config": "^3.1.0", + "configstore": "^5.0.0", + "debug": "^4.3.3", + "editor": "^1.0.0", + "enquirer": "^2.3.0", + "form-data": "^4.0.0", + "gray-matter": "^4.0.1", + "isemail": "^3.1.3", + "mime-types": "^2.1.35", + "node-fetch": "^2.6.1", + "oas-normalize": "^6.0.0", + "open": "^8.2.1", + "ora": "^5.4.1", + "parse-link-header": "^2.0.0", + "read": "^1.0.7", + "semver": "^7.0.0", + "tmp-promise": "^3.0.2", + "update-notifier": "^5.1.0" + }, + "bin": { + "rdme": "bin/rdme" + }, + "engines": { + "node": ">=14" + } }, - "node_modules/sequelize-cli-typescript/node_modules/strip-ansi": { - "version": "3.0.1", + "node_modules/rdme/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^2.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/sequelize-cli-typescript/node_modules/wrap-ansi": { - "version": "2.1.0", + "node_modules/rdme/node_modules/boxen": { + "version": "5.1.2", + "dev": true, "license": "MIT", "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/sequelize-cli-typescript/node_modules/y18n": { - "version": "3.2.2", - "license": "ISC" + "node_modules/rdme/node_modules/camelcase": { + "version": "6.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/sequelize-cli-typescript/node_modules/yargs": { - "version": "8.0.2", + "node_modules/rdme/node_modules/chalk": { + "version": "4.1.2", + "dev": true, "license": "MIT", "dependencies": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/sequelize-cli-typescript/node_modules/yargs-parser": { - "version": "7.0.0", - "license": "ISC", + "node_modules/rdme/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "camelcase": "^4.1.0" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/sequelize-cli-typescript/node_modules/yargs/node_modules/ansi-regex": { - "version": "3.0.1", + "node_modules/rdme/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/rdme/node_modules/form-data": { + "version": "4.0.0", + "dev": true, "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, "engines": { - "node": ">=4" + "node": ">= 6" } }, - "node_modules/sequelize-cli-typescript/node_modules/yargs/node_modules/string-width": { - "version": "2.1.1", + "node_modules/rdme/node_modules/global-dirs": { + "version": "3.0.1", + "dev": true, "license": "MIT", "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "ini": "2.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/sequelize-cli-typescript/node_modules/yargs/node_modules/strip-ansi": { + "node_modules/rdme/node_modules/has-flag": { "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/rdme/node_modules/ini": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/rdme/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/rdme/node_modules/is-installed-globally": { + "version": "0.4.0", + "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^3.0.0" + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/sequelize-pool": { - "version": "7.1.0", + "node_modules/rdme/node_modules/is-npm": { + "version": "5.0.0", + "dev": true, "license": "MIT", "engines": { - "node": ">= 10.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/sequelize/node_modules/lru-cache": { + "node_modules/rdme/node_modules/lru-cache": { "version": "6.0.0", + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -30782,8 +32063,9 @@ "node": ">=10" } }, - "node_modules/sequelize/node_modules/semver": { + "node_modules/rdme/node_modules/semver": { "version": "7.5.2", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -30795,1540 +32077,1535 @@ "node": ">=10" } }, - "node_modules/sequelize/node_modules/uuid": { - "version": "8.3.2", + "node_modules/rdme/node_modules/string-width": { + "version": "4.2.3", + "dev": true, "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/sequelize/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, - "node_modules/serve-static": { - "version": "1.14.1", + "node_modules/rdme/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, "license": "MIT", "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "license": "ISC" - }, - "node_modules/setprototypeof": { - "version": "1.1.1", - "license": "ISC" + "node_modules/rdme/node_modules/type-fest": { + "version": "0.20.2", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/shebang-command": { - "version": "2.0.0", + "node_modules/rdme/node_modules/update-notifier": { + "version": "5.1.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "shebang-regex": "^3.0.0" + "boxen": "^5.0.0", + "chalk": "^4.1.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.4.0", + "is-npm": "^5.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.1.0", + "pupa": "^2.1.1", + "semver": "^7.3.4", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/yeoman/update-notifier?sponsor=1" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", + "node_modules/rdme/node_modules/wrap-ansi": { + "version": "7.0.0", "dev": true, "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/shimmer": { - "version": "1.2.1", - "license": "BSD-2-Clause" + "node_modules/rdme/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" }, - "node_modules/should": { - "version": "13.2.3", + "node_modules/react-is": { + "version": "18.2.0", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/read": { + "version": "1.0.7", + "license": "ISC", "dependencies": { - "should-equal": "^2.0.0", - "should-format": "^3.0.3", - "should-type": "^1.4.0", - "should-type-adaptors": "^1.0.1", - "should-util": "^1.0.0" + "mute-stream": "~0.0.4" + }, + "engines": { + "node": ">=0.8" } }, - "node_modules/should-equal": { + "node_modules/read-pkg": { "version": "2.0.0", - "dev": true, "license": "MIT", "dependencies": { - "should-type": "^1.4.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/should-format": { - "version": "3.0.3", - "dev": true, + "node_modules/read-pkg-up": { + "version": "2.0.0", "license": "MIT", "dependencies": { - "should-type": "^1.3.0", - "should-type-adaptors": "^1.0.1" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/should-type": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/should-type-adaptors": { - "version": "1.1.0", - "dev": true, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "2.1.0", "license": "MIT", "dependencies": { - "should-type": "^1.3.0", - "should-util": "^1.0.0" + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/should-util": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/side-channel": { - "version": "1.0.4", + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "2.0.0", "license": "MIT", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/sigmund": { - "version": "1.0.1", - "license": "ISC" - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "license": "ISC" - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "dev": true, - "license": "MIT" - }, - "node_modules/slack-block-builder": { - "version": "2.7.2", - "license": "MIT" - }, - "node_modules/slash": { - "version": "3.0.0", - "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/smart-buffer": { - "version": "4.2.0", + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "1.3.0", "license": "MIT", + "dependencies": { + "p-try": "^1.0.0" + }, "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" + "node": ">=4" } }, - "node_modules/snakeize": { - "version": "0.1.0", - "license": "MIT" - }, - "node_modules/socket.io": { - "version": "4.6.2", + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "2.0.0", "license": "MIT", "dependencies": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "debug": "~4.3.2", - "engine.io": "~6.4.2", - "socket.io-adapter": "~2.5.2", - "socket.io-parser": "~4.2.4" + "p-limit": "^1.1.0" }, "engines": { - "node": ">=10.0.0" + "node": ">=4" } }, - "node_modules/socket.io-adapter": { - "version": "2.5.2", + "node_modules/read-pkg-up/node_modules/p-try": { + "version": "1.0.0", "license": "MIT", - "dependencies": { - "ws": "~8.11.0" + "engines": { + "node": ">=4" } }, - "node_modules/socket.io-adapter/node_modules/ws": { - "version": "8.11.0", + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "3.0.0", "license": "MIT", "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/path-type": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "pify": "^2.0.0" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "engines": { + "node": ">=4" } }, - "node_modules/socket.io-parser": { - "version": "4.2.4", + "node_modules/readable-stream": { + "version": "3.6.2", "license": "MIT", "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=10.0.0" + "node": ">= 6" } }, - "node_modules/socks": { - "version": "2.7.1", + "node_modules/readable-web-to-node-stream": { + "version": "3.0.2", "license": "MIT", "dependencies": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" + "readable-stream": "^3.6.0" }, "engines": { - "node": ">= 10.13.0", - "npm": ">= 3.0.0" + "node": ">=8" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/socks-proxy-agent": { - "version": "5.0.1", + "node_modules/readdirp": { + "version": "3.6.0", "license": "MIT", "dependencies": { - "agent-base": "^6.0.2", - "debug": "4", - "socks": "^2.3.3" + "picomatch": "^2.2.1" }, "engines": { - "node": ">= 6" + "node": ">=8.10.0" } }, - "node_modules/socks/node_modules/ip": { + "node_modules/reduce-flatten": { "version": "2.0.0", - "license": "MIT" - }, - "node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/source-map-js": { - "version": "1.0.2", + "node_modules/reftools": { + "version": "1.1.9", + "dev": true, "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" } }, - "node_modules/source-map-support": { - "version": "0.5.13", + "node_modules/regenerate": { + "version": "1.4.2", "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } + "license": "MIT" }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "license": "Apache-2.0", + "node_modules/regenerate-unicode-properties": { + "version": "10.1.0", + "dev": true, + "license": "MIT", "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" } }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "license": "CC-BY-3.0" + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "dev": true, + "license": "MIT" }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", + "node_modules/regenerator-transform": { + "version": "0.15.1", + "dev": true, "license": "MIT", "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.13", - "license": "CC0-1.0" - }, - "node_modules/split2": { - "version": "4.2.0", - "license": "ISC", - "engines": { - "node": ">= 10.x" + "@babel/runtime": "^7.8.4" } }, - "node_modules/sprintf-js": { - "version": "1.1.2", - "license": "BSD-3-Clause" - }, - "node_modules/stack-utils": { - "version": "2.0.6", + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", "dev": true, "license": "MIT", "dependencies": { - "escape-string-regexp": "^2.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", + "node_modules/regexpu-core": { + "version": "5.3.2", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/starkbank-ecdsa": { - "version": "1.1.5", - "license": "MIT License", "dependencies": { - "big-integer": "^1.6.48", - "js-sha256": "^0.9.0" - } - }, - "node_modules/statuses": { - "version": "1.5.0", - "license": "MIT", + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=4" } }, - "node_modules/stream-events": { - "version": "1.0.5", + "node_modules/registry-auth-token": { + "version": "4.2.2", + "dev": true, "license": "MIT", "dependencies": { - "stubs": "^3.0.0" - } - }, - "node_modules/stream-shift": { - "version": "1.0.1", - "license": "MIT" - }, - "node_modules/streamsearch": { - "version": "1.1.0", + "rc": "1.2.8" + }, "engines": { - "node": ">=10.0.0" + "node": ">=6.0.0" } }, - "node_modules/string_decoder": { - "version": "1.3.0", + "node_modules/registry-url": { + "version": "5.1.0", + "dev": true, "license": "MIT", "dependencies": { - "safe-buffer": "~5.2.0" + "rc": "^1.2.8" + }, + "engines": { + "node": ">=8" } }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.2.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/string-length": { - "version": "4.0.2", + "node_modules/regjsparser": { + "version": "0.9.1", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" + "jsesc": "~0.5.0" }, - "engines": { - "node": ">=10" + "bin": { + "regjsparser": "bin/parser" } }, - "node_modules/string-width": { - "version": "1.0.2", + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/remove-trailing-slash": { + "version": "0.1.1", + "license": "MIT" + }, + "node_modules/require-directory": { + "version": "2.1.1", "license": "MIT", - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "3.0.1", + "node_modules/require-from-string": { + "version": "2.0.2", "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.7", - "dev": true, + "node_modules/require-in-the-middle": { + "version": "5.2.0", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "debug": "^4.1.1", + "module-details-from-path": "^1.0.3", + "resolve": "^1.22.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/require-main-filename": { + "version": "2.0.0", + "license": "ISC" }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "dev": true, + "node_modules/resolve": { + "version": "1.22.2", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", + "node_modules/resolve-cwd": { + "version": "3.0.0", + "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "resolve-from": "^5.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "5.0.1", + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/strip-bom": { + "node_modules/resolve-from": { "version": "4.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/strip-bom-string": { - "version": "1.0.0", + "node_modules/resolve.exports": { + "version": "2.0.2", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-eof": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", + "node_modules/responselike": { + "version": "1.0.2", "dev": true, "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "lowercase-keys": "^1.0.0" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", + "node_modules/restore-cursor": { + "version": "3.1.0", "dev": true, "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/stripe": { - "version": "10.17.0", + "node_modules/ret": { + "version": "0.1.15", "license": "MIT", - "dependencies": { - "@types/node": ">=8.1.0", - "qs": "^6.11.0" - }, "engines": { - "node": "^8.1 || >=10.*" + "node": ">=0.12" } }, - "node_modules/strnum": { - "version": "1.0.5", - "license": "MIT" - }, - "node_modules/strtok3": { - "version": "7.0.0", + "node_modules/retry": { + "version": "0.13.1", "license": "MIT", - "dependencies": { - "@tokenizer/token": "^0.3.0", - "peek-readable": "^5.0.0" - }, "engines": { - "node": ">=14.16" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" + "node": ">= 4" } }, - "node_modules/stubs": { - "version": "3.0.0", + "node_modules/retry-as-promised": { + "version": "5.0.0", "license": "MIT" }, - "node_modules/superagent": { - "version": "8.0.9", - "license": "MIT", - "dependencies": { - "component-emitter": "^1.3.0", - "cookiejar": "^2.1.4", - "debug": "^4.3.4", - "fast-safe-stringify": "^2.1.1", - "form-data": "^4.0.0", - "formidable": "^2.1.2", - "methods": "^1.1.2", - "mime": "2.6.0", - "qs": "^6.11.0", - "semver": "^7.3.8" - }, - "engines": { - "node": ">=6.4.0 <13 || >=14" - } - }, - "node_modules/superagent/node_modules/form-data": { - "version": "4.0.0", + "node_modules/retry-request": { + "version": "4.2.2", "license": "MIT", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "debug": "^4.1.1", + "extend": "^3.0.2" }, "engines": { - "node": ">= 6" + "node": ">=8.10.0" } }, - "node_modules/superagent/node_modules/formidable": { - "version": "2.1.2", + "node_modules/reusify": { + "version": "1.0.4", + "dev": true, "license": "MIT", - "dependencies": { - "dezalgo": "^1.0.4", - "hexoid": "^1.0.0", - "once": "^1.4.0", - "qs": "^6.11.0" - }, - "funding": { - "url": "https://ko-fi.com/tunnckoCore/commissions" - } - }, - "node_modules/superagent/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, "engines": { - "node": ">=10" + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "node_modules/superagent/node_modules/semver": { - "version": "7.5.2", + "node_modules/rimraf": { + "version": "3.0.2", + "dev": true, "license": "ISC", "dependencies": { - "lru-cache": "^6.0.0" + "glob": "^7.1.3" }, "bin": { - "semver": "bin/semver.js" + "rimraf": "bin.js" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/superagent/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, - "node_modules/supertest": { - "version": "6.3.3", + "node_modules/run-parallel": { + "version": "1.2.0", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT", "dependencies": { - "methods": "^1.1.2", - "superagent": "^8.0.5" - }, - "engines": { - "node": ">=6.4.0" + "queue-microtask": "^1.2.2" } }, - "node_modules/supports-color": { - "version": "5.5.0", + "node_modules/run-series": { + "version": "1.1.9", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "license": "MIT" + }, + "node_modules/safe-json-stringify": { + "version": "1.2.0", "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } + "optional": true }, - "node_modules/supports-preserve-symlinks-flag": { + "node_modules/safe-regex-test": { "version": "1.0.0", + "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/swagger-ui-dist": { - "version": "4.1.3", - "license": "Apache-2.0" + "node_modules/safer-buffer": { + "version": "2.1.2", + "license": "MIT" }, - "node_modules/swagger2openapi": { - "version": "7.0.8", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/sanitize-html": { + "version": "2.11.0", + "license": "MIT", "dependencies": { - "call-me-maybe": "^1.0.1", - "node-fetch": "^2.6.1", - "node-fetch-h2": "^2.3.0", - "node-readfiles": "^0.2.0", - "oas-kit-common": "^1.0.8", - "oas-resolver": "^2.5.6", - "oas-schema-walker": "^1.1.5", - "oas-validator": "^5.0.8", - "reftools": "^1.1.9", - "yaml": "^1.10.0", - "yargs": "^17.0.1" - }, - "bin": { - "boast": "boast.js", - "oas-validate": "oas-validate.js", - "swagger2openapi": "swagger2openapi.js" - }, - "funding": { - "url": "https://github.com/Mermade/oas-kit?sponsor=1" + "deepmerge": "^4.2.2", + "escape-string-regexp": "^4.0.0", + "htmlparser2": "^8.0.0", + "is-plain-object": "^5.0.0", + "parse-srcset": "^1.0.2", + "postcss": "^8.3.11" } }, - "node_modules/swagger2openapi/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, + "node_modules/sanitize-html/node_modules/escape-string-regexp": { + "version": "4.0.0", "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/swagger2openapi/node_modules/cliui": { - "version": "8.0.1", + "node_modules/sax": { + "version": "1.2.1", + "license": "ISC" + }, + "node_modules/section-matter": { + "version": "1.0.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" }, "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/swagger2openapi/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, + "node_modules/secure-json-parse": { + "version": "2.7.0", + "license": "BSD-3-Clause" + }, + "node_modules/selderee": { + "version": "0.6.0", "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "parseley": "^0.7.0" }, - "engines": { - "node": ">=7.0.0" + "funding": { + "url": "https://ko-fi.com/killymxi" } }, - "node_modules/swagger2openapi/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" + "node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } }, - "node_modules/swagger2openapi/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", + "node_modules/semver-diff": { + "version": "3.1.1", "dev": true, "license": "MIT", + "dependencies": { + "semver": "^6.3.0" + }, "engines": { "node": ">=8" } }, - "node_modules/swagger2openapi/node_modules/string-width": { - "version": "4.2.3", - "dev": true, + "node_modules/send": { + "version": "0.17.1", "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" }, "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/swagger2openapi/node_modules/wrap-ansi": { - "version": "7.0.0", - "dev": true, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "ms": "2.0.0" } }, - "node_modules/swagger2openapi/node_modules/y18n": { - "version": "5.0.8", - "dev": true, - "license": "ISC", + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/send/node_modules/depd": { + "version": "1.1.2", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">= 0.6" } }, - "node_modules/swagger2openapi/node_modules/yargs": { - "version": "17.7.2", - "dev": true, + "node_modules/send/node_modules/destroy": { + "version": "1.0.4", + "license": "MIT" + }, + "node_modules/send/node_modules/http-errors": { + "version": "1.7.3", "license": "MIT", "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" + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" }, "engines": { - "node": ">=12" + "node": ">= 0.6" } }, - "node_modules/systeminformation": { - "version": "5.18.3", + "node_modules/send/node_modules/mime": { + "version": "1.6.0", "license": "MIT", - "optional": true, - "os": [ - "darwin", - "linux", - "win32", - "freebsd", - "openbsd", - "netbsd", - "sunos", - "android" - ], "bin": { - "systeminformation": "lib/cli.js" + "mime": "cli.js" }, "engines": { - "node": ">=8.0.0" - }, - "funding": { - "type": "Buy me a coffee", - "url": "https://www.buymeacoffee.com/systeminfo" + "node": ">=4" } }, - "node_modules/table-layout": { - "version": "1.0.2", + "node_modules/send/node_modules/ms": { + "version": "2.1.1", + "license": "MIT" + }, + "node_modules/send/node_modules/on-finished": { + "version": "2.3.0", "license": "MIT", "dependencies": { - "array-back": "^4.0.1", - "deep-extend": "~0.6.0", - "typical": "^5.2.0", - "wordwrapjs": "^4.0.0" + "ee-first": "1.1.1" }, "engines": { - "node": ">=8.0.0" + "node": ">= 0.8" } }, - "node_modules/table-layout/node_modules/array-back": { - "version": "4.0.2", + "node_modules/send/node_modules/toidentifier": { + "version": "1.0.0", "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.6" } }, - "node_modules/table-layout/node_modules/typical": { - "version": "5.2.0", + "node_modules/sequelize": { + "version": "6.21.2", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/sequelize" + } + ], "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/tar": { - "version": "4.4.19", - "license": "ISC", "dependencies": { - "chownr": "^1.1.4", - "fs-minipass": "^1.2.7", - "minipass": "^2.9.0", - "minizlib": "^1.3.3", - "mkdirp": "^0.5.5", - "safe-buffer": "^5.2.1", - "yallist": "^3.1.1" + "@types/debug": "^4.1.7", + "@types/validator": "^13.7.1", + "debug": "^4.3.3", + "dottie": "^2.0.2", + "inflection": "^1.13.2", + "lodash": "^4.17.21", + "moment": "^2.29.1", + "moment-timezone": "^0.5.34", + "pg-connection-string": "^2.5.0", + "retry-as-promised": "^5.0.0", + "semver": "^7.3.5", + "sequelize-pool": "^7.1.0", + "toposort-class": "^1.0.1", + "uuid": "^8.3.2", + "validator": "^13.7.0", + "wkx": "^0.5.0" }, "engines": { - "node": ">=4.5" + "node": ">=10.0.0" + }, + "peerDependenciesMeta": { + "ibm_db": { + "optional": true + }, + "mariadb": { + "optional": true + }, + "mysql2": { + "optional": true + }, + "pg": { + "optional": true + }, + "pg-hstore": { + "optional": true + }, + "snowflake-sdk": { + "optional": true + }, + "sqlite3": { + "optional": true + }, + "tedious": { + "optional": true + } } }, - "node_modules/tar/node_modules/mkdirp": { - "version": "0.5.6", + "node_modules/sequelize-cli-typescript": { + "version": "3.2.0c", "license": "MIT", "dependencies": { - "minimist": "^1.2.6" + "bluebird": "^3.5.1", + "cli-color": "^1.2.0", + "fs-extra": "^4.0.2", + "js-beautify": "^1.7.4", + "lodash": "^4.17.4", + "resolve": "^1.5.0", + "umzug": "^2.1.0", + "yargs": "^8.0.2" }, "bin": { - "mkdirp": "bin/cmd.js" + "sequelize": "lib/sequelize" + }, + "engines": { + "node": ">=4.0.0" } }, - "node_modules/tar/node_modules/safe-buffer": { - "version": "5.2.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/sequelize-cli-typescript/node_modules/bluebird": { + "version": "3.7.2", "license": "MIT" }, - "node_modules/teeny-request": { - "version": "7.2.0", - "license": "Apache-2.0", - "dependencies": { - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "node-fetch": "^2.6.1", - "stream-events": "^1.0.5", - "uuid": "^8.0.0" - }, + "node_modules/sequelize-cli-typescript/node_modules/camelcase": { + "version": "4.1.0", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/teeny-request/node_modules/@tootallnate/once": { - "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">= 10" + "node_modules/sequelize-cli-typescript/node_modules/cliui": { + "version": "3.2.0", + "license": "ISC", + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, - "node_modules/teeny-request/node_modules/http-proxy-agent": { - "version": "5.0.0", + "node_modules/sequelize-cli-typescript/node_modules/fs-extra": { + "version": "4.0.3", "license": "MIT", "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, - "node_modules/teeny-request/node_modules/uuid": { - "version": "8.3.2", + "node_modules/sequelize-cli-typescript/node_modules/get-caller-file": { + "version": "1.0.3", + "license": "ISC" + }, + "node_modules/sequelize-cli-typescript/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "engines": { + "node": ">=4" } }, - "node_modules/term-size": { - "version": "2.2.1", - "dev": true, + "node_modules/sequelize-cli-typescript/node_modules/require-main-filename": { + "version": "1.0.1", + "license": "ISC" + }, + "node_modules/sequelize-cli-typescript/node_modules/strip-ansi": { + "version": "3.0.1", "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "ansi-regex": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/test-exclude": { - "version": "6.0.0", - "dev": true, - "license": "ISC", + "node_modules/sequelize-cli-typescript/node_modules/wrap-ansi": { + "version": "2.1.0", + "license": "MIT", "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/text-table": { - "version": "0.2.0", - "dev": true, - "license": "MIT" + "node_modules/sequelize-cli-typescript/node_modules/y18n": { + "version": "3.2.2", + "license": "ISC" }, - "node_modules/thenify": { - "version": "3.3.1", + "node_modules/sequelize-cli-typescript/node_modules/yargs": { + "version": "8.0.2", "license": "MIT", "dependencies": { - "any-promise": "^1.0.0" + "camelcase": "^4.1.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "read-pkg-up": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^7.0.0" } }, - "node_modules/thenify-all": { - "version": "1.6.0", - "license": "MIT", + "node_modules/sequelize-cli-typescript/node_modules/yargs-parser": { + "version": "7.0.0", + "license": "ISC", "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" + "camelcase": "^4.1.0" } }, - "node_modules/through2": { - "version": "2.0.5", - "dev": true, + "node_modules/sequelize-cli-typescript/node_modules/yargs/node_modules/ansi-regex": { + "version": "3.0.1", "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "engines": { + "node": ">=4" } }, - "node_modules/through2/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, + "node_modules/sequelize-cli-typescript/node_modules/yargs/node_modules/string-width": { + "version": "2.1.1", "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/through2/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, + "node_modules/sequelize-cli-typescript/node_modules/yargs/node_modules/strip-ansi": { + "version": "4.0.0", "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/through2/node_modules/xtend": { - "version": "4.0.2", - "dev": true, + "node_modules/sequelize-pool": { + "version": "7.1.0", "license": "MIT", "engines": { - "node": ">=0.4" + "node": ">= 10.0.0" } }, - "node_modules/timers-ext": { - "version": "0.1.7", + "node_modules/sequelize/node_modules/lru-cache": { + "version": "6.0.0", "license": "ISC", "dependencies": { - "es5-ext": "~0.10.46", - "next-tick": "1" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/tmp": { - "version": "0.2.1", - "dev": true, - "license": "MIT", + "node_modules/sequelize/node_modules/semver": { + "version": "7.5.2", + "license": "ISC", "dependencies": { - "rimraf": "^3.0.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=8.17.0" + "node": ">=10" } }, - "node_modules/tmp-promise": { - "version": "3.0.3", - "dev": true, + "node_modules/sequelize/node_modules/uuid": { + "version": "8.3.2", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/sequelize/node_modules/yallist": { + "version": "4.0.0", + "license": "ISC" + }, + "node_modules/serve-static": { + "version": "1.14.1", "license": "MIT", "dependencies": { - "tmp": "^0.2.0" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/tmpl": { - "version": "1.0.5", - "dev": true, - "license": "BSD-3-Clause" + "node_modules/set-blocking": { + "version": "2.0.0", + "license": "ISC" }, - "node_modules/to-fast-properties": { + "node_modules/setprototypeof": { + "version": "1.1.1", + "license": "ISC" + }, + "node_modules/shebang-command": { "version": "2.0.0", "dev": true, "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/to-readable-stream": { - "version": "1.0.0", + "node_modules/shebang-regex": { + "version": "3.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", + "node_modules/shimmer": { + "version": "1.2.1", + "license": "BSD-2-Clause" + }, + "node_modules/should": { + "version": "13.2.3", + "dev": true, "license": "MIT", "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" + "should-equal": "^2.0.0", + "should-format": "^3.0.3", + "should-type": "^1.4.0", + "should-type-adaptors": "^1.0.1", + "should-util": "^1.0.0" } }, - "node_modules/toidentifier": { - "version": "1.0.1", + "node_modules/should-equal": { + "version": "2.0.0", + "dev": true, "license": "MIT", - "engines": { - "node": ">=0.6" + "dependencies": { + "should-type": "^1.4.0" } }, - "node_modules/token-types": { - "version": "5.0.1", + "node_modules/should-format": { + "version": "3.0.3", + "dev": true, "license": "MIT", "dependencies": { - "@tokenizer/token": "^0.3.0", - "ieee754": "^1.2.1" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" + "should-type": "^1.3.0", + "should-type-adaptors": "^1.0.1" } }, - "node_modules/token-types/node_modules/ieee754": { - "version": "1.2.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/toposort-class": { - "version": "1.0.1", + "node_modules/should-type": { + "version": "1.4.0", + "dev": true, "license": "MIT" }, - "node_modules/touch": { - "version": "3.1.0", + "node_modules/should-type-adaptors": { + "version": "1.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "nopt": "~1.0.10" - }, - "bin": { - "nodetouch": "bin/nodetouch.js" + "should-type": "^1.3.0", + "should-util": "^1.0.0" } }, - "node_modules/touch/node_modules/nopt": { - "version": "1.0.10", + "node_modules/should-util": { + "version": "1.0.1", "dev": true, + "license": "MIT" + }, + "node_modules/side-channel": { + "version": "1.0.4", "license": "MIT", "dependencies": { - "abbrev": "1" + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" }, - "bin": { - "nopt": "bin/nopt.js" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tr46": { - "version": "0.0.3", + "node_modules/sigmund": { + "version": "1.0.1", + "license": "ISC" + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "license": "ISC" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "dev": true, "license": "MIT" }, - "node_modules/ts-jest": { - "version": "29.1.0", + "node_modules/slack-block-builder": { + "version": "2.7.2", + "license": "MIT" + }, + "node_modules/slash": { + "version": "3.0.0", "dev": true, "license": "MIT", - "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "7.x", - "yargs-parser": "^21.0.1" - }, - "bin": { - "ts-jest": "cli.js" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } + "node": ">=8" } }, - "node_modules/ts-jest/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">= 6.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/ts-jest/node_modules/semver": { - "version": "7.5.2", - "dev": true, - "license": "ISC", + "node_modules/snakeize": { + "version": "0.1.0", + "license": "MIT" + }, + "node_modules/socket.io": { + "version": "4.6.2", + "license": "MIT", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.2", + "engine.io": "~6.4.2", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" }, "engines": { - "node": ">=10" + "node": ">=10.0.0" } }, - "node_modules/ts-jest/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/ts-mixer": { - "version": "6.0.3", - "license": "MIT" - }, - "node_modules/ts-node": { - "version": "10.6.0", - "dev": true, + "node_modules/socket.io-adapter": { + "version": "2.5.2", "license": "MIT", "dependencies": { - "@cspotcode/source-map-support": "0.7.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.0", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" + "ws": "~8.11.0" + } + }, + "node_modules/socket.io-adapter/node_modules/ws": { + "version": "8.11.0", + "license": "MIT", + "engines": { + "node": ">=10.0.0" }, "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" }, "peerDependenciesMeta": { - "@swc/core": { + "bufferutil": { "optional": true }, - "@swc/wasm": { + "utf-8-validate": { "optional": true } } }, - "node_modules/tsconfig-paths": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", - "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "node_modules/socket.io-parser": { + "version": "4.2.4", + "license": "MIT", "dependencies": { - "json5": "^2.2.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" }, "engines": { - "node": ">=6" + "node": ">=10.0.0" } }, - "node_modules/tsconfig-paths/node_modules/strip-bom": { - "version": "3.0.0", + "node_modules/socks": { + "version": "2.7.1", "license": "MIT", + "dependencies": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + }, "engines": { - "node": ">=4" + "node": ">= 10.13.0", + "npm": ">= 3.0.0" } }, - "node_modules/tslib": { - "version": "2.5.3", - "license": "0BSD" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "dev": true, + "node_modules/socks-proxy-agent": { + "version": "5.0.1", "license": "MIT", "dependencies": { - "tslib": "^1.8.1" + "agent-base": "^6.0.2", + "debug": "4", + "socks": "^2.3.3" }, "engines": { "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" + "node_modules/socks/node_modules/ip": { + "version": "2.0.0", + "license": "MIT" }, - "node_modules/tunnel": { - "version": "0.0.6", - "dev": true, - "license": "MIT", + "node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", "engines": { - "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + "node": ">=0.10.0" } }, - "node_modules/tv4": { - "version": "1.3.0", - "license": [ - { - "type": "Public Domain", - "url": "http://geraintluff.github.io/tv4/LICENSE.txt" - }, - { - "type": "MIT", - "url": "http://jsonary.com/LICENSE.txt" - } - ], + "node_modules/source-map-js": { + "version": "1.0.2", + "license": "BSD-3-Clause", "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/tx2": { - "version": "1.0.5", + "node_modules/source-map-support": { + "version": "0.5.13", + "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "json-stringify-safe": "^5.0.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/type": { - "version": "1.2.0", - "license": "ISC" + "node_modules/spdx-correct": { + "version": "3.2.0", + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } }, - "node_modules/type-check": { - "version": "0.4.0", - "dev": true, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", "license": "MIT", "dependencies": { - "prelude-ls": "^1.2.1" - }, + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.13", + "license": "CC0-1.0" + }, + "node_modules/split2": { + "version": "4.2.0", + "license": "ISC", "engines": { - "node": ">= 0.8.0" + "node": ">= 10.x" } }, - "node_modules/type-detect": { - "version": "4.0.8", + "node_modules/sprintf-js": { + "version": "1.1.2", + "license": "BSD-3-Clause" + }, + "node_modules/stack-utils": { + "version": "2.0.6", "dev": true, "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/type-fest": { - "version": "0.21.3", + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/type-is": { - "version": "1.6.18", - "license": "MIT", + "node_modules/starkbank-ecdsa": { + "version": "1.1.5", + "license": "MIT License", "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, + "big-integer": "^1.6.48", + "js-sha256": "^0.9.0" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "license": "MIT", "engines": { "node": ">= 0.6" } }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "dev": true, + "node_modules/stream-events": { + "version": "1.0.5", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "stubs": "^3.0.0" } }, - "node_modules/typedarray": { - "version": "0.0.6", + "node_modules/stream-shift": { + "version": "1.0.1", "license": "MIT" }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", + "node_modules/streamsearch": { + "version": "1.1.0", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", "license": "MIT", "dependencies": { - "is-typedarray": "^1.0.0" + "safe-buffer": "~5.2.0" } }, - "node_modules/typescript": { - "version": "4.9.5", - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/string-length": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=4.2.0" + "node": ">=10" } }, - "node_modules/typical": { - "version": "4.0.0", + "node_modules/string-width": { + "version": "1.0.2", "license": "MIT", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/uid2": { - "version": "0.0.4", - "license": "MIT" - }, - "node_modules/umzug": { - "version": "2.3.0", + "node_modules/string-width/node_modules/strip-ansi": { + "version": "3.0.1", "license": "MIT", "dependencies": { - "bluebird": "^3.7.2" + "ansi-regex": "^2.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=0.10.0" } }, - "node_modules/umzug/node_modules/bluebird": { - "version": "3.7.2", - "license": "MIT" + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/unbox-primitive": { - "version": "1.0.2", + "node_modules/string.prototype.trimend": { + "version": "1.0.6", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/undefsafe": { - "version": "2.0.5", + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/undici": { - "version": "5.22.1", + "node_modules/strip-ansi": { + "version": "6.0.1", "license": "MIT", "dependencies": { - "busboy": "^1.6.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=14.0" + "node": ">=8" } }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", + "node_modules/strip-bom-string": { + "version": "1.0.0", "dev": true, "license": "MIT", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", + "node_modules/strip-eof": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", + "node_modules/strip-json-comments": { + "version": "3.1.1", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/unique-string": { - "version": "2.0.0", + "node_modules/stripe": { + "version": "10.17.0", "license": "MIT", "dependencies": { - "crypto-random-string": "^2.0.0" + "@types/node": ">=8.1.0", + "qs": "^6.11.0" }, "engines": { - "node": ">=8" + "node": "^8.1 || >=10.*" } }, - "node_modules/universal-github-app-jwt": { - "version": "1.1.1", + "node_modules/strnum": { + "version": "1.0.5", + "license": "MIT" + }, + "node_modules/strtok3": { + "version": "7.0.0", "license": "MIT", "dependencies": { - "@types/jsonwebtoken": "^9.0.0", - "jsonwebtoken": "^9.0.0" + "@tokenizer/token": "^0.3.0", + "peek-readable": "^5.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/universal-github-app-jwt/node_modules/jsonwebtoken": { - "version": "9.0.0", + "node_modules/stubs": { + "version": "3.0.0", + "license": "MIT" + }, + "node_modules/superagent": { + "version": "8.0.9", "license": "MIT", "dependencies": { - "jws": "^3.2.2", - "lodash": "^4.17.21", - "ms": "^2.1.1", + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.4", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^2.1.2", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.11.0", "semver": "^7.3.8" }, "engines": { - "node": ">=12", - "npm": ">=6" + "node": ">=6.4.0 <13 || >=14" } }, - "node_modules/universal-github-app-jwt/node_modules/jwa": { - "version": "1.4.1", + "node_modules/superagent/node_modules/form-data": { + "version": "4.0.0", "license": "MIT", "dependencies": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/universal-github-app-jwt/node_modules/jws": { - "version": "3.2.2", + "node_modules/superagent/node_modules/formidable": { + "version": "2.1.2", "license": "MIT", "dependencies": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" + "dezalgo": "^1.0.4", + "hexoid": "^1.0.0", + "once": "^1.4.0", + "qs": "^6.11.0" + }, + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" } }, - "node_modules/universal-github-app-jwt/node_modules/lru-cache": { + "node_modules/superagent/node_modules/lru-cache": { "version": "6.0.0", "license": "ISC", "dependencies": { @@ -32338,7 +33615,7 @@ "node": ">=10" } }, - "node_modules/universal-github-app-jwt/node_modules/semver": { + "node_modules/superagent/node_modules/semver": { "version": "7.5.2", "license": "ISC", "dependencies": { @@ -32351,92 +33628,73 @@ "node": ">=10" } }, - "node_modules/universal-github-app-jwt/node_modules/yallist": { + "node_modules/superagent/node_modules/yallist": { "version": "4.0.0", "license": "ISC" }, - "node_modules/universal-user-agent": { - "version": "6.0.0", - "license": "ISC" - }, - "node_modules/universalify": { - "version": "0.1.2", + "node_modules/supertest": { + "version": "6.3.3", + "dev": true, "license": "MIT", + "dependencies": { + "methods": "^1.1.2", + "superagent": "^8.0.5" + }, "engines": { - "node": ">= 4.0.0" + "node": ">=6.4.0" } }, - "node_modules/unpipe": { - "version": "1.0.0", + "node_modules/supports-color": { + "version": "5.5.0", "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, "engines": { - "node": ">= 0.8" + "node": ">=4" } }, - "node_modules/untildify": { - "version": "4.0.0", - "dev": true, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", "license": "MIT", "engines": { - "node": ">=8" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" + "node": ">= 0.4" }, - "peerDependencies": { - "browserslist": ">= 4.21.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/update-notifier": { + "node_modules/swagger-ui-dist": { "version": "4.1.3", + "license": "Apache-2.0" + }, + "node_modules/swagger2openapi": { + "version": "7.0.8", "dev": true, - "license": "BSD-2-Clause", + "license": "BSD-3-Clause", "dependencies": { - "boxen": "^4.2.0", - "chalk": "^3.0.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.3.1", - "is-npm": "^4.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.0.0", - "pupa": "^2.0.1", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" + "call-me-maybe": "^1.0.1", + "node-fetch": "^2.6.1", + "node-fetch-h2": "^2.3.0", + "node-readfiles": "^0.2.0", + "oas-kit-common": "^1.0.8", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "oas-validator": "^5.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" }, - "engines": { - "node": ">=8" + "bin": { + "boast": "boast.js", + "oas-validate": "oas-validate.js", + "swagger2openapi": "swagger2openapi.js" }, "funding": { - "url": "https://github.com/yeoman/update-notifier?sponsor=1" + "url": "https://github.com/Mermade/oas-kit?sponsor=1" } }, - "node_modules/update-notifier/node_modules/ansi-styles": { + "node_modules/swagger2openapi/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -32450,19 +33708,20 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/update-notifier/node_modules/chalk": { - "version": "3.0.0", + "node_modules/swagger2openapi/node_modules/cliui": { + "version": "8.0.1", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/update-notifier/node_modules/color-convert": { + "node_modules/swagger2openapi/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -32473,2374 +33732,3344 @@ "node": ">=7.0.0" } }, - "node_modules/update-notifier/node_modules/color-name": { + "node_modules/swagger2openapi/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/update-notifier/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/swagger2openapi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/update-notifier/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/swagger2openapi/node_modules/string-width": { + "version": "4.2.3", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url": { - "version": "0.10.3", - "license": "MIT", - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url-parse-lax": { - "version": "3.0.0", + "node_modules/swagger2openapi/node_modules/wrap-ansi": { + "version": "7.0.0", "dev": true, "license": "MIT", "dependencies": { - "prepend-http": "^2.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/url-search-params-polyfill": { - "version": "7.0.1", - "license": "MIT" - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "license": "MIT" + "node_modules/swagger2openapi/node_modules/y18n": { + "version": "5.0.8", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } }, - "node_modules/utf-8-validate": { - "version": "5.0.10", - "hasInstallScript": true, + "node_modules/swagger2openapi/node_modules/yargs": { + "version": "17.7.2", + "dev": true, "license": "MIT", "dependencies": { - "node-gyp-build": "^4.3.0" + "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": ">=6.14.2" + "node": ">=12" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/utils-merge": { - "version": "1.0.1", + "node_modules/systeminformation": { + "version": "5.18.3", "license": "MIT", + "optional": true, + "os": [ + "darwin", + "linux", + "win32", + "freebsd", + "openbsd", + "netbsd", + "sunos", + "android" + ], + "bin": { + "systeminformation": "lib/cli.js" + }, "engines": { - "node": ">= 0.4.0" + "node": ">=8.0.0" + }, + "funding": { + "type": "Buy me a coffee", + "url": "https://www.buymeacoffee.com/systeminfo" } }, - "node_modules/uuid": { - "version": "9.0.0", + "node_modules/table-layout": { + "version": "1.0.2", "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/v8-to-istanbul": { - "version": "9.1.0", - "dev": true, - "license": "ISC", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" + "array-back": "^4.0.1", + "deep-extend": "~0.6.0", + "typical": "^5.2.0", + "wordwrapjs": "^4.0.0" }, "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "license": "Apache-2.0", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "node": ">=8.0.0" } }, - "node_modules/validator": { - "version": "13.9.0", + "node_modules/table-layout/node_modules/array-back": { + "version": "4.0.2", "license": "MIT", "engines": { - "node": ">= 0.10" + "node": ">=8" } }, - "node_modules/vary": { - "version": "1.1.2", + "node_modules/table-layout/node_modules/typical": { + "version": "5.2.0", "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=8" } }, - "node_modules/verify-github-webhook": { - "version": "1.0.1", - "license": "MIT" - }, - "node_modules/vizion": { - "version": "2.2.1", - "license": "Apache-2.0", + "node_modules/tar": { + "version": "4.4.19", + "license": "ISC", "dependencies": { - "async": "^2.6.3", - "git-node-fs": "^1.0.0", - "ini": "^1.3.5", - "js-git": "^0.7.8" + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" }, "engines": { - "node": ">=4.0" + "node": ">=4.5" } }, - "node_modules/vm2": { - "version": "3.9.19", + "node_modules/tar/node_modules/mkdirp": { + "version": "0.5.6", "license": "MIT", "dependencies": { - "acorn": "^8.7.0", - "acorn-walk": "^8.2.0" + "minimist": "^1.2.6" }, "bin": { - "vm2": "bin/vm2" - }, - "engines": { - "node": ">=6.0" + "mkdirp": "bin/cmd.js" } }, - "node_modules/walker": { - "version": "1.0.8", - "dev": true, + "node_modules/tar/node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/teeny-request": { + "version": "7.2.0", "license": "Apache-2.0", "dependencies": { - "makeerror": "1.0.12" + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "node-fetch": "^2.6.1", + "stream-events": "^1.0.5", + "uuid": "^8.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/wcwidth": { - "version": "1.0.1", - "dev": true, + "node_modules/teeny-request/node_modules/@tootallnate/once": { + "version": "2.0.0", "license": "MIT", - "dependencies": { - "defaults": "^1.0.3" + "engines": { + "node": ">= 10" } }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "license": "BSD-2-Clause" - }, - "node_modules/whatwg-url": { + "node_modules/teeny-request/node_modules/http-proxy-agent": { "version": "5.0.0", "license": "MIT", "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/which": { - "version": "2.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, + "node_modules/teeny-request/node_modules/uuid": { + "version": "8.3.2", + "license": "MIT", "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" + "uuid": "dist/bin/uuid" } }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", + "node_modules/term-size": { + "version": "2.2.1", "dev": true, "license": "MIT", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/which-module": { - "version": "2.0.1", - "license": "ISC" - }, - "node_modules/which-typed-array": { - "version": "1.1.9", + "node_modules/test-exclude": { + "version": "6.0.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/wide-align": { - "version": "1.1.5", - "license": "ISC", + "node_modules/text-table": { + "version": "0.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "license": "MIT", "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" + "any-promise": "^1.0.0" } }, - "node_modules/widest-line": { - "version": "3.1.0", - "dev": true, + "node_modules/thenify-all": { + "version": "1.6.0", "license": "MIT", "dependencies": { - "string-width": "^4.0.0" + "thenify": ">= 3.1.0 < 4" }, "engines": { - "node": ">=8" + "node": ">=0.8" } }, - "node_modules/widest-line/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", + "node_modules/through2": { + "version": "2.0.5", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "node_modules/widest-line/node_modules/string-width": { - "version": "4.2.3", + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.8", "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/wkx": { - "version": "0.5.0", + "node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*" + "safe-buffer": "~5.1.0" } }, - "node_modules/word-wrap": { - "version": "1.2.3", + "node_modules/through2/node_modules/xtend": { + "version": "4.0.2", + "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=0.4" } }, - "node_modules/wordwrapjs": { - "version": "4.0.1", + "node_modules/timers-ext": { + "version": "0.1.7", + "license": "ISC", + "dependencies": { + "es5-ext": "~0.10.46", + "next-tick": "1" + } + }, + "node_modules/tmp": { + "version": "0.2.1", + "dev": true, "license": "MIT", "dependencies": { - "reduce-flatten": "^2.0.0", - "typical": "^5.2.0" + "rimraf": "^3.0.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=8.17.0" } }, - "node_modules/wordwrapjs/node_modules/typical": { - "version": "5.2.0", + "node_modules/tmp-promise": { + "version": "3.0.3", + "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "tmp": "^0.2.0" } }, - "node_modules/wrap-ansi": { - "version": "6.2.0", + "node_modules/tmpl": { + "version": "1.0.5", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/to-readable-stream": { + "version": "1.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=6" } }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/to-regex-range": { + "version": "5.0.1", "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "is-number": "^7.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=8.0" } }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", + "node_modules/toidentifier": { + "version": "1.0.1", "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.6" } }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "4.2.3", + "node_modules/token-types": { + "version": "5.0.1", "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" }, "engines": { - "node": ">=8" + "node": ">=14.16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "license": "ISC" + "node_modules/token-types/node_modules/ieee754": { + "version": "1.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" }, - "node_modules/write-file-atomic": { - "version": "3.0.3", + "node_modules/toposort-class": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/touch": { + "version": "3.1.0", + "dev": true, "license": "ISC", "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "nopt": "~1.0.10" + }, + "bin": { + "nodetouch": "bin/nodetouch.js" } }, - "node_modules/ws": { - "version": "8.13.0", + "node_modules/touch/node_modules/nopt": { + "version": "1.0.10", + "dev": true, "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" + "dependencies": { + "abbrev": "1" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "bin": { + "nopt": "bin/nopt.js" } }, - "node_modules/xdg-basedir": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } + "node_modules/tr46": { + "version": "0.0.3", + "license": "MIT" }, - "node_modules/xml2js": { - "version": "0.4.19", + "node_modules/ts-jest": { + "version": "29.1.0", + "dev": true, "license": "MIT", "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~9.0.1" + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } } }, - "node_modules/xmlbuilder": { - "version": "9.0.7", - "license": "MIT", + "node_modules/ts-jest/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=4.0" + "node": ">=10" } }, - "node_modules/xregexp": { - "version": "2.0.0", - "license": "MIT" - }, - "node_modules/xtend": { - "version": "2.1.2", + "node_modules/ts-jest/node_modules/semver": { + "version": "7.5.2", + "dev": true, + "license": "ISC", "dependencies": { - "object-keys": "~0.4.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=0.4" + "node": ">=10" } }, - "node_modules/xtend/node_modules/object-keys": { - "version": "0.4.0", - "license": "MIT" - }, - "node_modules/y18n": { - "version": "4.0.3", + "node_modules/ts-jest/node_modules/yallist": { + "version": "4.0.0", + "dev": true, "license": "ISC" }, - "node_modules/yallist": { - "version": "3.1.1", - "license": "ISC" + "node_modules/ts-mixer": { + "version": "6.0.3", + "license": "MIT" }, - "node_modules/yaml": { - "version": "1.10.2", + "node_modules/ts-node": { + "version": "10.6.0", "dev": true, - "license": "ISC", - "engines": { - "node": ">= 6" - } - }, - "node_modules/yamljs": { - "version": "0.3.0", "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "glob": "^7.0.5" + "@cspotcode/source-map-support": "0.7.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.0", + "yn": "3.1.1" }, "bin": { - "json2yaml": "bin/json2yaml", - "yaml2json": "bin/yaml2json" + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } } }, - "node_modules/yamljs/node_modules/argparse": { - "version": "1.0.10", + "node_modules/tsconfig-paths": { + "version": "4.2.0", "license": "MIT", "dependencies": { - "sprintf-js": "~1.0.2" + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/yamljs/node_modules/sprintf-js": { - "version": "1.0.3", - "license": "BSD-3-Clause" + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "node_modules/yargs": { - "version": "15.4.1", + "node_modules/tslib": { + "version": "2.5.3", + "license": "0BSD" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "dev": true, "license": "MIT", "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "tslib": "^1.8.1" }, "engines": { - "node": ">=8" + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "node_modules/yargs-parser": { - "version": "21.1.1", + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", "dev": true, - "license": "ISC", + "license": "0BSD" + }, + "node_modules/tunnel": { + "version": "0.0.6", + "dev": true, + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" } }, - "node_modules/yargs/node_modules/find-up": { - "version": "4.1.0", + "node_modules/tv4": { + "version": "1.3.0", + "license": [ + { + "type": "Public Domain", + "url": "http://geraintluff.github.io/tv4/LICENSE.txt" + }, + { + "type": "MIT", + "url": "http://jsonary.com/LICENSE.txt" + } + ], + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/tx2": { + "version": "1.0.5", "license": "MIT", + "optional": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "json-stringify-safe": "^5.0.1" + } + }, + "node_modules/type": { + "version": "1.2.0", + "license": "ISC" + }, + "node_modules/type-check": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" }, "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/yargs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", + "node_modules/type-detect": { + "version": "4.0.8", + "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/yargs/node_modules/locate-path": { - "version": "5.0.0", + "node_modules/type-fest": { + "version": "0.21.3", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "media-typer": "0.3.0", + "mime-types": "~2.1.24" }, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/yargs/node_modules/p-limit": { - "version": "2.3.0", + "node_modules/typed-array-length": { + "version": "1.0.4", + "dev": true, "license": "MIT", "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/yargs/node_modules/p-locate": { - "version": "4.1.0", + "node_modules/typedarray": { + "version": "0.0.6", + "license": "MIT" + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/typical": { + "version": "4.0.0", + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", + "node_modules/uid2": { + "version": "0.0.4", + "license": "MIT" + }, + "node_modules/umzug": { + "version": "2.3.0", "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "bluebird": "^3.7.2" }, "engines": { - "node": ">=8" + "node": ">=6.0.0" } }, - "node_modules/yargs/node_modules/yargs-parser": { - "version": "18.1.3", - "license": "ISC", + "node_modules/umzug/node_modules/bluebird": { + "version": "3.7.2", + "license": "MIT" + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" }, - "engines": { - "node": ">=6" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/yn": { - "version": "3.1.1", + "node_modules/undefsafe": { + "version": "2.0.5", "dev": true, + "license": "MIT" + }, + "node_modules/undici": { + "version": "5.22.1", "license": "MIT", + "dependencies": { + "busboy": "^1.6.0" + }, "engines": { - "node": ">=6" + "node": ">=14.0" } }, - "node_modules/yocto-queue": { - "version": "0.1.0", + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "dev": true, "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/zlib-sync": { - "version": "0.1.8", - "hasInstallScript": true, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "dev": true, "license": "MIT", "dependencies": { - "nan": "^2.17.0" - } - } - }, - "dependencies": { - "@actions/core": { - "version": "1.10.0", - "dev": true, - "requires": { - "@actions/http-client": "^2.0.1", - "uuid": "^8.3.2" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" }, - "dependencies": { - "uuid": { - "version": "8.3.2", - "dev": true - } + "engines": { + "node": ">=4" } }, - "@actions/http-client": { + "node_modules/unicode-match-property-value-ecmascript": { "version": "2.1.0", "dev": true, - "requires": { - "tunnel": "^0.0.6" + "license": "MIT", + "engines": { + "node": ">=4" } }, - "@ampproject/remapping": { - "version": "2.2.1", + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "license": "MIT", + "engines": { + "node": ">=4" } }, - "@apidevtools/openapi-schemas": { - "version": "2.1.0", - "dev": true - }, - "@apidevtools/swagger-methods": { - "version": "3.0.2", - "dev": true - }, - "@aws-crypto/crc32": { - "version": "3.0.0", - "requires": { - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" - }, + "node_modules/unique-string": { + "version": "2.0.0", + "license": "MIT", "dependencies": { - "tslib": { - "version": "1.14.1" - } + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "@aws-crypto/ie11-detection": { - "version": "3.0.0", - "requires": { - "tslib": "^1.11.1" - }, + "node_modules/universal-github-app-jwt": { + "version": "1.1.1", + "license": "MIT", "dependencies": { - "tslib": { - "version": "1.14.1" - } + "@types/jsonwebtoken": "^9.0.0", + "jsonwebtoken": "^9.0.0" } }, - "@aws-crypto/sha256-browser": { - "version": "3.0.0", - "requires": { - "@aws-crypto/ie11-detection": "^3.0.0", - "@aws-crypto/sha256-js": "^3.0.0", - "@aws-crypto/supports-web-crypto": "^3.0.0", - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" - }, + "node_modules/universal-github-app-jwt/node_modules/jsonwebtoken": { + "version": "9.0.0", + "license": "MIT", "dependencies": { - "tslib": { - "version": "1.14.1" - } + "jws": "^3.2.2", + "lodash": "^4.17.21", + "ms": "^2.1.1", + "semver": "^7.3.8" + }, + "engines": { + "node": ">=12", + "npm": ">=6" } }, - "@aws-crypto/sha256-js": { - "version": "3.0.0", - "requires": { - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" - }, + "node_modules/universal-github-app-jwt/node_modules/jwa": { + "version": "1.4.1", + "license": "MIT", "dependencies": { - "tslib": { - "version": "1.14.1" - } + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" } }, - "@aws-crypto/supports-web-crypto": { - "version": "3.0.0", - "requires": { - "tslib": "^1.11.1" - }, + "node_modules/universal-github-app-jwt/node_modules/jws": { + "version": "3.2.2", + "license": "MIT", "dependencies": { - "tslib": { - "version": "1.14.1" - } + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" } }, - "@aws-crypto/util": { - "version": "3.0.0", - "requires": { - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" + "node_modules/universal-github-app-jwt/node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" }, + "engines": { + "node": ">=10" + } + }, + "node_modules/universal-github-app-jwt/node_modules/semver": { + "version": "7.5.2", + "license": "ISC", "dependencies": { - "tslib": { - "version": "1.14.1" - } + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "@aws-sdk/abort-controller": { - "version": "3.357.0", - "requires": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } + "node_modules/universal-github-app-jwt/node_modules/yallist": { + "version": "4.0.0", + "license": "ISC" }, - "@aws-sdk/client-comprehend": { - "version": "3.357.0", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.357.0", - "@aws-sdk/config-resolver": "3.357.0", - "@aws-sdk/credential-provider-node": "3.357.0", - "@aws-sdk/fetch-http-handler": "3.357.0", - "@aws-sdk/hash-node": "3.357.0", - "@aws-sdk/invalid-dependency": "3.357.0", - "@aws-sdk/middleware-content-length": "3.357.0", - "@aws-sdk/middleware-endpoint": "3.357.0", - "@aws-sdk/middleware-host-header": "3.357.0", - "@aws-sdk/middleware-logger": "3.357.0", - "@aws-sdk/middleware-recursion-detection": "3.357.0", - "@aws-sdk/middleware-retry": "3.357.0", - "@aws-sdk/middleware-serde": "3.357.0", - "@aws-sdk/middleware-signing": "3.357.0", - "@aws-sdk/middleware-stack": "3.357.0", - "@aws-sdk/middleware-user-agent": "3.357.0", - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/node-http-handler": "3.357.0", - "@aws-sdk/smithy-client": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.357.0", - "@aws-sdk/util-defaults-mode-node": "3.357.0", - "@aws-sdk/util-endpoints": "3.357.0", - "@aws-sdk/util-retry": "3.357.0", - "@aws-sdk/util-user-agent-browser": "3.357.0", - "@aws-sdk/util-user-agent-node": "3.357.0", - "@aws-sdk/util-utf8": "3.310.0", - "@smithy/protocol-http": "^1.0.1", - "@smithy/types": "^1.0.0", - "tslib": "^2.5.0", - "uuid": "^8.3.2" - }, - "dependencies": { - "uuid": { - "version": "8.3.2" - } - } + "node_modules/universal-user-agent": { + "version": "6.0.0", + "license": "ISC" }, - "@aws-sdk/client-sso": { - "version": "3.357.0", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.357.0", - "@aws-sdk/fetch-http-handler": "3.357.0", - "@aws-sdk/hash-node": "3.357.0", - "@aws-sdk/invalid-dependency": "3.357.0", - "@aws-sdk/middleware-content-length": "3.357.0", - "@aws-sdk/middleware-endpoint": "3.357.0", - "@aws-sdk/middleware-host-header": "3.357.0", - "@aws-sdk/middleware-logger": "3.357.0", - "@aws-sdk/middleware-recursion-detection": "3.357.0", - "@aws-sdk/middleware-retry": "3.357.0", - "@aws-sdk/middleware-serde": "3.357.0", - "@aws-sdk/middleware-stack": "3.357.0", - "@aws-sdk/middleware-user-agent": "3.357.0", - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/node-http-handler": "3.357.0", - "@aws-sdk/smithy-client": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.357.0", - "@aws-sdk/util-defaults-mode-node": "3.357.0", - "@aws-sdk/util-endpoints": "3.357.0", - "@aws-sdk/util-retry": "3.357.0", - "@aws-sdk/util-user-agent-browser": "3.357.0", - "@aws-sdk/util-user-agent-node": "3.357.0", - "@aws-sdk/util-utf8": "3.310.0", - "@smithy/protocol-http": "^1.0.1", - "@smithy/types": "^1.0.0", - "tslib": "^2.5.0" + "node_modules/universalify": { + "version": "0.1.2", + "license": "MIT", + "engines": { + "node": ">= 4.0.0" } }, - "@aws-sdk/client-sso-oidc": { - "version": "3.357.0", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.357.0", - "@aws-sdk/fetch-http-handler": "3.357.0", - "@aws-sdk/hash-node": "3.357.0", - "@aws-sdk/invalid-dependency": "3.357.0", - "@aws-sdk/middleware-content-length": "3.357.0", - "@aws-sdk/middleware-endpoint": "3.357.0", - "@aws-sdk/middleware-host-header": "3.357.0", - "@aws-sdk/middleware-logger": "3.357.0", - "@aws-sdk/middleware-recursion-detection": "3.357.0", - "@aws-sdk/middleware-retry": "3.357.0", - "@aws-sdk/middleware-serde": "3.357.0", - "@aws-sdk/middleware-stack": "3.357.0", - "@aws-sdk/middleware-user-agent": "3.357.0", - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/node-http-handler": "3.357.0", - "@aws-sdk/smithy-client": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.357.0", - "@aws-sdk/util-defaults-mode-node": "3.357.0", - "@aws-sdk/util-endpoints": "3.357.0", - "@aws-sdk/util-retry": "3.357.0", - "@aws-sdk/util-user-agent-browser": "3.357.0", - "@aws-sdk/util-user-agent-node": "3.357.0", - "@aws-sdk/util-utf8": "3.310.0", - "@smithy/protocol-http": "^1.0.1", - "@smithy/types": "^1.0.0", - "tslib": "^2.5.0" + "node_modules/unpipe": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "@aws-sdk/client-sts": { - "version": "3.357.0", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.357.0", - "@aws-sdk/credential-provider-node": "3.357.0", - "@aws-sdk/fetch-http-handler": "3.357.0", - "@aws-sdk/hash-node": "3.357.0", - "@aws-sdk/invalid-dependency": "3.357.0", - "@aws-sdk/middleware-content-length": "3.357.0", - "@aws-sdk/middleware-endpoint": "3.357.0", - "@aws-sdk/middleware-host-header": "3.357.0", - "@aws-sdk/middleware-logger": "3.357.0", - "@aws-sdk/middleware-recursion-detection": "3.357.0", - "@aws-sdk/middleware-retry": "3.357.0", - "@aws-sdk/middleware-sdk-sts": "3.357.0", - "@aws-sdk/middleware-serde": "3.357.0", - "@aws-sdk/middleware-signing": "3.357.0", - "@aws-sdk/middleware-stack": "3.357.0", - "@aws-sdk/middleware-user-agent": "3.357.0", - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/node-http-handler": "3.357.0", - "@aws-sdk/smithy-client": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.357.0", - "@aws-sdk/util-defaults-mode-node": "3.357.0", - "@aws-sdk/util-endpoints": "3.357.0", - "@aws-sdk/util-retry": "3.357.0", - "@aws-sdk/util-user-agent-browser": "3.357.0", - "@aws-sdk/util-user-agent-node": "3.357.0", - "@aws-sdk/util-utf8": "3.310.0", - "@smithy/protocol-http": "^1.0.1", - "@smithy/types": "^1.0.0", - "fast-xml-parser": "4.2.4", - "tslib": "^2.5.0" + "node_modules/untildify": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "@aws-sdk/config-resolver": { - "version": "3.357.0", - "requires": { - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-config-provider": "3.310.0", - "@aws-sdk/util-middleware": "3.357.0", - "tslib": "^2.5.0" + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "@aws-sdk/credential-provider-env": { - "version": "3.357.0", - "requires": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "node_modules/update-notifier": { + "version": "4.1.3", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boxen": "^4.2.0", + "chalk": "^3.0.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.3.1", + "is-npm": "^4.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.0.0", + "pupa": "^2.0.1", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/yeoman/update-notifier?sponsor=1" } }, - "@aws-sdk/credential-provider-imds": { - "version": "3.357.0", - "requires": { - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", - "tslib": "^2.5.0" + "node_modules/update-notifier/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "@aws-sdk/credential-provider-ini": { - "version": "3.357.0", - "requires": { - "@aws-sdk/credential-provider-env": "3.357.0", - "@aws-sdk/credential-provider-imds": "3.357.0", - "@aws-sdk/credential-provider-process": "3.357.0", - "@aws-sdk/credential-provider-sso": "3.357.0", - "@aws-sdk/credential-provider-web-identity": "3.357.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "node_modules/update-notifier/node_modules/chalk": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" } }, - "@aws-sdk/credential-provider-node": { - "version": "3.357.0", - "requires": { - "@aws-sdk/credential-provider-env": "3.357.0", - "@aws-sdk/credential-provider-imds": "3.357.0", - "@aws-sdk/credential-provider-ini": "3.357.0", - "@aws-sdk/credential-provider-process": "3.357.0", - "@aws-sdk/credential-provider-sso": "3.357.0", - "@aws-sdk/credential-provider-web-identity": "3.357.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "node_modules/update-notifier/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "@aws-sdk/credential-provider-process": { - "version": "3.357.0", - "requires": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } + "node_modules/update-notifier/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" }, - "@aws-sdk/credential-provider-sso": { - "version": "3.357.0", - "requires": { - "@aws-sdk/client-sso": "3.357.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/token-providers": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "node_modules/update-notifier/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "@aws-sdk/credential-provider-web-identity": { - "version": "3.357.0", - "requires": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "node_modules/update-notifier/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "@aws-sdk/eventstream-codec": { - "version": "3.357.0", - "requires": { - "@aws-crypto/crc32": "3.0.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-hex-encoding": "3.310.0", - "tslib": "^2.5.0" + "node_modules/uri-js": { + "version": "4.4.1", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" } }, - "@aws-sdk/fetch-http-handler": { - "version": "3.357.0", - "requires": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/querystring-builder": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "tslib": "^2.5.0" + "node_modules/url": { + "version": "0.10.3", + "license": "MIT", + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" } }, - "@aws-sdk/hash-node": { - "version": "3.357.0", - "requires": { - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-buffer-from": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" + "node_modules/url-parse-lax": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "@aws-sdk/invalid-dependency": { - "version": "3.357.0", - "requires": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } + "node_modules/url-search-params-polyfill": { + "version": "7.0.1", + "license": "MIT" }, - "@aws-sdk/is-array-buffer": { - "version": "3.310.0", - "requires": { - "tslib": "^2.5.0" - } + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "license": "MIT" }, - "@aws-sdk/middleware-content-length": { - "version": "3.357.0", - "requires": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "node_modules/utf-8-validate": { + "version": "5.0.10", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" } }, - "@aws-sdk/middleware-endpoint": { - "version": "3.357.0", - "requires": { - "@aws-sdk/middleware-serde": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", - "@aws-sdk/util-middleware": "3.357.0", - "tslib": "^2.5.0" - } + "node_modules/util-deprecate": { + "version": "1.0.2", + "license": "MIT" }, - "@aws-sdk/middleware-host-header": { - "version": "3.357.0", - "requires": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "node_modules/utils-merge": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" } }, - "@aws-sdk/middleware-logger": { - "version": "3.357.0", - "requires": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "node_modules/uuid": { + "version": "9.0.0", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" } }, - "@aws-sdk/middleware-recursion-detection": { - "version": "3.357.0", - "requires": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "dev": true, + "license": "MIT" }, - "@aws-sdk/middleware-retry": { - "version": "3.357.0", - "requires": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/service-error-classification": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-middleware": "3.357.0", - "@aws-sdk/util-retry": "3.357.0", - "tslib": "^2.5.0", - "uuid": "^8.3.2" - }, + "node_modules/v8-to-istanbul": { + "version": "9.1.0", + "dev": true, + "license": "ISC", "dependencies": { - "uuid": { - "version": "8.3.2" - } + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "engines": { + "node": ">=10.12.0" } }, - "@aws-sdk/middleware-sdk-sts": { - "version": "3.357.0", - "requires": { - "@aws-sdk/middleware-signing": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, - "@aws-sdk/middleware-serde": { - "version": "3.357.0", - "requires": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "node_modules/validator": { + "version": "13.9.0", + "license": "MIT", + "engines": { + "node": ">= 0.10" } }, - "@aws-sdk/middleware-signing": { - "version": "3.357.0", - "requires": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/signature-v4": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-middleware": "3.357.0", - "tslib": "^2.5.0" + "node_modules/vary": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "@aws-sdk/middleware-stack": { - "version": "3.357.0", - "requires": { - "tslib": "^2.5.0" - } + "node_modules/verify-github-webhook": { + "version": "1.0.1", + "license": "MIT" }, - "@aws-sdk/middleware-user-agent": { - "version": "3.357.0", - "requires": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-endpoints": "3.357.0", - "tslib": "^2.5.0" + "node_modules/vizion": { + "version": "2.2.1", + "license": "Apache-2.0", + "dependencies": { + "async": "^2.6.3", + "git-node-fs": "^1.0.0", + "ini": "^1.3.5", + "js-git": "^0.7.8" + }, + "engines": { + "node": ">=4.0" } }, - "@aws-sdk/node-config-provider": { - "version": "3.357.0", - "requires": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "node_modules/vm2": { + "version": "3.9.19", + "license": "MIT", + "dependencies": { + "acorn": "^8.7.0", + "acorn-walk": "^8.2.0" + }, + "bin": { + "vm2": "bin/vm2" + }, + "engines": { + "node": ">=6.0" } }, - "@aws-sdk/node-http-handler": { - "version": "3.357.0", - "requires": { - "@aws-sdk/abort-controller": "3.357.0", - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/querystring-builder": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "node_modules/walker": { + "version": "1.0.8", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" } }, - "@aws-sdk/property-provider": { - "version": "3.357.0", - "requires": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "node_modules/wcwidth": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" } }, - "@aws-sdk/protocol-http": { - "version": "3.357.0", - "requires": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } + "node_modules/webidl-conversions": { + "version": "3.0.1", + "license": "BSD-2-Clause" }, - "@aws-sdk/querystring-builder": { - "version": "3.357.0", - "requires": { - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-uri-escape": "3.310.0", - "tslib": "^2.5.0" + "node_modules/whatwg-url": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, - "@aws-sdk/querystring-parser": { - "version": "3.357.0", - "requires": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "node_modules/which": { + "version": "2.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "@aws-sdk/s3-request-presigner": { - "version": "3.357.0", - "requires": { - "@aws-sdk/middleware-endpoint": "3.357.0", - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/signature-v4-multi-region": "3.357.0", - "@aws-sdk/smithy-client": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-format-url": "3.357.0", - "tslib": "^2.5.0" + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "@aws-sdk/service-error-classification": { - "version": "3.357.0" + "node_modules/which-module": { + "version": "2.0.1", + "license": "ISC" }, - "@aws-sdk/shared-ini-file-loader": { - "version": "3.357.0", - "requires": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "node_modules/which-typed-array": { + "version": "1.1.9", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "@aws-sdk/signature-v4": { - "version": "3.357.0", - "requires": { - "@aws-sdk/eventstream-codec": "3.357.0", - "@aws-sdk/is-array-buffer": "3.310.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-hex-encoding": "3.310.0", - "@aws-sdk/util-middleware": "3.357.0", - "@aws-sdk/util-uri-escape": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" + "node_modules/wide-align": { + "version": "1.1.5", + "license": "ISC", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" } }, - "@aws-sdk/signature-v4-multi-region": { - "version": "3.357.0", - "requires": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/signature-v4": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "node_modules/widest-line": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "@aws-sdk/smithy-client": { - "version": "3.357.0", - "requires": { - "@aws-sdk/middleware-stack": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-stream": "3.357.0", - "@smithy/types": "^1.0.0", - "tslib": "^2.5.0" + "node_modules/widest-line/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "@aws-sdk/token-providers": { - "version": "3.357.0", - "requires": { - "@aws-sdk/client-sso-oidc": "3.357.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "node_modules/widest-line/node_modules/string-width": { + "version": "4.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "@aws-sdk/types": { - "version": "3.357.0", - "requires": { - "tslib": "^2.5.0" + "node_modules/wkx": { + "version": "0.5.0", + "license": "MIT", + "dependencies": { + "@types/node": "*" } }, - "@aws-sdk/url-parser": { - "version": "3.357.0", - "requires": { - "@aws-sdk/querystring-parser": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "node_modules/word-wrap": { + "version": "1.2.3", + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "@aws-sdk/util-base64": { - "version": "3.310.0", - "requires": { - "@aws-sdk/util-buffer-from": "3.310.0", - "tslib": "^2.5.0" + "node_modules/wordwrapjs": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "reduce-flatten": "^2.0.0", + "typical": "^5.2.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "@aws-sdk/util-body-length-browser": { - "version": "3.310.0", - "requires": { - "tslib": "^2.5.0" + "node_modules/wordwrapjs/node_modules/typical": { + "version": "5.2.0", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "@aws-sdk/util-body-length-node": { - "version": "3.310.0", - "requires": { - "tslib": "^2.5.0" + "node_modules/wrap-ansi": { + "version": "6.2.0", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "@aws-sdk/util-buffer-from": { - "version": "3.310.0", - "requires": { - "@aws-sdk/is-array-buffer": "3.310.0", - "tslib": "^2.5.0" + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "@aws-sdk/util-config-provider": { - "version": "3.310.0", - "requires": { - "tslib": "^2.5.0" + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "@aws-sdk/util-defaults-mode-browser": { - "version": "3.357.0", - "requires": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", - "bowser": "^2.11.0", - "tslib": "^2.5.0" - } + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" }, - "@aws-sdk/util-defaults-mode-node": { - "version": "3.357.0", - "requires": { - "@aws-sdk/config-resolver": "3.357.0", - "@aws-sdk/credential-provider-imds": "3.357.0", - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "@aws-sdk/util-endpoints": { - "version": "3.357.0", - "requires": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.3", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "@aws-sdk/util-format-url": { - "version": "3.357.0", - "requires": { - "@aws-sdk/querystring-builder": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } + "node_modules/wrappy": { + "version": "1.0.2", + "license": "ISC" }, - "@aws-sdk/util-hex-encoding": { - "version": "3.310.0", - "requires": { - "tslib": "^2.5.0" + "node_modules/write-file-atomic": { + "version": "3.0.3", + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } }, - "@aws-sdk/util-locate-window": { - "version": "3.310.0", - "requires": { - "tslib": "^2.5.0" + "node_modules/ws": { + "version": "8.13.0", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "@aws-sdk/util-middleware": { - "version": "3.357.0", - "requires": { - "tslib": "^2.5.0" + "node_modules/xdg-basedir": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "@aws-sdk/util-retry": { - "version": "3.357.0", - "requires": { - "@aws-sdk/service-error-classification": "3.357.0", - "tslib": "^2.5.0" + "node_modules/xml2js": { + "version": "0.4.19", + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~9.0.1" } }, - "@aws-sdk/util-stream": { - "version": "3.357.0", - "requires": { - "@aws-sdk/fetch-http-handler": "3.357.0", - "@aws-sdk/node-http-handler": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-buffer-from": "3.310.0", - "@aws-sdk/util-hex-encoding": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" + "node_modules/xmlbuilder": { + "version": "9.0.7", + "license": "MIT", + "engines": { + "node": ">=4.0" } }, - "@aws-sdk/util-uri-escape": { - "version": "3.310.0", - "requires": { - "tslib": "^2.5.0" - } + "node_modules/xregexp": { + "version": "2.0.0", + "license": "MIT" }, - "@aws-sdk/util-user-agent-browser": { - "version": "3.357.0", - "requires": { - "@aws-sdk/types": "3.357.0", - "bowser": "^2.11.0", - "tslib": "^2.5.0" + "node_modules/xtend": { + "version": "2.1.2", + "dependencies": { + "object-keys": "~0.4.0" + }, + "engines": { + "node": ">=0.4" } }, - "@aws-sdk/util-user-agent-node": { - "version": "3.357.0", - "requires": { - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } + "node_modules/xtend/node_modules/object-keys": { + "version": "0.4.0", + "license": "MIT" }, - "@aws-sdk/util-utf8": { - "version": "3.310.0", - "requires": { - "@aws-sdk/util-buffer-from": "3.310.0", - "tslib": "^2.5.0" - } + "node_modules/y18n": { + "version": "4.0.3", + "license": "ISC" }, - "@aws-sdk/util-utf8-browser": { - "version": "3.259.0", - "requires": { - "tslib": "^2.3.1" - } + "node_modules/yallist": { + "version": "3.1.1", + "license": "ISC" }, - "@babel/code-frame": { - "version": "7.22.5", + "node_modules/yaml": { + "version": "1.10.2", "dev": true, - "requires": { - "@babel/highlight": "^7.22.5" + "license": "ISC", + "engines": { + "node": ">= 6" } }, - "@babel/compat-data": { - "version": "7.22.5", - "dev": true - }, - "@babel/core": { - "version": "7.22.5", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helpers": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - } - }, - "@babel/generator": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/types": "^7.22.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "node_modules/yamljs": { + "version": "0.3.0", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "glob": "^7.0.5" + }, + "bin": { + "json2yaml": "bin/json2yaml", + "yaml2json": "bin/yaml2json" } }, - "@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" + "node_modules/yamljs/node_modules/argparse": { + "version": "1.0.10", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" } }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } + "node_modules/yamljs/node_modules/sprintf-js": { + "version": "1.0.3", + "license": "BSD-3-Clause" }, - "@babel/helper-compilation-targets": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" + "node_modules/yargs": { + "version": "15.4.1", + "license": "MIT", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" } }, - "@babel/helper-create-class-features-plugin": { - "version": "7.22.5", + "node_modules/yargs-parser": { + "version": "21.1.1", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "semver": "^6.3.0" + "license": "ISC", + "engines": { + "node": ">=12" } }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.0" + "node_modules/yargs/node_modules/find-up": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "@babel/helper-define-polyfill-provider": { - "version": "0.4.0", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "@babel/helper-environment-visitor": { - "version": "7.22.5", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" + "node_modules/yargs/node_modules/locate-path": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" + "node_modules/yargs/node_modules/p-limit": { + "version": "2.3.0", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" + "node_modules/yargs/node_modules/p-locate": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "@babel/helper-module-imports": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "@babel/helper-module-transforms": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" + "node_modules/yargs/node_modules/yargs-parser": { + "version": "18.1.3", + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" } }, - "@babel/helper-optimise-call-expression": { - "version": "7.22.5", + "node_modules/yn": { + "version": "3.1.1", "dev": true, - "requires": { - "@babel/types": "^7.22.5" + "license": "MIT", + "engines": { + "node": ">=6" } }, - "@babel/helper-plugin-utils": { - "version": "7.22.5", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-wrap-function": "^7.22.5", - "@babel/types": "^7.22.5" + "node_modules/yocto-queue": { + "version": "0.1.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@babel/helper-replace-supers": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" + "node_modules/zlib-sync": { + "version": "0.1.8", + "license": "MIT", + "dependencies": { + "nan": "^2.17.0" } - }, - "@babel/helper-simple-access": { - "version": "7.22.5", + } + }, + "dependencies": { + "@actions/core": { + "version": "1.10.0", "dev": true, "requires": { - "@babel/types": "^7.22.5" + "@actions/http-client": "^2.0.1", + "uuid": "^8.3.2" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "dev": true + } } }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", + "@actions/http-client": { + "version": "2.1.0", "dev": true, "requires": { - "@babel/types": "^7.22.5" + "tunnel": "^0.0.6" } }, - "@babel/helper-split-export-declaration": { - "version": "7.22.5", + "@ampproject/remapping": { + "version": "2.2.1", "dev": true, "requires": { - "@babel/types": "^7.22.5" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.5", + "@apidevtools/openapi-schemas": { + "version": "2.1.0", "dev": true }, - "@babel/helper-validator-option": { - "version": "7.22.5", + "@apidevtools/swagger-methods": { + "version": "3.0.2", "dev": true }, - "@babel/helper-wrap-function": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helpers": { - "version": "7.22.5", - "dev": true, + "@aws-crypto/crc32": { + "version": "3.0.0", "requires": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1" + } } }, - "@babel/highlight": { - "version": "7.22.5", - "dev": true, + "@aws-crypto/ie11-detection": { + "version": "3.0.0", "requires": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "tslib": "^1.11.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1" + } } }, - "@babel/parser": { - "version": "7.22.5", - "dev": true - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.5", - "dev": true, + "@aws-crypto/sha256-browser": { + "version": "3.0.0", "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-crypto/ie11-detection": "^3.0.0", + "@aws-crypto/sha256-js": "^3.0.0", + "@aws-crypto/supports-web-crypto": "^3.0.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1" + } } }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.5", - "dev": true, + "@aws-crypto/sha256-js": { + "version": "3.0.0", "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5" + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1" + } } }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "dev": true, - "requires": {} - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "dev": true, + "@aws-crypto/supports-web-crypto": { + "version": "3.0.0", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "tslib": "^1.11.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1" + } } }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "dev": true, + "@aws-crypto/util": { + "version": "3.0.0", "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1" + } } }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "dev": true, + "@aws-sdk/abort-controller": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "dev": true, + "@aws-sdk/client-comprehend": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.357.0", + "@aws-sdk/config-resolver": "3.357.0", + "@aws-sdk/credential-provider-node": "3.357.0", + "@aws-sdk/fetch-http-handler": "3.357.0", + "@aws-sdk/hash-node": "3.357.0", + "@aws-sdk/invalid-dependency": "3.357.0", + "@aws-sdk/middleware-content-length": "3.357.0", + "@aws-sdk/middleware-endpoint": "3.357.0", + "@aws-sdk/middleware-host-header": "3.357.0", + "@aws-sdk/middleware-logger": "3.357.0", + "@aws-sdk/middleware-recursion-detection": "3.357.0", + "@aws-sdk/middleware-retry": "3.357.0", + "@aws-sdk/middleware-serde": "3.357.0", + "@aws-sdk/middleware-signing": "3.357.0", + "@aws-sdk/middleware-stack": "3.357.0", + "@aws-sdk/middleware-user-agent": "3.357.0", + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/node-http-handler": "3.357.0", + "@aws-sdk/smithy-client": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.357.0", + "@aws-sdk/util-defaults-mode-node": "3.357.0", + "@aws-sdk/util-endpoints": "3.357.0", + "@aws-sdk/util-retry": "3.357.0", + "@aws-sdk/util-user-agent-browser": "3.357.0", + "@aws-sdk/util-user-agent-node": "3.357.0", + "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0", + "uuid": "^8.3.2" + }, + "dependencies": { + "uuid": { + "version": "8.3.2" + } } }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "dev": true, + "@aws-sdk/client-sso": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/config-resolver": "3.357.0", + "@aws-sdk/fetch-http-handler": "3.357.0", + "@aws-sdk/hash-node": "3.357.0", + "@aws-sdk/invalid-dependency": "3.357.0", + "@aws-sdk/middleware-content-length": "3.357.0", + "@aws-sdk/middleware-endpoint": "3.357.0", + "@aws-sdk/middleware-host-header": "3.357.0", + "@aws-sdk/middleware-logger": "3.357.0", + "@aws-sdk/middleware-recursion-detection": "3.357.0", + "@aws-sdk/middleware-retry": "3.357.0", + "@aws-sdk/middleware-serde": "3.357.0", + "@aws-sdk/middleware-stack": "3.357.0", + "@aws-sdk/middleware-user-agent": "3.357.0", + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/node-http-handler": "3.357.0", + "@aws-sdk/smithy-client": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.357.0", + "@aws-sdk/util-defaults-mode-node": "3.357.0", + "@aws-sdk/util-endpoints": "3.357.0", + "@aws-sdk/util-retry": "3.357.0", + "@aws-sdk/util-user-agent-browser": "3.357.0", + "@aws-sdk/util-user-agent-node": "3.357.0", + "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "dev": true, + "@aws-sdk/client-sso-oidc": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/config-resolver": "3.357.0", + "@aws-sdk/fetch-http-handler": "3.357.0", + "@aws-sdk/hash-node": "3.357.0", + "@aws-sdk/invalid-dependency": "3.357.0", + "@aws-sdk/middleware-content-length": "3.357.0", + "@aws-sdk/middleware-endpoint": "3.357.0", + "@aws-sdk/middleware-host-header": "3.357.0", + "@aws-sdk/middleware-logger": "3.357.0", + "@aws-sdk/middleware-recursion-detection": "3.357.0", + "@aws-sdk/middleware-retry": "3.357.0", + "@aws-sdk/middleware-serde": "3.357.0", + "@aws-sdk/middleware-stack": "3.357.0", + "@aws-sdk/middleware-user-agent": "3.357.0", + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/node-http-handler": "3.357.0", + "@aws-sdk/smithy-client": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.357.0", + "@aws-sdk/util-defaults-mode-node": "3.357.0", + "@aws-sdk/util-endpoints": "3.357.0", + "@aws-sdk/util-retry": "3.357.0", + "@aws-sdk/util-user-agent-browser": "3.357.0", + "@aws-sdk/util-user-agent-node": "3.357.0", + "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/client-sts": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/config-resolver": "3.357.0", + "@aws-sdk/credential-provider-node": "3.357.0", + "@aws-sdk/fetch-http-handler": "3.357.0", + "@aws-sdk/hash-node": "3.357.0", + "@aws-sdk/invalid-dependency": "3.357.0", + "@aws-sdk/middleware-content-length": "3.357.0", + "@aws-sdk/middleware-endpoint": "3.357.0", + "@aws-sdk/middleware-host-header": "3.357.0", + "@aws-sdk/middleware-logger": "3.357.0", + "@aws-sdk/middleware-recursion-detection": "3.357.0", + "@aws-sdk/middleware-retry": "3.357.0", + "@aws-sdk/middleware-sdk-sts": "3.357.0", + "@aws-sdk/middleware-serde": "3.357.0", + "@aws-sdk/middleware-signing": "3.357.0", + "@aws-sdk/middleware-stack": "3.357.0", + "@aws-sdk/middleware-user-agent": "3.357.0", + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/node-http-handler": "3.357.0", + "@aws-sdk/smithy-client": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.357.0", + "@aws-sdk/util-defaults-mode-node": "3.357.0", + "@aws-sdk/util-endpoints": "3.357.0", + "@aws-sdk/util-retry": "3.357.0", + "@aws-sdk/util-user-agent-browser": "3.357.0", + "@aws-sdk/util-user-agent-node": "3.357.0", + "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", + "fast-xml-parser": "4.2.4", + "tslib": "^2.5.0" } }, - "@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/config-resolver": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-config-provider": "3.310.0", + "@aws-sdk/util-middleware": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "dev": true, + "@aws-sdk/credential-provider-env": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "dev": true, + "@aws-sdk/credential-provider-imds": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/credential-provider-ini": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/credential-provider-env": "3.357.0", + "@aws-sdk/credential-provider-imds": "3.357.0", + "@aws-sdk/credential-provider-process": "3.357.0", + "@aws-sdk/credential-provider-sso": "3.357.0", + "@aws-sdk/credential-provider-web-identity": "3.357.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "dev": true, + "@aws-sdk/credential-provider-node": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@aws-sdk/credential-provider-env": "3.357.0", + "@aws-sdk/credential-provider-imds": "3.357.0", + "@aws-sdk/credential-provider-ini": "3.357.0", + "@aws-sdk/credential-provider-process": "3.357.0", + "@aws-sdk/credential-provider-sso": "3.357.0", + "@aws-sdk/credential-provider-web-identity": "3.357.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "dev": true, + "@aws-sdk/credential-provider-process": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "dev": true, + "@aws-sdk/credential-provider-sso": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@aws-sdk/client-sso": "3.357.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/token-providers": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "dev": true, + "@aws-sdk/credential-provider-web-identity": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "dev": true, + "@aws-sdk/eventstream-codec": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@aws-crypto/crc32": "3.0.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-hex-encoding": "3.310.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "dev": true, + "@aws-sdk/fetch-http-handler": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/querystring-builder": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-base64": "3.310.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "dev": true, + "@aws-sdk/hash-node": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-buffer-from": "3.310.0", + "@aws-sdk/util-utf8": "3.310.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "dev": true, + "@aws-sdk/invalid-dependency": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/is-array-buffer": { + "version": "3.310.0", "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "tslib": "^2.5.0" } }, - "@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "dev": true, + "@aws-sdk/middleware-content-length": { + "version": "3.357.0", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/middleware-endpoint": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/middleware-serde": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", + "@aws-sdk/util-middleware": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-async-generator-functions": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/middleware-host-header": { + "version": "3.357.0", "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/middleware-logger": { + "version": "3.357.0", "requires": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5" + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/middleware-recursion-detection": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-block-scoping": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/middleware-retry": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/service-error-classification": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-middleware": "3.357.0", + "@aws-sdk/util-retry": "3.357.0", + "tslib": "^2.5.0", + "uuid": "^8.3.2" + }, + "dependencies": { + "uuid": { + "version": "8.3.2" + } } }, - "@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/middleware-sdk-sts": { + "version": "3.357.0", "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/middleware-signing": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-class-static-block": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/middleware-serde": { + "version": "3.357.0", "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-classes": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/middleware-signing": { + "version": "3.357.0", "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "globals": "^11.1.0" + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/signature-v4": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-middleware": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/middleware-stack": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-destructuring": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/middleware-user-agent": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-endpoints": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/node-config-provider": { + "version": "3.357.0", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/node-http-handler": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/abort-controller": "3.357.0", + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/querystring-builder": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-dynamic-import": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/property-provider": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/protocol-http": { + "version": "3.357.0", "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-export-namespace-from": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/querystring-builder": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-uri-escape": "3.310.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-for-of": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/querystring-parser": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-function-name": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/s3-request-presigner": { + "version": "3.357.0", "requires": { - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/middleware-endpoint": "3.357.0", + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/signature-v4-multi-region": "3.357.0", + "@aws-sdk/smithy-client": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-format-url": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-json-strings": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/service-error-classification": { + "version": "3.357.0" + }, + "@aws-sdk/shared-ini-file-loader": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-literals": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/signature-v4": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/eventstream-codec": "3.357.0", + "@aws-sdk/is-array-buffer": "3.310.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-hex-encoding": "3.310.0", + "@aws-sdk/util-middleware": "3.357.0", + "@aws-sdk/util-uri-escape": "3.310.0", + "@aws-sdk/util-utf8": "3.310.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/signature-v4-multi-region": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/signature-v4": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/smithy-client": { + "version": "3.357.0", "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/middleware-stack": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-stream": "3.357.0", + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-modules-amd": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/token-providers": { + "version": "3.357.0", "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/client-sso-oidc": "3.357.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/types": { + "version": "3.357.0", "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/url-parser": { + "version": "3.357.0", "requires": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5" + "@aws-sdk/querystring-parser": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/util-base64": { + "version": "3.310.0", "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/util-buffer-from": "3.310.0", + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "dev": true, + "@aws-sdk/util-body-length-browser": { + "version": "3.310.0", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "tslib": "^2.5.0" } }, - "@babel/plugin-transform-new-target": { + "@aws-sdk/util-body-length-node": { + "version": "3.310.0", + "requires": { + "tslib": "^2.5.0" + } + }, + "@aws-sdk/util-buffer-from": { + "version": "3.310.0", + "requires": { + "@aws-sdk/is-array-buffer": "3.310.0", + "tslib": "^2.5.0" + } + }, + "@aws-sdk/util-config-provider": { + "version": "3.310.0", + "requires": { + "tslib": "^2.5.0" + } + }, + "@aws-sdk/util-defaults-mode-browser": { + "version": "3.357.0", + "requires": { + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", + "bowser": "^2.11.0", + "tslib": "^2.5.0" + } + }, + "@aws-sdk/util-defaults-mode-node": { + "version": "3.357.0", + "requires": { + "@aws-sdk/config-resolver": "3.357.0", + "@aws-sdk/credential-provider-imds": "3.357.0", + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" + } + }, + "@aws-sdk/util-endpoints": { + "version": "3.357.0", + "requires": { + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" + } + }, + "@aws-sdk/util-format-url": { + "version": "3.357.0", + "requires": { + "@aws-sdk/querystring-builder": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" + } + }, + "@aws-sdk/util-hex-encoding": { + "version": "3.310.0", + "requires": { + "tslib": "^2.5.0" + } + }, + "@aws-sdk/util-locate-window": { + "version": "3.310.0", + "requires": { + "tslib": "^2.5.0" + } + }, + "@aws-sdk/util-middleware": { + "version": "3.357.0", + "requires": { + "tslib": "^2.5.0" + } + }, + "@aws-sdk/util-retry": { + "version": "3.357.0", + "requires": { + "@aws-sdk/service-error-classification": "3.357.0", + "tslib": "^2.5.0" + } + }, + "@aws-sdk/util-stream": { + "version": "3.357.0", + "requires": { + "@aws-sdk/fetch-http-handler": "3.357.0", + "@aws-sdk/node-http-handler": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-buffer-from": "3.310.0", + "@aws-sdk/util-hex-encoding": "3.310.0", + "@aws-sdk/util-utf8": "3.310.0", + "tslib": "^2.5.0" + } + }, + "@aws-sdk/util-uri-escape": { + "version": "3.310.0", + "requires": { + "tslib": "^2.5.0" + } + }, + "@aws-sdk/util-user-agent-browser": { + "version": "3.357.0", + "requires": { + "@aws-sdk/types": "3.357.0", + "bowser": "^2.11.0", + "tslib": "^2.5.0" + } + }, + "@aws-sdk/util-user-agent-node": { + "version": "3.357.0", + "requires": { + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" + } + }, + "@aws-sdk/util-utf8": { + "version": "3.310.0", + "requires": { + "@aws-sdk/util-buffer-from": "3.310.0", + "tslib": "^2.5.0" + } + }, + "@aws-sdk/util-utf8-browser": { + "version": "3.259.0", + "requires": { + "tslib": "^2.3.1" + } + }, + "@babel/code-frame": { "version": "7.22.5", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/highlight": "^7.22.5" } }, - "@babel/plugin-transform-nullish-coalescing-operator": { + "@babel/compat-data": { + "version": "7.22.5", + "dev": true + }, + "@babel/core": { "version": "7.22.5", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" } }, - "@babel/plugin-transform-numeric-separator": { + "@babel/generator": { "version": "7.22.5", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "@babel/types": "^7.22.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" } }, - "@babel/plugin-transform-object-rest-spread": { + "@babel/helper-annotate-as-pure": { "version": "7.22.5", "dev": true, "requires": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.5" + "@babel/types": "^7.22.5" } }, - "@babel/plugin-transform-object-super": { + "@babel/helper-builder-binary-assignment-operator-visitor": { "version": "7.22.5", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" + "@babel/types": "^7.22.5" } }, - "@babel/plugin-transform-optional-catch-binding": { + "@babel/helper-compilation-targets": { "version": "7.22.5", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "@babel/compat-data": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" } }, - "@babel/plugin-transform-optional-chaining": { + "@babel/helper-create-class-features-plugin": { "version": "7.22.5", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "@babel/helper-split-export-declaration": "^7.22.5", + "semver": "^6.3.0" } }, - "@babel/plugin-transform-parameters": { + "@babel/helper-create-regexp-features-plugin": { "version": "7.22.5", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.0" } }, - "@babel/plugin-transform-private-methods": { + "@babel/helper-define-polyfill-provider": { + "version": "0.4.0", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.22.5", + "dev": true + }, + "@babel/helper-function-name": { "version": "7.22.5", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" } }, - "@babel/plugin-transform-private-property-in-object": { + "@babel/helper-hoist-variables": { "version": "7.22.5", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + "@babel/types": "^7.22.5" } }, - "@babel/plugin-transform-property-literals": { + "@babel/helper-member-expression-to-functions": { "version": "7.22.5", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/types": "^7.22.5" } }, - "@babel/plugin-transform-regenerator": { + "@babel/helper-module-imports": { "version": "7.22.5", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.1" + "@babel/types": "^7.22.5" } }, - "@babel/plugin-transform-reserved-words": { + "@babel/helper-module-transforms": { "version": "7.22.5", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" } }, - "@babel/plugin-transform-shorthand-properties": { + "@babel/helper-optimise-call-expression": { "version": "7.22.5", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/types": "^7.22.5" } }, - "@babel/plugin-transform-spread": { + "@babel/helper-plugin-utils": { + "version": "7.22.5", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { "version": "7.22.5", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-wrap-function": "^7.22.5", + "@babel/types": "^7.22.5" } }, - "@babel/plugin-transform-sticky-regex": { + "@babel/helper-replace-supers": { "version": "7.22.5", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" } }, - "@babel/plugin-transform-template-literals": { + "@babel/helper-simple-access": { "version": "7.22.5", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/types": "^7.22.5" } }, - "@babel/plugin-transform-typeof-symbol": { + "@babel/helper-skip-transparent-expression-wrappers": { "version": "7.22.5", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/types": "^7.22.5" } }, - "@babel/plugin-transform-typescript": { + "@babel/helper-split-export-declaration": { "version": "7.22.5", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.22.5" + "@babel/types": "^7.22.5" } }, - "@babel/plugin-transform-unicode-escapes": { + "@babel/helper-string-parser": { + "version": "7.22.5", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.22.5", + "dev": true + }, + "@babel/helper-wrap-function": { "version": "7.22.5", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" } }, - "@babel/plugin-transform-unicode-property-regex": { + "@babel/helpers": { "version": "7.22.5", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" } }, - "@babel/plugin-transform-unicode-regex": { + "@babel/highlight": { "version": "7.22.5", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" } }, - "@babel/plugin-transform-unicode-sets-regex": { + "@babel/parser": { + "version": "7.22.5", + "dev": true + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.22.5", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/preset-env": { + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { "version": "7.22.5", "dev": true, "requires": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.22.5", - "@babel/plugin-syntax-import-attributes": "^7.22.5", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.22.5", - "@babel/plugin-transform-async-generator-functions": "^7.22.5", - "@babel/plugin-transform-async-to-generator": "^7.22.5", - "@babel/plugin-transform-block-scoped-functions": "^7.22.5", - "@babel/plugin-transform-block-scoping": "^7.22.5", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.5", - "@babel/plugin-transform-classes": "^7.22.5", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.22.5", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.5", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.5", - "@babel/plugin-transform-for-of": "^7.22.5", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.5", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-modules-systemjs": "^7.22.5", - "@babel/plugin-transform-modules-umd": "^7.22.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.22.5", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", - "@babel/plugin-transform-numeric-separator": "^7.22.5", - "@babel/plugin-transform-object-rest-spread": "^7.22.5", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.5", - "@babel/plugin-transform-property-literals": "^7.22.5", - "@babel/plugin-transform-regenerator": "^7.22.5", - "@babel/plugin-transform-reserved-words": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/plugin-transform-spread": "^7.22.5", - "@babel/plugin-transform-sticky-regex": "^7.22.5", - "@babel/plugin-transform-template-literals": "^7.22.5", - "@babel/plugin-transform-typeof-symbol": "^7.22.5", - "@babel/plugin-transform-unicode-escapes": "^7.22.5", - "@babel/plugin-transform-unicode-property-regex": "^7.22.5", - "@babel/plugin-transform-unicode-regex": "^7.22.5", - "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.3", - "babel-plugin-polyfill-corejs3": "^0.8.1", - "babel-plugin-polyfill-regenerator": "^0.5.0", - "core-js-compat": "^3.30.2", - "semver": "^6.3.0" + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5" } }, - "@babel/preset-modules": { - "version": "0.1.5", + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "dev": true, + "requires": {} + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, - "@babel/preset-typescript": { - "version": "7.22.5", + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-typescript": "^7.22.5" + "@babel/helper-plugin-utils": "^7.8.0" } }, - "@babel/regjsgen": { - "version": "0.8.0", - "dev": true + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "@babel/runtime": { - "version": "7.22.5", + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", "dev": true, "requires": { - "regenerator-runtime": "^0.13.11" + "@babel/helper-plugin-utils": "^7.12.13" } }, - "@babel/template": { - "version": "7.22.5", + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", "dev": true, "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/helper-plugin-utils": "^7.14.5" } }, - "@babel/traverse": { - "version": "7.22.5", + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", "dev": true, "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5", - "debug": "^4.1.0", - "globals": "^11.1.0" + "@babel/helper-plugin-utils": "^7.8.0" } }, - "@babel/types": { + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-import-assertions": { "version": "7.22.5", "dev": true, "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "to-fast-properties": "^2.0.0" + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "dev": true + "@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } }, - "@crowd/alerting": { - "version": "file:../services/libs/alerting", + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-async-generator-functions": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-static-block": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dynamic-import": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-export-namespace-from": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-json-strings": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-transform-numeric-separator": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-transform-object-rest-spread": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.5" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + } + }, + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-transform-optional-chaining": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-property-in-object": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.1" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/preset-env": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.22.5", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.22.5", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.5", + "@babel/plugin-transform-classes": "^7.22.5", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.5", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.5", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.5", + "@babel/plugin-transform-for-of": "^7.22.5", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.5", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-modules-systemjs": "^7.22.5", + "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", + "@babel/plugin-transform-numeric-separator": "^7.22.5", + "@babel/plugin-transform-object-rest-spread": "^7.22.5", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.5", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.5", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.5", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.3", + "babel-plugin-polyfill-corejs3": "^0.8.1", + "babel-plugin-polyfill-regenerator": "^0.5.0", + "core-js-compat": "^3.30.2", + "semver": "^6.3.0" + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-typescript": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-typescript": "^7.22.5" + } + }, + "@babel/regjsgen": { + "version": "0.8.0", + "dev": true + }, + "@babel/runtime": { + "version": "7.22.5", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/traverse": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "dev": true + }, + "@crowd/alerting": { + "version": "file:../services/libs/alerting", "requires": { "@types/node": "^20.3.1", "@typescript-eslint/eslint-plugin": "^5.59.11", @@ -34850,24 +37079,2708 @@ "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", "prettier": "^2.8.8", - "typescript": "^5.1.3" + "typescript": "^5.1.3" + }, + "dependencies": { + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1" + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.42.0" + }, + "@humanwhocodes/config-array": { + "version": "0.11.10", + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1" + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1" + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/json-schema": { + "version": "7.0.12" + }, + "@types/node": { + "version": "20.3.1" + }, + "@types/semver": { + "version": "7.5.0" + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.11", + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.11", + "@typescript-eslint/type-utils": "5.59.11", + "@typescript-eslint/utils": "5.59.11", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.11", + "requires": { + "@typescript-eslint/scope-manager": "5.59.11", + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/typescript-estree": "5.59.11", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.11", + "requires": { + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/visitor-keys": "5.59.11" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.11", + "requires": { + "@typescript-eslint/typescript-estree": "5.59.11", + "@typescript-eslint/utils": "5.59.11", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.11" + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.11", + "requires": { + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/visitor-keys": "5.59.11", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.11", + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.11", + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/typescript-estree": "5.59.11", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0" + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.11", + "requires": { + "@typescript-eslint/types": "5.59.11", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2" + }, + "acorn-jsx": { + "version": "5.3.2", + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1" + }, + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1" + }, + "array-union": { + "version": "2.1.0" + }, + "asynckit": { + "version": "0.4.0" + }, + "axios": { + "version": "1.4.0", + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "balanced-match": { + "version": "1.0.2" + }, + "brace-expansion": { + "version": "1.1.11", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0" + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "combined-stream": { + "version": "1.0.8", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1" + }, + "cross-spawn": { + "version": "7.0.3", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4" + }, + "delayed-stream": { + "version": "1.0.0" + }, + "dir-glob": { + "version": "3.0.1", + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0" + }, + "eslint": { + "version": "8.42.0", + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.42.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "7.2.0", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1" + }, + "espree": { + "version": "9.5.2", + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0" + }, + "esutils": { + "version": "2.0.3" + }, + "fast-deep-equal": { + "version": "3.1.3" + }, + "fast-diff": { + "version": "1.3.0" + }, + "fast-glob": { + "version": "3.2.12", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0" + }, + "fast-levenshtein": { + "version": "2.0.6" + }, + "fastq": { + "version": "1.15.0", + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7" + }, + "follow-redirects": { + "version": "1.15.2" + }, + "form-data": { + "version": "4.0.0", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "fs.realpath": { + "version": "1.0.0" + }, + "glob": { + "version": "7.2.3", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4" + }, + "graphemer": { + "version": "1.4.0" + }, + "has-flag": { + "version": "4.0.0" + }, + "ignore": { + "version": "5.2.4" + }, + "import-fresh": { + "version": "3.3.0", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4" + }, + "inflight": { + "version": "1.0.6", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4" + }, + "is-extglob": { + "version": "2.1.1" + }, + "is-glob": { + "version": "4.0.3", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0" + }, + "is-path-inside": { + "version": "3.0.3" + }, + "isexe": { + "version": "2.0.0" + }, + "js-yaml": { + "version": "4.1.0", + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1" + }, + "levn": { + "version": "0.4.1", + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2" + }, + "lru-cache": { + "version": "6.0.0", + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1" + }, + "micromatch": { + "version": "4.0.5", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime-db": { + "version": "1.52.0" + }, + "mime-types": { + "version": "2.1.35", + "requires": { + "mime-db": "1.52.0" + } + }, + "minimatch": { + "version": "3.1.2", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2" + }, + "natural-compare": { + "version": "1.4.0" + }, + "natural-compare-lite": { + "version": "1.4.0" + }, + "once": { + "version": "1.4.0", + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0" + }, + "path-is-absolute": { + "version": "1.0.1" + }, + "path-key": { + "version": "3.1.1" + }, + "path-type": { + "version": "4.0.0" + }, + "picomatch": { + "version": "2.3.1" + }, + "prelude-ls": { + "version": "1.2.1" + }, + "prettier": { + "version": "2.8.8" + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "requires": { + "fast-diff": "^1.1.2" + } + }, + "proxy-from-env": { + "version": "1.1.0" + }, + "punycode": { + "version": "2.3.0" + }, + "queue-microtask": { + "version": "1.2.3" + }, + "resolve-from": { + "version": "4.0.0" + }, + "reusify": { + "version": "1.0.4" + }, + "rimraf": { + "version": "3.0.2", + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.1", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0" + }, + "slash": { + "version": "3.0.0" + }, + "strip-ansi": { + "version": "6.0.1", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0" + }, + "to-regex-range": { + "version": "5.0.1", + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1" + }, + "tsutils": { + "version": "3.21.0", + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2" + }, + "typescript": { + "version": "5.1.3" + }, + "uri-js": { + "version": "4.4.1", + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3" + }, + "wrappy": { + "version": "1.0.2" + }, + "yallist": { + "version": "4.0.0" + }, + "yocto-queue": { + "version": "0.1.0" + } + } + }, + "@crowd/common": { + "version": "file:../services/libs/common", + "requires": { + "@crowd/logging": "file:../logging", + "@crowd/types": "file:../types", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "psl": "^1.9.0", + "typescript": "^5.0.4", + "uuid": "^9.0.0" }, "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true + }, + "@crowd/logging": { + "version": "file:../services/libs/logging", + "requires": { + "@crowd/common": "file:../common", + "@crowd/tracing": "file:../tracing", + "@types/bunyan": "^1.8.8", + "@types/bunyan-format": "^0.2.5", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "bunyan": "^1.8.15", + "bunyan-format": "^0.2.1", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + }, + "dependencies": { + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/bunyan": { + "version": "1.8.8", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/bunyan-format": { + "version": "0.2.5", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.8", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.6", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/type-utils": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.6", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.6", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "ansicolors": { + "version": "0.2.1" + }, + "ansistyles": { + "version": "0.1.3" + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "devOptional": true + }, + "brace-expansion": { + "version": "1.1.11", + "devOptional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "bunyan": { + "version": "1.8.15", + "requires": { + "dtrace-provider": "~0.8", + "moment": "^2.19.3", + "mv": "~2", + "safe-json-stringify": "~1" + } + }, + "bunyan-format": { + "version": "0.2.1", + "requires": { + "ansicolors": "~0.2.1", + "ansistyles": "~0.1.1", + "xtend": "~2.1.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "devOptional": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dtrace-provider": { + "version": "0.8.8", + "optional": true, + "requires": { + "nan": "^2.14.0" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "devOptional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "devOptional": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "devOptional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "optional": true + }, + "mkdirp": { + "version": "0.5.6", + "optional": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "moment": { + "version": "2.29.4", + "optional": true + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "mv": { + "version": "2.1.1", + "optional": true, + "requires": { + "mkdirp": "~0.5.1", + "ncp": "~2.0.0", + "rimraf": "~2.4.0" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "optional": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "rimraf": { + "version": "2.4.5", + "optional": true, + "requires": { + "glob": "^6.0.1" + } + } + } + }, + "nan": { + "version": "2.17.0", + "optional": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "ncp": { + "version": "2.0.0", + "optional": true + }, + "object-keys": { + "version": "0.4.0" + }, + "once": { + "version": "1.4.0", + "devOptional": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "devOptional": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-json-stringify": { + "version": "1.2.0", + "optional": true + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "devOptional": true + }, + "xtend": { + "version": "2.1.2", + "requires": { + "object-keys": "~0.4.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, + "@crowd/types": { + "version": "file:../services/libs/types", + "requires": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + }, + "dependencies": { + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.9", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/type-utils": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.5", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "once": { + "version": "1.4.0", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, "@eslint-community/eslint-utils": { "version": "4.4.0", + "dev": true, "requires": { "eslint-visitor-keys": "^3.3.0" } }, "@eslint-community/regexpp": { - "version": "4.5.1" + "version": "4.5.1", + "dev": true }, "@eslint/eslintrc": { - "version": "2.0.3", + "version": "2.1.0", + "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.5.2", + "espree": "^9.6.0", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -34877,10 +39790,12 @@ } }, "@eslint/js": { - "version": "8.42.0" + "version": "8.44.0", + "dev": true }, "@humanwhocodes/config-array": { "version": "0.11.10", + "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", @@ -34888,46 +39803,55 @@ } }, "@humanwhocodes/module-importer": { - "version": "1.0.1" + "version": "1.0.1", + "dev": true }, "@humanwhocodes/object-schema": { - "version": "1.2.1" + "version": "1.2.1", + "dev": true }, "@nodelib/fs.scandir": { "version": "2.1.5", + "dev": true, "requires": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "@nodelib/fs.stat": { - "version": "2.0.5" + "version": "2.0.5", + "dev": true }, "@nodelib/fs.walk": { "version": "1.2.8", + "dev": true, "requires": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "@types/json-schema": { - "version": "7.0.12" + "version": "7.0.12", + "dev": true }, "@types/node": { - "version": "20.3.1" + "version": "18.16.19", + "dev": true }, "@types/semver": { - "version": "7.5.0" + "version": "7.5.0", + "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.59.11", + "version": "5.62.0", + "dev": true, "requires": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.11", - "@typescript-eslint/type-utils": "5.59.11", - "@typescript-eslint/utils": "5.59.11", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", "semver": "^7.3.7", @@ -34935,38 +39859,43 @@ } }, "@typescript-eslint/parser": { - "version": "5.59.11", + "version": "5.62.0", + "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.59.11", - "@typescript-eslint/types": "5.59.11", - "@typescript-eslint/typescript-estree": "5.59.11", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.59.11", + "version": "5.62.0", + "dev": true, "requires": { - "@typescript-eslint/types": "5.59.11", - "@typescript-eslint/visitor-keys": "5.59.11" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" } }, "@typescript-eslint/type-utils": { - "version": "5.59.11", + "version": "5.62.0", + "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.59.11", - "@typescript-eslint/utils": "5.59.11", + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.59.11" + "version": "5.62.0", + "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.59.11", + "version": "5.62.0", + "dev": true, "requires": { - "@typescript-eslint/types": "5.59.11", - "@typescript-eslint/visitor-keys": "5.59.11", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -34975,46 +39904,39 @@ } }, "@typescript-eslint/utils": { - "version": "5.59.11", + "version": "5.62.0", + "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.11", - "@typescript-eslint/types": "5.59.11", - "@typescript-eslint/typescript-estree": "5.59.11", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "eslint-scope": "^5.1.1", "semver": "^7.3.7" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0" - } } }, "@typescript-eslint/visitor-keys": { - "version": "5.59.11", + "version": "5.62.0", + "dev": true, "requires": { - "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" } }, "acorn": { - "version": "8.8.2" + "version": "8.10.0", + "dev": true }, "acorn-jsx": { "version": "5.3.2", + "dev": true, "requires": {} }, "ajv": { "version": "6.12.6", + "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -35023,36 +39945,31 @@ } }, "ansi-regex": { - "version": "5.0.1" + "version": "5.0.1", + "dev": true }, "ansi-styles": { "version": "4.3.0", + "dev": true, "requires": { "color-convert": "^2.0.1" } }, "argparse": { - "version": "2.0.1" + "version": "2.0.1", + "dev": true }, "array-union": { - "version": "2.1.0" - }, - "asynckit": { - "version": "0.4.0" - }, - "axios": { - "version": "1.4.0", - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } + "version": "2.1.0", + "dev": true }, "balanced-match": { - "version": "1.0.2" + "version": "1.0.2", + "dev": true }, "brace-expansion": { "version": "1.1.11", + "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -35060,15 +39977,18 @@ }, "braces": { "version": "3.0.2", + "dev": true, "requires": { "fill-range": "^7.0.1" } }, "callsites": { - "version": "3.1.0" + "version": "3.1.0", + "dev": true }, "chalk": { "version": "4.1.2", + "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -35076,24 +39996,22 @@ }, "color-convert": { "version": "2.0.1", + "dev": true, "requires": { "color-name": "~1.1.4" } }, "color-name": { - "version": "1.1.4" - }, - "combined-stream": { - "version": "1.0.8", - "requires": { - "delayed-stream": "~1.0.0" - } + "version": "1.1.4", + "dev": true }, "concat-map": { - "version": "0.0.1" + "version": "0.0.1", + "dev": true }, "cross-spawn": { "version": "7.0.3", + "dev": true, "requires": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -35102,38 +40020,41 @@ }, "debug": { "version": "4.3.4", + "dev": true, "requires": { "ms": "2.1.2" } }, "deep-is": { - "version": "0.1.4" - }, - "delayed-stream": { - "version": "1.0.0" + "version": "0.1.4", + "dev": true }, "dir-glob": { "version": "3.0.1", + "dev": true, "requires": { "path-type": "^4.0.0" } }, "doctrine": { "version": "3.0.0", + "dev": true, "requires": { "esutils": "^2.0.2" } }, "escape-string-regexp": { - "version": "4.0.0" + "version": "4.0.0", + "dev": true }, "eslint": { - "version": "8.42.0", + "version": "8.45.0", + "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.42.0", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -35145,7 +40066,7 @@ "escape-string-regexp": "^4.0.0", "eslint-scope": "^7.2.0", "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", + "espree": "^9.6.0", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -35155,7 +40076,6 @@ "globals": "^13.19.0", "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", @@ -35165,66 +40085,103 @@ "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "eslint-config-prettier": { "version": "8.8.0", + "dev": true, "requires": {} }, "eslint-plugin-prettier": { "version": "4.2.1", + "dev": true, "requires": { "prettier-linter-helpers": "^1.0.0" } }, "eslint-scope": { - "version": "7.2.0", + "version": "5.1.1", + "dev": true, "requires": { "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { - "version": "3.4.1" + "version": "3.4.1", + "dev": true }, "espree": { - "version": "9.5.2", + "version": "9.6.1", + "dev": true, "requires": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.4.1" } }, "esquery": { "version": "1.5.0", + "dev": true, "requires": { "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "esrecurse": { "version": "4.3.0", + "dev": true, "requires": { "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "estraverse": { - "version": "5.3.0" + "version": "4.3.0", + "dev": true }, "esutils": { - "version": "2.0.3" + "version": "2.0.3", + "dev": true }, "fast-deep-equal": { - "version": "3.1.3" + "version": "3.1.3", + "dev": true }, "fast-diff": { - "version": "1.3.0" + "version": "1.3.0", + "dev": true }, "fast-glob": { - "version": "3.2.12", + "version": "3.3.0", + "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -35235,6 +40192,7 @@ "dependencies": { "glob-parent": { "version": "5.1.2", + "dev": true, "requires": { "is-glob": "^4.0.1" } @@ -35242,31 +40200,37 @@ } }, "fast-json-stable-stringify": { - "version": "2.1.0" + "version": "2.1.0", + "dev": true }, "fast-levenshtein": { - "version": "2.0.6" + "version": "2.0.6", + "dev": true }, "fastq": { "version": "1.15.0", + "dev": true, "requires": { "reusify": "^1.0.4" } }, "file-entry-cache": { "version": "6.0.1", + "dev": true, "requires": { "flat-cache": "^3.0.4" } }, "fill-range": { "version": "7.0.1", + "dev": true, "requires": { "to-regex-range": "^5.0.1" } }, "find-up": { "version": "5.0.0", + "dev": true, "requires": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -35274,30 +40238,23 @@ }, "flat-cache": { "version": "3.0.4", + "dev": true, "requires": { "flatted": "^3.1.0", "rimraf": "^3.0.2" } }, "flatted": { - "version": "3.2.7" - }, - "follow-redirects": { - "version": "1.15.2" - }, - "form-data": { - "version": "4.0.0", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } + "version": "3.2.7", + "dev": true }, "fs.realpath": { - "version": "1.0.0" + "version": "1.0.0", + "dev": true }, "glob": { "version": "7.2.3", + "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -35309,18 +40266,21 @@ }, "glob-parent": { "version": "6.0.2", + "dev": true, "requires": { "is-glob": "^4.0.3" } }, "globals": { "version": "13.20.0", + "dev": true, "requires": { "type-fest": "^0.20.2" } }, "globby": { "version": "11.1.0", + "dev": true, "requires": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -35330,70 +40290,83 @@ "slash": "^3.0.0" } }, - "grapheme-splitter": { - "version": "1.0.4" - }, "graphemer": { - "version": "1.4.0" + "version": "1.4.0", + "dev": true }, "has-flag": { - "version": "4.0.0" + "version": "4.0.0", + "dev": true }, "ignore": { - "version": "5.2.4" + "version": "5.2.4", + "dev": true }, "import-fresh": { "version": "3.3.0", + "dev": true, "requires": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "imurmurhash": { - "version": "0.1.4" + "version": "0.1.4", + "dev": true }, "inflight": { "version": "1.0.6", + "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" } }, "inherits": { - "version": "2.0.4" + "version": "2.0.4", + "dev": true }, "is-extglob": { - "version": "2.1.1" + "version": "2.1.1", + "dev": true }, "is-glob": { "version": "4.0.3", + "dev": true, "requires": { "is-extglob": "^2.1.1" } }, "is-number": { - "version": "7.0.0" + "version": "7.0.0", + "dev": true }, "is-path-inside": { - "version": "3.0.3" + "version": "3.0.3", + "dev": true }, "isexe": { - "version": "2.0.0" + "version": "2.0.0", + "dev": true }, "js-yaml": { "version": "4.1.0", + "dev": true, "requires": { "argparse": "^2.0.1" } }, "json-schema-traverse": { - "version": "0.4.1" + "version": "0.4.1", + "dev": true }, "json-stable-stringify-without-jsonify": { - "version": "1.0.1" + "version": "1.0.1", + "dev": true }, "levn": { "version": "0.4.1", + "dev": true, "requires": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -35401,234 +40374,270 @@ }, "locate-path": { "version": "6.0.0", + "dev": true, "requires": { "p-locate": "^5.0.0" } }, "lodash.merge": { - "version": "4.6.2" + "version": "4.6.2", + "dev": true }, "lru-cache": { "version": "6.0.0", + "dev": true, "requires": { "yallist": "^4.0.0" } }, "merge2": { - "version": "1.4.1" + "version": "1.4.1", + "dev": true }, "micromatch": { "version": "4.0.5", + "dev": true, "requires": { "braces": "^3.0.2", "picomatch": "^2.3.1" } }, - "mime-db": { - "version": "1.52.0" - }, - "mime-types": { - "version": "2.1.35", - "requires": { - "mime-db": "1.52.0" - } - }, "minimatch": { "version": "3.1.2", + "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, "ms": { - "version": "2.1.2" + "version": "2.1.2", + "dev": true }, "natural-compare": { - "version": "1.4.0" + "version": "1.4.0", + "dev": true }, "natural-compare-lite": { - "version": "1.4.0" + "version": "1.4.0", + "dev": true }, "once": { "version": "1.4.0", + "dev": true, "requires": { "wrappy": "1" } }, "optionator": { - "version": "0.9.1", + "version": "0.9.3", + "dev": true, "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" } }, "p-limit": { "version": "3.1.0", + "dev": true, "requires": { "yocto-queue": "^0.1.0" } }, "p-locate": { "version": "5.0.0", + "dev": true, "requires": { "p-limit": "^3.0.2" } }, "parent-module": { "version": "1.0.1", + "dev": true, "requires": { "callsites": "^3.0.0" } }, "path-exists": { - "version": "4.0.0" + "version": "4.0.0", + "dev": true }, "path-is-absolute": { - "version": "1.0.1" + "version": "1.0.1", + "dev": true }, "path-key": { - "version": "3.1.1" + "version": "3.1.1", + "dev": true }, "path-type": { - "version": "4.0.0" + "version": "4.0.0", + "dev": true }, "picomatch": { - "version": "2.3.1" + "version": "2.3.1", + "dev": true }, "prelude-ls": { - "version": "1.2.1" + "version": "1.2.1", + "dev": true }, "prettier": { - "version": "2.8.8" + "version": "2.8.8", + "dev": true }, "prettier-linter-helpers": { "version": "1.0.0", + "dev": true, "requires": { "fast-diff": "^1.1.2" } }, - "proxy-from-env": { - "version": "1.1.0" - }, "punycode": { - "version": "2.3.0" + "version": "2.3.0", + "dev": true }, "queue-microtask": { - "version": "1.2.3" + "version": "1.2.3", + "dev": true }, "resolve-from": { - "version": "4.0.0" + "version": "4.0.0", + "dev": true }, "reusify": { - "version": "1.0.4" + "version": "1.0.4", + "dev": true }, "rimraf": { "version": "3.0.2", + "dev": true, "requires": { "glob": "^7.1.3" } }, "run-parallel": { "version": "1.2.0", + "dev": true, "requires": { "queue-microtask": "^1.2.2" } }, "semver": { - "version": "7.5.1", + "version": "7.5.4", + "dev": true, "requires": { "lru-cache": "^6.0.0" } }, "shebang-command": { "version": "2.0.0", + "dev": true, "requires": { "shebang-regex": "^3.0.0" } }, "shebang-regex": { - "version": "3.0.0" + "version": "3.0.0", + "dev": true }, "slash": { - "version": "3.0.0" + "version": "3.0.0", + "dev": true }, "strip-ansi": { "version": "6.0.1", + "dev": true, "requires": { "ansi-regex": "^5.0.1" } }, "strip-json-comments": { - "version": "3.1.1" + "version": "3.1.1", + "dev": true }, "supports-color": { "version": "7.2.0", + "dev": true, "requires": { "has-flag": "^4.0.0" } }, "text-table": { - "version": "0.2.0" + "version": "0.2.0", + "dev": true }, "to-regex-range": { "version": "5.0.1", + "dev": true, "requires": { "is-number": "^7.0.0" } }, "tslib": { - "version": "1.14.1" + "version": "1.14.1", + "dev": true }, "tsutils": { "version": "3.21.0", + "dev": true, "requires": { "tslib": "^1.8.1" } }, "type-check": { "version": "0.4.0", + "dev": true, "requires": { "prelude-ls": "^1.2.1" } }, "type-fest": { - "version": "0.20.2" + "version": "0.20.2", + "dev": true }, "typescript": { - "version": "5.1.3" + "version": "5.1.6", + "dev": true }, "uri-js": { "version": "4.4.1", + "dev": true, "requires": { "punycode": "^2.1.0" } }, + "uuid": { + "version": "9.0.0" + }, "which": { "version": "2.0.2", + "dev": true, "requires": { "isexe": "^2.0.0" } }, - "word-wrap": { - "version": "1.2.3" - }, "wrappy": { - "version": "1.0.2" + "version": "1.0.2", + "dev": true }, "yallist": { - "version": "4.0.0" + "version": "4.0.0", + "dev": true }, "yocto-queue": { - "version": "0.1.0" + "version": "0.1.0", + "dev": true } } }, - "@crowd/common": { - "version": "file:../services/libs/common", + "@crowd/feature-flags": { + "version": "file:../services/libs/feature-flags", "requires": { + "@crowd/common": "file:../common", "@crowd/logging": "file:../logging", "@crowd/types": "file:../types", "@types/node": "^18.16.3", @@ -35638,943 +40647,5597 @@ "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", "prettier": "^2.8.8", - "psl": "^1.9.0", "typescript": "^5.0.4", - "uuid": "^9.0.0" + "unleash-client": "^3.18.1" + } + }, + "@crowd/integrations": { + "version": "file:../services/libs/integrations", + "requires": { + "@crowd/common": "file:../common", + "@crowd/logging": "file:../logging", + "@crowd/types": "file:../types", + "@octokit/auth-app": "^4.0.13", + "@octokit/graphql": "^5.0.6", + "@types/he": "^1.2.0", + "@types/node": "^18.16.3", + "@types/sanitize-html": "^2.9.0", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "axios": "^1.4.0", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "he": "^1.2.0", + "lodash.clonedeep": "^4.5.0", + "lodash.merge": "^4.6.2", + "prettier": "^2.8.8", + "sanitize-html": "^2.10.0", + "typescript": "^5.0.4", + "verify-github-webhook": "^1.0.1" }, "dependencies": { - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.5.1", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.0.3", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.2", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - } - }, - "@eslint/js": { - "version": "8.40.0", - "dev": true - }, - "@humanwhocodes/config-array": { - "version": "0.11.8", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "dev": true - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@types/json-schema": { - "version": "7.0.11", - "dev": true - }, - "@types/node": { - "version": "18.16.7", - "dev": true - }, - "@types/semver": { - "version": "7.5.0", - "dev": true - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.59.6", - "dev": true, - "requires": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/type-utils": "5.59.6", - "@typescript-eslint/utils": "5.59.6", - "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/parser": { - "version": "5.59.6", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", - "debug": "^4.3.4" - } - }, - "@typescript-eslint/scope-manager": { - "version": "5.59.6", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.59.6", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "5.59.6", - "@typescript-eslint/utils": "5.59.6", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.59.6", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.59.6", - "dev": true, + "@crowd/common": { + "version": "file:../services/libs/common", "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "@crowd/logging": "file:../logging", + "@crowd/types": "file:../types", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "psl": "^1.9.0", + "typescript": "^5.0.4", + "uuid": "^9.0.0" + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true + }, + "@crowd/logging": { + "version": "file:../services/libs/logging", + "requires": { + "@crowd/common": "file:../common", + "@crowd/tracing": "file:../tracing", + "@types/bunyan": "^1.8.8", + "@types/bunyan-format": "^0.2.5", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "bunyan": "^1.8.15", + "bunyan-format": "^0.2.1", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + }, + "dependencies": { + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/bunyan": { + "version": "1.8.8", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/bunyan-format": { + "version": "0.2.5", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.8", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.6", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/type-utils": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.6", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.6", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "ansicolors": { + "version": "0.2.1" + }, + "ansistyles": { + "version": "0.1.3" + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "devOptional": true + }, + "brace-expansion": { + "version": "1.1.11", + "devOptional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "bunyan": { + "version": "1.8.15", + "requires": { + "dtrace-provider": "~0.8", + "moment": "^2.19.3", + "mv": "~2", + "safe-json-stringify": "~1" + } + }, + "bunyan-format": { + "version": "0.2.1", + "requires": { + "ansicolors": "~0.2.1", + "ansistyles": "~0.1.1", + "xtend": "~2.1.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "devOptional": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dtrace-provider": { + "version": "0.8.8", + "optional": true, + "requires": { + "nan": "^2.14.0" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "devOptional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "devOptional": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "devOptional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "optional": true + }, + "mkdirp": { + "version": "0.5.6", + "optional": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "moment": { + "version": "2.29.4", + "optional": true + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "mv": { + "version": "2.1.1", + "optional": true, + "requires": { + "mkdirp": "~0.5.1", + "ncp": "~2.0.0", + "rimraf": "~2.4.0" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "optional": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "rimraf": { + "version": "2.4.5", + "optional": true, + "requires": { + "glob": "^6.0.1" + } + } + } + }, + "nan": { + "version": "2.17.0", + "optional": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "ncp": { + "version": "2.0.0", + "optional": true + }, + "object-keys": { + "version": "0.4.0" + }, + "once": { + "version": "1.4.0", + "devOptional": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "devOptional": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-json-stringify": { + "version": "1.2.0", + "optional": true + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "devOptional": true + }, + "xtend": { + "version": "2.1.2", + "requires": { + "object-keys": "~0.4.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, + "@crowd/types": { + "version": "file:../services/libs/types", + "requires": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + }, + "dependencies": { + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.9", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/type-utils": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.5", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "once": { + "version": "1.4.0", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.1.0", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.44.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.10", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/json-schema": { + "version": "7.0.12", + "dev": true + }, + "@types/node": { + "version": "18.16.19", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.10.0", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.45.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.6.0", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.6.1", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.3.0", + "dev": true + }, + "fast-glob": { + "version": "3.3.0", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "graphemer": { + "version": "1.4.0", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "once": { + "version": "1.4.0", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.3", + "dev": true, + "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.4", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.1.6", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "uuid": { + "version": "9.0.0" + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } } }, - "@typescript-eslint/utils": { - "version": "5.59.6", - "dev": true, + "@crowd/logging": { + "version": "file:../services/libs/logging", "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "@crowd/common": "file:../common", + "@crowd/tracing": "file:../tracing", + "@types/bunyan": "^1.8.8", + "@types/bunyan-format": "^0.2.5", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "bunyan": "^1.8.15", + "bunyan-format": "^0.2.1", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" }, "dependencies": { + "@crowd/common": { + "version": "file:../services/libs/common", + "requires": { + "@crowd/logging": "file:../logging", + "@crowd/types": "file:../types", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "psl": "^1.9.0", + "typescript": "^5.0.4", + "uuid": "^9.0.0" + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true + }, + "@crowd/types": { + "version": "file:../services/libs/types", + "requires": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + }, + "dependencies": { + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.9", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/type-utils": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.5", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "once": { + "version": "1.4.0", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.1.0", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.44.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.10", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/json-schema": { + "version": "7.0.12", + "dev": true + }, + "@types/node": { + "version": "18.16.19", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.10.0", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.45.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.6.0", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.6.1", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.3.0", + "dev": true + }, + "fast-glob": { + "version": "3.3.0", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "graphemer": { + "version": "1.4.0", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "once": { + "version": "1.4.0", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.3", + "dev": true, + "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.4", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.1.6", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "uuid": { + "version": "9.0.0" + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/bunyan": { + "version": "1.8.8", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/bunyan-format": { + "version": "0.2.5", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.8", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.6", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/type-utils": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.6", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.6", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "ansicolors": { + "version": "0.2.1" + }, + "ansistyles": { + "version": "0.1.3" + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "devOptional": true + }, + "brace-expansion": { + "version": "1.1.11", + "devOptional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "bunyan": { + "version": "1.8.15", + "requires": { + "dtrace-provider": "~0.8", + "moment": "^2.19.3", + "mv": "~2", + "safe-json-stringify": "~1" + } + }, + "bunyan-format": { + "version": "0.2.1", + "requires": { + "ansicolors": "~0.2.1", + "ansistyles": "~0.1.1", + "xtend": "~2.1.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "devOptional": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dtrace-provider": { + "version": "0.8.8", + "optional": true, + "requires": { + "nan": "^2.14.0" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, "eslint-scope": { - "version": "5.1.1", + "version": "7.2.0", "dev": true, "requires": { "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "estraverse": "^5.2.0" } }, - "estraverse": { + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", "dev": true - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.59.6", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.6", - "eslint-visitor-keys": "^3.3.0" - } - }, - "acorn": { - "version": "8.8.2", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "dev": true, - "requires": {} - }, - "ajv": { - "version": "6.12.6", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.1", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "2.0.1", - "dev": true - }, - "array-union": { - "version": "2.1.0", - "dev": true - }, - "balanced-match": { - "version": "1.0.2", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "callsites": { - "version": "3.1.0", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "debug": { - "version": "4.3.4", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "deep-is": { - "version": "0.1.4", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "escape-string-regexp": { - "version": "4.0.0", - "dev": true - }, - "eslint": { - "version": "8.40.0", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.40.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - } - }, - "eslint-config-prettier": { - "version": "8.8.0", - "dev": true, - "requires": {} - }, - "eslint-plugin-prettier": { - "version": "4.2.1", - "dev": true, - "requires": { - "prettier-linter-helpers": "^1.0.0" - } - }, - "eslint-scope": { - "version": "7.2.0", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.1", - "dev": true - }, - "espree": { - "version": "9.5.2", - "dev": true, - "requires": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esquery": { - "version": "1.5.0", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "dev": true - }, - "fast-diff": { - "version": "1.2.0", - "dev": true - }, - "fast-glob": { - "version": "3.2.12", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "glob-parent": { - "version": "5.1.2", + "version": "6.0.2", "dev": true, "requires": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "dev": true - }, - "fastq": { - "version": "1.15.0", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "5.0.0", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "dev": true - }, - "glob": { - "version": "7.2.3", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "6.0.2", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globals": { - "version": "13.20.0", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "globby": { - "version": "11.1.0", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "grapheme-splitter": { - "version": "1.0.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "ignore": { - "version": "5.2.4", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "dev": true - }, - "is-path-inside": { - "version": "3.0.3", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "dev": true - }, - "js-sdsl": { - "version": "4.4.0", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true - }, - "levn": { - "version": "0.4.1", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "locate-path": { - "version": "6.0.0", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash.merge": { - "version": "4.6.2", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "merge2": { - "version": "1.4.1", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "minimatch": { - "version": "3.1.2", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "ms": { - "version": "2.1.2", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "dev": true - }, - "natural-compare-lite": { - "version": "1.4.0", - "dev": true - }, - "once": { - "version": "1.4.0", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "optionator": { - "version": "0.9.1", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "p-limit": { - "version": "3.1.0", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "parent-module": { - "version": "1.0.1", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "path-exists": { - "version": "4.0.0", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "dev": true - }, - "prelude-ls": { - "version": "1.2.1", - "dev": true - }, - "prettier": { - "version": "2.8.8", - "dev": true - }, - "prettier-linter-helpers": { - "version": "1.0.0", - "dev": true, - "requires": { - "fast-diff": "^1.1.2" - } - }, - "punycode": { - "version": "2.3.0", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "dev": true - }, - "resolve-from": { - "version": "4.0.0", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "run-parallel": { - "version": "1.2.0", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "semver": { - "version": "7.5.1", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "shebang-command": { - "version": "2.0.0", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "dev": true - }, - "slash": { - "version": "3.0.0", - "dev": true - }, - "strip-ansi": { - "version": "6.0.1", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "text-table": { - "version": "0.2.0", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "tslib": { - "version": "1.14.1", - "dev": true - }, - "tsutils": { - "version": "3.21.0", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, - "type-check": { - "version": "0.4.0", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-fest": { - "version": "0.20.2", - "dev": true - }, - "typescript": { - "version": "5.0.4", - "dev": true - }, - "uri-js": { - "version": "4.4.1", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "uuid": { - "version": "9.0.0" - }, - "which": { - "version": "2.0.2", - "dev": true, - "requires": { - "isexe": "^2.0.0" + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "devOptional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "devOptional": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "devOptional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "optional": true + }, + "mkdirp": { + "version": "0.5.6", + "optional": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "moment": { + "version": "2.29.4", + "optional": true + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "mv": { + "version": "2.1.1", + "optional": true, + "requires": { + "mkdirp": "~0.5.1", + "ncp": "~2.0.0", + "rimraf": "~2.4.0" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "optional": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "rimraf": { + "version": "2.4.5", + "optional": true, + "requires": { + "glob": "^6.0.1" + } + } + } + }, + "nan": { + "version": "2.17.0", + "optional": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "ncp": { + "version": "2.0.0", + "optional": true + }, + "object-keys": { + "version": "0.4.0" + }, + "once": { + "version": "1.4.0", + "devOptional": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "devOptional": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-json-stringify": { + "version": "1.2.0", + "optional": true + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "devOptional": true + }, + "xtend": { + "version": "2.1.2", + "requires": { + "object-keys": "~0.4.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } } }, - "word-wrap": { - "version": "1.2.3", - "dev": true - }, - "wrappy": { - "version": "1.0.2", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "dev": true - } - } - }, - "@crowd/feature-flags": { - "version": "file:../services/libs/feature-flags", - "requires": { - "@crowd/common": "file:../common", - "@crowd/logging": "file:../logging", - "@crowd/types": "file:../types", - "@types/node": "^18.16.3", - "@typescript-eslint/eslint-plugin": "^5.59.2", - "@typescript-eslint/parser": "^5.59.2", - "eslint": "^8.39.0", - "eslint-config-prettier": "^8.8.0", - "eslint-plugin-prettier": "^4.2.1", - "prettier": "^2.8.8", - "typescript": "^5.0.4", - "unleash-client": "^3.18.1" - } - }, - "@crowd/httpclients": { - "version": "file:../services/libs/httpclients", - "requires": { - "@types/node": "^20.3.1", - "@typescript-eslint/eslint-plugin": "^5.59.11", - "@typescript-eslint/parser": "^5.59.11", - "axios": "^1.4.0", - "eslint": "^8.42.0", - "eslint-config-prettier": "^8.8.0", - "eslint-plugin-prettier": "^4.2.1", - "prettier": "^2.8.8", - "typescript": "^5.1.3" - } - }, - "@crowd/integrations": { - "version": "file:../services/libs/integrations", - "requires": { - "@crowd/common": "file:../common", - "@crowd/logging": "file:../logging", - "@crowd/types": "file:../types", - "@octokit/auth-app": "^4.0.13", - "@octokit/graphql": "^5.0.6", - "@types/he": "^1.2.0", - "@types/node": "^18.16.3", - "@types/sanitize-html": "^2.9.0", - "@typescript-eslint/eslint-plugin": "^5.59.2", - "@typescript-eslint/parser": "^5.59.2", - "axios": "^1.4.0", - "eslint": "^8.39.0", - "eslint-config-prettier": "^8.8.0", - "eslint-plugin-prettier": "^4.2.1", - "he": "^1.2.0", - "lodash.clonedeep": "^4.5.0", - "lodash.merge": "^4.6.2", - "prettier": "^2.8.8", - "sanitize-html": "^2.10.0", - "typescript": "^5.0.4", - "verify-github-webhook": "^1.0.1" - }, - "dependencies": { - "@crowd/common": { - "version": "file:../services/libs/common", + "@crowd/types": { + "version": "file:../services/libs/types", "requires": { - "@crowd/logging": "file:../logging", - "@crowd/types": "file:../types", "@types/node": "^18.16.3", "@typescript-eslint/eslint-plugin": "^5.59.2", "@typescript-eslint/parser": "^5.59.2", @@ -36582,9 +46245,7 @@ "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", "prettier": "^2.8.8", - "psl": "^1.9.0", - "typescript": "^5.0.4", - "uuid": "^9.0.0" + "typescript": "^5.0.4" }, "dependencies": { "@eslint-community/eslint-utils": { @@ -36659,7 +46320,7 @@ "dev": true }, "@types/node": { - "version": "18.16.7", + "version": "18.16.9", "dev": true }, "@types/semver": { @@ -36667,13 +46328,13 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.59.6", + "version": "5.59.5", "dev": true, "requires": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/type-utils": "5.59.6", - "@typescript-eslint/utils": "5.59.6", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/type-utils": "5.59.5", + "@typescript-eslint/utils": "5.59.5", "debug": "^4.3.4", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", @@ -36683,43 +46344,43 @@ } }, "@typescript-eslint/parser": { - "version": "5.59.6", + "version": "5.59.5", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.59.6", + "version": "5.59.5", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6" + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5" } }, "@typescript-eslint/type-utils": { - "version": "5.59.6", + "version": "5.59.5", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.59.6", - "@typescript-eslint/utils": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.5", + "@typescript-eslint/utils": "5.59.5", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.59.6", + "version": "5.59.5", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.59.6", + "version": "5.59.5", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -36727,39 +46388,25 @@ "tsutils": "^3.21.0" } }, - "@typescript-eslint/utils": { - "version": "5.59.6", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "dev": true - } + "@typescript-eslint/utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" } }, "@typescript-eslint/visitor-keys": { - "version": "5.59.6", + "version": "5.59.5", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/types": "5.59.5", "eslint-visitor-keys": "^3.3.0" } }, @@ -36929,6 +46576,20 @@ "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "eslint-config-prettier": { @@ -36944,11 +46605,11 @@ } }, "eslint-scope": { - "version": "7.2.0", + "version": "5.1.1", "dev": true, "requires": { "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { @@ -36969,6 +46630,12 @@ "dev": true, "requires": { "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "esrecurse": { @@ -36976,10 +46643,16 @@ "dev": true, "requires": { "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "estraverse": { - "version": "5.3.0", + "version": "4.3.0", "dev": true }, "esutils": { @@ -37382,105 +47055,1500 @@ "version": "7.2.0", "dev": true, "requires": { - "has-flag": "^4.0.0" - } - }, - "text-table": { - "version": "0.2.0", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "dev": true, - "requires": { - "is-number": "^7.0.0" + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@octokit/auth-app": { + "version": "3.6.1", + "requires": { + "@octokit/auth-oauth-app": "^4.3.0", + "@octokit/auth-oauth-user": "^1.2.3", + "@octokit/request": "^5.6.0", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.0.3", + "@types/lru-cache": "^5.1.0", + "deprecation": "^2.3.1", + "lru-cache": "^6.0.0", + "universal-github-app-jwt": "^1.0.1", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/auth-oauth-app": { + "version": "4.3.4", + "requires": { + "@octokit/auth-oauth-device": "^3.1.1", + "@octokit/auth-oauth-user": "^2.0.0", + "@octokit/request": "^5.6.3", + "@octokit/types": "^6.0.3", + "@types/btoa-lite": "^1.0.0", + "btoa-lite": "^1.0.0", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "@octokit/auth-oauth-user": { + "version": "2.1.2", + "requires": { + "@octokit/auth-oauth-device": "^4.0.0", + "@octokit/oauth-methods": "^2.0.0", + "@octokit/request": "^6.0.0", + "@octokit/types": "^9.0.0", + "btoa-lite": "^1.0.0", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "@octokit/auth-oauth-device": { + "version": "4.0.5", + "requires": { + "@octokit/oauth-methods": "^2.0.0", + "@octokit/request": "^6.0.0", + "@octokit/types": "^9.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/request": { + "version": "6.2.8", + "requires": { + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/types": { + "version": "9.3.2", + "requires": { + "@octokit/openapi-types": "^18.0.0" + } + } + } + }, + "@octokit/endpoint": { + "version": "7.0.6", + "requires": { + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "@octokit/types": { + "version": "9.3.2", + "requires": { + "@octokit/openapi-types": "^18.0.0" + } + } + } + }, + "@octokit/openapi-types": { + "version": "18.0.0" + }, + "@octokit/request-error": { + "version": "3.0.3", + "requires": { + "@octokit/types": "^9.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "dependencies": { + "@octokit/types": { + "version": "9.3.2", + "requires": { + "@octokit/openapi-types": "^18.0.0" + } + } + } + } + } + }, + "@octokit/auth-oauth-device": { + "version": "3.1.4", + "requires": { + "@octokit/oauth-methods": "^2.0.0", + "@octokit/request": "^6.0.0", + "@octokit/types": "^6.10.0", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "@octokit/endpoint": { + "version": "7.0.6", + "requires": { + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "@octokit/types": { + "version": "9.3.2", + "requires": { + "@octokit/openapi-types": "^18.0.0" + } + } + } + }, + "@octokit/openapi-types": { + "version": "18.0.0" + }, + "@octokit/request": { + "version": "6.2.8", + "requires": { + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "@octokit/types": { + "version": "9.3.2", + "requires": { + "@octokit/openapi-types": "^18.0.0" + } + } + } + }, + "@octokit/request-error": { + "version": "3.0.3", + "requires": { + "@octokit/types": "^9.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "dependencies": { + "@octokit/types": { + "version": "9.3.2", + "requires": { + "@octokit/openapi-types": "^18.0.0" + } + } + } + } + } + }, + "@octokit/auth-oauth-user": { + "version": "1.3.0", + "requires": { + "@octokit/auth-oauth-device": "^3.1.1", + "@octokit/oauth-methods": "^1.1.0", + "@octokit/request": "^5.4.14", + "@octokit/types": "^6.12.2", + "btoa-lite": "^1.0.0", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "@octokit/oauth-authorization-url": { + "version": "4.3.3" + }, + "@octokit/oauth-methods": { + "version": "1.2.6", + "requires": { + "@octokit/oauth-authorization-url": "^4.3.1", + "@octokit/request": "^5.4.14", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.12.2", + "btoa-lite": "^1.0.0" + } + } + } + }, + "@octokit/endpoint": { + "version": "6.0.12", + "requires": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/graphql": { + "version": "4.8.0", + "requires": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/oauth-authorization-url": { + "version": "5.0.0" + }, + "@octokit/oauth-methods": { + "version": "2.0.6", + "requires": { + "@octokit/oauth-authorization-url": "^5.0.0", + "@octokit/request": "^6.2.3", + "@octokit/request-error": "^3.0.3", + "@octokit/types": "^9.0.0", + "btoa-lite": "^1.0.0" + }, + "dependencies": { + "@octokit/endpoint": { + "version": "7.0.6", + "requires": { + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/openapi-types": { + "version": "18.0.0" + }, + "@octokit/request": { + "version": "6.2.8", + "requires": { + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/request-error": { + "version": "3.0.3", + "requires": { + "@octokit/types": "^9.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "@octokit/types": { + "version": "9.3.2", + "requires": { + "@octokit/openapi-types": "^18.0.0" + } + } + } + }, + "@octokit/openapi-types": { + "version": "12.11.0" + }, + "@octokit/request": { + "version": "5.6.3", + "requires": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/request-error": { + "version": "2.1.0", + "requires": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "@octokit/types": { + "version": "6.41.0", + "requires": { + "@octokit/openapi-types": "^12.11.0" + } + }, + "@types/btoa-lite": { + "version": "1.0.0" + }, + "@types/he": { + "version": "1.2.0", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/jsonwebtoken": { + "version": "9.0.2", + "requires": { + "@types/node": "*" + } + }, + "@types/lru-cache": { + "version": "5.1.1" + }, + "@types/node": { + "version": "18.16.9" + }, + "@types/sanitize-html": { + "version": "2.9.0", + "dev": true, + "requires": { + "htmlparser2": "^8.0.0" + } + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/type-utils": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.5", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "asynckit": { + "version": "0.4.0" + }, + "axios": { + "version": "1.4.0", + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "btoa-lite": { + "version": "1.0.0" + }, + "buffer-equal-constant-time": { + "version": "1.0.1" + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "deepmerge": { + "version": "4.3.1" + }, + "delayed-stream": { + "version": "1.0.0" + }, + "deprecation": { + "version": "2.3.1" + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-serializer": { + "version": "2.0.0", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domelementtype": { + "version": "2.3.0" + }, + "domhandler": { + "version": "5.0.3", + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.1.0", + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + } + }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "entities": { + "version": "4.5.0" + }, + "escape-string-regexp": { + "version": "4.0.0" + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" } }, - "tslib": { - "version": "1.14.1", + "estraverse": { + "version": "5.3.0", "dev": true - }, - "tsutils": { - "version": "3.21.0", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, - "type-check": { - "version": "0.4.0", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-fest": { - "version": "0.20.2", + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", "dev": true - }, - "typescript": { - "version": "5.0.4", + } + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", "dev": true - }, - "uri-js": { - "version": "4.4.1", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "uuid": { - "version": "9.0.0" - }, - "which": { - "version": "2.0.2", + } + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", "dev": true, "requires": { - "isexe": "^2.0.0" + "is-glob": "^4.0.1" } - }, - "word-wrap": { - "version": "1.2.3", - "dev": true - }, - "wrappy": { - "version": "1.0.2", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "dev": true } } }, - "@crowd/logging": { - "version": "file:../services/libs/logging", + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "follow-redirects": { + "version": "1.15.2" + }, + "form-data": { + "version": "4.0.0", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "he": { + "version": "1.2.0" + }, + "htmlparser2": { + "version": "8.0.2", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "is-plain-object": { + "version": "5.0.0" + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, "requires": { - "@crowd/common": "file:../common", - "@crowd/tracing": "file:../tracing", - "@types/bunyan": "^1.8.8", - "@types/bunyan-format": "^0.2.5", + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "jsonwebtoken": { + "version": "9.0.1", + "requires": { + "jws": "^3.2.2", + "lodash": "^4.17.21", + "ms": "^2.1.1", + "semver": "^7.3.8" + } + }, + "jwa": { + "version": "1.4.1", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21" + }, + "lodash.merge": { + "version": "4.6.2" + }, + "lru-cache": { + "version": "6.0.0", + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime-db": { + "version": "1.52.0" + }, + "mime-types": { + "version": "2.1.35", + "requires": { + "mime-db": "1.52.0" + } + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2" + }, + "nanoid": { + "version": "3.3.6" + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "node-fetch": { + "version": "2.6.12", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "once": { + "version": "1.4.0", + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-srcset": { + "version": "1.0.2" + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picocolors": { + "version": "1.0.0" + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "postcss": { + "version": "8.4.23", + "requires": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "proxy-from-env": { + "version": "1.1.0" + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-buffer": { + "version": "5.2.1" + }, + "sanitize-html": { + "version": "2.10.0", + "requires": { + "deepmerge": "^4.2.2", + "escape-string-regexp": "^4.0.0", + "htmlparser2": "^8.0.0", + "is-plain-object": "^5.0.0", + "parse-srcset": "^1.0.2", + "postcss": "^8.3.11" + } + }, + "semver": { + "version": "7.5.1", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "source-map-js": { + "version": "1.0.2" + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tr46": { + "version": "0.0.3" + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "universal-github-app-jwt": { + "version": "1.1.1", + "requires": { + "@types/jsonwebtoken": "^9.0.0", + "jsonwebtoken": "^9.0.0" + } + }, + "universal-user-agent": { + "version": "6.0.0" + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "verify-github-webhook": { + "version": "1.0.1" + }, + "webidl-conversions": { + "version": "3.0.1" + }, + "whatwg-url": { + "version": "5.0.0", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2" + }, + "yallist": { + "version": "4.0.0" + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, + "@crowd/logging": { + "version": "file:../services/libs/logging", + "requires": { + "@crowd/common": "file:../common", + "@crowd/tracing": "file:../tracing", + "@types/bunyan": "^1.8.8", + "@types/bunyan-format": "^0.2.5", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "bunyan": "^1.8.15", + "bunyan-format": "^0.2.1", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + }, + "dependencies": { + "@crowd/common": { + "version": "file:../services/libs/common", + "requires": { + "@crowd/logging": "file:../logging", + "@crowd/types": "file:../types", "@types/node": "^18.16.3", "@typescript-eslint/eslint-plugin": "^5.59.2", "@typescript-eslint/parser": "^5.59.2", - "bunyan": "^1.8.15", - "bunyan-format": "^0.2.1", "eslint": "^8.39.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", "prettier": "^2.8.8", - "typescript": "^5.0.4" + "psl": "^1.9.0", + "typescript": "^5.0.4", + "uuid": "^9.0.0" }, "dependencies": { - "@crowd/common": { - "version": "file:../services/libs/common", + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true + }, + "@crowd/types": { + "version": "file:../services/libs/types", "requires": { - "@crowd/logging": "file:../logging", - "@crowd/types": "file:../types", "@types/node": "^18.16.3", "@typescript-eslint/eslint-plugin": "^5.59.2", "@typescript-eslint/parser": "^5.59.2", @@ -37488,9 +48556,7 @@ "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", "prettier": "^2.8.8", - "psl": "^1.9.0", - "typescript": "^5.0.4", - "uuid": "^9.0.0" + "typescript": "^5.0.4" }, "dependencies": { "@eslint-community/eslint-utils": { @@ -37565,7 +48631,7 @@ "dev": true }, "@types/node": { - "version": "18.16.7", + "version": "18.16.9", "dev": true }, "@types/semver": { @@ -37573,13 +48639,13 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.59.6", + "version": "5.59.5", "dev": true, "requires": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/type-utils": "5.59.6", - "@typescript-eslint/utils": "5.59.6", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/type-utils": "5.59.5", + "@typescript-eslint/utils": "5.59.5", "debug": "^4.3.4", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", @@ -37589,43 +48655,43 @@ } }, "@typescript-eslint/parser": { - "version": "5.59.6", + "version": "5.59.5", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.59.6", + "version": "5.59.5", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6" + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5" } }, "@typescript-eslint/type-utils": { - "version": "5.59.6", + "version": "5.59.5", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.59.6", - "@typescript-eslint/utils": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.5", + "@typescript-eslint/utils": "5.59.5", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.59.6", + "version": "5.59.5", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.59.6", + "version": "5.59.5", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -37634,38 +48700,24 @@ } }, "@typescript-eslint/utils": { - "version": "5.59.6", + "version": "5.59.5", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", "eslint-scope": "^5.1.1", "semver": "^7.3.7" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "dev": true - } } }, "@typescript-eslint/visitor-keys": { - "version": "5.59.6", + "version": "5.59.5", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/types": "5.59.5", "eslint-visitor-keys": "^3.3.0" } }, @@ -37835,6 +48887,20 @@ "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "eslint-config-prettier": { @@ -37850,11 +48916,11 @@ } }, "eslint-scope": { - "version": "7.2.0", + "version": "5.1.1", "dev": true, "requires": { "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { @@ -37875,6 +48941,12 @@ "dev": true, "requires": { "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "esrecurse": { @@ -37882,10 +48954,16 @@ "dev": true, "requires": { "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "estraverse": { - "version": "5.3.0", + "version": "4.3.0", "dev": true }, "esutils": { @@ -38335,9 +49413,6 @@ "punycode": "^2.1.0" } }, - "uuid": { - "version": "9.0.0" - }, "which": { "version": "2.0.2", "dev": true, @@ -38375,12 +49450,12 @@ "dev": true }, "@eslint/eslintrc": { - "version": "2.0.3", + "version": "2.1.0", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.5.2", + "espree": "^9.6.0", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -38390,11 +49465,11 @@ } }, "@eslint/js": { - "version": "8.40.0", + "version": "8.44.0", "dev": true }, "@humanwhocodes/config-array": { - "version": "0.11.8", + "version": "0.11.10", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -38430,26 +49505,12 @@ "fastq": "^1.6.0" } }, - "@types/bunyan": { - "version": "1.8.8", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/bunyan-format": { - "version": "0.2.5", - "dev": true, - "requires": { - "@types/node": "*" - } - }, "@types/json-schema": { - "version": "7.0.11", + "version": "7.0.12", "dev": true }, "@types/node": { - "version": "18.16.8", + "version": "18.16.19", "dev": true }, "@types/semver": { @@ -38457,15 +49518,15 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/type-utils": "5.59.6", - "@typescript-eslint/utils": "5.59.6", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", "semver": "^7.3.7", @@ -38473,43 +49534,43 @@ } }, "@typescript-eslint/parser": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" } }, "@typescript-eslint/type-utils": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.59.6", - "@typescript-eslint/utils": "5.59.6", + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.59.6", + "version": "5.62.0", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -38518,43 +49579,29 @@ } }, "@typescript-eslint/utils": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "eslint-scope": "^5.1.1", "semver": "^7.3.7" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "dev": true - } } }, "@typescript-eslint/visitor-keys": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" } }, "acorn": { - "version": "8.8.2", + "version": "8.10.0", "dev": true }, "acorn-jsx": { @@ -38583,12 +49630,6 @@ "color-convert": "^2.0.1" } }, - "ansicolors": { - "version": "0.2.1" - }, - "ansistyles": { - "version": "0.1.3" - }, "argparse": { "version": "2.0.1", "dev": true @@ -38599,11 +49640,11 @@ }, "balanced-match": { "version": "1.0.2", - "devOptional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", - "devOptional": true, + "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -38616,23 +49657,6 @@ "fill-range": "^7.0.1" } }, - "bunyan": { - "version": "1.8.15", - "requires": { - "dtrace-provider": "~0.8", - "moment": "^2.19.3", - "mv": "~2", - "safe-json-stringify": "~1" - } - }, - "bunyan-format": { - "version": "0.2.1", - "requires": { - "ansicolors": "~0.2.1", - "ansistyles": "~0.1.1", - "xtend": "~2.1.1" - } - }, "callsites": { "version": "3.1.0", "dev": true @@ -38658,7 +49682,7 @@ }, "concat-map": { "version": "0.0.1", - "devOptional": true + "dev": true }, "cross-spawn": { "version": "7.0.3", @@ -38694,26 +49718,19 @@ "esutils": "^2.0.2" } }, - "dtrace-provider": { - "version": "0.8.8", - "optional": true, - "requires": { - "nan": "^2.14.0" - } - }, "escape-string-regexp": { "version": "4.0.0", "dev": true }, "eslint": { - "version": "8.40.0", + "version": "8.45.0", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.40.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", + "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -38724,7 +49741,7 @@ "escape-string-regexp": "^4.0.0", "eslint-scope": "^7.2.0", "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", + "espree": "^9.6.0", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -38732,23 +49749,34 @@ "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "eslint-config-prettier": { @@ -38764,11 +49792,11 @@ } }, "eslint-scope": { - "version": "7.2.0", + "version": "5.1.1", "dev": true, "requires": { "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { @@ -38776,10 +49804,10 @@ "dev": true }, "espree": { - "version": "9.5.2", + "version": "9.6.1", "dev": true, "requires": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.4.1" } @@ -38789,6 +49817,12 @@ "dev": true, "requires": { "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "esrecurse": { @@ -38796,10 +49830,16 @@ "dev": true, "requires": { "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "estraverse": { - "version": "5.3.0", + "version": "4.3.0", "dev": true }, "esutils": { @@ -38811,11 +49851,11 @@ "dev": true }, "fast-diff": { - "version": "1.2.0", + "version": "1.3.0", "dev": true }, "fast-glob": { - "version": "3.2.12", + "version": "3.3.0", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -38925,8 +49965,8 @@ "slash": "^3.0.0" } }, - "grapheme-splitter": { - "version": "1.0.4", + "graphemer": { + "version": "1.4.0", "dev": true }, "has-flag": { @@ -38951,7 +49991,7 @@ }, "inflight": { "version": "1.0.6", - "devOptional": true, + "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -38959,7 +49999,7 @@ }, "inherits": { "version": "2.0.4", - "devOptional": true + "dev": true }, "is-extglob": { "version": "2.1.1", @@ -38984,10 +50024,6 @@ "version": "2.0.0", "dev": true }, - "js-sdsl": { - "version": "4.4.0", - "dev": true - }, "js-yaml": { "version": "4.1.0", "dev": true, @@ -39043,63 +50079,15 @@ }, "minimatch": { "version": "3.1.2", - "devOptional": true, + "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, - "minimist": { - "version": "1.2.8", - "optional": true - }, - "mkdirp": { - "version": "0.5.6", - "optional": true, - "requires": { - "minimist": "^1.2.6" - } - }, - "moment": { - "version": "2.29.4", - "optional": true - }, "ms": { "version": "2.1.2", "dev": true }, - "mv": { - "version": "2.1.1", - "optional": true, - "requires": { - "mkdirp": "~0.5.1", - "ncp": "~2.0.0", - "rimraf": "~2.4.0" - }, - "dependencies": { - "glob": { - "version": "6.0.4", - "optional": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "rimraf": { - "version": "2.4.5", - "optional": true, - "requires": { - "glob": "^6.0.1" - } - } - } - }, - "nan": { - "version": "2.17.0", - "optional": true - }, "natural-compare": { "version": "1.4.0", "dev": true @@ -39108,30 +50096,23 @@ "version": "1.4.0", "dev": true }, - "ncp": { - "version": "2.0.0", - "optional": true - }, - "object-keys": { - "version": "0.4.0" - }, "once": { "version": "1.4.0", - "devOptional": true, + "dev": true, "requires": { "wrappy": "1" } }, "optionator": { - "version": "0.9.1", + "version": "0.9.3", "dev": true, "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" } }, "p-limit": { @@ -39161,7 +50142,7 @@ }, "path-is-absolute": { "version": "1.0.1", - "devOptional": true + "dev": true }, "path-key": { "version": "3.1.1", @@ -39220,12 +50201,8 @@ "queue-microtask": "^1.2.2" } }, - "safe-json-stringify": { - "version": "1.2.0", - "optional": true - }, "semver": { - "version": "7.5.1", + "version": "7.5.4", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -39298,7 +50275,7 @@ "dev": true }, "typescript": { - "version": "5.0.4", + "version": "5.1.6", "dev": true }, "uri-js": { @@ -39308,1320 +50285,6961 @@ "punycode": "^2.1.0" } }, + "uuid": { + "version": "9.0.0" + }, "which": { "version": "2.0.2", "dev": true, "requires": { - "isexe": "^2.0.0" - } - }, - "word-wrap": { - "version": "1.2.3", - "dev": true - }, - "wrappy": { - "version": "1.0.2", - "devOptional": true - }, - "xtend": { - "version": "2.1.2", - "requires": { - "object-keys": "~0.4.0" + "isexe": "^2.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/bunyan": { + "version": "1.8.8", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/bunyan-format": { + "version": "0.2.5", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.8", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.6", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/type-utils": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.6", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.6", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "ansicolors": { + "version": "0.2.1" + }, + "ansistyles": { + "version": "0.1.3" + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "devOptional": true + }, + "brace-expansion": { + "version": "1.1.11", + "devOptional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "bunyan": { + "version": "1.8.15", + "requires": { + "dtrace-provider": "~0.8", + "moment": "^2.19.3", + "mv": "~2", + "safe-json-stringify": "~1" + } + }, + "bunyan-format": { + "version": "0.2.1", + "requires": { + "ansicolors": "~0.2.1", + "ansistyles": "~0.1.1", + "xtend": "~2.1.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "devOptional": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dtrace-provider": { + "version": "0.8.8", + "optional": true, + "requires": { + "nan": "^2.14.0" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" } - }, - "yallist": { - "version": "4.0.0", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "dev": true } } }, - "@crowd/types": { - "version": "file:../services/libs/types", + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "devOptional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "devOptional": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "devOptional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "optional": true + }, + "mkdirp": { + "version": "0.5.6", + "optional": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "moment": { + "version": "2.29.4", + "optional": true + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "mv": { + "version": "2.1.1", + "optional": true, "requires": { - "@types/node": "^18.16.3", - "@typescript-eslint/eslint-plugin": "^5.59.2", - "@typescript-eslint/parser": "^5.59.2", - "eslint": "^8.39.0", - "eslint-config-prettier": "^8.8.0", - "eslint-plugin-prettier": "^4.2.1", - "prettier": "^2.8.8", - "typescript": "^5.0.4" + "mkdirp": "~0.5.1", + "ncp": "~2.0.0", + "rimraf": "~2.4.0" }, "dependencies": { - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.5.1", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.0.3", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.2", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - } - }, - "@eslint/js": { - "version": "8.40.0", - "dev": true - }, - "@humanwhocodes/config-array": { - "version": "0.11.8", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "dev": true - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@types/json-schema": { - "version": "7.0.11", - "dev": true - }, - "@types/node": { - "version": "18.16.9", - "dev": true - }, - "@types/semver": { - "version": "7.5.0", - "dev": true - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.59.5", - "dev": true, - "requires": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.5", - "@typescript-eslint/type-utils": "5.59.5", - "@typescript-eslint/utils": "5.59.5", - "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/parser": { - "version": "5.59.5", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.59.5", - "@typescript-eslint/types": "5.59.5", - "@typescript-eslint/typescript-estree": "5.59.5", - "debug": "^4.3.4" - } - }, - "@typescript-eslint/scope-manager": { - "version": "5.59.5", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.5", - "@typescript-eslint/visitor-keys": "5.59.5" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.59.5", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "5.59.5", - "@typescript-eslint/utils": "5.59.5", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.59.5", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.59.5", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.5", - "@typescript-eslint/visitor-keys": "5.59.5", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/utils": { - "version": "5.59.5", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.5", - "@typescript-eslint/types": "5.59.5", - "@typescript-eslint/typescript-estree": "5.59.5", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.59.5", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.5", - "eslint-visitor-keys": "^3.3.0" - } - }, - "acorn": { - "version": "8.8.2", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "dev": true, - "requires": {} - }, - "ajv": { - "version": "6.12.6", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.1", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "2.0.1", - "dev": true - }, - "array-union": { - "version": "2.1.0", - "dev": true - }, - "balanced-match": { - "version": "1.0.2", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "callsites": { - "version": "3.1.0", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "debug": { - "version": "4.3.4", - "dev": true, + "glob": { + "version": "6.0.4", + "optional": true, "requires": { - "ms": "2.1.2" + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, - "deep-is": { - "version": "0.1.4", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "dev": true, + "rimraf": { + "version": "2.4.5", + "optional": true, "requires": { - "path-type": "^4.0.0" + "glob": "^6.0.1" } - }, - "doctrine": { - "version": "3.0.0", - "dev": true, + } + } + }, + "nan": { + "version": "2.17.0", + "optional": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "ncp": { + "version": "2.0.0", + "optional": true + }, + "object-keys": { + "version": "0.4.0" + }, + "once": { + "version": "1.4.0", + "devOptional": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "devOptional": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-json-stringify": { + "version": "1.2.0", + "optional": true + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "devOptional": true + }, + "xtend": { + "version": "2.1.2", + "requires": { + "object-keys": "~0.4.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, + "@crowd/opensearch": { + "version": "file:../services/libs/opensearch", + "requires": { + "@crowd/database": "file:../database", + "@crowd/logging": "file:../logging", + "@crowd/redis": "file:../redis", + "@crowd/types": "file:../types", + "@opensearch-project/opensearch": "^1.2.0", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "axios": "^1.6.0", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + }, + "dependencies": { + "@crowd/database": { + "version": "file:../services/libs/database", + "requires": { + "@crowd/common": "file:../common", + "@crowd/logging": "file:../logging", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "pg-promise": "^11.4.3", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + }, + "dependencies": { + "@crowd/common": { + "version": "file:../services/libs/common", "requires": { - "esutils": "^2.0.2" + "@crowd/logging": "file:../logging", + "@crowd/types": "file:../types", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "psl": "^1.9.0", + "typescript": "^5.0.4", + "uuid": "^9.0.0" + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true + }, + "@crowd/logging": { + "version": "file:../services/libs/logging", + "requires": { + "@crowd/common": "file:../common", + "@crowd/tracing": "file:../tracing", + "@types/bunyan": "^1.8.8", + "@types/bunyan-format": "^0.2.5", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "bunyan": "^1.8.15", + "bunyan-format": "^0.2.1", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + }, + "dependencies": { + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/bunyan": { + "version": "1.8.8", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/bunyan-format": { + "version": "0.2.5", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.8", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.6", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/type-utils": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.6", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.6", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "ansicolors": { + "version": "0.2.1" + }, + "ansistyles": { + "version": "0.1.3" + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "devOptional": true + }, + "brace-expansion": { + "version": "1.1.11", + "devOptional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "bunyan": { + "version": "1.8.15", + "requires": { + "dtrace-provider": "~0.8", + "moment": "^2.19.3", + "mv": "~2", + "safe-json-stringify": "~1" + } + }, + "bunyan-format": { + "version": "0.2.1", + "requires": { + "ansicolors": "~0.2.1", + "ansistyles": "~0.1.1", + "xtend": "~2.1.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "devOptional": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dtrace-provider": { + "version": "0.8.8", + "optional": true, + "requires": { + "nan": "^2.14.0" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "devOptional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "devOptional": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "devOptional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "optional": true + }, + "mkdirp": { + "version": "0.5.6", + "optional": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "moment": { + "version": "2.29.4", + "optional": true + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "mv": { + "version": "2.1.1", + "optional": true, + "requires": { + "mkdirp": "~0.5.1", + "ncp": "~2.0.0", + "rimraf": "~2.4.0" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "optional": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "rimraf": { + "version": "2.4.5", + "optional": true, + "requires": { + "glob": "^6.0.1" + } + } + } + }, + "nan": { + "version": "2.17.0", + "optional": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "ncp": { + "version": "2.0.0", + "optional": true + }, + "object-keys": { + "version": "0.4.0" + }, + "once": { + "version": "1.4.0", + "devOptional": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "devOptional": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-json-stringify": { + "version": "1.2.0", + "optional": true + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "devOptional": true + }, + "xtend": { + "version": "2.1.2", + "requires": { + "object-keys": "~0.4.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, + "@crowd/types": { + "version": "file:../services/libs/types", + "requires": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + }, + "dependencies": { + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.9", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/type-utils": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.5", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "once": { + "version": "1.4.0", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.1.0", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.44.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.10", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/json-schema": { + "version": "7.0.12", + "dev": true + }, + "@types/node": { + "version": "18.16.19", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.10.0", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.45.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.6.0", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.6.1", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.3.0", + "dev": true + }, + "fast-glob": { + "version": "3.3.0", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "graphemer": { + "version": "1.4.0", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "once": { + "version": "1.4.0", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.3", + "dev": true, + "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.4", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.1.6", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "uuid": { + "version": "9.0.0" + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } } }, - "escape-string-regexp": { - "version": "4.0.0", - "dev": true - }, - "eslint": { - "version": "8.40.0", - "dev": true, + "@crowd/logging": { + "version": "file:../services/libs/logging", "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.40.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" + "@crowd/common": "file:../common", + "@crowd/tracing": "file:../tracing", + "@types/bunyan": "^1.8.8", + "@types/bunyan-format": "^0.2.5", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "bunyan": "^1.8.15", + "bunyan-format": "^0.2.1", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" }, "dependencies": { + "@crowd/common": { + "version": "file:../services/libs/common", + "requires": { + "@crowd/logging": "file:../logging", + "@crowd/types": "file:../types", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "psl": "^1.9.0", + "typescript": "^5.0.4", + "uuid": "^9.0.0" + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true + }, + "@crowd/types": { + "version": "file:../services/libs/types", + "requires": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + }, + "dependencies": { + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.9", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/type-utils": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.5", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "once": { + "version": "1.4.0", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.1.0", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.44.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.10", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/json-schema": { + "version": "7.0.12", + "dev": true + }, + "@types/node": { + "version": "18.16.19", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.10.0", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.45.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.6.0", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.6.1", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.3.0", + "dev": true + }, + "fast-glob": { + "version": "3.3.0", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "graphemer": { + "version": "1.4.0", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "once": { + "version": "1.4.0", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.3", + "dev": true, + "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.4", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.1.6", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "uuid": { + "version": "9.0.0" + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/bunyan": { + "version": "1.8.8", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/bunyan-format": { + "version": "0.2.5", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.8", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.6", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/type-utils": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.6", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.6", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "ansicolors": { + "version": "0.2.1" + }, + "ansistyles": { + "version": "0.1.3" + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "devOptional": true + }, + "brace-expansion": { + "version": "1.1.11", + "devOptional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "bunyan": { + "version": "1.8.15", + "requires": { + "dtrace-provider": "~0.8", + "moment": "^2.19.3", + "mv": "~2", + "safe-json-stringify": "~1" + } + }, + "bunyan-format": { + "version": "0.2.1", + "requires": { + "ansicolors": "~0.2.1", + "ansistyles": "~0.1.1", + "xtend": "~2.1.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "devOptional": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dtrace-provider": { + "version": "0.8.8", + "optional": true, + "requires": { + "nan": "^2.14.0" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, "eslint-scope": { "version": "7.2.0", "dev": true, "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "devOptional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "devOptional": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "devOptional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "optional": true + }, + "mkdirp": { + "version": "0.5.6", + "optional": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "moment": { + "version": "2.29.4", + "optional": true + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "mv": { + "version": "2.1.1", + "optional": true, + "requires": { + "mkdirp": "~0.5.1", + "ncp": "~2.0.0", + "rimraf": "~2.4.0" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "optional": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "rimraf": { + "version": "2.4.5", + "optional": true, + "requires": { + "glob": "^6.0.1" + } + } + } + }, + "nan": { + "version": "2.17.0", + "optional": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "ncp": { + "version": "2.0.0", + "optional": true + }, + "object-keys": { + "version": "0.4.0" + }, + "once": { + "version": "1.4.0", + "devOptional": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "devOptional": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-json-stringify": { + "version": "1.2.0", + "optional": true + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" } }, - "estraverse": { - "version": "5.3.0", + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", "dev": true - } - } - }, - "eslint-config-prettier": { - "version": "8.8.0", - "dev": true, - "requires": {} - }, - "eslint-plugin-prettier": { - "version": "4.2.1", - "dev": true, - "requires": { - "prettier-linter-helpers": "^1.0.0" - } - }, - "eslint-scope": { - "version": "5.1.1", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-visitor-keys": { - "version": "3.4.1", - "dev": true - }, - "espree": { - "version": "9.5.2", - "dev": true, - "requires": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esquery": { - "version": "1.5.0", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", + }, + "wrappy": { + "version": "1.0.2", + "devOptional": true + }, + "xtend": { + "version": "2.1.2", + "requires": { + "object-keys": "~0.4.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", "dev": true } } }, - "esrecurse": { - "version": "4.3.0", + "@eslint-community/eslint-utils": { + "version": "4.4.0", "dev": true, "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "dev": true - } + "eslint-visitor-keys": "^3.3.0" } }, - "estraverse": { - "version": "4.3.0", + "@eslint-community/regexpp": { + "version": "4.5.1", "dev": true }, - "esutils": { + "@eslint/eslintrc": { "version": "2.0.3", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "dev": true - }, - "fast-diff": { - "version": "1.2.0", - "dev": true - }, - "fast-glob": { - "version": "3.2.12", "dev": true, "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" } }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", + "@eslint/js": { + "version": "8.40.0", "dev": true }, - "fastq": { - "version": "1.15.0", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "5.0.0", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", + "@humanwhocodes/config-array": { + "version": "0.11.8", "dev": true, "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" } }, - "flatted": { - "version": "3.2.7", + "@humanwhocodes/module-importer": { + "version": "1.0.1", "dev": true }, - "fs.realpath": { - "version": "1.0.0", + "@humanwhocodes/object-schema": { + "version": "1.2.1", "dev": true }, - "glob": { - "version": "7.2.3", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "6.0.2", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globals": { - "version": "13.20.0", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "globby": { - "version": "11.1.0", + "@nodelib/fs.scandir": { + "version": "2.1.5", "dev": true, "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" } }, - "grapheme-splitter": { - "version": "1.0.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "ignore": { - "version": "5.2.4", + "@nodelib/fs.stat": { + "version": "2.0.5", "dev": true }, - "import-fresh": { - "version": "3.3.0", + "@nodelib/fs.walk": { + "version": "1.2.8", "dev": true, "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" } }, - "imurmurhash": { - "version": "0.1.4", + "@types/json-schema": { + "version": "7.0.11", "dev": true }, - "inflight": { - "version": "1.0.6", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", + "@types/node": { + "version": "18.16.7", "dev": true }, - "is-extglob": { - "version": "2.1.1", + "@types/semver": { + "version": "7.5.0", "dev": true }, - "is-glob": { - "version": "4.0.3", + "@typescript-eslint/eslint-plugin": { + "version": "5.59.6", "dev": true, "requires": { - "is-extglob": "^2.1.1" + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/type-utils": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" } }, - "is-number": { - "version": "7.0.0", - "dev": true - }, - "is-path-inside": { - "version": "3.0.3", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "dev": true - }, - "js-sdsl": { - "version": "4.4.0", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", + "@typescript-eslint/parser": { + "version": "5.59.6", "dev": true, "requires": { - "argparse": "^2.0.1" + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "debug": "^4.3.4" } }, - "json-schema-traverse": { - "version": "0.4.1", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true - }, - "levn": { - "version": "0.4.1", + "@typescript-eslint/scope-manager": { + "version": "5.59.6", "dev": true, "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6" } }, - "locate-path": { - "version": "6.0.0", + "@typescript-eslint/type-utils": { + "version": "5.59.6", "dev": true, "requires": { - "p-locate": "^5.0.0" + "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "tsutils": "^3.21.0" } }, - "lodash.merge": { - "version": "4.6.2", + "@typescript-eslint/types": { + "version": "5.59.6", "dev": true }, - "lru-cache": { - "version": "6.0.0", + "@typescript-eslint/typescript-estree": { + "version": "5.59.6", "dev": true, "requires": { - "yallist": "^4.0.0" + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" } }, - "merge2": { - "version": "1.4.1", - "dev": true - }, - "micromatch": { - "version": "4.0.5", + "@typescript-eslint/utils": { + "version": "5.59.6", "dev": true, "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + } } }, - "minimatch": { - "version": "3.1.2", + "@typescript-eslint/visitor-keys": { + "version": "5.59.6", "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "@typescript-eslint/types": "5.59.6", + "eslint-visitor-keys": "^3.3.0" } }, - "ms": { - "version": "2.1.2", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "dev": true - }, - "natural-compare-lite": { - "version": "1.4.0", + "acorn": { + "version": "8.8.2", "dev": true }, - "once": { - "version": "1.4.0", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "optionator": { - "version": "0.9.1", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "p-limit": { - "version": "3.1.0", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", + "acorn-jsx": { + "version": "5.3.2", "dev": true, - "requires": { - "p-limit": "^3.0.2" - } + "requires": {} }, - "parent-module": { - "version": "1.0.1", + "ajv": { + "version": "6.12.6", "dev": true, "requires": { - "callsites": "^3.0.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "path-exists": { - "version": "4.0.0", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "dev": true - }, - "prelude-ls": { - "version": "1.2.1", - "dev": true - }, - "prettier": { - "version": "2.8.8", + "ansi-regex": { + "version": "5.0.1", "dev": true }, - "prettier-linter-helpers": { - "version": "1.0.0", + "ansi-styles": { + "version": "4.3.0", "dev": true, "requires": { - "fast-diff": "^1.1.2" + "color-convert": "^2.0.1" } }, - "punycode": { - "version": "2.3.0", + "argparse": { + "version": "2.0.1", "dev": true }, - "queue-microtask": { - "version": "1.2.3", + "array-union": { + "version": "2.1.0", "dev": true }, - "resolve-from": { - "version": "4.0.0", - "dev": true + "assert-options": { + "version": "0.8.1" }, - "reusify": { - "version": "1.0.4", + "balanced-match": { + "version": "1.0.2", "dev": true }, - "rimraf": { - "version": "3.0.2", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "run-parallel": { - "version": "1.2.0", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "semver": { - "version": "7.5.1", + "brace-expansion": { + "version": "1.1.11", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "shebang-command": { - "version": "2.0.0", + "braces": { + "version": "3.0.2", "dev": true, "requires": { - "shebang-regex": "^3.0.0" + "fill-range": "^7.0.1" } }, - "shebang-regex": { - "version": "3.0.0", - "dev": true + "buffer-writer": { + "version": "2.0.0" }, - "slash": { - "version": "3.0.0", + "callsites": { + "version": "3.1.0", "dev": true }, - "strip-ansi": { - "version": "6.0.1", + "chalk": { + "version": "4.1.2", "dev": true, "requires": { - "ansi-regex": "^5.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "strip-json-comments": { - "version": "3.1.1", - "dev": true - }, - "supports-color": { - "version": "7.2.0", + "color-convert": { + "version": "2.0.1", "dev": true, "requires": { - "has-flag": "^4.0.0" + "color-name": "~1.1.4" } }, - "text-table": { - "version": "0.2.0", + "color-name": { + "version": "1.1.4", "dev": true }, - "to-regex-range": { - "version": "5.0.1", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "tslib": { - "version": "1.14.1", + "concat-map": { + "version": "0.0.1", "dev": true }, - "tsutils": { - "version": "3.21.0", + "cross-spawn": { + "version": "7.0.3", "dev": true, "requires": { - "tslib": "^1.8.1" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, - "type-check": { - "version": "0.4.0", + "debug": { + "version": "4.3.4", "dev": true, "requires": { - "prelude-ls": "^1.2.1" + "ms": "2.1.2" } }, - "type-fest": { - "version": "0.20.2", - "dev": true - }, - "typescript": { - "version": "5.0.4", + "deep-is": { + "version": "0.1.4", "dev": true }, - "uri-js": { - "version": "4.4.1", + "dir-glob": { + "version": "3.0.1", "dev": true, "requires": { - "punycode": "^2.1.0" + "path-type": "^4.0.0" } }, - "which": { - "version": "2.0.2", + "doctrine": { + "version": "3.0.0", "dev": true, "requires": { - "isexe": "^2.0.0" + "esutils": "^2.0.2" } }, - "word-wrap": { - "version": "1.2.3", - "dev": true - }, - "wrappy": { - "version": "1.0.2", - "dev": true - }, - "yallist": { + "escape-string-regexp": { "version": "4.0.0", "dev": true }, - "yocto-queue": { - "version": "0.1.0", - "dev": true - } - } - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.5.1", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.0.3", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.2", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - } - }, - "@eslint/js": { - "version": "8.40.0", - "dev": true - }, - "@humanwhocodes/config-array": { - "version": "0.11.8", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "dev": true - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@types/he": { - "version": "1.2.0", - "dev": true - }, - "@types/json-schema": { - "version": "7.0.11", - "dev": true - }, - "@types/node": { - "version": "18.16.9", - "dev": true - }, - "@types/sanitize-html": { - "version": "2.9.0", - "dev": true, - "requires": { - "htmlparser2": "^8.0.0" - } - }, - "@types/semver": { - "version": "7.5.0", - "dev": true - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.59.5", - "dev": true, - "requires": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.5", - "@typescript-eslint/type-utils": "5.59.5", - "@typescript-eslint/utils": "5.59.5", - "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/parser": { - "version": "5.59.5", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.59.5", - "@typescript-eslint/types": "5.59.5", - "@typescript-eslint/typescript-estree": "5.59.5", - "debug": "^4.3.4" - } - }, - "@typescript-eslint/scope-manager": { - "version": "5.59.5", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.5", - "@typescript-eslint/visitor-keys": "5.59.5" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.59.5", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "5.59.5", - "@typescript-eslint/utils": "5.59.5", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.59.5", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.59.5", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.5", - "@typescript-eslint/visitor-keys": "5.59.5", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/utils": { - "version": "5.59.5", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.5", - "@typescript-eslint/types": "5.59.5", - "@typescript-eslint/typescript-estree": "5.59.5", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.59.5", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.5", - "eslint-visitor-keys": "^3.3.0" - } - }, - "acorn": { - "version": "8.8.2", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "dev": true, - "requires": {} - }, - "ajv": { - "version": "6.12.6", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.1", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "2.0.1", - "dev": true - }, - "array-union": { - "version": "2.1.0", - "dev": true - }, - "asynckit": { - "version": "0.4.0" - }, - "axios": { - "version": "1.4.0", - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "callsites": { - "version": "3.1.0", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "debug": { - "version": "4.3.4", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "deep-is": { - "version": "0.1.4", - "dev": true - }, - "deepmerge": { - "version": "4.3.1" - }, - "delayed-stream": { - "version": "1.0.0" - }, - "dir-glob": { - "version": "3.0.1", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-serializer": { - "version": "2.0.0", - "requires": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - } - }, - "domelementtype": { - "version": "2.3.0" - }, - "domhandler": { - "version": "5.0.3", - "requires": { - "domelementtype": "^2.3.0" - } - }, - "domutils": { - "version": "3.1.0", - "requires": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - } - }, - "entities": { - "version": "4.5.0" - }, - "escape-string-regexp": { - "version": "4.0.0" - }, - "eslint": { - "version": "8.40.0", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.40.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "dependencies": { + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, "eslint-scope": { "version": "7.2.0", "dev": true, @@ -40630,2515 +57248,10746 @@ "estraverse": "^5.2.0" } }, - "estraverse": { - "version": "5.3.0", + "eslint-visitor-keys": { + "version": "3.4.1", "dev": true - } - } - }, - "eslint-config-prettier": { - "version": "8.8.0", - "dev": true, - "requires": {} - }, - "eslint-plugin-prettier": { - "version": "4.2.1", - "dev": true, - "requires": { - "prettier-linter-helpers": "^1.0.0" - } - }, - "eslint-scope": { - "version": "5.1.1", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-visitor-keys": { - "version": "3.4.1", - "dev": true - }, - "espree": { - "version": "9.5.2", - "dev": true, - "requires": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esquery": { - "version": "1.5.0", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, "estraverse": { "version": "5.3.0", "dev": true - } - } - }, - "esrecurse": { - "version": "4.3.0", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", + }, + "esutils": { + "version": "2.0.3", "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "dev": true - }, - "fast-diff": { - "version": "1.2.0", - "dev": true - }, - "fast-glob": { - "version": "3.2.12", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "glob-parent": { - "version": "5.1.2", + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "once": { + "version": "1.4.0", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "packet-reader": { + "version": "1.0.0" + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "pg": { + "version": "8.10.0", + "requires": { + "buffer-writer": "2.0.0", + "packet-reader": "1.0.0", + "pg-connection-string": "^2.5.0", + "pg-pool": "^3.6.0", + "pg-protocol": "^1.6.0", + "pg-types": "^2.1.0", + "pgpass": "1.x" + } + }, + "pg-connection-string": { + "version": "2.5.0" + }, + "pg-int8": { + "version": "1.0.1" + }, + "pg-minify": { + "version": "1.6.3" + }, + "pg-pool": { + "version": "3.6.0", + "requires": {} + }, + "pg-promise": { + "version": "11.4.3", + "requires": { + "assert-options": "0.8.1", + "pg": "8.10.0", + "pg-minify": "1.6.3", + "spex": "3.3.0" + } + }, + "pg-protocol": { + "version": "1.6.0" + }, + "pg-types": { + "version": "2.2.0", + "requires": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + } + }, + "pgpass": { + "version": "1.0.5", + "requires": { + "split2": "^4.1.0" + } + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "postgres-array": { + "version": "2.0.0" + }, + "postgres-bytea": { + "version": "1.0.0" + }, + "postgres-date": { + "version": "1.0.7" + }, + "postgres-interval": { + "version": "1.2.0", + "requires": { + "xtend": "^4.0.0" + } + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", "dev": true, "requires": { - "is-glob": "^4.0.1" + "glob": "^7.1.3" } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "dev": true - }, - "fastq": { - "version": "1.15.0", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "5.0.0", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7", - "dev": true - }, - "follow-redirects": { - "version": "1.15.2" - }, - "form-data": { - "version": "4.0.0", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "fs.realpath": { - "version": "1.0.0", - "dev": true - }, - "glob": { - "version": "7.2.3", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "6.0.2", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globals": { - "version": "13.20.0", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "globby": { - "version": "11.1.0", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "grapheme-splitter": { - "version": "1.0.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "he": { - "version": "1.2.0" - }, - "htmlparser2": { - "version": "8.0.2", - "requires": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" - } - }, - "ignore": { - "version": "5.2.4", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "dev": true - }, - "is-path-inside": { - "version": "3.0.3", - "dev": true - }, - "is-plain-object": { - "version": "5.0.0" - }, - "isexe": { - "version": "2.0.0", - "dev": true - }, - "js-sdsl": { - "version": "4.4.0", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true - }, - "levn": { - "version": "0.4.1", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "locate-path": { - "version": "6.0.0", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash.merge": { - "version": "4.6.2" - }, - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "merge2": { - "version": "1.4.1", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime-db": { - "version": "1.52.0" - }, - "mime-types": { - "version": "2.1.35", - "requires": { - "mime-db": "1.52.0" - } - }, - "minimatch": { - "version": "3.1.2", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "ms": { - "version": "2.1.2", - "dev": true - }, - "nanoid": { - "version": "3.3.6" - }, - "natural-compare": { - "version": "1.4.0", - "dev": true - }, - "natural-compare-lite": { - "version": "1.4.0", - "dev": true - }, - "once": { - "version": "1.4.0", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "optionator": { - "version": "0.9.1", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "p-limit": { - "version": "3.1.0", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "parent-module": { - "version": "1.0.1", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-srcset": { - "version": "1.0.2" - }, - "path-exists": { - "version": "4.0.0", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "dev": true - }, - "picocolors": { - "version": "1.0.0" - }, - "picomatch": { - "version": "2.3.1", - "dev": true - }, - "postcss": { - "version": "8.4.23", - "requires": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "prelude-ls": { - "version": "1.2.1", - "dev": true - }, - "prettier": { - "version": "2.8.8", - "dev": true - }, - "prettier-linter-helpers": { - "version": "1.0.0", - "dev": true, - "requires": { - "fast-diff": "^1.1.2" - } - }, - "proxy-from-env": { - "version": "1.1.0" - }, - "punycode": { - "version": "2.3.0", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "dev": true - }, - "resolve-from": { - "version": "4.0.0", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "run-parallel": { - "version": "1.2.0", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "sanitize-html": { - "version": "2.10.0", - "requires": { - "deepmerge": "^4.2.2", - "escape-string-regexp": "^4.0.0", - "htmlparser2": "^8.0.0", - "is-plain-object": "^5.0.0", - "parse-srcset": "^1.0.2", - "postcss": "^8.3.11" - } - }, - "semver": { - "version": "7.5.1", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "shebang-command": { - "version": "2.0.0", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "dev": true - }, - "slash": { - "version": "3.0.0", - "dev": true - }, - "source-map-js": { - "version": "1.0.2" - }, - "strip-ansi": { - "version": "6.0.1", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "text-table": { - "version": "0.2.0", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "tslib": { - "version": "1.14.1", - "dev": true - }, - "tsutils": { - "version": "3.21.0", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, - "type-check": { - "version": "0.4.0", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-fest": { - "version": "0.20.2", - "dev": true - }, - "typescript": { - "version": "5.0.4", - "dev": true - }, - "uri-js": { - "version": "4.4.1", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "which": { - "version": "2.0.2", - "dev": true, - "requires": { - "isexe": "^2.0.0" + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "spex": { + "version": "3.3.0" + }, + "split2": { + "version": "4.2.0" + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "xtend": { + "version": "4.0.2" + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } } }, - "word-wrap": { - "version": "1.2.3", - "dev": true - }, - "wrappy": { - "version": "1.0.2", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "dev": true - } - } - }, - "@crowd/logging": { - "version": "file:../services/libs/logging", - "requires": { - "@crowd/common": "file:../common", - "@crowd/tracing": "file:../tracing", - "@types/bunyan": "^1.8.8", - "@types/bunyan-format": "^0.2.5", - "@types/node": "^18.16.3", - "@typescript-eslint/eslint-plugin": "^5.59.2", - "@typescript-eslint/parser": "^5.59.2", - "bunyan": "^1.8.15", - "bunyan-format": "^0.2.1", - "eslint": "^8.39.0", - "eslint-config-prettier": "^8.8.0", - "eslint-plugin-prettier": "^4.2.1", - "prettier": "^2.8.8", - "typescript": "^5.0.4" - }, - "dependencies": { - "@crowd/common": { - "version": "file:../services/libs/common", + "@crowd/logging": { + "version": "file:../services/libs/logging", "requires": { - "@crowd/logging": "file:../logging", - "@crowd/types": "file:../types", + "@crowd/common": "file:../common", + "@crowd/tracing": "file:../tracing", + "@types/bunyan": "^1.8.8", + "@types/bunyan-format": "^0.2.5", "@types/node": "^18.16.3", "@typescript-eslint/eslint-plugin": "^5.59.2", "@typescript-eslint/parser": "^5.59.2", + "bunyan": "^1.8.15", + "bunyan-format": "^0.2.1", "eslint": "^8.39.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", "prettier": "^2.8.8", - "psl": "^1.9.0", - "typescript": "^5.0.4", - "uuid": "^9.0.0" + "typescript": "^5.0.4" }, "dependencies": { + "@crowd/common": { + "version": "file:../services/libs/common", + "requires": { + "@crowd/logging": "file:../logging", + "@crowd/types": "file:../types", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "psl": "^1.9.0", + "typescript": "^5.0.4", + "uuid": "^9.0.0" + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true + }, + "@crowd/types": { + "version": "file:../services/libs/types", + "requires": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + }, + "dependencies": { + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.9", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/type-utils": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.5", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "once": { + "version": "1.4.0", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.1.0", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.44.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.10", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/json-schema": { + "version": "7.0.12", + "dev": true + }, + "@types/node": { + "version": "18.16.19", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.10.0", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.45.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.6.0", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.6.1", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.3.0", + "dev": true + }, + "fast-glob": { + "version": "3.3.0", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "graphemer": { + "version": "1.4.0", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "once": { + "version": "1.4.0", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.3", + "dev": true, + "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.4", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.1.6", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "uuid": { + "version": "9.0.0" + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, "@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, "requires": { - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/bunyan": { + "version": "1.8.8", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/bunyan-format": { + "version": "0.2.5", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.8", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.6", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/type-utils": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.6", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.6", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "ansicolors": { + "version": "0.2.1" + }, + "ansistyles": { + "version": "0.1.3" + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "devOptional": true + }, + "brace-expansion": { + "version": "1.1.11", + "devOptional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "bunyan": { + "version": "1.8.15", + "requires": { + "dtrace-provider": "~0.8", + "moment": "^2.19.3", + "mv": "~2", + "safe-json-stringify": "~1" + } + }, + "bunyan-format": { + "version": "0.2.1", + "requires": { + "ansicolors": "~0.2.1", + "ansistyles": "~0.1.1", + "xtend": "~2.1.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "devOptional": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dtrace-provider": { + "version": "0.8.8", + "optional": true, + "requires": { + "nan": "^2.14.0" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "devOptional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "devOptional": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" } }, - "@eslint-community/regexpp": { - "version": "4.5.1", + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", "dev": true }, - "@eslint/eslintrc": { - "version": "2.0.3", + "lru-cache": { + "version": "6.0.0", "dev": true, "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.2", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "yallist": "^4.0.0" } }, - "@eslint/js": { - "version": "8.40.0", + "merge2": { + "version": "1.4.1", "dev": true }, - "@humanwhocodes/config-array": { - "version": "0.11.8", + "micromatch": { + "version": "4.0.5", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, - "@humanwhocodes/module-importer": { + "minimatch": { + "version": "3.1.2", + "devOptional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "optional": true + }, + "mkdirp": { + "version": "0.5.6", + "optional": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "moment": { + "version": "2.29.4", + "optional": true + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "mv": { + "version": "2.1.1", + "optional": true, + "requires": { + "mkdirp": "~0.5.1", + "ncp": "~2.0.0", + "rimraf": "~2.4.0" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "optional": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "rimraf": { + "version": "2.4.5", + "optional": true, + "requires": { + "glob": "^6.0.1" + } + } + } + }, + "nan": { + "version": "2.17.0", + "optional": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "ncp": { + "version": "2.0.0", + "optional": true + }, + "object-keys": { + "version": "0.4.0" + }, + "once": { + "version": "1.4.0", + "devOptional": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { "version": "1.0.1", + "devOptional": true + }, + "path-key": { + "version": "3.1.1", "dev": true }, - "@humanwhocodes/object-schema": { + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { "version": "1.2.1", "dev": true }, - "@nodelib/fs.scandir": { - "version": "2.1.5", + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "fast-diff": "^1.1.2" } }, - "@nodelib/fs.stat": { - "version": "2.0.5", + "punycode": { + "version": "2.3.0", "dev": true }, - "@nodelib/fs.walk": { - "version": "1.2.8", + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "glob": "^7.1.3" } }, - "@types/json-schema": { - "version": "7.0.11", + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-json-stringify": { + "version": "1.2.0", + "optional": true + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", "dev": true }, - "@types/node": { - "version": "18.16.7", + "slash": { + "version": "3.0.0", "dev": true }, - "@types/semver": { - "version": "7.5.0", + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", "dev": true }, - "@typescript-eslint/eslint-plugin": { - "version": "5.59.6", + "supports-color": { + "version": "7.2.0", "dev": true, "requires": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/type-utils": "5.59.6", - "@typescript-eslint/utils": "5.59.6", - "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "has-flag": "^4.0.0" } }, - "@typescript-eslint/parser": { - "version": "5.59.6", + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", - "debug": "^4.3.4" + "is-number": "^7.0.0" } }, - "@typescript-eslint/scope-manager": { - "version": "5.59.6", + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6" + "tslib": "^1.8.1" } }, - "@typescript-eslint/type-utils": { - "version": "5.59.6", + "type-check": { + "version": "0.4.0", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.59.6", - "@typescript-eslint/utils": "5.59.6", - "debug": "^4.3.4", - "tsutils": "^3.21.0" + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "devOptional": true + }, + "xtend": { + "version": "2.1.2", + "requires": { + "object-keys": "~0.4.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, + "@crowd/redis": { + "version": "file:../services/libs/redis", + "requires": { + "@crowd/common": "file:../common", + "@crowd/logging": "file:../logging", + "@crowd/types": "file:../types", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "redis": "^4.6.6", + "typescript": "^5.0.4" + }, + "dependencies": { + "@crowd/common": { + "version": "file:../services/libs/common", + "requires": { + "@crowd/logging": "file:../logging", + "@crowd/types": "file:../types", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "psl": "^1.9.0", + "typescript": "^5.0.4", + "uuid": "^9.0.0" + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true + }, + "@crowd/logging": { + "version": "file:../services/libs/logging", + "requires": { + "@crowd/common": "file:../common", + "@crowd/tracing": "file:../tracing", + "@types/bunyan": "^1.8.8", + "@types/bunyan-format": "^0.2.5", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "bunyan": "^1.8.15", + "bunyan-format": "^0.2.1", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + }, + "dependencies": { + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/bunyan": { + "version": "1.8.8", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/bunyan-format": { + "version": "0.2.5", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.8", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.6", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/type-utils": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.6", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.6", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "ansicolors": { + "version": "0.2.1" + }, + "ansistyles": { + "version": "0.1.3" + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "devOptional": true + }, + "brace-expansion": { + "version": "1.1.11", + "devOptional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "bunyan": { + "version": "1.8.15", + "requires": { + "dtrace-provider": "~0.8", + "moment": "^2.19.3", + "mv": "~2", + "safe-json-stringify": "~1" + } + }, + "bunyan-format": { + "version": "0.2.1", + "requires": { + "ansicolors": "~0.2.1", + "ansistyles": "~0.1.1", + "xtend": "~2.1.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "devOptional": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dtrace-provider": { + "version": "0.8.8", + "optional": true, + "requires": { + "nan": "^2.14.0" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "devOptional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "devOptional": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "devOptional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "optional": true + }, + "mkdirp": { + "version": "0.5.6", + "optional": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "moment": { + "version": "2.29.4", + "optional": true + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "mv": { + "version": "2.1.1", + "optional": true, + "requires": { + "mkdirp": "~0.5.1", + "ncp": "~2.0.0", + "rimraf": "~2.4.0" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "optional": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "rimraf": { + "version": "2.4.5", + "optional": true, + "requires": { + "glob": "^6.0.1" + } + } + } + }, + "nan": { + "version": "2.17.0", + "optional": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "ncp": { + "version": "2.0.0", + "optional": true + }, + "object-keys": { + "version": "0.4.0" + }, + "once": { + "version": "1.4.0", + "devOptional": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "devOptional": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-json-stringify": { + "version": "1.2.0", + "optional": true + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "devOptional": true + }, + "xtend": { + "version": "2.1.2", + "requires": { + "object-keys": "~0.4.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, + "@crowd/types": { + "version": "file:../services/libs/types", + "requires": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + }, + "dependencies": { + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.9", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/type-utils": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.5", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "once": { + "version": "1.4.0", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.1.0", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.44.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.10", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/json-schema": { + "version": "7.0.12", + "dev": true + }, + "@types/node": { + "version": "18.16.19", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.10.0", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.45.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.6.0", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.6.1", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.3.0", + "dev": true + }, + "fast-glob": { + "version": "3.3.0", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "graphemer": { + "version": "1.4.0", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "once": { + "version": "1.4.0", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.3", + "dev": true, + "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.4", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.1.6", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "uuid": { + "version": "9.0.0" + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } } }, - "@typescript-eslint/types": { - "version": "5.59.6", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.59.6", - "dev": true, + "@crowd/logging": { + "version": "file:../services/libs/logging", "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "@crowd/common": "file:../common", + "@crowd/tracing": "file:../tracing", + "@types/bunyan": "^1.8.8", + "@types/bunyan-format": "^0.2.5", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "bunyan": "^1.8.15", + "bunyan-format": "^0.2.1", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + }, + "dependencies": { + "@crowd/common": { + "version": "file:../services/libs/common", + "requires": { + "@crowd/logging": "file:../logging", + "@crowd/types": "file:../types", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "psl": "^1.9.0", + "typescript": "^5.0.4", + "uuid": "^9.0.0" + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true + }, + "@crowd/types": { + "version": "file:../services/libs/types", + "requires": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + }, + "dependencies": { + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.9", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/type-utils": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.5", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "once": { + "version": "1.4.0", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.1.0", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.44.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.10", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/json-schema": { + "version": "7.0.12", + "dev": true + }, + "@types/node": { + "version": "18.16.19", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.10.0", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.45.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.6.0", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.6.1", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.3.0", + "dev": true + }, + "fast-glob": { + "version": "3.3.0", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "graphemer": { + "version": "1.4.0", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "once": { + "version": "1.4.0", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.3", + "dev": true, + "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.4", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.1.6", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "uuid": { + "version": "9.0.0" + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/bunyan": { + "version": "1.8.8", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/bunyan-format": { + "version": "0.2.5", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.8", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.6", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/type-utils": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.6", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.6", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "ansicolors": { + "version": "0.2.1" + }, + "ansistyles": { + "version": "0.1.3" + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "devOptional": true + }, + "brace-expansion": { + "version": "1.1.11", + "devOptional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "bunyan": { + "version": "1.8.15", + "requires": { + "dtrace-provider": "~0.8", + "moment": "^2.19.3", + "mv": "~2", + "safe-json-stringify": "~1" + } + }, + "bunyan-format": { + "version": "0.2.1", + "requires": { + "ansicolors": "~0.2.1", + "ansistyles": "~0.1.1", + "xtend": "~2.1.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "devOptional": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dtrace-provider": { + "version": "0.8.8", + "optional": true, + "requires": { + "nan": "^2.14.0" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "devOptional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "devOptional": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "devOptional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "optional": true + }, + "mkdirp": { + "version": "0.5.6", + "optional": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "moment": { + "version": "2.29.4", + "optional": true + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "mv": { + "version": "2.1.1", + "optional": true, + "requires": { + "mkdirp": "~0.5.1", + "ncp": "~2.0.0", + "rimraf": "~2.4.0" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "optional": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "rimraf": { + "version": "2.4.5", + "optional": true, + "requires": { + "glob": "^6.0.1" + } + } + } + }, + "nan": { + "version": "2.17.0", + "optional": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "ncp": { + "version": "2.0.0", + "optional": true + }, + "object-keys": { + "version": "0.4.0" + }, + "once": { + "version": "1.4.0", + "devOptional": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "devOptional": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-json-stringify": { + "version": "1.2.0", + "optional": true + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "devOptional": true + }, + "xtend": { + "version": "2.1.2", + "requires": { + "object-keys": "~0.4.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } } }, - "@typescript-eslint/utils": { - "version": "5.59.6", - "dev": true, + "@crowd/types": { + "version": "file:../services/libs/types", "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" }, "dependencies": { + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.9", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/type-utils": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.5", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, "eslint-scope": { "version": "5.1.1", "dev": true, "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "once": { + "version": "1.4.0", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" } }, - "estraverse": { - "version": "4.3.0", + "punycode": { + "version": "2.3.0", "dev": true - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.59.6", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.6", - "eslint-visitor-keys": "^3.3.0" - } - }, - "acorn": { - "version": "8.8.2", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "dev": true, - "requires": {} - }, - "ajv": { - "version": "6.12.6", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.1", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "2.0.1", - "dev": true - }, - "array-union": { - "version": "2.1.0", - "dev": true - }, - "balanced-match": { - "version": "1.0.2", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "callsites": { - "version": "3.1.0", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "debug": { - "version": "4.3.4", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "deep-is": { - "version": "0.1.4", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "escape-string-regexp": { - "version": "4.0.0", - "dev": true - }, - "eslint": { - "version": "8.40.0", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.40.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - } - }, - "eslint-config-prettier": { - "version": "8.8.0", - "dev": true, - "requires": {} - }, - "eslint-plugin-prettier": { - "version": "4.2.1", - "dev": true, - "requires": { - "prettier-linter-helpers": "^1.0.0" - } - }, - "eslint-scope": { - "version": "7.2.0", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.1", - "dev": true - }, - "espree": { - "version": "9.5.2", - "dev": true, - "requires": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esquery": { - "version": "1.5.0", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "dev": true - }, - "fast-diff": { - "version": "1.2.0", - "dev": true - }, - "fast-glob": { - "version": "3.2.12", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", "dev": true, "requires": { - "is-glob": "^4.0.1" + "glob": "^7.1.3" } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "dev": true - }, - "fastq": { - "version": "1.15.0", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "5.0.0", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "dev": true - }, - "glob": { - "version": "7.2.3", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "6.0.2", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globals": { - "version": "13.20.0", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "globby": { - "version": "11.1.0", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "grapheme-splitter": { - "version": "1.0.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "ignore": { - "version": "5.2.4", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } } }, - "is-number": { - "version": "7.0.0", - "dev": true - }, - "is-path-inside": { - "version": "3.0.3", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "dev": true - }, - "js-sdsl": { + "@eslint-community/eslint-utils": { "version": "4.4.0", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true - }, - "levn": { - "version": "0.4.1", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "locate-path": { - "version": "6.0.0", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash.merge": { - "version": "4.6.2", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", "dev": true, "requires": { - "yallist": "^4.0.0" + "eslint-visitor-keys": "^3.3.0" } }, - "merge2": { - "version": "1.4.1", + "@eslint-community/regexpp": { + "version": "4.5.1", "dev": true }, - "micromatch": { - "version": "4.0.5", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "minimatch": { - "version": "3.1.2", + "@eslint/eslintrc": { + "version": "2.0.3", "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" } }, - "ms": { - "version": "2.1.2", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "dev": true - }, - "natural-compare-lite": { - "version": "1.4.0", + "@eslint/js": { + "version": "8.40.0", "dev": true }, - "once": { - "version": "1.4.0", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "optionator": { - "version": "0.9.1", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "p-limit": { - "version": "3.1.0", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "parent-module": { - "version": "1.0.1", + "@humanwhocodes/config-array": { + "version": "0.11.8", "dev": true, "requires": { - "callsites": "^3.0.0" + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" } }, - "path-exists": { - "version": "4.0.0", - "dev": true - }, - "path-is-absolute": { + "@humanwhocodes/module-importer": { "version": "1.0.1", "dev": true }, - "path-key": { - "version": "3.1.1", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "dev": true - }, - "prelude-ls": { + "@humanwhocodes/object-schema": { "version": "1.2.1", "dev": true }, - "prettier": { - "version": "2.8.8", - "dev": true - }, - "prettier-linter-helpers": { - "version": "1.0.0", + "@nodelib/fs.scandir": { + "version": "2.1.5", "dev": true, "requires": { - "fast-diff": "^1.1.2" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" } }, - "punycode": { - "version": "2.3.0", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "dev": true - }, - "resolve-from": { - "version": "4.0.0", - "dev": true - }, - "reusify": { - "version": "1.0.4", + "@nodelib/fs.stat": { + "version": "2.0.5", "dev": true }, - "rimraf": { - "version": "3.0.2", + "@nodelib/fs.walk": { + "version": "1.2.8", "dev": true, "requires": { - "glob": "^7.1.3" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" } }, - "run-parallel": { + "@redis/bloom": { "version": "1.2.0", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } + "requires": {} }, - "semver": { - "version": "7.5.1", - "dev": true, + "@redis/client": { + "version": "1.5.7", "requires": { - "lru-cache": "^6.0.0" + "cluster-key-slot": "1.1.2", + "generic-pool": "3.9.0", + "yallist": "4.0.0" } }, - "shebang-command": { - "version": "2.0.0", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } + "@redis/graph": { + "version": "1.1.0", + "requires": {} }, - "shebang-regex": { - "version": "3.0.0", - "dev": true + "@redis/json": { + "version": "1.0.4", + "requires": {} }, - "slash": { - "version": "3.0.0", - "dev": true + "@redis/search": { + "version": "1.1.2", + "requires": {} }, - "strip-ansi": { - "version": "6.0.1", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } + "@redis/time-series": { + "version": "1.0.4", + "requires": {} }, - "strip-json-comments": { - "version": "3.1.1", + "@types/json-schema": { + "version": "7.0.11", "dev": true }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "text-table": { - "version": "0.2.0", + "@types/node": { + "version": "18.16.9", "dev": true }, - "to-regex-range": { - "version": "5.0.1", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "tslib": { - "version": "1.14.1", + "@types/semver": { + "version": "7.5.0", "dev": true }, - "tsutils": { - "version": "3.21.0", + "@typescript-eslint/eslint-plugin": { + "version": "5.59.6", "dev": true, "requires": { - "tslib": "^1.8.1" + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/type-utils": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" } }, - "type-check": { - "version": "0.4.0", + "@typescript-eslint/parser": { + "version": "5.59.6", "dev": true, "requires": { - "prelude-ls": "^1.2.1" + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "debug": "^4.3.4" } }, - "type-fest": { - "version": "0.20.2", - "dev": true - }, - "typescript": { - "version": "5.0.4", - "dev": true - }, - "uri-js": { - "version": "4.4.1", + "@typescript-eslint/scope-manager": { + "version": "5.59.6", "dev": true, "requires": { - "punycode": "^2.1.0" + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6" } }, - "uuid": { - "version": "9.0.0" - }, - "which": { - "version": "2.0.2", + "@typescript-eslint/type-utils": { + "version": "5.59.6", "dev": true, "requires": { - "isexe": "^2.0.0" - } - }, - "word-wrap": { - "version": "1.2.3", - "dev": true - }, - "wrappy": { - "version": "1.0.2", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "dev": true - } - } - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.5.1", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.0.3", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.2", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - } - }, - "@eslint/js": { - "version": "8.40.0", - "dev": true - }, - "@humanwhocodes/config-array": { - "version": "0.11.8", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "dev": true - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@types/bunyan": { - "version": "1.8.8", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/bunyan-format": { - "version": "0.2.5", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/json-schema": { - "version": "7.0.11", - "dev": true - }, - "@types/node": { - "version": "18.16.8", - "dev": true - }, - "@types/semver": { - "version": "7.5.0", - "dev": true - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.59.6", - "dev": true, - "requires": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/type-utils": "5.59.6", - "@typescript-eslint/utils": "5.59.6", - "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/parser": { - "version": "5.59.6", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", - "debug": "^4.3.4" - } - }, - "@typescript-eslint/scope-manager": { - "version": "5.59.6", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.59.6", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "5.59.6", - "@typescript-eslint/utils": "5.59.6", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.59.6", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.59.6", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/utils": { - "version": "5.59.6", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", + "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.6", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.6", "dev": true, "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" } }, - "estraverse": { + "@typescript-eslint/utils": { + "version": "5.59.6", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", "dev": true - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.59.6", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.6", - "eslint-visitor-keys": "^3.3.0" - } - }, - "acorn": { - "version": "8.8.2", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "dev": true, - "requires": {} - }, - "ajv": { - "version": "6.12.6", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.1", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "ansicolors": { - "version": "0.2.1" - }, - "ansistyles": { - "version": "0.1.3" - }, - "argparse": { - "version": "2.0.1", - "dev": true - }, - "array-union": { - "version": "2.1.0", - "dev": true - }, - "balanced-match": { - "version": "1.0.2", - "devOptional": true - }, - "brace-expansion": { - "version": "1.1.11", - "devOptional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "bunyan": { - "version": "1.8.15", - "requires": { - "dtrace-provider": "~0.8", - "moment": "^2.19.3", - "mv": "~2", - "safe-json-stringify": "~1" - } - }, - "bunyan-format": { - "version": "0.2.1", - "requires": { - "ansicolors": "~0.2.1", - "ansistyles": "~0.1.1", - "xtend": "~2.1.1" - } - }, - "callsites": { - "version": "3.1.0", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "devOptional": true - }, - "cross-spawn": { - "version": "7.0.3", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "debug": { - "version": "4.3.4", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "deep-is": { - "version": "0.1.4", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dtrace-provider": { - "version": "0.8.8", - "optional": true, - "requires": { - "nan": "^2.14.0" - } - }, - "escape-string-regexp": { - "version": "4.0.0", - "dev": true - }, - "eslint": { - "version": "8.40.0", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.40.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - } - }, - "eslint-config-prettier": { - "version": "8.8.0", - "dev": true, - "requires": {} - }, - "eslint-plugin-prettier": { - "version": "4.2.1", - "dev": true, - "requires": { - "prettier-linter-helpers": "^1.0.0" - } - }, - "eslint-scope": { - "version": "7.2.0", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.1", - "dev": true - }, - "espree": { - "version": "9.5.2", - "dev": true, - "requires": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esquery": { - "version": "1.5.0", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "dev": true - }, - "fast-diff": { - "version": "1.2.0", - "dev": true - }, - "fast-glob": { - "version": "3.2.12", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cluster-key-slot": { + "version": "1.1.2" + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", "dev": true, "requires": { - "is-glob": "^4.0.1" + "prettier-linter-helpers": "^1.0.0" } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "dev": true - }, - "fastq": { - "version": "1.15.0", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "5.0.0", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "dev": true - }, - "glob": { - "version": "7.2.3", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "6.0.2", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globals": { - "version": "13.20.0", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "globby": { - "version": "11.1.0", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "grapheme-splitter": { - "version": "1.0.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "ignore": { - "version": "5.2.4", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "devOptional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "devOptional": true - }, - "is-extglob": { - "version": "2.1.1", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "dev": true - }, - "is-path-inside": { - "version": "3.0.3", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "dev": true - }, - "js-sdsl": { - "version": "4.4.0", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true - }, - "levn": { - "version": "0.4.1", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "locate-path": { - "version": "6.0.0", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash.merge": { - "version": "4.6.2", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "merge2": { - "version": "1.4.1", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "minimatch": { - "version": "3.1.2", - "devOptional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.8", - "optional": true - }, - "mkdirp": { - "version": "0.5.6", - "optional": true, - "requires": { - "minimist": "^1.2.6" - } - }, - "moment": { - "version": "2.29.4", - "optional": true - }, - "ms": { - "version": "2.1.2", - "dev": true - }, - "mv": { - "version": "2.1.1", - "optional": true, - "requires": { - "mkdirp": "~0.5.1", - "ncp": "~2.0.0", - "rimraf": "~2.4.0" - }, - "dependencies": { + }, + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "generic-pool": { + "version": "3.9.0" + }, "glob": { - "version": "6.0.4", - "optional": true, + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "once": { + "version": "1.4.0", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "redis": { + "version": "4.6.6", + "requires": { + "@redis/bloom": "1.2.0", + "@redis/client": "1.5.7", + "@redis/graph": "1.1.0", + "@redis/json": "1.0.4", + "@redis/search": "1.1.2", + "@redis/time-series": "1.0.4" } }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, "rimraf": { - "version": "2.4.5", - "optional": true, + "version": "3.0.2", + "dev": true, "requires": { - "glob": "^6.0.1" + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "yallist": { + "version": "4.0.0" + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true } } }, - "nan": { - "version": "2.17.0", - "optional": true - }, - "natural-compare": { - "version": "1.4.0", - "dev": true - }, - "natural-compare-lite": { - "version": "1.4.0", - "dev": true - }, - "ncp": { - "version": "2.0.0", - "optional": true - }, - "object-keys": { - "version": "0.4.0" - }, - "once": { - "version": "1.4.0", - "devOptional": true, - "requires": { - "wrappy": "1" - } - }, - "optionator": { - "version": "0.9.1", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "p-limit": { - "version": "3.1.0", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "parent-module": { - "version": "1.0.1", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "path-exists": { - "version": "4.0.0", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "devOptional": true - }, - "path-key": { - "version": "3.1.1", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "dev": true - }, - "prelude-ls": { - "version": "1.2.1", - "dev": true - }, - "prettier": { - "version": "2.8.8", - "dev": true - }, - "prettier-linter-helpers": { - "version": "1.0.0", - "dev": true, - "requires": { - "fast-diff": "^1.1.2" - } - }, - "punycode": { - "version": "2.3.0", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "dev": true - }, - "resolve-from": { - "version": "4.0.0", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "run-parallel": { - "version": "1.2.0", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "safe-json-stringify": { - "version": "1.2.0", - "optional": true - }, - "semver": { - "version": "7.5.1", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "shebang-command": { - "version": "2.0.0", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "dev": true - }, - "slash": { - "version": "3.0.0", - "dev": true - }, - "strip-ansi": { - "version": "6.0.1", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "text-table": { - "version": "0.2.0", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "tslib": { - "version": "1.14.1", - "dev": true - }, - "tsutils": { - "version": "3.21.0", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, - "type-check": { - "version": "0.4.0", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-fest": { - "version": "0.20.2", - "dev": true - }, - "typescript": { - "version": "5.0.4", - "dev": true - }, - "uri-js": { - "version": "4.4.1", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "which": { - "version": "2.0.2", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "word-wrap": { - "version": "1.2.3", - "dev": true - }, - "wrappy": { - "version": "1.0.2", - "devOptional": true - }, - "xtend": { - "version": "2.1.2", - "requires": { - "object-keys": "~0.4.0" - } - }, - "yallist": { - "version": "4.0.0", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "dev": true - } - } - }, - "@crowd/opensearch": { - "version": "file:../services/libs/opensearch", - "requires": { - "@crowd/database": "file:../database", - "@crowd/logging": "file:../logging", - "@crowd/redis": "file:../redis", - "@crowd/types": "file:../types", - "@opensearch-project/opensearch": "^1.2.0", - "@types/node": "^18.16.3", - "@typescript-eslint/eslint-plugin": "^5.59.2", - "@typescript-eslint/parser": "^5.59.2", - "eslint": "^8.39.0", - "eslint-config-prettier": "^8.8.0", - "eslint-plugin-prettier": "^4.2.1", - "prettier": "^2.8.8", - "typescript": "^5.0.4" - }, - "dependencies": { "@crowd/types": { "version": "file:../services/libs/types", "requires": { @@ -44246,9 +69095,20 @@ "version": "2.1.0", "dev": true }, + "asynckit": { + "version": "0.4.0" + }, "aws4": { "version": "1.12.0" }, + "axios": { + "version": "1.6.0", + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, "balanced-match": { "version": "1.0.2", "dev": true @@ -44291,6 +69151,12 @@ "version": "1.1.4", "dev": true }, + "combined-stream": { + "version": "1.0.8", + "requires": { + "delayed-stream": "~1.0.0" + } + }, "concat-map": { "version": "0.0.1", "dev": true @@ -44314,6 +69180,9 @@ "version": "0.1.4", "dev": true }, + "delayed-stream": { + "version": "1.0.0" + }, "dir-glob": { "version": "3.0.1", "dev": true, @@ -44535,6 +69404,17 @@ "version": "3.2.7", "dev": true }, + "follow-redirects": { + "version": "1.15.3" + }, + "form-data": { + "version": "4.0.0", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, "fs.realpath": { "version": "1.0.0", "dev": true @@ -44696,6 +69576,15 @@ "picomatch": "^2.3.1" } }, + "mime-db": { + "version": "1.52.0" + }, + "mime-types": { + "version": "2.1.35", + "requires": { + "mime-db": "1.52.0" + } + }, "minimatch": { "version": "3.1.2", "dev": true, @@ -44789,6 +69678,9 @@ "fast-diff": "^1.1.2" } }, + "proxy-from-env": { + "version": "1.1.0" + }, "punycode": { "version": "2.3.0", "dev": true @@ -44965,6 +69857,1897 @@ "uuid": "^9.0.0" }, "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true + }, + "@crowd/logging": { + "version": "file:../services/libs/logging", + "requires": { + "@crowd/common": "file:../common", + "@crowd/tracing": "file:../tracing", + "@types/bunyan": "^1.8.8", + "@types/bunyan-format": "^0.2.5", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "bunyan": "^1.8.15", + "bunyan-format": "^0.2.1", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + }, + "dependencies": { + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/bunyan": { + "version": "1.8.8", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/bunyan-format": { + "version": "0.2.5", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.8", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.6", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/type-utils": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.6", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.6", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "ansicolors": { + "version": "0.2.1" + }, + "ansistyles": { + "version": "0.1.3" + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "devOptional": true + }, + "brace-expansion": { + "version": "1.1.11", + "devOptional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "bunyan": { + "version": "1.8.15", + "requires": { + "dtrace-provider": "~0.8", + "moment": "^2.19.3", + "mv": "~2", + "safe-json-stringify": "~1" + } + }, + "bunyan-format": { + "version": "0.2.1", + "requires": { + "ansicolors": "~0.2.1", + "ansistyles": "~0.1.1", + "xtend": "~2.1.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "devOptional": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dtrace-provider": { + "version": "0.8.8", + "optional": true, + "requires": { + "nan": "^2.14.0" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "devOptional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "devOptional": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "devOptional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "optional": true + }, + "mkdirp": { + "version": "0.5.6", + "optional": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "moment": { + "version": "2.29.4", + "optional": true + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "mv": { + "version": "2.1.1", + "optional": true, + "requires": { + "mkdirp": "~0.5.1", + "ncp": "~2.0.0", + "rimraf": "~2.4.0" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "optional": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "rimraf": { + "version": "2.4.5", + "optional": true, + "requires": { + "glob": "^6.0.1" + } + } + } + }, + "nan": { + "version": "2.17.0", + "optional": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "ncp": { + "version": "2.0.0", + "optional": true + }, + "object-keys": { + "version": "0.4.0" + }, + "once": { + "version": "1.4.0", + "devOptional": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "devOptional": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-json-stringify": { + "version": "1.2.0", + "optional": true + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "devOptional": true + }, + "xtend": { + "version": "2.1.2", + "requires": { + "object-keys": "~0.4.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, + "@crowd/types": { + "version": "file:../services/libs/types", + "requires": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + }, + "dependencies": { + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.9", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/type-utils": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.5", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "once": { + "version": "1.4.0", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, "@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, @@ -44977,12 +71760,12 @@ "dev": true }, "@eslint/eslintrc": { - "version": "2.0.3", + "version": "2.1.0", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.5.2", + "espree": "^9.6.0", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -44992,11 +71775,11 @@ } }, "@eslint/js": { - "version": "8.40.0", + "version": "8.44.0", "dev": true }, "@humanwhocodes/config-array": { - "version": "0.11.8", + "version": "0.11.10", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -45033,11 +71816,11 @@ } }, "@types/json-schema": { - "version": "7.0.11", + "version": "7.0.12", "dev": true }, "@types/node": { - "version": "18.16.7", + "version": "18.16.19", "dev": true }, "@types/semver": { @@ -45045,15 +71828,15 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/type-utils": "5.59.6", - "@typescript-eslint/utils": "5.59.6", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", "semver": "^7.3.7", @@ -45061,43 +71844,43 @@ } }, "@typescript-eslint/parser": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" } }, "@typescript-eslint/type-utils": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.59.6", - "@typescript-eslint/utils": "5.59.6", + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.59.6", + "version": "5.62.0", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -45106,43 +71889,29 @@ } }, "@typescript-eslint/utils": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "eslint-scope": "^5.1.1", "semver": "^7.3.7" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "dev": true - } } }, "@typescript-eslint/visitor-keys": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" } }, "acorn": { - "version": "8.8.2", + "version": "8.10.0", "dev": true }, "acorn-jsx": { @@ -45264,14 +72033,14 @@ "dev": true }, "eslint": { - "version": "8.40.0", + "version": "8.45.0", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.40.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", + "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -45282,7 +72051,7 @@ "escape-string-regexp": "^4.0.0", "eslint-scope": "^7.2.0", "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", + "espree": "^9.6.0", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -45290,23 +72059,34 @@ "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "eslint-config-prettier": { @@ -45322,11 +72102,11 @@ } }, "eslint-scope": { - "version": "7.2.0", + "version": "5.1.1", "dev": true, "requires": { "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { @@ -45334,10 +72114,10 @@ "dev": true }, "espree": { - "version": "9.5.2", + "version": "9.6.1", "dev": true, "requires": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.4.1" } @@ -45347,6 +72127,12 @@ "dev": true, "requires": { "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "esrecurse": { @@ -45354,10 +72140,16 @@ "dev": true, "requires": { "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "estraverse": { - "version": "5.3.0", + "version": "4.3.0", "dev": true }, "esutils": { @@ -45369,11 +72161,11 @@ "dev": true }, "fast-diff": { - "version": "1.2.0", + "version": "1.3.0", "dev": true }, "fast-glob": { - "version": "3.2.12", + "version": "3.3.0", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -45483,8 +72275,8 @@ "slash": "^3.0.0" } }, - "grapheme-splitter": { - "version": "1.0.4", + "graphemer": { + "version": "1.4.0", "dev": true }, "has-flag": { @@ -45542,10 +72334,6 @@ "version": "2.0.0", "dev": true }, - "js-sdsl": { - "version": "4.4.0", - "dev": true - }, "js-yaml": { "version": "4.1.0", "dev": true, @@ -45626,15 +72414,15 @@ } }, "optionator": { - "version": "0.9.1", + "version": "0.9.3", "dev": true, "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" } }, "p-limit": { @@ -45724,7 +72512,7 @@ } }, "semver": { - "version": "7.5.1", + "version": "7.5.4", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -45797,7 +72585,7 @@ "dev": true }, "typescript": { - "version": "5.0.4", + "version": "5.1.6", "dev": true }, "uri-js": { @@ -45817,10 +72605,6 @@ "isexe": "^2.0.0" } }, - "word-wrap": { - "version": "1.2.3", - "dev": true - }, "wrappy": { "version": "1.0.2", "dev": true @@ -45871,6 +72655,902 @@ "uuid": "^9.0.0" }, "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true + }, + "@crowd/types": { + "version": "file:../services/libs/types", + "requires": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + }, + "dependencies": { + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.9", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/type-utils": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.5", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "once": { + "version": "1.4.0", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, "@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, @@ -45883,12 +73563,12 @@ "dev": true }, "@eslint/eslintrc": { - "version": "2.0.3", + "version": "2.1.0", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.5.2", + "espree": "^9.6.0", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -45898,11 +73578,11 @@ } }, "@eslint/js": { - "version": "8.40.0", + "version": "8.44.0", "dev": true }, "@humanwhocodes/config-array": { - "version": "0.11.8", + "version": "0.11.10", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -45939,11 +73619,11 @@ } }, "@types/json-schema": { - "version": "7.0.11", + "version": "7.0.12", "dev": true }, "@types/node": { - "version": "18.16.7", + "version": "18.16.19", "dev": true }, "@types/semver": { @@ -45951,15 +73631,15 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/type-utils": "5.59.6", - "@typescript-eslint/utils": "5.59.6", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", "semver": "^7.3.7", @@ -45967,43 +73647,43 @@ } }, "@typescript-eslint/parser": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" } }, "@typescript-eslint/type-utils": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.59.6", - "@typescript-eslint/utils": "5.59.6", + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.59.6", + "version": "5.62.0", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -46012,43 +73692,29 @@ } }, "@typescript-eslint/utils": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "eslint-scope": "^5.1.1", "semver": "^7.3.7" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "dev": true - } } }, "@typescript-eslint/visitor-keys": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" } }, "acorn": { - "version": "8.8.2", + "version": "8.10.0", "dev": true }, "acorn-jsx": { @@ -46170,14 +73836,14 @@ "dev": true }, "eslint": { - "version": "8.40.0", + "version": "8.45.0", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.40.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", + "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -46188,7 +73854,7 @@ "escape-string-regexp": "^4.0.0", "eslint-scope": "^7.2.0", "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", + "espree": "^9.6.0", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -46196,23 +73862,34 @@ "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "eslint-config-prettier": { @@ -46228,11 +73905,11 @@ } }, "eslint-scope": { - "version": "7.2.0", + "version": "5.1.1", "dev": true, "requires": { "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { @@ -46240,10 +73917,10 @@ "dev": true }, "espree": { - "version": "9.5.2", + "version": "9.6.1", "dev": true, "requires": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.4.1" } @@ -46253,6 +73930,12 @@ "dev": true, "requires": { "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "esrecurse": { @@ -46260,10 +73943,16 @@ "dev": true, "requires": { "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "estraverse": { - "version": "5.3.0", + "version": "4.3.0", "dev": true }, "esutils": { @@ -46275,11 +73964,11 @@ "dev": true }, "fast-diff": { - "version": "1.2.0", + "version": "1.3.0", "dev": true }, "fast-glob": { - "version": "3.2.12", + "version": "3.3.0", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -46389,8 +74078,8 @@ "slash": "^3.0.0" } }, - "grapheme-splitter": { - "version": "1.0.4", + "graphemer": { + "version": "1.4.0", "dev": true }, "has-flag": { @@ -46448,10 +74137,6 @@ "version": "2.0.0", "dev": true }, - "js-sdsl": { - "version": "4.4.0", - "dev": true - }, "js-yaml": { "version": "4.1.0", "dev": true, @@ -46532,15 +74217,15 @@ } }, "optionator": { - "version": "0.9.1", + "version": "0.9.3", "dev": true, "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" } }, "p-limit": { @@ -46630,7 +74315,7 @@ } }, "semver": { - "version": "7.5.1", + "version": "7.5.4", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -46703,7 +74388,7 @@ "dev": true }, "typescript": { - "version": "5.0.4", + "version": "5.1.6", "dev": true }, "uri-js": { @@ -46723,10 +74408,6 @@ "isexe": "^2.0.0" } }, - "word-wrap": { - "version": "1.2.3", - "dev": true - }, "wrappy": { "version": "1.0.2", "dev": true @@ -50236,6 +77917,1897 @@ "uuid": "^9.0.0" }, "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true + }, + "@crowd/logging": { + "version": "file:../services/libs/logging", + "requires": { + "@crowd/common": "file:../common", + "@crowd/tracing": "file:../tracing", + "@types/bunyan": "^1.8.8", + "@types/bunyan-format": "^0.2.5", + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "bunyan": "^1.8.15", + "bunyan-format": "^0.2.1", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + }, + "dependencies": { + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/bunyan": { + "version": "1.8.8", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/bunyan-format": { + "version": "0.2.5", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.8", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.6", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/type-utils": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/utils": "5.59.6", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.6", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/visitor-keys": "5.59.6", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.6", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.6", + "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/typescript-estree": "5.59.6", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.6", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.6", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "ansicolors": { + "version": "0.2.1" + }, + "ansistyles": { + "version": "0.1.3" + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "devOptional": true + }, + "brace-expansion": { + "version": "1.1.11", + "devOptional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "bunyan": { + "version": "1.8.15", + "requires": { + "dtrace-provider": "~0.8", + "moment": "^2.19.3", + "mv": "~2", + "safe-json-stringify": "~1" + } + }, + "bunyan-format": { + "version": "0.2.1", + "requires": { + "ansicolors": "~0.2.1", + "ansistyles": "~0.1.1", + "xtend": "~2.1.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "devOptional": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dtrace-provider": { + "version": "0.8.8", + "optional": true, + "requires": { + "nan": "^2.14.0" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "devOptional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "devOptional": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "devOptional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "optional": true + }, + "mkdirp": { + "version": "0.5.6", + "optional": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "moment": { + "version": "2.29.4", + "optional": true + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "mv": { + "version": "2.1.1", + "optional": true, + "requires": { + "mkdirp": "~0.5.1", + "ncp": "~2.0.0", + "rimraf": "~2.4.0" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "optional": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "rimraf": { + "version": "2.4.5", + "optional": true, + "requires": { + "glob": "^6.0.1" + } + } + } + }, + "nan": { + "version": "2.17.0", + "optional": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "ncp": { + "version": "2.0.0", + "optional": true + }, + "object-keys": { + "version": "0.4.0" + }, + "once": { + "version": "1.4.0", + "devOptional": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "devOptional": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-json-stringify": { + "version": "1.2.0", + "optional": true + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "devOptional": true + }, + "xtend": { + "version": "2.1.2", + "requires": { + "object-keys": "~0.4.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, + "@crowd/types": { + "version": "file:../services/libs/types", + "requires": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + }, + "dependencies": { + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.9", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/type-utils": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.5", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "once": { + "version": "1.4.0", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, "@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, @@ -50248,12 +79820,12 @@ "dev": true }, "@eslint/eslintrc": { - "version": "2.0.3", + "version": "2.1.0", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.5.2", + "espree": "^9.6.0", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -50263,11 +79835,11 @@ } }, "@eslint/js": { - "version": "8.40.0", + "version": "8.44.0", "dev": true }, "@humanwhocodes/config-array": { - "version": "0.11.8", + "version": "0.11.10", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -50304,11 +79876,11 @@ } }, "@types/json-schema": { - "version": "7.0.11", + "version": "7.0.12", "dev": true }, "@types/node": { - "version": "18.16.7", + "version": "18.16.19", "dev": true }, "@types/semver": { @@ -50316,15 +79888,15 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/type-utils": "5.59.6", - "@typescript-eslint/utils": "5.59.6", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", "semver": "^7.3.7", @@ -50332,43 +79904,43 @@ } }, "@typescript-eslint/parser": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" } }, "@typescript-eslint/type-utils": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.59.6", - "@typescript-eslint/utils": "5.59.6", + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.59.6", + "version": "5.62.0", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -50377,43 +79949,29 @@ } }, "@typescript-eslint/utils": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "eslint-scope": "^5.1.1", "semver": "^7.3.7" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "dev": true - } } }, "@typescript-eslint/visitor-keys": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" } }, "acorn": { - "version": "8.8.2", + "version": "8.10.0", "dev": true }, "acorn-jsx": { @@ -50535,14 +80093,14 @@ "dev": true }, "eslint": { - "version": "8.40.0", + "version": "8.45.0", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.40.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", + "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -50553,7 +80111,7 @@ "escape-string-regexp": "^4.0.0", "eslint-scope": "^7.2.0", "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", + "espree": "^9.6.0", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -50561,23 +80119,34 @@ "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "eslint-config-prettier": { @@ -50593,11 +80162,11 @@ } }, "eslint-scope": { - "version": "7.2.0", + "version": "5.1.1", "dev": true, "requires": { "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { @@ -50605,10 +80174,10 @@ "dev": true }, "espree": { - "version": "9.5.2", + "version": "9.6.1", "dev": true, "requires": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.4.1" } @@ -50618,6 +80187,12 @@ "dev": true, "requires": { "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "esrecurse": { @@ -50625,10 +80200,16 @@ "dev": true, "requires": { "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "estraverse": { - "version": "5.3.0", + "version": "4.3.0", "dev": true }, "esutils": { @@ -50640,11 +80221,11 @@ "dev": true }, "fast-diff": { - "version": "1.2.0", + "version": "1.3.0", "dev": true }, "fast-glob": { - "version": "3.2.12", + "version": "3.3.0", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -50754,8 +80335,8 @@ "slash": "^3.0.0" } }, - "grapheme-splitter": { - "version": "1.0.4", + "graphemer": { + "version": "1.4.0", "dev": true }, "has-flag": { @@ -50813,10 +80394,6 @@ "version": "2.0.0", "dev": true }, - "js-sdsl": { - "version": "4.4.0", - "dev": true - }, "js-yaml": { "version": "4.1.0", "dev": true, @@ -50897,15 +80474,15 @@ } }, "optionator": { - "version": "0.9.1", + "version": "0.9.3", "dev": true, "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" } }, "p-limit": { @@ -50995,7 +80572,7 @@ } }, "semver": { - "version": "7.5.1", + "version": "7.5.4", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -51068,7 +80645,7 @@ "dev": true }, "typescript": { - "version": "5.0.4", + "version": "5.1.6", "dev": true }, "uri-js": { @@ -51088,10 +80665,6 @@ "isexe": "^2.0.0" } }, - "word-wrap": { - "version": "1.2.3", - "dev": true - }, "wrappy": { "version": "1.0.2", "dev": true @@ -51142,6 +80715,902 @@ "uuid": "^9.0.0" }, "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true + }, + "@crowd/types": { + "version": "file:../services/libs/types", + "requires": { + "@types/node": "^18.16.3", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.0.4" + }, + "dependencies": { + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "dev": true + }, + "@types/node": { + "version": "18.16.9", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/type-utils": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.5", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.5", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.5", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.5", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "eslint": { + "version": "8.40.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.0", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "once": { + "version": "1.4.0", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "dev": true + } + } + }, "@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, @@ -51154,12 +81623,12 @@ "dev": true }, "@eslint/eslintrc": { - "version": "2.0.3", + "version": "2.1.0", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.5.2", + "espree": "^9.6.0", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -51169,11 +81638,11 @@ } }, "@eslint/js": { - "version": "8.40.0", + "version": "8.44.0", "dev": true }, "@humanwhocodes/config-array": { - "version": "0.11.8", + "version": "0.11.10", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -51210,11 +81679,11 @@ } }, "@types/json-schema": { - "version": "7.0.11", + "version": "7.0.12", "dev": true }, "@types/node": { - "version": "18.16.7", + "version": "18.16.19", "dev": true }, "@types/semver": { @@ -51222,15 +81691,15 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/type-utils": "5.59.6", - "@typescript-eslint/utils": "5.59.6", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", "semver": "^7.3.7", @@ -51238,43 +81707,43 @@ } }, "@typescript-eslint/parser": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" } }, "@typescript-eslint/type-utils": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.59.6", - "@typescript-eslint/utils": "5.59.6", + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.59.6", + "version": "5.62.0", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -51283,43 +81752,29 @@ } }, "@typescript-eslint/utils": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "eslint-scope": "^5.1.1", "semver": "^7.3.7" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "dev": true - } } }, "@typescript-eslint/visitor-keys": { - "version": "5.59.6", + "version": "5.62.0", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", + "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" } }, "acorn": { - "version": "8.8.2", + "version": "8.10.0", "dev": true }, "acorn-jsx": { @@ -51441,14 +81896,14 @@ "dev": true }, "eslint": { - "version": "8.40.0", + "version": "8.45.0", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.40.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", + "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -51459,7 +81914,7 @@ "escape-string-regexp": "^4.0.0", "eslint-scope": "^7.2.0", "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", + "espree": "^9.6.0", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -51467,23 +81922,34 @@ "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "eslint-config-prettier": { @@ -51499,11 +81965,11 @@ } }, "eslint-scope": { - "version": "7.2.0", + "version": "5.1.1", "dev": true, "requires": { "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { @@ -51511,10 +81977,10 @@ "dev": true }, "espree": { - "version": "9.5.2", + "version": "9.6.1", "dev": true, "requires": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.4.1" } @@ -51524,6 +81990,12 @@ "dev": true, "requires": { "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "esrecurse": { @@ -51531,10 +82003,16 @@ "dev": true, "requires": { "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "estraverse": { - "version": "5.3.0", + "version": "4.3.0", "dev": true }, "esutils": { @@ -51546,11 +82024,11 @@ "dev": true }, "fast-diff": { - "version": "1.2.0", + "version": "1.3.0", "dev": true }, "fast-glob": { - "version": "3.2.12", + "version": "3.3.0", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -51660,8 +82138,8 @@ "slash": "^3.0.0" } }, - "grapheme-splitter": { - "version": "1.0.4", + "graphemer": { + "version": "1.4.0", "dev": true }, "has-flag": { @@ -51719,10 +82197,6 @@ "version": "2.0.0", "dev": true }, - "js-sdsl": { - "version": "4.4.0", - "dev": true - }, "js-yaml": { "version": "4.1.0", "dev": true, @@ -51803,15 +82277,15 @@ } }, "optionator": { - "version": "0.9.1", + "version": "0.9.3", "dev": true, "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" } }, "p-limit": { @@ -51901,7 +82375,7 @@ } }, "semver": { - "version": "7.5.1", + "version": "7.5.4", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -51974,7 +82448,7 @@ "dev": true }, "typescript": { - "version": "5.0.4", + "version": "5.1.6", "dev": true }, "uri-js": { @@ -51994,10 +82468,6 @@ "isexe": "^2.0.0" } }, - "word-wrap": { - "version": "1.2.3", - "dev": true - }, "wrappy": { "version": "1.0.2", "dev": true @@ -54770,6 +85240,7 @@ "@crowd/temporal": { "version": "file:../services/libs/temporal", "requires": { + "@crowd/logging": "file:../logging", "@temporalio/client": "~1.8.6", "@types/node": "^18.16.3", "@typescript-eslint/eslint-plugin": "^5.59.2", @@ -57346,8 +87817,6 @@ }, "@types/json5": { "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, "@types/jsonwebtoken": { @@ -59468,9 +89937,7 @@ }, "dependencies": { "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + "version": "2.0.6" }, "levn": { "version": "0.3.0", @@ -59719,8 +90186,6 @@ }, "json5": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -59728,14 +90193,10 @@ }, "strip-bom": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true }, "tsconfig-paths": { "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", "dev": true, "requires": { "@types/json5": "^0.0.29", @@ -60025,8 +90486,6 @@ }, "fast-levenshtein": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz", - "integrity": "sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==", "requires": { "fastest-levenshtein": "^1.0.7" } @@ -60044,9 +90503,7 @@ } }, "fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==" + "version": "1.0.16" }, "fastq": { "version": "1.15.0", @@ -62108,9 +92565,7 @@ "version": "1.1.0" }, "jose": { - "version": "4.14.4", - "resolved": "https://registry.npmjs.org/jose/-/jose-4.14.4.tgz", - "integrity": "sha512-j8GhLiKmUAh+dsFXlX1aJCbt5KMibuKb+d7j1JaOJG6s2UjX1PQlW+OKB/sD4a/5ZYF4RcmYmLSndOoU3Lt/3g==" + "version": "4.14.4" }, "js-beautify": { "version": "1.14.8", @@ -62280,8 +92735,6 @@ }, "jwks-rsa": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jwks-rsa/-/jwks-rsa-3.0.1.tgz", - "integrity": "sha512-UUOZ0CVReK1QVU3rbi9bC7N5/le8ziUj0A2ef1Q0M7OPD2KvjEYizptqIxGIo6fSLYDkqBrazILS18tYuRc8gw==", "requires": { "@types/express": "^4.17.14", "@types/jsonwebtoken": "^9.0.0", @@ -62342,9 +92795,7 @@ } }, "limiter": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", - "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==" + "version": "1.1.5" }, "lines-and-columns": { "version": "1.2.4", @@ -62384,9 +92835,7 @@ "version": "4.3.0" }, "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" + "version": "4.5.0" }, "lodash.debounce": { "version": "4.0.8", @@ -62489,8 +92938,6 @@ }, "lru-memoizer": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/lru-memoizer/-/lru-memoizer-2.2.0.tgz", - "integrity": "sha512-QfOZ6jNkxCcM/BkIPnFsqDhtrazLRsghi9mBwFAzol5GCvj4EkFT899Za3+QwikCg5sRX8JstioBDwOxEyzaNw==", "requires": { "lodash.clonedeep": "^4.5.0", "lru-cache": "~4.0.0" @@ -62498,17 +92945,13 @@ "dependencies": { "lru-cache": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz", - "integrity": "sha512-uQw9OqphAGiZhkuPlpFGmdTU2tEuhxTourM/19qGJrxBPHAr/f8BT1a0i/lOclESnGatdJG/UCkP9kZB/Lh1iw==", "requires": { "pseudomap": "^1.0.1", "yallist": "^2.0.0" } }, "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" + "version": "2.1.2" } } }, @@ -63236,8 +93679,6 @@ "dependencies": { "fast-levenshtein": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true } } @@ -63530,8 +93971,6 @@ }, "passport-github2": { "version": "0.1.12", - "resolved": "https://registry.npmjs.org/passport-github2/-/passport-github2-0.1.12.tgz", - "integrity": "sha512-3nPUCc7ttF/3HSP/k9sAXjz3SkGv5Nki84I05kSQPo01Jqq1NzJACgMblCK0fGcv9pKCG/KXU3AJRDGLqHLoIw==", "requires": { "passport-oauth2": "1.x.x" } @@ -65619,8 +96058,6 @@ }, "tsconfig-paths": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", - "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", "requires": { "json5": "^2.2.2", "minimist": "^1.2.6", diff --git a/backend/package.json b/backend/package.json index 2e6d017774..a178d0ee06 100644 --- a/backend/package.json +++ b/backend/package.json @@ -62,7 +62,6 @@ "@crowd/tracing": "file:../services/libs/tracing", "@crowd/types": "file:../services/libs/types", "@crowd/feature-flags": "file:../services/libs/feature-flags", - "@crowd/httpclients": "file:../services/libs/httpclients", "@cubejs-client/core": "^0.30.4", "@google-cloud/storage": "5.3.0", "@octokit/auth-app": "^3.6.1", diff --git a/backend/src/conf/index.ts b/backend/src/conf/index.ts index ecbd755b99..7a221ac940 100644 --- a/backend/src/conf/index.ts +++ b/backend/src/conf/index.ts @@ -1,6 +1,6 @@ import config from 'config' import { IRedisConfiguration } from '@crowd/redis' -import { ISearchSyncApiConfig } from '@crowd/httpclients' +import { ISearchSyncApiConfig } from '@crowd/opensearch' import { SQSConfiguration, S3Configuration, diff --git a/backend/src/utils/apiClients.ts b/backend/src/utils/apiClients.ts index ddc2cf4204..141f241241 100644 --- a/backend/src/utils/apiClients.ts +++ b/backend/src/utils/apiClients.ts @@ -1,4 +1,4 @@ -import { SearchSyncApiClient } from '@crowd/httpclients' +import { SearchSyncApiClient } from '@crowd/opensearch' import { SEARCH_SYNC_API_CONFIG } from '../conf' const config = SEARCH_SYNC_API_CONFIG diff --git a/scripts/services/api.yaml b/scripts/services/api.yaml index 2ac3d5082f..c310204b29 100644 --- a/scripts/services/api.yaml +++ b/scripts/services/api.yaml @@ -58,7 +58,6 @@ services: - ../../services/libs/sentiment/src:/usr/crowd/app/services/libs/sentiment/src - ../../services/libs/sqs/src:/usr/crowd/app/services/libs/sqs/src - ../../services/libs/types/src:/usr/crowd/app/services/libs/types/src - - ../../services/libs/httpclients/src:/usr/crowd/app/services/libs/httpclients/src - ../../backend/src:/usr/crowd/app/backend/src - /usr/crowd/app/backend/node_modules diff --git a/scripts/services/data-sink-worker.yaml b/scripts/services/data-sink-worker.yaml index e8b6dbd215..7194d0916a 100644 --- a/scripts/services/data-sink-worker.yaml +++ b/scripts/services/data-sink-worker.yaml @@ -54,7 +54,6 @@ services: - ../../services/libs/sentiment/src:/usr/crowd/app/services/libs/sentiment/src - ../../services/libs/sqs/src:/usr/crowd/app/services/libs/sqs/src - ../../services/libs/types/src:/usr/crowd/app/services/libs/types/src - - ../../services/libs/httpclients/src:/usr/crowd/app/services/libs/httpclients/src - ../../services/apps/data_sink_worker/src:/usr/crowd/app/services/apps/data_sink_worker/src networks: diff --git a/scripts/services/integration-run-worker.yaml b/scripts/services/integration-run-worker.yaml index 131bf03445..4e7cfb7031 100644 --- a/scripts/services/integration-run-worker.yaml +++ b/scripts/services/integration-run-worker.yaml @@ -54,7 +54,6 @@ services: - ../../services/libs/sentiment/src:/usr/crowd/app/services/libs/sentiment/src - ../../services/libs/sqs/src:/usr/crowd/app/services/libs/sqs/src - ../../services/libs/types/src:/usr/crowd/app/services/libs/types/src - - ../../services/libs/httpclients/src:/usr/crowd/app/services/libs/httpclients/src - ../../services/apps/integration_run_worker/src:/usr/crowd/app/services/apps/integration_run_worker/src networks: diff --git a/scripts/services/search-sync-api.yaml b/scripts/services/search-sync-api.yaml index 2c830f90a9..c74ce0467e 100644 --- a/scripts/services/search-sync-api.yaml +++ b/scripts/services/search-sync-api.yaml @@ -58,7 +58,6 @@ services: - ../../services/libs/sentiment/src:/usr/crowd/app/services/libs/sentiment/src - ../../services/libs/sqs/src:/usr/crowd/app/services/libs/sqs/src - ../../services/libs/types/src:/usr/crowd/app/services/libs/types/src - - ../../services/libs/httpclients/src:/usr/crowd/app/services/libs/httpclients/src - ../../services/apps/search_sync_api/src:/usr/crowd/app/services/apps/search_sync_api/src networks: diff --git a/services/apps/data_sink_worker/package-lock.json b/services/apps/data_sink_worker/package-lock.json index 86553c0a54..c6edb9fc08 100644 --- a/services/apps/data_sink_worker/package-lock.json +++ b/services/apps/data_sink_worker/package-lock.json @@ -120,6 +120,7 @@ } }, "../../libs/feature-flags": { + "name": "@crowd/feature-flags", "version": "1.0.0", "dependencies": { "@crowd/common": "file:../common", @@ -150,6 +151,8 @@ "@octokit/graphql": "^5.0.6", "axios": "^1.4.0", "he": "^1.2.0", + "lodash.clonedeep": "^4.5.0", + "lodash.merge": "^4.6.2", "sanitize-html": "^2.10.0", "verify-github-webhook": "^1.0.1" }, @@ -251,8 +254,10 @@ } }, "../../libs/temporal": { + "name": "@crowd/temporal", "version": "1.0.0", "dependencies": { + "@crowd/logging": "file:../logging", "@temporalio/client": "~1.8.6" }, "devDependencies": { @@ -2601,6 +2606,8 @@ "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", "he": "^1.2.0", + "lodash.clonedeep": "^4.5.0", + "lodash.merge": "^4.6.2", "prettier": "^2.8.8", "sanitize-html": "^2.10.0", "typescript": "^5.0.4", @@ -2682,6 +2689,7 @@ "@crowd/temporal": { "version": "file:../../libs/temporal", "requires": { + "@crowd/logging": "file:../logging", "@temporalio/client": "~1.8.6", "@types/node": "^18.16.3", "@typescript-eslint/eslint-plugin": "^5.59.2", diff --git a/services/apps/data_sink_worker/src/bin/map-member-to-org.ts b/services/apps/data_sink_worker/src/bin/map-member-to-org.ts index 98db329e7a..e1440cfdc3 100644 --- a/services/apps/data_sink_worker/src/bin/map-member-to-org.ts +++ b/services/apps/data_sink_worker/src/bin/map-member-to-org.ts @@ -15,7 +15,7 @@ import DataSinkRepository from '../repo/dataSink.repo' import { OrganizationService } from '../service/organization.service' import { getUnleashClient } from '@crowd/feature-flags' import { Client as TemporalClient, getTemporalClient } from '@crowd/temporal' -import { SearchSyncApiClient } from '../../../../libs/httpclients/src/searchSyncApiClient' +import { SearchSyncApiClient } from '../../../../libs/opensearch/src/apiClient' const tracer = getServiceTracer() const log = getServiceLogger() diff --git a/services/apps/data_sink_worker/src/bin/map-tenant-members-to-org.ts b/services/apps/data_sink_worker/src/bin/map-tenant-members-to-org.ts index bf82003a45..e7e2421e79 100644 --- a/services/apps/data_sink_worker/src/bin/map-tenant-members-to-org.ts +++ b/services/apps/data_sink_worker/src/bin/map-tenant-members-to-org.ts @@ -15,7 +15,7 @@ import MemberService from '../service/member.service' import { OrganizationService } from '../service/organization.service' import { getUnleashClient } from '@crowd/feature-flags' import { Client as TemporalClient, getTemporalClient } from '@crowd/temporal' -import { SearchSyncApiClient } from '@crowd/httpclients' +import { SearchSyncApiClient } from '@crowd/opensearch' const tracer = getServiceTracer() const log = getServiceLogger() diff --git a/services/apps/data_sink_worker/src/bin/process-results.ts b/services/apps/data_sink_worker/src/bin/process-results.ts index 4636f3e4ec..7ff86f29b5 100644 --- a/services/apps/data_sink_worker/src/bin/process-results.ts +++ b/services/apps/data_sink_worker/src/bin/process-results.ts @@ -17,7 +17,7 @@ import { NodejsWorkerEmitter, getSqsClient } from '@crowd/sqs' import { initializeSentimentAnalysis } from '@crowd/sentiment' import { getUnleashClient } from '@crowd/feature-flags' import { Client as TemporalClient, getTemporalClient } from '@crowd/temporal' -import { SearchSyncApiClient } from '@crowd/httpclients' +import { SearchSyncApiClient } from '@crowd/opensearch' const tracer = getServiceTracer() const log = getServiceLogger() diff --git a/services/apps/data_sink_worker/src/conf/index.ts b/services/apps/data_sink_worker/src/conf/index.ts index 269b2447fa..5dcd380ab9 100644 --- a/services/apps/data_sink_worker/src/conf/index.ts +++ b/services/apps/data_sink_worker/src/conf/index.ts @@ -6,7 +6,7 @@ import { ISentimentClientConfig } from '@crowd/sentiment' import { ISqsClientConfig } from '@crowd/sqs' import { ITemporalConfig } from '@crowd/temporal' import config from 'config' -import { ISearchSyncApiConfig } from '@crowd/httpclients' +import { ISearchSyncApiConfig } from '@crowd/opensearch' export interface ISlackAlertingConfig { url: string } diff --git a/services/apps/data_sink_worker/src/jobs/processOldResults.ts b/services/apps/data_sink_worker/src/jobs/processOldResults.ts index e058b3354d..919d64dd50 100644 --- a/services/apps/data_sink_worker/src/jobs/processOldResults.ts +++ b/services/apps/data_sink_worker/src/jobs/processOldResults.ts @@ -2,17 +2,16 @@ import DataSinkRepository from '../repo/dataSink.repo' import DataSinkService from '../service/dataSink.service' import { DbConnection, DbStore } from '@crowd/database' import { Unleash } from '@crowd/feature-flags' -import { SearchSyncApiClient } from '@crowd/httpclients' import { Logger } from '@crowd/logging' import { RedisClient, processWithLock } from '@crowd/redis' -import { NodejsWorkerEmitter } from '@crowd/sqs' +import { NodejsWorkerEmitter, SearchSyncWorkerEmitter } from '@crowd/sqs' import { Client as TemporalClient } from '@crowd/temporal' export const processOldResultsJob = async ( dbConn: DbConnection, redis: RedisClient, nodejsWorkerEmitter: NodejsWorkerEmitter, - searchSyncApi: SearchSyncApiClient, + searchSyncWorkerEmitter: SearchSyncWorkerEmitter, unleash: Unleash | undefined, temporal: TemporalClient, log: Logger, @@ -22,10 +21,10 @@ export const processOldResultsJob = async ( const service = new DataSinkService( store, nodejsWorkerEmitter, + searchSyncWorkerEmitter, redis, unleash, temporal, - searchSyncApi, log, ) diff --git a/services/apps/data_sink_worker/src/main.ts b/services/apps/data_sink_worker/src/main.ts index c43886e1b7..b7c931af38 100644 --- a/services/apps/data_sink_worker/src/main.ts +++ b/services/apps/data_sink_worker/src/main.ts @@ -1,7 +1,7 @@ import { getDbConnection } from '@crowd/database' import { getServiceTracer } from '@crowd/tracing' import { getServiceLogger } from '@crowd/logging' -import { NodejsWorkerEmitter, getSqsClient } from '@crowd/sqs' +import { NodejsWorkerEmitter, getSqsClient, SearchSyncWorkerEmitter } from '@crowd/sqs' import { DB_CONFIG, SENTIMENT_CONFIG, @@ -9,7 +9,6 @@ import { REDIS_CONFIG, UNLEASH_CONFIG, TEMPORAL_CONFIG, - SEARCH_SYNC_API_CONFIG, } from './conf' import { WorkerQueueReceiver } from './queue' import { initializeSentimentAnalysis } from '@crowd/sentiment' @@ -17,7 +16,6 @@ import { getRedisClient } from '@crowd/redis' import { processOldResultsJob } from './jobs/processOldResults' import { getUnleashClient } from '@crowd/feature-flags' import { Client as TemporalClient, getTemporalClient } from '@crowd/temporal' -import { SearchSyncApiClient } from '@crowd/httpclients' const tracer = getServiceTracer() const log = getServiceLogger() @@ -48,7 +46,7 @@ setImmediate(async () => { const nodejsWorkerEmitter = new NodejsWorkerEmitter(sqsClient, tracer, log) - const searchSyncApi = new SearchSyncApiClient(SEARCH_SYNC_API_CONFIG()) + const searchSyncWorkerEmitter = new SearchSyncWorkerEmitter(sqsClient, tracer, log) const queue = new WorkerQueueReceiver( sqsClient, @@ -57,7 +55,7 @@ setImmediate(async () => { redisClient, unleash, temporal, - searchSyncApi, + searchSyncWorkerEmitter, tracer, log, MAX_CONCURRENT_PROCESSING, @@ -65,6 +63,7 @@ setImmediate(async () => { try { await nodejsWorkerEmitter.init() + await searchSyncWorkerEmitter.init() let processing = false setInterval(async () => { @@ -75,7 +74,7 @@ setImmediate(async () => { dbConnection, redisClient, nodejsWorkerEmitter, - searchSyncApi, + searchSyncWorkerEmitter, unleash, temporal, log, diff --git a/services/apps/data_sink_worker/src/queue/index.ts b/services/apps/data_sink_worker/src/queue/index.ts index e48abe6294..794e0acad1 100644 --- a/services/apps/data_sink_worker/src/queue/index.ts +++ b/services/apps/data_sink_worker/src/queue/index.ts @@ -6,6 +6,7 @@ import { NodejsWorkerEmitter, SqsClient, SqsQueueReceiver, + SearchSyncWorkerEmitter, } from '@crowd/sqs' import { CreateAndProcessActivityResultQueueMessage, @@ -17,7 +18,6 @@ import DataSinkService from '../service/dataSink.service' import { RedisClient } from '@crowd/redis' import { Unleash } from '@crowd/feature-flags' import { Client as TemporalClient } from '@crowd/temporal' -import { SearchSyncApiClient } from '@crowd/httpclients' export class WorkerQueueReceiver extends SqsQueueReceiver { constructor( @@ -27,7 +27,7 @@ export class WorkerQueueReceiver extends SqsQueueReceiver { private readonly redisClient: RedisClient, private readonly unleash: Unleash | undefined, private readonly temporal: TemporalClient, - private readonly searchSyncApi: SearchSyncApiClient, + private readonly searchSyncWorkerEmitter: SearchSyncWorkerEmitter, tracer: Tracer, parentLog: Logger, maxConcurrentProcessing: number, @@ -43,10 +43,10 @@ export class WorkerQueueReceiver extends SqsQueueReceiver { const service = new DataSinkService( new DbStore(this.log, this.dbConn), this.nodejsWorkerEmitter, + this.searchSyncWorkerEmitter, this.redisClient, this.unleash, this.temporal, - this.searchSyncApi, this.log, ) diff --git a/services/apps/data_sink_worker/src/service/activity.service.ts b/services/apps/data_sink_worker/src/service/activity.service.ts index f6ae1a4b43..2807daf1a5 100644 --- a/services/apps/data_sink_worker/src/service/activity.service.ts +++ b/services/apps/data_sink_worker/src/service/activity.service.ts @@ -3,7 +3,6 @@ import MemberRepository from '../repo/member.repo' import { isObjectEmpty, singleOrDefault, escapeNullByte } from '@crowd/common' import { DbStore, arePrimitivesDbEqual } from '@crowd/database' import { Logger, LoggerBase, getChildLogger } from '@crowd/logging' -import { SearchSyncApiClient } from '@crowd/httpclients' import { ISentimentAnalysisResult, getSentiment } from '@crowd/sentiment' import { FeatureFlag, IActivityData, PlatformType } from '@crowd/types' import ActivityRepository from '../repo/activity.repo' @@ -11,7 +10,7 @@ import { IActivityCreateData, IActivityUpdateData } from './activity.data' import MemberService from './member.service' import mergeWith from 'lodash.mergewith' import isEqual from 'lodash.isequal' -import { NodejsWorkerEmitter } from '@crowd/sqs' +import { NodejsWorkerEmitter, SearchSyncWorkerEmitter } from '@crowd/sqs' import SettingsRepository from './settings.repo' import { ConversationService } from '@crowd/conversations' import IntegrationRepository from '../repo/integration.repo' @@ -32,10 +31,10 @@ export default class ActivityService extends LoggerBase { constructor( private readonly store: DbStore, private readonly nodejsWorkerEmitter: NodejsWorkerEmitter, + private readonly searchSyncWorkerEmitter: SearchSyncWorkerEmitter, private readonly redisClient: RedisClient, private readonly unleash: Unleash | undefined, private readonly temporal: TemporalClient, - private readonly searchSyncApi: SearchSyncApiClient, parentLog: Logger, ) { super(parentLog) @@ -132,13 +131,13 @@ export default class ActivityService extends LoggerBase { const affectedIds = await this.conversationService.processActivity(tenantId, segmentId, id) if (fireSync) { - await this.searchSyncApi.triggerMemberSync(activity.memberId) - await this.searchSyncApi.triggerActivitySync(id) + await this.searchSyncWorkerEmitter.triggerMemberSync(tenantId, activity.memberId) + await this.searchSyncWorkerEmitter.triggerActivitySync(tenantId, id) } if (affectedIds.length > 0) { for (const affectedId of affectedIds.filter((i) => i !== id)) { - await this.searchSyncApi.triggerActivitySync(affectedId) + await this.searchSyncWorkerEmitter.triggerActivitySync(tenantId, affectedId) } } @@ -211,8 +210,8 @@ export default class ActivityService extends LoggerBase { await this.conversationService.processActivity(tenantId, segmentId, id) if (fireSync) { - await this.searchSyncApi.triggerMemberSync(activity.memberId) - await this.searchSyncApi.triggerActivitySync(id) + await this.searchSyncWorkerEmitter.triggerMemberSync(tenantId, activity.memberId) + await this.searchSyncWorkerEmitter.triggerActivitySync(tenantId, id) } } } catch (err) { @@ -420,18 +419,18 @@ export default class ActivityService extends LoggerBase { const txMemberService = new MemberService( txStore, this.nodejsWorkerEmitter, + this.searchSyncWorkerEmitter, this.unleash, this.temporal, - this.searchSyncApi, this.log, ) const txActivityService = new ActivityService( txStore, this.nodejsWorkerEmitter, + this.searchSyncWorkerEmitter, this.redisClient, this.unleash, this.temporal, - this.searchSyncApi, this.log, ) const txIntegrationRepo = new IntegrationRepository(txStore, this.log) @@ -490,7 +489,7 @@ export default class ActivityService extends LoggerBase { // delete activity await txRepo.delete(dbActivity.id) - await this.searchSyncApi.triggerRemoveActivity(dbActivity.id) + await this.searchSyncWorkerEmitter.triggerRemoveActivity(tenantId, dbActivity.id) createActivity = true } @@ -607,7 +606,10 @@ export default class ActivityService extends LoggerBase { // delete activity await txRepo.delete(dbActivity.id) - await this.searchSyncApi.triggerRemoveActivity(dbActivity.id) + await this.searchSyncWorkerEmitter.triggerRemoveActivity( + tenantId, + dbActivity.id, + ) createActivity = true } @@ -862,12 +864,12 @@ export default class ActivityService extends LoggerBase { } }) - await this.searchSyncApi.triggerMemberSync(memberId) + await this.searchSyncWorkerEmitter.triggerMemberSync(tenantId, memberId) if (objectMemberId) { - await this.searchSyncApi.triggerMemberSync(objectMemberId) + await this.searchSyncWorkerEmitter.triggerMemberSync(tenantId, objectMemberId) } if (activityId) { - await this.searchSyncApi.triggerActivitySync(activityId) + await this.searchSyncWorkerEmitter.triggerActivitySync(tenantId, activityId) } } catch (err) { this.log.error(err, 'Error while processing an activity!') diff --git a/services/apps/data_sink_worker/src/service/dataSink.service.ts b/services/apps/data_sink_worker/src/service/dataSink.service.ts index 4578257065..0ce7dbba1e 100644 --- a/services/apps/data_sink_worker/src/service/dataSink.service.ts +++ b/services/apps/data_sink_worker/src/service/dataSink.service.ts @@ -1,7 +1,7 @@ import { DbStore } from '@crowd/database' import { Logger, LoggerBase, getChildLogger } from '@crowd/logging' import { RedisClient } from '@crowd/redis' -import { NodejsWorkerEmitter } from '@crowd/sqs' +import { NodejsWorkerEmitter, SearchSyncWorkerEmitter } from '@crowd/sqs' import { IActivityData, IMemberData, @@ -16,7 +16,6 @@ import MemberService from './member.service' import { OrganizationService } from './organization.service' import { Unleash } from '@crowd/feature-flags' import { Client as TemporalClient } from '@crowd/temporal' -import { SearchSyncApiClient } from '@crowd/httpclients' export default class DataSinkService extends LoggerBase { private readonly repo: DataSinkRepository @@ -24,10 +23,10 @@ export default class DataSinkService extends LoggerBase { constructor( private readonly store: DbStore, private readonly nodejsWorkerEmitter: NodejsWorkerEmitter, + private readonly searchSyncWorkerEmitter: SearchSyncWorkerEmitter, private readonly redisClient: RedisClient, private readonly unleash: Unleash | undefined, private readonly temporal: TemporalClient, - private readonly searchSyncApi: SearchSyncApiClient, parentLog: Logger, ) { super(parentLog) @@ -110,10 +109,10 @@ export default class DataSinkService extends LoggerBase { const service = new ActivityService( this.store, this.nodejsWorkerEmitter, + this.searchSyncWorkerEmitter, this.redisClient, this.unleash, this.temporal, - this.searchSyncApi, this.log, ) const activityData = data.data as IActivityData @@ -134,9 +133,9 @@ export default class DataSinkService extends LoggerBase { const service = new MemberService( this.store, this.nodejsWorkerEmitter, + this.searchSyncWorkerEmitter, this.unleash, this.temporal, - this.searchSyncApi, this.log, ) const memberData = data.data as IMemberData diff --git a/services/apps/data_sink_worker/src/service/member.service.ts b/services/apps/data_sink_worker/src/service/member.service.ts index ec846f2fa5..b1f3baed06 100644 --- a/services/apps/data_sink_worker/src/service/member.service.ts +++ b/services/apps/data_sink_worker/src/service/member.service.ts @@ -21,21 +21,20 @@ import mergeWith from 'lodash.mergewith' import isEqual from 'lodash.isequal' import { IMemberCreateData, IMemberUpdateData } from './member.data' import MemberAttributeService from './memberAttribute.service' -import { NodejsWorkerEmitter } from '@crowd/sqs' +import { NodejsWorkerEmitter, SearchSyncWorkerEmitter } from '@crowd/sqs' import IntegrationRepository from '../repo/integration.repo' import { OrganizationService } from './organization.service' import uniqby from 'lodash.uniqby' import { Unleash, isFeatureEnabled } from '@crowd/feature-flags' import { TEMPORAL_CONFIG } from '../conf' -import { SearchSyncApiClient } from '@crowd/httpclients' export default class MemberService extends LoggerBase { constructor( private readonly store: DbStore, private readonly nodejsWorkerEmitter: NodejsWorkerEmitter, + private readonly searchSyncWorkerEmitter: SearchSyncWorkerEmitter, private readonly unleash: Unleash | undefined, private readonly temporal: TemporalClient, - private readonly searchSyncApi: SearchSyncApiClient, parentLog: Logger, ) { super(parentLog) @@ -161,11 +160,11 @@ export default class MemberService extends LoggerBase { } if (fireSync) { - await this.searchSyncApi.triggerMemberSync(id) + await this.searchSyncWorkerEmitter.triggerMemberSync(tenantId, id) } for (const org of organizations) { - await this.searchSyncApi.triggerOrganizationSync(org.id) + await this.searchSyncWorkerEmitter.triggerOrganizationSync(tenantId, org.id) } return id @@ -284,11 +283,11 @@ export default class MemberService extends LoggerBase { }) if (updated && fireSync) { - await this.searchSyncApi.triggerMemberSync(id) + await this.searchSyncWorkerEmitter.triggerMemberSync(tenantId, id) } for (const org of organizations) { - await this.searchSyncApi.triggerOrganizationSync(org.id) + await this.searchSyncWorkerEmitter.triggerOrganizationSync(tenantId, org.id) } } catch (err) { this.log.error(err, { memberId: id }, 'Error while updating a member!') @@ -370,9 +369,9 @@ export default class MemberService extends LoggerBase { const txService = new MemberService( txStore, this.nodejsWorkerEmitter, + this.searchSyncWorkerEmitter, this.unleash, this.temporal, - this.searchSyncApi, this.log, ) diff --git a/services/apps/integration_run_worker/src/conf/index.ts b/services/apps/integration_run_worker/src/conf/index.ts index 1a4f7298fc..3f8f6819c2 100644 --- a/services/apps/integration_run_worker/src/conf/index.ts +++ b/services/apps/integration_run_worker/src/conf/index.ts @@ -1,5 +1,5 @@ import { IDatabaseConfig } from '@crowd/database' -import { ISearchSyncApiConfig } from '@crowd/httpclients' +import { ISearchSyncApiConfig } from '@crowd/opensearch' import { IRedisConfiguration } from '@crowd/redis' import { ISqsClientConfig } from '@crowd/sqs' import config from 'config' diff --git a/services/apps/integration_run_worker/src/main.ts b/services/apps/integration_run_worker/src/main.ts index 3067434517..0862ed2c3c 100644 --- a/services/apps/integration_run_worker/src/main.ts +++ b/services/apps/integration_run_worker/src/main.ts @@ -5,12 +5,12 @@ import { IntegrationRunWorkerEmitter, IntegrationStreamWorkerEmitter, IntegrationSyncWorkerEmitter, + SearchSyncWorkerEmitter, getSqsClient, } from '@crowd/sqs' -import { DB_CONFIG, REDIS_CONFIG, SEARCH_SYNC_API_CONFIG, SQS_CONFIG } from './conf' +import { DB_CONFIG, REDIS_CONFIG, SQS_CONFIG } from './conf' import { WorkerQueueReceiver } from './queue' import { ApiPubSubEmitter, getRedisClient } from '@crowd/redis' -import { SearchSyncApiClient } from '@crowd/httpclients' const tracer = getServiceTracer() const log = getServiceLogger() @@ -27,21 +27,20 @@ setImmediate(async () => { const runWorkerEmitter = new IntegrationRunWorkerEmitter(sqsClient, tracer, log) const streamWorkerEmitter = new IntegrationStreamWorkerEmitter(sqsClient, tracer, log) + const searchSyncWorkerEmitter = new SearchSyncWorkerEmitter(sqsClient, tracer, log) const integrationSyncWorkerEmitter = new IntegrationSyncWorkerEmitter(sqsClient, tracer, log) const apiPubSubEmitter = new ApiPubSubEmitter(redisClient, log) - const searchSyncApi = new SearchSyncApiClient(SEARCH_SYNC_API_CONFIG()) - const queue = new WorkerQueueReceiver( sqsClient, redisClient, dbConnection, streamWorkerEmitter, runWorkerEmitter, + searchSyncWorkerEmitter, integrationSyncWorkerEmitter, apiPubSubEmitter, - searchSyncApi, tracer, log, MAX_CONCURRENT_PROCESSING, @@ -50,6 +49,7 @@ setImmediate(async () => { try { await streamWorkerEmitter.init() await runWorkerEmitter.init() + await searchSyncWorkerEmitter.init() await integrationSyncWorkerEmitter.init() await queue.start() } catch (err) { diff --git a/services/apps/integration_run_worker/src/queue/index.ts b/services/apps/integration_run_worker/src/queue/index.ts index e1828fcf3b..15ccb34da0 100644 --- a/services/apps/integration_run_worker/src/queue/index.ts +++ b/services/apps/integration_run_worker/src/queue/index.ts @@ -6,6 +6,7 @@ import { INTEGRATION_RUN_WORKER_QUEUE_SETTINGS, IntegrationRunWorkerEmitter, IntegrationStreamWorkerEmitter, + SearchSyncWorkerEmitter, IntegrationSyncWorkerEmitter, SqsClient, SqsQueueReceiver, @@ -18,7 +19,6 @@ import { StreamProcessedQueueMessage, } from '@crowd/types' import IntegrationRunService from '../service/integrationRunService' -import { SearchSyncApiClient } from '@crowd/httpclients' /* eslint-disable no-case-declarations */ @@ -29,9 +29,9 @@ export class WorkerQueueReceiver extends SqsQueueReceiver { private readonly dbConn: DbConnection, private readonly streamWorkerEmitter: IntegrationStreamWorkerEmitter, private readonly runWorkerEmitter: IntegrationRunWorkerEmitter, + private readonly searchSyncWorkerEmitter: SearchSyncWorkerEmitter, private readonly integrationSyncWorkerEmitter: IntegrationSyncWorkerEmitter, private readonly apiPubSubEmitter: ApiPubSubEmitter, - private readonly searchSyncApi: SearchSyncApiClient, tracer: Tracer, parentLog: Logger, maxConcurrentProcessing: number, @@ -48,9 +48,9 @@ export class WorkerQueueReceiver extends SqsQueueReceiver { this.redisClient, this.streamWorkerEmitter, this.runWorkerEmitter, + this.searchSyncWorkerEmitter, this.integrationSyncWorkerEmitter, this.apiPubSubEmitter, - this.searchSyncApi, new DbStore(this.log, this.dbConn), this.log, ) diff --git a/services/apps/integration_run_worker/src/service/integrationRunService.ts b/services/apps/integration_run_worker/src/service/integrationRunService.ts index b912730f73..2f13ece164 100644 --- a/services/apps/integration_run_worker/src/service/integrationRunService.ts +++ b/services/apps/integration_run_worker/src/service/integrationRunService.ts @@ -10,6 +10,7 @@ import { ApiPubSubEmitter, RedisCache, RedisClient } from '@crowd/redis' import { IntegrationRunWorkerEmitter, IntegrationStreamWorkerEmitter, + SearchSyncWorkerEmitter, IntegrationSyncWorkerEmitter, } from '@crowd/sqs' import { IntegrationRunState, IntegrationStreamState } from '@crowd/types' @@ -18,7 +19,6 @@ import IntegrationRunRepository from '../repo/integrationRun.repo' import MemberAttributeSettingsRepository from '../repo/memberAttributeSettings.repo' import SampleDataRepository from '../repo/sampleData.repo' import { AutomationRepository } from '../repo/automation.repo' -import { SearchSyncApiClient } from '@crowd/httpclients' export default class IntegrationRunService extends LoggerBase { private readonly repo: IntegrationRunRepository @@ -29,9 +29,9 @@ export default class IntegrationRunService extends LoggerBase { private readonly redisClient: RedisClient, private readonly streamWorkerEmitter: IntegrationStreamWorkerEmitter, private readonly runWorkerEmitter: IntegrationRunWorkerEmitter, + private readonly searchSyncWorkerEmitter: SearchSyncWorkerEmitter, private readonly integrationSyncWorkerEmitter: IntegrationSyncWorkerEmitter, private readonly apiPubSubEmitter: ApiPubSubEmitter, - private readonly searchSyncApi: SearchSyncApiClient, private readonly store: DbStore, parentLog: Logger, ) { @@ -337,8 +337,8 @@ export default class IntegrationRunService extends LoggerBase { await txRepo.deleteSampleData(runInfo.tenantId) }) - await this.searchSyncApi.triggerActivityCleanup(runInfo.tenantId) - await this.searchSyncApi.triggerMemberCleanup(runInfo.tenantId) + await this.searchSyncWorkerEmitter.triggerActivityCleanup(runInfo.tenantId) + await this.searchSyncWorkerEmitter.triggerMemberCleanup(runInfo.tenantId) } catch (err) { this.log.error({ err }, 'Error while deleting sample data!') await this.triggerRunError( diff --git a/services/libs/feature-flags/package-lock.json b/services/libs/feature-flags/package-lock.json index dbe5c022fb..36e3a8b1ba 100644 --- a/services/libs/feature-flags/package-lock.json +++ b/services/libs/feature-flags/package-lock.json @@ -25,6 +25,7 @@ } }, "../common": { + "name": "@crowd/common", "version": "1.0.0", "dependencies": { "@crowd/logging": "file:../logging", diff --git a/services/libs/httpclients/.eslintrc.cjs b/services/libs/httpclients/.eslintrc.cjs deleted file mode 100644 index 25ba4e0d66..0000000000 --- a/services/libs/httpclients/.eslintrc.cjs +++ /dev/null @@ -1,21 +0,0 @@ -module.exports = { - parser: '@typescript-eslint/parser', - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:prettier/recommended', - ], - plugins: ['@typescript-eslint', 'prettier'], - parserOptions: { - ecmaVersion: 2022, - sourceType: 'module', - }, - env: { - es6: true, - node: true, - }, - rules: { - 'prettier/prettier': 'error', - '@typescript-eslint/explicit-module-boundary-types': 'off', - }, -} diff --git a/services/libs/httpclients/.prettierignore b/services/libs/httpclients/.prettierignore deleted file mode 100644 index 323bc0d11c..0000000000 --- a/services/libs/httpclients/.prettierignore +++ /dev/null @@ -1,3 +0,0 @@ -dist/ -.eslintrc.cjs -.prettierrc.cjs \ No newline at end of file diff --git a/services/libs/httpclients/.prettierrc.cjs b/services/libs/httpclients/.prettierrc.cjs deleted file mode 100644 index 56e49d51b5..0000000000 --- a/services/libs/httpclients/.prettierrc.cjs +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - singleQuote: true, - arrowParens: 'always', - printWidth: 100, - trailingComma: 'all', - semi: false, - }; - \ No newline at end of file diff --git a/services/libs/httpclients/package-lock.json b/services/libs/httpclients/package-lock.json deleted file mode 100644 index 8bf1e2a6e3..0000000000 --- a/services/libs/httpclients/package-lock.json +++ /dev/null @@ -1,1492 +0,0 @@ -{ - "name": "@crowd/httpclients", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "@crowd/httpclients", - "version": "1.0.0", - "dependencies": { - "@types/node": "^20.3.1", - "@typescript-eslint/eslint-plugin": "^5.59.11", - "@typescript-eslint/parser": "^5.59.11", - "axios": "^1.4.0", - "config": "^3.3.9", - "eslint": "^8.42.0", - "eslint-config-prettier": "^8.8.0", - "eslint-plugin-prettier": "^4.2.1", - "prettier": "^2.8.8", - "typescript": "^5.1.3" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.5.1", - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.0.3", - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.2", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "8.42.0", - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "license": "Apache-2.0", - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "license": "BSD-3-Clause" - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.12", - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "20.3.1", - "license": "MIT" - }, - "node_modules/@types/semver": { - "version": "7.5.0", - "license": "MIT" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.59.11", - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.11", - "@typescript-eslint/type-utils": "5.59.11", - "@typescript-eslint/utils": "5.59.11", - "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "5.59.11", - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/scope-manager": "5.59.11", - "@typescript-eslint/types": "5.59.11", - "@typescript-eslint/typescript-estree": "5.59.11", - "debug": "^4.3.4" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.11", - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.59.11", - "@typescript-eslint/visitor-keys": "5.59.11" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.59.11", - "license": "MIT", - "dependencies": { - "@typescript-eslint/typescript-estree": "5.59.11", - "@typescript-eslint/utils": "5.59.11", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "5.59.11", - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.11", - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/types": "5.59.11", - "@typescript-eslint/visitor-keys": "5.59.11", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.59.11", - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.11", - "@typescript-eslint/types": "5.59.11", - "@typescript-eslint/typescript-estree": "5.59.11", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { - "version": "5.1.1", - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/estraverse": { - "version": "4.3.0", - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.11", - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.59.11", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/acorn": { - "version": "8.8.2", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "license": "Python-2.0" - }, - "node_modules/array-union": { - "version": "2.1.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "license": "MIT" - }, - "node_modules/axios": { - "version": "1.4.0", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "license": "MIT", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "license": "MIT" - }, - "node_modules/config": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/config/-/config-3.3.9.tgz", - "integrity": "sha512-G17nfe+cY7kR0wVpc49NCYvNtelm/pPy8czHoFkAgtV1lkmcp7DHtWCdDu+C9Z7gb2WVqa9Tm3uF9aKaPbCfhg==", - "dependencies": { - "json5": "^2.2.3" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "license": "MIT" - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.42.0", - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.42.0", - "@humanwhocodes/config-array": "^0.11.10", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "8.8.0", - "license": "MIT", - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "4.2.1", - "license": "MIT", - "dependencies": { - "prettier-linter-helpers": "^1.0.0" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "eslint": ">=7.28.0", - "prettier": ">=2.0.0" - }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "7.2.0", - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "9.5.2", - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "license": "MIT" - }, - "node_modules/fast-diff": { - "version": "1.3.0", - "license": "Apache-2.0" - }, - "node_modules/fast-glob": { - "version": "3.2.12", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.15.0", - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "license": "MIT", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "license": "MIT", - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.7", - "license": "ISC" - }, - "node_modules/follow-redirects": { - "version": "1.15.2", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/form-data": { - "version": "4.0.0", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "license": "ISC" - }, - "node_modules/glob": { - "version": "7.2.3", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "13.20.0", - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "license": "MIT" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "license": "MIT" - }, - "node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ignore": { - "version": "5.2.4", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "license": "ISC" - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "license": "ISC" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "license": "MIT" - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "license": "MIT", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "license": "MIT" - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "license": "MIT" - }, - "node_modules/once": { - "version": "1.4.0", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/picomatch": { - "version": "2.3.1", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "2.8.8", - "license": "MIT", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "license": "MIT" - }, - "node_modules/punycode": { - "version": "2.3.0", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/semver": { - "version": "7.5.1", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "license": "MIT" - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "license": "MIT", - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typescript": { - "version": "5.1.3", - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "license": "ISC" - }, - "node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/services/libs/httpclients/package.json b/services/libs/httpclients/package.json deleted file mode 100644 index dacdc18d4a..0000000000 --- a/services/libs/httpclients/package.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "@crowd/httpclients", - "version": "1.0.0", - "private": true, - "scripts": { - "lint": "./node_modules/.bin/eslint --ext .ts src --max-warnings=0", - "format": "./node_modules/.bin/prettier --write \"src/**/*.ts\"", - "format-check": "./node_modules/.bin/prettier --check .", - "tsc-check": "./node_modules/.bin/tsc --noEmit" - }, - "dependencies": { - "@types/node": "^20.3.1", - "@typescript-eslint/eslint-plugin": "^5.59.11", - "@typescript-eslint/parser": "^5.59.11", - "axios": "^1.4.0", - "eslint": "^8.42.0", - "eslint-config-prettier": "^8.8.0", - "eslint-plugin-prettier": "^4.2.1", - "prettier": "^2.8.8", - "typescript": "^5.1.3" - } -} diff --git a/services/libs/httpclients/src/index.ts b/services/libs/httpclients/src/index.ts deleted file mode 100644 index 5783a275e2..0000000000 --- a/services/libs/httpclients/src/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './types' -export * from './searchSyncApiClient' diff --git a/services/libs/httpclients/src/types.ts b/services/libs/httpclients/src/types.ts deleted file mode 100644 index 98c198022b..0000000000 --- a/services/libs/httpclients/src/types.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface ISearchSyncApiConfig { - baseUrl: string -} diff --git a/services/libs/httpclients/tsconfig.json b/services/libs/httpclients/tsconfig.json deleted file mode 100644 index 5696b56882..0000000000 --- a/services/libs/httpclients/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "compilerOptions": { - "target": "es2017", - "module": "commonjs", - "lib": ["es6", "es7", "es2017", "es2017.object", "es2015.promise"], - "skipLibCheck": true, - "sourceMap": true, - "moduleResolution": "node", - "experimentalDecorators": true, - "esModuleInterop": true, - "baseUrl": "src", - "paths": { - "@crowd/*": ["../../*/src"] - } - }, - "include": ["src/**/*"] -} diff --git a/services/libs/opensearch/package-lock.json b/services/libs/opensearch/package-lock.json index eb3ff74b79..2afa807e8c 100644 --- a/services/libs/opensearch/package-lock.json +++ b/services/libs/opensearch/package-lock.json @@ -12,7 +12,8 @@ "@crowd/logging": "file:../logging", "@crowd/redis": "file:../redis", "@crowd/types": "file:../types", - "@opensearch-project/opensearch": "^1.2.0" + "@opensearch-project/opensearch": "^1.2.0", + "axios": "^1.6.0" }, "devDependencies": { "@types/node": "^18.16.3", @@ -2034,10 +2035,25 @@ "node": ">=8" } }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, "node_modules/aws4": { "version": "1.12.0", "license": "MIT" }, + "node_modules/axios": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.0.tgz", + "integrity": "sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "dev": true, @@ -2102,6 +2118,17 @@ "dev": true, "license": "MIT" }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/concat-map": { "version": "0.0.1", "dev": true, @@ -2140,6 +2167,14 @@ "dev": true, "license": "MIT" }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/dir-glob": { "version": "3.0.1", "dev": true, @@ -2483,6 +2518,38 @@ "dev": true, "license": "ISC" }, + "node_modules/follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "dev": true, @@ -2741,6 +2808,25 @@ "node": ">=8.6" } }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/minimatch": { "version": "3.1.2", "dev": true, @@ -2905,6 +2991,11 @@ "node": ">=6.0.0" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "node_modules/punycode": { "version": "2.3.0", "dev": true, @@ -4344,9 +4435,24 @@ "version": "2.1.0", "dev": true }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, "aws4": { "version": "1.12.0" }, + "axios": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.0.tgz", + "integrity": "sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==", + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, "balanced-match": { "version": "1.0.2", "dev": true @@ -4389,6 +4495,14 @@ "version": "1.1.4", "dev": true }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, "concat-map": { "version": "0.0.1", "dev": true @@ -4412,6 +4526,11 @@ "version": "0.1.4", "dev": true }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, "dir-glob": { "version": "3.0.1", "dev": true, @@ -4633,6 +4752,21 @@ "version": "3.2.7", "dev": true }, + "follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, "fs.realpath": { "version": "1.0.0", "dev": true @@ -4794,6 +4928,19 @@ "picomatch": "^2.3.1" } }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, "minimatch": { "version": "3.1.2", "dev": true, @@ -4887,6 +5034,11 @@ "fast-diff": "^1.1.2" } }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "punycode": { "version": "2.3.0", "dev": true diff --git a/services/libs/opensearch/package.json b/services/libs/opensearch/package.json index cb7c1f536a..3f067e71c4 100644 --- a/services/libs/opensearch/package.json +++ b/services/libs/opensearch/package.json @@ -19,10 +19,11 @@ "typescript": "^5.0.4" }, "dependencies": { - "@crowd/types": "file:../types", - "@crowd/logging": "file:../logging", "@crowd/database": "file:../database", + "@crowd/logging": "file:../logging", "@crowd/redis": "file:../redis", - "@opensearch-project/opensearch": "^1.2.0" + "@crowd/types": "file:../types", + "@opensearch-project/opensearch": "^1.2.0", + "axios": "^1.6.0" } } diff --git a/services/libs/httpclients/src/searchSyncApiClient.ts b/services/libs/opensearch/src/apiClient.ts similarity index 98% rename from services/libs/httpclients/src/searchSyncApiClient.ts rename to services/libs/opensearch/src/apiClient.ts index a46bbefdef..76d72e86d6 100644 --- a/services/libs/httpclients/src/searchSyncApiClient.ts +++ b/services/libs/opensearch/src/apiClient.ts @@ -1,5 +1,7 @@ import axios from 'axios' -import { ISearchSyncApiConfig } from './types' +export interface ISearchSyncApiConfig { + baseUrl: string +} export class SearchSyncApiClient { private searchSyncApi diff --git a/services/libs/opensearch/src/index.ts b/services/libs/opensearch/src/index.ts index 174f7e4ef3..ee273e98a7 100644 --- a/services/libs/opensearch/src/index.ts +++ b/services/libs/opensearch/src/index.ts @@ -1,4 +1,5 @@ export * from './fieldTranslatorFactory' export * from './opensearchQueryParser' export * from './client' +export * from './apiClient' export * from './service' diff --git a/services/libs/temporal/package-lock.json b/services/libs/temporal/package-lock.json index 9e2166d399..a5e0742d9a 100644 --- a/services/libs/temporal/package-lock.json +++ b/services/libs/temporal/package-lock.json @@ -23,6 +23,7 @@ } }, "../logging": { + "name": "@crowd/logging", "version": "1.0.0", "dependencies": { "@crowd/common": "file:../common", From 89d18f83c1e12b3df44755037798a7b05f36772e Mon Sep 17 00:00:00 2001 From: anilb Date: Fri, 3 Nov 2023 12:43:55 +0100 Subject: [PATCH 24/38] synchronous sync working with organization merge --- backend/src/services/organizationService.ts | 27 ++++++++++--------- .../apps/search_sync_api/package-lock.json | 4 +-- .../search_sync_api/src/routes/activity.ts | 4 +-- .../apps/search_sync_api/src/routes/member.ts | 4 +-- .../src/routes/organization.ts | 6 ++--- services/libs/opensearch/src/apiClient.ts | 12 ++++----- 6 files changed, 30 insertions(+), 27 deletions(-) diff --git a/backend/src/services/organizationService.ts b/backend/src/services/organizationService.ts index fe8cd42510..4585cfa182 100644 --- a/backend/src/services/organizationService.ts +++ b/backend/src/services/organizationService.ts @@ -118,11 +118,11 @@ export default class OrganizationService extends LoggerBase { // check if website is being updated, if yes we need to set toMerge.website to null before doing the update // because of website unique constraint if (toUpdate.website && toUpdate.website === toMerge.website) { - await txService.update(toMergeId, { website: null }) + await txService.update(toMergeId, { website: null }, false, false) } // Update original organization - await txService.update(originalId, toUpdate) + await txService.update(originalId, toUpdate, false, false) // update members that belong to source organization to destination org await OrganizationRepository.moveMembersBetweenOrganizations( @@ -520,7 +520,7 @@ export default class OrganizationService extends LoggerBase { return OrganizationRepository.findOrganizationsWithMergeSuggestions(args, this.options) } - async update(id, data, overrideIdentities = false) { + async update(id, data, overrideIdentities = false, syncToOpensearch = true) { let tx try { @@ -566,16 +566,19 @@ export default class OrganizationService extends LoggerBase { await SequelizeRepository.commitTransaction(tx) - try { - const searchSyncApi = await getSearchSyncApiClient() - await searchSyncApi.triggerOrganizationSync(record.id) - } catch (emitErr) { - this.log.error( - emitErr, - { tenantId: this.options.currentTenant.id, organizationId: record.id }, - 'Error while emitting organization sync!', - ) + if (syncToOpensearch) { + try { + const searchSyncApi = await getSearchSyncApiClient() + await searchSyncApi.triggerOrganizationSync(record.id) + } catch (emitErr) { + this.log.error( + emitErr, + { tenantId: this.options.currentTenant.id, organizationId: record.id }, + 'Error while emitting organization sync!', + ) + } } + return record } catch (error) { diff --git a/services/apps/search_sync_api/package-lock.json b/services/apps/search_sync_api/package-lock.json index 59f931abb1..a064e47bc5 100644 --- a/services/apps/search_sync_api/package-lock.json +++ b/services/apps/search_sync_api/package-lock.json @@ -124,13 +124,13 @@ "@crowd/logging": "file:../logging", "@crowd/redis": "file:../redis", "@crowd/types": "file:../types", - "@opensearch-project/opensearch": "^1.2.0" + "@opensearch-project/opensearch": "^1.2.0", + "axios": "^1.6.0" }, "devDependencies": { "@types/node": "^18.16.3", "@typescript-eslint/eslint-plugin": "^5.59.2", "@typescript-eslint/parser": "^5.59.2", - "config": "^3.3.9", "eslint": "^8.39.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", diff --git a/services/apps/search_sync_api/src/routes/activity.ts b/services/apps/search_sync_api/src/routes/activity.ts index 38785f1922..3e7e563072 100644 --- a/services/apps/search_sync_api/src/routes/activity.ts +++ b/services/apps/search_sync_api/src/routes/activity.ts @@ -54,7 +54,7 @@ router.post( }), ) -router.delete( +router.post( '/cleanup/tenant/activities', asyncWrap(async (req: ApiRequest, res) => { const openSearchService = new OpenSearchService(req.log, opensearchConfig) @@ -70,7 +70,7 @@ router.delete( }), ) -router.delete( +router.post( '/cleanup/activity', asyncWrap(async (req: ApiRequest, res) => { const openSearchService = new OpenSearchService(req.log, opensearchConfig) diff --git a/services/apps/search_sync_api/src/routes/member.ts b/services/apps/search_sync_api/src/routes/member.ts index 57bc2f1f10..b4c2108b10 100644 --- a/services/apps/search_sync_api/src/routes/member.ts +++ b/services/apps/search_sync_api/src/routes/member.ts @@ -74,7 +74,7 @@ router.post( }), ) -router.delete( +router.post( '/cleanup/tenant/members', asyncWrap(async (req: ApiRequest, res) => { const openSearchService = new OpenSearchService(req.log, opensearchConfig) @@ -96,7 +96,7 @@ router.delete( }), ) -router.delete( +router.post( '/cleanup/member', asyncWrap(async (req: ApiRequest, res) => { const openSearchService = new OpenSearchService(req.log, opensearchConfig) diff --git a/services/apps/search_sync_api/src/routes/organization.ts b/services/apps/search_sync_api/src/routes/organization.ts index 7379cfd47d..9c84814a59 100644 --- a/services/apps/search_sync_api/src/routes/organization.ts +++ b/services/apps/search_sync_api/src/routes/organization.ts @@ -49,7 +49,7 @@ router.post( }), ) -router.delete( +router.post( '/cleanup/tenant/organizations', asyncWrap(async (req: ApiRequest, res) => { const openSearchService = new OpenSearchService(req.log, openSearchConfig) @@ -70,7 +70,7 @@ router.delete( }), ) -router.delete( +router.post( '/cleanup/organization', asyncWrap(async (req: ApiRequest, res) => { const openSearchService = new OpenSearchService(req.log, openSearchConfig) @@ -83,7 +83,7 @@ router.delete( const { organizationId } = req.body try { - await organizationSyncService.cleanupOrganizationIndex(organizationId) + await organizationSyncService.removeOrganization(organizationId) res.sendStatus(200) } catch (error) { res.status(500).send(error.message) diff --git a/services/libs/opensearch/src/apiClient.ts b/services/libs/opensearch/src/apiClient.ts index 76d72e86d6..2c6470186f 100644 --- a/services/libs/opensearch/src/apiClient.ts +++ b/services/libs/opensearch/src/apiClient.ts @@ -47,7 +47,7 @@ export class SearchSyncApiClient { throw new Error('memberId is required!') } - await this.searchSyncApi.delete('/cleanup/member', { + await this.searchSyncApi.post('/cleanup/member', { memberId, }) } @@ -57,7 +57,7 @@ export class SearchSyncApiClient { throw new Error('tenantId is required!') } - await this.searchSyncApi.delete('/cleanup/tenant/members', { + await this.searchSyncApi.post('/cleanup/tenant/members', { tenantId, }) } @@ -97,7 +97,7 @@ export class SearchSyncApiClient { throw new Error('activityId is required!') } - await this.searchSyncApi.delete('/cleanup/activity', { + await this.searchSyncApi.post('/cleanup/activity', { activityId, }) } @@ -107,7 +107,7 @@ export class SearchSyncApiClient { throw new Error('tenantId is required!') } - await this.searchSyncApi.delete('/cleanup/tenant/activities', { + await this.searchSyncApi.post('/cleanup/tenant/activities', { tenantId, }) } @@ -137,7 +137,7 @@ export class SearchSyncApiClient { throw new Error('organizationId is required!') } - await this.searchSyncApi.delete('/cleanup/organization', { + await this.searchSyncApi.post('/cleanup/organization', { organizationId, }) } @@ -147,7 +147,7 @@ export class SearchSyncApiClient { throw new Error('tenantId is required!') } - await this.searchSyncApi.delete('/cleanup/tenant/organizations', { + await this.searchSyncApi.post('/cleanup/tenant/organizations', { tenantId, }) } From 91942677a787e99c4b10884134cd8ba4eb4f2d17 Mon Sep 17 00:00:00 2001 From: anilb Date: Fri, 3 Nov 2023 13:06:47 +0100 Subject: [PATCH 25/38] member merge syncing fix --- backend/src/services/memberService.ts | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/backend/src/services/memberService.ts b/backend/src/services/memberService.ts index 33eb16b5fa..98f56911cc 100644 --- a/backend/src/services/memberService.ts +++ b/backend/src/services/memberService.ts @@ -635,7 +635,7 @@ export default class MemberService extends LoggerBase { // Update original member const txService = new MemberService(repoOptions as IServiceOptions) - await txService.update(originalId, toUpdate) + await txService.update(originalId, toUpdate, false) // update activities to belong to the originalId member await MemberRepository.moveActivitiesBetweenMembers(toMergeId, originalId, repoOptions) @@ -865,7 +865,7 @@ export default class MemberService extends LoggerBase { } } - async update(id, data) { + async update(id, data, syncToOpensearch = true) { let transaction const searchSyncApi = await getSearchSyncApiClient() @@ -928,16 +928,19 @@ export default class MemberService extends LoggerBase { const record = await MemberRepository.update(id, data, repoOptions) await SequelizeRepository.commitTransaction(transaction) - try { - await searchSyncApi.triggerMemberSync(record.id) - } catch (emitErr) { - this.log.error( - emitErr, - { tenantId: this.options.currentTenant.id, memberId: record.id }, - 'Error while triggering member sync changes!', - ) - } + if (syncToOpensearch) { + try { + await searchSyncApi.triggerMemberSync(record.id) + } catch (emitErr) { + this.log.error( + emitErr, + { tenantId: this.options.currentTenant.id, memberId: record.id }, + 'Error while triggering member sync changes!', + ) + } + } + return record } catch (error) { if (error.name && error.name.includes('Sequelize')) { From ae38960cb48127c23bc5f1cf23e1690ec818a54b Mon Sep 17 00:00:00 2001 From: Joana Maia Date: Fri, 3 Nov 2023 14:37:25 +0000 Subject: [PATCH 26/38] Fix loading and messages when performing bulk actions --- .../components/list/member-list-toolbar.vue | 23 ++++++++++++++++--- .../list/organization-list-toolbar.vue | 20 +++++++++++++--- 2 files changed, 37 insertions(+), 6 deletions(-) diff --git a/frontend/src/modules/member/components/list/member-list-toolbar.vue b/frontend/src/modules/member/components/list/member-list-toolbar.vue index 9fb281fdd1..45f8027465 100644 --- a/frontend/src/modules/member/components/list/member-list-toolbar.vue +++ b/frontend/src/modules/member/components/list/member-list-toolbar.vue @@ -221,8 +221,15 @@ const markAsTeamMemberOptions = computed(() => { const isEnrichmentActionDisabled = computed(() => !elegibleEnrichmentMembersIds.value.length || isEditLockedForSampleData.value || !isEnrichmentFeatureEnabled()); -const handleMergeMembers = () => { +const handleMergeMembers = async () => { const [firstMember, secondMember] = selectedMembers.value; + Message.info( + null, + { + title: 'Contacts are being enriched', + }, + ); + return MemberService.merge(firstMember, secondMember) .then(() => { Message.success('Contacts merged successfuly'); @@ -309,8 +316,15 @@ const handleAddTags = async () => { bulkTagsUpdateVisible.value = true; }; -const doMarkAsTeamMember = (value) => { - Promise.all(selectedMembers.value.map((member) => MemberService.update(member.id, { +const doMarkAsTeamMember = async (value) => { + Message.info( + null, + { + title: 'Contacts are being updated', + }, + ); + + return Promise.all(selectedMembers.value.map((member) => MemberService.update(member.id, { attributes: { ...member.attributes, isTeamMember: { @@ -325,6 +339,9 @@ const doMarkAsTeamMember = (value) => { selectedMembers.value.length > 1 ? 's' : '' } updated successfully`, ); + }) + .catch(() => { + Message.error('Error updating contacts'); }); }; diff --git a/frontend/src/modules/organization/components/list/organization-list-toolbar.vue b/frontend/src/modules/organization/components/list/organization-list-toolbar.vue index f9d931a655..f2d90d023d 100644 --- a/frontend/src/modules/organization/components/list/organization-list-toolbar.vue +++ b/frontend/src/modules/organization/components/list/organization-list-toolbar.vue @@ -172,10 +172,14 @@ const handleDoDestroyAllWithConfirm = () => ConfirmDialog({ }) .then(() => fetchOrganizations({ reload: true })); -const handleMergeOrganizations = () => { +const handleMergeOrganizations = async () => { const [firstOrganization, secondOrganization] = selectedOrganizations.value; + OrganizationService.mergeOrganizations(firstOrganization.id, secondOrganization.id) - .then(() => fetchOrganizations({ reload: true })) + .then(() => { + Message.success('Organizations merged successfuly'); + fetchOrganizations({ reload: true }); + }) .catch(() => Message.error('There was an error merging organizations')); }; @@ -236,6 +240,13 @@ const handleCommand = async (command) => { } else if (command.action === 'mergeOrganizations') { await handleMergeOrganizations(); } else if (command.action === 'markAsTeamOrganization') { + Message.info( + null, + { + title: 'Organizations are being updated', + }, + ); + Promise.all( selectedOrganizations.value.map((row) => OrganizationService.update(row.id, { isTeamOrganization: command.value, @@ -252,7 +263,10 @@ const handleCommand = async (command) => { fetchOrganizations({ reload: true, }); - }); + }) + .catch(() => { + Message.error('Error updating organizations'); + }); } }; From 2bb8f054c986fa7aeaa2cb66df77940a19cf278a Mon Sep 17 00:00:00 2001 From: Joana Maia Date: Fri, 3 Nov 2023 14:44:01 +0000 Subject: [PATCH 27/38] Fix loading messages --- .../components/list/member-list-toolbar.vue | 10 ++++++++-- .../list/organization-list-toolbar.vue | 16 +++++++++++++++- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/frontend/src/modules/member/components/list/member-list-toolbar.vue b/frontend/src/modules/member/components/list/member-list-toolbar.vue index 45f8027465..7ab2eeaea0 100644 --- a/frontend/src/modules/member/components/list/member-list-toolbar.vue +++ b/frontend/src/modules/member/components/list/member-list-toolbar.vue @@ -226,16 +226,19 @@ const handleMergeMembers = async () => { Message.info( null, { - title: 'Contacts are being enriched', + title: 'Contacts are being merged', }, ); return MemberService.merge(firstMember, secondMember) .then(() => { + Message.closeAll(); Message.success('Contacts merged successfuly'); + fetchMembers({ reload: true }); }) .catch(() => { + Message.closeAll(); Message.error('Error merging contacts'); }); }; @@ -333,14 +336,17 @@ const doMarkAsTeamMember = async (value) => { }, }))) .then(() => { - fetchMembers({ reload: true }); + Message.closeAll(); Message.success( `Contact${ selectedMembers.value.length > 1 ? 's' : '' } updated successfully`, ); + + fetchMembers({ reload: true }); }) .catch(() => { + Message.closeAll(); Message.error('Error updating contacts'); }); }; diff --git a/frontend/src/modules/organization/components/list/organization-list-toolbar.vue b/frontend/src/modules/organization/components/list/organization-list-toolbar.vue index f2d90d023d..06ca2822fe 100644 --- a/frontend/src/modules/organization/components/list/organization-list-toolbar.vue +++ b/frontend/src/modules/organization/components/list/organization-list-toolbar.vue @@ -175,12 +175,24 @@ const handleDoDestroyAllWithConfirm = () => ConfirmDialog({ const handleMergeOrganizations = async () => { const [firstOrganization, secondOrganization] = selectedOrganizations.value; + Message.info( + null, + { + title: 'Organizations are being merged', + }, + ); + OrganizationService.mergeOrganizations(firstOrganization.id, secondOrganization.id) .then(() => { + Message.closeAll(); Message.success('Organizations merged successfuly'); + fetchOrganizations({ reload: true }); }) - .catch(() => Message.error('There was an error merging organizations')); + .catch(() => { + Message.closeAll(); + Message.error('There was an error merging organizations'); + }); }; const handleDoExport = async () => { @@ -252,6 +264,7 @@ const handleCommand = async (command) => { isTeamOrganization: command.value, })), ).then(() => { + Message.closeAll(); Message.success( `${pluralize( 'Organization', @@ -265,6 +278,7 @@ const handleCommand = async (command) => { }); }) .catch(() => { + Message.closeAll(); Message.error('Error updating organizations'); }); } From 74fb791ce16c626a01b2e66c2f551ca00d6860cd Mon Sep 17 00:00:00 2001 From: anilb Date: Mon, 6 Nov 2023 16:06:20 +0100 Subject: [PATCH 28/38] formatting --- backend/src/services/memberService.ts | 2 +- backend/src/services/organizationService.ts | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/backend/src/services/memberService.ts b/backend/src/services/memberService.ts index 98f56911cc..b8afa3ea71 100644 --- a/backend/src/services/memberService.ts +++ b/backend/src/services/memberService.ts @@ -940,7 +940,7 @@ export default class MemberService extends LoggerBase { ) } } - + return record } catch (error) { if (error.name && error.name.includes('Sequelize')) { diff --git a/backend/src/services/organizationService.ts b/backend/src/services/organizationService.ts index 4585cfa182..ede28cbf84 100644 --- a/backend/src/services/organizationService.ts +++ b/backend/src/services/organizationService.ts @@ -578,7 +578,6 @@ export default class OrganizationService extends LoggerBase { ) } } - return record } catch (error) { From 268a74a5e0460d47ac93e414040ef1a0c0028a21 Mon Sep 17 00:00:00 2001 From: anilb Date: Tue, 7 Nov 2023 10:35:37 +0100 Subject: [PATCH 29/38] feature flagged synchronous opensearch updates --- backend/src/bin/scripts/unleash-init.ts | 18 ++ backend/src/services/activityService.ts | 71 ++++++-- backend/src/services/integrationService.ts | 9 +- backend/src/services/memberService.ts | 62 +++++-- backend/src/services/organizationService.ts | 61 +++++-- .../enrichment/memberEnrichmentService.ts | 17 +- .../organizationEnrichmentService.ts | 9 +- backend/src/services/searchSyncService.ts | 171 ++++++++++++++++++ services/libs/types/src/enums/featureFlags.ts | 3 + 9 files changed, 353 insertions(+), 68 deletions(-) create mode 100644 backend/src/services/searchSyncService.ts diff --git a/backend/src/bin/scripts/unleash-init.ts b/backend/src/bin/scripts/unleash-init.ts index 0f4261cbd4..af155778af 100644 --- a/backend/src/bin/scripts/unleash-init.ts +++ b/backend/src/bin/scripts/unleash-init.ts @@ -243,6 +243,24 @@ const constaintConfiguration = { }, ], ], + + [FeatureFlag.SYNCHRONOUS_OPENSEARCH_UPDATES]: [ + [ + { + values: [ + Plans.values.scale, + Plans.values.eagleEye, + Plans.values.enterprise, + Plans.values.essential, + Plans.values.growth, + ], + inverted: false, + operator: 'IN', + contextName: 'plan', + caseInsensitive: false, + }, + ], + ], } let seq: any diff --git a/backend/src/services/activityService.ts b/backend/src/services/activityService.ts index bc2e9fb5d0..5215f06691 100644 --- a/backend/src/services/activityService.ts +++ b/backend/src/services/activityService.ts @@ -4,7 +4,6 @@ import vader from 'crowd-sentiment' import { Transaction } from 'sequelize/types' import { FeatureFlag, PlatformType } from '@crowd/types' import { WorkflowIdReusePolicy } from '@crowd/temporal' -import { getSearchSyncApiClient } from '@/utils/apiClients' import { IS_DEV_ENV, IS_TEST_ENV, GITHUB_CONFIG, TEMPORAL_CONFIG } from '../conf' import ActivityRepository from '../database/repositories/activityRepository' import MemberAttributeSettingsRepository from '../database/repositories/memberAttributeSettingsRepository' @@ -24,6 +23,7 @@ import MemberService from './memberService' import SegmentService from './segmentService' import MemberAffiliationService from './memberAffiliationService' import isFeatureEnabled from '@/feature-flags/isFeatureEnabled' +import SearchSyncService from './searchSyncService' const IS_GITHUB_COMMIT_DATA_ENABLED = GITHUB_CONFIG.isCommitDataEnabled === 'true' @@ -56,7 +56,6 @@ export default class ActivityService extends LoggerBase { fireSync: boolean = true, ) { const transaction = await SequelizeRepository.createTransaction(this.options) - const searchSyncApi = await getSearchSyncApiClient() const repositoryOptions = { ...this.options, transaction } try { @@ -182,8 +181,16 @@ export default class ActivityService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) if (fireSync) { - await searchSyncApi.triggerMemberSync(record.memberId) - await searchSyncApi.triggerActivitySync(record.id) + await SearchSyncService.triggerMemberSync( + this.options.currentTenant.id, + record.memberId, + this.options, + ) + await SearchSyncService.triggerActivitySync( + this.options.currentTenant.id, + record.id, + this.options, + ) } if (!existing && fireCrowdWebhooks) { @@ -395,8 +402,6 @@ export default class ActivityService extends LoggerBase { */ async addToConversation(id: string, parentId: string, transaction: Transaction) { - const searchSyncApi = await getSearchSyncApiClient() - const parent = await ActivityRepository.findById(parentId, { ...this.options, transaction }) const child = await ActivityRepository.findById(id, { ...this.options, transaction }) const conversationService = new ConversationService({ @@ -441,7 +446,11 @@ export default class ActivityService extends LoggerBase { { conversationId: conversation.id }, { ...this.options, transaction }, ) - await searchSyncApi.triggerActivitySync(parent.id) + await SearchSyncService.triggerActivitySync( + this.options.currentTenant.id, + parent.id, + this.options, + ) } else { // neither child nor parent is in a conversation, create one from parent const conversationTitle = await conversationService.generateTitle( @@ -470,7 +479,11 @@ export default class ActivityService extends LoggerBase { { conversationId: conversation.id }, { ...this.options, transaction }, ) - await searchSyncApi.triggerActivitySync(parentId) + await SearchSyncService.triggerActivitySync( + this.options.currentTenant.id, + parentId, + this.options, + ) record = await ActivityRepository.update( id, { conversationId: conversation.id }, @@ -503,7 +516,6 @@ export default class ActivityService extends LoggerBase { async createWithMember(data, fireCrowdWebhooks: boolean = true) { const logger = this.options.log - const searchSyncApi = await getSearchSyncApiClient() const errorDetails: any = {} @@ -569,7 +581,11 @@ export default class ActivityService extends LoggerBase { ) await ActivityRepository.destroy(activityExists.id, this.options, true) - await searchSyncApi.triggerRemoveActivity(activityExists.id) + await SearchSyncService.triggerRemoveActivity( + this.options.currentTenant.id, + activityExists.id, + this.options, + ) activityExists = false existingMember = false } @@ -635,11 +651,23 @@ export default class ActivityService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) - await searchSyncApi.triggerMemberSync(record.memberId) - await searchSyncApi.triggerActivitySync(record.id) + await SearchSyncService.triggerMemberSync( + this.options.currentTenant.id, + record.memberId, + this.options, + ) + await SearchSyncService.triggerActivitySync( + this.options.currentTenant.id, + record.id, + this.options, + ) if (data.objectMember) { - await searchSyncApi.triggerMemberSync(data.objectMember) + await SearchSyncService.triggerMemberSync( + this.options.currentTenant.id, + data.objectMember, + this.options, + ) } return record @@ -671,7 +699,6 @@ export default class ActivityService extends LoggerBase { async update(id, data) { const transaction = await SequelizeRepository.createTransaction(this.options) - const searchSyncApi = await getSearchSyncApiClient() try { data.member = await MemberRepository.filterIdInTenant(data.member, { @@ -693,8 +720,16 @@ export default class ActivityService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) - await searchSyncApi.triggerActivitySync(record.id) - await searchSyncApi.triggerMemberSync(record.memberId) + await SearchSyncService.triggerActivitySync( + this.options.currentTenant.id, + record.id, + this.options, + ) + await SearchSyncService.triggerMemberSync( + this.options.currentTenant.id, + record.memberId, + this.options, + ) return record } catch (error) { if (error.name && error.name.includes('Sequelize')) { @@ -718,8 +753,6 @@ export default class ActivityService extends LoggerBase { } async destroyAll(ids) { - const searchSyncApi = await getSearchSyncApiClient() - const transaction = await SequelizeRepository.createTransaction(this.options) try { @@ -737,7 +770,7 @@ export default class ActivityService extends LoggerBase { } for (const id of ids) { - await searchSyncApi.triggerRemoveActivity(id) + await SearchSyncService.triggerRemoveActivity(this.options.currentTenant.id, id, this.options) } } diff --git a/backend/src/services/integrationService.ts b/backend/src/services/integrationService.ts index 2a6733aaa6..f39bb7eb18 100644 --- a/backend/src/services/integrationService.ts +++ b/backend/src/services/integrationService.ts @@ -17,7 +17,6 @@ import { getHubspotLists, IProcessStreamContext, } from '@crowd/integrations' -import { getSearchSyncApiClient } from '@/utils/apiClients' import { ILinkedInOrganization } from '../serverless/integrations/types/linkedinTypes' import { DISCORD_CONFIG, GITHUB_CONFIG, IS_TEST_ENV, KUBE_MODE, NANGO_CONFIG } from '../conf/index' import Error400 from '../errors/Error400' @@ -48,6 +47,7 @@ import { GroupsioGetToken, GroupsioVerifyGroup, } from '@/serverless/integrations/usecases/groupsio/types' +import SearchSyncService from './searchSyncService' const discordToken = DISCORD_CONFIG.token || DISCORD_CONFIG.token2 @@ -620,8 +620,11 @@ export default class IntegrationService { ) // send it to opensearch because in member.update we bypass while passing transactions - const searchSyncApi = await getSearchSyncApiClient() - await searchSyncApi.triggerMemberSync(member.id) + await SearchSyncService.triggerMemberSync( + this.options.currentTenant.id, + member.id, + this.options, + ) } async hubspotStopSyncOrganization(payload: IHubspotManualSyncPayload) { diff --git a/backend/src/services/memberService.ts b/backend/src/services/memberService.ts index b8afa3ea71..ac6fe05c43 100644 --- a/backend/src/services/memberService.ts +++ b/backend/src/services/memberService.ts @@ -7,7 +7,6 @@ import validator from 'validator' import { FeatureFlag, IOrganization, MemberAttributeType } from '@crowd/types' import { isDomainExcluded } from '@crowd/common' import { WorkflowIdReusePolicy } from '@crowd/temporal' -import { getSearchSyncApiClient } from '@/utils/apiClients' import { IRepositoryOptions } from '../database/repositories/IRepositoryOptions' import ActivityRepository from '../database/repositories/activityRepository' import MemberAttributeSettingsRepository from '../database/repositories/memberAttributeSettingsRepository' @@ -35,6 +34,7 @@ import SettingsService from './settingsService' import isFeatureEnabled from '../feature-flags/isFeatureEnabled' import SegmentRepository from '../database/repositories/segmentRepository' import { TEMPORAL_CONFIG } from '@/conf' +import SearchSyncService from './searchSyncService' export default class MemberService extends LoggerBase { options: IServiceOptions @@ -200,7 +200,6 @@ export default class MemberService extends LoggerBase { fireSync: boolean = true, ) { const logger = this.options.log - const searchSyncApi = await getSearchSyncApiClient() const errorDetails: any = {} @@ -436,7 +435,11 @@ export default class MemberService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) if (fireSync) { - await searchSyncApi.triggerMemberSync(record.id) + await SearchSyncService.triggerMemberSync( + this.options.currentTenant.id, + record.id, + this.options, + ) } if (!existing && fireCrowdWebhooks) { @@ -656,9 +659,16 @@ export default class MemberService extends LoggerBase { await SequelizeRepository.commitTransaction(tx) try { - const searchSyncApi = await getSearchSyncApiClient() - await searchSyncApi.triggerMemberSync(originalId) - await searchSyncApi.triggerRemoveMember(toMergeId) + await SearchSyncService.triggerMemberSync( + this.options.currentTenant.id, + originalId, + this.options, + ) + await SearchSyncService.triggerRemoveMember( + this.options.currentTenant.id, + toMergeId, + this.options, + ) } catch (emitError) { this.log.error( emitError, @@ -771,14 +781,20 @@ export default class MemberService extends LoggerBase { async addToMerge(suggestions: IMemberMergeSuggestion[]) { const transaction = await SequelizeRepository.createTransaction(this.options) try { - const searchSyncApi = await getSearchSyncApiClient() - await MemberRepository.addToMerge(suggestions, { ...this.options, transaction }) await SequelizeRepository.commitTransaction(transaction) for (const suggestion of suggestions) { - await searchSyncApi.triggerMemberSync(suggestion.members[0]) - await searchSyncApi.triggerMemberSync(suggestion.members[1]) + await SearchSyncService.triggerMemberSync( + this.options.currentTenant.id, + suggestion.members[0], + this.options, + ) + await SearchSyncService.triggerMemberSync( + this.options.currentTenant.id, + suggestion.members[1], + this.options, + ) } return { status: 200 } } catch (error) { @@ -796,7 +812,6 @@ export default class MemberService extends LoggerBase { */ async addToNoMerge(memberOneId, memberTwoId) { const transaction = await SequelizeRepository.createTransaction(this.options) - const searchSyncApi = await getSearchSyncApiClient() try { await MemberRepository.addNoMerge(memberOneId, memberTwoId, { @@ -818,8 +833,16 @@ export default class MemberService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) - await searchSyncApi.triggerMemberSync(memberOneId) - await searchSyncApi.triggerMemberSync(memberTwoId) + await SearchSyncService.triggerMemberSync( + this.options.currentTenant.id, + memberOneId, + this.options, + ) + await SearchSyncService.triggerMemberSync( + this.options.currentTenant.id, + memberTwoId, + this.options, + ) return { status: 200 } } catch (error) { @@ -867,7 +890,6 @@ export default class MemberService extends LoggerBase { async update(id, data, syncToOpensearch = true) { let transaction - const searchSyncApi = await getSearchSyncApiClient() try { const repoOptions = await SequelizeRepository.createTransactionalRepositoryOptions( @@ -931,7 +953,11 @@ export default class MemberService extends LoggerBase { if (syncToOpensearch) { try { - await searchSyncApi.triggerMemberSync(record.id) + await SearchSyncService.triggerMemberSync( + this.options.currentTenant.id, + record.id, + this.options, + ) } catch (emitErr) { this.log.error( emitErr, @@ -968,7 +994,6 @@ export default class MemberService extends LoggerBase { async destroyBulk(ids) { const transaction = await SequelizeRepository.createTransaction(this.options) - const searchSyncApi = await getSearchSyncApiClient() try { await MemberRepository.destroyBulk( @@ -987,13 +1012,12 @@ export default class MemberService extends LoggerBase { } for (const id of ids) { - await searchSyncApi.triggerRemoveMember(id) + await SearchSyncService.triggerRemoveMember(this.options.currentTenant.id, id, this.options) } } async destroyAll(ids) { const transaction = await SequelizeRepository.createTransaction(this.options) - const searchSyncApi = await getSearchSyncApiClient() try { for (const id of ids) { @@ -1014,7 +1038,7 @@ export default class MemberService extends LoggerBase { } for (const id of ids) { - await searchSyncApi.triggerRemoveMember(id) + await SearchSyncService.triggerRemoveMember(this.options.currentTenant.id, id, this.options) } } diff --git a/backend/src/services/organizationService.ts b/backend/src/services/organizationService.ts index ede28cbf84..df1f0b1b63 100644 --- a/backend/src/services/organizationService.ts +++ b/backend/src/services/organizationService.ts @@ -1,7 +1,6 @@ import { websiteNormalizer } from '@crowd/common' import { LoggerBase } from '@crowd/logging' import { IOrganization, IOrganizationIdentity, OrganizationMergeSuggestionType } from '@crowd/types' -import { getSearchSyncApiClient } from '@/utils/apiClients' import { IRepositoryOptions } from '@/database/repositories/IRepositoryOptions' import getObjectWithoutKey from '@/utils/getObjectWithoutKey' import { CLEARBIT_CONFIG, IS_TEST_ENV } from '../conf' @@ -20,6 +19,7 @@ import { keepPrimaryIfExists, mergeUniqueStringArrayItems, } from './helpers/mergeFunctions' +import SearchSyncService from './searchSyncService' export default class OrganizationService extends LoggerBase { options: IServiceOptions @@ -155,15 +155,22 @@ export default class OrganizationService extends LoggerBase { await SequelizeRepository.commitTransaction(tx) - const searchSyncApi = await getSearchSyncApiClient() - await searchSyncApi.triggerOrganizationSync(originalId) - await searchSyncApi.triggerRemoveOrganization(toMergeId) + await SearchSyncService.triggerOrganizationSync( + this.options.currentTenant.id, + originalId, + this.options, + ) + await SearchSyncService.triggerRemoveOrganization( + this.options.currentTenant.id, + toMergeId, + this.options, + ) // sync organization members - await searchSyncApi.triggerOrganizationMembersSync(originalId) + await SearchSyncService.triggerOrganizationMembersSync(originalId, this.options) // sync organization activities - await searchSyncApi.triggerOrganizationActivitiesSync(originalId) + await SearchSyncService.triggerOrganizationActivitiesSync(originalId, this.options) this.options.log.info({ originalId, toMergeId }, 'Organizations merged!') return { status: 200, mergedId: originalId } @@ -302,7 +309,6 @@ export default class OrganizationService extends LoggerBase { async addToNoMerge(organizationId: string, noMergeId: string): Promise { const transaction = await SequelizeRepository.createTransaction(this.options) - const searchSyncApi = await getSearchSyncApiClient() try { await OrganizationRepository.addNoMerge(organizationId, noMergeId, { @@ -316,8 +322,16 @@ export default class OrganizationService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) - await searchSyncApi.triggerOrganizationSync(organizationId) - await searchSyncApi.triggerOrganizationSync(noMergeId) + await SearchSyncService.triggerOrganizationSync( + this.options.currentTenant.id, + organizationId, + this.options, + ) + await SearchSyncService.triggerOrganizationSync( + this.options.currentTenant.id, + noMergeId, + this.options, + ) } catch (error) { await SequelizeRepository.rollbackTransaction(transaction) @@ -503,8 +517,11 @@ export default class OrganizationService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) - const searchSyncApi = await getSearchSyncApiClient() - await searchSyncApi.triggerOrganizationSync(record.id) + await SearchSyncService.triggerOrganizationSync( + this.options.currentTenant.id, + record.id, + this.options, + ) return await this.findById(record.id) } catch (error) { @@ -568,8 +585,11 @@ export default class OrganizationService extends LoggerBase { if (syncToOpensearch) { try { - const searchSyncApi = await getSearchSyncApiClient() - await searchSyncApi.triggerOrganizationSync(record.id) + await SearchSyncService.triggerOrganizationSync( + this.options.currentTenant.id, + record.id, + this.options, + ) } catch (emitErr) { this.log.error( emitErr, @@ -608,10 +628,12 @@ export default class OrganizationService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) - const searchSyncApi = await getSearchSyncApiClient() - for (const id of ids) { - await searchSyncApi.triggerRemoveOrganization(id) + await SearchSyncService.triggerRemoveOrganization( + this.options.currentTenant.id, + id, + this.options, + ) } } catch (error) { await SequelizeRepository.rollbackTransaction(transaction) @@ -665,9 +687,12 @@ export default class OrganizationService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) - const searchSyncApi = await getSearchSyncApiClient() for (const id of ids) { - await searchSyncApi.triggerRemoveOrganization(id) + await SearchSyncService.triggerRemoveOrganization( + this.options.currentTenant.id, + id, + this.options, + ) } } catch (error) { await SequelizeRepository.rollbackTransaction(transaction) diff --git a/backend/src/services/premium/enrichment/memberEnrichmentService.ts b/backend/src/services/premium/enrichment/memberEnrichmentService.ts index 945034bd39..5e886054f2 100644 --- a/backend/src/services/premium/enrichment/memberEnrichmentService.ts +++ b/backend/src/services/premium/enrichment/memberEnrichmentService.ts @@ -12,7 +12,6 @@ import { PlatformType, OrganizationSource, } from '@crowd/types' -import { getSearchSyncApiClient } from '@/utils/apiClients' import { ENRICHMENT_CONFIG, REDIS_CONFIG } from '../../../conf' import { AttributeData } from '../../../database/attributes/attribute' import MemberEnrichmentCacheRepository from '../../../database/repositories/memberEnrichmentCacheRepository' @@ -36,6 +35,7 @@ import OrganizationService from '../../organizationService' import MemberRepository from '../../../database/repositories/memberRepository' import OrganizationRepository from '../../../database/repositories/organizationRepository' import SequelizeRepository from '@/database/repositories/sequelizeRepository' +import SearchSyncService from '@/services/searchSyncService' export default class MemberEnrichmentService extends LoggerBase { options: IServiceOptions @@ -144,7 +144,6 @@ export default class MemberEnrichmentService extends LoggerBase { async bulkEnrich(memberIds: string[], notifyFrontend: boolean = true) { const redis = await getRedisClient(REDIS_CONFIG, true) - const searchSyncApi = await getSearchSyncApiClient() const apiPubSubEmitter = new RedisPubSubEmitter( 'api-pubsub', @@ -159,7 +158,11 @@ export default class MemberEnrichmentService extends LoggerBase { try { await this.enrichOne(memberId) enrichedMembers++ - await searchSyncApi.triggerMemberSync(memberId) + await SearchSyncService.triggerMemberSync( + this.options.currentTenant.id, + memberId, + this.options, + ) this.log.info(`Enriched member ${memberId}`) } catch (err) { if ( @@ -236,8 +239,6 @@ export default class MemberEnrichmentService extends LoggerBase { await this.getAttributes() } - const searchSyncApi = await getSearchSyncApiClient() - // Create an instance of the MemberService and use it to look up the member const memberService = new MemberService(options) const member = await memberService.findById(memberId, false, false) @@ -357,7 +358,11 @@ export default class MemberEnrichmentService extends LoggerBase { } } - await searchSyncApi.triggerMemberSync(result.id) + await SearchSyncService.triggerMemberSync( + this.options.currentTenant.id, + result.id, + this.options, + ) result = await memberService.findById(result.id, true, false) await SequelizeRepository.commitTransaction(transaction) diff --git a/backend/src/services/premium/enrichment/organizationEnrichmentService.ts b/backend/src/services/premium/enrichment/organizationEnrichmentService.ts index 55b543c58d..81ea7df78a 100644 --- a/backend/src/services/premium/enrichment/organizationEnrichmentService.ts +++ b/backend/src/services/premium/enrichment/organizationEnrichmentService.ts @@ -10,7 +10,6 @@ import { IOrganizationCache, PlatformType, } from '@crowd/types' -import { getSearchSyncApiClient } from '@/utils/apiClients' import { REDIS_CONFIG } from '../../../conf' import OrganizationRepository from '../../../database/repositories/organizationRepository' import { renameKeys } from '../../../utils/renameKeys' @@ -18,6 +17,7 @@ import { IServiceOptions } from '../../IServiceOptions' import { EnrichmentParams, IEnrichmentResponse } from './types/organizationEnrichmentTypes' import SequelizeRepository from '@/database/repositories/sequelizeRepository' import OrganizationService from '@/services/organizationService' +import SearchSyncService from '@/services/searchSyncService' export default class OrganizationEnrichmentService extends LoggerBase { tenantId: string @@ -166,7 +166,6 @@ export default class OrganizationEnrichmentService extends LoggerBase { const transaction = await SequelizeRepository.createTransaction(this.options) try { - const searchSyncApi = await getSearchSyncApiClient() let unmergedOrgs: IOrganization[] = [] // check strong weak identities and move them if needed @@ -228,7 +227,11 @@ export default class OrganizationEnrichmentService extends LoggerBase { ) for (const org of records) { - await searchSyncApi.triggerOrganizationSync(org.id) + await SearchSyncService.triggerOrganizationSync( + this.options.currentTenant.id, + org.id, + this.options, + ) } await SequelizeRepository.commitTransaction(transaction) diff --git a/backend/src/services/searchSyncService.ts b/backend/src/services/searchSyncService.ts new file mode 100644 index 0000000000..f0efff476c --- /dev/null +++ b/backend/src/services/searchSyncService.ts @@ -0,0 +1,171 @@ +import { LoggerBase } from '@crowd/logging' +import { SearchSyncApiClient } from '@crowd/opensearch' +import { SearchSyncWorkerEmitter } from '@crowd/sqs' +import { FeatureFlag } from '@crowd/types' +import { getSearchSyncApiClient } from '../utils/apiClients' +import { getSearchSyncWorkerEmitter } from '@/serverless/utils/serviceSQS' +import isFeatureEnabled from '@/feature-flags/isFeatureEnabled' + +export default class SearchSyncService extends LoggerBase { + static async getSearchSyncClient( + options, + ): Promise { + if (await isFeatureEnabled(FeatureFlag.SYNCHRONOUS_OPENSEARCH_UPDATES, options)) { + return getSearchSyncApiClient() + } + + return getSearchSyncWorkerEmitter() + } + + static async triggerMemberSync(tenantId: string, memberId: string, options) { + const client = await SearchSyncService.getSearchSyncClient(options) + + if (client instanceof SearchSyncApiClient) { + await client.triggerMemberSync(memberId) + } else if (client instanceof SearchSyncWorkerEmitter) { + await client.triggerMemberSync(tenantId, memberId) + } else { + throw new Error('Unexpected search client type!') + } + } + + static async triggerTenantMembersSync(tenantId: string, options) { + const client = await SearchSyncService.getSearchSyncClient(options) + + if (client instanceof SearchSyncApiClient || client instanceof SearchSyncWorkerEmitter) { + await client.triggerTenantMembersSync(tenantId) + } else { + throw new Error('Unexpected search client type!') + } + } + + static async triggerOrganizationMembersSync(organizationId: string, options) { + const client = await SearchSyncService.getSearchSyncClient(options) + + if (client instanceof SearchSyncApiClient || client instanceof SearchSyncWorkerEmitter) { + await client.triggerOrganizationMembersSync(organizationId) + } else { + throw new Error('Unexpected search client type!') + } + } + + static async triggerRemoveMember(tenantId: string, memberId: string, options) { + const client = await SearchSyncService.getSearchSyncClient(options) + + if (client instanceof SearchSyncApiClient) { + await client.triggerRemoveMember(memberId) + } else if (client instanceof SearchSyncWorkerEmitter) { + await client.triggerRemoveMember(tenantId, memberId) + } else { + throw new Error('Unexpected search client type!') + } + } + + static async triggerMemberCleanup(tenantId: string, options) { + const client = await SearchSyncService.getSearchSyncClient(options) + + if (client instanceof SearchSyncApiClient || client instanceof SearchSyncWorkerEmitter) { + await client.triggerMemberCleanup(tenantId) + } else { + throw new Error('Unexpected search client type!') + } + } + + static async triggerActivitySync(tenantId: string, activityId: string, options) { + const client = await SearchSyncService.getSearchSyncClient(options) + + if (client instanceof SearchSyncApiClient) { + await client.triggerActivitySync(activityId) + } else if (client instanceof SearchSyncWorkerEmitter) { + await client.triggerActivitySync(tenantId, activityId) + } else { + throw new Error('Unexpected search client type!') + } + } + + static async triggerTenantActivitiesSync(tenantId: string, options) { + const client = await SearchSyncService.getSearchSyncClient(options) + + if (client instanceof SearchSyncApiClient || client instanceof SearchSyncWorkerEmitter) { + await client.triggerTenantActivitiesSync(tenantId) + } else { + throw new Error('Unexpected search client type!') + } + } + + static async triggerOrganizationActivitiesSync(organizationId: string, options) { + const client = await SearchSyncService.getSearchSyncClient(options) + + if (client instanceof SearchSyncApiClient || client instanceof SearchSyncWorkerEmitter) { + await client.triggerOrganizationActivitiesSync(organizationId) + } else { + throw new Error('Unexpected search client type!') + } + } + + static async triggerRemoveActivity(tenantId: string, activityId: string, options) { + const client = await SearchSyncService.getSearchSyncClient(options) + + if (client instanceof SearchSyncApiClient) { + await client.triggerRemoveActivity(activityId) + } else if (client instanceof SearchSyncWorkerEmitter) { + await client.triggerRemoveActivity(tenantId, activityId) + } else { + throw new Error('Unexpected search client type!') + } + } + + static async triggerActivityCleanup(tenantId: string, options) { + const client = await SearchSyncService.getSearchSyncClient(options) + + if (client instanceof SearchSyncApiClient || client instanceof SearchSyncWorkerEmitter) { + await client.triggerActivityCleanup(tenantId) + } else { + throw new Error('Unexpected search client type!') + } + } + + static async triggerOrganizationSync(tenantId: string, organizationId: string, options) { + const client = await SearchSyncService.getSearchSyncClient(options) + + if (client instanceof SearchSyncApiClient) { + await client.triggerOrganizationSync(organizationId) + } else if (client instanceof SearchSyncWorkerEmitter) { + await client.triggerOrganizationSync(tenantId, organizationId) + } else { + throw new Error('Unexpected search client type!') + } + } + + static async triggerTenantOrganizationSync(tenantId: string, options) { + const client = await SearchSyncService.getSearchSyncClient(options) + + if (client instanceof SearchSyncApiClient || client instanceof SearchSyncWorkerEmitter) { + await client.triggerTenantOrganizationSync(tenantId) + } else { + throw new Error('Unexpected search client type!') + } + } + + static async triggerRemoveOrganization(tenantId: string, organizationId: string, options) { + const client = await SearchSyncService.getSearchSyncClient(options) + + if (client instanceof SearchSyncApiClient) { + await client.triggerRemoveOrganization(organizationId) + } else if (client instanceof SearchSyncWorkerEmitter) { + await client.triggerRemoveOrganization(tenantId, organizationId) + } else { + throw new Error('Unexpected search client type!') + } + } + + static async triggerOrganizationCleanup(tenantId: string, options) { + const client = await SearchSyncService.getSearchSyncClient(options) + + if (client instanceof SearchSyncApiClient || client instanceof SearchSyncWorkerEmitter) { + await client.triggerOrganizationCleanup(tenantId) + } else { + throw new Error('Unexpected search client type!') + } + } +} diff --git a/services/libs/types/src/enums/featureFlags.ts b/services/libs/types/src/enums/featureFlags.ts index d75a2cfbec..b8cbde4dcf 100644 --- a/services/libs/types/src/enums/featureFlags.ts +++ b/services/libs/types/src/enums/featureFlags.ts @@ -8,6 +8,9 @@ export enum FeatureFlag { ORGANIZATION_ENRICHMENT = 'organization-enrichment', SEGMENTS = 'segments', + // opensearch + SYNCHRONOUS_OPENSEARCH_UPDATES = 'synchronous-opensearch-updates', + // temporal TEMPORAL_AUTOMATIONS = 'temporal-automations', } From a4a4e6a3d8a1168197c0e2f3c5371a6e6ad91bec Mon Sep 17 00:00:00 2001 From: anilb Date: Tue, 7 Nov 2023 11:25:55 +0100 Subject: [PATCH 30/38] async search syncing in ata sink worker scripts --- .../src/bin/map-member-to-org.ts | 25 +++++++++---------- .../src/bin/map-tenant-members-to-org.ts | 25 +++++++++---------- .../src/bin/process-results.ts | 11 ++++---- 3 files changed, 29 insertions(+), 32 deletions(-) diff --git a/services/apps/data_sink_worker/src/bin/map-member-to-org.ts b/services/apps/data_sink_worker/src/bin/map-member-to-org.ts index e1440cfdc3..3e27e78d18 100644 --- a/services/apps/data_sink_worker/src/bin/map-member-to-org.ts +++ b/services/apps/data_sink_worker/src/bin/map-member-to-org.ts @@ -1,21 +1,19 @@ -import { - DB_CONFIG, - SEARCH_SYNC_API_CONFIG, - SQS_CONFIG, - TEMPORAL_CONFIG, - UNLEASH_CONFIG, -} from '../conf' +import { DB_CONFIG, SQS_CONFIG, TEMPORAL_CONFIG, UNLEASH_CONFIG } from '../conf' import { DbStore, getDbConnection } from '@crowd/database' import { getServiceTracer } from '@crowd/tracing' import { getServiceLogger } from '@crowd/logging' -import { DataSinkWorkerEmitter, NodejsWorkerEmitter, getSqsClient } from '@crowd/sqs' +import { + DataSinkWorkerEmitter, + NodejsWorkerEmitter, + SearchSyncWorkerEmitter, + getSqsClient, +} from '@crowd/sqs' import MemberRepository from '../repo/member.repo' import MemberService from '../service/member.service' import DataSinkRepository from '../repo/dataSink.repo' import { OrganizationService } from '../service/organization.service' import { getUnleashClient } from '@crowd/feature-flags' import { Client as TemporalClient, getTemporalClient } from '@crowd/temporal' -import { SearchSyncApiClient } from '../../../../libs/opensearch/src/apiClient' const tracer = getServiceTracer() const log = getServiceLogger() @@ -51,14 +49,15 @@ setImmediate(async () => { const nodejsWorkerEmitter = new NodejsWorkerEmitter(sqsClient, tracer, log) await nodejsWorkerEmitter.init() - const searchSyncApi = new SearchSyncApiClient(SEARCH_SYNC_API_CONFIG()) + const searchSyncWorkerEmitter = new SearchSyncWorkerEmitter(sqsClient, tracer, log) + await searchSyncWorkerEmitter.init() const memberService = new MemberService( store, nodejsWorkerEmitter, + searchSyncWorkerEmitter, unleash, temporal, - searchSyncApi, log, ) const orgService = new OrganizationService(store, log) @@ -90,10 +89,10 @@ setImmediate(async () => { orgService.addToMember(member.tenantId, segmentId, member.id, orgs) for (const org of orgs) { - await searchSyncApi.triggerOrganizationSync(org.id) + await searchSyncWorkerEmitter.triggerOrganizationSync(member.tenantId, org.id) } - await searchSyncApi.triggerMemberSync(member.id) + await searchSyncWorkerEmitter.triggerMemberSync(member.tenantId, member.id) log.info('Done mapping member to organizations!') } else { log.info('No organizations found with matching email domains!') diff --git a/services/apps/data_sink_worker/src/bin/map-tenant-members-to-org.ts b/services/apps/data_sink_worker/src/bin/map-tenant-members-to-org.ts index e7e2421e79..6a2b7aba56 100644 --- a/services/apps/data_sink_worker/src/bin/map-tenant-members-to-org.ts +++ b/services/apps/data_sink_worker/src/bin/map-tenant-members-to-org.ts @@ -1,21 +1,19 @@ -import { - DB_CONFIG, - SEARCH_SYNC_API_CONFIG, - SQS_CONFIG, - TEMPORAL_CONFIG, - UNLEASH_CONFIG, -} from '../conf' +import { DB_CONFIG, SQS_CONFIG, TEMPORAL_CONFIG, UNLEASH_CONFIG } from '../conf' import { DbStore, getDbConnection } from '@crowd/database' import { getServiceTracer } from '@crowd/tracing' import { getServiceLogger } from '@crowd/logging' -import { DataSinkWorkerEmitter, NodejsWorkerEmitter, getSqsClient } from '@crowd/sqs' +import { + DataSinkWorkerEmitter, + NodejsWorkerEmitter, + SearchSyncWorkerEmitter, + getSqsClient, +} from '@crowd/sqs' import MemberRepository from '../repo/member.repo' import DataSinkRepository from '../repo/dataSink.repo' import MemberService from '../service/member.service' import { OrganizationService } from '../service/organization.service' import { getUnleashClient } from '@crowd/feature-flags' import { Client as TemporalClient, getTemporalClient } from '@crowd/temporal' -import { SearchSyncApiClient } from '@crowd/opensearch' const tracer = getServiceTracer() const log = getServiceLogger() @@ -54,14 +52,15 @@ setImmediate(async () => { const nodejsWorkerEmitter = new NodejsWorkerEmitter(sqsClient, tracer, log) await nodejsWorkerEmitter.init() - const searchSyncApi = new SearchSyncApiClient(SEARCH_SYNC_API_CONFIG()) + const searchSyncWorkerEmitter = new SearchSyncWorkerEmitter(sqsClient, tracer, log) + await searchSyncWorkerEmitter.init() const memberService = new MemberService( store, nodejsWorkerEmitter, + searchSyncWorkerEmitter, unleash, temporal, - searchSyncApi, log, ) const orgService = new OrganizationService(store, log) @@ -104,10 +103,10 @@ setImmediate(async () => { orgService.addToMember(tenantId, segmentId, member.id, orgs) for (const org of orgs) { - await searchSyncApi.triggerOrganizationSync(org.id) + await searchSyncWorkerEmitter.triggerOrganizationSync(tenantId, org.id) } - await searchSyncApi.triggerMemberSync(member.id) + await searchSyncWorkerEmitter.triggerMemberSync(tenantId, member.id) } } diff --git a/services/apps/data_sink_worker/src/bin/process-results.ts b/services/apps/data_sink_worker/src/bin/process-results.ts index 7ff86f29b5..c6b72de1a5 100644 --- a/services/apps/data_sink_worker/src/bin/process-results.ts +++ b/services/apps/data_sink_worker/src/bin/process-results.ts @@ -5,7 +5,6 @@ import { SENTIMENT_CONFIG, TEMPORAL_CONFIG, UNLEASH_CONFIG, - SEARCH_SYNC_API_CONFIG, } from '../conf' import DataSinkRepository from '../repo/dataSink.repo' import DataSinkService from '../service/dataSink.service' @@ -13,11 +12,10 @@ import { DbStore, getDbConnection } from '@crowd/database' import { getServiceTracer } from '@crowd/tracing' import { getServiceLogger } from '@crowd/logging' import { getRedisClient } from '@crowd/redis' -import { NodejsWorkerEmitter, getSqsClient } from '@crowd/sqs' +import { NodejsWorkerEmitter, SearchSyncWorkerEmitter, getSqsClient } from '@crowd/sqs' import { initializeSentimentAnalysis } from '@crowd/sentiment' import { getUnleashClient } from '@crowd/feature-flags' import { Client as TemporalClient, getTemporalClient } from '@crowd/temporal' -import { SearchSyncApiClient } from '@crowd/opensearch' const tracer = getServiceTracer() const log = getServiceLogger() @@ -48,18 +46,19 @@ setImmediate(async () => { const nodejsWorkerEmitter = new NodejsWorkerEmitter(sqsClient, tracer, log) await nodejsWorkerEmitter.init() + const searchSyncWorkerEmitter = new SearchSyncWorkerEmitter(sqsClient, tracer, log) + await searchSyncWorkerEmitter.init() + const dbConnection = await getDbConnection(DB_CONFIG()) const store = new DbStore(log, dbConnection) - const searchSyncApi = new SearchSyncApiClient(SEARCH_SYNC_API_CONFIG()) - const service = new DataSinkService( store, nodejsWorkerEmitter, + searchSyncWorkerEmitter, redisClient, unleash, temporal, - searchSyncApi, log, ) From 8cdab0604e3ae243d694ea5ad28d1ef7c29d64b4 Mon Sep 17 00:00:00 2001 From: anilb Date: Tue, 7 Nov 2023 11:56:39 +0100 Subject: [PATCH 31/38] tests now always use the async emitter --- backend/src/services/searchSyncService.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/backend/src/services/searchSyncService.ts b/backend/src/services/searchSyncService.ts index f0efff476c..c20a823df0 100644 --- a/backend/src/services/searchSyncService.ts +++ b/backend/src/services/searchSyncService.ts @@ -5,11 +5,18 @@ import { FeatureFlag } from '@crowd/types' import { getSearchSyncApiClient } from '../utils/apiClients' import { getSearchSyncWorkerEmitter } from '@/serverless/utils/serviceSQS' import isFeatureEnabled from '@/feature-flags/isFeatureEnabled' +import { IS_TEST_ENV } from '@/conf' export default class SearchSyncService extends LoggerBase { static async getSearchSyncClient( options, ): Promise { + + // tests can always use the async emitter + if (IS_TEST_ENV) { + return getSearchSyncWorkerEmitter() + } + if (await isFeatureEnabled(FeatureFlag.SYNCHRONOUS_OPENSEARCH_UPDATES, options)) { return getSearchSyncApiClient() } From 3ce01e415249dde1f90e6ea71ab60fdc0b44f6d0 Mon Sep 17 00:00:00 2001 From: anilb Date: Tue, 7 Nov 2023 11:56:59 +0100 Subject: [PATCH 32/38] formatting --- backend/src/services/searchSyncService.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/backend/src/services/searchSyncService.ts b/backend/src/services/searchSyncService.ts index c20a823df0..f8a18f1b47 100644 --- a/backend/src/services/searchSyncService.ts +++ b/backend/src/services/searchSyncService.ts @@ -11,7 +11,6 @@ export default class SearchSyncService extends LoggerBase { static async getSearchSyncClient( options, ): Promise { - // tests can always use the async emitter if (IS_TEST_ENV) { return getSearchSyncWorkerEmitter() From fb46512604960815e31390bff982b0208bddb097 Mon Sep 17 00:00:00 2001 From: anilb Date: Tue, 7 Nov 2023 12:20:22 +0100 Subject: [PATCH 33/38] httpsclient removed from data sink and integration run workers --- services/apps/data_sink_worker/package-lock.json | 12 +++--------- services/apps/data_sink_worker/package.json | 1 - .../apps/integration_run_worker/package-lock.json | 11 +++++------ services/apps/integration_run_worker/package.json | 1 - 4 files changed, 8 insertions(+), 17 deletions(-) diff --git a/services/apps/data_sink_worker/package-lock.json b/services/apps/data_sink_worker/package-lock.json index c6edb9fc08..7cea679843 100644 --- a/services/apps/data_sink_worker/package-lock.json +++ b/services/apps/data_sink_worker/package-lock.json @@ -13,7 +13,6 @@ "@crowd/conversations": "file:../../libs/conversations", "@crowd/database": "file:../../libs/database", "@crowd/feature-flags": "file:../../libs/feature-flags", - "@crowd/httpsclients": "file:../../libs/httpsclients", "@crowd/integrations": "file:../../libs/integrations", "@crowd/logging": "file:../../libs/logging", "@crowd/redis": "file:../../libs/redis", @@ -139,7 +138,9 @@ "typescript": "^5.0.4" } }, - "../../libs/httpsclients": {}, + "../../libs/httpsclients": { + "extraneous": true + }, "../../libs/integrations": { "name": "@crowd/integrations", "version": "1.0.0", @@ -345,10 +346,6 @@ "resolved": "../../libs/feature-flags", "link": true }, - "node_modules/@crowd/httpsclients": { - "resolved": "../../libs/httpsclients", - "link": true - }, "node_modules/@crowd/integrations": { "resolved": "../../libs/integrations", "link": true @@ -2585,9 +2582,6 @@ "unleash-client": "^3.18.1" } }, - "@crowd/httpsclients": { - "version": "file:../../libs/httpsclients" - }, "@crowd/integrations": { "version": "file:../../libs/integrations", "requires": { diff --git a/services/apps/data_sink_worker/package.json b/services/apps/data_sink_worker/package.json index df4447cb35..da358d7aef 100644 --- a/services/apps/data_sink_worker/package.json +++ b/services/apps/data_sink_worker/package.json @@ -25,7 +25,6 @@ "@crowd/common": "file:../../libs/common", "@crowd/conversations": "file:../../libs/conversations", "@crowd/database": "file:../../libs/database", - "@crowd/httpsclients": "file:../../libs/httpsclients", "@crowd/integrations": "file:../../libs/integrations", "@crowd/logging": "file:../../libs/logging", "@crowd/redis": "file:../../libs/redis", diff --git a/services/apps/integration_run_worker/package-lock.json b/services/apps/integration_run_worker/package-lock.json index aa8ac094e6..86cbba8a7b 100644 --- a/services/apps/integration_run_worker/package-lock.json +++ b/services/apps/integration_run_worker/package-lock.json @@ -11,7 +11,6 @@ "@crowd/alerting": "file:../../libs/alerting", "@crowd/common": "file:../../libs/common", "@crowd/database": "file:../../libs/database", - "@crowd/httpsclients": "file:../../libs/httpsclients", "@crowd/integrations": "file:../../libs/integrations", "@crowd/logging": "file:../../libs/logging", "@crowd/redis": "file:../../libs/redis", @@ -91,7 +90,9 @@ "typescript": "^5.0.4" } }, - "../../libs/httpsclients": {}, + "../../libs/httpsclients": { + "extraneous": true + }, "../../libs/integrations": { "name": "@crowd/integrations", "version": "1.0.0", @@ -103,6 +104,8 @@ "@octokit/graphql": "^5.0.6", "axios": "^1.4.0", "he": "^1.2.0", + "lodash.clonedeep": "^4.5.0", + "lodash.merge": "^4.6.2", "sanitize-html": "^2.10.0", "verify-github-webhook": "^1.0.1" }, @@ -262,10 +265,6 @@ "resolved": "../../libs/database", "link": true }, - "node_modules/@crowd/httpsclients": { - "resolved": "../../libs/httpsclients", - "link": true - }, "node_modules/@crowd/integrations": { "resolved": "../../libs/integrations", "link": true diff --git a/services/apps/integration_run_worker/package.json b/services/apps/integration_run_worker/package.json index cd9c857515..d78046bc0f 100644 --- a/services/apps/integration_run_worker/package.json +++ b/services/apps/integration_run_worker/package.json @@ -21,7 +21,6 @@ "@crowd/alerting": "file:../../libs/alerting", "@crowd/common": "file:../../libs/common", "@crowd/database": "file:../../libs/database", - "@crowd/httpsclients": "file:../../libs/httpsclients", "@crowd/integrations": "file:../../libs/integrations", "@crowd/logging": "file:../../libs/logging", "@crowd/redis": "file:../../libs/redis", From 20c8bc820e860798073f3fd62ba3e8e18e51270c Mon Sep 17 00:00:00 2001 From: anilb Date: Tue, 7 Nov 2023 12:22:54 +0100 Subject: [PATCH 34/38] cleaning code --- services/apps/data_sink_worker/src/main.ts | 2 +- services/apps/data_sink_worker/src/queue/index.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/services/apps/data_sink_worker/src/main.ts b/services/apps/data_sink_worker/src/main.ts index b7c931af38..718dbad2a8 100644 --- a/services/apps/data_sink_worker/src/main.ts +++ b/services/apps/data_sink_worker/src/main.ts @@ -52,10 +52,10 @@ setImmediate(async () => { sqsClient, dbConnection, nodejsWorkerEmitter, + searchSyncWorkerEmitter, redisClient, unleash, temporal, - searchSyncWorkerEmitter, tracer, log, MAX_CONCURRENT_PROCESSING, diff --git a/services/apps/data_sink_worker/src/queue/index.ts b/services/apps/data_sink_worker/src/queue/index.ts index 794e0acad1..1ca09423f7 100644 --- a/services/apps/data_sink_worker/src/queue/index.ts +++ b/services/apps/data_sink_worker/src/queue/index.ts @@ -24,10 +24,10 @@ export class WorkerQueueReceiver extends SqsQueueReceiver { client: SqsClient, private readonly dbConn: DbConnection, private readonly nodejsWorkerEmitter: NodejsWorkerEmitter, + private readonly searchSyncWorkerEmitter: SearchSyncWorkerEmitter, private readonly redisClient: RedisClient, private readonly unleash: Unleash | undefined, private readonly temporal: TemporalClient, - private readonly searchSyncWorkerEmitter: SearchSyncWorkerEmitter, tracer: Tracer, parentLog: Logger, maxConcurrentProcessing: number, From 4e0daca5621ec9023b0318026d208f378415c112 Mon Sep 17 00:00:00 2001 From: anilb Date: Tue, 7 Nov 2023 12:23:19 +0100 Subject: [PATCH 35/38] more cleaning --- services/apps/data_sink_worker/src/queue/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/apps/data_sink_worker/src/queue/index.ts b/services/apps/data_sink_worker/src/queue/index.ts index 1ca09423f7..8cb9c910f0 100644 --- a/services/apps/data_sink_worker/src/queue/index.ts +++ b/services/apps/data_sink_worker/src/queue/index.ts @@ -4,9 +4,9 @@ import { DbConnection, DbStore } from '@crowd/database' import { DATA_SINK_WORKER_QUEUE_SETTINGS, NodejsWorkerEmitter, + SearchSyncWorkerEmitter, SqsClient, SqsQueueReceiver, - SearchSyncWorkerEmitter, } from '@crowd/sqs' import { CreateAndProcessActivityResultQueueMessage, From 496f7260a3cc9618c41dcf7d2e840d1d55873c98 Mon Sep 17 00:00:00 2001 From: anilb Date: Tue, 7 Nov 2023 12:24:26 +0100 Subject: [PATCH 36/38] sink worker cleaning --- services/apps/data_sink_worker/src/main.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/apps/data_sink_worker/src/main.ts b/services/apps/data_sink_worker/src/main.ts index 718dbad2a8..c1f492b29f 100644 --- a/services/apps/data_sink_worker/src/main.ts +++ b/services/apps/data_sink_worker/src/main.ts @@ -1,7 +1,7 @@ import { getDbConnection } from '@crowd/database' import { getServiceTracer } from '@crowd/tracing' import { getServiceLogger } from '@crowd/logging' -import { NodejsWorkerEmitter, getSqsClient, SearchSyncWorkerEmitter } from '@crowd/sqs' +import { NodejsWorkerEmitter, SearchSyncWorkerEmitter, getSqsClient } from '@crowd/sqs' import { DB_CONFIG, SENTIMENT_CONFIG, From df2fda43f09ee64ba9b45b3552fedcd5aa0abdfc Mon Sep 17 00:00:00 2001 From: anilb Date: Tue, 7 Nov 2023 13:11:23 +0100 Subject: [PATCH 37/38] introduced modes in SearchSyncService for easy mode override --- backend/src/services/activityService.ts | 65 ++++-------- backend/src/services/integrationService.ts | 5 +- backend/src/services/memberService.ts | 55 ++++------- backend/src/services/organizationService.ts | 63 ++++-------- .../enrichment/memberEnrichmentService.ts | 11 ++- .../organizationEnrichmentService.ts | 10 +- backend/src/services/searchSyncService.ts | 99 ++++++++++++------- 7 files changed, 134 insertions(+), 174 deletions(-) diff --git a/backend/src/services/activityService.ts b/backend/src/services/activityService.ts index 5215f06691..e4d69540d5 100644 --- a/backend/src/services/activityService.ts +++ b/backend/src/services/activityService.ts @@ -56,6 +56,7 @@ export default class ActivityService extends LoggerBase { fireSync: boolean = true, ) { const transaction = await SequelizeRepository.createTransaction(this.options) + const searchSyncService = new SearchSyncService(this.options) const repositoryOptions = { ...this.options, transaction } try { @@ -181,16 +182,8 @@ export default class ActivityService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) if (fireSync) { - await SearchSyncService.triggerMemberSync( - this.options.currentTenant.id, - record.memberId, - this.options, - ) - await SearchSyncService.triggerActivitySync( - this.options.currentTenant.id, - record.id, - this.options, - ) + await searchSyncService.triggerMemberSync(this.options.currentTenant.id, record.memberId) + await searchSyncService.triggerActivitySync(this.options.currentTenant.id, record.id) } if (!existing && fireCrowdWebhooks) { @@ -402,6 +395,7 @@ export default class ActivityService extends LoggerBase { */ async addToConversation(id: string, parentId: string, transaction: Transaction) { + const searchSyncService = new SearchSyncService(this.options) const parent = await ActivityRepository.findById(parentId, { ...this.options, transaction }) const child = await ActivityRepository.findById(id, { ...this.options, transaction }) const conversationService = new ConversationService({ @@ -446,11 +440,7 @@ export default class ActivityService extends LoggerBase { { conversationId: conversation.id }, { ...this.options, transaction }, ) - await SearchSyncService.triggerActivitySync( - this.options.currentTenant.id, - parent.id, - this.options, - ) + await searchSyncService.triggerActivitySync(this.options.currentTenant.id, parent.id) } else { // neither child nor parent is in a conversation, create one from parent const conversationTitle = await conversationService.generateTitle( @@ -479,11 +469,7 @@ export default class ActivityService extends LoggerBase { { conversationId: conversation.id }, { ...this.options, transaction }, ) - await SearchSyncService.triggerActivitySync( - this.options.currentTenant.id, - parentId, - this.options, - ) + await searchSyncService.triggerActivitySync(this.options.currentTenant.id, parentId) record = await ActivityRepository.update( id, { conversationId: conversation.id }, @@ -516,6 +502,7 @@ export default class ActivityService extends LoggerBase { async createWithMember(data, fireCrowdWebhooks: boolean = true) { const logger = this.options.log + const searchSyncService = new SearchSyncService(this.options) const errorDetails: any = {} @@ -581,10 +568,9 @@ export default class ActivityService extends LoggerBase { ) await ActivityRepository.destroy(activityExists.id, this.options, true) - await SearchSyncService.triggerRemoveActivity( + await searchSyncService.triggerRemoveActivity( this.options.currentTenant.id, activityExists.id, - this.options, ) activityExists = false existingMember = false @@ -651,23 +637,11 @@ export default class ActivityService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) - await SearchSyncService.triggerMemberSync( - this.options.currentTenant.id, - record.memberId, - this.options, - ) - await SearchSyncService.triggerActivitySync( - this.options.currentTenant.id, - record.id, - this.options, - ) + await searchSyncService.triggerMemberSync(this.options.currentTenant.id, record.memberId) + await searchSyncService.triggerActivitySync(this.options.currentTenant.id, record.id) if (data.objectMember) { - await SearchSyncService.triggerMemberSync( - this.options.currentTenant.id, - data.objectMember, - this.options, - ) + await searchSyncService.triggerMemberSync(this.options.currentTenant.id, data.objectMember) } return record @@ -699,6 +673,7 @@ export default class ActivityService extends LoggerBase { async update(id, data) { const transaction = await SequelizeRepository.createTransaction(this.options) + const searchSyncService = new SearchSyncService(this.options) try { data.member = await MemberRepository.filterIdInTenant(data.member, { @@ -720,16 +695,8 @@ export default class ActivityService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) - await SearchSyncService.triggerActivitySync( - this.options.currentTenant.id, - record.id, - this.options, - ) - await SearchSyncService.triggerMemberSync( - this.options.currentTenant.id, - record.memberId, - this.options, - ) + await searchSyncService.triggerActivitySync(this.options.currentTenant.id, record.id) + await searchSyncService.triggerMemberSync(this.options.currentTenant.id, record.memberId) return record } catch (error) { if (error.name && error.name.includes('Sequelize')) { @@ -753,6 +720,8 @@ export default class ActivityService extends LoggerBase { } async destroyAll(ids) { + const searchSyncService = new SearchSyncService(this.options) + const transaction = await SequelizeRepository.createTransaction(this.options) try { @@ -770,7 +739,7 @@ export default class ActivityService extends LoggerBase { } for (const id of ids) { - await SearchSyncService.triggerRemoveActivity(this.options.currentTenant.id, id, this.options) + await searchSyncService.triggerRemoveActivity(this.options.currentTenant.id, id) } } diff --git a/backend/src/services/integrationService.ts b/backend/src/services/integrationService.ts index f39bb7eb18..8ad6b2ac2e 100644 --- a/backend/src/services/integrationService.ts +++ b/backend/src/services/integrationService.ts @@ -619,11 +619,12 @@ export default class IntegrationService { memberSyncRemote.id, ) + const searchSyncService = new SearchSyncService(this.options) + // send it to opensearch because in member.update we bypass while passing transactions - await SearchSyncService.triggerMemberSync( + await searchSyncService.triggerMemberSync( this.options.currentTenant.id, member.id, - this.options, ) } diff --git a/backend/src/services/memberService.ts b/backend/src/services/memberService.ts index ac6fe05c43..933a883a55 100644 --- a/backend/src/services/memberService.ts +++ b/backend/src/services/memberService.ts @@ -200,6 +200,7 @@ export default class MemberService extends LoggerBase { fireSync: boolean = true, ) { const logger = this.options.log + const searchSyncService = new SearchSyncService(this.options) const errorDetails: any = {} @@ -435,11 +436,7 @@ export default class MemberService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) if (fireSync) { - await SearchSyncService.triggerMemberSync( - this.options.currentTenant.id, - record.id, - this.options, - ) + await searchSyncService.triggerMemberSync(this.options.currentTenant.id, record.id) } if (!existing && fireCrowdWebhooks) { @@ -659,16 +656,10 @@ export default class MemberService extends LoggerBase { await SequelizeRepository.commitTransaction(tx) try { - await SearchSyncService.triggerMemberSync( - this.options.currentTenant.id, - originalId, - this.options, - ) - await SearchSyncService.triggerRemoveMember( - this.options.currentTenant.id, - toMergeId, - this.options, - ) + const searchSyncService = new SearchSyncService(this.options) + + await searchSyncService.triggerMemberSync(this.options.currentTenant.id, originalId) + await searchSyncService.triggerRemoveMember(this.options.currentTenant.id, toMergeId) } catch (emitError) { this.log.error( emitError, @@ -781,19 +772,19 @@ export default class MemberService extends LoggerBase { async addToMerge(suggestions: IMemberMergeSuggestion[]) { const transaction = await SequelizeRepository.createTransaction(this.options) try { + const searchSyncService = new SearchSyncService(this.options) + await MemberRepository.addToMerge(suggestions, { ...this.options, transaction }) await SequelizeRepository.commitTransaction(transaction) for (const suggestion of suggestions) { - await SearchSyncService.triggerMemberSync( + await searchSyncService.triggerMemberSync( this.options.currentTenant.id, suggestion.members[0], - this.options, ) - await SearchSyncService.triggerMemberSync( + await searchSyncService.triggerMemberSync( this.options.currentTenant.id, suggestion.members[1], - this.options, ) } return { status: 200 } @@ -812,6 +803,7 @@ export default class MemberService extends LoggerBase { */ async addToNoMerge(memberOneId, memberTwoId) { const transaction = await SequelizeRepository.createTransaction(this.options) + const searchSyncService = new SearchSyncService(this.options) try { await MemberRepository.addNoMerge(memberOneId, memberTwoId, { @@ -833,16 +825,8 @@ export default class MemberService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) - await SearchSyncService.triggerMemberSync( - this.options.currentTenant.id, - memberOneId, - this.options, - ) - await SearchSyncService.triggerMemberSync( - this.options.currentTenant.id, - memberTwoId, - this.options, - ) + await searchSyncService.triggerMemberSync(this.options.currentTenant.id, memberOneId) + await searchSyncService.triggerMemberSync(this.options.currentTenant.id, memberTwoId) return { status: 200 } } catch (error) { @@ -890,6 +874,7 @@ export default class MemberService extends LoggerBase { async update(id, data, syncToOpensearch = true) { let transaction + const searchSyncService = new SearchSyncService(this.options) try { const repoOptions = await SequelizeRepository.createTransactionalRepositoryOptions( @@ -953,11 +938,7 @@ export default class MemberService extends LoggerBase { if (syncToOpensearch) { try { - await SearchSyncService.triggerMemberSync( - this.options.currentTenant.id, - record.id, - this.options, - ) + await searchSyncService.triggerMemberSync(this.options.currentTenant.id, record.id) } catch (emitErr) { this.log.error( emitErr, @@ -994,6 +975,7 @@ export default class MemberService extends LoggerBase { async destroyBulk(ids) { const transaction = await SequelizeRepository.createTransaction(this.options) + const searchSyncService = new SearchSyncService(this.options) try { await MemberRepository.destroyBulk( @@ -1012,12 +994,13 @@ export default class MemberService extends LoggerBase { } for (const id of ids) { - await SearchSyncService.triggerRemoveMember(this.options.currentTenant.id, id, this.options) + await searchSyncService.triggerRemoveMember(this.options.currentTenant.id, id) } } async destroyAll(ids) { const transaction = await SequelizeRepository.createTransaction(this.options) + const searchSyncService = new SearchSyncService(this.options) try { for (const id of ids) { @@ -1038,7 +1021,7 @@ export default class MemberService extends LoggerBase { } for (const id of ids) { - await SearchSyncService.triggerRemoveMember(this.options.currentTenant.id, id, this.options) + await searchSyncService.triggerRemoveMember(this.options.currentTenant.id, id) } } diff --git a/backend/src/services/organizationService.ts b/backend/src/services/organizationService.ts index df1f0b1b63..5714f98c33 100644 --- a/backend/src/services/organizationService.ts +++ b/backend/src/services/organizationService.ts @@ -155,22 +155,16 @@ export default class OrganizationService extends LoggerBase { await SequelizeRepository.commitTransaction(tx) - await SearchSyncService.triggerOrganizationSync( - this.options.currentTenant.id, - originalId, - this.options, - ) - await SearchSyncService.triggerRemoveOrganization( - this.options.currentTenant.id, - toMergeId, - this.options, - ) + const searchSyncService = new SearchSyncService(this.options) + + await searchSyncService.triggerOrganizationSync(this.options.currentTenant.id, originalId) + await searchSyncService.triggerRemoveOrganization(this.options.currentTenant.id, toMergeId) // sync organization members - await SearchSyncService.triggerOrganizationMembersSync(originalId, this.options) + await searchSyncService.triggerOrganizationMembersSync(originalId) // sync organization activities - await SearchSyncService.triggerOrganizationActivitiesSync(originalId, this.options) + await searchSyncService.triggerOrganizationActivitiesSync(originalId) this.options.log.info({ originalId, toMergeId }, 'Organizations merged!') return { status: 200, mergedId: originalId } @@ -309,6 +303,7 @@ export default class OrganizationService extends LoggerBase { async addToNoMerge(organizationId: string, noMergeId: string): Promise { const transaction = await SequelizeRepository.createTransaction(this.options) + const searchSyncService = new SearchSyncService(this.options) try { await OrganizationRepository.addNoMerge(organizationId, noMergeId, { @@ -322,16 +317,8 @@ export default class OrganizationService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) - await SearchSyncService.triggerOrganizationSync( - this.options.currentTenant.id, - organizationId, - this.options, - ) - await SearchSyncService.triggerOrganizationSync( - this.options.currentTenant.id, - noMergeId, - this.options, - ) + await searchSyncService.triggerOrganizationSync(this.options.currentTenant.id, organizationId) + await searchSyncService.triggerOrganizationSync(this.options.currentTenant.id, noMergeId) } catch (error) { await SequelizeRepository.rollbackTransaction(transaction) @@ -517,11 +504,9 @@ export default class OrganizationService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) - await SearchSyncService.triggerOrganizationSync( - this.options.currentTenant.id, - record.id, - this.options, - ) + const searchSyncService = new SearchSyncService(this.options) + + await searchSyncService.triggerOrganizationSync(this.options.currentTenant.id, record.id) return await this.findById(record.id) } catch (error) { @@ -585,11 +570,9 @@ export default class OrganizationService extends LoggerBase { if (syncToOpensearch) { try { - await SearchSyncService.triggerOrganizationSync( - this.options.currentTenant.id, - record.id, - this.options, - ) + const searchSyncService = new SearchSyncService(this.options) + + await searchSyncService.triggerOrganizationSync(this.options.currentTenant.id, record.id) } catch (emitErr) { this.log.error( emitErr, @@ -628,12 +611,10 @@ export default class OrganizationService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) + const searchSyncService = new SearchSyncService(this.options) + for (const id of ids) { - await SearchSyncService.triggerRemoveOrganization( - this.options.currentTenant.id, - id, - this.options, - ) + await searchSyncService.triggerRemoveOrganization(this.options.currentTenant.id, id) } } catch (error) { await SequelizeRepository.rollbackTransaction(transaction) @@ -687,12 +668,10 @@ export default class OrganizationService extends LoggerBase { await SequelizeRepository.commitTransaction(transaction) + const searchSyncService = new SearchSyncService(this.options) + for (const id of ids) { - await SearchSyncService.triggerRemoveOrganization( - this.options.currentTenant.id, - id, - this.options, - ) + await searchSyncService.triggerRemoveOrganization(this.options.currentTenant.id, id) } } catch (error) { await SequelizeRepository.rollbackTransaction(transaction) diff --git a/backend/src/services/premium/enrichment/memberEnrichmentService.ts b/backend/src/services/premium/enrichment/memberEnrichmentService.ts index 5e886054f2..db65e241c2 100644 --- a/backend/src/services/premium/enrichment/memberEnrichmentService.ts +++ b/backend/src/services/premium/enrichment/memberEnrichmentService.ts @@ -35,7 +35,7 @@ import OrganizationService from '../../organizationService' import MemberRepository from '../../../database/repositories/memberRepository' import OrganizationRepository from '../../../database/repositories/organizationRepository' import SequelizeRepository from '@/database/repositories/sequelizeRepository' -import SearchSyncService from '@/services/searchSyncService' +import SearchSyncService, { SyncMode } from '@/services/searchSyncService' export default class MemberEnrichmentService extends LoggerBase { options: IServiceOptions @@ -144,6 +144,7 @@ export default class MemberEnrichmentService extends LoggerBase { async bulkEnrich(memberIds: string[], notifyFrontend: boolean = true) { const redis = await getRedisClient(REDIS_CONFIG, true) + const searchSyncService = new SearchSyncService(this.options, SyncMode.ASYNCHRONOUS) const apiPubSubEmitter = new RedisPubSubEmitter( 'api-pubsub', @@ -158,10 +159,9 @@ export default class MemberEnrichmentService extends LoggerBase { try { await this.enrichOne(memberId) enrichedMembers++ - await SearchSyncService.triggerMemberSync( + await searchSyncService.triggerMemberSync( this.options.currentTenant.id, memberId, - this.options, ) this.log.info(`Enriched member ${memberId}`) } catch (err) { @@ -239,6 +239,8 @@ export default class MemberEnrichmentService extends LoggerBase { await this.getAttributes() } + const searchSyncService = new SearchSyncService(this.options, SyncMode.ASYNCHRONOUS) + // Create an instance of the MemberService and use it to look up the member const memberService = new MemberService(options) const member = await memberService.findById(memberId, false, false) @@ -358,10 +360,9 @@ export default class MemberEnrichmentService extends LoggerBase { } } - await SearchSyncService.triggerMemberSync( + await searchSyncService.triggerMemberSync( this.options.currentTenant.id, result.id, - this.options, ) result = await memberService.findById(result.id, true, false) diff --git a/backend/src/services/premium/enrichment/organizationEnrichmentService.ts b/backend/src/services/premium/enrichment/organizationEnrichmentService.ts index 81ea7df78a..f0c7c72fbc 100644 --- a/backend/src/services/premium/enrichment/organizationEnrichmentService.ts +++ b/backend/src/services/premium/enrichment/organizationEnrichmentService.ts @@ -17,7 +17,7 @@ import { IServiceOptions } from '../../IServiceOptions' import { EnrichmentParams, IEnrichmentResponse } from './types/organizationEnrichmentTypes' import SequelizeRepository from '@/database/repositories/sequelizeRepository' import OrganizationService from '@/services/organizationService' -import SearchSyncService from '@/services/searchSyncService' +import SearchSyncService, { SyncMode } from '@/services/searchSyncService' export default class OrganizationEnrichmentService extends LoggerBase { tenantId: string @@ -166,6 +166,8 @@ export default class OrganizationEnrichmentService extends LoggerBase { const transaction = await SequelizeRepository.createTransaction(this.options) try { + const searchSyncService = new SearchSyncService(this.options, SyncMode.ASYNCHRONOUS) + let unmergedOrgs: IOrganization[] = [] // check strong weak identities and move them if needed @@ -227,11 +229,7 @@ export default class OrganizationEnrichmentService extends LoggerBase { ) for (const org of records) { - await SearchSyncService.triggerOrganizationSync( - this.options.currentTenant.id, - org.id, - this.options, - ) + await searchSyncService.triggerOrganizationSync(this.options.currentTenant.id, org.id) } await SequelizeRepository.commitTransaction(transaction) diff --git a/backend/src/services/searchSyncService.ts b/backend/src/services/searchSyncService.ts index f8a18f1b47..6f299e322c 100644 --- a/backend/src/services/searchSyncService.ts +++ b/backend/src/services/searchSyncService.ts @@ -6,25 +6,54 @@ import { getSearchSyncApiClient } from '../utils/apiClients' import { getSearchSyncWorkerEmitter } from '@/serverless/utils/serviceSQS' import isFeatureEnabled from '@/feature-flags/isFeatureEnabled' import { IS_TEST_ENV } from '@/conf' +import { IServiceOptions } from './IServiceOptions' + +export enum SyncMode { + SYNCHRONOUS = 'synchronous', + ASYNCHRONOUS = 'asynchronous', + USE_FEATURE_FLAG = 'use-feature-flag', +} + +export type SearchSyncClient = SearchSyncApiClient | SearchSyncWorkerEmitter export default class SearchSyncService extends LoggerBase { - static async getSearchSyncClient( - options, - ): Promise { + options: IServiceOptions + + mode: SyncMode + + constructor(options: IServiceOptions, mode: SyncMode = SyncMode.USE_FEATURE_FLAG) { + super(options.log) + this.options = options + this.mode = mode + } + + async getSearchSyncClient(): Promise { // tests can always use the async emitter if (IS_TEST_ENV) { return getSearchSyncWorkerEmitter() } - - if (await isFeatureEnabled(FeatureFlag.SYNCHRONOUS_OPENSEARCH_UPDATES, options)) { + + if (this.mode === SyncMode.SYNCHRONOUS) { return getSearchSyncApiClient() } - - return getSearchSyncWorkerEmitter() + + if (this.mode === SyncMode.ASYNCHRONOUS) { + return getSearchSyncWorkerEmitter() + } + + if (this.mode === SyncMode.USE_FEATURE_FLAG) { + if (await isFeatureEnabled(FeatureFlag.SYNCHRONOUS_OPENSEARCH_UPDATES, this.options)) { + return getSearchSyncApiClient() + } + + return getSearchSyncWorkerEmitter() + } + + throw new Error(`Unknown mode ${this.mode} !`) } - static async triggerMemberSync(tenantId: string, memberId: string, options) { - const client = await SearchSyncService.getSearchSyncClient(options) + async triggerMemberSync(tenantId: string, memberId: string) { + const client = await this.getSearchSyncClient() if (client instanceof SearchSyncApiClient) { await client.triggerMemberSync(memberId) @@ -35,8 +64,8 @@ export default class SearchSyncService extends LoggerBase { } } - static async triggerTenantMembersSync(tenantId: string, options) { - const client = await SearchSyncService.getSearchSyncClient(options) + async triggerTenantMembersSync(tenantId: string) { + const client = await this.getSearchSyncClient() if (client instanceof SearchSyncApiClient || client instanceof SearchSyncWorkerEmitter) { await client.triggerTenantMembersSync(tenantId) @@ -45,8 +74,8 @@ export default class SearchSyncService extends LoggerBase { } } - static async triggerOrganizationMembersSync(organizationId: string, options) { - const client = await SearchSyncService.getSearchSyncClient(options) + async triggerOrganizationMembersSync(organizationId: string) { + const client = await this.getSearchSyncClient() if (client instanceof SearchSyncApiClient || client instanceof SearchSyncWorkerEmitter) { await client.triggerOrganizationMembersSync(organizationId) @@ -55,8 +84,8 @@ export default class SearchSyncService extends LoggerBase { } } - static async triggerRemoveMember(tenantId: string, memberId: string, options) { - const client = await SearchSyncService.getSearchSyncClient(options) + async triggerRemoveMember(tenantId: string, memberId: string) { + const client = await this.getSearchSyncClient() if (client instanceof SearchSyncApiClient) { await client.triggerRemoveMember(memberId) @@ -67,8 +96,8 @@ export default class SearchSyncService extends LoggerBase { } } - static async triggerMemberCleanup(tenantId: string, options) { - const client = await SearchSyncService.getSearchSyncClient(options) + async triggerMemberCleanup(tenantId: string) { + const client = await this.getSearchSyncClient() if (client instanceof SearchSyncApiClient || client instanceof SearchSyncWorkerEmitter) { await client.triggerMemberCleanup(tenantId) @@ -77,8 +106,8 @@ export default class SearchSyncService extends LoggerBase { } } - static async triggerActivitySync(tenantId: string, activityId: string, options) { - const client = await SearchSyncService.getSearchSyncClient(options) + async triggerActivitySync(tenantId: string, activityId: string) { + const client = await this.getSearchSyncClient() if (client instanceof SearchSyncApiClient) { await client.triggerActivitySync(activityId) @@ -89,8 +118,8 @@ export default class SearchSyncService extends LoggerBase { } } - static async triggerTenantActivitiesSync(tenantId: string, options) { - const client = await SearchSyncService.getSearchSyncClient(options) + async triggerTenantActivitiesSync(tenantId: string) { + const client = await this.getSearchSyncClient() if (client instanceof SearchSyncApiClient || client instanceof SearchSyncWorkerEmitter) { await client.triggerTenantActivitiesSync(tenantId) @@ -99,8 +128,8 @@ export default class SearchSyncService extends LoggerBase { } } - static async triggerOrganizationActivitiesSync(organizationId: string, options) { - const client = await SearchSyncService.getSearchSyncClient(options) + async triggerOrganizationActivitiesSync(organizationId: string) { + const client = await this.getSearchSyncClient() if (client instanceof SearchSyncApiClient || client instanceof SearchSyncWorkerEmitter) { await client.triggerOrganizationActivitiesSync(organizationId) @@ -109,8 +138,8 @@ export default class SearchSyncService extends LoggerBase { } } - static async triggerRemoveActivity(tenantId: string, activityId: string, options) { - const client = await SearchSyncService.getSearchSyncClient(options) + async triggerRemoveActivity(tenantId: string, activityId: string) { + const client = await this.getSearchSyncClient() if (client instanceof SearchSyncApiClient) { await client.triggerRemoveActivity(activityId) @@ -121,8 +150,8 @@ export default class SearchSyncService extends LoggerBase { } } - static async triggerActivityCleanup(tenantId: string, options) { - const client = await SearchSyncService.getSearchSyncClient(options) + async triggerActivityCleanup(tenantId: string) { + const client = await this.getSearchSyncClient() if (client instanceof SearchSyncApiClient || client instanceof SearchSyncWorkerEmitter) { await client.triggerActivityCleanup(tenantId) @@ -131,8 +160,8 @@ export default class SearchSyncService extends LoggerBase { } } - static async triggerOrganizationSync(tenantId: string, organizationId: string, options) { - const client = await SearchSyncService.getSearchSyncClient(options) + async triggerOrganizationSync(tenantId: string, organizationId: string) { + const client = await this.getSearchSyncClient() if (client instanceof SearchSyncApiClient) { await client.triggerOrganizationSync(organizationId) @@ -143,8 +172,8 @@ export default class SearchSyncService extends LoggerBase { } } - static async triggerTenantOrganizationSync(tenantId: string, options) { - const client = await SearchSyncService.getSearchSyncClient(options) + async triggerTenantOrganizationSync(tenantId: string) { + const client = await this.getSearchSyncClient() if (client instanceof SearchSyncApiClient || client instanceof SearchSyncWorkerEmitter) { await client.triggerTenantOrganizationSync(tenantId) @@ -153,8 +182,8 @@ export default class SearchSyncService extends LoggerBase { } } - static async triggerRemoveOrganization(tenantId: string, organizationId: string, options) { - const client = await SearchSyncService.getSearchSyncClient(options) + async triggerRemoveOrganization(tenantId: string, organizationId: string) { + const client = await this.getSearchSyncClient() if (client instanceof SearchSyncApiClient) { await client.triggerRemoveOrganization(organizationId) @@ -165,8 +194,8 @@ export default class SearchSyncService extends LoggerBase { } } - static async triggerOrganizationCleanup(tenantId: string, options) { - const client = await SearchSyncService.getSearchSyncClient(options) + async triggerOrganizationCleanup(tenantId: string) { + const client = await this.getSearchSyncClient() if (client instanceof SearchSyncApiClient || client instanceof SearchSyncWorkerEmitter) { await client.triggerOrganizationCleanup(tenantId) From ae5edaeede9a854b31a1e0d31d5ac8c1c74a437d Mon Sep 17 00:00:00 2001 From: anilb Date: Tue, 7 Nov 2023 13:11:43 +0100 Subject: [PATCH 38/38] formatting --- backend/src/services/integrationService.ts | 5 +---- .../premium/enrichment/memberEnrichmentService.ts | 10 ++-------- backend/src/services/searchSyncService.ts | 10 +++++----- 3 files changed, 8 insertions(+), 17 deletions(-) diff --git a/backend/src/services/integrationService.ts b/backend/src/services/integrationService.ts index 8ad6b2ac2e..440d55d605 100644 --- a/backend/src/services/integrationService.ts +++ b/backend/src/services/integrationService.ts @@ -622,10 +622,7 @@ export default class IntegrationService { const searchSyncService = new SearchSyncService(this.options) // send it to opensearch because in member.update we bypass while passing transactions - await searchSyncService.triggerMemberSync( - this.options.currentTenant.id, - member.id, - ) + await searchSyncService.triggerMemberSync(this.options.currentTenant.id, member.id) } async hubspotStopSyncOrganization(payload: IHubspotManualSyncPayload) { diff --git a/backend/src/services/premium/enrichment/memberEnrichmentService.ts b/backend/src/services/premium/enrichment/memberEnrichmentService.ts index db65e241c2..ca7b6a4ce9 100644 --- a/backend/src/services/premium/enrichment/memberEnrichmentService.ts +++ b/backend/src/services/premium/enrichment/memberEnrichmentService.ts @@ -159,10 +159,7 @@ export default class MemberEnrichmentService extends LoggerBase { try { await this.enrichOne(memberId) enrichedMembers++ - await searchSyncService.triggerMemberSync( - this.options.currentTenant.id, - memberId, - ) + await searchSyncService.triggerMemberSync(this.options.currentTenant.id, memberId) this.log.info(`Enriched member ${memberId}`) } catch (err) { if ( @@ -360,10 +357,7 @@ export default class MemberEnrichmentService extends LoggerBase { } } - await searchSyncService.triggerMemberSync( - this.options.currentTenant.id, - result.id, - ) + await searchSyncService.triggerMemberSync(this.options.currentTenant.id, result.id) result = await memberService.findById(result.id, true, false) await SequelizeRepository.commitTransaction(transaction) diff --git a/backend/src/services/searchSyncService.ts b/backend/src/services/searchSyncService.ts index 6f299e322c..7cc169ceb0 100644 --- a/backend/src/services/searchSyncService.ts +++ b/backend/src/services/searchSyncService.ts @@ -32,23 +32,23 @@ export default class SearchSyncService extends LoggerBase { if (IS_TEST_ENV) { return getSearchSyncWorkerEmitter() } - + if (this.mode === SyncMode.SYNCHRONOUS) { return getSearchSyncApiClient() } - + if (this.mode === SyncMode.ASYNCHRONOUS) { return getSearchSyncWorkerEmitter() } - + if (this.mode === SyncMode.USE_FEATURE_FLAG) { if (await isFeatureEnabled(FeatureFlag.SYNCHRONOUS_OPENSEARCH_UPDATES, this.options)) { return getSearchSyncApiClient() } - + return getSearchSyncWorkerEmitter() } - + throw new Error(`Unknown mode ${this.mode} !`) }