Просмотр исходного кода

Merge pull request #30339 from overleaf/acf-migration5-cleanup

(5) Remove swagger dependencies from history-v1

GitOrigin-RevId: d3d79dd9d3c8ccb59d6a59aeede7186daf18bdb0
Anna Claire Fields 9 месяцев назад
Родитель
Сommit
06a0cf2391

+ 11 - 689
package-lock.json

@@ -13926,18 +13926,6 @@
       "dev": true,
       "dev": true,
       "optional": true
       "optional": true
     },
     },
-    "node_modules/@noble/hashes": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz",
-      "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==",
-      "license": "MIT",
-      "engines": {
-        "node": "^14.21.3 || >=16"
-      },
-      "funding": {
-        "url": "https://paulmillr.com/funding/"
-      }
-    },
     "node_modules/@node-oauth/formats": {
     "node_modules/@node-oauth/formats": {
       "version": "1.0.0",
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/@node-oauth/formats/-/formats-1.0.0.tgz",
       "resolved": "https://registry.npmjs.org/@node-oauth/formats/-/formats-1.0.0.tgz",
@@ -15891,15 +15879,6 @@
         "win32"
         "win32"
       ]
       ]
     },
     },
-    "node_modules/@paralleldrive/cuid2": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/@paralleldrive/cuid2/-/cuid2-2.3.1.tgz",
-      "integrity": "sha512-XO7cAxhnTZl0Yggq6jOgjiOHhbgcO4NqFqwSmQpjK3b6TEE6Uj/jfSk6wzYyemh3+I0sHirKSetjQwn5cZktFw==",
-      "license": "MIT",
-      "dependencies": {
-        "@noble/hashes": "^1.1.5"
-      }
-    },
     "node_modules/@phosphor-icons/react": {
     "node_modules/@phosphor-icons/react": {
       "version": "2.1.7",
       "version": "2.1.7",
       "resolved": "https://registry.npmjs.org/@phosphor-icons/react/-/react-2.1.7.tgz",
       "resolved": "https://registry.npmjs.org/@phosphor-icons/react/-/react-2.1.7.tgz",
@@ -26546,12 +26525,6 @@
         "url": "https://github.com/sponsors/wooorm"
         "url": "https://github.com/sponsors/wooorm"
       }
       }
     },
     },
