diff --git a/.nvmrc b/.nvmrc
index 02c8b485edb59f33b87925eb10034e2e07bf4af2..87ec8842b158d213e0477ba0129281a484b9d47d 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-18.18.0
+18.18.2
diff --git a/package.json b/package.json
index f2c712a6cb8ba1925f1442f84f4ae2bedf6652d5..b34ea9512c80aa89d6b9f751fa1b2b0ef3c38ecc 100644
--- a/package.json
+++ b/package.json
@@ -293,7 +293,7 @@
     "@types/mdast": "3.0.14",
     "@types/moo": "0.5.8",
     "@types/nock": "10.0.3",
-    "@types/node": "18.17.5",
+    "@types/node": "18.18.8",
     "@types/parse-link-header": "2.0.2",
     "@types/prettier": "2.7.3",
     "@types/semver": "7.5.4",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 9f910a0f75a795e7d4c1897c8b6d9e11d045c463..7c00af50b2c5174c8d12a371207da60b741b3cfb 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -449,8 +449,8 @@ importers:
         specifier: 10.0.3
         version: 10.0.3
       '@types/node':
-        specifier: 18.17.5
-        version: 18.17.5
+        specifier: 18.18.8
+        version: 18.18.8
       '@types/parse-link-header':
         specifier: 2.0.2
         version: 2.0.2
@@ -546,7 +546,7 @@ importers:
         version: 8.0.3
       jest:
         specifier: 29.7.0
-        version: 29.7.0(@types/node@18.17.5)(ts-node@10.9.1)
+        version: 29.7.0(@types/node@18.18.8)(ts-node@10.9.1)
       jest-extended:
         specifier: 4.0.2
         version: 4.0.2(jest@29.7.0)
@@ -594,7 +594,7 @@ importers:
         version: 29.1.1(@babel/core@7.23.2)(@jest/types@29.6.3)(jest@29.7.0)(typescript@5.1.6)
       ts-node:
         specifier: 10.9.1
-        version: 10.9.1(@swc/core@1.3.95)(@types/node@18.17.5)(typescript@5.1.6)
+        version: 10.9.1(@swc/core@1.3.95)(@types/node@18.18.8)(typescript@5.1.6)
       type-fest:
         specifier: 4.6.0
         version: 4.6.0
@@ -2031,7 +2031,7 @@ packages:
     engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
     dependencies:
       '@jest/types': 29.6.3
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
       chalk: 4.1.2
       jest-message-util: 29.7.0
       jest-util: 29.7.0
@@ -2052,14 +2052,14 @@ packages:
       '@jest/test-result': 29.7.0
       '@jest/transform': 29.7.0
       '@jest/types': 29.6.3
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
       ansi-escapes: 4.3.2
       chalk: 4.1.2
       ci-info: 3.9.0
       exit: 0.1.2
       graceful-fs: 4.2.11
       jest-changed-files: 29.7.0
-      jest-config: 29.7.0(@types/node@18.17.5)(ts-node@10.9.1)
+      jest-config: 29.7.0(@types/node@18.18.8)(ts-node@10.9.1)
       jest-haste-map: 29.7.0
       jest-message-util: 29.7.0
       jest-regex-util: 29.6.3
@@ -2087,7 +2087,7 @@ packages:
     dependencies:
       '@jest/fake-timers': 29.7.0
       '@jest/types': 29.6.3
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
       jest-mock: 29.7.0
     dev: true
 
@@ -2121,7 +2121,7 @@ packages:
     dependencies:
       '@jest/types': 29.6.3
       '@sinonjs/fake-timers': 10.3.0
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
       jest-message-util: 29.7.0
       jest-mock: 29.7.0
       jest-util: 29.7.0
@@ -2154,7 +2154,7 @@ packages:
       '@jest/transform': 29.7.0
       '@jest/types': 29.6.3
       '@jridgewell/trace-mapping': 0.3.20
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
       chalk: 4.1.2
       collect-v8-coverage: 1.0.2
       exit: 0.1.2
@@ -2242,7 +2242,7 @@ packages:
       '@jest/schemas': 29.6.3
       '@types/istanbul-lib-coverage': 2.0.5
       '@types/istanbul-reports': 3.0.3
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
       '@types/yargs': 17.0.29
       chalk: 4.1.2
     dev: true
@@ -3656,7 +3656,7 @@ packages:
   /@types/aws4@1.11.5:
     resolution: {integrity: sha512-UBercs8+U9+KAGq3eDIB7+qKVbjxayzwit5Xw+UfRBWgNolGh8PZwCjLn5ILqgVSSTnIJDktGHTsFfOA2kGjkA==}
     dependencies:
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
     dev: true
 
   /@types/babel__core@7.20.3:
