From c9222056b6f6c5b2792599c1ff812ffbf16b2cb3 Mon Sep 17 00:00:00 2001 From: Yaroslav Grishajev Date: Wed, 1 May 2024 10:33:09 +0200 Subject: [PATCH] feat(api): use akash-api protobuf instead of akashjs (#184) --- indexer/package-lock.json | 2351 +++++++++++++++-- indexer/package.json | 26 +- .../gen/akash/base/v1beta3/attribute_pb.ts | 154 -- .../gen/akash/inventory/v1/cluster_pb.ts | 55 - .../proto/gen/akash/inventory/v1/cpu_pb.ts | 111 - .../proto/gen/akash/inventory/v1/gpu_pb.ts | 123 - .../proto/gen/akash/inventory/v1/memory_pb.ts | 111 - .../proto/gen/akash/inventory/v1/node_pb.ts | 99 - .../gen/akash/inventory/v1/resourcepair_pb.ts | 61 - .../gen/akash/inventory/v1/resources_pb.ts | 81 - .../gen/akash/inventory/v1/storage_pb.ts | 99 - .../gen/akash/provider/v1/service_connect.ts | 45 - .../proto/gen/akash/provider/v1/status_pb.ts | 439 --- indexer/src/proto/gen/gogoproto/gogo_pb.ts | 728 ----- .../proto/gen/google/api/annotations_pb.ts | 33 - indexer/src/proto/gen/google/api/http_pb.ts | 485 ---- .../pkg/api/resource/generated_pb.ts | 178 -- .../fake-insecure-credentials.ts | 33 + .../providers/statusEndpointHandlers/grpc.ts | 39 +- shared/chainDefinitions.ts | 1 + 20 files changed, 2249 insertions(+), 3003 deletions(-) delete mode 100644 indexer/src/proto/gen/akash/base/v1beta3/attribute_pb.ts delete mode 100644 indexer/src/proto/gen/akash/inventory/v1/cluster_pb.ts delete mode 100644 indexer/src/proto/gen/akash/inventory/v1/cpu_pb.ts delete mode 100644 indexer/src/proto/gen/akash/inventory/v1/gpu_pb.ts delete mode 100644 indexer/src/proto/gen/akash/inventory/v1/memory_pb.ts delete mode 100644 indexer/src/proto/gen/akash/inventory/v1/node_pb.ts delete mode 100644 indexer/src/proto/gen/akash/inventory/v1/resourcepair_pb.ts delete mode 100644 indexer/src/proto/gen/akash/inventory/v1/resources_pb.ts delete mode 100644 indexer/src/proto/gen/akash/inventory/v1/storage_pb.ts delete mode 100644 indexer/src/proto/gen/akash/provider/v1/service_connect.ts delete mode 100644 indexer/src/proto/gen/akash/provider/v1/status_pb.ts delete mode 100644 indexer/src/proto/gen/gogoproto/gogo_pb.ts delete mode 100644 indexer/src/proto/gen/google/api/annotations_pb.ts delete mode 100644 indexer/src/proto/gen/google/api/http_pb.ts delete mode 100644 indexer/src/proto/gen/k8s.io/apimachinery/pkg/api/resource/generated_pb.ts create mode 100644 indexer/src/providers/statusEndpointHandlers/fake-insecure-credentials.ts diff --git a/indexer/package-lock.json b/indexer/package-lock.json index a9ef3754e..e2a7a5e7f 100644 --- a/indexer/package-lock.json +++ b/indexer/package-lock.json @@ -30,6 +30,7 @@ "human-interval": "^2.0.1", "js-sha256": "^0.9.0", "level": "^8.0.0", + "lodash": "^4.17.21", "node-fetch": "^2.6.1", "node-gzip": "^1.1.2", "pg": "^8.7.3", @@ -43,6 +44,7 @@ "devDependencies": { "@types/async": "^3.2.15", "@types/express": "^4.17.13", + "@types/lodash": "^4.17.0", "@types/node": "^16.11.68", "@types/node-fetch": "^2.6.2", "@types/node-gzip": "^1.1.0", @@ -50,9 +52,13 @@ "@types/semver": "^7.5.6", "@types/uuid": "^8.3.1", "@types/validator": "^13.7.8", + "@typescript-eslint/eslint-plugin": "^7.2.0", "alias-hq": "^5.1.6", + "eslint": "^8.57.0", + "eslint-plugin-simple-import-sort": "^12.0.0", "nodemon": "^2.0.7", "nodemon-webpack-plugin": "^4.5.2", + "prettier": "^3.2.5", "supertest": "^6.1.5", "ts-jest": "^27.0.4", "ts-loader": "^9.5.1", @@ -3061,6 +3067,130 @@ "node": ">=10.0.0" } }, + "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.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/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/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@eslint/eslintrc/node_modules/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/@eslint/eslintrc/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/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/@fastify/busboy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz", @@ -3069,6 +3199,62 @@ "node": ">=14" } }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/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/@humanwhocodes/config-array/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/@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": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "dev": true + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -4027,6 +4213,41 @@ "url": "https://paulmillr.com/funding/" } }, + "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/@protobufjs/aspromise": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", @@ -4390,9 +4611,15 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/lodash": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.0.tgz", + "integrity": "sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==", "dev": true }, "node_modules/@types/long": { @@ -4475,9 +4702,9 @@ "dev": true }, "node_modules/@types/semver": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", - "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", "dev": true }, "node_modules/@types/serve-static": { @@ -4525,78 +4752,393 @@ "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==", "dev": true }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.8.0.tgz", + "integrity": "sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg==", "dev": true, "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.8.0", + "@typescript-eslint/type-utils": "7.8.0", + "@typescript-eslint/utils": "7.8.0", + "@typescript-eslint/visitor-keys": "7.8.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "node_modules/@typescript-eslint/eslint-plugin/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": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "node_modules/@typescript-eslint/eslint-plugin/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/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "node_modules/@typescript-eslint/parser": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.8.0.tgz", + "integrity": "sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ==", "dev": true, + "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" + "@typescript-eslint/scope-manager": "7.8.0", + "@typescript-eslint/types": "7.8.0", + "@typescript-eslint/typescript-estree": "7.8.0", + "@typescript-eslint/visitor-keys": "7.8.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "node_modules/@typescript-eslint/parser/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, + "peer": true, "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "node_modules/@typescript-eslint/parser/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, - "dependencies": { + "peer": true + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.8.0.tgz", + "integrity": "sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.8.0", + "@typescript-eslint/visitor-keys": "7.8.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.8.0.tgz", + "integrity": "sha512-H70R3AefQDQpz9mGv13Uhi121FNMh+WEaRqcXTX09YEDky21km4dV1ZXJIp8QjXc4ZaVkXVdohvWDzbnbHDS+A==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "7.8.0", + "@typescript-eslint/utils": "7.8.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/type-utils/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/@typescript-eslint/type-utils/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/@typescript-eslint/types": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.8.0.tgz", + "integrity": "sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==", + "dev": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.8.0.tgz", + "integrity": "sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.8.0", + "@typescript-eslint/visitor-keys": "7.8.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/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/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/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/@typescript-eslint/utils": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.8.0.tgz", + "integrity": "sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.15", + "@types/semver": "^7.5.8", + "@typescript-eslint/scope-manager": "7.8.0", + "@typescript-eslint/types": "7.8.0", + "@typescript-eslint/typescript-estree": "7.8.0", + "semver": "^7.6.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.8.0.tgz", + "integrity": "sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.8.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "dependencies": { "@xtuc/long": "4.2.2" } }, @@ -4784,9 +5326,9 @@ } }, "node_modules/acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -4828,6 +5370,15 @@ "acorn": "^8" } }, + "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": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", @@ -5023,6 +5574,15 @@ "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/array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", @@ -5710,7 +6270,6 @@ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "peer": true, "engines": { "node": ">=6" } @@ -6431,8 +6990,7 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true, - "peer": true + "dev": true }, "node_modules/deepmerge": { "version": "4.2.2", @@ -6592,6 +7150,30 @@ "node": ">= 10.14.2" } }, + "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/domexception": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", @@ -6748,90 +7330,422 @@ "get-intrinsic": "^1.2.4" }, "engines": { - "node": ">= 0.4" + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, + "peer": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "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-plugin-simple-import-sort": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-12.1.0.tgz", + "integrity": "sha512-Y2fqAfC11TcG/WP3TrI1Gi3p3nc8XJyEOJYHyEPEGI/UAgNx6akxxlX74p7SbAQdLcgASKhj8M0GKvH3vq/+ig==", + "dev": true, + "peerDependencies": { + "eslint": ">=5.0.0" + } + }, + "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/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/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/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/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/eslint/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/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/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/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "node_modules/eslint/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": ">= 0.4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "node_modules/eslint/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/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "node_modules/eslint/node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, + "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.5" + }, "engines": { - "node": ">=6" + "node": ">= 0.8.0" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + "node_modules/eslint/node_modules/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/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "node_modules/eslint/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": ">= 0.8.0" } }, - "node_modules/escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "peer": true, "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" + "node": ">=8" } }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "node_modules/eslint/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, - "peer": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, "engines": { - "node": ">=4.0" + "node": ">= 0.8.0" } }, - "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==", + "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": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": ">=8.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/esprima": { @@ -6846,6 +7760,27 @@ "node": ">=4" } }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/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", @@ -6881,7 +7816,6 @@ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } @@ -7306,6 +8240,22 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "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-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -7316,8 +8266,7 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true, - "peer": true + "dev": true }, "node_modules/fast-safe-stringify": { "version": "2.0.8", @@ -7331,6 +8280,15 @@ "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", "dev": true }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, "node_modules/fb-watchman": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", @@ -7356,6 +8314,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "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", @@ -7506,6 +8476,26 @@ "node": ">=8" } }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, "node_modules/flow-parser": { "version": "0.157.0", "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.157.0.tgz", @@ -7746,6 +8736,26 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -7763,6 +8773,12 @@ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, + "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", @@ -8106,12 +9122,46 @@ } ] }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "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": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", "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/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/import-local": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", @@ -8404,9 +9454,9 @@ } }, "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "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" @@ -8424,6 +9474,15 @@ "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/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -11437,6 +12496,12 @@ "node": ">=4" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -11466,6 +12531,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, "node_modules/json-stable-stringify/node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", @@ -11501,6 +12572,15 @@ "prebuild-install": "^7.0.1" } }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -11649,6 +12729,12 @@ "dev": true, "peer": true }, + "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/long": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", @@ -11751,6 +12837,15 @@ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, + "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", @@ -11973,8 +13068,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true, - "peer": true + "dev": true }, "node_modules/negotiator": { "version": "0.6.3", @@ -12439,6 +13533,18 @@ "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" }, + "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/parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", @@ -12499,6 +13605,15 @@ "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/pg": { "version": "8.8.0", "resolved": "https://registry.npmjs.org/pg/-/pg-8.8.0.tgz", @@ -12747,6 +13862,21 @@ "node": ">= 0.8.0" } }, + "node_modules/prettier": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/pretty-format": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", @@ -13226,12 +14356,21 @@ "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-7.0.3.tgz", "integrity": "sha512-SEvMa4khHvpU/o6zgh7sK24qm6rxVgKnrSyzb5POeDvZx5N9Bf0s5sQsQ4Fl+HjRp0X+w2UzACGfUnXtx6cJ9Q==" }, + "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, - "peer": true, "dependencies": { "glob": "^7.1.3" }, @@ -13247,17 +14386,40 @@ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true, - "engines": { - "node": ">=0.12.0" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "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/run-parallel-limit": { @@ -13713,7 +14875,6 @@ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "peer": true, "engines": { "node": ">=8" } @@ -14341,6 +15502,12 @@ "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/throat": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", @@ -14486,6 +15653,18 @@ "node": ">=8" } }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, "node_modules/ts-jest": { "version": "27.0.4", "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.0.4.tgz", @@ -14689,6 +15868,18 @@ "node": ">=4" } }, + "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", @@ -15266,11 +16457,10 @@ } }, "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } @@ -17807,11 +18997,136 @@ "integrity": "sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g==", "dev": true }, + "@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, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "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" + }, + "dependencies": { + "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 + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "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, + "requires": { + "argparse": "^2.0.1" + } + }, + "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 + }, + "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 + } + } + }, + "@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true + }, "@fastify/busboy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz", "integrity": "sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==" }, + "@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + } + } + }, + "@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 + }, + "@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "dev": true + }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -18586,6 +19901,32 @@ "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==" }, + "@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, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@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 + }, + "@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, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, "@protobufjs/aspromise": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", @@ -18930,9 +20271,15 @@ } }, "@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "@types/lodash": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.0.tgz", + "integrity": "sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==", "dev": true }, "@types/long": { @@ -19015,9 +20362,9 @@ "dev": true }, "@types/semver": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", - "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", "dev": true }, "@types/serve-static": { @@ -19065,6 +20412,202 @@ "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==", "dev": true }, + "@typescript-eslint/eslint-plugin": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.8.0.tgz", + "integrity": "sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.8.0", + "@typescript-eslint/type-utils": "7.8.0", + "@typescript-eslint/utils": "7.8.0", + "@typescript-eslint/visitor-keys": "7.8.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + } + } + }, + "@typescript-eslint/parser": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.8.0.tgz", + "integrity": "sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ==", + "dev": true, + "peer": true, + "requires": { + "@typescript-eslint/scope-manager": "7.8.0", + "@typescript-eslint/types": "7.8.0", + "@typescript-eslint/typescript-estree": "7.8.0", + "@typescript-eslint/visitor-keys": "7.8.0", + "debug": "^4.3.4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "peer": true, + "requires": { + "ms": "2.1.2" + } + }, + "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, + "peer": true + } + } + }, + "@typescript-eslint/scope-manager": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.8.0.tgz", + "integrity": "sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==", + "dev": true, + "requires": { + "@typescript-eslint/types": "7.8.0", + "@typescript-eslint/visitor-keys": "7.8.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.8.0.tgz", + "integrity": "sha512-H70R3AefQDQpz9mGv13Uhi121FNMh+WEaRqcXTX09YEDky21km4dV1ZXJIp8QjXc4ZaVkXVdohvWDzbnbHDS+A==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "7.8.0", + "@typescript-eslint/utils": "7.8.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + } + } + }, + "@typescript-eslint/types": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.8.0.tgz", + "integrity": "sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.8.0.tgz", + "integrity": "sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "7.8.0", + "@typescript-eslint/visitor-keys": "7.8.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "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 + } + } + }, + "@typescript-eslint/utils": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.8.0.tgz", + "integrity": "sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.15", + "@types/semver": "^7.5.8", + "@typescript-eslint/scope-manager": "7.8.0", + "@typescript-eslint/types": "7.8.0", + "@typescript-eslint/typescript-estree": "7.8.0", + "semver": "^7.6.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.8.0.tgz", + "integrity": "sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "7.8.0", + "eslint-visitor-keys": "^3.4.3" + } + }, + "@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, "@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", @@ -19290,9 +20833,9 @@ } }, "acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true }, "acorn-globals": { @@ -19322,6 +20865,13 @@ "dev": true, "requires": {} }, + "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, + "requires": {} + }, "acorn-walk": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", @@ -19465,6 +21015,12 @@ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, + "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 + }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", @@ -19983,8 +21539,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "peer": true + "dev": true }, "camelcase": { "version": "5.3.1", @@ -20577,8 +22132,7 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true, - "peer": true + "dev": true }, "deepmerge": { "version": "4.2.2", @@ -20691,6 +22245,24 @@ "optional": true, "peer": true }, + "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, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, "domexception": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", @@ -20874,6 +22446,223 @@ } } }, + "eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "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" + }, + "dependencies": { + "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 + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + }, + "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, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "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, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "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, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "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 + }, + "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, + "requires": { + "argparse": "^2.0.1" + } + }, + "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, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "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, + "requires": { + "p-locate": "^5.0.0" + } + }, + "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 + }, + "optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "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.5" + } + }, + "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, + "requires": { + "p-limit": "^3.0.2" + } + }, + "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 + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + }, + "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, + "requires": { + "prelude-ls": "^1.2.1" + } + } + } + }, + "eslint-plugin-simple-import-sort": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-12.1.0.tgz", + "integrity": "sha512-Y2fqAfC11TcG/WP3TrI1Gi3p3nc8XJyEOJYHyEPEGI/UAgNx6akxxlX74p7SbAQdLcgASKhj8M0GKvH3vq/+ig==", + "dev": true, + "requires": {} + }, "eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", @@ -20884,11 +22673,45 @@ "estraverse": "^4.1.1" } }, + "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 + }, + "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, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, "esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", @@ -20916,8 +22739,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "peer": true + "dev": true }, "etag": { "version": "1.8.1", @@ -21243,6 +23065,19 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "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" + } + }, "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", @@ -21253,8 +23088,7 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true, - "peer": true + "dev": true }, "fast-safe-stringify": { "version": "2.0.8", @@ -21268,6 +23102,15 @@ "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", "dev": true }, + "fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, "fb-watchman": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", @@ -21287,6 +23130,15 @@ "escape-string-regexp": "^1.0.5" } }, + "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, + "requires": { + "flat-cache": "^3.0.4" + } + }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -21400,6 +23252,23 @@ "path-exists": "^4.0.0" } }, + "flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "requires": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, "flow-parser": { "version": "0.157.0", "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.157.0.tgz", @@ -21558,6 +23427,20 @@ "define-properties": "^1.1.3" } }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "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" + } + }, "gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -21572,6 +23455,12 @@ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -21818,12 +23707,36 @@ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, + "ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true + }, "ignore-by-default": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", "dev": true }, + "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, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "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 + } + } + }, "import-local": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", @@ -22043,9 +23956,9 @@ "peer": true }, "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { "is-extglob": "^2.1.1" @@ -22057,6 +23970,12 @@ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, + "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 + }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -24454,6 +26373,12 @@ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, + "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 + }, "json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -24484,6 +26409,12 @@ } } }, + "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 + }, "json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -24504,6 +26435,15 @@ "prebuild-install": "^7.0.1" } }, + "keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -24621,6 +26561,12 @@ "dev": true, "peer": true }, + "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 + }, "long": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", @@ -24704,6 +26650,12 @@ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -24871,8 +26823,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true, - "peer": true + "dev": true }, "negotiator": { "version": "0.6.3", @@ -25219,6 +27170,15 @@ "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" }, + "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, + "requires": { + "callsites": "^3.0.0" + } + }, "parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", @@ -25264,6 +27224,12 @@ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" }, + "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 + }, "pg": { "version": "8.8.0", "resolved": "https://registry.npmjs.org/pg/-/pg-8.8.0.tgz", @@ -25447,6 +27413,12 @@ "dev": true, "peer": true }, + "prettier": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", + "dev": true + }, "pretty-format": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", @@ -25823,12 +27795,17 @@ "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-7.0.3.tgz", "integrity": "sha512-SEvMa4khHvpU/o6zgh7sK24qm6rxVgKnrSyzb5POeDvZx5N9Bf0s5sQsQ4Fl+HjRp0X+w2UzACGfUnXtx6cJ9Q==" }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "peer": true, "requires": { "glob": "^7.1.3" } @@ -25848,6 +27825,15 @@ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", "dev": true }, + "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, + "requires": { + "queue-microtask": "^1.2.2" + } + }, "run-parallel-limit": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz", @@ -26153,8 +28139,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "peer": true + "dev": true }, "snapdragon": { "version": "0.8.2", @@ -26641,6 +28626,12 @@ "minimatch": "^3.0.4" } }, + "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 + }, "throat": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", @@ -26757,6 +28748,13 @@ "punycode": "^2.1.1" } }, + "ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "requires": {} + }, "ts-jest": { "version": "27.0.4", "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.0.4.tgz", @@ -26884,6 +28882,12 @@ "dev": true, "peer": true }, + "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 + }, "type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -27323,11 +29327,10 @@ } }, "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "peer": true + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true }, "wrap-ansi": { "version": "7.0.0", diff --git a/indexer/package.json b/indexer/package.json index 8421c5efd..17ef858f5 100644 --- a/indexer/package.json +++ b/indexer/package.json @@ -2,22 +2,22 @@ "name": "cloudmos-indexer", "version": "1.8.0", "description": "Indexer for any Cosmos based blockchain", - "author": "Cloudmos", - "license": "Apache-2.0", - "main": "server.js", - "scripts": { - "start": "webpack --mode development --config webpack.dev.js --watch", - "build": "webpack --config webpack.prod.js", - "test": "jest" + "homepage": "https://github.com/akash-network/cloudmos", + "bugs": { + "url": "https://github.com/akash-network/cloudmos/issues" }, "repository": { "type": "git", "url": "git+https://github.com/akash-network/cloudmos.git" }, - "bugs": { - "url": "https://github.com/akash-network/cloudmos/issues" + "license": "Apache-2.0", + "author": "Cloudmos", + "main": "server.js", + "scripts": { + "build": "webpack --config webpack.prod.js", + "start": "webpack --mode development --config webpack.dev.js --watch", + "test": "jest" }, - "homepage": "https://github.com/akash-network/cloudmos", "dependencies": { "@akashnetwork/akash-api": "^1.0.3", "@akashnetwork/akashjs": "^0.6.1", @@ -40,6 +40,7 @@ "human-interval": "^2.0.1", "js-sha256": "^0.9.0", "level": "^8.0.0", + "lodash": "^4.17.21", "node-fetch": "^2.6.1", "node-gzip": "^1.1.2", "pg": "^8.7.3", @@ -53,6 +54,7 @@ "devDependencies": { "@types/async": "^3.2.15", "@types/express": "^4.17.13", + "@types/lodash": "^4.17.0", "@types/node": "^16.11.68", "@types/node-fetch": "^2.6.2", "@types/node-gzip": "^1.1.0", @@ -60,9 +62,13 @@ "@types/semver": "^7.5.6", "@types/uuid": "^8.3.1", "@types/validator": "^13.7.8", + "@typescript-eslint/eslint-plugin": "^7.2.0", "alias-hq": "^5.1.6", + "eslint": "^8.57.0", + "eslint-plugin-simple-import-sort": "^12.0.0", "nodemon": "^2.0.7", "nodemon-webpack-plugin": "^4.5.2", + "prettier": "^3.2.5", "supertest": "^6.1.5", "ts-jest": "^27.0.4", "ts-loader": "^9.5.1", diff --git a/indexer/src/proto/gen/akash/base/v1beta3/attribute_pb.ts b/indexer/src/proto/gen/akash/base/v1beta3/attribute_pb.ts deleted file mode 100644 index 13c09ff43..000000000 --- a/indexer/src/proto/gen/akash/base/v1beta3/attribute_pb.ts +++ /dev/null @@ -1,154 +0,0 @@ -// @generated by protoc-gen-es v1.7.2 with parameter "target=ts" -// @generated from file akash/base/v1beta3/attribute.proto (package akash.base.v1beta3, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; -import { Message, proto3 } from "@bufbuild/protobuf"; - -/** - * Attribute represents key value pair - * - * @generated from message akash.base.v1beta3.Attribute - */ -export class Attribute extends Message { - /** - * @generated from field: string key = 1; - */ - key = ""; - - /** - * @generated from field: string value = 2; - */ - value = ""; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.base.v1beta3.Attribute"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "key", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "value", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): Attribute { - return new Attribute().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): Attribute { - return new Attribute().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): Attribute { - return new Attribute().fromJsonString(jsonString, options); - } - - static equals(a: Attribute | PlainMessage | undefined, b: Attribute | PlainMessage | undefined): boolean { - return proto3.util.equals(Attribute, a, b); - } -} - -/** - * SignedBy represents validation accounts that tenant expects signatures for provider attributes - * AllOf has precedence i.e. if there is at least one entry AnyOf is ignored regardless to how many - * entries there - * this behaviour to be discussed - * - * @generated from message akash.base.v1beta3.SignedBy - */ -export class SignedBy extends Message { - /** - * all_of all keys in this list must have signed attributes - * - * @generated from field: repeated string all_of = 1; - */ - allOf: string[] = []; - - /** - * any_of at least of of the keys from the list must have signed attributes - * - * @generated from field: repeated string any_of = 2; - */ - anyOf: string[] = []; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.base.v1beta3.SignedBy"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "all_of", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true }, - { no: 2, name: "any_of", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): SignedBy { - return new SignedBy().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): SignedBy { - return new SignedBy().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): SignedBy { - return new SignedBy().fromJsonString(jsonString, options); - } - - static equals(a: SignedBy | PlainMessage | undefined, b: SignedBy | PlainMessage | undefined): boolean { - return proto3.util.equals(SignedBy, a, b); - } -} - -/** - * PlacementRequirements - * - * @generated from message akash.base.v1beta3.PlacementRequirements - */ -export class PlacementRequirements extends Message { - /** - * SignedBy list of keys that tenants expect to have signatures from - * - * @generated from field: akash.base.v1beta3.SignedBy signed_by = 1; - */ - signedBy?: SignedBy; - - /** - * Attribute list of attributes tenant expects from the provider - * - * @generated from field: repeated akash.base.v1beta3.Attribute attributes = 2; - */ - attributes: Attribute[] = []; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.base.v1beta3.PlacementRequirements"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "signed_by", kind: "message", T: SignedBy }, - { no: 2, name: "attributes", kind: "message", T: Attribute, repeated: true }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): PlacementRequirements { - return new PlacementRequirements().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): PlacementRequirements { - return new PlacementRequirements().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): PlacementRequirements { - return new PlacementRequirements().fromJsonString(jsonString, options); - } - - static equals(a: PlacementRequirements | PlainMessage | undefined, b: PlacementRequirements | PlainMessage | undefined): boolean { - return proto3.util.equals(PlacementRequirements, a, b); - } -} - diff --git a/indexer/src/proto/gen/akash/inventory/v1/cluster_pb.ts b/indexer/src/proto/gen/akash/inventory/v1/cluster_pb.ts deleted file mode 100644 index f48838d32..000000000 --- a/indexer/src/proto/gen/akash/inventory/v1/cluster_pb.ts +++ /dev/null @@ -1,55 +0,0 @@ -// @generated by protoc-gen-es v1.7.2 with parameter "target=ts" -// @generated from file akash/inventory/v1/cluster.proto (package akash.inventory.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; -import { Message, proto3 } from "@bufbuild/protobuf"; -import { Node } from "./node_pb"; -import { Storage } from "./storage_pb"; - -/** - * Cluster reports inventory across entire cluster - * - * @generated from message akash.inventory.v1.Cluster - */ -export class Cluster extends Message { - /** - * @generated from field: repeated akash.inventory.v1.Node nodes = 1; - */ - nodes: Node[] = []; - - /** - * @generated from field: repeated akash.inventory.v1.Storage storage = 2; - */ - storage: Storage[] = []; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.inventory.v1.Cluster"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "nodes", kind: "message", T: Node, repeated: true }, - { no: 2, name: "storage", kind: "message", T: Storage, repeated: true }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): Cluster { - return new Cluster().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): Cluster { - return new Cluster().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): Cluster { - return new Cluster().fromJsonString(jsonString, options); - } - - static equals(a: Cluster | PlainMessage | undefined, b: Cluster | PlainMessage | undefined): boolean { - return proto3.util.equals(Cluster, a, b); - } -} - diff --git a/indexer/src/proto/gen/akash/inventory/v1/cpu_pb.ts b/indexer/src/proto/gen/akash/inventory/v1/cpu_pb.ts deleted file mode 100644 index b81749b80..000000000 --- a/indexer/src/proto/gen/akash/inventory/v1/cpu_pb.ts +++ /dev/null @@ -1,111 +0,0 @@ -// @generated by protoc-gen-es v1.7.2 with parameter "target=ts" -// @generated from file akash/inventory/v1/cpu.proto (package akash.inventory.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; -import { Message, proto3 } from "@bufbuild/protobuf"; -import { ResourcePair } from "./resourcepair_pb"; - -/** - * CPUInfo reports CPU details - * - * @generated from message akash.inventory.v1.CPUInfo - */ -export class CPUInfo extends Message { - /** - * @generated from field: string id = 1; - */ - id = ""; - - /** - * @generated from field: string vendor = 2; - */ - vendor = ""; - - /** - * @generated from field: string model = 3; - */ - model = ""; - - /** - * @generated from field: uint32 vcores = 4; - */ - vcores = 0; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.inventory.v1.CPUInfo"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "vendor", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 3, name: "model", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 4, name: "vcores", kind: "scalar", T: 13 /* ScalarType.UINT32 */ }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): CPUInfo { - return new CPUInfo().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): CPUInfo { - return new CPUInfo().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): CPUInfo { - return new CPUInfo().fromJsonString(jsonString, options); - } - - static equals(a: CPUInfo | PlainMessage | undefined, b: CPUInfo | PlainMessage | undefined): boolean { - return proto3.util.equals(CPUInfo, a, b); - } -} - -/** - * CPU reports CPU inventory details - * - * @generated from message akash.inventory.v1.CPU - */ -export class CPU extends Message { - /** - * @generated from field: akash.inventory.v1.ResourcePair quantity = 1; - */ - quantity?: ResourcePair; - - /** - * @generated from field: repeated akash.inventory.v1.CPUInfo info = 2; - */ - info: CPUInfo[] = []; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.inventory.v1.CPU"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "quantity", kind: "message", T: ResourcePair }, - { no: 2, name: "info", kind: "message", T: CPUInfo, repeated: true }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): CPU { - return new CPU().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): CPU { - return new CPU().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): CPU { - return new CPU().fromJsonString(jsonString, options); - } - - static equals(a: CPU | PlainMessage | undefined, b: CPU | PlainMessage | undefined): boolean { - return proto3.util.equals(CPU, a, b); - } -} - diff --git a/indexer/src/proto/gen/akash/inventory/v1/gpu_pb.ts b/indexer/src/proto/gen/akash/inventory/v1/gpu_pb.ts deleted file mode 100644 index 20d271f8a..000000000 --- a/indexer/src/proto/gen/akash/inventory/v1/gpu_pb.ts +++ /dev/null @@ -1,123 +0,0 @@ -// @generated by protoc-gen-es v1.7.2 with parameter "target=ts" -// @generated from file akash/inventory/v1/gpu.proto (package akash.inventory.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; -import { Message, proto3 } from "@bufbuild/protobuf"; -import { ResourcePair } from "./resourcepair_pb"; - -/** - * GPUInfo reports GPU details - * - * @generated from message akash.inventory.v1.GPUInfo - */ -export class GPUInfo extends Message { - /** - * @generated from field: string vendor = 1; - */ - vendor = ""; - - /** - * @generated from field: string vendor_id = 2; - */ - vendorId = ""; - - /** - * @generated from field: string name = 3; - */ - name = ""; - - /** - * @generated from field: string modelid = 4; - */ - modelid = ""; - - /** - * @generated from field: string interface = 5; - */ - interface = ""; - - /** - * @generated from field: string memory_size = 6; - */ - memorySize = ""; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.inventory.v1.GPUInfo"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "vendor", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "vendor_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 3, name: "name", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 4, name: "modelid", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 5, name: "interface", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 6, name: "memory_size", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): GPUInfo { - return new GPUInfo().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): GPUInfo { - return new GPUInfo().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): GPUInfo { - return new GPUInfo().fromJsonString(jsonString, options); - } - - static equals(a: GPUInfo | PlainMessage | undefined, b: GPUInfo | PlainMessage | undefined): boolean { - return proto3.util.equals(GPUInfo, a, b); - } -} - -/** - * GPUInfo reports GPU inventory details - * - * @generated from message akash.inventory.v1.GPU - */ -export class GPU extends Message { - /** - * @generated from field: akash.inventory.v1.ResourcePair quantity = 1; - */ - quantity?: ResourcePair; - - /** - * @generated from field: repeated akash.inventory.v1.GPUInfo info = 2; - */ - info: GPUInfo[] = []; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.inventory.v1.GPU"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "quantity", kind: "message", T: ResourcePair }, - { no: 2, name: "info", kind: "message", T: GPUInfo, repeated: true }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): GPU { - return new GPU().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): GPU { - return new GPU().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): GPU { - return new GPU().fromJsonString(jsonString, options); - } - - static equals(a: GPU | PlainMessage | undefined, b: GPU | PlainMessage | undefined): boolean { - return proto3.util.equals(GPU, a, b); - } -} - diff --git a/indexer/src/proto/gen/akash/inventory/v1/memory_pb.ts b/indexer/src/proto/gen/akash/inventory/v1/memory_pb.ts deleted file mode 100644 index a48be7f9f..000000000 --- a/indexer/src/proto/gen/akash/inventory/v1/memory_pb.ts +++ /dev/null @@ -1,111 +0,0 @@ -// @generated by protoc-gen-es v1.7.2 with parameter "target=ts" -// @generated from file akash/inventory/v1/memory.proto (package akash.inventory.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; -import { Message, proto3 } from "@bufbuild/protobuf"; -import { ResourcePair } from "./resourcepair_pb"; - -/** - * MemoryInfo reports Memory details - * - * @generated from message akash.inventory.v1.MemoryInfo - */ -export class MemoryInfo extends Message { - /** - * @generated from field: string vendor = 1; - */ - vendor = ""; - - /** - * @generated from field: string type = 2; - */ - type = ""; - - /** - * @generated from field: string total_size = 3; - */ - totalSize = ""; - - /** - * @generated from field: string speed = 4; - */ - speed = ""; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.inventory.v1.MemoryInfo"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "vendor", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "type", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 3, name: "total_size", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 4, name: "speed", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): MemoryInfo { - return new MemoryInfo().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): MemoryInfo { - return new MemoryInfo().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): MemoryInfo { - return new MemoryInfo().fromJsonString(jsonString, options); - } - - static equals(a: MemoryInfo | PlainMessage | undefined, b: MemoryInfo | PlainMessage | undefined): boolean { - return proto3.util.equals(MemoryInfo, a, b); - } -} - -/** - * Memory reports Memory inventory details - * - * @generated from message akash.inventory.v1.Memory - */ -export class Memory extends Message { - /** - * @generated from field: akash.inventory.v1.ResourcePair quantity = 1; - */ - quantity?: ResourcePair; - - /** - * @generated from field: repeated akash.inventory.v1.MemoryInfo info = 2; - */ - info: MemoryInfo[] = []; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.inventory.v1.Memory"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "quantity", kind: "message", T: ResourcePair }, - { no: 2, name: "info", kind: "message", T: MemoryInfo, repeated: true }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): Memory { - return new Memory().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): Memory { - return new Memory().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): Memory { - return new Memory().fromJsonString(jsonString, options); - } - - static equals(a: Memory | PlainMessage | undefined, b: Memory | PlainMessage | undefined): boolean { - return proto3.util.equals(Memory, a, b); - } -} - diff --git a/indexer/src/proto/gen/akash/inventory/v1/node_pb.ts b/indexer/src/proto/gen/akash/inventory/v1/node_pb.ts deleted file mode 100644 index 8dd515698..000000000 --- a/indexer/src/proto/gen/akash/inventory/v1/node_pb.ts +++ /dev/null @@ -1,99 +0,0 @@ -// @generated by protoc-gen-es v1.7.2 with parameter "target=ts" -// @generated from file akash/inventory/v1/node.proto (package akash.inventory.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; -import { Message, proto3 } from "@bufbuild/protobuf"; -import { NodeResources } from "./resources_pb"; - -/** - * NodeCapabilities extended list of node capabilities - * - * @generated from message akash.inventory.v1.NodeCapabilities - */ -export class NodeCapabilities extends Message { - /** - * @generated from field: repeated string storage_classes = 1; - */ - storageClasses: string[] = []; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.inventory.v1.NodeCapabilities"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "storage_classes", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): NodeCapabilities { - return new NodeCapabilities().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): NodeCapabilities { - return new NodeCapabilities().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): NodeCapabilities { - return new NodeCapabilities().fromJsonString(jsonString, options); - } - - static equals(a: NodeCapabilities | PlainMessage | undefined, b: NodeCapabilities | PlainMessage | undefined): boolean { - return proto3.util.equals(NodeCapabilities, a, b); - } -} - -/** - * Node reports node inventory details - * - * @generated from message akash.inventory.v1.Node - */ -export class Node extends Message { - /** - * @generated from field: string name = 1; - */ - name = ""; - - /** - * @generated from field: akash.inventory.v1.NodeResources resources = 2; - */ - resources?: NodeResources; - - /** - * @generated from field: akash.inventory.v1.NodeCapabilities capabilities = 3; - */ - capabilities?: NodeCapabilities; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.inventory.v1.Node"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "name", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "resources", kind: "message", T: NodeResources }, - { no: 3, name: "capabilities", kind: "message", T: NodeCapabilities }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): Node { - return new Node().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): Node { - return new Node().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): Node { - return new Node().fromJsonString(jsonString, options); - } - - static equals(a: Node | PlainMessage | undefined, b: Node | PlainMessage | undefined): boolean { - return proto3.util.equals(Node, a, b); - } -} - diff --git a/indexer/src/proto/gen/akash/inventory/v1/resourcepair_pb.ts b/indexer/src/proto/gen/akash/inventory/v1/resourcepair_pb.ts deleted file mode 100644 index c0994cd85..000000000 --- a/indexer/src/proto/gen/akash/inventory/v1/resourcepair_pb.ts +++ /dev/null @@ -1,61 +0,0 @@ -// @generated by protoc-gen-es v1.7.2 with parameter "target=ts" -// @generated from file akash/inventory/v1/resourcepair.proto (package akash.inventory.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; -import { Message, proto3 } from "@bufbuild/protobuf"; -import { Quantity } from "../../../k8s.io/apimachinery/pkg/api/resource/generated_pb"; -import { Attribute } from "../../base/v1beta3/attribute_pb"; - -/** - * ResourcePair to extents resource.Quantity to provide total and available units of the resource - * - * @generated from message akash.inventory.v1.ResourcePair - */ -export class ResourcePair extends Message { - /** - * @generated from field: k8s.io.apimachinery.pkg.api.resource.Quantity allocatable = 1; - */ - allocatable?: Quantity; - - /** - * @generated from field: k8s.io.apimachinery.pkg.api.resource.Quantity allocated = 2; - */ - allocated?: Quantity; - - /** - * @generated from field: repeated akash.base.v1beta3.Attribute attributes = 3; - */ - attributes: Attribute[] = []; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.inventory.v1.ResourcePair"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "allocatable", kind: "message", T: Quantity }, - { no: 2, name: "allocated", kind: "message", T: Quantity }, - { no: 3, name: "attributes", kind: "message", T: Attribute, repeated: true }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): ResourcePair { - return new ResourcePair().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): ResourcePair { - return new ResourcePair().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): ResourcePair { - return new ResourcePair().fromJsonString(jsonString, options); - } - - static equals(a: ResourcePair | PlainMessage | undefined, b: ResourcePair | PlainMessage | undefined): boolean { - return proto3.util.equals(ResourcePair, a, b); - } -} - diff --git a/indexer/src/proto/gen/akash/inventory/v1/resources_pb.ts b/indexer/src/proto/gen/akash/inventory/v1/resources_pb.ts deleted file mode 100644 index a26bfccd5..000000000 --- a/indexer/src/proto/gen/akash/inventory/v1/resources_pb.ts +++ /dev/null @@ -1,81 +0,0 @@ -// @generated by protoc-gen-es v1.7.2 with parameter "target=ts" -// @generated from file akash/inventory/v1/resources.proto (package akash.inventory.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; -import { Message, proto3 } from "@bufbuild/protobuf"; -import { CPU } from "./cpu_pb"; -import { Memory } from "./memory_pb"; -import { GPU } from "./gpu_pb"; -import { ResourcePair } from "./resourcepair_pb"; - -/** - * NodeResources reports node inventory details - * - * @generated from message akash.inventory.v1.NodeResources - */ -export class NodeResources extends Message { - /** - * @generated from field: akash.inventory.v1.CPU cpu = 1; - */ - cpu?: CPU; - - /** - * @generated from field: akash.inventory.v1.Memory memory = 2; - */ - memory?: Memory; - - /** - * @generated from field: akash.inventory.v1.GPU gpu = 3; - */ - gpu?: GPU; - - /** - * @generated from field: akash.inventory.v1.ResourcePair ephemeral_storage = 4; - */ - ephemeralStorage?: ResourcePair; - - /** - * @generated from field: akash.inventory.v1.ResourcePair volumes_attached = 5; - */ - volumesAttached?: ResourcePair; - - /** - * @generated from field: akash.inventory.v1.ResourcePair volumes_mounted = 6; - */ - volumesMounted?: ResourcePair; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.inventory.v1.NodeResources"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "cpu", kind: "message", T: CPU }, - { no: 2, name: "memory", kind: "message", T: Memory }, - { no: 3, name: "gpu", kind: "message", T: GPU }, - { no: 4, name: "ephemeral_storage", kind: "message", T: ResourcePair }, - { no: 5, name: "volumes_attached", kind: "message", T: ResourcePair }, - { no: 6, name: "volumes_mounted", kind: "message", T: ResourcePair }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): NodeResources { - return new NodeResources().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): NodeResources { - return new NodeResources().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): NodeResources { - return new NodeResources().fromJsonString(jsonString, options); - } - - static equals(a: NodeResources | PlainMessage | undefined, b: NodeResources | PlainMessage | undefined): boolean { - return proto3.util.equals(NodeResources, a, b); - } -} - diff --git a/indexer/src/proto/gen/akash/inventory/v1/storage_pb.ts b/indexer/src/proto/gen/akash/inventory/v1/storage_pb.ts deleted file mode 100644 index 08bea2f52..000000000 --- a/indexer/src/proto/gen/akash/inventory/v1/storage_pb.ts +++ /dev/null @@ -1,99 +0,0 @@ -// @generated by protoc-gen-es v1.7.2 with parameter "target=ts" -// @generated from file akash/inventory/v1/storage.proto (package akash.inventory.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; -import { Message, proto3 } from "@bufbuild/protobuf"; -import { ResourcePair } from "./resourcepair_pb"; - -/** - * StorageInfo reports Storage details - * - * @generated from message akash.inventory.v1.StorageInfo - */ -export class StorageInfo extends Message { - /** - * @generated from field: string class = 1; - */ - class = ""; - - /** - * @generated from field: string iops = 2; - */ - iops = ""; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.inventory.v1.StorageInfo"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "class", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "iops", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): StorageInfo { - return new StorageInfo().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): StorageInfo { - return new StorageInfo().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): StorageInfo { - return new StorageInfo().fromJsonString(jsonString, options); - } - - static equals(a: StorageInfo | PlainMessage | undefined, b: StorageInfo | PlainMessage | undefined): boolean { - return proto3.util.equals(StorageInfo, a, b); - } -} - -/** - * Storage reports Storage inventory details - * - * @generated from message akash.inventory.v1.Storage - */ -export class Storage extends Message { - /** - * @generated from field: akash.inventory.v1.ResourcePair quantity = 1; - */ - quantity?: ResourcePair; - - /** - * @generated from field: akash.inventory.v1.StorageInfo info = 2; - */ - info?: StorageInfo; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.inventory.v1.Storage"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "quantity", kind: "message", T: ResourcePair }, - { no: 2, name: "info", kind: "message", T: StorageInfo }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): Storage { - return new Storage().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): Storage { - return new Storage().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): Storage { - return new Storage().fromJsonString(jsonString, options); - } - - static equals(a: Storage | PlainMessage | undefined, b: Storage | PlainMessage | undefined): boolean { - return proto3.util.equals(Storage, a, b); - } -} - diff --git a/indexer/src/proto/gen/akash/provider/v1/service_connect.ts b/indexer/src/proto/gen/akash/provider/v1/service_connect.ts deleted file mode 100644 index 39eb4b665..000000000 --- a/indexer/src/proto/gen/akash/provider/v1/service_connect.ts +++ /dev/null @@ -1,45 +0,0 @@ -// @generated by protoc-gen-connect-es v1.3.0 with parameter "target=ts" -// @generated from file akash/provider/v1/service.proto (package akash.provider.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import { Empty, MethodKind } from "@bufbuild/protobuf"; -import { Status } from "./status_pb"; - -/** - * ProviderRPC defines the RPC server for provider - * - * @generated from service akash.provider.v1.ProviderRPC - */ -export const ProviderRPC = { - typeName: "akash.provider.v1.ProviderRPC", - methods: { - /** - * GetStatus defines a method to query provider state - * buf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE - * buf:lint:ignore RPC_RESPONSE_STANDARD_NAME - * - * @generated from rpc akash.provider.v1.ProviderRPC.GetStatus - */ - getStatus: { - name: "GetStatus", - I: Empty, - O: Status, - kind: MethodKind.Unary, - }, - /** - * Status defines a method to stream provider state - * buf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE - * buf:lint:ignore RPC_RESPONSE_STANDARD_NAME - * - * @generated from rpc akash.provider.v1.ProviderRPC.StreamStatus - */ - streamStatus: { - name: "StreamStatus", - I: Empty, - O: Status, - kind: MethodKind.ServerStreaming, - }, - } -} as const; - diff --git a/indexer/src/proto/gen/akash/provider/v1/status_pb.ts b/indexer/src/proto/gen/akash/provider/v1/status_pb.ts deleted file mode 100644 index 67a6433b4..000000000 --- a/indexer/src/proto/gen/akash/provider/v1/status_pb.ts +++ /dev/null @@ -1,439 +0,0 @@ -// @generated by protoc-gen-es v1.7.2 with parameter "target=ts" -// @generated from file akash/provider/v1/status.proto (package akash.provider.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; -import { Message, proto3, Timestamp } from "@bufbuild/protobuf"; -import { Quantity } from "../../../k8s.io/apimachinery/pkg/api/resource/generated_pb"; -import { Cluster } from "../../inventory/v1/cluster_pb"; - -/** - * ResourceMetrics - * - * @generated from message akash.provider.v1.ResourcesMetric - */ -export class ResourcesMetric extends Message { - /** - * @generated from field: k8s.io.apimachinery.pkg.api.resource.Quantity cpu = 1; - */ - cpu?: Quantity; - - /** - * @generated from field: k8s.io.apimachinery.pkg.api.resource.Quantity memory = 2; - */ - memory?: Quantity; - - /** - * @generated from field: k8s.io.apimachinery.pkg.api.resource.Quantity gpu = 3; - */ - gpu?: Quantity; - - /** - * @generated from field: k8s.io.apimachinery.pkg.api.resource.Quantity ephemeral_storage = 4; - */ - ephemeralStorage?: Quantity; - - /** - * @generated from field: map storage = 5; - */ - storage: { [key: string]: Quantity } = {}; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.provider.v1.ResourcesMetric"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "cpu", kind: "message", T: Quantity }, - { no: 2, name: "memory", kind: "message", T: Quantity }, - { no: 3, name: "gpu", kind: "message", T: Quantity }, - { no: 4, name: "ephemeral_storage", kind: "message", T: Quantity }, - { no: 5, name: "storage", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "message", T: Quantity} }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): ResourcesMetric { - return new ResourcesMetric().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): ResourcesMetric { - return new ResourcesMetric().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): ResourcesMetric { - return new ResourcesMetric().fromJsonString(jsonString, options); - } - - static equals(a: ResourcesMetric | PlainMessage | undefined, b: ResourcesMetric | PlainMessage | undefined): boolean { - return proto3.util.equals(ResourcesMetric, a, b); - } -} - -/** - * Leases - * - * @generated from message akash.provider.v1.Leases - */ -export class Leases extends Message { - /** - * @generated from field: uint32 active = 1; - */ - active = 0; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.provider.v1.Leases"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "active", kind: "scalar", T: 13 /* ScalarType.UINT32 */ }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): Leases { - return new Leases().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): Leases { - return new Leases().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): Leases { - return new Leases().fromJsonString(jsonString, options); - } - - static equals(a: Leases | PlainMessage | undefined, b: Leases | PlainMessage | undefined): boolean { - return proto3.util.equals(Leases, a, b); - } -} - -/** - * ReservationsMetric - * - * @generated from message akash.provider.v1.ReservationsMetric - */ -export class ReservationsMetric extends Message { - /** - * @generated from field: uint32 count = 1; - */ - count = 0; - - /** - * @generated from field: akash.provider.v1.ResourcesMetric resources = 2; - */ - resources?: ResourcesMetric; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.provider.v1.ReservationsMetric"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "count", kind: "scalar", T: 13 /* ScalarType.UINT32 */ }, - { no: 2, name: "resources", kind: "message", T: ResourcesMetric }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): ReservationsMetric { - return new ReservationsMetric().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): ReservationsMetric { - return new ReservationsMetric().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): ReservationsMetric { - return new ReservationsMetric().fromJsonString(jsonString, options); - } - - static equals(a: ReservationsMetric | PlainMessage | undefined, b: ReservationsMetric | PlainMessage | undefined): boolean { - return proto3.util.equals(ReservationsMetric, a, b); - } -} - -/** - * Reservations - * - * @generated from message akash.provider.v1.Reservations - */ -export class Reservations extends Message { - /** - * @generated from field: akash.provider.v1.ReservationsMetric pending = 1; - */ - pending?: ReservationsMetric; - - /** - * @generated from field: akash.provider.v1.ReservationsMetric active = 2; - */ - active?: ReservationsMetric; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.provider.v1.Reservations"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "pending", kind: "message", T: ReservationsMetric }, - { no: 2, name: "active", kind: "message", T: ReservationsMetric }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): Reservations { - return new Reservations().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): Reservations { - return new Reservations().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): Reservations { - return new Reservations().fromJsonString(jsonString, options); - } - - static equals(a: Reservations | PlainMessage | undefined, b: Reservations | PlainMessage | undefined): boolean { - return proto3.util.equals(Reservations, a, b); - } -} - -/** - * Inventory - * - * @generated from message akash.provider.v1.Inventory - */ -export class Inventory extends Message { - /** - * @generated from field: akash.inventory.v1.Cluster cluster = 1; - */ - cluster?: Cluster; - - /** - * @generated from field: akash.provider.v1.Reservations reservations = 2; - */ - reservations?: Reservations; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.provider.v1.Inventory"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "cluster", kind: "message", T: Cluster }, - { no: 2, name: "reservations", kind: "message", T: Reservations }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): Inventory { - return new Inventory().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): Inventory { - return new Inventory().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): Inventory { - return new Inventory().fromJsonString(jsonString, options); - } - - static equals(a: Inventory | PlainMessage | undefined, b: Inventory | PlainMessage | undefined): boolean { - return proto3.util.equals(Inventory, a, b); - } -} - -/** - * ClusterStatus - * - * @generated from message akash.provider.v1.ClusterStatus - */ -export class ClusterStatus extends Message { - /** - * @generated from field: akash.provider.v1.Leases leases = 1; - */ - leases?: Leases; - - /** - * @generated from field: akash.provider.v1.Inventory inventory = 2; - */ - inventory?: Inventory; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.provider.v1.ClusterStatus"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "leases", kind: "message", T: Leases }, - { no: 2, name: "inventory", kind: "message", T: Inventory }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): ClusterStatus { - return new ClusterStatus().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): ClusterStatus { - return new ClusterStatus().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): ClusterStatus { - return new ClusterStatus().fromJsonString(jsonString, options); - } - - static equals(a: ClusterStatus | PlainMessage | undefined, b: ClusterStatus | PlainMessage | undefined): boolean { - return proto3.util.equals(ClusterStatus, a, b); - } -} - -/** - * BidEngineStatus - * - * @generated from message akash.provider.v1.BidEngineStatus - */ -export class BidEngineStatus extends Message { - /** - * @generated from field: uint32 orders = 1; - */ - orders = 0; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.provider.v1.BidEngineStatus"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "orders", kind: "scalar", T: 13 /* ScalarType.UINT32 */ }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): BidEngineStatus { - return new BidEngineStatus().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): BidEngineStatus { - return new BidEngineStatus().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): BidEngineStatus { - return new BidEngineStatus().fromJsonString(jsonString, options); - } - - static equals(a: BidEngineStatus | PlainMessage | undefined, b: BidEngineStatus | PlainMessage | undefined): boolean { - return proto3.util.equals(BidEngineStatus, a, b); - } -} - -/** - * ManifestStatus - * - * @generated from message akash.provider.v1.ManifestStatus - */ -export class ManifestStatus extends Message { - /** - * @generated from field: uint32 deployments = 1; - */ - deployments = 0; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.provider.v1.ManifestStatus"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "deployments", kind: "scalar", T: 13 /* ScalarType.UINT32 */ }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): ManifestStatus { - return new ManifestStatus().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): ManifestStatus { - return new ManifestStatus().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): ManifestStatus { - return new ManifestStatus().fromJsonString(jsonString, options); - } - - static equals(a: ManifestStatus | PlainMessage | undefined, b: ManifestStatus | PlainMessage | undefined): boolean { - return proto3.util.equals(ManifestStatus, a, b); - } -} - -/** - * Status - * - * @generated from message akash.provider.v1.Status - */ -export class Status extends Message { - /** - * @generated from field: repeated string errors = 1; - */ - errors: string[] = []; - - /** - * @generated from field: akash.provider.v1.ClusterStatus cluster = 2; - */ - cluster?: ClusterStatus; - - /** - * @generated from field: akash.provider.v1.BidEngineStatus bid_engine = 3; - */ - bidEngine?: BidEngineStatus; - - /** - * @generated from field: akash.provider.v1.ManifestStatus manifest = 4; - */ - manifest?: ManifestStatus; - - /** - * @generated from field: repeated string public_hostnames = 5; - */ - publicHostnames: string[] = []; - - /** - * @generated from field: google.protobuf.Timestamp timestamp = 6; - */ - timestamp?: Timestamp; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "akash.provider.v1.Status"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "errors", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true }, - { no: 2, name: "cluster", kind: "message", T: ClusterStatus }, - { no: 3, name: "bid_engine", kind: "message", T: BidEngineStatus }, - { no: 4, name: "manifest", kind: "message", T: ManifestStatus }, - { no: 5, name: "public_hostnames", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true }, - { no: 6, name: "timestamp", kind: "message", T: Timestamp }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): Status { - return new Status().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): Status { - return new Status().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): Status { - return new Status().fromJsonString(jsonString, options); - } - - static equals(a: Status | PlainMessage | undefined, b: Status | PlainMessage | undefined): boolean { - return proto3.util.equals(Status, a, b); - } -} - diff --git a/indexer/src/proto/gen/gogoproto/gogo_pb.ts b/indexer/src/proto/gen/gogoproto/gogo_pb.ts deleted file mode 100644 index 970d4f5c3..000000000 --- a/indexer/src/proto/gen/gogoproto/gogo_pb.ts +++ /dev/null @@ -1,728 +0,0 @@ -// Protocol Buffers for Go with Gadgets -// -// Copyright (c) 2013, The GoGo Authors. All rights reserved. -// http://github.com/gogo/protobuf -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// @generated by protoc-gen-es v1.7.2 with parameter "target=ts" -// @generated from file gogoproto/gogo.proto (package gogoproto, syntax proto2) -/* eslint-disable */ -// @ts-nocheck - -import { EnumOptions, EnumValueOptions, FieldOptions, FileOptions, MessageOptions, proto2 } from "@bufbuild/protobuf"; - -/** - * @generated from extension: optional bool goproto_enum_prefix = 62001; - */ -export const goproto_enum_prefix = proto2.makeExtension( - "gogoproto.goproto_enum_prefix", - EnumOptions, - { no: 62001, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool goproto_enum_stringer = 62021; - */ -export const goproto_enum_stringer = proto2.makeExtension( - "gogoproto.goproto_enum_stringer", - EnumOptions, - { no: 62021, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool enum_stringer = 62022; - */ -export const enum_stringer = proto2.makeExtension( - "gogoproto.enum_stringer", - EnumOptions, - { no: 62022, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional string enum_customname = 62023; - */ -export const enum_customname = proto2.makeExtension( - "gogoproto.enum_customname", - EnumOptions, - { no: 62023, kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true }, -); - -/** - * @generated from extension: optional bool enumdecl = 62024; - */ -export const enumdecl = proto2.makeExtension( - "gogoproto.enumdecl", - EnumOptions, - { no: 62024, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional string enumvalue_customname = 66001; - */ -export const enumvalue_customname = proto2.makeExtension( - "gogoproto.enumvalue_customname", - EnumValueOptions, - { no: 66001, kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true }, -); - -/** - * @generated from extension: optional bool goproto_getters_all = 63001; - */ -export const goproto_getters_all = proto2.makeExtension( - "gogoproto.goproto_getters_all", - FileOptions, - { no: 63001, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool goproto_enum_prefix_all = 63002; - */ -export const goproto_enum_prefix_all = proto2.makeExtension( - "gogoproto.goproto_enum_prefix_all", - FileOptions, - { no: 63002, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool goproto_stringer_all = 63003; - */ -export const goproto_stringer_all = proto2.makeExtension( - "gogoproto.goproto_stringer_all", - FileOptions, - { no: 63003, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool verbose_equal_all = 63004; - */ -export const verbose_equal_all = proto2.makeExtension( - "gogoproto.verbose_equal_all", - FileOptions, - { no: 63004, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool face_all = 63005; - */ -export const face_all = proto2.makeExtension( - "gogoproto.face_all", - FileOptions, - { no: 63005, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool gostring_all = 63006; - */ -export const gostring_all = proto2.makeExtension( - "gogoproto.gostring_all", - FileOptions, - { no: 63006, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool populate_all = 63007; - */ -export const populate_all = proto2.makeExtension( - "gogoproto.populate_all", - FileOptions, - { no: 63007, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool stringer_all = 63008; - */ -export const stringer_all = proto2.makeExtension( - "gogoproto.stringer_all", - FileOptions, - { no: 63008, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool onlyone_all = 63009; - */ -export const onlyone_all = proto2.makeExtension( - "gogoproto.onlyone_all", - FileOptions, - { no: 63009, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool equal_all = 63013; - */ -export const equal_all = proto2.makeExtension( - "gogoproto.equal_all", - FileOptions, - { no: 63013, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool description_all = 63014; - */ -export const description_all = proto2.makeExtension( - "gogoproto.description_all", - FileOptions, - { no: 63014, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool testgen_all = 63015; - */ -export const testgen_all = proto2.makeExtension( - "gogoproto.testgen_all", - FileOptions, - { no: 63015, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool benchgen_all = 63016; - */ -export const benchgen_all = proto2.makeExtension( - "gogoproto.benchgen_all", - FileOptions, - { no: 63016, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool marshaler_all = 63017; - */ -export const marshaler_all = proto2.makeExtension( - "gogoproto.marshaler_all", - FileOptions, - { no: 63017, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool unmarshaler_all = 63018; - */ -export const unmarshaler_all = proto2.makeExtension( - "gogoproto.unmarshaler_all", - FileOptions, - { no: 63018, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool stable_marshaler_all = 63019; - */ -export const stable_marshaler_all = proto2.makeExtension( - "gogoproto.stable_marshaler_all", - FileOptions, - { no: 63019, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool sizer_all = 63020; - */ -export const sizer_all = proto2.makeExtension( - "gogoproto.sizer_all", - FileOptions, - { no: 63020, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool goproto_enum_stringer_all = 63021; - */ -export const goproto_enum_stringer_all = proto2.makeExtension( - "gogoproto.goproto_enum_stringer_all", - FileOptions, - { no: 63021, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool enum_stringer_all = 63022; - */ -export const enum_stringer_all = proto2.makeExtension( - "gogoproto.enum_stringer_all", - FileOptions, - { no: 63022, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool unsafe_marshaler_all = 63023; - */ -export const unsafe_marshaler_all = proto2.makeExtension( - "gogoproto.unsafe_marshaler_all", - FileOptions, - { no: 63023, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool unsafe_unmarshaler_all = 63024; - */ -export const unsafe_unmarshaler_all = proto2.makeExtension( - "gogoproto.unsafe_unmarshaler_all", - FileOptions, - { no: 63024, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool goproto_extensions_map_all = 63025; - */ -export const goproto_extensions_map_all = proto2.makeExtension( - "gogoproto.goproto_extensions_map_all", - FileOptions, - { no: 63025, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool goproto_unrecognized_all = 63026; - */ -export const goproto_unrecognized_all = proto2.makeExtension( - "gogoproto.goproto_unrecognized_all", - FileOptions, - { no: 63026, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool gogoproto_import = 63027; - */ -export const gogoproto_import = proto2.makeExtension( - "gogoproto.gogoproto_import", - FileOptions, - { no: 63027, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool protosizer_all = 63028; - */ -export const protosizer_all = proto2.makeExtension( - "gogoproto.protosizer_all", - FileOptions, - { no: 63028, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool compare_all = 63029; - */ -export const compare_all = proto2.makeExtension( - "gogoproto.compare_all", - FileOptions, - { no: 63029, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool typedecl_all = 63030; - */ -export const typedecl_all = proto2.makeExtension( - "gogoproto.typedecl_all", - FileOptions, - { no: 63030, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool enumdecl_all = 63031; - */ -export const enumdecl_all = proto2.makeExtension( - "gogoproto.enumdecl_all", - FileOptions, - { no: 63031, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool goproto_registration = 63032; - */ -export const goproto_registration = proto2.makeExtension( - "gogoproto.goproto_registration", - FileOptions, - { no: 63032, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool messagename_all = 63033; - */ -export const messagename_all = proto2.makeExtension( - "gogoproto.messagename_all", - FileOptions, - { no: 63033, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool goproto_sizecache_all = 63034; - */ -export const goproto_sizecache_all = proto2.makeExtension( - "gogoproto.goproto_sizecache_all", - FileOptions, - { no: 63034, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool goproto_unkeyed_all = 63035; - */ -export const goproto_unkeyed_all = proto2.makeExtension( - "gogoproto.goproto_unkeyed_all", - FileOptions, - { no: 63035, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool goproto_getters = 64001; - */ -export const goproto_getters = proto2.makeExtension( - "gogoproto.goproto_getters", - MessageOptions, - { no: 64001, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool goproto_stringer = 64003; - */ -export const goproto_stringer = proto2.makeExtension( - "gogoproto.goproto_stringer", - MessageOptions, - { no: 64003, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool verbose_equal = 64004; - */ -export const verbose_equal = proto2.makeExtension( - "gogoproto.verbose_equal", - MessageOptions, - { no: 64004, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool face = 64005; - */ -export const face = proto2.makeExtension( - "gogoproto.face", - MessageOptions, - { no: 64005, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool gostring = 64006; - */ -export const gostring = proto2.makeExtension( - "gogoproto.gostring", - MessageOptions, - { no: 64006, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool populate = 64007; - */ -export const populate = proto2.makeExtension( - "gogoproto.populate", - MessageOptions, - { no: 64007, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool stringer = 67008; - */ -export const stringer = proto2.makeExtension( - "gogoproto.stringer", - MessageOptions, - { no: 67008, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool onlyone = 64009; - */ -export const onlyone = proto2.makeExtension( - "gogoproto.onlyone", - MessageOptions, - { no: 64009, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool equal = 64013; - */ -export const equal = proto2.makeExtension( - "gogoproto.equal", - MessageOptions, - { no: 64013, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool description = 64014; - */ -export const description = proto2.makeExtension( - "gogoproto.description", - MessageOptions, - { no: 64014, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool testgen = 64015; - */ -export const testgen = proto2.makeExtension( - "gogoproto.testgen", - MessageOptions, - { no: 64015, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool benchgen = 64016; - */ -export const benchgen = proto2.makeExtension( - "gogoproto.benchgen", - MessageOptions, - { no: 64016, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool marshaler = 64017; - */ -export const marshaler = proto2.makeExtension( - "gogoproto.marshaler", - MessageOptions, - { no: 64017, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool unmarshaler = 64018; - */ -export const unmarshaler = proto2.makeExtension( - "gogoproto.unmarshaler", - MessageOptions, - { no: 64018, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool stable_marshaler = 64019; - */ -export const stable_marshaler = proto2.makeExtension( - "gogoproto.stable_marshaler", - MessageOptions, - { no: 64019, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool sizer = 64020; - */ -export const sizer = proto2.makeExtension( - "gogoproto.sizer", - MessageOptions, - { no: 64020, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool unsafe_marshaler = 64023; - */ -export const unsafe_marshaler = proto2.makeExtension( - "gogoproto.unsafe_marshaler", - MessageOptions, - { no: 64023, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool unsafe_unmarshaler = 64024; - */ -export const unsafe_unmarshaler = proto2.makeExtension( - "gogoproto.unsafe_unmarshaler", - MessageOptions, - { no: 64024, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool goproto_extensions_map = 64025; - */ -export const goproto_extensions_map = proto2.makeExtension( - "gogoproto.goproto_extensions_map", - MessageOptions, - { no: 64025, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool goproto_unrecognized = 64026; - */ -export const goproto_unrecognized = proto2.makeExtension( - "gogoproto.goproto_unrecognized", - MessageOptions, - { no: 64026, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool protosizer = 64028; - */ -export const protosizer = proto2.makeExtension( - "gogoproto.protosizer", - MessageOptions, - { no: 64028, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool compare = 64029; - */ -export const compare = proto2.makeExtension( - "gogoproto.compare", - MessageOptions, - { no: 64029, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool typedecl = 64030; - */ -export const typedecl = proto2.makeExtension( - "gogoproto.typedecl", - MessageOptions, - { no: 64030, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool messagename = 64033; - */ -export const messagename = proto2.makeExtension( - "gogoproto.messagename", - MessageOptions, - { no: 64033, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool goproto_sizecache = 64034; - */ -export const goproto_sizecache = proto2.makeExtension( - "gogoproto.goproto_sizecache", - MessageOptions, - { no: 64034, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool goproto_unkeyed = 64035; - */ -export const goproto_unkeyed = proto2.makeExtension( - "gogoproto.goproto_unkeyed", - MessageOptions, - { no: 64035, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool nullable = 65001; - */ -export const nullable = proto2.makeExtension( - "gogoproto.nullable", - FieldOptions, - { no: 65001, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool embed = 65002; - */ -export const embed = proto2.makeExtension( - "gogoproto.embed", - FieldOptions, - { no: 65002, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional string customtype = 65003; - */ -export const customtype = proto2.makeExtension( - "gogoproto.customtype", - FieldOptions, - { no: 65003, kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true }, -); - -/** - * @generated from extension: optional string customname = 65004; - */ -export const customname = proto2.makeExtension( - "gogoproto.customname", - FieldOptions, - { no: 65004, kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true }, -); - -/** - * @generated from extension: optional string jsontag = 65005; - */ -export const jsontag = proto2.makeExtension( - "gogoproto.jsontag", - FieldOptions, - { no: 65005, kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true }, -); - -/** - * @generated from extension: optional string moretags = 65006; - */ -export const moretags = proto2.makeExtension( - "gogoproto.moretags", - FieldOptions, - { no: 65006, kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true }, -); - -/** - * @generated from extension: optional string casttype = 65007; - */ -export const casttype = proto2.makeExtension( - "gogoproto.casttype", - FieldOptions, - { no: 65007, kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true }, -); - -/** - * @generated from extension: optional string castkey = 65008; - */ -export const castkey = proto2.makeExtension( - "gogoproto.castkey", - FieldOptions, - { no: 65008, kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true }, -); - -/** - * @generated from extension: optional string castvalue = 65009; - */ -export const castvalue = proto2.makeExtension( - "gogoproto.castvalue", - FieldOptions, - { no: 65009, kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true }, -); - -/** - * @generated from extension: optional bool stdtime = 65010; - */ -export const stdtime = proto2.makeExtension( - "gogoproto.stdtime", - FieldOptions, - { no: 65010, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool stdduration = 65011; - */ -export const stdduration = proto2.makeExtension( - "gogoproto.stdduration", - FieldOptions, - { no: 65011, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional bool wktpointer = 65012; - */ -export const wktpointer = proto2.makeExtension( - "gogoproto.wktpointer", - FieldOptions, - { no: 65012, kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true }, -); - -/** - * @generated from extension: optional string castrepeated = 65013; - */ -export const castrepeated = proto2.makeExtension( - "gogoproto.castrepeated", - FieldOptions, - { no: 65013, kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true }, -); - diff --git a/indexer/src/proto/gen/google/api/annotations_pb.ts b/indexer/src/proto/gen/google/api/annotations_pb.ts deleted file mode 100644 index 089ee28e7..000000000 --- a/indexer/src/proto/gen/google/api/annotations_pb.ts +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright (c) 2015, Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// @generated by protoc-gen-es v1.7.2 with parameter "target=ts" -// @generated from file google/api/annotations.proto (package google.api, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import { MethodOptions, proto3 } from "@bufbuild/protobuf"; -import { HttpRule } from "./http_pb"; - -/** - * See `HttpRule`. - * - * @generated from extension: google.api.HttpRule http = 72295728; - */ -export const http = proto3.makeExtension( - "google.api.http", - MethodOptions, - () => ({ no: 72295728, kind: "message", T: HttpRule }), -); - diff --git a/indexer/src/proto/gen/google/api/http_pb.ts b/indexer/src/proto/gen/google/api/http_pb.ts deleted file mode 100644 index 205ddfcc4..000000000 --- a/indexer/src/proto/gen/google/api/http_pb.ts +++ /dev/null @@ -1,485 +0,0 @@ -// Copyright 2018 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// @generated by protoc-gen-es v1.7.2 with parameter "target=ts" -// @generated from file google/api/http.proto (package google.api, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; -import { Message, proto3 } from "@bufbuild/protobuf"; - -/** - * Defines the HTTP configuration for an API service. It contains a list of - * [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method - * to one or more HTTP REST API methods. - * - * @generated from message google.api.Http - */ -export class Http extends Message { - /** - * A list of HTTP configuration rules that apply to individual API methods. - * - * **NOTE:** All service configuration rules follow "last one wins" order. - * - * @generated from field: repeated google.api.HttpRule rules = 1; - */ - rules: HttpRule[] = []; - - /** - * When set to true, URL path parmeters will be fully URI-decoded except in - * cases of single segment matches in reserved expansion, where "%2F" will be - * left encoded. - * - * The default behavior is to not decode RFC 6570 reserved characters in multi - * segment matches. - * - * @generated from field: bool fully_decode_reserved_expansion = 2; - */ - fullyDecodeReservedExpansion = false; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "google.api.Http"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "rules", kind: "message", T: HttpRule, repeated: true }, - { no: 2, name: "fully_decode_reserved_expansion", kind: "scalar", T: 8 /* ScalarType.BOOL */ }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): Http { - return new Http().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): Http { - return new Http().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): Http { - return new Http().fromJsonString(jsonString, options); - } - - static equals(a: Http | PlainMessage | undefined, b: Http | PlainMessage | undefined): boolean { - return proto3.util.equals(Http, a, b); - } -} - -/** - * `HttpRule` defines the mapping of an RPC method to one or more HTTP - * REST API methods. The mapping specifies how different portions of the RPC - * request message are mapped to URL path, URL query parameters, and - * HTTP request body. The mapping is typically specified as an - * `google.api.http` annotation on the RPC method, - * see "google/api/annotations.proto" for details. - * - * The mapping consists of a field specifying the path template and - * method kind. The path template can refer to fields in the request - * message, as in the example below which describes a REST GET - * operation on a resource collection of messages: - * - * - * service Messaging { - * rpc GetMessage(GetMessageRequest) returns (Message) { - * option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}"; - * } - * } - * message GetMessageRequest { - * message SubMessage { - * string subfield = 1; - * } - * string message_id = 1; // mapped to the URL - * SubMessage sub = 2; // `sub.subfield` is url-mapped - * } - * message Message { - * string text = 1; // content of the resource - * } - * - * The same http annotation can alternatively be expressed inside the - * `GRPC API Configuration` YAML file. - * - * http: - * rules: - * - selector: .Messaging.GetMessage - * get: /v1/messages/{message_id}/{sub.subfield} - * - * This definition enables an automatic, bidrectional mapping of HTTP - * JSON to RPC. Example: - * - * HTTP | RPC - * -----|----- - * `GET /v1/messages/123456/foo` | `GetMessage(message_id: "123456" sub: SubMessage(subfield: "foo"))` - * - * In general, not only fields but also field paths can be referenced - * from a path pattern. Fields mapped to the path pattern cannot be - * repeated and must have a primitive (non-message) type. - * - * Any fields in the request message which are not bound by the path - * pattern automatically become (optional) HTTP query - * parameters. Assume the following definition of the request message: - * - * - * service Messaging { - * rpc GetMessage(GetMessageRequest) returns (Message) { - * option (google.api.http).get = "/v1/messages/{message_id}"; - * } - * } - * message GetMessageRequest { - * message SubMessage { - * string subfield = 1; - * } - * string message_id = 1; // mapped to the URL - * int64 revision = 2; // becomes a parameter - * SubMessage sub = 3; // `sub.subfield` becomes a parameter - * } - * - * - * This enables a HTTP JSON to RPC mapping as below: - * - * HTTP | RPC - * -----|----- - * `GET /v1/messages/123456?revision=2&sub.subfield=foo` | `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield: "foo"))` - * - * Note that fields which are mapped to HTTP parameters must have a - * primitive type or a repeated primitive type. Message types are not - * allowed. In the case of a repeated type, the parameter can be - * repeated in the URL, as in `...?param=A¶m=B`. - * - * For HTTP method kinds which allow a request body, the `body` field - * specifies the mapping. Consider a REST update method on the - * message resource collection: - * - * - * service Messaging { - * rpc UpdateMessage(UpdateMessageRequest) returns (Message) { - * option (google.api.http) = { - * put: "/v1/messages/{message_id}" - * body: "message" - * }; - * } - * } - * message UpdateMessageRequest { - * string message_id = 1; // mapped to the URL - * Message message = 2; // mapped to the body - * } - * - * - * The following HTTP JSON to RPC mapping is enabled, where the - * representation of the JSON in the request body is determined by - * protos JSON encoding: - * - * HTTP | RPC - * -----|----- - * `PUT /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: "123456" message { text: "Hi!" })` - * - * The special name `*` can be used in the body mapping to define that - * every field not bound by the path template should be mapped to the - * request body. This enables the following alternative definition of - * the update method: - * - * service Messaging { - * rpc UpdateMessage(Message) returns (Message) { - * option (google.api.http) = { - * put: "/v1/messages/{message_id}" - * body: "*" - * }; - * } - * } - * message Message { - * string message_id = 1; - * string text = 2; - * } - * - * - * The following HTTP JSON to RPC mapping is enabled: - * - * HTTP | RPC - * -----|----- - * `PUT /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: "123456" text: "Hi!")` - * - * Note that when using `*` in the body mapping, it is not possible to - * have HTTP parameters, as all fields not bound by the path end in - * the body. This makes this option more rarely used in practice of - * defining REST APIs. The common usage of `*` is in custom methods - * which don't use the URL at all for transferring data. - * - * It is possible to define multiple HTTP methods for one RPC by using - * the `additional_bindings` option. Example: - * - * service Messaging { - * rpc GetMessage(GetMessageRequest) returns (Message) { - * option (google.api.http) = { - * get: "/v1/messages/{message_id}" - * additional_bindings { - * get: "/v1/users/{user_id}/messages/{message_id}" - * } - * }; - * } - * } - * message GetMessageRequest { - * string message_id = 1; - * string user_id = 2; - * } - * - * - * This enables the following two alternative HTTP JSON to RPC - * mappings: - * - * HTTP | RPC - * -----|----- - * `GET /v1/messages/123456` | `GetMessage(message_id: "123456")` - * `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id: "123456")` - * - * # Rules for HTTP mapping - * - * The rules for mapping HTTP path, query parameters, and body fields - * to the request message are as follows: - * - * 1. The `body` field specifies either `*` or a field path, or is - * omitted. If omitted, it indicates there is no HTTP request body. - * 2. Leaf fields (recursive expansion of nested messages in the - * request) can be classified into three types: - * (a) Matched in the URL template. - * (b) Covered by body (if body is `*`, everything except (a) fields; - * else everything under the body field) - * (c) All other fields. - * 3. URL query parameters found in the HTTP request are mapped to (c) fields. - * 4. Any body sent with an HTTP request can contain only (b) fields. - * - * The syntax of the path template is as follows: - * - * Template = "/" Segments [ Verb ] ; - * Segments = Segment { "/" Segment } ; - * Segment = "*" | "**" | LITERAL | Variable ; - * Variable = "{" FieldPath [ "=" Segments ] "}" ; - * FieldPath = IDENT { "." IDENT } ; - * Verb = ":" LITERAL ; - * - * The syntax `*` matches a single path segment. The syntax `**` matches zero - * or more path segments, which must be the last part of the path except the - * `Verb`. The syntax `LITERAL` matches literal text in the path. - * - * The syntax `Variable` matches part of the URL path as specified by its - * template. A variable template must not contain other variables. If a variable - * matches a single path segment, its template may be omitted, e.g. `{var}` - * is equivalent to `{var=*}`. - * - * If a variable contains exactly one path segment, such as `"{var}"` or - * `"{var=*}"`, when such a variable is expanded into a URL path, all characters - * except `[-_.~0-9a-zA-Z]` are percent-encoded. Such variables show up in the - * Discovery Document as `{var}`. - * - * If a variable contains one or more path segments, such as `"{var=foo/*}"` - * or `"{var=**}"`, when such a variable is expanded into a URL path, all - * characters except `[-_.~/0-9a-zA-Z]` are percent-encoded. Such variables - * show up in the Discovery Document as `{+var}`. - * - * NOTE: While the single segment variable matches the semantics of - * [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 - * Simple String Expansion, the multi segment variable **does not** match - * RFC 6570 Reserved Expansion. The reason is that the Reserved Expansion - * does not expand special characters like `?` and `#`, which would lead - * to invalid URLs. - * - * NOTE: the field paths in variables and in the `body` must not refer to - * repeated fields or map fields. - * - * @generated from message google.api.HttpRule - */ -export class HttpRule extends Message { - /** - * Selects methods to which this rule applies. - * - * Refer to [selector][google.api.DocumentationRule.selector] for syntax details. - * - * @generated from field: string selector = 1; - */ - selector = ""; - - /** - * Determines the URL pattern is matched by this rules. This pattern can be - * used with any of the {get|put|post|delete|patch} methods. A custom method - * can be defined using the 'custom' field. - * - * @generated from oneof google.api.HttpRule.pattern - */ - pattern: { - /** - * Used for listing and getting information about resources. - * - * @generated from field: string get = 2; - */ - value: string; - case: "get"; - } | { - /** - * Used for updating a resource. - * - * @generated from field: string put = 3; - */ - value: string; - case: "put"; - } | { - /** - * Used for creating a resource. - * - * @generated from field: string post = 4; - */ - value: string; - case: "post"; - } | { - /** - * Used for deleting a resource. - * - * @generated from field: string delete = 5; - */ - value: string; - case: "delete"; - } | { - /** - * Used for updating a resource. - * - * @generated from field: string patch = 6; - */ - value: string; - case: "patch"; - } | { - /** - * The custom pattern is used for specifying an HTTP method that is not - * included in the `pattern` field, such as HEAD, or "*" to leave the - * HTTP method unspecified for this rule. The wild-card rule is useful - * for services that provide content to Web (HTML) clients. - * - * @generated from field: google.api.CustomHttpPattern custom = 8; - */ - value: CustomHttpPattern; - case: "custom"; - } | { case: undefined; value?: undefined } = { case: undefined }; - - /** - * The name of the request field whose value is mapped to the HTTP body, or - * `*` for mapping all fields not captured by the path pattern to the HTTP - * body. NOTE: the referred field must not be a repeated field and must be - * present at the top-level of request message type. - * - * @generated from field: string body = 7; - */ - body = ""; - - /** - * Optional. The name of the response field whose value is mapped to the HTTP - * body of response. Other response fields are ignored. When - * not set, the response message will be used as HTTP body of response. - * - * @generated from field: string response_body = 12; - */ - responseBody = ""; - - /** - * Additional HTTP bindings for the selector. Nested bindings must - * not contain an `additional_bindings` field themselves (that is, - * the nesting may only be one level deep). - * - * @generated from field: repeated google.api.HttpRule additional_bindings = 11; - */ - additionalBindings: HttpRule[] = []; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "google.api.HttpRule"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "selector", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "get", kind: "scalar", T: 9 /* ScalarType.STRING */, oneof: "pattern" }, - { no: 3, name: "put", kind: "scalar", T: 9 /* ScalarType.STRING */, oneof: "pattern" }, - { no: 4, name: "post", kind: "scalar", T: 9 /* ScalarType.STRING */, oneof: "pattern" }, - { no: 5, name: "delete", kind: "scalar", T: 9 /* ScalarType.STRING */, oneof: "pattern" }, - { no: 6, name: "patch", kind: "scalar", T: 9 /* ScalarType.STRING */, oneof: "pattern" }, - { no: 8, name: "custom", kind: "message", T: CustomHttpPattern, oneof: "pattern" }, - { no: 7, name: "body", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 12, name: "response_body", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 11, name: "additional_bindings", kind: "message", T: HttpRule, repeated: true }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): HttpRule { - return new HttpRule().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): HttpRule { - return new HttpRule().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): HttpRule { - return new HttpRule().fromJsonString(jsonString, options); - } - - static equals(a: HttpRule | PlainMessage | undefined, b: HttpRule | PlainMessage | undefined): boolean { - return proto3.util.equals(HttpRule, a, b); - } -} - -/** - * A custom pattern is used for defining custom HTTP verb. - * - * @generated from message google.api.CustomHttpPattern - */ -export class CustomHttpPattern extends Message { - /** - * The name of this custom HTTP verb. - * - * @generated from field: string kind = 1; - */ - kind = ""; - - /** - * The path matched by this custom verb. - * - * @generated from field: string path = 2; - */ - path = ""; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "google.api.CustomHttpPattern"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "kind", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "path", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): CustomHttpPattern { - return new CustomHttpPattern().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): CustomHttpPattern { - return new CustomHttpPattern().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): CustomHttpPattern { - return new CustomHttpPattern().fromJsonString(jsonString, options); - } - - static equals(a: CustomHttpPattern | PlainMessage | undefined, b: CustomHttpPattern | PlainMessage | undefined): boolean { - return proto3.util.equals(CustomHttpPattern, a, b); - } -} - diff --git a/indexer/src/proto/gen/k8s.io/apimachinery/pkg/api/resource/generated_pb.ts b/indexer/src/proto/gen/k8s.io/apimachinery/pkg/api/resource/generated_pb.ts deleted file mode 100644 index ee2f13ea9..000000000 --- a/indexer/src/proto/gen/k8s.io/apimachinery/pkg/api/resource/generated_pb.ts +++ /dev/null @@ -1,178 +0,0 @@ -// -//Copyright The Kubernetes Authors. -// -//Licensed under the Apache License, Version 2.0 (the "License"); -//you may not use this file except in compliance with the License. -//You may obtain a copy of the License at -// -//http://www.apache.org/licenses/LICENSE-2.0 -// -//Unless required by applicable law or agreed to in writing, software -//distributed under the License is distributed on an "AS IS" BASIS, -//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -//See the License for the specific language governing permissions and -//limitations under the License. - -// This file was autogenerated by go-to-protobuf. Do not edit it manually! - -// @generated by protoc-gen-es v1.7.2 with parameter "target=ts" -// @generated from file k8s.io/apimachinery/pkg/api/resource/generated.proto (package k8s.io.apimachinery.pkg.api.resource, syntax proto2) -/* eslint-disable */ -// @ts-nocheck - -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; -import { Message, proto2 } from "@bufbuild/protobuf"; - -/** - * Quantity is a fixed-point representation of a number. - * It provides convenient marshaling/unmarshaling in JSON and YAML, - * in addition to String() and AsInt64() accessors. - * - * The serialization format is: - * - * ``` - * ::= - * - * (Note that may be empty, from the "" case in .) - * - * ::= 0 | 1 | ... | 9 - * ::= | - * ::= | . | . | . - * ::= "+" | "-" - * ::= | - * ::= | | - * ::= Ki | Mi | Gi | Ti | Pi | Ei - * - * (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html) - * - * ::= m | "" | k | M | G | T | P | E - * - * (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.) - * - * ::= "e" | "E" - * ``` - * - * No matter which of the three exponent forms is used, no quantity may represent - * a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal - * places. Numbers larger or more precise will be capped or rounded up. - * (E.g.: 0.1m will rounded up to 1m.) - * This may be extended in the future if we require larger or smaller quantities. - * - * When a Quantity is parsed from a string, it will remember the type of suffix - * it had, and will use the same type again when it is serialized. - * - * Before serializing, Quantity will be put in "canonical form". - * This means that Exponent/suffix will be adjusted up or down (with a - * corresponding increase or decrease in Mantissa) such that: - * - * - No precision is lost - * - No fractional digits will be emitted - * - The exponent (or suffix) is as large as possible. - * - * The sign will be omitted unless the number is negative. - * - * Examples: - * - * - 1.5 will be serialized as "1500m" - * - 1.5Gi will be serialized as "1536Mi" - * - * Note that the quantity will NEVER be internally represented by a - * floating point number. That is the whole point of this exercise. - * - * Non-canonical values will still parse as long as they are well formed, - * but will be re-emitted in their canonical form. (So always use canonical - * form, or don't diff.) - * - * This format is intended to make it difficult to use these numbers without - * writing some sort of special handling code in the hopes that that will - * cause implementors to also use a fixed point implementation. - * - * +protobuf=true - * +protobuf.embed=string - * +protobuf.options.marshal=false - * +protobuf.options.(gogoproto.goproto_stringer)=false - * +k8s:deepcopy-gen=true - * +k8s:openapi-gen=true - * - * @generated from message k8s.io.apimachinery.pkg.api.resource.Quantity - */ -export class Quantity extends Message { - /** - * @generated from field: optional string string = 1; - */ - string?: string; - - constructor(data?: PartialMessage) { - super(); - proto2.util.initPartial(data, this); - } - - static readonly runtime: typeof proto2 = proto2; - static readonly typeName = "k8s.io.apimachinery.pkg.api.resource.Quantity"; - static readonly fields: FieldList = proto2.util.newFieldList(() => [ - { no: 1, name: "string", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): Quantity { - return new Quantity().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): Quantity { - return new Quantity().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): Quantity { - return new Quantity().fromJsonString(jsonString, options); - } - - static equals(a: Quantity | PlainMessage | undefined, b: Quantity | PlainMessage | undefined): boolean { - return proto2.util.equals(Quantity, a, b); - } -} - -/** - * QuantityValue makes it possible to use a Quantity as value for a command - * line parameter. - * - * +protobuf=true - * +protobuf.embed=string - * +protobuf.options.marshal=false - * +protobuf.options.(gogoproto.goproto_stringer)=false - * +k8s:deepcopy-gen=true - * - * @generated from message k8s.io.apimachinery.pkg.api.resource.QuantityValue - */ -export class QuantityValue extends Message { - /** - * @generated from field: optional string string = 1; - */ - string?: string; - - constructor(data?: PartialMessage) { - super(); - proto2.util.initPartial(data, this); - } - - static readonly runtime: typeof proto2 = proto2; - static readonly typeName = "k8s.io.apimachinery.pkg.api.resource.QuantityValue"; - static readonly fields: FieldList = proto2.util.newFieldList(() => [ - { no: 1, name: "string", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): QuantityValue { - return new QuantityValue().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): QuantityValue { - return new QuantityValue().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): QuantityValue { - return new QuantityValue().fromJsonString(jsonString, options); - } - - static equals(a: QuantityValue | PlainMessage | undefined, b: QuantityValue | PlainMessage | undefined): boolean { - return proto2.util.equals(QuantityValue, a, b); - } -} - diff --git a/indexer/src/providers/statusEndpointHandlers/fake-insecure-credentials.ts b/indexer/src/providers/statusEndpointHandlers/fake-insecure-credentials.ts new file mode 100644 index 000000000..bdcc1201f --- /dev/null +++ b/indexer/src/providers/statusEndpointHandlers/fake-insecure-credentials.ts @@ -0,0 +1,33 @@ +import { ChannelCredentials } from "@grpc/grpc-js/build/src/channel-credentials"; +import { CallCredentials } from "@grpc/grpc-js/build/src/call-credentials"; +import { ConnectionOptions } from "tls"; + +// TODO: get rid of it once on-chain certificates validation is implemented +// Issue: https://github.com/akash-network/cloudmos/issues/170 +export class FakeInsecureCredentials extends ChannelCredentials { + static createInsecure(): ChannelCredentials { + return new FakeInsecureCredentials(); + } + + constructor() { + super(); + } + + compose(callCredentials: CallCredentials): ChannelCredentials { + throw new Error("Cannot compose insecure credentials"); + } + + _getConnectionOptions(): ConnectionOptions | null { + return { + secureContext: null, + rejectUnauthorized: false + }; + } + _isSecure(): boolean { + return false; + } + + _equals(other: ChannelCredentials): boolean { + return other instanceof FakeInsecureCredentials; + } +} diff --git a/indexer/src/providers/statusEndpointHandlers/grpc.ts b/indexer/src/providers/statusEndpointHandlers/grpc.ts index b8356547c..1fc2671be 100644 --- a/indexer/src/providers/statusEndpointHandlers/grpc.ts +++ b/indexer/src/providers/statusEndpointHandlers/grpc.ts @@ -1,10 +1,13 @@ +import { ResourcesMetric, Status } from "@akashnetwork/akash-api/akash/provider/v1"; +import { ProviderRPCClient } from "@akashnetwork/akash-api/akash/provider/v1/grpc-js"; +import { NodeResources } from "@akashnetwork/akash-api/akash/inventory/v1"; +import { Empty } from "@akashnetwork/akash-api/google/protobuf"; +import { promisify } from "util"; +import memoize from "lodash/memoize"; + import { Provider } from "@shared/dbSchemas/akash"; import { parseDecimalKubernetesString, parseSizeStr } from "@src/shared/utils/files"; -import { createPromiseClient } from "@connectrpc/connect"; -import { createGrpcTransport } from "@connectrpc/connect-node"; -import { ProviderRPC } from "@src/proto/gen/akash/provider/v1/service_connect"; -import { ResourcesMetric, Status } from "@src/proto/gen/akash/provider/v1/status_pb"; -import { NodeResources } from "@src/proto/gen/akash/inventory/v1/resources_pb"; +import { FakeInsecureCredentials } from "./fake-insecure-credentials"; import { ProviderStatusInfo } from "./types"; export async function fetchProviderStatusFromGRPC(provider: Provider, timeout: number): Promise { @@ -80,20 +83,22 @@ export async function fetchProviderStatusFromGRPC(provider: Provider, timeout: n } async function queryStatus(hostUri: string, timeout: number): Promise { - const url = hostUri.replace(":8443", ":8444"); // Use 8444 as default GRPC port for now, enventually get from on-chain data + return await createProviderClient(hostUri).getStatus(timeout); +} - const transport = createGrpcTransport({ - baseUrl: url, - httpVersion: "2", - nodeOptions: { rejectUnauthorized: false }, - defaultTimeoutMs: timeout, - interceptors: [] - }); - const client = createPromiseClient(ProviderRPC, transport); - const res = await client.getStatus({}); +const createProviderClient = memoize((hostUri: string) => { + // TODO: fetch port from chain + const url = hostUri.replace(":8443", ":8444").replace("https://", "dns:///"); - return res; -} + // TODO: refactor to use on-change cert validation + // Issue: https://github.com/akash-network/cloudmos/issues/170 + const client = new ProviderRPCClient(url, FakeInsecureCredentials.createInsecure()); + const getStatus = promisify(client.getStatus.bind(client)); + + return { + getStatus: (timeout: number) => getStatus(Empty, { deadline: Date.now() + timeout }) + }; +}); function parseResources(resources: ResourcesMetric) { return { diff --git a/shared/chainDefinitions.ts b/shared/chainDefinitions.ts index 99ac1312a..198b5a8ab 100644 --- a/shared/chainDefinitions.ts +++ b/shared/chainDefinitions.ts @@ -17,6 +17,7 @@ import { import { Block, Message } from "./dbSchemas/base"; import { Model, ModelCtor } from "sequelize-typescript"; import * as dotenv from "dotenv"; +dotenv.config({ path: '.env.local' }); dotenv.config(); export interface ChainDef {