-    "node_modules/commander": {
-      "version": "2.11.0",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz",
-      "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==",
-      "license": "MIT"
-    },
     "node_modules/common-path-prefix": {
     "node_modules/common-path-prefix": {
       "version": "3.0.0",
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz",
       "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz",
@@ -26576,7 +26549,8 @@
     "node_modules/component-emitter": {
     "node_modules/component-emitter": {
       "version": "1.3.0",
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
       "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
-      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
+      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
+      "dev": true
     },
     },
     "node_modules/compress-commons": {
     "node_modules/compress-commons": {
       "version": "4.1.1",
       "version": "4.1.1",
@@ -26919,7 +26893,8 @@
     "node_modules/cookiejar": {
     "node_modules/cookiejar": {
       "version": "2.1.4",
       "version": "2.1.4",
       "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz",
       "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz",
-      "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw=="
+      "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==",
+      "dev": true
     },
     },
     "node_modules/copy-anything": {
     "node_modules/copy-anything": {
       "version": "2.0.6",
       "version": "2.0.6",
@@ -28591,6 +28566,7 @@
       "version": "1.0.4",
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz",
       "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz",
       "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==",
       "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==",
+      "dev": true,
       "dependencies": {
       "dependencies": {
         "asap": "^2.0.0",
         "asap": "^2.0.0",
         "wrappy": "1"
         "wrappy": "1"
@@ -30685,6 +30661,7 @@
       "version": "4.0.1",
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
       "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
       "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
       "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+      "dev": true,
       "bin": {
       "bin": {
         "esparse": "bin/esparse.js",
         "esparse": "bin/esparse.js",
         "esvalidate": "bin/esvalidate.js"
         "esvalidate": "bin/esvalidate.js"
@@ -31578,7 +31555,8 @@
     "node_modules/fast-safe-stringify": {
     "node_modules/fast-safe-stringify": {
       "version": "2.1.1",
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
       "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
-      "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="
+      "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==",
+      "dev": true
     },
     },
     "node_modules/fast-text-encoding": {
     "node_modules/fast-text-encoding": {
       "version": "1.0.3",
       "version": "1.0.3",
@@ -32306,16 +32284,6 @@
         "node": ">= 12.20"
         "node": ">= 12.20"
       }
       }
     },
     },
-    "node_modules/formidable": {
-      "version": "1.2.6",
-      "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz",
-      "integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==",
-      "deprecated": "Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau",
-      "license": "MIT",
-      "funding": {
-        "url": "https://ko-fi.com/tunnckoCore/commissions"
-      }
-    },
     "node_modules/formik": {
     "node_modules/formik": {
       "version": "2.2.9",
       "version": "2.2.9",
       "resolved": "https://registry.npmjs.org/formik/-/formik-2.2.9.tgz",
       "resolved": "https://registry.npmjs.org/formik/-/formik-2.2.9.tgz",
@@ -33495,15 +33463,6 @@
         "unicode-trie": "^2.0.0"
         "unicode-trie": "^2.0.0"
       }
       }
     },
     },
-    "node_modules/graphlib": {
-      "version": "2.1.8",
-      "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz",
-      "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==",
-      "license": "MIT",
-      "dependencies": {
-        "lodash": "^4.17.15"
-      }
-    },
     "node_modules/gtoken": {
     "node_modules/gtoken": {
       "version": "5.3.2",
       "version": "5.3.2",
       "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-5.3.2.tgz",
       "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-5.3.2.tgz",
@@ -37001,68 +36960,6 @@
       "resolved": "https://registry.npmjs.org/json-ptr/-/json-ptr-3.1.1.tgz",
       "resolved": "https://registry.npmjs.org/json-ptr/-/json-ptr-3.1.1.tgz",
       "integrity": "sha512-SiSJQ805W1sDUCD1+/t1/1BIrveq2Fe9HJqENxZmMCILmrPI7WhS/pePpIOx85v6/H2z1Vy7AI08GV2TzfXocg=="
       "integrity": "sha512-SiSJQ805W1sDUCD1+/t1/1BIrveq2Fe9HJqENxZmMCILmrPI7WhS/pePpIOx85v6/H2z1Vy7AI08GV2TzfXocg=="
     },
     },
-    "node_modules/json-refs": {
-      "version": "3.0.15",
-      "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-3.0.15.tgz",
-      "integrity": "sha512-0vOQd9eLNBL18EGl5yYaO44GhixmImes2wiYn9Z3sag3QnehWrYWlB9AFtMxCL2Bj3fyxgDYkxGFEU/chlYssw==",
-      "license": "MIT",
-      "dependencies": {
-        "commander": "~4.1.1",
-        "graphlib": "^2.1.8",
-        "js-yaml": "^3.13.1",
-        "lodash": "^4.17.15",
-        "native-promise-only": "^0.8.1",
-        "path-loader": "^1.0.10",
-        "slash": "^3.0.0",
-        "uri-js": "^4.2.2"
-      },
-      "bin": {
-        "json-refs": "bin/json-refs"
-      },
-      "engines": {
-        "node": ">=0.8"
-      }
-    },
-    "node_modules/json-refs/node_modules/argparse": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
-      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
-      "license": "MIT",
-      "dependencies": {
-        "sprintf-js": "~1.0.2"
-      }
-    },
-    "node_modules/json-refs/node_modules/commander": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
-      "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
-      "license": "MIT",
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/json-refs/node_modules/js-yaml": {
-      "version": "3.14.2",
-      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
-      "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
-      "license": "MIT",
-      "dependencies": {
-        "argparse": "^1.0.7",
-        "esprima": "^4.0.0"
-      },
-      "bin": {
-        "js-yaml": "bin/js-yaml.js"
-      }
-    },
-    "node_modules/json-refs/node_modules/slash": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
-      "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      }
-    },
     "node_modules/json-schema": {
     "node_modules/json-schema": {
       "version": "0.4.0",
       "version": "0.4.0",
       "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
       "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
@@ -37917,185 +37814,11 @@
       "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==",
       "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==",
       "dev": true
       "dev": true
     },
     },
-    "node_modules/lodash._arraypool": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash._arraypool/-/lodash._arraypool-2.4.1.tgz",
-      "integrity": "sha512-tC2aLC7bbkDXKNrjDu9OLiVx9pFIvjinID2eD9PzNdAQGZScWUd/h8faqOw5d6oLsOvFRCRbz1ASoB+deyMVUw==",
-      "license": "MIT"
-    },
-    "node_modules/lodash._basebind": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash._basebind/-/lodash._basebind-2.4.1.tgz",
-      "integrity": "sha512-VGHm6DH+1UiuafQdE/DNMqxOcSyhRu0xO9+jPDq7xITRn5YOorGrHVQmavMVXCYmTm80YRTZZCn/jTW7MokwLg==",
-      "license": "MIT",
-      "dependencies": {
-        "lodash._basecreate": "~2.4.1",
-        "lodash._setbinddata": "~2.4.1",
-        "lodash._slice": "~2.4.1",
-        "lodash.isobject": "~2.4.1"
-      }
-    },
-    "node_modules/lodash._baseclone": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-2.4.1.tgz",
-      "integrity": "sha512-+zJVXs0VxC/Au+/7foiKzw8UaWvfSfPh20XhqK/6HFQiUeclL5fz05zY7G9yDAFItAKKZwB4cgpzGvxiwuG1wQ==",
-      "license": "MIT",
-      "dependencies": {
-        "lodash._getarray": "~2.4.1",
-        "lodash._releasearray": "~2.4.1",
-        "lodash._slice": "~2.4.1",
-        "lodash.assign": "~2.4.1",
-        "lodash.foreach": "~2.4.1",
-        "lodash.forown": "~2.4.1",
-        "lodash.isarray": "~2.4.1",
-        "lodash.isobject": "~2.4.1"
-      }
-    },
-    "node_modules/lodash._basecreate": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz",
-      "integrity": "sha512-8JJ3FnMPm54t3BwPLk8q8mPyQKQXm/rt9df+awr4NGtyJrtcCXM3Of1I86S6jVy1b4yAyFBb8wbKPEauuqzRmQ==",
-      "license": "MIT",
-      "dependencies": {
-        "lodash._isnative": "~2.4.1",
-        "lodash.isobject": "~2.4.1",
-        "lodash.noop": "~2.4.1"
-      }
-    },
-    "node_modules/lodash._basecreatecallback": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.4.1.tgz",
-      "integrity": "sha512-SLczhg860fGW7AKlYcuOFstDtJuQhaANlJ4Y/jrOoRxhmVtK41vbJDH3OefVRSRkSCQo4HI82QVkAVsoGa5gSw==",
-      "license": "MIT",
-      "dependencies": {
-        "lodash._setbinddata": "~2.4.1",
-        "lodash.bind": "~2.4.1",
-        "lodash.identity": "~2.4.1",
-        "lodash.support": "~2.4.1"
-      }
-    },
-    "node_modules/lodash._basecreatewrapper": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash._basecreatewrapper/-/lodash._basecreatewrapper-2.4.1.tgz",
-      "integrity": "sha512-x2ja1fa/qmzbizuXgVM4QAP9svtMbdxjG8Anl9bCeDAwLOVQ1vLrA0hLb/NkpbGi9evjtkl0aWLTEoOlUdBPQA==",
-      "license": "MIT",
-      "dependencies": {
-        "lodash._basecreate": "~2.4.1",
-        "lodash._setbinddata": "~2.4.1",
-        "lodash._slice": "~2.4.1",
-        "lodash.isobject": "~2.4.1"
-      }
-    },
-    "node_modules/lodash._createwrapper": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash._createwrapper/-/lodash._createwrapper-2.4.1.tgz",
-      "integrity": "sha512-5TCfLt1haQpsa7bgLYRKNNE4yqhO4ZxIayN1btQmazMchO6Q8JYFRMqbJ3W+uNmMm4R0Jw7KGkZX5YfDDnywuw==",
-      "license": "MIT",
-      "dependencies": {
-        "lodash._basebind": "~2.4.1",
-        "lodash._basecreatewrapper": "~2.4.1",
-        "lodash._slice": "~2.4.1",
-        "lodash.isfunction": "~2.4.1"
-      }
-    },
-    "node_modules/lodash._getarray": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash._getarray/-/lodash._getarray-2.4.1.tgz",
-      "integrity": "sha512-iIrScwY3atGvLVbQL/+CNUznaPwBJg78S/JO4cTUFXRkRsZgEBhscB27cVoT4tsIOUyFu/5M/0umfHNGJ6wYwg==",
-      "license": "MIT",
-      "dependencies": {
-        "lodash._arraypool": "~2.4.1"
-      }
-    },
-    "node_modules/lodash._isnative": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz",
-      "integrity": "sha512-BOlKGKNHhCHswGOWtmVb5zBygyxN7EmTuzVOSQI6QSoGhG+kvv71gICFS1TBpnqvT1n53txK8CDK3u5D2/GZxQ==",
-      "license": "MIT"
-    },
-    "node_modules/lodash._maxpoolsize": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash._maxpoolsize/-/lodash._maxpoolsize-2.4.1.tgz",
-      "integrity": "sha512-xKDem1BxoIfcCtaJHotjtyfdIvZO9qrF+mv3G1+ngQmaI3MJt3Qm46i9HLk/CbzABbavUrr1/EomQT8KxtsrYA==",
-      "license": "MIT"
-    },
-    "node_modules/lodash._objecttypes": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz",
-      "integrity": "sha512-XpqGh1e7hhkOzftBfWE7zt+Yn9mVHFkDhicVttvKLsoCMLVVL+xTQjfjB4X4vtznauxv0QZ5ZAeqjvat0dh62Q==",
-      "license": "MIT"
-    },
-    "node_modules/lodash._releasearray": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash._releasearray/-/lodash._releasearray-2.4.1.tgz",
-      "integrity": "sha512-wwCwWX8PK/mYR5VZjcU5JFl6py/qrfLGMxzpKOfSqgA1PaZ6Z625CZLCxH1KsqyxSkOFmNm+mEYjeDpXlM4hrg==",
-      "license": "MIT",
-      "dependencies": {
-        "lodash._arraypool": "~2.4.1",
-        "lodash._maxpoolsize": "~2.4.1"
-      }
-    },
-    "node_modules/lodash._setbinddata": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.4.1.tgz",
-      "integrity": "sha512-Vx0XKzpg2DFbQw4wrp1xSWd2sfl3W/BG6bucSRZmftS1AzbWRemCmBQDxyQTNhlLNec428PXkuuja+VNBZgu2A==",
-      "license": "MIT",
-      "dependencies": {
-        "lodash._isnative": "~2.4.1",
-        "lodash.noop": "~2.4.1"
-      }
-    },
-    "node_modules/lodash._shimkeys": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz",
-      "integrity": "sha512-lBrglYxLD/6KAJ8IEa5Lg+YHgNAL7FyKqXg4XOUI+Du/vtniLs1ZqS+yHNKPkK54waAgkdUnDOYaWf+rv4B+AA==",
-      "license": "MIT",
-      "dependencies": {
-        "lodash._objecttypes": "~2.4.1"
-      }
-    },
-    "node_modules/lodash._slice": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.4.1.tgz",
-      "integrity": "sha512-+odPJa4PE2UgYnQgJgkLs0UD03QU78R2ivhrFnG9GdtYOZdE6ObxOj7KiUEUlqOOgatFT+ZqSypFjDSduTigKg==",
-      "license": "MIT"
-    },
-    "node_modules/lodash.assign": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-2.4.1.tgz",
-      "integrity": "sha512-AqQ4AJz5buSx9ELXWt5dONwJyVPd4NTADMKhoVYWCugjoVf172/LpvVhwmSJn4g8/Dc0S8hxTe8rt5Dob3X9KQ==",
-      "license": "MIT",
-      "dependencies": {
-        "lodash._basecreatecallback": "~2.4.1",
-        "lodash._objecttypes": "~2.4.1",
-        "lodash.keys": "~2.4.1"
-      }
-    },
-    "node_modules/lodash.bind": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-2.4.1.tgz",
-      "integrity": "sha512-hn2VWYZ+N9aYncRad4jORvlGgpFrn+axnPIWRvFxjk6CWcZH5b5alI8EymYsHITI23Z9wrW/+ORq+azrVFpOfw==",
-      "license": "MIT",
-      "dependencies": {
-        "lodash._createwrapper": "~2.4.1",
-        "lodash._slice": "~2.4.1"
-      }
-    },
     "node_modules/lodash.camelcase": {
     "node_modules/lodash.camelcase": {
       "version": "4.3.0",
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
       "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
       "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY="
       "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY="
     },
     },