@@ -3695,19 +3695,19 @@ packages:
   /@types/bunyan@1.8.10:
     resolution: {integrity: sha512-A82U/3EAdWX89f+dfysGiRvbeoLuRLV3i6SLg3HuNK4Yf+dHOqdbxT70vQUwvD3DOr2Dvpcv9dRX4ipTf0LpEg==}
     dependencies:
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
     dev: true
 
   /@types/bunyan@1.8.9:
     resolution: {integrity: sha512-ZqS9JGpBxVOvsawzmVt30sP++gSQMTejCkIAQ3VdadOcRE8izTyW66hufvwLeH+YEGP6Js2AW7Gz+RMyvrEbmw==}
     dependencies:
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
     dev: false
 
   /@types/cacache@17.0.1:
     resolution: {integrity: sha512-UE0nmwT8EGT8aZNYXh4xNemW2n45zPMdAxc4fKee5fqTML+XcZCq/CwFvVu3wpQm9QHxL6XQsxE5hgVqJ7S9ZA==}
     dependencies:
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
     dev: true
 
   /@types/cacheable-request@6.0.3:
@@ -3715,7 +3715,7 @@ packages:
     dependencies:
       '@types/http-cache-semantics': 4.0.3
       '@types/keyv': 3.1.4
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
       '@types/responselike': 1.0.2
     dev: false
 
@@ -3762,7 +3762,7 @@ packages:
     resolution: {integrity: sha512-sF59BlXtUdzEAL1u0MSvuzWd7PdZvZEtnaVkzX5mjpdWTJ8brG0jUqve3jPCzSzvAKKMHTG8F8o/WMQLtleZdQ==}
     dependencies:
       '@types/jsonfile': 6.1.3
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
     dev: true
 
   /@types/git-url-parse@9.0.2:
@@ -3780,7 +3780,7 @@ packages:
   /@types/graceful-fs@4.1.8:
     resolution: {integrity: sha512-NhRH7YzWq8WiNKVavKPBmtLYZHxNY19Hh+az28O/phfp68CF45pMFud+ZzJ8ewnxnC5smIdF3dqFeiSUQ5I+pw==}
     dependencies:
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
     dev: true
 
   /@types/http-cache-semantics@4.0.3:
@@ -3826,13 +3826,13 @@ packages:
   /@types/jsonfile@6.1.3:
     resolution: {integrity: sha512-/yqTk2SZ1wIezK0hiRZD7RuSf4B3whFxFamB1kGStv+8zlWScTMcHanzfc0XKWs5vA1TkHeckBlOyM8jxU8nHA==}
     dependencies:
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
     dev: true
 
   /@types/keyv@3.1.4:
     resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
     dependencies:
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
     dev: false
 
   /@types/linkify-it@3.0.4:
@@ -3865,7 +3865,7 @@ packages:
   /@types/marshal@0.5.2:
     resolution: {integrity: sha512-nnLVRVfde/iHWBe0ziFuE4Tc9Pnzlfghn2/vbGaTf4nDmuh9NBqGr2waZmoYGynUWVf15MrNc/IU5YH3J1VGbw==}
     dependencies:
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
     dev: true
 
   /@types/mdast@3.0.14:
@@ -3896,11 +3896,13 @@ packages:
   /@types/nock@10.0.3:
     resolution: {integrity: sha512-OthuN+2FuzfZO3yONJ/QVjKmLEuRagS9TV9lEId+WHL9KhftYG+/2z+pxlr0UgVVXSpVD8woie/3fzQn8ft/Ow==}
     dependencies:
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
     dev: true
 
-  /@types/node@18.17.5:
-    resolution: {integrity: sha512-xNbS75FxH6P4UXTPUJp/zNPq6/xsfdJKussCWNOnz4aULWIRwMgP1LgaB5RiBnMX1DPCYenuqGZfnIAx5mbFLA==}
+  /@types/node@18.18.8:
+    resolution: {integrity: sha512-OLGBaaK5V3VRBS1bAkMVP2/W9B+H8meUfl866OrMNQqt7wDgdpWPp5o6gmIc9pB+lIQHSq4ZL8ypeH1vPxcPaQ==}
+    dependencies:
+      undici-types: 5.26.5
 
   /@types/normalize-package-data@2.4.3:
     resolution: {integrity: sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg==}
@@ -3916,7 +3918,7 @@ packages:
   /@types/responselike@1.0.2:
     resolution: {integrity: sha512-/4YQT5Kp6HxUDb4yhRkm0bJ7TbjvTddqX7PZ5hz6qV3pxSo72f/6YPRo+Mu2DU307tm9IioO69l7uAwn5XNcFA==}
     dependencies:
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
     dev: false
 
   /@types/semver-stable@3.0.1:
@@ -3951,7 +3953,7 @@ packages:
   /@types/tar@6.1.7:
     resolution: {integrity: sha512-57ovoJf/lFhugSbDqDgpulTfm78uwO0Pa3EwgO3Op2IAIDZaDE4Z/orZ2yl25QRr8NQa1xjms9ElcoHx4pUedQ==}
     dependencies:
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
       minipass: 4.2.8
     dev: true
 
@@ -3996,7 +3998,7 @@ packages:
     resolution: {integrity: sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==}
     requiresBuild: true
     dependencies:
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
     dev: false
     optional: true
 
@@ -5189,7 +5191,7 @@ packages:
       typescript: 5.1.6
     dev: true
 
-  /create-jest@29.7.0(@types/node@18.17.5)(ts-node@10.9.1):
+  /create-jest@29.7.0(@types/node@18.18.8)(ts-node@10.9.1):
     resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==}
     engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
     hasBin: true
@@ -5198,7 +5200,7 @@ packages:
       chalk: 4.1.2
       exit: 0.1.2
       graceful-fs: 4.2.11
-      jest-config: 29.7.0(@types/node@18.17.5)(ts-node@10.9.1)
+      jest-config: 29.7.0(@types/node@18.18.8)(ts-node@10.9.1)
       jest-util: 29.7.0
       prompts: 2.4.2
     transitivePeerDependencies:
@@ -5841,7 +5843,7 @@ packages:
       '@typescript-eslint/eslint-plugin': 6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.52.0)(typescript@5.1.6)
       '@typescript-eslint/utils': 5.62.0(eslint@8.52.0)(typescript@5.1.6)
       eslint: 8.52.0
-      jest: 29.7.0(@types/node@18.17.5)(ts-node@10.9.1)
+      jest: 29.7.0(@types/node@18.18.8)(ts-node@10.9.1)
     transitivePeerDependencies:
       - supports-color
       - typescript
@@ -7285,7 +7287,7 @@ packages:
       '@jest/expect': 29.7.0
       '@jest/test-result': 29.7.0
       '@jest/types': 29.6.3
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
       chalk: 4.1.2
       co: 4.6.0
       dedent: 1.5.1
@@ -7306,7 +7308,7 @@ packages:
       - supports-color
     dev: true
 
-  /jest-cli@29.7.0(@types/node@18.17.5)(ts-node@10.9.1):
+  /jest-cli@29.7.0(@types/node@18.18.8)(ts-node@10.9.1):
     resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==}
     engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
     hasBin: true
@@ -7320,10 +7322,10 @@ packages:
       '@jest/test-result': 29.7.0
       '@jest/types': 29.6.3
       chalk: 4.1.2
-      create-jest: 29.7.0(@types/node@18.17.5)(ts-node@10.9.1)
+      create-jest: 29.7.0(@types/node@18.18.8)(ts-node@10.9.1)
       exit: 0.1.2
       import-local: 3.1.0
-      jest-config: 29.7.0(@types/node@18.17.5)(ts-node@10.9.1)
+      jest-config: 29.7.0(@types/node@18.18.8)(ts-node@10.9.1)
       jest-util: 29.7.0
       jest-validate: 29.7.0
       yargs: 17.7.2
@@ -7334,7 +7336,7 @@ packages:
       - ts-node
     dev: true
 
-  /jest-config@29.7.0(@types/node@18.17.5)(ts-node@10.9.1):
+  /jest-config@29.7.0(@types/node@18.18.8)(ts-node@10.9.1):
     resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==}
     engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
     peerDependencies:
@@ -7349,7 +7351,7 @@ packages:
       '@babel/core': 7.23.2
       '@jest/test-sequencer': 29.7.0
       '@jest/types': 29.6.3
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
       babel-jest: 29.7.0(@babel/core@7.23.2)
       chalk: 4.1.2
       ci-info: 3.9.0
@@ -7369,7 +7371,7 @@ packages:
       pretty-format: 29.7.0
       slash: 3.0.0
       strip-json-comments: 3.1.1
-      ts-node: 10.9.1(@swc/core@1.3.95)(@types/node@18.17.5)(typescript@5.1.6)
+      ts-node: 10.9.1(@swc/core@1.3.95)(@types/node@18.18.8)(typescript@5.1.6)
     transitivePeerDependencies:
       - babel-plugin-macros
       - supports-color
@@ -7410,7 +7412,7 @@ packages:
       '@jest/environment': 29.7.0
       '@jest/fake-timers': 29.7.0
       '@jest/types': 29.6.3
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
       jest-mock: 29.7.0
       jest-util: 29.7.0
     dev: true
@@ -7424,7 +7426,7 @@ packages:
       jest:
         optional: true
     dependencies:
-      jest: 29.7.0(@types/node@18.17.5)(ts-node@10.9.1)
+      jest: 29.7.0(@types/node@18.18.8)(ts-node@10.9.1)
       jest-diff: 29.7.0
       jest-get-type: 29.6.3
     dev: true
