diff --git a/examples/aml-check/package-lock.json b/examples/aml-check/package-lock.json index bf8b7418..aad8c828 100644 --- a/examples/aml-check/package-lock.json +++ b/examples/aml-check/package-lock.json @@ -31,7 +31,7 @@ "form-data": "4.0.0", "node-forge": "1.3.1", "protobufjs": "7.2.6", - "superagent": "8.1.2", + "superagent": "9.0.1", "uuid": "9.0.1" }, "devDependencies": { @@ -40,9 +40,9 @@ "eslint": "8.43.0", "eslint-config-airbnb-base": "15.0.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jest": "27.6.3", + "eslint-plugin-jest": "28.2.0", "eslint-plugin-node": "11.1.0", - "husky": "8.0.3", + "husky": "9.0.11", "jest": "29.5.0", "nock": "13.2.9", "typescript": "5.3.3" @@ -4195,15 +4195,15 @@ "eslint": "8.43.0", "eslint-config-airbnb-base": "15.0.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jest": "27.6.3", + "eslint-plugin-jest": "28.2.0", "eslint-plugin-node": "11.1.0", "form-data": "4.0.0", - "husky": "8.0.3", + "husky": "9.0.11", "jest": "29.5.0", "nock": "13.2.9", "node-forge": "1.3.1", "protobufjs": "7.2.6", - "superagent": "8.1.2", + "superagent": "9.0.1", "typescript": "5.3.3", "uuid": "9.0.1" } diff --git a/examples/digital-identity/package-lock.json b/examples/digital-identity/package-lock.json index f41e11ba..19560f4a 100644 --- a/examples/digital-identity/package-lock.json +++ b/examples/digital-identity/package-lock.json @@ -34,7 +34,7 @@ "form-data": "4.0.0", "node-forge": "1.3.1", "protobufjs": "7.2.6", - "superagent": "8.1.2", + "superagent": "9.0.1", "uuid": "9.0.1" }, "devDependencies": { @@ -43,9 +43,9 @@ "eslint": "8.43.0", "eslint-config-airbnb-base": "15.0.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jest": "27.6.3", + "eslint-plugin-jest": "28.2.0", "eslint-plugin-node": "11.1.0", - "husky": "8.0.3", + "husky": "9.0.11", "jest": "29.5.0", "nock": "13.2.9", "typescript": "5.3.3" @@ -5345,15 +5345,15 @@ "eslint": "8.43.0", "eslint-config-airbnb-base": "15.0.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jest": "27.6.3", + "eslint-plugin-jest": "28.2.0", "eslint-plugin-node": "11.1.0", "form-data": "4.0.0", - "husky": "8.0.3", + "husky": "9.0.11", "jest": "29.5.0", "nock": "13.2.9", "node-forge": "1.3.1", "protobufjs": "7.2.6", - "superagent": "8.1.2", + "superagent": "9.0.1", "typescript": "5.3.3", "uuid": "9.0.1" } diff --git a/examples/idv-identity-checks/package-lock.json b/examples/idv-identity-checks/package-lock.json index de7933d0..72481559 100644 --- a/examples/idv-identity-checks/package-lock.json +++ b/examples/idv-identity-checks/package-lock.json @@ -33,7 +33,7 @@ "form-data": "4.0.0", "node-forge": "1.3.1", "protobufjs": "7.2.6", - "superagent": "8.1.2", + "superagent": "9.0.1", "uuid": "9.0.1" }, "devDependencies": { @@ -42,9 +42,9 @@ "eslint": "8.43.0", "eslint-config-airbnb-base": "15.0.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jest": "27.6.3", + "eslint-plugin-jest": "28.2.0", "eslint-plugin-node": "11.1.0", - "husky": "8.0.3", + "husky": "9.0.11", "jest": "29.5.0", "nock": "13.2.9", "typescript": "5.3.3" @@ -5437,15 +5437,15 @@ "eslint": "8.43.0", "eslint-config-airbnb-base": "15.0.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jest": "27.6.3", + "eslint-plugin-jest": "28.2.0", "eslint-plugin-node": "11.1.0", "form-data": "4.0.0", - "husky": "8.0.3", + "husky": "9.0.11", "jest": "29.5.0", "nock": "13.2.9", "node-forge": "1.3.1", "protobufjs": "7.2.6", - "superagent": "8.1.2", + "superagent": "9.0.1", "typescript": "5.3.3", "uuid": "9.0.1" } diff --git a/examples/idv/package-lock.json b/examples/idv/package-lock.json index a9b9ece4..fc5c83b2 100644 --- a/examples/idv/package-lock.json +++ b/examples/idv/package-lock.json @@ -34,7 +34,7 @@ "form-data": "4.0.0", "node-forge": "1.3.1", "protobufjs": "7.2.6", - "superagent": "8.1.2", + "superagent": "9.0.1", "uuid": "9.0.1" }, "devDependencies": { @@ -43,9 +43,9 @@ "eslint": "8.43.0", "eslint-config-airbnb-base": "15.0.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jest": "27.6.3", + "eslint-plugin-jest": "28.2.0", "eslint-plugin-node": "11.1.0", - "husky": "8.0.3", + "husky": "9.0.11", "jest": "29.5.0", "nock": "13.2.9", "typescript": "5.3.3" @@ -5438,15 +5438,15 @@ "eslint": "8.43.0", "eslint-config-airbnb-base": "15.0.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jest": "27.6.3", + "eslint-plugin-jest": "28.2.0", "eslint-plugin-node": "11.1.0", "form-data": "4.0.0", - "husky": "8.0.3", + "husky": "9.0.11", "jest": "29.5.0", "nock": "13.2.9", "node-forge": "1.3.1", "protobufjs": "7.2.6", - "superagent": "8.1.2", + "superagent": "9.0.1", "typescript": "5.3.3", "uuid": "9.0.1" } diff --git a/examples/profile-identity-checks/package-lock.json b/examples/profile-identity-checks/package-lock.json index 74cd647f..691f850d 100644 --- a/examples/profile-identity-checks/package-lock.json +++ b/examples/profile-identity-checks/package-lock.json @@ -34,7 +34,7 @@ "form-data": "4.0.0", "node-forge": "1.3.1", "protobufjs": "7.2.6", - "superagent": "8.1.2", + "superagent": "9.0.1", "uuid": "9.0.1" }, "devDependencies": { @@ -43,9 +43,9 @@ "eslint": "8.43.0", "eslint-config-airbnb-base": "15.0.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jest": "27.6.3", + "eslint-plugin-jest": "28.2.0", "eslint-plugin-node": "11.1.0", - "husky": "8.0.3", + "husky": "9.0.11", "jest": "29.5.0", "nock": "13.2.9", "typescript": "5.3.3" @@ -5345,15 +5345,15 @@ "eslint": "8.43.0", "eslint-config-airbnb-base": "15.0.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jest": "27.6.3", + "eslint-plugin-jest": "28.2.0", "eslint-plugin-node": "11.1.0", "form-data": "4.0.0", - "husky": "8.0.3", + "husky": "9.0.11", "jest": "29.5.0", "nock": "13.2.9", "node-forge": "1.3.1", "protobufjs": "7.2.6", - "superagent": "8.1.2", + "superagent": "9.0.1", "typescript": "5.3.3", "uuid": "9.0.1" } diff --git a/examples/profile/package-lock.json b/examples/profile/package-lock.json index 74cd647f..691f850d 100644 --- a/examples/profile/package-lock.json +++ b/examples/profile/package-lock.json @@ -34,7 +34,7 @@ "form-data": "4.0.0", "node-forge": "1.3.1", "protobufjs": "7.2.6", - "superagent": "8.1.2", + "superagent": "9.0.1", "uuid": "9.0.1" }, "devDependencies": { @@ -43,9 +43,9 @@ "eslint": "8.43.0", "eslint-config-airbnb-base": "15.0.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jest": "27.6.3", + "eslint-plugin-jest": "28.2.0", "eslint-plugin-node": "11.1.0", - "husky": "8.0.3", + "husky": "9.0.11", "jest": "29.5.0", "nock": "13.2.9", "typescript": "5.3.3" @@ -5345,15 +5345,15 @@ "eslint": "8.43.0", "eslint-config-airbnb-base": "15.0.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jest": "27.6.3", + "eslint-plugin-jest": "28.2.0", "eslint-plugin-node": "11.1.0", "form-data": "4.0.0", - "husky": "8.0.3", + "husky": "9.0.11", "jest": "29.5.0", "nock": "13.2.9", "node-forge": "1.3.1", "protobufjs": "7.2.6", - "superagent": "8.1.2", + "superagent": "9.0.1", "typescript": "5.3.3", "uuid": "9.0.1" } diff --git a/package-lock.json b/package-lock.json index 988e08fe..b9443532 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "form-data": "4.0.0", "node-forge": "1.3.1", "protobufjs": "7.2.6", - "superagent": "8.1.2", + "superagent": "9.0.2", "uuid": "9.0.1" }, "devDependencies": { @@ -21,12 +21,12 @@ "eslint": "8.43.0", "eslint-config-airbnb-base": "15.0.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jest": "27.6.3", + "eslint-plugin-jest": "28.5.0", "eslint-plugin-node": "11.1.0", - "husky": "8.0.3", + "husky": "9.0.11", "jest": "29.5.0", "nock": "13.2.9", - "typescript": "5.3.3" + "typescript": "5.4.5" }, "engines": { "node": ">=14" @@ -1432,9 +1432,9 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "version": "7.0.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/json5": { @@ -1454,6 +1454,12 @@ "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", "dev": true }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true + }, "node_modules/@types/stack-utils": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", @@ -1476,16 +1482,16 @@ "dev": true }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.36.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.36.1.tgz", - "integrity": "sha512-pGC2SH3/tXdu9IH3ItoqciD3f3RRGCh7hb9zPdN2Drsr341zgd6VbhP5OHQO/reUqihNltfPpMpTNihFMarP2w==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.36.1", - "@typescript-eslint/visitor-keys": "5.36.1" + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -1493,12 +1499,12 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.36.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.36.1.tgz", - "integrity": "sha512-jd93ShpsIk1KgBTx9E+hCSEuLCUFwi9V/urhjOWnOaksGZFbTOxAT47OH2d4NLJnLhkVD+wDbB48BuaycZPLBg==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -1506,21 +1512,22 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.36.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.36.1.tgz", - "integrity": "sha512-ih7V52zvHdiX6WcPjsOdmADhYMDN15SylWRZrT2OMy80wzKbc79n8wFW0xpWpU0x3VpBz/oDgTm2xwDAnFTl+g==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.36.1", - "@typescript-eslint/visitor-keys": "5.36.1", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -1532,68 +1539,66 @@ } } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.36.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.36.1.tgz", - "integrity": "sha512-lNj4FtTiXm5c+u0pUehozaUWhh7UYKnwryku0nxJlYUEWetyG92uw2pr+2Iy4M/u0ONMKzfrx7AsGBTCzORmIg==", + "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": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.36.1", - "@typescript-eslint/types": "5.36.1", - "@typescript-eslint/typescript-estree": "5.36.1", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=16 || 14 >=14.17" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@typescript-eslint/utils/node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "node_modules/@typescript-eslint/utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^2.0.0" + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" }, "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" + "eslint": "^7.0.0 || ^8.0.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.36.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.36.1.tgz", - "integrity": "sha512-ojB9aRyRFzVMN3b5joSYni6FAS10BBSCAfKJhjJAV08t/a95aM6tAhz+O1jF+EtgxktuSO3wJysp2R+Def/IWQ==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.36.1", - "eslint-visitor-keys": "^3.3.0" + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -1601,12 +1606,15 @@ } }, "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "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/acorn": { @@ -2056,13 +2064,18 @@ "dev": true }, "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2282,16 +2295,19 @@ } }, "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-properties": { @@ -2357,15 +2373,6 @@ "node": ">=8" } }, - "node_modules/dir-glob/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/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -2470,6 +2477,25 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "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-set-tostringtag": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", @@ -2739,19 +2765,19 @@ } }, "node_modules/eslint-plugin-jest": { - "version": "27.6.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.6.3.tgz", - "integrity": "sha512-+YsJFVH6R+tOiO3gCJon5oqn4KWc+mDq2leudk8mrp8RFubLOo9CVyi3cib4L7XMpxExmkmBZQTPDYVBzgpgOA==", + "version": "28.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.5.0.tgz", + "integrity": "sha512-6np6DGdmNq/eBbA7HOUNV8fkfL86PYwBfwyb8n23FXgJNTR8+ot3smRHjza9LGsBBZRypK3qyF79vMjohIL8eQ==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "^5.10.0" + "@typescript-eslint/utils": "^6.0.0 || ^7.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^16.10.0 || ^18.12.0 || >=20.0.0" }, "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0", - "eslint": "^7.0.0 || ^8.0.0", + "@typescript-eslint/eslint-plugin": "^6.0.0 || ^7.0.0", + "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0", "jest": "*" }, "peerDependenciesMeta": { @@ -2792,19 +2818,6 @@ "semver": "bin/semver.js" } }, - "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-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", @@ -3023,15 +3036,6 @@ "node": ">=4.0" } }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -3111,9 +3115,9 @@ "dev": true }, "node_modules/fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "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", @@ -3252,14 +3256,13 @@ } }, "node_modules/formidable": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", - "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.1.tgz", + "integrity": "sha512-WJWKelbRHN41m5dumb0/k8TeAx7Id/y3a+Z7QfhxP/htI9Js5zYaEDtG8uMgG0vM0lOlqnmjE99/kfpOYi/0Og==", "dependencies": { "dezalgo": "^1.0.4", "hexoid": "^1.0.0", - "once": "^1.4.0", - "qs": "^6.11.0" + "once": "^1.4.0" }, "funding": { "url": "https://ko-fi.com/tunnckoCore/commissions" @@ -3345,15 +3348,19 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dependencies": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -3525,11 +3532,11 @@ } }, "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dependencies": { - "get-intrinsic": "^1.1.1" + "es-define-property": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3607,15 +3614,15 @@ } }, "node_modules/husky": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", - "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", + "version": "9.0.11", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", + "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", "dev": true, "bin": { - "husky": "lib/bin.js" + "husky": "bin.mjs" }, "engines": { - "node": ">=14" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/typicode" @@ -4785,6 +4792,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -5243,6 +5251,15 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "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/pause-stream": { "version": "0.0.11", "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", @@ -5402,11 +5419,11 @@ ] }, "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.12.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz", + "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==", "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -5625,9 +5642,10 @@ } }, "node_modules/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -5639,14 +5657,16 @@ } }, "node_modules/set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dependencies": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -5688,13 +5708,17 @@ } }, "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5895,23 +5919,22 @@ } }, "node_modules/superagent": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", - "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-9.0.2.tgz", + "integrity": "sha512-xuW7dzkUpcJq7QnhOsnNUgtYp3xRwpt2F7abdRYIpCsAt0hhUqia0EdxyXZQQpNmGtsCzYHryaKSV3q3GJnq7w==", "dependencies": { "component-emitter": "^1.3.0", "cookiejar": "^2.1.4", "debug": "^4.3.4", "fast-safe-stringify": "^2.1.1", "form-data": "^4.0.0", - "formidable": "^2.1.2", + "formidable": "^3.5.1", "methods": "^1.1.2", "mime": "2.6.0", - "qs": "^6.11.0", - "semver": "^7.3.8" + "qs": "^6.11.0" }, "engines": { - "node": ">=6.4.0 <13 || >=14" + "node": ">=14.18.0" } }, "node_modules/supports-color": { @@ -5991,6 +6014,18 @@ "node": ">=8.0" } }, + "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/tsconfig-paths": { "version": "3.15.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", @@ -6003,27 +6038,6 @@ "strip-bom": "^3.0.0" } }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -6123,9 +6137,9 @@ } }, "node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -6327,7 +6341,8 @@ "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, "node_modules/yargs": { "version": "17.7.2", @@ -7483,9 +7498,9 @@ } }, "@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, "@types/json5": { @@ -7505,6 +7520,12 @@ "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", "dev": true }, + "@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true + }, "@types/stack-utils": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", @@ -7527,81 +7548,86 @@ "dev": true }, "@typescript-eslint/scope-manager": { - "version": "5.36.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.36.1.tgz", - "integrity": "sha512-pGC2SH3/tXdu9IH3ItoqciD3f3RRGCh7hb9zPdN2Drsr341zgd6VbhP5OHQO/reUqihNltfPpMpTNihFMarP2w==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.36.1", - "@typescript-eslint/visitor-keys": "5.36.1" + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" } }, "@typescript-eslint/types": { - "version": "5.36.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.36.1.tgz", - "integrity": "sha512-jd93ShpsIk1KgBTx9E+hCSEuLCUFwi9V/urhjOWnOaksGZFbTOxAT47OH2d4NLJnLhkVD+wDbB48BuaycZPLBg==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.36.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.36.1.tgz", - "integrity": "sha512-ih7V52zvHdiX6WcPjsOdmADhYMDN15SylWRZrT2OMy80wzKbc79n8wFW0xpWpU0x3VpBz/oDgTm2xwDAnFTl+g==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.36.1", - "@typescript-eslint/visitor-keys": "5.36.1", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/utils": { - "version": "5.36.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.36.1.tgz", - "integrity": "sha512-lNj4FtTiXm5c+u0pUehozaUWhh7UYKnwryku0nxJlYUEWetyG92uw2pr+2Iy4M/u0ONMKzfrx7AsGBTCzORmIg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.36.1", - "@typescript-eslint/types": "5.36.1", - "@typescript-eslint/typescript-estree": "5.36.1", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, "dependencies": { - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "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": { - "eslint-visitor-keys": "^2.0.0" + "balanced-match": "^1.0.0" } }, - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } } } }, + "@typescript-eslint/utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" + } + }, "@typescript-eslint/visitor-keys": { - "version": "5.36.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.36.1.tgz", - "integrity": "sha512-ojB9aRyRFzVMN3b5joSYni6FAS10BBSCAfKJhjJAV08t/a95aM6tAhz+O1jF+EtgxktuSO3wJysp2R+Def/IWQ==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", "dev": true, "requires": { - "@typescript-eslint/types": "5.36.1", - "eslint-visitor-keys": "^3.3.0" + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" }, "dependencies": { "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "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 } } @@ -7923,13 +7949,15 @@ "dev": true }, "call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" } }, "callsites": { @@ -8090,13 +8118,13 @@ "dev": true }, "define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "requires": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" } }, "define-properties": { @@ -8142,14 +8170,6 @@ "dev": true, "requires": { "path-type": "^4.0.0" - }, - "dependencies": { - "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 - } } }, "doctrine": { @@ -8241,6 +8261,19 @@ "which-typed-array": "^1.1.13" } }, + "es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "requires": { + "get-intrinsic": "^1.2.4" + } + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" + }, "es-set-tostringtag": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", @@ -8522,12 +8555,12 @@ } }, "eslint-plugin-jest": { - "version": "27.6.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.6.3.tgz", - "integrity": "sha512-+YsJFVH6R+tOiO3gCJon5oqn4KWc+mDq2leudk8mrp8RFubLOo9CVyi3cib4L7XMpxExmkmBZQTPDYVBzgpgOA==", + "version": "28.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.5.0.tgz", + "integrity": "sha512-6np6DGdmNq/eBbA7HOUNV8fkfL86PYwBfwyb8n23FXgJNTR8+ot3smRHjza9LGsBBZRypK3qyF79vMjohIL8eQ==", "dev": true, "requires": { - "@typescript-eslint/utils": "^5.10.0" + "@typescript-eslint/utils": "^6.0.0 || ^7.0.0" } }, "eslint-plugin-node": { @@ -8552,16 +8585,6 @@ } } }, - "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, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, "eslint-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", @@ -8636,12 +8659,6 @@ } } }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -8706,9 +8723,9 @@ "dev": true }, "fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "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", @@ -8828,14 +8845,13 @@ } }, "formidable": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", - "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.1.tgz", + "integrity": "sha512-WJWKelbRHN41m5dumb0/k8TeAx7Id/y3a+Z7QfhxP/htI9Js5zYaEDtG8uMgG0vM0lOlqnmjE99/kfpOYi/0Og==", "requires": { "dezalgo": "^1.0.4", "hexoid": "^1.0.0", - "once": "^1.4.0", - "qs": "^6.11.0" + "once": "^1.4.0" } }, "from": { @@ -8893,10 +8909,11 @@ "dev": true }, "get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "requires": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", @@ -9019,11 +9036,11 @@ "dev": true }, "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "requires": { - "get-intrinsic": "^1.1.1" + "es-define-property": "^1.0.0" } }, "has-proto": { @@ -9071,9 +9088,9 @@ "dev": true }, "husky": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", - "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", + "version": "9.0.11", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", + "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", "dev": true }, "ignore": { @@ -9944,6 +9961,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "requires": { "yallist": "^4.0.0" } @@ -10280,6 +10298,12 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "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 + }, "pause-stream": { "version": "0.0.11", "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", @@ -10396,11 +10420,11 @@ "dev": true }, "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.12.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz", + "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==", "requires": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" } }, "queue-microtask": { @@ -10532,22 +10556,25 @@ } }, "semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, "requires": { "lru-cache": "^6.0.0" } }, "set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "requires": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" } }, "set-function-name": { @@ -10577,13 +10604,14 @@ "dev": true }, "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" } }, "signal-exit": { @@ -10736,20 +10764,19 @@ "dev": true }, "superagent": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", - "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-9.0.2.tgz", + "integrity": "sha512-xuW7dzkUpcJq7QnhOsnNUgtYp3xRwpt2F7abdRYIpCsAt0hhUqia0EdxyXZQQpNmGtsCzYHryaKSV3q3GJnq7w==", "requires": { "component-emitter": "^1.3.0", "cookiejar": "^2.1.4", "debug": "^4.3.4", "fast-safe-stringify": "^2.1.1", "form-data": "^4.0.0", - "formidable": "^2.1.2", + "formidable": "^3.5.1", "methods": "^1.1.2", "mime": "2.6.0", - "qs": "^6.11.0", - "semver": "^7.3.8" + "qs": "^6.11.0" } }, "supports-color": { @@ -10811,6 +10838,13 @@ "is-number": "^7.0.0" } }, + "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": {} + }, "tsconfig-paths": { "version": "3.15.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", @@ -10823,21 +10857,6 @@ "strip-bom": "^3.0.0" } }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -10907,9 +10926,9 @@ } }, "typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", "dev": true }, "unbox-primitive": { @@ -11046,7 +11065,8 @@ "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, "yargs": { "version": "17.7.2", diff --git a/package.json b/package.json index b4bc7e15..96c3c862 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "form-data": "4.0.0", "node-forge": "1.3.1", "protobufjs": "7.2.6", - "superagent": "8.1.2", + "superagent": "9.0.2", "uuid": "9.0.1" }, "devDependencies": { @@ -45,11 +45,11 @@ "eslint": "8.43.0", "eslint-config-airbnb-base": "15.0.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jest": "27.6.3", + "eslint-plugin-jest": "28.5.0", "eslint-plugin-node": "11.1.0", - "husky": "8.0.3", + "husky": "9.0.11", "jest": "29.5.0", "nock": "13.2.9", - "typescript": "5.3.3" + "typescript": "5.4.5" } } diff --git a/src/digital_identity_service/get.share.receipt.result.js b/src/digital_identity_service/get.share.receipt.result.js index dd33995b..795f02a4 100644 --- a/src/digital_identity_service/get.share.receipt.result.js +++ b/src/digital_identity_service/get.share.receipt.result.js @@ -34,6 +34,8 @@ module.exports = class GetShareReceiptResult { /** @private */ this.error = receiptResponse.getError(); /** @private */ + this.errorReason = receiptResponse.getErrorReason(); + /** @private */ this.id = receiptResponse.getId(); if (userContent) Validation.instanceOf(userContent, UserContent, 'userContent'); @@ -144,4 +146,8 @@ module.exports = class GetShareReceiptResult { getError() { return this.error; } + + getErrorReason() { + return this.errorReason; + } }; diff --git a/src/digital_identity_service/receipts/receipt.response.js b/src/digital_identity_service/receipts/receipt.response.js index 116366d0..c496dcb4 100644 --- a/src/digital_identity_service/receipts/receipt.response.js +++ b/src/digital_identity_service/receipts/receipt.response.js @@ -2,6 +2,36 @@ const Validation = require('../../yoti_common/validation'); +/** + * @typedef {Object} RequirementsNotMetDetail + * @property {string} [failureType] + * @property {string} [documentType] + * @property {string} [documentCountryIsoCode] + * @property {string} [auditId] + * @property {string} [details] + */ + +/** + * @returns {RequirementsNotMetDetail} + */ +function parseRequirementsNotMetDetail(rawDetail) { + const { + failure_type: failureType, + document_type: documentType, + document_country_iso_code: documentCountryIsoCode, + audit_id: auditId, + details, + } = rawDetail; + + return { + failureType, + documentType, + documentCountryIsoCode, + auditId, + details, + }; +} + /** * The receipt response * @@ -26,6 +56,18 @@ class ReceiptResponse { this.error = response.error; } + if (response.errorReason) { + /** @private */ + this.errorReason = response.errorReason; + + const { requirements_not_met_details: rawRequirementsNotMetDetails } = response.errorReason; + if (Array.isArray(rawRequirementsNotMetDetails)) { + // eslint-disable-next-line max-len + this.errorReason.requirementsNotMetDetails = rawRequirementsNotMetDetails.map(parseRequirementsNotMetDetail); + delete this.errorReason.requirements_not_met_details; + } + } + if (response.rememberMeId) { Validation.isString(response.rememberMeId, 'Remember Me Id'); /** @private */ @@ -152,6 +194,18 @@ class ReceiptResponse { getError() { return this.error; } + + /** + * @typedef {Object} ErrorReason + * @property {RequirementsNotMetDetail[]} [requirementsNotMetDetails] + * + * The error reason of the receipt + * + * @returns {ErrorReason|undefined} + */ + getErrorReason() { + return this.errorReason; + } } module.exports = ReceiptResponse; diff --git a/src/idv_service/session/retrieve/identity.profile.failure.reason.response.js b/src/idv_service/session/retrieve/identity.profile.failure.reason.response.js index dda0fb12..90c113cc 100644 --- a/src/idv_service/session/retrieve/identity.profile.failure.reason.response.js +++ b/src/idv_service/session/retrieve/identity.profile.failure.reason.response.js @@ -2,16 +2,63 @@ const Validation = require('../../../yoti_common/validation'); +/** + * @typedef {Object} RequirementsNotMetDetail + * @property {string} [failureType] + * @property {string} [documentType] + * @property {string} [documentCountryIsoCode] + * @property {string} [auditId] + * @property {string} [details] + */ + class IdentityProfileFailureReasonResponse { constructor(failureReason) { Validation.isString(failureReason.reason_code, 'reason code'); /** @private */ this.reasonCode = failureReason.reason_code; + + /** @private */ + this.requirementsNotMetDetails = []; + + // eslint-disable-next-line camelcase + const { requirements_not_met_details: requirementsNotMetDetails } = failureReason; + if (requirementsNotMetDetails) { + Validation.isArray(requirementsNotMetDetails, 'requirements not met details'); + + this.requirementsNotMetDetails = requirementsNotMetDetails.map((detail) => { + const { + failure_type: failureType, + document_type: documentType, + document_country_iso_code: documentCountryIsoCode, + audit_id: auditId, + details, + } = detail; + + return ({ + failureType, + documentType, + documentCountryIsoCode, + auditId, + details, + }); + }); + } + /** @private */ } + /** + * @returns {string} + */ getReasonCode() { return this.reasonCode; } + + /** + * @returns {RequirementsNotMetDetail[]} + */ + getRequirementsNotMetDetails() { + return this.requirementsNotMetDetails; + } } module.exports = IdentityProfileFailureReasonResponse; diff --git a/src/idv_service/session/retrieve/identity.profile.response.js b/src/idv_service/session/retrieve/identity.profile.response.js index b187392f..b961f01a 100644 --- a/src/idv_service/session/retrieve/identity.profile.response.js +++ b/src/idv_service/session/retrieve/identity.profile.response.js @@ -44,7 +44,7 @@ class IdentityProfileResponse { } /** - * @returns {object} + * @returns {IdentityProfileFailureReasonResponse} */ getFailureReason() { return this.failureReason; diff --git a/src/profile_service/activity.details.js b/src/profile_service/activity.details.js index 1c41c5f4..6d24e6e4 100644 --- a/src/profile_service/activity.details.js +++ b/src/profile_service/activity.details.js @@ -4,6 +4,36 @@ const { Profile } = require('./profile'); const { ApplicationProfile } = require('./application.profile'); const ExtraData = require('./extra.data'); +/** + * @typedef {Object} RequirementsNotMetDetail + * @property {string} [failureType] + * @property {string} [documentType] + * @property {string} [documentCountryIsoCode] + * @property {string} [auditId] + * @property {string} [details] + */ + +/** + * @returns {RequirementsNotMetDetail} + */ +function transformRequirementsNotMetDetail(rawDetail) { + const { + failure_type: failureType, + document_type: documentType, + document_country_iso_code: documentCountryIsoCode, + audit_id: auditId, + details, + } = rawDetail; + + return { + failureType, + documentType, + documentCountryIsoCode, + auditId, + details, + }; +} + /** * Details of an activity between a user and the application. * @@ -90,14 +120,39 @@ class ActivityDetails { return this.receipt.sharing_outcome; } + /** + * @typedef {Object} ErrorReason + * @property {RequirementsNotMetDetail[]} [requirementsNotMetDetails] + * + * @typedef {Object} ErrorDetails + * @property {string} errorCode + * @property {string} description + * @property {ErrorReason} [errorReason] + * + * @returns {ErrorDetails|undefined} + */ getErrorDetails() { // eslint-disable-next-line camelcase - const responseErrorDetails = this.parsedResponse.error_details; + const { error_details: responseErrorDetails } = this.parsedResponse; + let errorDetails; if (responseErrorDetails) { + const { + error_code: errorCode, + description = '', + error_reason: errorReason, + } = responseErrorDetails; + + if (errorReason && errorReason.requirements_not_met_details) { + errorReason.requirementsNotMetDetails = errorReason.requirements_not_met_details + .map(transformRequirementsNotMetDetail); + delete errorReason.requirements_not_met_details; + } + errorDetails = { - errorCode: responseErrorDetails.error_code, - description: responseErrorDetails.description, + errorCode, + description, + ...(errorReason && { errorReason }), }; } return errorDetails; diff --git a/tests/digital_identity_service/get.share.receipt.result.js b/tests/digital_identity_service/get.share.receipt.result.js deleted file mode 100644 index fa984620..00000000 --- a/tests/digital_identity_service/get.share.receipt.result.js +++ /dev/null @@ -1,129 +0,0 @@ -const GetShareReceiptResult = require('../../src/digital_identity_service/get.share.receipt.result'); -const ExtraData = require('../../src/digital_identity_service/receipts/extra.data'); -const AttributeIssuanceDetails = require('../../src/data_type/attribute.issuance.details'); -const UserContent = require('../../src/digital_identity_service/receipts/user.content'); -const UserProfile = require('../../src/digital_identity_service/receipts/user.profile'); - -describe('GetShareReceiptResult', () => { - describe('#getSessionId', () => { - describe('when sessionId is available', () => { - it('should return the sessionId value', () => { - const receipt = new GetShareReceiptResult({ - sessionId: 'test_session_id', - }); - - expect(receipt.getSessionId()).toEqual('test_session_id'); - }); - }); - describe('when sessionId is undefined', () => { - it('should return undefined', () => { - const receipt = new GetShareReceiptResult({}); - expect(receipt.getSessionId()).toBe(undefined); - }); - }); - }); - describe('#getRememberMeId', () => { - describe('when rememberMeId is available', () => { - it('should return rememberMeId value', () => { - const getShareReceiptResult = new GetShareReceiptResult({ - rememberMeId: 'test_remember_me_id', - }); - expect(getShareReceiptResult.getRememberMeId()).toBe('test_remember_me_id'); - }); - }); - describe('when rememberMeId is undefined', () => { - it('should return undefined', () => { - const getShareReceiptResult = new GetShareReceiptResult({ - }); - expect(getShareReceiptResult.getRememberMeId()).toBe(undefined); - }); - }); - describe('when rememberMeId is empty string', () => { - it('should return empty string value', () => { - const getShareReceiptResult = new GetShareReceiptResult({ - rememberMeId: '', - }); - expect(getShareReceiptResult.getRememberMeId()).toBe(''); - }); - }); - }); - describe('#getParentRememberMeId', () => { - describe('when parentRememberMeId is available', () => { - it('should return parentRememberMeId value', () => { - const getShareReceiptResult = new GetShareReceiptResult({ - parentRememberMeId: 'test_parent_remember_me_id', - }); - expect(getShareReceiptResult.getParentRememberMeId()).toBe('test_parent_remember_me_id'); - }); - }); - describe('when parentRememberMeId is undefined', () => { - it('should return undefined', () => { - const getShareReceiptResult = new GetShareReceiptResult({ - }); - expect(getShareReceiptResult.getParentRememberMeId()).toBe(undefined); - }); - }); - describe('when parentRememberMeId is empty string', () => { - it('should return empty string value', () => { - const getShareReceiptResult = new GetShareReceiptResult({ - parentRememberMeId: '', - }); - expect(getShareReceiptResult.getParentRememberMeId()).toBe(''); - }); - }); - }); - describe('#getProfile', () => { - it('should return Profile object', () => { - const getShareReceiptResult = new GetShareReceiptResult({}, new UserContent([ - { - name: 'attr_name', - value: 'attr_value', - }, - ])); - const profile = getShareReceiptResult.getProfile(); - expect(profile).toBeInstanceOf(UserProfile); - expect(profile.getAttribute('attr_name').getValue()).toBe('attr_value'); - }); - }); - describe('#getExtraData', () => { - it('should return extraData', () => { - const extraData = [ - new AttributeIssuanceDetails('some_token', new Date()), - ]; - - const getShareReceiptResult = new GetShareReceiptResult({}, new UserContent([], extraData)); - expect(getShareReceiptResult.getExtraData()).toBeInstanceOf(ExtraData); - expect(getShareReceiptResult.getExtraData().getAttributeIssuanceDetails()) - .toEqual(extraData[0]); - }); - }); - describe('#getError', () => { - it('should return error value', () => { - const error = 'MANDATORY_DOCUMENT_NOT_PROVIDED'; - - const getShareReceiptResult = new GetShareReceiptResult({ - error, - }); - - expect(getShareReceiptResult.getError()).toEqual(error); - }); - }); - describe('#getTimestamp', () => { - it('should return timestamp value', () => { - const getShareReceiptResult = new GetShareReceiptResult({ - timestamp: '2003-11-04T12:51:07Z', - }); - expect(getShareReceiptResult.getTimestamp().toUTCString()).toBe('Tue, 04 Nov 2003 12:51:07 GMT'); - }); - }); - describe('#getReceiptId', () => { - it('should return receipt ID', () => { - const receiptId = 'test_receipt_id'; - - const getShareReceiptResult = new GetShareReceiptResult({ - id: receiptId, - }); - expect(getShareReceiptResult.getReceiptId()).toBe(receiptId); - }); - }); -}); diff --git a/tests/digital_identity_service/get.share.receipt.result.spec.js b/tests/digital_identity_service/get.share.receipt.result.spec.js new file mode 100644 index 00000000..1090b0de --- /dev/null +++ b/tests/digital_identity_service/get.share.receipt.result.spec.js @@ -0,0 +1,136 @@ +const GetShareReceiptResult = require('../../src/digital_identity_service/get.share.receipt.result'); +const ExtraData = require('../../src/digital_identity_service/receipts/extra.data'); +const AttributeIssuanceDetails = require('../../src/data_type/attribute.issuance.details'); +const UserContent = require('../../src/digital_identity_service/receipts/user.content'); +const UserProfile = require('../../src/digital_identity_service/receipts/user.profile'); +const ReceiptResponse = require('../../src/digital_identity_service/receipts/receipt.response'); + +describe('GetShareReceiptResult', () => { + let getShareReceiptResult; + let receiptResponse; + beforeEach(() => { + receiptResponse = new ReceiptResponse({ + id: 'test_receipt_id', + sessionId: 'test_session_id', + rememberMeId: 'test_remember_me_id', + parentRememberMeId: 'test_parent_remember_me_id', + timestamp: '2003-11-04T12:51:07Z', + error: 'MANDATORY_DOCUMENT_NOT_PROVIDED', + errorReason: { + requirements_not_met_details: [ + { + failure_type: 'ID_DOCUMENT_EXTRACTION', + document_type: 'PASSPORT', + document_country_iso_code: 'GBR', + audit_id: 'audit-123', + details: 'something not right', + }, + { + failure_type: 'ID_DOCUMENT_AUTHENTICITY', + document_type: 'PASSPORT', + document_country_iso_code: 'GBR', + audit_id: 'audit-456', + details: 'something still not right', + }, + ], + }, + }); + getShareReceiptResult = new GetShareReceiptResult(receiptResponse); + }); + describe('#getSessionId', () => { + it('should return the sessionId value', () => { + expect(getShareReceiptResult.getSessionId()).toEqual('test_session_id'); + }); + }); + describe('#getRememberMeId', () => { + it('should return rememberMeId value', () => { + expect(getShareReceiptResult.getRememberMeId()).toBe( + 'test_remember_me_id' + ); + }); + }); + describe('#getParentRememberMeId', () => { + it('should return parentRememberMeId value', () => { + expect(getShareReceiptResult.getParentRememberMeId()).toBe( + 'test_parent_remember_me_id' + ); + }); + }); + describe('#getProfile', () => { + it('should return Profile object', () => { + const getShareReceiptResultInstance = new GetShareReceiptResult( + receiptResponse, + new UserContent([ + { + name: 'attr_name', + value: 'attr_value', + }, + ]) + ); + const profile = getShareReceiptResultInstance.getProfile(); + expect(profile).toBeInstanceOf(UserProfile); + expect(profile.getAttribute('attr_name').getValue()).toBe('attr_value'); + }); + }); + describe('#getExtraData', () => { + it('should return extraData', () => { + const extraData = [ + new AttributeIssuanceDetails('some_token', new Date()), + ]; + + const getShareReceiptResultInstance = new GetShareReceiptResult( + receiptResponse, + new UserContent([], extraData) + ); + expect(getShareReceiptResultInstance.getExtraData()).toBeInstanceOf( + ExtraData + ); + expect( + getShareReceiptResultInstance + .getExtraData() + .getAttributeIssuanceDetails() + ).toEqual(extraData[0]); + }); + }); + describe('#getError', () => { + it('should return error value', () => { + const error = 'MANDATORY_DOCUMENT_NOT_PROVIDED'; + expect(getShareReceiptResult.getError()).toEqual(error); + }); + }); + describe('#getErrorReason', () => { + it('should return error value', () => { + const errorReason = getShareReceiptResult.getErrorReason(); + expect(errorReason.requirementsNotMetDetails).toHaveLength(2); + const [firstDetail, secondDetail] = errorReason.requirementsNotMetDetails; + expect(firstDetail).toEqual(expect.objectContaining({ + failureType: 'ID_DOCUMENT_EXTRACTION', + documentType: 'PASSPORT', + documentCountryIsoCode: 'GBR', + auditId: 'audit-123', + details: 'something not right', + })); + expect(secondDetail).toEqual(expect.objectContaining({ + failureType: 'ID_DOCUMENT_AUTHENTICITY', + documentType: 'PASSPORT', + documentCountryIsoCode: 'GBR', + auditId: 'audit-456', + details: 'something still not right', + })); + }); + }); + describe('#getTimestamp', () => { + it('should return timestamp value', () => { + expect(getShareReceiptResult.getTimestamp().toUTCString()).toBe( + 'Tue, 04 Nov 2003 12:51:07 GMT' + ); + }); + }); + describe('#getReceiptId', () => { + it('should return receipt ID', () => { + const receiptId = 'test_receipt_id'; + + expect(getShareReceiptResult.getReceiptId()).toBe(receiptId); + }); + }); +}); diff --git a/tests/idv_service/session/retrieve/identity.profile.response.spec.js b/tests/idv_service/session/retrieve/identity.profile.response.spec.js index ac4064bd..8f7f059f 100644 --- a/tests/idv_service/session/retrieve/identity.profile.response.spec.js +++ b/tests/idv_service/session/retrieve/identity.profile.response.spec.js @@ -10,7 +10,23 @@ describe('IdentityProfileResponse', () => { subject_id: 'someStringHere', result: 'DONE', failure_reason: { - reason_code: 'MANDATORY_DOCUMENT_COULD_NOT_BE_PROVIDED', + reason_code: 'MANDATORY_DOCUMENT_NOT_PROVIDED', + requirements_not_met_details: [ + { + failure_type: 'ID_DOCUMENT_EXTRACTION', + document_type: 'PASSPORT', + document_country_iso_code: 'GBR', + audit_id: 'audit-123', + details: 'something not right', + }, + { + failure_type: 'ID_DOCUMENT_AUTHENTICITY', + document_type: 'PASSPORT', + document_country_iso_code: 'GBR', + audit_id: 'audit-456', + details: 'something still not right', + }, + ], }, identity_profile_report: { trust_framework: 'UK_TFIDA', @@ -52,7 +68,23 @@ describe('IdentityProfileResponse', () => { expect(failureReason) .toBeInstanceOf(IdentityProfileFailureReasonResponse); - expect(failureReason.getReasonCode()).toBe('MANDATORY_DOCUMENT_COULD_NOT_BE_PROVIDED'); + expect(failureReason.getReasonCode()).toBe('MANDATORY_DOCUMENT_NOT_PROVIDED'); + expect(failureReason.getRequirementsNotMetDetails()).toHaveLength(2); + const [firstDetail, secondDetail] = failureReason.getRequirementsNotMetDetails(); + expect(firstDetail).toEqual(expect.objectContaining({ + failureType: 'ID_DOCUMENT_EXTRACTION', + documentType: 'PASSPORT', + documentCountryIsoCode: 'GBR', + auditId: 'audit-123', + details: 'something not right', + })); + expect(secondDetail).toEqual(expect.objectContaining({ + failureType: 'ID_DOCUMENT_AUTHENTICITY', + documentType: 'PASSPORT', + documentCountryIsoCode: 'GBR', + auditId: 'audit-456', + details: 'something still not right', + })); }); }); diff --git a/tests/profile_service/activity.details.spec.js b/tests/profile_service/activity.details.spec.js index 9ea05f32..80d6ed02 100644 --- a/tests/profile_service/activity.details.spec.js +++ b/tests/profile_service/activity.details.spec.js @@ -123,6 +123,57 @@ describe('ActivityDetails', () => { description: 'Something terrible happened...users had no documents!', }); }); + it('should return error_details value with "errorReason" when available', () => { + const activityDetails = new ActivityDetails({ + error_details: { + error_code: 'ERROR_CODE_FOR_SHARE', + description: 'Something terrible happened...users had no documents!', + error_reason: { + requirements_not_met_details: [ + { + failure_type: 'ID_DOCUMENT_EXTRACTION', + document_type: 'PASSPORT', + document_country_iso_code: 'GBR', + audit_id: 'audit-123', + details: 'something not right', + }, + { + failure_type: 'ID_DOCUMENT_AUTHENTICITY', + document_type: 'PASSPORT', + document_country_iso_code: 'GBR', + audit_id: 'audit-456', + details: 'something still not right', + }, + ], + }, + }, + receipt: { + sharing_outcome: 'NOT_SUCCESS', + }, + }); + expect(activityDetails.getErrorDetails()).toEqual({ + errorCode: 'ERROR_CODE_FOR_SHARE', + description: 'Something terrible happened...users had no documents!', + errorReason: expect.objectContaining({ + requirementsNotMetDetails: expect.arrayContaining([ + expect.objectContaining({ + failureType: 'ID_DOCUMENT_EXTRACTION', + documentType: 'PASSPORT', + documentCountryIsoCode: 'GBR', + auditId: 'audit-123', + details: 'something not right', + }), + expect.objectContaining({ + failureType: 'ID_DOCUMENT_AUTHENTICITY', + documentType: 'PASSPORT', + documentCountryIsoCode: 'GBR', + auditId: 'audit-456', + details: 'something still not right', + }), + ]), + }), + }); + }); }); describe('#getTimestamp', () => { it('should return timestamp value', () => { diff --git a/types/src/digital_identity_service/get.share.receipt.result.d.ts b/types/src/digital_identity_service/get.share.receipt.result.d.ts index 4c265711..dd8bf251 100644 --- a/types/src/digital_identity_service/get.share.receipt.result.d.ts +++ b/types/src/digital_identity_service/get.share.receipt.result.d.ts @@ -20,6 +20,8 @@ declare class GetShareReceiptResult { /** @private */ private error; /** @private */ + private errorReason; + /** @private */ private id; /** @private */ private userContent; @@ -95,6 +97,12 @@ declare class GetShareReceiptResult { * @returns {string} */ getError(): string; + getErrorReason(): { + /** + * The error reason of the receipt + */ + requirementsNotMetDetails?: import("./receipts/receipt.response").RequirementsNotMetDetail[]; + }; } import UserContent = require("./receipts/user.content"); import ApplicationContent = require("./receipts/application.content"); diff --git a/types/src/digital_identity_service/receipts/receipt.response.d.ts b/types/src/digital_identity_service/receipts/receipt.response.d.ts index e0b24a51..af435089 100644 --- a/types/src/digital_identity_service/receipts/receipt.response.d.ts +++ b/types/src/digital_identity_service/receipts/receipt.response.d.ts @@ -15,6 +15,8 @@ declare class ReceiptResponse { /** @private */ private error; /** @private */ + private errorReason; + /** @private */ private rememberMeId; /** @private */ private parentRememberMeId; @@ -86,4 +88,28 @@ declare class ReceiptResponse { * @returns {string} The error of the receipt */ getError(): string; + /** + * @typedef {Object} ErrorReason + * @property {RequirementsNotMetDetail[]} [requirementsNotMetDetails] + * + * The error reason of the receipt + * + * @returns {ErrorReason|undefined} + */ + getErrorReason(): { + /** + * The error reason of the receipt + */ + requirementsNotMetDetails?: RequirementsNotMetDetail[]; + }; +} +declare namespace ReceiptResponse { + export { RequirementsNotMetDetail }; } +type RequirementsNotMetDetail = { + failureType?: string; + documentType?: string; + documentCountryIsoCode?: string; + auditId?: string; + details?: string; +}; diff --git a/types/src/idv_service/session/retrieve/identity.profile.failure.reason.response.d.ts b/types/src/idv_service/session/retrieve/identity.profile.failure.reason.response.d.ts index 7aaa8d68..e635efa8 100644 --- a/types/src/idv_service/session/retrieve/identity.profile.failure.reason.response.d.ts +++ b/types/src/idv_service/session/retrieve/identity.profile.failure.reason.response.d.ts @@ -1,7 +1,34 @@ export = IdentityProfileFailureReasonResponse; +/** + * @typedef {Object} RequirementsNotMetDetail + * @property {string} [failureType] + * @property {string} [documentType] + * @property {string} [documentCountryIsoCode] + * @property {string} [auditId] + * @property {string} [details] + */ declare class IdentityProfileFailureReasonResponse { constructor(failureReason: any); /** @private */ private reasonCode; - getReasonCode(): any; + /** @private */ + private requirementsNotMetDetails; + /** + * @returns {string} + */ + getReasonCode(): string; + /** + * @returns {RequirementsNotMetDetail[]} + */ + getRequirementsNotMetDetails(): RequirementsNotMetDetail[]; } +declare namespace IdentityProfileFailureReasonResponse { + export { RequirementsNotMetDetail }; +} +type RequirementsNotMetDetail = { + failureType?: string; + documentType?: string; + documentCountryIsoCode?: string; + auditId?: string; + details?: string; +}; diff --git a/types/src/idv_service/session/retrieve/identity.profile.response.d.ts b/types/src/idv_service/session/retrieve/identity.profile.response.d.ts index 4a291f23..afa66d2a 100644 --- a/types/src/idv_service/session/retrieve/identity.profile.response.d.ts +++ b/types/src/idv_service/session/retrieve/identity.profile.response.d.ts @@ -18,12 +18,13 @@ declare class IdentityProfileResponse { */ getResult(): string; /** - * @returns {object} + * @returns {IdentityProfileFailureReasonResponse} */ - getFailureReason(): object; + getFailureReason(): IdentityProfileFailureReasonResponse; /** * @returns {IdentityProfileReportResponse} */ getIdentityProfileReport(): IdentityProfileReportResponse; } +import IdentityProfileFailureReasonResponse = require("./identity.profile.failure.reason.response"); import IdentityProfileReportResponse = require("./identity.profile.report.response"); diff --git a/types/src/profile_service/activity.details.d.ts b/types/src/profile_service/activity.details.d.ts index 061bcf07..7b86fd64 100644 --- a/types/src/profile_service/activity.details.d.ts +++ b/types/src/profile_service/activity.details.d.ts @@ -1,3 +1,10 @@ +export type RequirementsNotMetDetail = { + failureType?: string; + documentType?: string; + documentCountryIsoCode?: string; + auditId?: string; + details?: string; +}; /** * Details of an activity between a user and the application. * @@ -68,9 +75,23 @@ export class ActivityDetails { * @returns {string} */ getOutcome(): string; + /** + * @typedef {Object} ErrorReason + * @property {RequirementsNotMetDetail[]} [requirementsNotMetDetails] + * + * @typedef {Object} ErrorDetails + * @property {string} errorCode + * @property {string} description + * @property {ErrorReason} [errorReason] + * + * @returns {ErrorDetails|undefined} + */ getErrorDetails(): { - errorCode: any; - description: any; + errorCode: string; + description: string; + errorReason?: { + requirementsNotMetDetails?: RequirementsNotMetDetail[]; + }; }; /** * Receipt ID identifying a completed activity.