-    "node_modules/lodash.clonedeep": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-2.4.1.tgz",
-      "integrity": "sha512-zj5vReFLkR+lJOBKP1wyteZ13zut/KSmXtdCBgxcy/m4UTitcBxpeVZT7gwk8BQrztPI5dIgO4bhBppXV4rpTQ==",
-      "license": "MIT",
-      "dependencies": {
-        "lodash._baseclone": "~2.4.1",
-        "lodash._basecreatecallback": "~2.4.1"
-      }
-    },
     "node_modules/lodash.debounce": {
     "node_modules/lodash.debounce": {
       "version": "4.0.8",
       "version": "4.0.8",
       "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
       "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
@@ -38117,27 +37840,6 @@
       "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
       "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
       "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8="
       "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8="
     },
     },
-    "node_modules/lodash.foreach": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-2.4.1.tgz",
-      "integrity": "sha512-AvOobAkE7qBtIiHU5QHQIfveWH5Usr9pIcFIzBv7u4S6bvb3FWpFrh9ltqBY7UeL5lw6e8d+SggiUXQVyh+FpA==",
-      "license": "MIT",
-      "dependencies": {
-        "lodash._basecreatecallback": "~2.4.1",
-        "lodash.forown": "~2.4.1"
-      }
-    },
-    "node_modules/lodash.forown": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash.forown/-/lodash.forown-2.4.1.tgz",
-      "integrity": "sha512-VC+CKm/zSs5t3i/MHv71HZoQphuqOvez1xhjWBwHU5zAbsCYrqwHr+MyQyMk14HzA3hSRNA5lCqDMSw5G2Qscg==",
-      "license": "MIT",
-      "dependencies": {
-        "lodash._basecreatecallback": "~2.4.1",
-        "lodash._objecttypes": "~2.4.1",
-        "lodash.keys": "~2.4.1"
-      }
-    },
     "node_modules/lodash.get": {
     "node_modules/lodash.get": {
       "version": "4.4.2",
       "version": "4.4.2",
       "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
       "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
@@ -38149,12 +37851,6 @@
       "integrity": "sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=",
       "integrity": "sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=",
       "dev": true
       "dev": true
     },
     },
-    "node_modules/lodash.identity": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-2.4.1.tgz",
-      "integrity": "sha512-VRYX+8XipeLjorag5bz3YBBRJ+5kj8hVBzfnaHgXPZAVTYowBdY5l0M5ZnOmlAMCOXBFabQtm7f5VqjMKEji0w==",
-      "license": "MIT"
-    },
     "node_modules/lodash.includes": {
     "node_modules/lodash.includes": {
       "version": "4.3.0",
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
       "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
@@ -38166,34 +37862,12 @@
       "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
       "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
       "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo="
       "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo="
     },
     },
-    "node_modules/lodash.isarray": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-2.4.1.tgz",
-      "integrity": "sha512-yRDd0z+APziDqbk0MqR6Qfwj/Qn3jLxFJbI9U8MuvdTnqIXdZ5YXyGLnwuzCpZmjr26F1GNOjKLMMZ10i/wy6A==",
-      "license": "MIT",
-      "dependencies": {
-        "lodash._isnative": "~2.4.1"
-      }
-    },
     "node_modules/lodash.isboolean": {
     "node_modules/lodash.isboolean": {
       "version": "3.0.3",
       "version": "3.0.3",
       "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
       "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
       "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==",
       "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==",
       "license": "MIT"
       "license": "MIT"
     },
     },
-    "node_modules/lodash.isequal": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
-      "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==",
-      "deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead.",
-      "license": "MIT"
-    },
-    "node_modules/lodash.isfunction": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz",
-      "integrity": "sha512-6XcAB3izeQxPOQQNAJbbdjXbvWEt2Pn9ezPrjr4CwoLwmqsLVbsiEXD19cmmt4mbzOCOCdHzOQiUivUOJLra7w==",
-      "license": "MIT"
-    },
     "node_modules/lodash.isinteger": {
     "node_modules/lodash.isinteger": {
       "version": "4.0.4",
       "version": "4.0.4",
       "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
       "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
@@ -38206,15 +37880,6 @@
       "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==",
       "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==",
       "license": "MIT"
       "license": "MIT"
     },
     },
-    "node_modules/lodash.isobject": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz",
-      "integrity": "sha512-sTebg2a1PoicYEZXD5PBdQcTlIJ6hUslrlWr7iV0O7n+i4596s2NQ9I5CaZ5FbXSfya/9WQsrYLANUJv9paYVA==",
-      "license": "MIT",
-      "dependencies": {
-        "lodash._objecttypes": "~2.4.1"
-      }
-    },
     "node_modules/lodash.isplainobject": {
     "node_modules/lodash.isplainobject": {
       "version": "4.0.6",
       "version": "4.0.6",
       "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
       "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
@@ -38225,17 +37890,6 @@
       "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
       "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
       "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE="
       "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE="
     },
     },
-    "node_modules/lodash.keys": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
-      "integrity": "sha512-ZpJhwvUXHSNL5wYd1RM6CUa2ZuqorG9ngoJ9Ix5Cce+uX7I5O/E06FCJdhSZ33b5dVyeQDnIlWH7B2s5uByZ7g==",
-      "license": "MIT",
-      "dependencies": {
-        "lodash._isnative": "~2.4.1",
-        "lodash._shimkeys": "~2.4.1",
-        "lodash.isobject": "~2.4.1"
-      }
-    },
     "node_modules/lodash.memoize": {
     "node_modules/lodash.memoize": {
       "version": "4.1.2",
       "version": "4.1.2",
       "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
       "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
@@ -38247,12 +37901,6 @@
       "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
       "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
       "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
       "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
     },
     },
-    "node_modules/lodash.noop": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz",
-      "integrity": "sha512-uNcV98/blRhInPUGQEnj9ekXXfG+q+rfoNSFZgl/eBfog9yBDW9gfUv2AHX/rAF7zZRlzWhbslGhbGQFZlCkZA==",
-      "license": "MIT"
-    },
     "node_modules/lodash.once": {
     "node_modules/lodash.once": {
       "version": "4.1.1",
       "version": "4.1.1",
       "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
       "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
@@ -38264,15 +37912,6 @@
       "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==",
       "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==",
       "license": "MIT"
       "license": "MIT"
     },
     },
-    "node_modules/lodash.support": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/lodash.support/-/lodash.support-2.4.1.tgz",
-      "integrity": "sha512-6SwqWwGFHhTXEiqB/yQgu8FYd//tm786d49y7kizHVCJH7zdzs191UQn3ES3tkkDbUddNRfkCRYqJFHtbLnbCw==",
-      "license": "MIT",
-      "dependencies": {
-        "lodash._isnative": "~2.4.1"
-      }
-    },
     "node_modules/lodash.truncate": {
     "node_modules/lodash.truncate": {
       "version": "4.4.2",
       "version": "4.4.2",
       "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
       "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
@@ -40049,6 +39688,7 @@
       "version": "2.6.0",
       "version": "2.6.0",
       "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
       "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
       "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
       "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
+      "dev": true,
       "bin": {
       "bin": {
         "mime": "cli.js"
         "mime": "cli.js"
       },
       },
@@ -41000,12 +40640,6 @@
         "url": "https://opencollective.com/napi-postinstall"
         "url": "https://opencollective.com/napi-postinstall"
       }
       }
     },
     },