@@ -7440,7 +7442,7 @@ packages:
     dependencies:
       '@jest/types': 29.6.3
       '@types/graceful-fs': 4.1.8
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
       anymatch: 3.1.3
       fb-watchman: 2.0.2
       graceful-fs: 4.2.11
@@ -7502,7 +7504,7 @@ packages:
       jest: ^24.0.0 || ^25.0.0 || ^26.0.0 || ^27.0.0 || ^28.0.0 || ^29.0.0
       typescript: ^3.0.0 || ^4.0.0 || ^5.0.0
     dependencies:
-      jest: 29.7.0(@types/node@18.17.5)(ts-node@10.9.1)
+      jest: 29.7.0(@types/node@18.18.8)(ts-node@10.9.1)
       ts-essentials: 7.0.3(typescript@5.1.6)
       typescript: 5.1.6
     dev: true
@@ -7512,7 +7514,7 @@ packages:
     engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
     dependencies:
       '@jest/types': 29.6.3
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
       jest-util: 29.7.0
     dev: true
 
@@ -7567,7 +7569,7 @@ packages:
       '@jest/test-result': 29.7.0
       '@jest/transform': 29.7.0
       '@jest/types': 29.6.3
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
       chalk: 4.1.2
       emittery: 0.13.1
       graceful-fs: 4.2.11
@@ -7598,7 +7600,7 @@ packages:
       '@jest/test-result': 29.7.0
       '@jest/transform': 29.7.0
       '@jest/types': 29.6.3
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
       chalk: 4.1.2
       cjs-module-lexer: 1.2.3
       collect-v8-coverage: 1.0.2
@@ -7650,7 +7652,7 @@ packages:
     engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
     dependencies:
       '@jest/types': 29.6.3
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
       chalk: 4.1.2
       ci-info: 3.9.0
       graceful-fs: 4.2.11
@@ -7675,7 +7677,7 @@ packages:
     dependencies:
       '@jest/test-result': 29.7.0
       '@jest/types': 29.6.3
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
       ansi-escapes: 4.3.2
       chalk: 4.1.2
       emittery: 0.13.1
@@ -7687,13 +7689,13 @@ packages:
     resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==}
     engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
     dependencies:
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
       jest-util: 29.7.0
       merge-stream: 2.0.0
       supports-color: 8.1.1
     dev: true
 
-  /jest@29.7.0(@types/node@18.17.5)(ts-node@10.9.1):
+  /jest@29.7.0(@types/node@18.18.8)(ts-node@10.9.1):
     resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==}
     engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
     hasBin: true
@@ -7706,7 +7708,7 @@ packages:
       '@jest/core': 29.7.0(ts-node@10.9.1)
       '@jest/types': 29.6.3
       import-local: 3.1.0
-      jest-cli: 29.7.0(@types/node@18.17.5)(ts-node@10.9.1)
+      jest-cli: 29.7.0(@types/node@18.18.8)(ts-node@10.9.1)
     transitivePeerDependencies:
       - '@types/node'
       - babel-plugin-macros
@@ -10383,7 +10385,7 @@ packages:
       '@jest/types': 29.6.3
       bs-logger: 0.2.6
       fast-json-stable-stringify: 2.1.0
-      jest: 29.7.0(@types/node@18.17.5)(ts-node@10.9.1)
+      jest: 29.7.0(@types/node@18.18.8)(ts-node@10.9.1)
       jest-util: 29.7.0
       json5: 2.2.3
       lodash.memoize: 4.1.2
@@ -10393,7 +10395,7 @@ packages:
       yargs-parser: 21.1.1
     dev: true
 
-  /ts-node@10.9.1(@swc/core@1.3.95)(@types/node@18.17.5)(typescript@5.1.6):
+  /ts-node@10.9.1(@swc/core@1.3.95)(@types/node@18.18.8)(typescript@5.1.6):
     resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==}
     hasBin: true
     peerDependencies:
@@ -10413,7 +10415,7 @@ packages:
       '@tsconfig/node12': 1.0.11
       '@tsconfig/node14': 1.0.3
       '@tsconfig/node16': 1.0.4
-      '@types/node': 18.17.5
+      '@types/node': 18.18.8
       acorn: 8.11.2
       acorn-walk: 8.3.0
       arg: 4.1.3
@@ -10599,6 +10601,9 @@ packages:
     resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==}
     dev: false
 
+  /undici-types@5.26.5:
+    resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+
   /undici@5.27.2:
     resolution: {integrity: sha512-iS857PdOEy/y3wlM3yRp+6SNQQ6xU0mmZcwRSriqk+et/cwWAtwmIGf6WkoDN2EK/AMdCO/dfXzIwi+rFMrjjQ==}
     engines: {node: '>=14.0'}