-    "node_modules/native-promise-only": {
-      "version": "0.8.1",
-      "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz",
-      "integrity": "sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==",
-      "license": "MIT"
-    },
     "node_modules/natural-compare": {
     "node_modules/natural-compare": {
       "version": "1.4.0",
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
       "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
@@ -42583,83 +42217,6 @@
         "node": ">=8"
         "node": ">=8"
       }
       }
     },
     },
-    "node_modules/path-loader": {
-      "version": "1.0.12",
-      "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.12.tgz",
-      "integrity": "sha512-n7oDG8B+k/p818uweWrOixY9/Dsr89o2TkCm6tOTex3fpdo2+BFDgR+KpB37mGKBRsBAlR8CIJMFN0OEy/7hIQ==",
-      "license": "MIT",
-      "dependencies": {
-        "native-promise-only": "^0.8.1",
-        "superagent": "^7.1.6"
-      }
-    },
-    "node_modules/path-loader/node_modules/debug": {
-      "version": "4.4.3",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
-      "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
-      "license": "MIT",
-      "dependencies": {
-        "ms": "^2.1.3"
-      },
-      "engines": {
-        "node": ">=6.0"
-      },
-      "peerDependenciesMeta": {
-        "supports-color": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/path-loader/node_modules/formidable": {
-      "version": "2.1.5",
-      "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.5.tgz",
-      "integrity": "sha512-Oz5Hwvwak/DCaXVVUtPn4oLMLLy1CdclLKO1LFgU7XzDpVMUU5UjlSLpGMocyQNNk8F6IJW9M/YdooSn2MRI+Q==",
-      "license": "MIT",
-      "dependencies": {
-        "@paralleldrive/cuid2": "^2.2.2",
-        "dezalgo": "^1.0.4",
-        "once": "^1.4.0",
-        "qs": "^6.11.0"
-      },
-      "funding": {
-        "url": "https://ko-fi.com/tunnckoCore/commissions"
-      }
-    },
-    "node_modules/path-loader/node_modules/semver": {
-      "version": "7.7.3",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
-      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
-      "license": "ISC",
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/path-loader/node_modules/superagent": {
-      "version": "7.1.6",
-      "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.6.tgz",
-      "integrity": "sha512-gZkVCQR1gy/oUXr+kxJMLDjla434KmSOKbx5iGD30Ql+AkJQ/YlPKECJy2nhqOsHLjGHzoDTXNSjhnvWhzKk7g==",
-      "deprecated": "Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net",
-      "license": "MIT",
-      "dependencies": {
-        "component-emitter": "^1.3.0",
-        "cookiejar": "^2.1.3",
-        "debug": "^4.3.4",
-        "fast-safe-stringify": "^2.1.1",
-        "form-data": "^4.0.0",
-        "formidable": "^2.0.1",
-        "methods": "^1.1.2",
-        "mime": "2.6.0",
-        "qs": "^6.10.3",
-        "readable-stream": "^3.6.0",
-        "semver": "^7.3.7"
-      },
-      "engines": {
-        "node": ">=6.4.0 <13 || >=14"
-      }
-    },
     "node_modules/path-parse": {
     "node_modules/path-parse": {
       "version": "1.0.7",
       "version": "1.0.7",
       "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
       "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
@@ -48777,12 +48334,6 @@
         "url": "https://github.com/sponsors/wooorm"
         "url": "https://github.com/sponsors/wooorm"
       }
       }
     },
     },
-    "node_modules/spark-md5": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/spark-md5/-/spark-md5-3.0.2.tgz",
-      "integrity": "sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw==",
-      "license": "(WTFPL OR MIT)"
-    },
     "node_modules/sparse-bitfield": {
     "node_modules/sparse-bitfield": {
       "version": "3.0.3",
       "version": "3.0.3",
       "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
       "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
@@ -48896,7 +48447,8 @@
     "node_modules/sprintf-js": {
     "node_modules/sprintf-js": {
       "version": "1.0.3",
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
       "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
-      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
+      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+      "dev": true
     },
     },
     "node_modules/sprintf-kit": {
     "node_modules/sprintf-kit": {
       "version": "2.0.1",
       "version": "2.0.1",
@@ -50059,116 +49611,6 @@
         "url": "https://github.com/sponsors/isaacs"
         "url": "https://github.com/sponsors/isaacs"
       }
       }
     },
     },
-    "node_modules/superagent": {
-      "version": "3.8.3",
-      "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz",
-      "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==",
-      "deprecated": "Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net",
-      "license": "MIT",
-      "dependencies": {
-        "component-emitter": "^1.2.0",
-        "cookiejar": "^2.1.0",
-        "debug": "^3.1.0",
-        "extend": "^3.0.0",
-        "form-data": "^2.3.1",
-        "formidable": "^1.2.0",
-        "methods": "^1.1.1",
-        "mime": "^1.4.1",
-        "qs": "^6.5.1",
-        "readable-stream": "^2.3.5"
-      },
-      "engines": {
-        "node": ">= 4.0"
-      }
-    },
-    "node_modules/superagent/node_modules/debug": {
-      "version": "3.2.7",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
-      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
-      "license": "MIT",
-      "dependencies": {
-        "ms": "^2.1.1"
-      }
-    },
-    "node_modules/superagent/node_modules/form-data": {
-      "version": "2.5.5",
-      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.5.tgz",
-      "integrity": "sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A==",
-      "license": "MIT",
-      "dependencies": {
-        "asynckit": "^0.4.0",
-        "combined-stream": "^1.0.8",
-        "es-set-tostringtag": "^2.1.0",
-        "hasown": "^2.0.2",
-        "mime-types": "^2.1.35",
-        "safe-buffer": "^5.2.1"
-      },
-      "engines": {
-        "node": ">= 0.12"
-      }
-    },
-    "node_modules/superagent/node_modules/form-data/node_modules/safe-buffer": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
-      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ],
-      "license": "MIT"
-    },
-    "node_modules/superagent/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
-      "license": "MIT"
-    },
-    "node_modules/superagent/node_modules/mime": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
-      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
-      "license": "MIT",
-      "bin": {
-        "mime": "cli.js"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/superagent/node_modules/readable-stream": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-      "license": "MIT",
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/superagent/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "license": "MIT",
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
     "node_modules/supports-color": {
     "node_modules/supports-color": {
       "version": "8.1.1",
       "version": "8.1.1",
       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
@@ -50397,89 +49839,6 @@
         "querystring": "0.2.0"
         "querystring": "0.2.0"
       }
       }
     },
     },
-    "node_modules/swagger-converter": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/swagger-converter/-/swagger-converter-0.1.7.tgz",
-      "integrity": "sha512-O2hZbWqq8x6j0uZ4qWj5dw45WPoAxKsJLJZqOgTqRtPNi8IqA+rDkDV/48S8qanS3KGv1QcVoPNLivMbyHHdAQ==",
-      "license": "MIT",
-      "dependencies": {
-        "lodash.clonedeep": "^2.4.1"
-      }
-    },
-    "node_modules/swagger-tools": {
-      "version": "0.10.4",
-      "resolved": "https://registry.npmjs.org/swagger-tools/-/swagger-tools-0.10.4.tgz",
-      "integrity": "sha512-VQpijIi8cpB/frUZOZlVpS7U3CrdSAZBfiHu448R1njiNXUnE7heF3Svz3qFBr5SYtaPvaqWpHMbvboirCXVzA==",
-      "license": "MIT",
-      "dependencies": {
-        "async": "^2.5.0",
-        "body-parser": "1.18.2",
-        "commander": "~2.11.0",
-        "debug": "^3.1.0",
-        "js-yaml": "^3.3.1",
-        "json-refs": "^3.0.2",
-        "lodash": "^4.17.4",
-        "multer": "^1.1.0",
-        "parseurl": "^1.3.0",
-        "path-to-regexp": "^2.0.0",
-        "qs": "^6.0.3",
-        "serve-static": "^1.10.0",
-        "spark-md5": "^3.0.0",
-        "superagent": "^3.5.2",
-        "swagger-converter": "^0.1.7",
-        "traverse": "^0.6.6",
-        "z-schema": "^3.15.4"
-      },
-      "bin": {
-        "swagger-tools": "bin/swagger-tools"
-      }
-    },
-    "node_modules/swagger-tools/node_modules/argparse": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
-      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
-      "license": "MIT",
-      "dependencies": {
-        "sprintf-js": "~1.0.2"
-      }
-    },
-    "node_modules/swagger-tools/node_modules/async": {
-      "version": "2.6.4",
-      "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
-      "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
-      "license": "MIT",
-      "dependencies": {
-        "lodash": "^4.17.14"
-      }
-    },
-    "node_modules/swagger-tools/node_modules/debug": {
-      "version": "3.2.7",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
-      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
-      "license": "MIT",
-      "dependencies": {
-        "ms": "^2.1.1"
-      }
-    },
-    "node_modules/swagger-tools/node_modules/js-yaml": {
-      "version": "3.14.2",
-      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
-      "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
-      "license": "MIT",
-      "dependencies": {
-        "argparse": "^1.0.7",
-        "esprima": "^4.0.0"
-      },
-      "bin": {
-        "js-yaml": "bin/js-yaml.js"
-      }
-    },
-    "node_modules/swagger-tools/node_modules/path-to-regexp": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz",
-      "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==",
-      "license": "MIT"
-    },
     "node_modules/swr": {
     "node_modules/swr": {
       "version": "2.3.6",
       "version": "2.3.6",
       "resolved": "https://registry.npmjs.org/swr/-/swr-2.3.6.tgz",
       "resolved": "https://registry.npmjs.org/swr/-/swr-2.3.6.tgz",
@@ -54962,41 +54321,6 @@
         "node": ">=10"
         "node": ">=10"
       }
       }
     },
     },
-    "node_modules/z-schema": {
-      "version": "3.25.1",
-      "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-3.25.1.tgz",
-      "integrity": "sha512-7tDlwhrBG+oYFdXNOjILSurpfQyuVgkRe3hB2q8TEssamDHB7BbLWYkYO98nTn0FibfdFroFKDjndbgufAgS/Q==",
-      "license": "MIT",
-      "dependencies": {
-        "core-js": "^2.5.7",
-        "lodash.get": "^4.0.0",
-        "lodash.isequal": "^4.0.0",
-        "validator": "^10.0.0"
-      },
-      "bin": {
-        "z-schema": "bin/z-schema"
-      },
-      "optionalDependencies": {
-        "commander": "^2.7.1"
-      }
-    },
-    "node_modules/z-schema/node_modules/core-js": {
-      "version": "2.6.12",
-      "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
-      "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
-      "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.",
-      "hasInstallScript": true,
-      "license": "MIT"
-    },
-    "node_modules/z-schema/node_modules/validator": {
-      "version": "13.15.20",
-      "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.20.tgz",
-      "integrity": "sha512-KxPOq3V2LmfQPP4eqf3Mq/zrT0Dqp2Vmx2Bn285LwVahLc+CsxOM0crBHczm8ijlcjZ0Q5Xd6LW3z3odTPnlrw==",
-      "license": "MIT",
-      "engines": {
-        "node": ">= 0.10"
-      }
-    },
     "node_modules/zip-stream": {
     "node_modules/zip-stream": {
       "version": "4.1.0",
       "version": "4.1.0",
       "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz",
       "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz",
@@ -56005,7 +55329,6 @@
         "p-queue": "^8.1.0",
         "p-queue": "^8.1.0",
         "pg": "^8.7.1",
         "pg": "^8.7.1",
         "pg-query-stream": "^4.2.4",
         "pg-query-stream": "^4.2.4",
-        "swagger-tools": "^0.10.4",
         "temp": "^0.8.3",
         "temp": "^0.8.3",
         "throng": "^4.0.0",
         "throng": "^4.0.0",
         "tsscmp": "^1.0.6",
         "tsscmp": "^1.0.6",
@@ -56022,7 +55345,6 @@
         "mocha-multi-reporters": "^1.5.1",
         "mocha-multi-reporters": "^1.5.1",
         "node-fetch": "^2.7.0",
         "node-fetch": "^2.7.0",
         "sinon": "^9.0.2",
         "sinon": "^9.0.2",
-        "swagger-client": "^3.10.0",
         "typescript": "^5.0.4",
         "typescript": "^5.0.4",
         "yauzl": "^2.9.1"
         "yauzl": "^2.9.1"
       }
       }

+ 0 - 6
package.json

@@ -31,12 +31,6 @@
     "npm": "11.4.2"
     "npm": "11.4.2"
   },
   },
   "overrides": {
   "overrides": {
-    "swagger-tools@0.10.4": {
-      "path-to-regexp": "3.3.0",
-      "body-parser": "1.20.3",
-      "multer": "2.0.2",
-      "validator": "13.15.20"
-    },
     "request@2.88.2": {
     "request@2.88.2": {
       "tough-cookie": "5.1.2",
       "tough-cookie": "5.1.2",
       "form-data": "2.5.5"
       "form-data": "2.5.5"

+ 2 - 0
services/history-v1/.eslintignore

@@ -0,0 +1,2 @@
+archive/
+

+ 0 - 291
services/history-v1/api/swagger/index.js

@@ -1,291 +0,0 @@
-'use strict'
-
-const _ = require('lodash')
-const paths = _.reduce(
-  [require('./projects').paths, require('./project_import').paths],
-  _.extend
-)
-
-const securityDefinitions = require('./security_definitions')
-module.exports = {
-  swagger: '2.0',
-  info: {
-    title: 'Overleaf Editor API',
-    description: 'API for the Overleaf editor.',
-    version: '1.0',
-  },
-  produces: ['application/json'],
-  basePath: '/api',
-  paths,
-  securityDefinitions,
-  security: [
-    {
-      jwt: [],
-    },
-  ],
-  definitions: {
-    Project: {
-      properties: {
-        projectId: {
-          type: 'string',
-        },
-      },
-      required: ['projectId'],
-    },
-    ProjectBlobStats: {
-      properties: {
-        projectId: {
-          type: 'string',
-        },
-        textBlobBytes: {
-          type: 'integer',
-        },
-        binaryBlobBytes: {
-          type: 'integer',
-        },
-        totalBytes: {
-          type: 'integer',
-        },
-        nTextBlobs: {
-          type: 'integer',
-        },
-        nBinaryBlobs: {
-          type: 'integer',
-        },
-      },
-    },
-    File: {
-      properties: {
-        hash: {
-          type: 'string',
-        },
-        byteLength: {
-          type: 'integer',
-        },
-        stringLength: {
-          type: 'integer',
-        },
-      },
-    },
-    Label: {
-      properties: {
-        authorId: {
-          type: 'integer',
-        },
-        text: {
-          type: 'string',
-        },
-        timestamp: {
-          type: 'string',
-        },
-        version: {
-          type: 'integer',
-        },
-      },
-    },
-    Chunk: {
-      properties: {
-        history: {
-          $ref: '#/definitions/History',
-        },
-        startVersion: {
-          type: 'number',
-        },
-      },
-    },
-    ChunkResponse: {
-      properties: {
-        chunk: {
-          $ref: '#/definitions/Chunk',
-        },
-        authors: {
-          type: 'array',
-          items: {
-            $ref: '#/definitions/Author',
-          },
-        },
-      },
-    },
-    ChunkResponseRaw: {
-      properties: {
-        startVersion: {
-          type: 'number',
-        },
-        endVersion: {
-          type: 'number',
-        },
-        endTimestamp: {
-          type: 'string',
-        },
-      },
-    },
-    History: {
-      properties: {
-        snapshot: {
-          $ref: '#/definitions/Snapshot',
-        },
-        changes: {
-          type: 'array',
-          items: {
-            $ref: '#/definitions/Change',
-          },
-        },
-      },
-    },
-    Snapshot: {
-      properties: {
-        files: {
-          type: 'object',
-          additionalProperties: {
-            $ref: '#/definitions/File',
-          },
-        },
-      },
-      required: ['files'],
-    },
-    Change: {
-      properties: {
-        timestamp: {
-          type: 'string',
-        },
-        operations: {
-          type: 'array',
-          items: {
-            $ref: '#/definitions/Operation',
-          },
-        },
-        authors: {
-          type: 'array',
-          items: {
-            type: ['integer', 'null'],
-          },
-        },
-        v2Authors: {
-          type: 'array',
-          items: {
-            type: ['string', 'null'],
-          },
-        },
-        projectVersion: {
-          type: 'string',
-        },
-        v2DocVersions: {
-          type: 'object',
-          additionalProperties: {
-            $ref: '#/definitions/V2DocVersions',
-          },
-        },
-      },
-      required: ['timestamp', 'operations'],
-    },
-    V2DocVersions: {
-      properties: {
-        pathname: {
-          type: 'string',
-        },
-        v: {
-          type: 'integer',
-        },
-      },
-    },
-    ChangeRequest: {
-      properties: {
-        baseVersion: {
-          type: 'integer',
-        },
-        untransformable: {
-          type: 'boolean',
-        },
-        operations: {
-          type: 'array',
-          items: {
-            $ref: '#/definitions/Operation',
-          },
-        },
-        authors: {
-          type: 'array',
-          items: {
-            type: ['integer', 'null'],
-          },
-        },
-      },
-      required: ['baseVersion', 'operations'],
-    },
-    ChangeNote: {
-      properties: {
-        baseVersion: {
-          type: 'integer',
-        },
-        change: {
-          $ref: '#/definitions/Change',
-        },
-      },
-      required: ['baseVersion'],
-    },
-    Operation: {
-      properties: {
-        pathname: {
-          type: 'string',
-        },
-        newPathname: {
-          type: 'string',
-        },
-        blob: {
-          $ref: '#/definitions/Blob',
-        },
-        textOperation: {
-          type: 'array',
-          items: {},
-        },
-        file: {
-          $ref: '#/definitions/File',
-        },
-      },
-    },
-    Error: {
-      properties: {
-        message: {
-          type: 'string',
-        },
-      },
-      required: ['message'],
-    },
-    Blob: {
-      properties: {
-        hash: {
-          type: 'string',
-        },
-      },
-      required: ['hash'],
-    },
-    Author: {
-      properties: {
-        id: {
-          type: 'integer',
-        },
-        email: {
-          type: 'string',
-        },
-        name: {
-          type: 'string',
-        },
-      },
-      required: ['id', 'email', 'name'],
-    },
-    SyncState: {
-      properties: {
-        synced: {
-          type: 'boolean',
-        },
-      },
-    },
-    ZipInfo: {
-      properties: {
-        zipUrl: {
-          type: 'string',
-        },
-      },
-      required: ['zipUrl'],
-    },
-  },
-}

+ 0 - 219
services/history-v1/api/swagger/project_import.js

@@ -1,219 +0,0 @@
-'use strict'
-
-const importSnapshot = {
-  'x-swagger-router-controller': 'project_import',
-  operationId: 'importSnapshot',
-  tags: ['ProjectImport'],
-  description: 'Import a snapshot from the current rails app.',
-  consumes: ['application/json'],
-  parameters: [
-    {
-      name: 'project_id',
-      in: 'path',
-      description: 'project id',
-      required: true,
-      type: 'string',
-    },
-    {
-      name: 'snapshot',
-      in: 'body',
-      description: 'Snapshot to import.',
-      required: true,
-      schema: {
-        $ref: '#/definitions/Snapshot',
-      },
-    },
-  ],
-  responses: {
-    200: {
-      description: 'Imported',
-    },
-    409: {
-      description: 'Conflict: project already initialized',
-    },
-    404: {
-      description: 'No such project exists',
-    },
-  },
-  security: [
-    {
-      basic: [],
-    },
-  ],
-}
-
-const importChanges = {
-  'x-swagger-router-controller': 'project_import',
-  operationId: 'importChanges',
-  tags: ['ProjectImport'],
-  description: 'Import changes for a project from the current rails app.',
-  consumes: ['application/json'],
-  parameters: [
-    {
-      name: 'project_id',
-      in: 'path',
-      description: 'project id',
-      required: true,
-      type: 'string',
-    },
-    {
-      name: 'end_version',
-      description: 'end_version of latest persisted chunk',
-      in: 'query',
-      required: true,
-      type: 'number',
-    },
-    {
-      name: 'return_snapshot',
-      description:
-        'optionally, return a snapshot with the latest hashed content',
-      in: 'query',
-      required: false,
-      type: 'string',
-      enum: ['hashed', 'none'],
-    },
-    {
-      name: 'changes',
-      in: 'body',
-      description: 'changes to be imported',
-      required: true,
-      schema: {
-        type: 'array',
-        items: {
-          $ref: '#/definitions/Change',
-        },
-      },
-    },
-  ],
-  responses: {
-    201: {
-      description: 'Created',
-      schema: {
-        $ref: '#/definitions/Snapshot',
-      },
-    },
-  },
-  security: [
-    {
-      basic: [],
-    },
-  ],
-}
-
-const getChanges = {
-  'x-swagger-router-controller': 'projects',
-  operationId: 'getChanges',
-  tags: ['Project'],
-  description: 'Get changes applied to a project',
-  parameters: [
-    {
-      name: 'project_id',
-      in: 'path',
-      description: 'project id',
-      required: true,
-      type: 'string',
-    },
-    {
-      name: 'since',
-      in: 'query',
-      description: 'start version',
-      required: false,
-      type: 'number',
-    },
-  ],
-  responses: {
-    200: {
-      description: 'Success',
-      schema: {
-        type: 'array',
-        items: {
-          $ref: '#/definitions/Change',
-        },
-      },
-    },
-  },
-  security: [
-    {
-      basic: [],
-    },
-  ],
-}
-
-const flushChanges = {
-  'x-swagger-router-controller': 'project_import',
-  operationId: 'flushChanges',
-  tags: ['ProjectImport'],
-  description: 'Flush project changes from buffer to the chunk store.',
-  parameters: [
-    {
-      name: 'project_id',
-      in: 'path',
-      description: 'project id',
-      required: true,
-      type: 'string',
-    },
-  ],
-  responses: {
-    200: {
-      description: 'Success',
-      schema: {
-        $ref: '#/definitions/Project',
-      },
-    },
-    404: {
-      description: 'Not Found',
-      schema: {
-        $ref: '#/definitions/Error',
-      },
-    },
-  },
-  security: [
-    {
-      basic: [],
-    },
-  ],
-}
-
-const expireProject = {
-  'x-swagger-router-controller': 'project_import',
-  operationId: 'expireProject',
-  tags: ['ProjectImport'],
-  description: 'Expire project changes from buffer.',
-  parameters: [
-    {
-      name: 'project_id',
-      in: 'path',
-      description: 'project id',
-      required: true,
-      type: 'string',
-    },
-  ],
-  responses: {
-    200: {
-      description: 'Success',
-      schema: {
-        $ref: '#/definitions/Project',
-      },
-    },
-    404: {
-      description: 'Not Found',
-      schema: {
-        $ref: '#/definitions/Error',
-      },
-    },
-  },
-  security: [
-    {
-      basic: [],
-    },
-  ],
-}
-
-exports.paths = {
-  '/projects/{project_id}/import': { post: importSnapshot },
-  '/projects/{project_id}/legacy_import': { post: importSnapshot },
-  '/projects/{project_id}/changes': { get: getChanges, post: importChanges },
-  '/projects/{project_id}/legacy_changes': { post: importChanges },
-  '/projects/{project_id}/flush': { post: flushChanges },
-  '/projects/{project_id}/expire': { post: expireProject },
-}

+ 0 - 682
services/history-v1/api/swagger/projects.js

@@ -1,682 +0,0 @@
-'use strict'
-
-const Blob = require('overleaf-editor-core').Blob
-
-exports.paths = {
-  '/projects': {
-    post: {
-      'x-swagger-router-controller': 'projects',
-      operationId: 'initializeProject',
-      tags: ['Project'],
-      description: 'Initialize project.',
-      consumes: ['application/json'],
-      parameters: [
-        {
-          name: 'body',
-          in: 'body',
-          schema: {
-            type: 'object',
-            properties: {
-              projectId: { type: 'string' },
-            },
-          },
-        },
-      ],
-      responses: {
-        200: {
-          description: 'Initialized',
-          schema: {
-            $ref: '#/definitions/Project',
-          },
-        },
-      },
-      security: [
-        {
-          basic: [],
-        },
-      ],
-    },
-  },
-  '/projects/blob-stats': {
-    post: {
-      'x-swagger-router-controller': 'projects',
-      operationId: 'getProjectBlobsStats',
-      tags: ['Project'],
-      description: 'Get Blob stats for projects.',
-      consumes: ['application/json'],
-      parameters: [
-        {
-          name: 'body',
-          in: 'body',
-          schema: {
-            type: 'object',
-            properties: {
-              projectIds: {
-                type: 'array',
-                items: { type: 'string' },
-              },
-            },
-          },
-        },
-      ],
-      responses: {
-        200: {
-          description: 'Initialized',
-          schema: {
-            type: 'array',
-            items: {
-              $ref: '#/definitions/ProjectBlobStats',
-            },
-          },
-        },
-      },
-      security: [
-        {
-          basic: [],
-        },
-      ],
-    },
-  },
-  '/projects/{project_id}/blob-stats': {
-    post: {
-      'x-swagger-router-controller': 'projects',
-      operationId: 'getBlobStats',
-      tags: ['Project'],
-      description: 'Get specific blob stats for a project.',
-      consumes: ['application/json'],
-      parameters: [
-        {
-          name: 'project_id',
-          in: 'path',
-          description: 'project id',
-          required: true,
-          type: 'string',
-        },
-        {
-          name: 'body',
-          in: 'body',
-          required: true,
-          schema: {
-            type: 'object',
-            properties: {
-              blobHashes: {
-                type: 'array',
-                items: {
-                  type: 'string',
-                },
-              },
-            },
-            required: ['blobHashes'],
-          },
-        },
-      ],
-      responses: {
-        200: {
-          description: 'Success',
-          schema: {
-            $ref: '#/definitions/ProjectBlobStats',
-          },
-        },
-      },
-      security: [
-        {
-          basic: [],
-        },
-      ],
-    },
-  },
-  '/projects/{project_id}': {
-    delete: {
-      'x-swagger-router-controller': 'projects',
-      operationId: 'deleteProject',
-      tags: ['Project'],
-      description: "Delete a project's history",
-      parameters: [
-        {
-          name: 'project_id',
-          in: 'path',
-          description: 'project id',
-          required: true,
-          type: 'string',
-        },
-      ],
-      responses: {
-        204: {
-          description: 'Success',
-        },
-      },
-      security: [
-        {
-          basic: [],
-        },
-      ],
-    },
-  },
-  '/projects/{project_id}/blobs/{hash}': {
-    get: {
-      'x-swagger-router-controller': 'projects',
-      operationId: 'getProjectBlob',
-      tags: ['Project'],
-      description: 'Fetch blob content by its project id and hash.',
-      parameters: [
-        {
-          name: 'project_id',
-          in: 'path',
-          description: 'project id',
-          required: true,
-          type: 'string',
-        },
-        {
-          name: 'hash',
-          in: 'path',
-          description: 'Hexadecimal SHA-1 hash',
-          required: true,
-          type: 'string',
-          pattern: Blob.HEX_HASH_RX_STRING,
-        },
-        {
-          name: 'range',
-          in: 'header',
-          description: 'HTTP Range header',
-          required: false,
-          type: 'string',
-        },
-      ],
-      produces: ['application/octet-stream'],
-      responses: {
-        200: {
-          description: 'Success',
-          schema: {
-            type: 'file',
-          },
-        },
-        206: {
-          description: 'Success',
-          schema: {
-            type: 'file',
-          },
-        },
-        404: {
-          description: 'Not Found',
-          schema: {
-            $ref: '#/definitions/Error',
-          },
-        },
-      },
-      security: [{ jwt: [] }, { token: [] }],
-    },
-    head: {
-      'x-swagger-router-controller': 'projects',
-      operationId: 'headProjectBlob',
-      tags: ['Project'],
-      description: 'Fetch blob content-length by its project id and hash.',
-      parameters: [
-        {
-          name: 'project_id',
-          in: 'path',
-          description: 'project id',
-          required: true,
-          type: 'string',
-        },
-        {
-          name: 'hash',
-          in: 'path',
-          description: 'Hexadecimal SHA-1 hash',
-          required: true,
-          type: 'string',
-          pattern: Blob.HEX_HASH_RX_STRING,
-        },
-      ],
-      produces: ['application/octet-stream'],
-      responses: {
-        200: {
-          description: 'Success',
-          schema: {
-            type: 'file',
-          },
-        },
-        404: {
-          description: 'Not Found',
-          schema: {
-            $ref: '#/definitions/Error',
-          },
-        },
-      },
-      security: [{ jwt: [] }, { token: [] }],
-    },
-    put: {
-      'x-swagger-router-controller': 'projects',
-      operationId: 'createProjectBlob',
-      tags: ['Project'],
-      description:
-        'Create blob to be used in a file addition operation when importing a' +
-        ' snapshot or changes',
-      parameters: [
-        {
-          name: 'project_id',
-          in: 'path',
-          description: 'project id',
-          required: true,
-          type: 'string',
-        },
-        {
-          name: 'hash',
-          in: 'path',
-          description: 'Hexadecimal SHA-1 hash',
-          required: true,
-          type: 'string',
-          pattern: Blob.HEX_HASH_RX_STRING,
-        },
-      ],
-      responses: {
-        201: {
-          description: 'Created',
-        },
-      },
-    },
-    post: {
-      'x-swagger-router-controller': 'projects',
-      operationId: 'copyProjectBlob',
-      tags: ['Project'],
-      description:
-        'Copies a blob from a source project to a target project when duplicating a project',
-      parameters: [
-        {
-          name: 'project_id',
-          in: 'path',
-          description: 'target project id',
-          required: true,
-          type: 'string',
-        },
-        {
-          name: 'hash',
-          in: 'path',
-          description: 'Hexadecimal SHA-1 hash',
-          required: true,
-          type: 'string',
-          pattern: Blob.HEX_HASH_RX_STRING,
-        },
-        {
-          name: 'copyFrom',
-          in: 'query',
-          description: 'source project id',
-          required: true,
-          type: 'string',
-        },
-      ],
-      responses: {
-        201: {
-          description: 'Created',
-        },
-      },
-    },
-  },
-  '/projects/{project_id}/latest/content': {
-    get: {
-      'x-swagger-router-controller': 'projects',
-      operationId: 'getLatestContent',
-      tags: ['Project'],
-      description:
-        'Get full content of the latest version. Text file ' +
-        'content is included, but binary files are just linked by hash.',
-      parameters: [
-        {
-          name: 'project_id',
-          in: 'path',
-          description: 'project id',
-          required: true,
-          type: 'string',
-        },
-      ],
-      responses: {
-        200: {
-          description: 'Success',
-          schema: {
-            $ref: '#/definitions/Snapshot',
-          },
-        },
-        404: {
-          description: 'Not Found',
-          schema: {
-            $ref: '#/definitions/Error',
-          },
-        },
-      },
-    },
-  },
-  '/projects/{project_id}/latest/hashed_content': {
-    get: {
-      'x-swagger-router-controller': 'projects',
-      operationId: 'getLatestHashedContent',
-      tags: ['Project'],
-      description:
-        'Get a snapshot of a project at the latest version ' +
-        'with the hashes for the contents each file',
-      parameters: [
-        {
-          name: 'project_id',
-          in: 'path',
-          description: 'project id',
-          required: true,
-          type: 'string',
-        },
-      ],
-      responses: {
-        200: {
-          description: 'Success',
-          schema: {
-            $ref: '#/definitions/Snapshot',
-          },
-        },
-        404: {
-          description: 'Not Found',
-          schema: {
-            $ref: '#/definitions/Error',
-          },
-        },
-      },
-      security: [
-        {
-          basic: [],
-        },
-      ],
-    },
-  },
-  '/projects/{project_id}/latest/history': {
-    get: {
-      'x-swagger-router-controller': 'projects',
-      operationId: 'getLatestHistory',
-      tags: ['Project'],
-      description:
-        'Get the latest sequence of changes.' +
-        ' TODO probably want a configurable depth.',
-      parameters: [
-        {
-          name: 'project_id',
-          in: 'path',
-          description: 'project id',
-          required: true,
-          type: 'string',
-        },
-      ],
-      responses: {
-        200: {
-          description: 'Success',
-          schema: {
-            $ref: '#/definitions/ChunkResponse',
-          },
-        },
-        404: {
-          description: 'Not Found',
-          schema: {
-            $ref: '#/definitions/Error',
-          },
-        },
-      },
-    },
-  },
-  '/projects/{project_id}/latest/history/raw': {
-    get: {
-      'x-swagger-router-controller': 'projects',
-      operationId: 'getLatestHistoryRaw',
-      tags: ['Project'],
-      description: 'Get the metadata of latest sequence of changes.',
-      parameters: [
-        {
-          name: 'project_id',
-          in: 'path',
-          description: 'project id',
-          required: true,
-          type: 'string',
-        },
-        {
-          name: 'readOnly',
-          in: 'query',
-          description: 'use read only database connection',
-          required: false,
-          type: 'boolean',
-        },
-      ],
-      responses: {
-        200: {
-          description: 'Success',
-          schema: {
-            $ref: '#/definitions/ChunkResponseRaw',
-          },
-        },
-        404: {
-          description: 'Not Found',
-          schema: {
-            $ref: '#/definitions/Error',
-          },
-        },
-      },
-    },
-  },
-  '/projects/{project_id}/latest/persistedHistory': {
-    get: {
-      'x-swagger-router-controller': 'projects',
-      operationId: 'getLatestPersistedHistory',
-      tags: ['Project'],
-      description: 'Get the latest sequence of changes.',
-      parameters: [
-        {
-          name: 'project_id',
-          in: 'path',
-          description: 'project id',
-          required: true,
-          type: 'string',
-        },
-      ],
-      responses: {
-        200: {
-          description: 'Success',
-          schema: {
-            $ref: '#/definitions/ChunkResponse',
-          },
-        },
-        404: {
-          description: 'Not Found',
-          schema: {
-            $ref: '#/definitions/Error',
-          },
-        },
-      },
-    },
-  },
-
-  '/projects/{project_id}/versions/{version}/history': {
-    get: {
-      'x-swagger-router-controller': 'projects',
-      operationId: 'getHistory',
-      tags: ['Project'],
-      description:
-        'Get the sequence of changes that includes the given version.',
-      parameters: [
-        {
-          name: 'project_id',
-          in: 'path',
-          description: 'project id',
-          required: true,
-          type: 'string',
-        },
-        {
-          name: 'version',
-          in: 'path',
-          description: 'numeric version',
-          required: true,
-          type: 'number',
-        },
-      ],
-      responses: {
-        200: {
-          description: 'Success',
-          schema: {
-            $ref: '#/definitions/ChunkResponse',
-          },
-        },
-        404: {
-          description: 'Not Found',
-          schema: {
-            $ref: '#/definitions/Error',
-          },
-        },
-      },
-    },
-  },
-  '/projects/{project_id}/versions/{version}/content': {
-    get: {
-      'x-swagger-router-controller': 'projects',
-      operationId: 'getContentAtVersion',
-      tags: ['Project'],
-      description: 'Get full content at the given version',
-      parameters: [
-        {
-          name: 'project_id',
-          in: 'path',
-          description: 'project id',
-          required: true,
-          type: 'string',
-        },
-        {
-          name: 'version',
-          in: 'path',
-          description: 'numeric version',
-          required: true,
-          type: 'number',
-        },
-      ],
-      responses: {
-        200: {
-          description: 'Success',
-          schema: {
-            $ref: '#/definitions/Snapshot',
-          },
-        },
-        404: {
-          description: 'Not Found',
-          schema: {
-            $ref: '#/definitions/Error',
-          },
-        },
-      },
-    },
-  },
-  '/projects/{project_id}/timestamp/{timestamp}/history': {
-    get: {
-      'x-swagger-router-controller': 'projects',
-      operationId: 'getHistoryBefore',
-      tags: ['Project'],
-      description:
-        'Get the sequence of changes. ' + ' before the given timestamp',
-      parameters: [
-        {
-          name: 'project_id',
-          in: 'path',
-          description: 'project id',
-          required: true,
-          type: 'string',
-        },
-        {
-          name: 'timestamp',
-          in: 'path',
-          description: 'timestamp',
-          required: true,
-          type: 'string',
-          format: 'date-time',
-        },
-      ],
-      responses: {
-        200: {
-          description: 'Success',
-          schema: {
-            $ref: '#/definitions/ChunkResponse',
-          },
-        },
-        404: {
-          description: 'Not Found',
-          schema: {
-            $ref: '#/definitions/Error',
-          },
-        },
-      },
-    },
-  },
-  '/projects/{project_id}/version/{version}/zip': {
-    get: {
-      'x-swagger-router-controller': 'projects',
-      operationId: 'getZip',
-      tags: ['Project'],
-      description: 'Download zip with project content',
-      parameters: [
-        {
-          name: 'project_id',
-          in: 'path',
-          description: 'project id',
-          required: true,
-          type: 'string',
-        },
-        {
-          name: 'version',
-          in: 'path',
-          description: 'numeric version',
-          required: true,
-          type: 'number',
-        },
-      ],
-      produces: ['application/octet-stream'],
-      responses: {
-        200: {
-          description: 'success',
-        },
-        404: {
-          description: 'not found',
-        },
-      },
-      security: [
-        {
-          token: [],
-        },
-      ],
-    },
-    post: {
-      'x-swagger-router-controller': 'projects',
-      operationId: 'createZip',
-      tags: ['Project'],
-      description:
-        'Create a zip file with project content. Returns a link to be polled.',
-      parameters: [
-        {
-          name: 'project_id',
-          in: 'path',
-          description: 'project id',
-          required: true,
-          type: 'string',
-        },
-        {
-          name: 'version',
-          in: 'path',
-          description: 'numeric version',
-          required: true,
-          type: 'number',
-        },
-      ],
-      responses: {
-        200: {
-          description: 'success',
-          schema: {
-            $ref: '#/definitions/ZipInfo',
-          },
-        },
-        404: {
-          description: 'not found',
-        },
-      },
-      security: [
-        {
-          basic: [],
-        },
-      ],
-    },
-  },
-}

+ 0 - 17
services/history-v1/api/swagger/security_definitions.js

@@ -1,17 +0,0 @@
-'use strict'
-
-module.exports = {
-  jwt: {
-    type: 'apiKey',
-    in: 'header',
-    name: 'authorization',
-  },
-  basic: {
-    type: 'basic',
-  },
-  token: {
-    type: 'apiKey',
-    in: 'query',
-    name: 'token',
-  },
-}

+ 0 - 2
services/history-v1/package.json

@@ -41,7 +41,6 @@
     "p-queue": "^8.1.0",
     "p-queue": "^8.1.0",
     "pg": "^8.7.1",
     "pg": "^8.7.1",
     "pg-query-stream": "^4.2.4",
     "pg-query-stream": "^4.2.4",
-    "swagger-tools": "^0.10.4",
     "temp": "^0.8.3",
     "temp": "^0.8.3",
     "throng": "^4.0.0",
     "throng": "^4.0.0",
     "tsscmp": "^1.0.6",
     "tsscmp": "^1.0.6",
@@ -58,7 +57,6 @@
     "mocha-multi-reporters": "^1.5.1",
     "mocha-multi-reporters": "^1.5.1",
     "node-fetch": "^2.7.0",
     "node-fetch": "^2.7.0",
     "sinon": "^9.0.2",
     "sinon": "^9.0.2",
-    "swagger-client": "^3.10.0",
     "typescript": "^5.0.4",
     "typescript": "^5.0.4",
     "yauzl": "^2.9.1"
     "yauzl": "^2.9.1"
   },
   },