@venos-inc/venos 0.1.13 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1428) hide show
  1. package/README.md +11 -6
  2. package/dist/index.js +80 -66
  3. package/etc/mcp-server/bin.js +2 -9
  4. package/etc/mcp-server/client.js +129 -27
  5. package/etc/mcp-server/node_modules/@babel/core/node_modules/.bin/json5 +2 -2
  6. package/etc/mcp-server/node_modules/@babel/core/node_modules/.bin/parser +2 -2
  7. package/etc/mcp-server/node_modules/@babel/core/node_modules/.bin/semver +2 -2
  8. package/etc/mcp-server/node_modules/@babel/generator/node_modules/.bin/jsesc +2 -2
  9. package/etc/mcp-server/node_modules/@babel/generator/node_modules/.bin/parser +2 -2
  10. package/etc/mcp-server/node_modules/@babel/helper-compilation-targets/node_modules/.bin/browserslist +2 -2
  11. package/etc/mcp-server/node_modules/@babel/helper-compilation-targets/node_modules/.bin/semver +2 -2
  12. package/etc/mcp-server/node_modules/@babel/template/node_modules/.bin/parser +2 -2
  13. package/etc/mcp-server/node_modules/@babel/traverse/node_modules/.bin/parser +2 -2
  14. package/etc/mcp-server/node_modules/@eslint/eslintrc/node_modules/.bin/js-yaml +2 -2
  15. package/etc/mcp-server/node_modules/@eslint-community/eslint-utils/node_modules/.bin/eslint +2 -2
  16. package/etc/mcp-server/node_modules/@fastify/busboy/LICENSE +19 -0
  17. package/etc/mcp-server/node_modules/@fastify/busboy/README.md +271 -0
  18. package/etc/mcp-server/node_modules/@fastify/busboy/deps/dicer/LICENSE +19 -0
  19. package/etc/mcp-server/node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js +213 -0
  20. package/etc/mcp-server/node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js +100 -0
  21. package/etc/mcp-server/node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js +13 -0
  22. package/etc/mcp-server/node_modules/@fastify/busboy/deps/dicer/lib/dicer.d.ts +164 -0
  23. package/etc/mcp-server/node_modules/@fastify/busboy/deps/streamsearch/sbmh.js +228 -0
  24. package/etc/mcp-server/node_modules/@fastify/busboy/lib/main.d.ts +196 -0
  25. package/etc/mcp-server/node_modules/@fastify/busboy/lib/main.js +85 -0
  26. package/etc/mcp-server/node_modules/@fastify/busboy/lib/types/multipart.js +306 -0
  27. package/etc/mcp-server/node_modules/@fastify/busboy/lib/types/urlencoded.js +190 -0
  28. package/etc/mcp-server/node_modules/@fastify/busboy/lib/utils/Decoder.js +54 -0
  29. package/etc/mcp-server/node_modules/@fastify/busboy/lib/utils/basename.js +14 -0
  30. package/etc/mcp-server/node_modules/@fastify/busboy/lib/utils/decodeText.js +114 -0
  31. package/etc/mcp-server/node_modules/@fastify/busboy/lib/utils/getLimit.js +16 -0
  32. package/etc/mcp-server/node_modules/@fastify/busboy/lib/utils/parseParams.js +196 -0
  33. package/etc/mcp-server/node_modules/@fastify/busboy/package.json +86 -0
  34. package/etc/mcp-server/node_modules/@isaacs/cliui/LICENSE.txt +14 -0
  35. package/etc/mcp-server/node_modules/@isaacs/cliui/README.md +143 -0
  36. package/etc/mcp-server/node_modules/@isaacs/cliui/build/index.cjs +317 -0
  37. package/etc/mcp-server/node_modules/@isaacs/cliui/build/index.d.cts +43 -0
  38. package/etc/mcp-server/node_modules/@isaacs/cliui/build/lib/index.js +302 -0
  39. package/etc/mcp-server/node_modules/@isaacs/cliui/index.mjs +14 -0
  40. package/etc/mcp-server/node_modules/@isaacs/cliui/package.json +86 -0
  41. package/etc/mcp-server/node_modules/@types/babel__core/node_modules/.bin/parser +2 -2
  42. package/etc/mcp-server/node_modules/@types/babel__template/node_modules/.bin/parser +2 -2
  43. package/etc/mcp-server/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/eslint +2 -2
  44. package/etc/mcp-server/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/tsc +2 -2
  45. package/etc/mcp-server/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/tsserver +2 -2
  46. package/etc/mcp-server/node_modules/@typescript-eslint/parser/node_modules/.bin/eslint +2 -2
  47. package/etc/mcp-server/node_modules/@typescript-eslint/parser/node_modules/.bin/tsc +2 -2
  48. package/etc/mcp-server/node_modules/@typescript-eslint/parser/node_modules/.bin/tsserver +2 -2
  49. package/etc/mcp-server/node_modules/@typescript-eslint/project-service/node_modules/.bin/tsc +2 -2
  50. package/etc/mcp-server/node_modules/@typescript-eslint/project-service/node_modules/.bin/tsserver +2 -2
  51. package/etc/mcp-server/node_modules/@typescript-eslint/tsconfig-utils/node_modules/.bin/tsc +2 -2
  52. package/etc/mcp-server/node_modules/@typescript-eslint/tsconfig-utils/node_modules/.bin/tsserver +2 -2
  53. package/etc/mcp-server/node_modules/@typescript-eslint/type-utils/node_modules/.bin/eslint +2 -2
  54. package/etc/mcp-server/node_modules/@typescript-eslint/type-utils/node_modules/.bin/tsc +2 -2
  55. package/etc/mcp-server/node_modules/@typescript-eslint/type-utils/node_modules/.bin/tsserver +2 -2
  56. package/etc/mcp-server/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/semver +2 -2
  57. package/etc/mcp-server/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/tsc +2 -2
  58. package/etc/mcp-server/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/tsserver +2 -2
  59. package/etc/mcp-server/node_modules/@typescript-eslint/utils/node_modules/.bin/eslint +2 -2
  60. package/etc/mcp-server/node_modules/@typescript-eslint/utils/node_modules/.bin/tsc +2 -2
  61. package/etc/mcp-server/node_modules/@typescript-eslint/utils/node_modules/.bin/tsserver +2 -2
  62. package/etc/mcp-server/node_modules/@vitest/mocker/node_modules/.bin/vite +2 -2
  63. package/etc/mcp-server/node_modules/acorn-jsx/node_modules/.bin/acorn +2 -2
  64. package/etc/mcp-server/node_modules/ansi-regex/index.d.ts +33 -0
  65. package/etc/mcp-server/node_modules/ansi-regex/index.js +14 -0
  66. package/etc/mcp-server/node_modules/{bl/LICENSE.md → ansi-regex/license} +2 -6
  67. package/etc/mcp-server/node_modules/ansi-regex/package.json +61 -0
  68. package/etc/mcp-server/node_modules/ansi-regex/readme.md +66 -0
  69. package/etc/mcp-server/node_modules/ansi-styles/index.d.ts +232 -341
  70. package/etc/mcp-server/node_modules/ansi-styles/index.js +190 -130
  71. package/etc/mcp-server/node_modules/ansi-styles/license +1 -1
  72. package/etc/mcp-server/node_modules/ansi-styles/package.json +8 -10
  73. package/etc/mcp-server/node_modules/ansi-styles/readme.md +53 -32
  74. package/etc/mcp-server/node_modules/async/CHANGELOG.md +351 -0
  75. package/etc/mcp-server/node_modules/async/LICENSE +19 -0
  76. package/etc/mcp-server/node_modules/async/README.md +59 -0
  77. package/etc/mcp-server/node_modules/async/all.js +119 -0
  78. package/etc/mcp-server/node_modules/async/allLimit.js +46 -0
  79. package/etc/mcp-server/node_modules/async/allSeries.js +45 -0
  80. package/etc/mcp-server/node_modules/async/any.js +122 -0
  81. package/etc/mcp-server/node_modules/async/anyLimit.js +47 -0
  82. package/etc/mcp-server/node_modules/async/anySeries.js +46 -0
  83. package/etc/mcp-server/node_modules/async/apply.js +11 -0
  84. package/etc/mcp-server/node_modules/async/applyEach.js +57 -0
  85. package/etc/mcp-server/node_modules/async/applyEachSeries.js +37 -0
  86. package/etc/mcp-server/node_modules/async/asyncify.js +118 -0
  87. package/etc/mcp-server/node_modules/async/auto.js +333 -0
  88. package/etc/mcp-server/node_modules/async/autoInject.js +182 -0
  89. package/etc/mcp-server/node_modules/async/bower.json +17 -0
  90. package/etc/mcp-server/node_modules/async/cargo.js +63 -0
  91. package/etc/mcp-server/node_modules/async/cargoQueue.js +71 -0
  92. package/etc/mcp-server/node_modules/async/compose.js +55 -0
  93. package/etc/mcp-server/node_modules/async/concat.js +115 -0
  94. package/etc/mcp-server/node_modules/async/concatLimit.js +60 -0
  95. package/etc/mcp-server/node_modules/async/concatSeries.js +41 -0
  96. package/etc/mcp-server/node_modules/async/constant.js +14 -0
  97. package/etc/mcp-server/node_modules/async/detect.js +96 -0
  98. package/etc/mcp-server/node_modules/async/detectLimit.js +48 -0
  99. package/etc/mcp-server/node_modules/async/detectSeries.js +47 -0
  100. package/etc/mcp-server/node_modules/async/dir.js +43 -0
  101. package/etc/mcp-server/node_modules/async/dist/async.js +6061 -0
  102. package/etc/mcp-server/node_modules/async/dist/async.min.js +1 -0
  103. package/etc/mcp-server/node_modules/async/dist/async.mjs +5948 -0
  104. package/etc/mcp-server/node_modules/async/doDuring.js +68 -0
  105. package/etc/mcp-server/node_modules/async/doUntil.js +46 -0
  106. package/etc/mcp-server/node_modules/async/doWhilst.js +68 -0
  107. package/etc/mcp-server/node_modules/async/during.js +78 -0
  108. package/etc/mcp-server/node_modules/async/each.js +129 -0
  109. package/etc/mcp-server/node_modules/async/eachLimit.js +50 -0
  110. package/etc/mcp-server/node_modules/async/eachOf.js +185 -0
  111. package/etc/mcp-server/node_modules/async/eachOfLimit.js +47 -0
  112. package/etc/mcp-server/node_modules/async/eachOfSeries.js +39 -0
  113. package/etc/mcp-server/node_modules/async/eachSeries.js +44 -0
  114. package/etc/mcp-server/node_modules/async/ensureAsync.js +67 -0
  115. package/etc/mcp-server/node_modules/async/every.js +119 -0
  116. package/etc/mcp-server/node_modules/async/everyLimit.js +46 -0
  117. package/etc/mcp-server/node_modules/async/everySeries.js +45 -0
  118. package/etc/mcp-server/node_modules/async/filter.js +93 -0
  119. package/etc/mcp-server/node_modules/async/filterLimit.js +45 -0
  120. package/etc/mcp-server/node_modules/async/filterSeries.js +43 -0
  121. package/etc/mcp-server/node_modules/async/find.js +96 -0
  122. package/etc/mcp-server/node_modules/async/findLimit.js +48 -0
  123. package/etc/mcp-server/node_modules/async/findSeries.js +47 -0
  124. package/etc/mcp-server/node_modules/async/flatMap.js +115 -0
  125. package/etc/mcp-server/node_modules/async/flatMapLimit.js +60 -0
  126. package/etc/mcp-server/node_modules/async/flatMapSeries.js +41 -0
  127. package/etc/mcp-server/node_modules/async/foldl.js +153 -0
  128. package/etc/mcp-server/node_modules/async/foldr.js +41 -0
  129. package/etc/mcp-server/node_modules/async/forEach.js +129 -0
  130. package/etc/mcp-server/node_modules/async/forEachLimit.js +50 -0
  131. package/etc/mcp-server/node_modules/async/forEachOf.js +185 -0
  132. package/etc/mcp-server/node_modules/async/forEachOfLimit.js +47 -0
  133. package/etc/mcp-server/node_modules/async/forEachOfSeries.js +39 -0
  134. package/etc/mcp-server/node_modules/async/forEachSeries.js +44 -0
  135. package/etc/mcp-server/node_modules/async/forever.js +68 -0
  136. package/etc/mcp-server/node_modules/async/groupBy.js +108 -0
  137. package/etc/mcp-server/node_modules/async/groupByLimit.js +71 -0
  138. package/etc/mcp-server/node_modules/async/groupBySeries.js +36 -0
  139. package/etc/mcp-server/node_modules/async/index.js +588 -0
  140. package/etc/mcp-server/node_modules/async/inject.js +153 -0
  141. package/etc/mcp-server/node_modules/async/internal/DoublyLinkedList.js +92 -0
  142. package/etc/mcp-server/node_modules/async/internal/Heap.js +120 -0
  143. package/etc/mcp-server/node_modules/async/internal/applyEach.js +29 -0
  144. package/etc/mcp-server/node_modules/async/internal/asyncEachOfLimit.js +75 -0
  145. package/etc/mcp-server/node_modules/async/internal/awaitify.js +28 -0
  146. package/etc/mcp-server/node_modules/async/internal/breakLoop.js +10 -0
  147. package/etc/mcp-server/node_modules/async/internal/consoleFunc.js +31 -0
  148. package/etc/mcp-server/node_modules/async/internal/createTester.js +40 -0
  149. package/etc/mcp-server/node_modules/async/internal/eachOfLimit.js +90 -0
  150. package/etc/mcp-server/node_modules/async/internal/filter.js +55 -0
  151. package/etc/mcp-server/node_modules/async/internal/getIterator.js +11 -0
  152. package/etc/mcp-server/node_modules/async/internal/initialParams.js +14 -0
  153. package/etc/mcp-server/node_modules/async/internal/isArrayLike.js +10 -0
  154. package/etc/mcp-server/node_modules/async/internal/iterator.js +57 -0
  155. package/etc/mcp-server/node_modules/async/internal/map.js +30 -0
  156. package/etc/mcp-server/node_modules/async/internal/once.js +17 -0
  157. package/etc/mcp-server/node_modules/async/internal/onlyOnce.js +15 -0
  158. package/etc/mcp-server/node_modules/async/internal/parallel.js +34 -0
  159. package/etc/mcp-server/node_modules/async/internal/promiseCallback.js +23 -0
  160. package/etc/mcp-server/node_modules/async/internal/queue.js +294 -0
  161. package/etc/mcp-server/node_modules/async/internal/range.js +14 -0
  162. package/etc/mcp-server/node_modules/async/internal/reject.js +26 -0
  163. package/etc/mcp-server/node_modules/async/internal/setImmediate.js +34 -0
  164. package/etc/mcp-server/node_modules/async/internal/withoutIndex.js +10 -0
  165. package/etc/mcp-server/node_modules/async/internal/wrapAsync.js +34 -0
  166. package/etc/mcp-server/node_modules/async/log.js +41 -0
  167. package/etc/mcp-server/node_modules/async/map.js +142 -0
  168. package/etc/mcp-server/node_modules/async/mapLimit.js +45 -0
  169. package/etc/mcp-server/node_modules/async/mapSeries.js +44 -0
  170. package/etc/mcp-server/node_modules/async/mapValues.js +152 -0
  171. package/etc/mcp-server/node_modules/async/mapValuesLimit.js +61 -0
  172. package/etc/mcp-server/node_modules/async/mapValuesSeries.js +37 -0
  173. package/etc/mcp-server/node_modules/async/memoize.js +91 -0
  174. package/etc/mcp-server/node_modules/async/nextTick.js +52 -0
  175. package/etc/mcp-server/node_modules/async/package.json +75 -0
  176. package/etc/mcp-server/node_modules/async/parallel.js +180 -0
  177. package/etc/mcp-server/node_modules/async/parallelLimit.js +41 -0
  178. package/etc/mcp-server/node_modules/async/priorityQueue.js +60 -0
  179. package/etc/mcp-server/node_modules/async/queue.js +24 -0
  180. package/etc/mcp-server/node_modules/async/race.js +67 -0
  181. package/etc/mcp-server/node_modules/async/reduce.js +153 -0
  182. package/etc/mcp-server/node_modules/async/reduceRight.js +41 -0
  183. package/etc/mcp-server/node_modules/async/reflect.js +78 -0
  184. package/etc/mcp-server/node_modules/async/reflectAll.js +93 -0
  185. package/etc/mcp-server/node_modules/async/reject.js +87 -0
  186. package/etc/mcp-server/node_modules/async/rejectLimit.js +45 -0
  187. package/etc/mcp-server/node_modules/async/rejectSeries.js +43 -0
  188. package/etc/mcp-server/node_modules/async/retry.js +159 -0
  189. package/etc/mcp-server/node_modules/async/retryable.js +77 -0
  190. package/etc/mcp-server/node_modules/async/select.js +93 -0
  191. package/etc/mcp-server/node_modules/async/selectLimit.js +45 -0
  192. package/etc/mcp-server/node_modules/async/selectSeries.js +43 -0
  193. package/etc/mcp-server/node_modules/async/seq.js +79 -0
  194. package/etc/mcp-server/node_modules/async/series.js +186 -0
  195. package/etc/mcp-server/node_modules/async/setImmediate.js +45 -0
  196. package/etc/mcp-server/node_modules/async/some.js +122 -0
  197. package/etc/mcp-server/node_modules/async/someLimit.js +47 -0
  198. package/etc/mcp-server/node_modules/async/someSeries.js +46 -0
  199. package/etc/mcp-server/node_modules/async/sortBy.js +190 -0
  200. package/etc/mcp-server/node_modules/async/timeout.js +89 -0
  201. package/etc/mcp-server/node_modules/async/times.js +50 -0
  202. package/etc/mcp-server/node_modules/async/timesLimit.js +43 -0
  203. package/etc/mcp-server/node_modules/async/timesSeries.js +32 -0
  204. package/etc/mcp-server/node_modules/async/transform.js +173 -0
  205. package/etc/mcp-server/node_modules/async/tryEach.js +78 -0
  206. package/etc/mcp-server/node_modules/async/unmemoize.js +25 -0
  207. package/etc/mcp-server/node_modules/async/until.js +61 -0
  208. package/etc/mcp-server/node_modules/async/waterfall.js +105 -0
  209. package/etc/mcp-server/node_modules/async/whilst.js +78 -0
  210. package/etc/mcp-server/node_modules/async/wrapSync.js +118 -0
  211. package/etc/mcp-server/node_modules/atomic-sleep/.travis.yml +11 -0
  212. package/etc/mcp-server/node_modules/atomic-sleep/LICENSE +22 -0
  213. package/etc/mcp-server/node_modules/atomic-sleep/index.js +38 -0
  214. package/etc/mcp-server/node_modules/atomic-sleep/package.json +37 -0
  215. package/etc/mcp-server/node_modules/atomic-sleep/readme.md +58 -0
  216. package/etc/mcp-server/node_modules/atomic-sleep/test.js +47 -0
  217. package/etc/mcp-server/node_modules/b4a/LICENSE +201 -0
  218. package/etc/mcp-server/node_modules/b4a/README.md +153 -0
  219. package/etc/mcp-server/node_modules/b4a/browser.js +541 -0
  220. package/etc/mcp-server/node_modules/b4a/index.js +188 -0
  221. package/etc/mcp-server/node_modules/b4a/lib/ascii.js +31 -0
  222. package/etc/mcp-server/node_modules/b4a/lib/base64.js +64 -0
  223. package/etc/mcp-server/node_modules/b4a/lib/hex.js +51 -0
  224. package/etc/mcp-server/node_modules/b4a/lib/latin1.js +31 -0
  225. package/etc/mcp-server/node_modules/b4a/lib/utf16le.js +40 -0
  226. package/etc/mcp-server/node_modules/b4a/lib/utf8.js +144 -0
  227. package/etc/mcp-server/node_modules/b4a/package.json +51 -0
  228. package/etc/mcp-server/node_modules/b4a/react-native.js +5 -0
  229. package/etc/mcp-server/node_modules/bare-events/LICENSE +201 -0
  230. package/etc/mcp-server/node_modules/bare-events/README.md +25 -0
  231. package/etc/mcp-server/node_modules/bare-events/global.d.ts +15 -0
  232. package/etc/mcp-server/node_modules/bare-events/global.js +5 -0
  233. package/etc/mcp-server/node_modules/bare-events/index.d.ts +85 -0
  234. package/etc/mcp-server/node_modules/bare-events/index.js +378 -0
  235. package/etc/mcp-server/node_modules/bare-events/lib/errors.js +26 -0
  236. package/etc/mcp-server/node_modules/bare-events/package.json +63 -0
  237. package/etc/mcp-server/node_modules/bare-events/web.d.ts +79 -0
  238. package/etc/mcp-server/node_modules/bare-events/web.js +353 -0
  239. package/etc/mcp-server/node_modules/bare-fs/CMakeLists.txt +13 -0
  240. package/etc/mcp-server/node_modules/bare-fs/LICENSE +201 -0
  241. package/etc/mcp-server/node_modules/bare-fs/README.md +989 -0
  242. package/etc/mcp-server/node_modules/bare-fs/binding.c +2889 -0
  243. package/etc/mcp-server/node_modules/bare-fs/binding.js +1 -0
  244. package/etc/mcp-server/node_modules/bare-fs/index.d.ts +1232 -0
  245. package/etc/mcp-server/node_modules/bare-fs/index.js +2842 -0
  246. package/etc/mcp-server/node_modules/bare-fs/lib/constants.d.ts +49 -0
  247. package/etc/mcp-server/node_modules/bare-fs/lib/constants.js +49 -0
  248. package/etc/mcp-server/node_modules/bare-fs/lib/errors.d.ts +11 -0
  249. package/etc/mcp-server/node_modules/bare-fs/lib/errors.js +55 -0
  250. package/etc/mcp-server/node_modules/bare-fs/package.json +74 -0
  251. package/etc/mcp-server/node_modules/bare-fs/prebuilds/android-arm/bare-fs.bare +0 -0
  252. package/etc/mcp-server/node_modules/bare-fs/prebuilds/android-arm64/bare-fs.bare +0 -0
  253. package/etc/mcp-server/node_modules/bare-fs/prebuilds/android-ia32/bare-fs.bare +0 -0
  254. package/etc/mcp-server/node_modules/bare-fs/prebuilds/android-x64/bare-fs.bare +0 -0
  255. package/etc/mcp-server/node_modules/bare-fs/prebuilds/darwin-arm64/bare-fs.bare +0 -0
  256. package/etc/mcp-server/node_modules/bare-fs/prebuilds/darwin-x64/bare-fs.bare +0 -0
  257. package/etc/mcp-server/node_modules/bare-fs/prebuilds/ios-arm64/bare-fs.bare +0 -0
  258. package/etc/mcp-server/node_modules/bare-fs/prebuilds/ios-arm64-simulator/bare-fs.bare +0 -0
  259. package/etc/mcp-server/node_modules/bare-fs/prebuilds/ios-x64-simulator/bare-fs.bare +0 -0
  260. package/etc/mcp-server/node_modules/bare-fs/prebuilds/linux-arm64/bare-fs.bare +0 -0
  261. package/etc/mcp-server/node_modules/bare-fs/prebuilds/linux-x64/bare-fs.bare +0 -0
  262. package/etc/mcp-server/node_modules/bare-fs/prebuilds/win32-arm64/bare-fs.bare +0 -0
  263. package/etc/mcp-server/node_modules/bare-fs/prebuilds/win32-x64/bare-fs.bare +0 -0
  264. package/etc/mcp-server/node_modules/bare-fs/promises.d.ts +313 -0
  265. package/etc/mcp-server/node_modules/bare-fs/promises.js +119 -0
  266. package/etc/mcp-server/node_modules/bare-os/CMakeLists.txt +13 -0
  267. package/etc/mcp-server/node_modules/bare-os/LICENSE +201 -0
  268. package/etc/mcp-server/node_modules/bare-os/README.md +252 -0
  269. package/etc/mcp-server/node_modules/bare-os/binding.c +1535 -0
  270. package/etc/mcp-server/node_modules/bare-os/binding.js +1 -0
  271. package/etc/mcp-server/node_modules/bare-os/index.d.ts +150 -0
  272. package/etc/mcp-server/node_modules/bare-os/index.js +252 -0
  273. package/etc/mcp-server/node_modules/bare-os/lib/constants.d.ts +7 -0
  274. package/etc/mcp-server/node_modules/bare-os/lib/constants.js +7 -0
  275. package/etc/mcp-server/node_modules/bare-os/lib/errors.d.ts +5 -0
  276. package/etc/mcp-server/node_modules/bare-os/lib/errors.js +22 -0
  277. package/etc/mcp-server/node_modules/bare-os/package.json +55 -0
  278. package/etc/mcp-server/node_modules/bare-os/prebuilds/android-arm/bare-os.bare +0 -0
  279. package/etc/mcp-server/node_modules/bare-os/prebuilds/android-arm64/bare-os.bare +0 -0
  280. package/etc/mcp-server/node_modules/bare-os/prebuilds/android-ia32/bare-os.bare +0 -0
  281. package/etc/mcp-server/node_modules/bare-os/prebuilds/android-x64/bare-os.bare +0 -0
  282. package/etc/mcp-server/node_modules/bare-os/prebuilds/darwin-arm64/bare-os.bare +0 -0
  283. package/etc/mcp-server/node_modules/bare-os/prebuilds/darwin-x64/bare-os.bare +0 -0
  284. package/etc/mcp-server/node_modules/bare-os/prebuilds/ios-arm64/bare-os.bare +0 -0
  285. package/etc/mcp-server/node_modules/bare-os/prebuilds/ios-arm64-simulator/bare-os.bare +0 -0
  286. package/etc/mcp-server/node_modules/bare-os/prebuilds/ios-x64-simulator/bare-os.bare +0 -0
  287. package/etc/mcp-server/node_modules/bare-os/prebuilds/linux-arm64/bare-os.bare +0 -0
  288. package/etc/mcp-server/node_modules/bare-os/prebuilds/linux-x64/bare-os.bare +0 -0
  289. package/etc/mcp-server/node_modules/bare-os/prebuilds/win32-arm64/bare-os.bare +0 -0
  290. package/etc/mcp-server/node_modules/bare-os/prebuilds/win32-x64/bare-os.bare +0 -0
  291. package/etc/mcp-server/node_modules/bare-path/LICENSE +201 -0
  292. package/etc/mcp-server/node_modules/bare-path/NOTICE +28 -0
  293. package/etc/mcp-server/node_modules/bare-path/README.md +19 -0
  294. package/etc/mcp-server/node_modules/bare-path/index.d.ts +27 -0
  295. package/etc/mcp-server/node_modules/bare-path/index.js +9 -0
  296. package/etc/mcp-server/node_modules/bare-path/lib/constants.js +11 -0
  297. package/etc/mcp-server/node_modules/bare-path/lib/posix.js +246 -0
  298. package/etc/mcp-server/node_modules/bare-path/lib/shared.js +73 -0
  299. package/etc/mcp-server/node_modules/bare-path/lib/win32.js +547 -0
  300. package/etc/mcp-server/node_modules/bare-path/package.json +44 -0
  301. package/etc/mcp-server/node_modules/bare-stream/LICENSE +201 -0
  302. package/etc/mcp-server/node_modules/bare-stream/README.md +354 -0
  303. package/etc/mcp-server/node_modules/bare-stream/global.d.ts +31 -0
  304. package/etc/mcp-server/node_modules/bare-stream/global.js +15 -0
  305. package/etc/mcp-server/node_modules/bare-stream/index.d.ts +235 -0
  306. package/etc/mcp-server/node_modules/bare-stream/index.js +493 -0
  307. package/etc/mcp-server/node_modules/bare-stream/package.json +75 -0
  308. package/etc/mcp-server/node_modules/bare-stream/promises.js +3 -0
  309. package/etc/mcp-server/node_modules/bare-stream/web.d.ts +152 -0
  310. package/etc/mcp-server/node_modules/bare-stream/web.js +607 -0
  311. package/etc/mcp-server/node_modules/bare-url/CMakeLists.txt +27 -0
  312. package/etc/mcp-server/node_modules/bare-url/LICENSE +201 -0
  313. package/etc/mcp-server/node_modules/bare-url/README.md +172 -0
  314. package/etc/mcp-server/node_modules/bare-url/binding.c +186 -0
  315. package/etc/mcp-server/node_modules/bare-url/binding.js +1 -0
  316. package/etc/mcp-server/node_modules/bare-url/global.d.ts +12 -0
  317. package/etc/mcp-server/node_modules/bare-url/global.js +2 -0
  318. package/etc/mcp-server/node_modules/bare-url/index.d.ts +41 -0
  319. package/etc/mcp-server/node_modules/bare-url/index.js +411 -0
  320. package/etc/mcp-server/node_modules/bare-url/lib/errors.d.ts +10 -0
  321. package/etc/mcp-server/node_modules/bare-url/lib/errors.js +33 -0
  322. package/etc/mcp-server/node_modules/bare-url/lib/url-search-params.d.ts +23 -0
  323. package/etc/mcp-server/node_modules/bare-url/lib/url-search-params.js +194 -0
  324. package/etc/mcp-server/node_modules/bare-url/package.json +54 -0
  325. package/etc/mcp-server/node_modules/bare-url/prebuilds/android-arm/bare-url.bare +0 -0
  326. package/etc/mcp-server/node_modules/bare-url/prebuilds/android-arm64/bare-url.bare +0 -0
  327. package/etc/mcp-server/node_modules/bare-url/prebuilds/android-ia32/bare-url.bare +0 -0
  328. package/etc/mcp-server/node_modules/bare-url/prebuilds/android-x64/bare-url.bare +0 -0
  329. package/etc/mcp-server/node_modules/bare-url/prebuilds/darwin-arm64/bare-url.bare +0 -0
  330. package/etc/mcp-server/node_modules/bare-url/prebuilds/darwin-x64/bare-url.bare +0 -0
  331. package/etc/mcp-server/node_modules/bare-url/prebuilds/ios-arm64/bare-url.bare +0 -0
  332. package/etc/mcp-server/node_modules/bare-url/prebuilds/ios-arm64-simulator/bare-url.bare +0 -0
  333. package/etc/mcp-server/node_modules/bare-url/prebuilds/ios-x64-simulator/bare-url.bare +0 -0
  334. package/etc/mcp-server/node_modules/bare-url/prebuilds/linux-arm64/bare-url.bare +0 -0
  335. package/etc/mcp-server/node_modules/bare-url/prebuilds/linux-x64/bare-url.bare +0 -0
  336. package/etc/mcp-server/node_modules/bare-url/prebuilds/win32-arm64/bare-url.bare +0 -0
  337. package/etc/mcp-server/node_modules/bare-url/prebuilds/win32-x64/bare-url.bare +0 -0
  338. package/etc/mcp-server/node_modules/brace-expansion/.github/FUNDING.yml +2 -0
  339. package/etc/mcp-server/node_modules/brace-expansion/index.js +86 -84
  340. package/etc/mcp-server/node_modules/browserslist/node_modules/.bin/baseline-browser-mapping +2 -2
  341. package/etc/mcp-server/node_modules/browserslist/node_modules/.bin/update-browserslist-db +2 -2
  342. package/etc/mcp-server/node_modules/buffer/AUTHORS.md +3 -0
  343. package/etc/mcp-server/node_modules/buffer/README.md +1 -1
  344. package/etc/mcp-server/node_modules/buffer/index.d.ts +11 -3
  345. package/etc/mcp-server/node_modules/buffer/index.js +424 -135
  346. package/etc/mcp-server/node_modules/buffer/package.json +8 -11
  347. package/etc/mcp-server/node_modules/cliui/CHANGELOG.md +139 -0
  348. package/etc/mcp-server/node_modules/cliui/LICENSE.txt +14 -0
  349. package/etc/mcp-server/node_modules/cliui/README.md +141 -0
  350. package/etc/mcp-server/node_modules/cliui/build/index.cjs +302 -0
  351. package/etc/mcp-server/node_modules/cliui/build/index.d.cts +43 -0
  352. package/etc/mcp-server/node_modules/cliui/build/lib/index.js +287 -0
  353. package/etc/mcp-server/node_modules/cliui/build/lib/string-utils.js +27 -0
  354. package/etc/mcp-server/node_modules/cliui/index.mjs +13 -0
  355. package/etc/mcp-server/node_modules/cliui/package.json +83 -0
  356. package/etc/mcp-server/node_modules/core-util-is/LICENSE +19 -0
  357. package/etc/mcp-server/node_modules/core-util-is/README.md +3 -0
  358. package/etc/mcp-server/node_modules/core-util-is/lib/util.js +107 -0
  359. package/etc/mcp-server/node_modules/core-util-is/package.json +38 -0
  360. package/etc/mcp-server/node_modules/cross-spawn/node_modules/.bin/node-which +2 -2
  361. package/etc/mcp-server/node_modules/eastasianwidth/README.md +32 -0
  362. package/etc/mcp-server/node_modules/eastasianwidth/eastasianwidth.js +311 -0
  363. package/etc/mcp-server/node_modules/eastasianwidth/package.json +18 -0
  364. package/etc/mcp-server/node_modules/{bindings/LICENSE.md → emoji-regex/LICENSE-MIT.txt} +8 -10
  365. package/etc/mcp-server/node_modules/emoji-regex/README.md +137 -0
  366. package/etc/mcp-server/node_modules/emoji-regex/RGI_Emoji.d.ts +5 -0
  367. package/etc/mcp-server/node_modules/emoji-regex/RGI_Emoji.js +6 -0
  368. package/etc/mcp-server/node_modules/emoji-regex/es2015/RGI_Emoji.d.ts +5 -0
  369. package/etc/mcp-server/node_modules/emoji-regex/es2015/RGI_Emoji.js +6 -0
  370. package/etc/mcp-server/node_modules/emoji-regex/es2015/index.d.ts +5 -0
  371. package/etc/mcp-server/node_modules/emoji-regex/es2015/index.js +6 -0
  372. package/etc/mcp-server/node_modules/emoji-regex/es2015/text.d.ts +5 -0
  373. package/etc/mcp-server/node_modules/emoji-regex/es2015/text.js +6 -0
  374. package/etc/mcp-server/node_modules/emoji-regex/index.d.ts +5 -0
  375. package/etc/mcp-server/node_modules/emoji-regex/index.js +6 -0
  376. package/etc/mcp-server/node_modules/emoji-regex/package.json +52 -0
  377. package/etc/mcp-server/node_modules/emoji-regex/text.d.ts +5 -0
  378. package/etc/mcp-server/node_modules/emoji-regex/text.js +6 -0
  379. package/etc/mcp-server/node_modules/espree/node_modules/.bin/acorn +2 -2
  380. package/etc/mcp-server/node_modules/events-universal/LICENSE +201 -0
  381. package/etc/mcp-server/node_modules/events-universal/README.md +17 -0
  382. package/etc/mcp-server/node_modules/events-universal/bare.js +1 -0
  383. package/etc/mcp-server/node_modules/events-universal/default.js +1 -0
  384. package/etc/mcp-server/node_modules/events-universal/index.js +1 -0
  385. package/etc/mcp-server/node_modules/events-universal/package.json +39 -0
  386. package/etc/mcp-server/node_modules/events-universal/react-native.js +1 -0
  387. package/etc/mcp-server/node_modules/{fs-constants → fast-fifo}/LICENSE +1 -1
  388. package/etc/mcp-server/node_modules/fast-fifo/README.md +78 -0
  389. package/etc/mcp-server/node_modules/fast-fifo/fixed-size.js +39 -0
  390. package/etc/mcp-server/node_modules/fast-fifo/index.js +48 -0
  391. package/etc/mcp-server/node_modules/fast-fifo/package.json +28 -0
  392. package/etc/mcp-server/node_modules/{chownr → foreground-child}/LICENSE +1 -1
  393. package/etc/mcp-server/node_modules/foreground-child/README.md +128 -0
  394. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/all-signals.d.ts +2 -0
  395. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/all-signals.d.ts.map +1 -0
  396. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/all-signals.js +58 -0
  397. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/all-signals.js.map +1 -0
  398. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/index.d.ts +58 -0
  399. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/index.d.ts.map +1 -0
  400. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/index.js +123 -0
  401. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/index.js.map +1 -0
  402. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/package.json +3 -0
  403. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/proxy-signals.d.ts +6 -0
  404. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/proxy-signals.d.ts.map +1 -0
  405. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/proxy-signals.js +38 -0
  406. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/proxy-signals.js.map +1 -0
  407. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/watchdog.d.ts +10 -0
  408. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/watchdog.d.ts.map +1 -0
  409. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/watchdog.js +50 -0
  410. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/watchdog.js.map +1 -0
  411. package/etc/mcp-server/node_modules/foreground-child/dist/esm/all-signals.d.ts +2 -0
  412. package/etc/mcp-server/node_modules/foreground-child/dist/esm/all-signals.d.ts.map +1 -0
  413. package/etc/mcp-server/node_modules/foreground-child/dist/esm/all-signals.js +52 -0
  414. package/etc/mcp-server/node_modules/foreground-child/dist/esm/all-signals.js.map +1 -0
  415. package/etc/mcp-server/node_modules/foreground-child/dist/esm/index.d.ts +58 -0
  416. package/etc/mcp-server/node_modules/foreground-child/dist/esm/index.d.ts.map +1 -0
  417. package/etc/mcp-server/node_modules/foreground-child/dist/esm/index.js +115 -0
  418. package/etc/mcp-server/node_modules/foreground-child/dist/esm/index.js.map +1 -0
  419. package/etc/mcp-server/node_modules/foreground-child/dist/esm/package.json +3 -0
  420. package/etc/mcp-server/node_modules/foreground-child/dist/esm/proxy-signals.d.ts +6 -0
  421. package/etc/mcp-server/node_modules/foreground-child/dist/esm/proxy-signals.d.ts.map +1 -0
  422. package/etc/mcp-server/node_modules/foreground-child/dist/esm/proxy-signals.js +34 -0
  423. package/etc/mcp-server/node_modules/foreground-child/dist/esm/proxy-signals.js.map +1 -0
  424. package/etc/mcp-server/node_modules/foreground-child/dist/esm/watchdog.d.ts +10 -0
  425. package/etc/mcp-server/node_modules/foreground-child/dist/esm/watchdog.d.ts.map +1 -0
  426. package/etc/mcp-server/node_modules/foreground-child/dist/esm/watchdog.js +46 -0
  427. package/etc/mcp-server/node_modules/foreground-child/dist/esm/watchdog.js.map +1 -0
  428. package/etc/mcp-server/node_modules/foreground-child/package.json +106 -0
  429. package/etc/mcp-server/node_modules/get-caller-file/LICENSE.md +6 -0
  430. package/etc/mcp-server/node_modules/get-caller-file/README.md +41 -0
  431. package/etc/mcp-server/node_modules/get-caller-file/index.d.ts +2 -0
  432. package/etc/mcp-server/node_modules/get-caller-file/index.js +22 -0
  433. package/etc/mcp-server/node_modules/get-caller-file/index.js.map +1 -0
  434. package/etc/mcp-server/node_modules/get-caller-file/package.json +42 -0
  435. package/etc/mcp-server/node_modules/glob/LICENSE +15 -0
  436. package/etc/mcp-server/node_modules/glob/README.md +1265 -0
  437. package/etc/mcp-server/node_modules/glob/dist/commonjs/glob.d.ts +388 -0
  438. package/etc/mcp-server/node_modules/glob/dist/commonjs/glob.d.ts.map +1 -0
  439. package/etc/mcp-server/node_modules/glob/dist/commonjs/glob.js +247 -0
  440. package/etc/mcp-server/node_modules/glob/dist/commonjs/glob.js.map +1 -0
  441. package/etc/mcp-server/node_modules/glob/dist/commonjs/has-magic.d.ts +14 -0
  442. package/etc/mcp-server/node_modules/glob/dist/commonjs/has-magic.d.ts.map +1 -0
  443. package/etc/mcp-server/node_modules/glob/dist/commonjs/has-magic.js +27 -0
  444. package/etc/mcp-server/node_modules/glob/dist/commonjs/has-magic.js.map +1 -0
  445. package/etc/mcp-server/node_modules/glob/dist/commonjs/ignore.d.ts +24 -0
  446. package/etc/mcp-server/node_modules/glob/dist/commonjs/ignore.d.ts.map +1 -0
  447. package/etc/mcp-server/node_modules/glob/dist/commonjs/ignore.js +119 -0
  448. package/etc/mcp-server/node_modules/glob/dist/commonjs/ignore.js.map +1 -0
  449. package/etc/mcp-server/node_modules/glob/dist/commonjs/index.d.ts +97 -0
  450. package/etc/mcp-server/node_modules/glob/dist/commonjs/index.d.ts.map +1 -0
  451. package/etc/mcp-server/node_modules/glob/dist/commonjs/index.js +68 -0
  452. package/etc/mcp-server/node_modules/glob/dist/commonjs/index.js.map +1 -0
  453. package/etc/mcp-server/node_modules/glob/dist/commonjs/package.json +3 -0
  454. package/etc/mcp-server/node_modules/glob/dist/commonjs/pattern.d.ts +76 -0
  455. package/etc/mcp-server/node_modules/glob/dist/commonjs/pattern.d.ts.map +1 -0
  456. package/etc/mcp-server/node_modules/glob/dist/commonjs/pattern.js +219 -0
  457. package/etc/mcp-server/node_modules/glob/dist/commonjs/pattern.js.map +1 -0
  458. package/etc/mcp-server/node_modules/glob/dist/commonjs/processor.d.ts +59 -0
  459. package/etc/mcp-server/node_modules/glob/dist/commonjs/processor.d.ts.map +1 -0
  460. package/etc/mcp-server/node_modules/glob/dist/commonjs/processor.js +301 -0
  461. package/etc/mcp-server/node_modules/glob/dist/commonjs/processor.js.map +1 -0
  462. package/etc/mcp-server/node_modules/glob/dist/commonjs/walker.d.ts +97 -0
  463. package/etc/mcp-server/node_modules/glob/dist/commonjs/walker.d.ts.map +1 -0
  464. package/etc/mcp-server/node_modules/glob/dist/commonjs/walker.js +387 -0
  465. package/etc/mcp-server/node_modules/glob/dist/commonjs/walker.js.map +1 -0
  466. package/etc/mcp-server/node_modules/glob/dist/esm/bin.d.mts +3 -0
  467. package/etc/mcp-server/node_modules/glob/dist/esm/bin.d.mts.map +1 -0
  468. package/etc/mcp-server/node_modules/glob/dist/esm/bin.mjs +346 -0
  469. package/etc/mcp-server/node_modules/glob/dist/esm/bin.mjs.map +1 -0
  470. package/etc/mcp-server/node_modules/glob/dist/esm/glob.d.ts +388 -0
  471. package/etc/mcp-server/node_modules/glob/dist/esm/glob.d.ts.map +1 -0
  472. package/etc/mcp-server/node_modules/glob/dist/esm/glob.js +243 -0
  473. package/etc/mcp-server/node_modules/glob/dist/esm/glob.js.map +1 -0
  474. package/etc/mcp-server/node_modules/glob/dist/esm/has-magic.d.ts +14 -0
  475. package/etc/mcp-server/node_modules/glob/dist/esm/has-magic.d.ts.map +1 -0
  476. package/etc/mcp-server/node_modules/glob/dist/esm/has-magic.js +23 -0
  477. package/etc/mcp-server/node_modules/glob/dist/esm/has-magic.js.map +1 -0
  478. package/etc/mcp-server/node_modules/glob/dist/esm/ignore.d.ts +24 -0
  479. package/etc/mcp-server/node_modules/glob/dist/esm/ignore.d.ts.map +1 -0
  480. package/etc/mcp-server/node_modules/glob/dist/esm/ignore.js +115 -0
  481. package/etc/mcp-server/node_modules/glob/dist/esm/ignore.js.map +1 -0
  482. package/etc/mcp-server/node_modules/glob/dist/esm/index.d.ts +97 -0
  483. package/etc/mcp-server/node_modules/glob/dist/esm/index.d.ts.map +1 -0
  484. package/etc/mcp-server/node_modules/glob/dist/esm/index.js +55 -0
  485. package/etc/mcp-server/node_modules/glob/dist/esm/index.js.map +1 -0
  486. package/etc/mcp-server/node_modules/glob/dist/esm/package.json +3 -0
  487. package/etc/mcp-server/node_modules/glob/dist/esm/pattern.d.ts +76 -0
  488. package/etc/mcp-server/node_modules/glob/dist/esm/pattern.d.ts.map +1 -0
  489. package/etc/mcp-server/node_modules/glob/dist/esm/pattern.js +215 -0
  490. package/etc/mcp-server/node_modules/glob/dist/esm/pattern.js.map +1 -0
  491. package/etc/mcp-server/node_modules/glob/dist/esm/processor.d.ts +59 -0
  492. package/etc/mcp-server/node_modules/glob/dist/esm/processor.d.ts.map +1 -0
  493. package/etc/mcp-server/node_modules/glob/dist/esm/processor.js +294 -0
  494. package/etc/mcp-server/node_modules/glob/dist/esm/processor.js.map +1 -0
  495. package/etc/mcp-server/node_modules/glob/dist/esm/walker.d.ts +97 -0
  496. package/etc/mcp-server/node_modules/glob/dist/esm/walker.d.ts.map +1 -0
  497. package/etc/mcp-server/node_modules/glob/dist/esm/walker.js +381 -0
  498. package/etc/mcp-server/node_modules/glob/dist/esm/walker.js.map +1 -0
  499. package/etc/mcp-server/node_modules/glob/package.json +99 -0
  500. package/etc/mcp-server/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
  501. package/etc/mcp-server/node_modules/is-fullwidth-code-point/index.js +50 -0
  502. package/etc/mcp-server/node_modules/is-fullwidth-code-point/license +9 -0
  503. package/etc/mcp-server/node_modules/is-fullwidth-code-point/package.json +42 -0
  504. package/etc/mcp-server/node_modules/is-fullwidth-code-point/readme.md +39 -0
  505. package/etc/mcp-server/node_modules/{tar-fs → isarray}/.travis.yml +2 -4
  506. package/etc/mcp-server/node_modules/isarray/Makefile +6 -0
  507. package/etc/mcp-server/node_modules/isarray/README.md +60 -0
  508. package/etc/mcp-server/node_modules/isarray/component.json +19 -0
  509. package/etc/mcp-server/node_modules/isarray/index.js +5 -0
  510. package/etc/mcp-server/node_modules/isarray/package.json +45 -0
  511. package/etc/mcp-server/node_modules/isarray/test.js +20 -0
  512. package/etc/mcp-server/node_modules/jackspeak/LICENSE.md +55 -0
  513. package/etc/mcp-server/node_modules/jackspeak/README.md +357 -0
  514. package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/index.d.ts +315 -0
  515. package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/index.d.ts.map +1 -0
  516. package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/index.js +1010 -0
  517. package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/index.js.map +1 -0
  518. package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/package.json +3 -0
  519. package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/parse-args-cjs.cjs.map +1 -0
  520. package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/parse-args-cjs.d.cts.map +1 -0
  521. package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/parse-args.d.ts +4 -0
  522. package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/parse-args.js +50 -0
  523. package/etc/mcp-server/node_modules/jackspeak/dist/esm/index.d.ts +315 -0
  524. package/etc/mcp-server/node_modules/jackspeak/dist/esm/index.d.ts.map +1 -0
  525. package/etc/mcp-server/node_modules/jackspeak/dist/esm/index.js +1000 -0
  526. package/etc/mcp-server/node_modules/jackspeak/dist/esm/index.js.map +1 -0
  527. package/etc/mcp-server/node_modules/jackspeak/dist/esm/package.json +3 -0
  528. package/etc/mcp-server/node_modules/jackspeak/dist/esm/parse-args.d.ts +4 -0
  529. package/etc/mcp-server/node_modules/jackspeak/dist/esm/parse-args.d.ts.map +1 -0
  530. package/etc/mcp-server/node_modules/jackspeak/dist/esm/parse-args.js +26 -0
  531. package/etc/mcp-server/node_modules/jackspeak/dist/esm/parse-args.js.map +1 -0
  532. package/etc/mcp-server/node_modules/jackspeak/package.json +95 -0
  533. package/etc/mcp-server/node_modules/lru-cache/dist/commonjs/index.d.ts +1277 -0
  534. package/etc/mcp-server/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -0
  535. package/etc/mcp-server/node_modules/lru-cache/dist/commonjs/index.js +1546 -0
  536. package/etc/mcp-server/node_modules/lru-cache/dist/commonjs/index.js.map +1 -0
  537. package/etc/mcp-server/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
  538. package/etc/mcp-server/node_modules/lru-cache/dist/commonjs/index.min.js.map +7 -0
  539. package/etc/mcp-server/node_modules/lru-cache/dist/commonjs/package.json +3 -0
  540. package/etc/mcp-server/node_modules/lru-cache/dist/esm/index.d.ts +1277 -0
  541. package/etc/mcp-server/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -0
  542. package/etc/mcp-server/node_modules/lru-cache/dist/esm/index.js +1542 -0
  543. package/etc/mcp-server/node_modules/lru-cache/dist/esm/index.js.map +1 -0
  544. package/etc/mcp-server/node_modules/lru-cache/dist/esm/index.min.js +2 -0
  545. package/etc/mcp-server/node_modules/lru-cache/dist/esm/index.min.js.map +7 -0
  546. package/etc/mcp-server/node_modules/lru-cache/dist/esm/package.json +3 -0
  547. package/etc/mcp-server/node_modules/minipass/LICENSE.md +55 -0
  548. package/etc/mcp-server/node_modules/minipass/README.md +825 -0
  549. package/etc/mcp-server/node_modules/minipass/dist/commonjs/index.d.ts +545 -0
  550. package/etc/mcp-server/node_modules/minipass/dist/commonjs/index.d.ts.map +1 -0
  551. package/etc/mcp-server/node_modules/minipass/dist/commonjs/index.js +1038 -0
  552. package/etc/mcp-server/node_modules/minipass/dist/commonjs/index.js.map +1 -0
  553. package/etc/mcp-server/node_modules/minipass/dist/commonjs/package.json +3 -0
  554. package/etc/mcp-server/node_modules/minipass/dist/esm/index.d.ts +545 -0
  555. package/etc/mcp-server/node_modules/minipass/dist/esm/index.d.ts.map +1 -0
  556. package/etc/mcp-server/node_modules/minipass/dist/esm/index.js +1020 -0
  557. package/etc/mcp-server/node_modules/minipass/dist/esm/index.js.map +1 -0
  558. package/etc/mcp-server/node_modules/minipass/dist/esm/package.json +3 -0
  559. package/etc/mcp-server/node_modules/minipass/package.json +77 -0
  560. package/etc/mcp-server/node_modules/mkdirp/CHANGELOG.md +15 -0
  561. package/etc/mcp-server/node_modules/mkdirp/LICENSE +21 -0
  562. package/etc/mcp-server/node_modules/mkdirp/bin/cmd.js +68 -0
  563. package/etc/mcp-server/node_modules/mkdirp/index.js +31 -0
  564. package/etc/mcp-server/node_modules/mkdirp/lib/find-made.js +29 -0
  565. package/etc/mcp-server/node_modules/mkdirp/lib/mkdirp-manual.js +64 -0
  566. package/etc/mcp-server/node_modules/mkdirp/lib/mkdirp-native.js +39 -0
  567. package/etc/mcp-server/node_modules/mkdirp/lib/opts-arg.js +23 -0
  568. package/etc/mcp-server/node_modules/mkdirp/lib/path-arg.js +29 -0
  569. package/etc/mcp-server/node_modules/mkdirp/lib/use-native.js +10 -0
  570. package/etc/mcp-server/node_modules/mkdirp/package.json +44 -0
  571. package/etc/mcp-server/node_modules/mkdirp/readme.markdown +266 -0
  572. package/etc/mcp-server/node_modules/package-json-from-dist/LICENSE.md +63 -0
  573. package/etc/mcp-server/node_modules/package-json-from-dist/README.md +110 -0
  574. package/etc/mcp-server/node_modules/package-json-from-dist/dist/commonjs/index.d.ts +89 -0
  575. package/etc/mcp-server/node_modules/package-json-from-dist/dist/commonjs/index.d.ts.map +1 -0
  576. package/etc/mcp-server/node_modules/package-json-from-dist/dist/commonjs/index.js +134 -0
  577. package/etc/mcp-server/node_modules/package-json-from-dist/dist/commonjs/index.js.map +1 -0
  578. package/etc/mcp-server/node_modules/package-json-from-dist/dist/commonjs/package.json +3 -0
  579. package/etc/mcp-server/node_modules/package-json-from-dist/dist/esm/index.d.ts +89 -0
  580. package/etc/mcp-server/node_modules/package-json-from-dist/dist/esm/index.d.ts.map +1 -0
  581. package/etc/mcp-server/node_modules/package-json-from-dist/dist/esm/index.js +129 -0
  582. package/etc/mcp-server/node_modules/package-json-from-dist/dist/esm/index.js.map +1 -0
  583. package/etc/mcp-server/node_modules/package-json-from-dist/dist/esm/package.json +3 -0
  584. package/etc/mcp-server/node_modules/package-json-from-dist/package.json +68 -0
  585. package/etc/mcp-server/node_modules/path-scurry/LICENSE.md +55 -0
  586. package/etc/mcp-server/node_modules/path-scurry/README.md +636 -0
  587. package/etc/mcp-server/node_modules/path-scurry/dist/commonjs/index.d.ts +1116 -0
  588. package/etc/mcp-server/node_modules/path-scurry/dist/commonjs/index.d.ts.map +1 -0
  589. package/etc/mcp-server/node_modules/path-scurry/dist/commonjs/index.js +2014 -0
  590. package/etc/mcp-server/node_modules/path-scurry/dist/commonjs/index.js.map +1 -0
  591. package/etc/mcp-server/node_modules/path-scurry/dist/commonjs/package.json +3 -0
  592. package/etc/mcp-server/node_modules/path-scurry/dist/esm/index.d.ts +1116 -0
  593. package/etc/mcp-server/node_modules/path-scurry/dist/esm/index.d.ts.map +1 -0
  594. package/etc/mcp-server/node_modules/path-scurry/dist/esm/index.js +1979 -0
  595. package/etc/mcp-server/node_modules/path-scurry/dist/esm/index.js.map +1 -0
  596. package/etc/mcp-server/node_modules/path-scurry/dist/esm/package.json +3 -0
  597. package/etc/mcp-server/node_modules/path-scurry/package.json +89 -0
  598. package/etc/mcp-server/node_modules/playwright/LICENSE +202 -0
  599. package/etc/mcp-server/node_modules/playwright/NOTICE +5 -0
  600. package/etc/mcp-server/node_modules/playwright/README.md +318 -0
  601. package/etc/mcp-server/node_modules/playwright/ThirdPartyNotices.txt +14 -0
  602. package/etc/mcp-server/node_modules/playwright/cli.js +19 -0
  603. package/etc/mcp-server/node_modules/playwright/index.d.ts +17 -0
  604. package/etc/mcp-server/node_modules/playwright/index.js +17 -0
  605. package/etc/mcp-server/node_modules/playwright/index.mjs +18 -0
  606. package/etc/mcp-server/node_modules/playwright/jsx-runtime.js +42 -0
  607. package/etc/mcp-server/node_modules/playwright/jsx-runtime.mjs +21 -0
  608. package/etc/mcp-server/node_modules/playwright/lib/agents/agentParser.js +89 -0
  609. package/etc/mcp-server/node_modules/playwright/lib/agents/copilot-setup-steps.yml +34 -0
  610. package/etc/mcp-server/node_modules/playwright/lib/agents/generateAgents.js +395 -0
  611. package/etc/mcp-server/node_modules/playwright/lib/agents/playwright-test-coverage.prompt.md +31 -0
  612. package/etc/mcp-server/node_modules/playwright/lib/agents/playwright-test-generate.prompt.md +8 -0
  613. package/etc/mcp-server/node_modules/playwright/lib/agents/playwright-test-generator.agent.md +88 -0
  614. package/etc/mcp-server/node_modules/playwright/lib/agents/playwright-test-heal.prompt.md +6 -0
  615. package/etc/mcp-server/node_modules/playwright/lib/agents/playwright-test-healer.agent.md +56 -0
  616. package/etc/mcp-server/node_modules/playwright/lib/agents/playwright-test-plan.prompt.md +9 -0
  617. package/etc/mcp-server/node_modules/playwright/lib/agents/playwright-test-planner.agent.md +74 -0
  618. package/etc/mcp-server/node_modules/playwright/lib/cli/reportActions.js +78 -0
  619. package/etc/mcp-server/node_modules/playwright/lib/cli/testActions.js +213 -0
  620. package/etc/mcp-server/node_modules/playwright/lib/common/index.js +2932 -0
  621. package/etc/mcp-server/node_modules/playwright/lib/common/index.js.txt +35 -0
  622. package/etc/mcp-server/node_modules/playwright/lib/errorContext.js +130 -0
  623. package/etc/mcp-server/node_modules/playwright/lib/globals.js +58 -0
  624. package/etc/mcp-server/node_modules/playwright/lib/index.js +784 -0
  625. package/etc/mcp-server/node_modules/playwright/lib/isomorphic.js +260 -0
  626. package/etc/mcp-server/node_modules/playwright/lib/isomorphic.js.txt +9 -0
  627. package/etc/mcp-server/node_modules/playwright/lib/loader/loaderProcessEntry.js +34 -0
  628. package/etc/mcp-server/node_modules/playwright/lib/loader/loaderProcessEntry.js.txt +9 -0
  629. package/etc/mcp-server/node_modules/playwright/lib/matchers/expect.js +13054 -0
  630. package/etc/mcp-server/node_modules/playwright/lib/matchers/expect.js.LICENSE +693 -0
  631. package/etc/mcp-server/node_modules/playwright/lib/matchers/expect.js.txt +72 -0
  632. package/etc/mcp-server/node_modules/playwright/lib/mcp/test/browserBackend.js +125 -0
  633. package/etc/mcp-server/node_modules/playwright/lib/mcp/test/generatorTools.js +122 -0
  634. package/etc/mcp-server/node_modules/playwright/lib/mcp/test/plannerTools.js +150 -0
  635. package/etc/mcp-server/node_modules/playwright/lib/mcp/test/seed.js +82 -0
  636. package/etc/mcp-server/node_modules/playwright/lib/mcp/test/streams.js +44 -0
  637. package/etc/mcp-server/node_modules/playwright/lib/mcp/test/testBackend.js +99 -0
  638. package/etc/mcp-server/node_modules/playwright/lib/mcp/test/testContext.js +306 -0
  639. package/etc/mcp-server/node_modules/playwright/lib/mcp/test/testTool.js +30 -0
  640. package/etc/mcp-server/node_modules/playwright/lib/mcp/test/testTools.js +98 -0
  641. package/etc/mcp-server/node_modules/playwright/lib/package.js +47 -0
  642. package/etc/mcp-server/node_modules/playwright/lib/program.js +223 -0
  643. package/etc/mcp-server/node_modules/playwright/lib/runner/index.js +8085 -0
  644. package/etc/mcp-server/node_modules/playwright/lib/runner/index.js.txt +59 -0
  645. package/etc/mcp-server/node_modules/playwright/lib/transform/babelBundle.js +71030 -0
  646. package/etc/mcp-server/node_modules/playwright/lib/transform/babelBundle.js.LICENSE +2359 -0
  647. package/etc/mcp-server/node_modules/playwright/lib/transform/babelBundle.js.txt +325 -0
  648. package/etc/mcp-server/node_modules/playwright/lib/transform/esmLoader.js +6065 -0
  649. package/etc/mcp-server/node_modules/playwright/lib/transform/esmLoader.js.LICENSE +335 -0
  650. package/etc/mcp-server/node_modules/playwright/lib/transform/esmLoader.js.txt +57 -0
  651. package/etc/mcp-server/node_modules/playwright/lib/util.js +400 -0
  652. package/etc/mcp-server/node_modules/playwright/lib/worker/workerProcessEntry.js +1868 -0
  653. package/etc/mcp-server/node_modules/playwright/lib/worker/workerProcessEntry.js.txt +20 -0
  654. package/etc/mcp-server/node_modules/playwright/node_modules/.bin/playwright-core +17 -0
  655. package/etc/mcp-server/node_modules/playwright/package.json +61 -0
  656. package/etc/mcp-server/node_modules/playwright/test.d.ts +18 -0
  657. package/etc/mcp-server/node_modules/playwright/test.js +24 -0
  658. package/etc/mcp-server/node_modules/playwright/test.mjs +35 -0
  659. package/etc/mcp-server/node_modules/playwright/types/test.d.ts +10461 -0
  660. package/etc/mcp-server/node_modules/playwright/types/testReporter.d.ts +824 -0
  661. package/etc/mcp-server/node_modules/playwright-core/LICENSE +202 -0
  662. package/etc/mcp-server/node_modules/playwright-core/NOTICE +5 -0
  663. package/etc/mcp-server/node_modules/playwright-core/README.md +3 -0
  664. package/etc/mcp-server/node_modules/playwright-core/ThirdPartyNotices.txt +13 -0
  665. package/etc/mcp-server/node_modules/playwright-core/bin/install_media_pack.ps1 +5 -0
  666. package/etc/mcp-server/node_modules/playwright-core/bin/install_webkit_wsl.ps1 +33 -0
  667. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh +42 -0
  668. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh +13 -0
  669. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_chrome_beta_win.ps1 +24 -0
  670. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh +42 -0
  671. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh +12 -0
  672. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_chrome_stable_win.ps1 +24 -0
  673. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh +48 -0
  674. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh +11 -0
  675. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_beta_win.ps1 +23 -0
  676. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh +48 -0
  677. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh +11 -0
  678. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_dev_win.ps1 +23 -0
  679. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh +48 -0
  680. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh +11 -0
  681. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_stable_win.ps1 +24 -0
  682. package/etc/mcp-server/node_modules/playwright-core/browsers.json +81 -0
  683. package/etc/mcp-server/node_modules/playwright-core/cli.js +21 -0
  684. package/etc/mcp-server/node_modules/playwright-core/index.d.ts +17 -0
  685. package/etc/mcp-server/node_modules/playwright-core/index.js +17 -0
  686. package/etc/mcp-server/node_modules/playwright-core/index.mjs +28 -0
  687. package/etc/mcp-server/node_modules/playwright-core/lib/bootstrap.js +88 -0
  688. package/etc/mcp-server/node_modules/playwright-core/lib/coreBundle.js +73386 -0
  689. package/etc/mcp-server/node_modules/playwright-core/lib/entry/cliDaemon.js +5 -0
  690. package/etc/mcp-server/node_modules/playwright-core/lib/entry/dashboardApp.js +3 -0
  691. package/etc/mcp-server/node_modules/playwright-core/lib/entry/mcp.js +10 -0
  692. package/etc/mcp-server/node_modules/playwright-core/lib/entry/oopBrowserDownload.js +3 -0
  693. package/etc/mcp-server/node_modules/playwright-core/lib/package.js +50 -0
  694. package/etc/mcp-server/node_modules/playwright-core/lib/server/chromium/appIcon.png +0 -0
  695. package/etc/mcp-server/node_modules/playwright-core/lib/server/deviceDescriptorsSource.json +2739 -0
  696. package/etc/mcp-server/node_modules/playwright-core/lib/server/electron/loader.js +115 -0
  697. package/etc/mcp-server/node_modules/playwright-core/lib/serverRegistry.js +7343 -0
  698. package/etc/mcp-server/node_modules/playwright-core/lib/serverRegistry.js.LICENSE +354 -0
  699. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/channelSessions.js +141 -0
  700. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/cli.js +6 -0
  701. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/help.json +693 -0
  702. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/minimist.js +128 -0
  703. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/output.js +343 -0
  704. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/program.js +404 -0
  705. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/registry.js +176 -0
  706. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/session.js +254 -0
  707. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/SKILL.md +404 -0
  708. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/element-attributes.md +23 -0
  709. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/playwright-tests.md +39 -0
  710. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/request-mocking.md +87 -0
  711. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/running-code.md +241 -0
  712. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/session-management.md +225 -0
  713. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/spec-driven-testing.md +305 -0
  714. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/storage-state.md +275 -0
  715. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/test-generation.md +134 -0
  716. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/tracing.md +139 -0
  717. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/video-recording.md +143 -0
  718. package/etc/mcp-server/node_modules/playwright-core/lib/tools/dashboard/appIcon.png +0 -0
  719. package/etc/mcp-server/node_modules/playwright-core/lib/tools/trace/SKILL.md +171 -0
  720. package/etc/mcp-server/node_modules/playwright-core/lib/tools/utils/extension.js +78 -0
  721. package/etc/mcp-server/node_modules/playwright-core/lib/tools/utils/socketConnection.js +108 -0
  722. package/etc/mcp-server/node_modules/playwright-core/lib/utilsBundle.js +86736 -0
  723. package/etc/mcp-server/node_modules/playwright-core/lib/utilsBundle.js.LICENSE +2056 -0
  724. package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/assets/codicon-DCmgc-ay.ttf +0 -0
  725. package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/assets/firefox-1bWoP6pv.svg +1 -0
  726. package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/assets/firefox-beta-k3eOH_eK.svg +1 -0
  727. package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/assets/firefox-nightly-Cp5nfeDT.svg +1 -0
  728. package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/assets/index-BY2S1tHT.css +1 -0
  729. package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/assets/index-C_5TMfeg.js +52 -0
  730. package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/assets/safari-na3_-uQk.svg +1 -0
  731. package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/index.html +29 -0
  732. package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/playwright-logo.svg +24 -0
  733. package/etc/mcp-server/node_modules/playwright-core/lib/vite/htmlReport/index.html +16 -0
  734. package/etc/mcp-server/node_modules/playwright-core/lib/vite/htmlReport/report.css +1 -0
  735. package/etc/mcp-server/node_modules/playwright-core/lib/vite/htmlReport/report.js +72 -0
  736. package/etc/mcp-server/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-DYBRYzYX.css +1 -0
  737. package/etc/mcp-server/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-DeBYQozu.js +32 -0
  738. package/etc/mcp-server/node_modules/playwright-core/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
  739. package/etc/mcp-server/node_modules/playwright-core/lib/vite/recorder/assets/index-4ZiSSCmn.css +1 -0
  740. package/etc/mcp-server/node_modules/playwright-core/lib/vite/recorder/assets/index-Bq-mQf8S.js +193 -0
  741. package/etc/mcp-server/node_modules/playwright-core/lib/vite/recorder/index.html +29 -0
  742. package/etc/mcp-server/node_modules/playwright-core/lib/vite/recorder/playwright-logo.svg +9 -0
  743. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/assets/codeMirrorModule-LEHpjmcn.js +32 -0
  744. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/assets/defaultSettingsView-BNmKHKpQ.js +264 -0
  745. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/assets/urlMatch-BYQrIQwR.js +1 -0
  746. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/assets/xtermModule-CsJ4vdCR.js +9 -0
  747. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/codeMirrorModule.DYBRYzYX.css +1 -0
  748. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
  749. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/defaultSettingsView.CjdS-WJx.css +1 -0
  750. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/index.CzXZzn5A.css +1 -0
  751. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/index.DMMX1gXU.js +2 -0
  752. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/index.html +44 -0
  753. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/manifest.webmanifest +16 -0
  754. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/playwright-logo.svg +9 -0
  755. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/snapshot.html +10 -0
  756. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/snapshot.v8KI4P3m.js +2 -0
  757. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/sw.bundle.js +5 -0
  758. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/uiMode.BZQ54Kgt.css +1 -0
  759. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/uiMode.Ut8wwJNp.js +6 -0
  760. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/uiMode.html +18 -0
  761. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/xtermModule.DYP7pi_n.css +32 -0
  762. package/etc/mcp-server/node_modules/playwright-core/lib/xdg-open +1066 -0
  763. package/etc/mcp-server/node_modules/playwright-core/package.json +34 -0
  764. package/etc/mcp-server/node_modules/playwright-core/types/protocol.d.ts +24629 -0
  765. package/etc/mcp-server/node_modules/playwright-core/types/structs.d.ts +45 -0
  766. package/etc/mcp-server/node_modules/playwright-core/types/types.d.ts +24445 -0
  767. package/etc/mcp-server/node_modules/postcss/node_modules/.bin/nanoid +2 -2
  768. package/etc/mcp-server/node_modules/readable-stream/README.md +41 -31
  769. package/etc/mcp-server/node_modules/readable-stream/lib/_stream_duplex.js +3 -125
  770. package/etc/mcp-server/node_modules/readable-stream/lib/_stream_passthrough.js +3 -36
  771. package/etc/mcp-server/node_modules/readable-stream/lib/_stream_readable.js +3 -1026
  772. package/etc/mcp-server/node_modules/readable-stream/lib/_stream_transform.js +3 -189
  773. package/etc/mcp-server/node_modules/readable-stream/lib/_stream_writable.js +3 -640
  774. package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/buffer_list.js +141 -167
  775. package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/destroy.js +265 -71
  776. package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +277 -77
  777. package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/from.js +83 -37
  778. package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/pipeline.js +458 -73
  779. package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/state.js +28 -11
  780. package/etc/mcp-server/node_modules/readable-stream/package.json +77 -57
  781. package/etc/mcp-server/node_modules/require-directory/.jshintrc +67 -0
  782. package/etc/mcp-server/node_modules/require-directory/.travis.yml +3 -0
  783. package/etc/mcp-server/node_modules/{file-uri-to-path → require-directory}/LICENSE +10 -8
  784. package/etc/mcp-server/node_modules/require-directory/README.markdown +184 -0
  785. package/etc/mcp-server/node_modules/require-directory/index.js +86 -0
  786. package/etc/mcp-server/node_modules/require-directory/package.json +40 -0
  787. package/etc/mcp-server/node_modules/sharp/node_modules/.bin/semver +2 -2
  788. package/etc/mcp-server/node_modules/signal-exit/LICENSE.txt +16 -0
  789. package/etc/mcp-server/node_modules/signal-exit/README.md +74 -0
  790. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/browser.d.ts +12 -0
  791. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/browser.d.ts.map +1 -0
  792. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/browser.js +10 -0
  793. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/browser.js.map +1 -0
  794. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/index.d.ts +48 -0
  795. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/index.d.ts.map +1 -0
  796. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/index.js +279 -0
  797. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/index.js.map +1 -0
  798. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/package.json +3 -0
  799. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/signals.d.ts +29 -0
  800. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/signals.d.ts.map +1 -0
  801. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/signals.js +42 -0
  802. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/signals.js.map +1 -0
  803. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/browser.d.ts +12 -0
  804. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/browser.d.ts.map +1 -0
  805. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/browser.js +4 -0
  806. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/browser.js.map +1 -0
  807. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/index.d.ts +48 -0
  808. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/index.d.ts.map +1 -0
  809. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/index.js +275 -0
  810. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/index.js.map +1 -0
  811. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/package.json +3 -0
  812. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/signals.d.ts +29 -0
  813. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/signals.d.ts.map +1 -0
  814. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/signals.js +39 -0
  815. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/signals.js.map +1 -0
  816. package/etc/mcp-server/node_modules/signal-exit/index.js +202 -0
  817. package/etc/mcp-server/node_modules/signal-exit/package.json +106 -0
  818. package/etc/mcp-server/node_modules/signal-exit/signals.js +53 -0
  819. package/etc/mcp-server/node_modules/{mkdirp-classic → streamx}/LICENSE +1 -1
  820. package/etc/mcp-server/node_modules/streamx/README.md +550 -0
  821. package/etc/mcp-server/node_modules/streamx/index.d.ts +198 -0
  822. package/etc/mcp-server/node_modules/streamx/index.js +1314 -0
  823. package/etc/mcp-server/node_modules/streamx/lib/errors.d.ts +13 -0
  824. package/etc/mcp-server/node_modules/streamx/lib/errors.js +47 -0
  825. package/etc/mcp-server/node_modules/streamx/package.json +51 -0
  826. package/etc/mcp-server/node_modules/streamx/runtime.d.ts +55 -0
  827. package/etc/mcp-server/node_modules/string-width/index.d.ts +29 -0
  828. package/etc/mcp-server/node_modules/string-width/index.js +47 -0
  829. package/etc/mcp-server/node_modules/string-width/license +9 -0
  830. package/etc/mcp-server/node_modules/string-width/package.json +56 -0
  831. package/etc/mcp-server/node_modules/string-width/readme.md +50 -0
  832. package/etc/mcp-server/node_modules/string-width-cjs/index.d.ts +29 -0
  833. package/etc/mcp-server/node_modules/string-width-cjs/index.js +47 -0
  834. package/etc/mcp-server/node_modules/string-width-cjs/license +9 -0
  835. package/etc/mcp-server/node_modules/string-width-cjs/package.json +56 -0
  836. package/etc/mcp-server/node_modules/string-width-cjs/readme.md +50 -0
  837. package/etc/mcp-server/node_modules/strip-ansi/index.d.ts +17 -0
  838. package/etc/mcp-server/node_modules/strip-ansi/index.js +4 -0
  839. package/etc/mcp-server/node_modules/strip-ansi/license +9 -0
  840. package/etc/mcp-server/node_modules/strip-ansi/package.json +54 -0
  841. package/etc/mcp-server/node_modules/strip-ansi/readme.md +46 -0
  842. package/etc/mcp-server/node_modules/strip-ansi-cjs/index.d.ts +17 -0
  843. package/etc/mcp-server/node_modules/strip-ansi-cjs/index.js +4 -0
  844. package/etc/mcp-server/node_modules/strip-ansi-cjs/license +9 -0
  845. package/etc/mcp-server/node_modules/strip-ansi-cjs/package.json +54 -0
  846. package/etc/mcp-server/node_modules/strip-ansi-cjs/readme.md +46 -0
  847. package/etc/mcp-server/node_modules/tar-fs/README.md +23 -34
  848. package/etc/mcp-server/node_modules/tar-fs/index.js +248 -193
  849. package/etc/mcp-server/node_modules/tar-fs/package.json +27 -7
  850. package/etc/mcp-server/node_modules/tar-stream/README.md +34 -19
  851. package/etc/mcp-server/node_modules/tar-stream/constants.js +14 -0
  852. package/etc/mcp-server/node_modules/tar-stream/extract.js +353 -192
  853. package/etc/mcp-server/node_modules/tar-stream/headers.js +202 -175
  854. package/etc/mcp-server/node_modules/tar-stream/pack.js +226 -194
  855. package/etc/mcp-server/node_modules/tar-stream/package.json +29 -45
  856. package/etc/mcp-server/node_modules/teex/LICENSE +21 -0
  857. package/etc/mcp-server/node_modules/teex/README.md +31 -0
  858. package/etc/mcp-server/node_modules/teex/example.js +16 -0
  859. package/etc/mcp-server/node_modules/teex/index.js +52 -0
  860. package/etc/mcp-server/node_modules/teex/package.json +26 -0
  861. package/etc/mcp-server/node_modules/teex/test.js +68 -0
  862. package/etc/mcp-server/node_modules/text-decoder/LICENSE +201 -0
  863. package/etc/mcp-server/node_modules/text-decoder/README.md +36 -0
  864. package/etc/mcp-server/node_modules/text-decoder/index.js +64 -0
  865. package/etc/mcp-server/node_modules/text-decoder/lib/pass-through-decoder.js +19 -0
  866. package/etc/mcp-server/node_modules/text-decoder/lib/utf8-decoder.js +185 -0
  867. package/etc/mcp-server/node_modules/text-decoder/package.json +39 -0
  868. package/etc/mcp-server/node_modules/tmp/LICENSE +21 -0
  869. package/etc/mcp-server/node_modules/tmp/README.md +391 -0
  870. package/etc/mcp-server/node_modules/tmp/lib/tmp.js +872 -0
  871. package/etc/mcp-server/node_modules/tmp/package.json +44 -0
  872. package/etc/mcp-server/node_modules/ts-api-utils/node_modules/.bin/tsc +2 -2
  873. package/etc/mcp-server/node_modules/ts-api-utils/node_modules/.bin/tsserver +2 -2
  874. package/etc/mcp-server/node_modules/typescript-eslint/node_modules/.bin/eslint +2 -2
  875. package/etc/mcp-server/node_modules/typescript-eslint/node_modules/.bin/tsc +2 -2
  876. package/etc/mcp-server/node_modules/typescript-eslint/node_modules/.bin/tsserver +2 -2
  877. package/etc/mcp-server/node_modules/undici/LICENSE +21 -0
  878. package/etc/mcp-server/node_modules/undici/README.md +443 -0
  879. package/etc/mcp-server/node_modules/undici/docs/api/Agent.md +80 -0
  880. package/etc/mcp-server/node_modules/undici/docs/api/BalancedPool.md +99 -0
  881. package/etc/mcp-server/node_modules/undici/docs/api/CacheStorage.md +30 -0
  882. package/etc/mcp-server/node_modules/undici/docs/api/Client.md +273 -0
  883. package/etc/mcp-server/node_modules/undici/docs/api/Connector.md +115 -0
  884. package/etc/mcp-server/node_modules/undici/docs/api/ContentType.md +57 -0
  885. package/etc/mcp-server/node_modules/undici/docs/api/Cookies.md +101 -0
  886. package/etc/mcp-server/node_modules/undici/docs/api/DiagnosticsChannel.md +204 -0
  887. package/etc/mcp-server/node_modules/undici/docs/api/DispatchInterceptor.md +60 -0
  888. package/etc/mcp-server/node_modules/undici/docs/api/Dispatcher.md +887 -0
  889. package/etc/mcp-server/node_modules/undici/docs/api/Errors.md +47 -0
  890. package/etc/mcp-server/node_modules/undici/docs/api/Fetch.md +27 -0
  891. package/etc/mcp-server/node_modules/undici/docs/api/MockAgent.md +540 -0
  892. package/etc/mcp-server/node_modules/undici/docs/api/MockClient.md +77 -0
  893. package/etc/mcp-server/node_modules/undici/docs/api/MockErrors.md +12 -0
  894. package/etc/mcp-server/node_modules/undici/docs/api/MockPool.md +547 -0
  895. package/etc/mcp-server/node_modules/undici/docs/api/Pool.md +84 -0
  896. package/etc/mcp-server/node_modules/undici/docs/api/PoolStats.md +35 -0
  897. package/etc/mcp-server/node_modules/undici/docs/api/ProxyAgent.md +126 -0
  898. package/etc/mcp-server/node_modules/undici/docs/api/RetryHandler.md +108 -0
  899. package/etc/mcp-server/node_modules/undici/docs/api/WebSocket.md +43 -0
  900. package/etc/mcp-server/node_modules/undici/docs/api/api-lifecycle.md +62 -0
  901. package/etc/mcp-server/node_modules/undici/docs/assets/lifecycle-diagram.png +0 -0
  902. package/etc/mcp-server/node_modules/undici/docs/best-practices/client-certificate.md +64 -0
  903. package/etc/mcp-server/node_modules/undici/docs/best-practices/mocking-request.md +136 -0
  904. package/etc/mcp-server/node_modules/undici/docs/best-practices/proxy.md +127 -0
  905. package/etc/mcp-server/node_modules/undici/docs/best-practices/writing-tests.md +20 -0
  906. package/etc/mcp-server/node_modules/undici/index-fetch.js +15 -0
  907. package/etc/mcp-server/node_modules/undici/index.d.ts +3 -0
  908. package/etc/mcp-server/node_modules/undici/index.js +167 -0
  909. package/etc/mcp-server/node_modules/undici/lib/agent.js +148 -0
  910. package/etc/mcp-server/node_modules/undici/lib/api/abort-signal.js +54 -0
  911. package/etc/mcp-server/node_modules/undici/lib/api/api-connect.js +104 -0
  912. package/etc/mcp-server/node_modules/undici/lib/api/api-pipeline.js +249 -0
  913. package/etc/mcp-server/node_modules/undici/lib/api/api-request.js +180 -0
  914. package/etc/mcp-server/node_modules/undici/lib/api/api-stream.js +220 -0
  915. package/etc/mcp-server/node_modules/undici/lib/api/api-upgrade.js +105 -0
  916. package/etc/mcp-server/node_modules/undici/lib/api/index.js +7 -0
  917. package/etc/mcp-server/node_modules/undici/lib/api/readable.js +322 -0
  918. package/etc/mcp-server/node_modules/undici/lib/api/util.js +46 -0
  919. package/etc/mcp-server/node_modules/undici/lib/balanced-pool.js +190 -0
  920. package/etc/mcp-server/node_modules/undici/lib/cache/cache.js +838 -0
  921. package/etc/mcp-server/node_modules/undici/lib/cache/cachestorage.js +144 -0
  922. package/etc/mcp-server/node_modules/undici/lib/cache/symbols.js +5 -0
  923. package/etc/mcp-server/node_modules/undici/lib/cache/util.js +49 -0
  924. package/etc/mcp-server/node_modules/undici/lib/client.js +2283 -0
  925. package/etc/mcp-server/node_modules/undici/lib/compat/dispatcher-weakref.js +48 -0
  926. package/etc/mcp-server/node_modules/undici/lib/cookies/constants.js +12 -0
  927. package/etc/mcp-server/node_modules/undici/lib/cookies/index.js +183 -0
  928. package/etc/mcp-server/node_modules/undici/lib/cookies/parse.js +317 -0
  929. package/etc/mcp-server/node_modules/undici/lib/cookies/util.js +274 -0
  930. package/etc/mcp-server/node_modules/undici/lib/core/connect.js +189 -0
  931. package/etc/mcp-server/node_modules/undici/lib/core/constants.js +118 -0
  932. package/etc/mcp-server/node_modules/undici/lib/core/errors.js +230 -0
  933. package/etc/mcp-server/node_modules/undici/lib/core/request.js +499 -0
  934. package/etc/mcp-server/node_modules/undici/lib/core/symbols.js +63 -0
  935. package/etc/mcp-server/node_modules/undici/lib/core/util.js +522 -0
  936. package/etc/mcp-server/node_modules/undici/lib/dispatcher-base.js +192 -0
  937. package/etc/mcp-server/node_modules/undici/lib/dispatcher.js +19 -0
  938. package/etc/mcp-server/node_modules/undici/lib/fetch/LICENSE +21 -0
  939. package/etc/mcp-server/node_modules/undici/lib/fetch/body.js +613 -0
  940. package/etc/mcp-server/node_modules/undici/lib/fetch/constants.js +151 -0
  941. package/etc/mcp-server/node_modules/undici/lib/fetch/dataURL.js +627 -0
  942. package/etc/mcp-server/node_modules/undici/lib/fetch/file.js +344 -0
  943. package/etc/mcp-server/node_modules/undici/lib/fetch/formdata.js +265 -0
  944. package/etc/mcp-server/node_modules/undici/lib/fetch/global.js +40 -0
  945. package/etc/mcp-server/node_modules/undici/lib/fetch/headers.js +593 -0
  946. package/etc/mcp-server/node_modules/undici/lib/fetch/index.js +2148 -0
  947. package/etc/mcp-server/node_modules/undici/lib/fetch/request.js +946 -0
  948. package/etc/mcp-server/node_modules/undici/lib/fetch/response.js +571 -0
  949. package/etc/mcp-server/node_modules/undici/lib/fetch/symbols.js +10 -0
  950. package/etc/mcp-server/node_modules/undici/lib/fetch/util.js +1144 -0
  951. package/etc/mcp-server/node_modules/undici/lib/fetch/webidl.js +646 -0
  952. package/etc/mcp-server/node_modules/undici/lib/fileapi/encoding.js +290 -0
  953. package/etc/mcp-server/node_modules/undici/lib/fileapi/filereader.js +344 -0
  954. package/etc/mcp-server/node_modules/undici/lib/fileapi/progressevent.js +78 -0
  955. package/etc/mcp-server/node_modules/undici/lib/fileapi/symbols.js +10 -0
  956. package/etc/mcp-server/node_modules/undici/lib/fileapi/util.js +392 -0
  957. package/etc/mcp-server/node_modules/undici/lib/global.js +32 -0
  958. package/etc/mcp-server/node_modules/undici/lib/handler/DecoratorHandler.js +35 -0
  959. package/etc/mcp-server/node_modules/undici/lib/handler/RedirectHandler.js +221 -0
  960. package/etc/mcp-server/node_modules/undici/lib/handler/RetryHandler.js +336 -0
  961. package/etc/mcp-server/node_modules/undici/lib/interceptor/redirectInterceptor.js +21 -0
  962. package/etc/mcp-server/node_modules/undici/lib/llhttp/constants.d.ts +199 -0
  963. package/etc/mcp-server/node_modules/undici/lib/llhttp/constants.js +278 -0
  964. package/etc/mcp-server/node_modules/undici/lib/llhttp/constants.js.map +1 -0
  965. package/etc/mcp-server/node_modules/undici/lib/llhttp/llhttp-wasm.js +1 -0
  966. package/etc/mcp-server/node_modules/undici/lib/llhttp/llhttp.wasm +0 -0
  967. package/etc/mcp-server/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +1 -0
  968. package/etc/mcp-server/node_modules/undici/lib/llhttp/llhttp_simd.wasm +0 -0
  969. package/etc/mcp-server/node_modules/undici/lib/llhttp/utils.d.ts +4 -0
  970. package/etc/mcp-server/node_modules/undici/lib/llhttp/utils.js +15 -0
  971. package/etc/mcp-server/node_modules/undici/lib/llhttp/utils.js.map +1 -0
  972. package/etc/mcp-server/node_modules/undici/lib/llhttp/wasm_build_env.txt +32 -0
  973. package/etc/mcp-server/node_modules/undici/lib/mock/mock-agent.js +171 -0
  974. package/etc/mcp-server/node_modules/undici/lib/mock/mock-client.js +59 -0
  975. package/etc/mcp-server/node_modules/undici/lib/mock/mock-errors.js +17 -0
  976. package/etc/mcp-server/node_modules/undici/lib/mock/mock-interceptor.js +206 -0
  977. package/etc/mcp-server/node_modules/undici/lib/mock/mock-pool.js +59 -0
  978. package/etc/mcp-server/node_modules/undici/lib/mock/mock-symbols.js +23 -0
  979. package/etc/mcp-server/node_modules/undici/lib/mock/mock-utils.js +351 -0
  980. package/etc/mcp-server/node_modules/undici/lib/mock/pending-interceptors-formatter.js +40 -0
  981. package/etc/mcp-server/node_modules/undici/lib/mock/pluralizer.js +29 -0
  982. package/etc/mcp-server/node_modules/undici/lib/node/fixed-queue.js +117 -0
  983. package/etc/mcp-server/node_modules/undici/lib/pool-base.js +194 -0
  984. package/etc/mcp-server/node_modules/undici/lib/pool-stats.js +34 -0
  985. package/etc/mcp-server/node_modules/undici/lib/pool.js +108 -0
  986. package/etc/mcp-server/node_modules/undici/lib/proxy-agent.js +189 -0
  987. package/etc/mcp-server/node_modules/undici/lib/timers.js +97 -0
  988. package/etc/mcp-server/node_modules/undici/lib/websocket/connection.js +291 -0
  989. package/etc/mcp-server/node_modules/undici/lib/websocket/constants.js +51 -0
  990. package/etc/mcp-server/node_modules/undici/lib/websocket/events.js +303 -0
  991. package/etc/mcp-server/node_modules/undici/lib/websocket/frame.js +73 -0
  992. package/etc/mcp-server/node_modules/undici/lib/websocket/receiver.js +344 -0
  993. package/etc/mcp-server/node_modules/undici/lib/websocket/symbols.js +12 -0
  994. package/etc/mcp-server/node_modules/undici/lib/websocket/util.js +200 -0
  995. package/etc/mcp-server/node_modules/undici/lib/websocket/websocket.js +641 -0
  996. package/etc/mcp-server/node_modules/undici/package.json +167 -0
  997. package/etc/mcp-server/node_modules/undici/types/README.md +6 -0
  998. package/etc/mcp-server/node_modules/undici/types/agent.d.ts +31 -0
  999. package/etc/mcp-server/node_modules/undici/types/api.d.ts +43 -0
  1000. package/etc/mcp-server/node_modules/undici/types/balanced-pool.d.ts +18 -0
  1001. package/etc/mcp-server/node_modules/undici/types/cache.d.ts +36 -0
  1002. package/etc/mcp-server/node_modules/undici/types/client.d.ts +97 -0
  1003. package/etc/mcp-server/node_modules/undici/types/connector.d.ts +34 -0
  1004. package/etc/mcp-server/node_modules/undici/types/content-type.d.ts +21 -0
  1005. package/etc/mcp-server/node_modules/undici/types/cookies.d.ts +28 -0
  1006. package/etc/mcp-server/node_modules/undici/types/diagnostics-channel.d.ts +67 -0
  1007. package/etc/mcp-server/node_modules/undici/types/dispatcher.d.ts +241 -0
  1008. package/etc/mcp-server/node_modules/undici/types/errors.d.ts +128 -0
  1009. package/etc/mcp-server/node_modules/undici/types/fetch.d.ts +209 -0
  1010. package/etc/mcp-server/node_modules/undici/types/file.d.ts +39 -0
  1011. package/etc/mcp-server/node_modules/undici/types/filereader.d.ts +54 -0
  1012. package/etc/mcp-server/node_modules/undici/types/formdata.d.ts +108 -0
  1013. package/etc/mcp-server/node_modules/undici/types/global-dispatcher.d.ts +9 -0
  1014. package/etc/mcp-server/node_modules/undici/types/global-origin.d.ts +7 -0
  1015. package/etc/mcp-server/node_modules/undici/types/handlers.d.ts +9 -0
  1016. package/etc/mcp-server/node_modules/undici/types/header.d.ts +4 -0
  1017. package/etc/mcp-server/node_modules/undici/types/index.d.ts +65 -0
  1018. package/etc/mcp-server/node_modules/undici/types/interceptors.d.ts +5 -0
  1019. package/etc/mcp-server/node_modules/undici/types/mock-agent.d.ts +50 -0
  1020. package/etc/mcp-server/node_modules/undici/types/mock-client.d.ts +25 -0
  1021. package/etc/mcp-server/node_modules/undici/types/mock-errors.d.ts +12 -0
  1022. package/etc/mcp-server/node_modules/undici/types/mock-interceptor.d.ts +93 -0
  1023. package/etc/mcp-server/node_modules/undici/types/mock-pool.d.ts +25 -0
  1024. package/etc/mcp-server/node_modules/undici/types/patch.d.ts +71 -0
  1025. package/etc/mcp-server/node_modules/undici/types/pool-stats.d.ts +19 -0
  1026. package/etc/mcp-server/node_modules/undici/types/pool.d.ts +28 -0
  1027. package/etc/mcp-server/node_modules/undici/types/proxy-agent.d.ts +30 -0
  1028. package/etc/mcp-server/node_modules/undici/types/readable.d.ts +61 -0
  1029. package/etc/mcp-server/node_modules/undici/types/retry-handler.d.ts +116 -0
  1030. package/etc/mcp-server/node_modules/undici/types/webidl.d.ts +220 -0
  1031. package/etc/mcp-server/node_modules/undici/types/websocket.d.ts +131 -0
  1032. package/etc/mcp-server/node_modules/update-browserslist-db/node_modules/.bin/browserslist +2 -2
  1033. package/etc/mcp-server/node_modules/vite/node_modules/.bin/esbuild +2 -2
  1034. package/etc/mcp-server/node_modules/vite/node_modules/.bin/rollup +2 -2
  1035. package/etc/mcp-server/node_modules/vite-node/node_modules/.bin/vite +2 -2
  1036. package/etc/mcp-server/node_modules/vitest/node_modules/.bin/vite +2 -2
  1037. package/etc/mcp-server/node_modules/vitest/node_modules/.bin/vite-node +2 -2
  1038. package/etc/mcp-server/node_modules/vitest/node_modules/.bin/why-is-node-running +2 -2
  1039. package/etc/mcp-server/node_modules/wrap-ansi/index.d.ts +41 -0
  1040. package/etc/mcp-server/node_modules/wrap-ansi/index.js +216 -0
  1041. package/etc/mcp-server/node_modules/wrap-ansi/license +9 -0
  1042. package/etc/mcp-server/node_modules/wrap-ansi/package.json +62 -0
  1043. package/etc/mcp-server/node_modules/wrap-ansi/readme.md +91 -0
  1044. package/etc/mcp-server/node_modules/wrap-ansi-cjs/index.js +216 -0
  1045. package/etc/mcp-server/node_modules/wrap-ansi-cjs/license +9 -0
  1046. package/etc/mcp-server/node_modules/wrap-ansi-cjs/package.json +62 -0
  1047. package/etc/mcp-server/node_modules/wrap-ansi-cjs/readme.md +91 -0
  1048. package/etc/mcp-server/node_modules/y18n/CHANGELOG.md +100 -0
  1049. package/etc/mcp-server/node_modules/y18n/LICENSE +13 -0
  1050. package/etc/mcp-server/node_modules/y18n/README.md +127 -0
  1051. package/etc/mcp-server/node_modules/y18n/build/index.cjs +203 -0
  1052. package/etc/mcp-server/node_modules/y18n/build/lib/cjs.js +6 -0
  1053. package/etc/mcp-server/node_modules/y18n/build/lib/index.js +174 -0
  1054. package/etc/mcp-server/node_modules/y18n/build/lib/platform-shims/node.js +19 -0
  1055. package/etc/mcp-server/node_modules/y18n/index.mjs +8 -0
  1056. package/etc/mcp-server/node_modules/y18n/package.json +70 -0
  1057. package/etc/mcp-server/node_modules/yaml/LICENSE +13 -0
  1058. package/etc/mcp-server/node_modules/yaml/README.md +172 -0
  1059. package/etc/mcp-server/node_modules/yaml/bin.mjs +11 -0
  1060. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
  1061. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
  1062. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/compose-node.js +109 -0
  1063. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
  1064. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/composer.js +219 -0
  1065. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
  1066. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
  1067. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
  1068. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
  1069. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
  1070. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +225 -0
  1071. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
  1072. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
  1073. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
  1074. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
  1075. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
  1076. package/etc/mcp-server/node_modules/yaml/browser/dist/doc/Document.js +335 -0
  1077. package/etc/mcp-server/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
  1078. package/etc/mcp-server/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
  1079. package/etc/mcp-server/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
  1080. package/etc/mcp-server/node_modules/yaml/browser/dist/doc/directives.js +176 -0
  1081. package/etc/mcp-server/node_modules/yaml/browser/dist/errors.js +57 -0
  1082. package/etc/mcp-server/node_modules/yaml/browser/dist/index.js +17 -0
  1083. package/etc/mcp-server/node_modules/yaml/browser/dist/log.js +11 -0
  1084. package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/Alias.js +116 -0
  1085. package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
  1086. package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
  1087. package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
  1088. package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
  1089. package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
  1090. package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
  1091. package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
  1092. package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
  1093. package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
  1094. package/etc/mcp-server/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
  1095. package/etc/mcp-server/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
  1096. package/etc/mcp-server/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
  1097. package/etc/mcp-server/node_modules/yaml/browser/dist/parse/cst.js +98 -0
  1098. package/etc/mcp-server/node_modules/yaml/browser/dist/parse/lexer.js +721 -0
  1099. package/etc/mcp-server/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
  1100. package/etc/mcp-server/node_modules/yaml/browser/dist/parse/parser.js +975 -0
  1101. package/etc/mcp-server/node_modules/yaml/browser/dist/public-api.js +102 -0
  1102. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
  1103. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
  1104. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
  1105. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
  1106. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
  1107. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
  1108. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
  1109. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
  1110. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
  1111. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
  1112. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/tags.js +96 -0
  1113. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
  1114. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
  1115. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
  1116. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
  1117. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +67 -0
  1118. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
  1119. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
  1120. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
  1121. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
  1122. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
  1123. package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
  1124. package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/stringify.js +129 -0
  1125. package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +153 -0
  1126. package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
  1127. package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
  1128. package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +25 -0
  1129. package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
  1130. package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
  1131. package/etc/mcp-server/node_modules/yaml/browser/dist/util.js +11 -0
  1132. package/etc/mcp-server/node_modules/yaml/browser/dist/visit.js +233 -0
  1133. package/etc/mcp-server/node_modules/yaml/browser/index.js +5 -0
  1134. package/etc/mcp-server/node_modules/yaml/browser/package.json +3 -0
  1135. package/etc/mcp-server/node_modules/yaml/dist/cli.d.ts +8 -0
  1136. package/etc/mcp-server/node_modules/yaml/dist/cli.mjs +201 -0
  1137. package/etc/mcp-server/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
  1138. package/etc/mcp-server/node_modules/yaml/dist/compose/compose-collection.js +90 -0
  1139. package/etc/mcp-server/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
  1140. package/etc/mcp-server/node_modules/yaml/dist/compose/compose-doc.js +45 -0
  1141. package/etc/mcp-server/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
  1142. package/etc/mcp-server/node_modules/yaml/dist/compose/compose-node.js +112 -0
  1143. package/etc/mcp-server/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
  1144. package/etc/mcp-server/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
  1145. package/etc/mcp-server/node_modules/yaml/dist/compose/composer.d.ts +63 -0
  1146. package/etc/mcp-server/node_modules/yaml/dist/compose/composer.js +224 -0
  1147. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
  1148. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
  1149. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
  1150. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
  1151. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
  1152. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
  1153. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
  1154. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-end.js +39 -0
  1155. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
  1156. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
  1157. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
  1158. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-flow-scalar.js +227 -0
  1159. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
  1160. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-props.js +148 -0
  1161. package/etc/mcp-server/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
  1162. package/etc/mcp-server/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
  1163. package/etc/mcp-server/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
  1164. package/etc/mcp-server/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
  1165. package/etc/mcp-server/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
  1166. package/etc/mcp-server/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
  1167. package/etc/mcp-server/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
  1168. package/etc/mcp-server/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
  1169. package/etc/mcp-server/node_modules/yaml/dist/doc/Document.d.ts +141 -0
  1170. package/etc/mcp-server/node_modules/yaml/dist/doc/Document.js +337 -0
  1171. package/etc/mcp-server/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
  1172. package/etc/mcp-server/node_modules/yaml/dist/doc/anchors.js +76 -0
  1173. package/etc/mcp-server/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
  1174. package/etc/mcp-server/node_modules/yaml/dist/doc/applyReviver.js +57 -0
  1175. package/etc/mcp-server/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
  1176. package/etc/mcp-server/node_modules/yaml/dist/doc/createNode.js +90 -0
  1177. package/etc/mcp-server/node_modules/yaml/dist/doc/directives.d.ts +49 -0
  1178. package/etc/mcp-server/node_modules/yaml/dist/doc/directives.js +178 -0
  1179. package/etc/mcp-server/node_modules/yaml/dist/errors.d.ts +21 -0
  1180. package/etc/mcp-server/node_modules/yaml/dist/errors.js +62 -0
  1181. package/etc/mcp-server/node_modules/yaml/dist/index.d.ts +25 -0
  1182. package/etc/mcp-server/node_modules/yaml/dist/index.js +50 -0
  1183. package/etc/mcp-server/node_modules/yaml/dist/log.d.ts +3 -0
  1184. package/etc/mcp-server/node_modules/yaml/dist/log.js +19 -0
  1185. package/etc/mcp-server/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
  1186. package/etc/mcp-server/node_modules/yaml/dist/nodes/Alias.js +118 -0
  1187. package/etc/mcp-server/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
  1188. package/etc/mcp-server/node_modules/yaml/dist/nodes/Collection.js +151 -0
  1189. package/etc/mcp-server/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
  1190. package/etc/mcp-server/node_modules/yaml/dist/nodes/Node.js +40 -0
  1191. package/etc/mcp-server/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
  1192. package/etc/mcp-server/node_modules/yaml/dist/nodes/Pair.js +39 -0
  1193. package/etc/mcp-server/node_modules/yaml/dist/nodes/Scalar.d.ts +47 -0
  1194. package/etc/mcp-server/node_modules/yaml/dist/nodes/Scalar.js +27 -0
  1195. package/etc/mcp-server/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
  1196. package/etc/mcp-server/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
  1197. package/etc/mcp-server/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
  1198. package/etc/mcp-server/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
  1199. package/etc/mcp-server/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
  1200. package/etc/mcp-server/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
  1201. package/etc/mcp-server/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
  1202. package/etc/mcp-server/node_modules/yaml/dist/nodes/identity.js +53 -0
  1203. package/etc/mcp-server/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
  1204. package/etc/mcp-server/node_modules/yaml/dist/nodes/toJS.js +39 -0
  1205. package/etc/mcp-server/node_modules/yaml/dist/options.d.ts +350 -0
  1206. package/etc/mcp-server/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
  1207. package/etc/mcp-server/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
  1208. package/etc/mcp-server/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
  1209. package/etc/mcp-server/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
  1210. package/etc/mcp-server/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
  1211. package/etc/mcp-server/node_modules/yaml/dist/parse/cst-visit.js +99 -0
  1212. package/etc/mcp-server/node_modules/yaml/dist/parse/cst.d.ts +109 -0
  1213. package/etc/mcp-server/node_modules/yaml/dist/parse/cst.js +112 -0
  1214. package/etc/mcp-server/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
  1215. package/etc/mcp-server/node_modules/yaml/dist/parse/lexer.js +723 -0
  1216. package/etc/mcp-server/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
  1217. package/etc/mcp-server/node_modules/yaml/dist/parse/line-counter.js +41 -0
  1218. package/etc/mcp-server/node_modules/yaml/dist/parse/parser.d.ts +84 -0
  1219. package/etc/mcp-server/node_modules/yaml/dist/parse/parser.js +980 -0
  1220. package/etc/mcp-server/node_modules/yaml/dist/public-api.d.ts +44 -0
  1221. package/etc/mcp-server/node_modules/yaml/dist/public-api.js +107 -0
  1222. package/etc/mcp-server/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
  1223. package/etc/mcp-server/node_modules/yaml/dist/schema/Schema.js +39 -0
  1224. package/etc/mcp-server/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
  1225. package/etc/mcp-server/node_modules/yaml/dist/schema/common/map.js +19 -0
  1226. package/etc/mcp-server/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
  1227. package/etc/mcp-server/node_modules/yaml/dist/schema/common/null.js +17 -0
  1228. package/etc/mcp-server/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
  1229. package/etc/mcp-server/node_modules/yaml/dist/schema/common/seq.js +19 -0
  1230. package/etc/mcp-server/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
  1231. package/etc/mcp-server/node_modules/yaml/dist/schema/common/string.js +16 -0
  1232. package/etc/mcp-server/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
  1233. package/etc/mcp-server/node_modules/yaml/dist/schema/core/bool.js +21 -0
  1234. package/etc/mcp-server/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
  1235. package/etc/mcp-server/node_modules/yaml/dist/schema/core/float.js +47 -0
  1236. package/etc/mcp-server/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
  1237. package/etc/mcp-server/node_modules/yaml/dist/schema/core/int.js +42 -0
  1238. package/etc/mcp-server/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
  1239. package/etc/mcp-server/node_modules/yaml/dist/schema/core/schema.js +25 -0
  1240. package/etc/mcp-server/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
  1241. package/etc/mcp-server/node_modules/yaml/dist/schema/json/schema.js +64 -0
  1242. package/etc/mcp-server/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
  1243. package/etc/mcp-server/node_modules/yaml/dist/schema/tags.d.ts +48 -0
  1244. package/etc/mcp-server/node_modules/yaml/dist/schema/tags.js +99 -0
  1245. package/etc/mcp-server/node_modules/yaml/dist/schema/types.d.ts +92 -0
  1246. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
  1247. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
  1248. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
  1249. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
  1250. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
  1251. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
  1252. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
  1253. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
  1254. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
  1255. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/merge.js +71 -0
  1256. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
  1257. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
  1258. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
  1259. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
  1260. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
  1261. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
  1262. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
  1263. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
  1264. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
  1265. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
  1266. package/etc/mcp-server/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
  1267. package/etc/mcp-server/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
  1268. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
  1269. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringify.js +132 -0
  1270. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
  1271. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
  1272. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
  1273. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
  1274. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
  1275. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
  1276. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
  1277. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyNumber.js +27 -0
  1278. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
  1279. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
  1280. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
  1281. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
  1282. package/etc/mcp-server/node_modules/yaml/dist/test-events.d.ts +4 -0
  1283. package/etc/mcp-server/node_modules/yaml/dist/test-events.js +134 -0
  1284. package/etc/mcp-server/node_modules/yaml/dist/util.d.ts +16 -0
  1285. package/etc/mcp-server/node_modules/yaml/dist/util.js +28 -0
  1286. package/etc/mcp-server/node_modules/yaml/dist/visit.d.ts +102 -0
  1287. package/etc/mcp-server/node_modules/yaml/dist/visit.js +236 -0
  1288. package/etc/mcp-server/node_modules/yaml/package.json +97 -0
  1289. package/etc/mcp-server/node_modules/yaml/util.js +2 -0
  1290. package/etc/mcp-server/node_modules/yargs/CHANGELOG.md +330 -0
  1291. package/etc/mcp-server/node_modules/yargs/LICENSE +21 -0
  1292. package/etc/mcp-server/node_modules/yargs/README.md +204 -0
  1293. package/etc/mcp-server/node_modules/yargs/browser.mjs +7 -0
  1294. package/etc/mcp-server/node_modules/yargs/build/index.cjs +1 -0
  1295. package/etc/mcp-server/node_modules/yargs/build/lib/argsert.js +62 -0
  1296. package/etc/mcp-server/node_modules/yargs/build/lib/command.js +449 -0
  1297. package/etc/mcp-server/node_modules/yargs/build/lib/completion-templates.js +48 -0
  1298. package/etc/mcp-server/node_modules/yargs/build/lib/completion.js +243 -0
  1299. package/etc/mcp-server/node_modules/yargs/build/lib/middleware.js +88 -0
  1300. package/etc/mcp-server/node_modules/yargs/build/lib/parse-command.js +32 -0
  1301. package/etc/mcp-server/node_modules/yargs/build/lib/typings/common-types.js +9 -0
  1302. package/etc/mcp-server/node_modules/yargs/build/lib/typings/yargs-parser-types.js +1 -0
  1303. package/etc/mcp-server/node_modules/yargs/build/lib/usage.js +584 -0
  1304. package/etc/mcp-server/node_modules/yargs/build/lib/utils/apply-extends.js +59 -0
  1305. package/etc/mcp-server/node_modules/yargs/build/lib/utils/is-promise.js +5 -0
  1306. package/etc/mcp-server/node_modules/yargs/build/lib/utils/levenshtein.js +34 -0
  1307. package/etc/mcp-server/node_modules/yargs/build/lib/utils/maybe-async-result.js +17 -0
  1308. package/etc/mcp-server/node_modules/yargs/build/lib/utils/obj-filter.js +10 -0
  1309. package/etc/mcp-server/node_modules/yargs/build/lib/utils/process-argv.js +17 -0
  1310. package/etc/mcp-server/node_modules/yargs/build/lib/utils/set-blocking.js +12 -0
  1311. package/etc/mcp-server/node_modules/yargs/build/lib/utils/which-module.js +10 -0
  1312. package/etc/mcp-server/node_modules/yargs/build/lib/validation.js +305 -0
  1313. package/etc/mcp-server/node_modules/yargs/build/lib/yargs-factory.js +1512 -0
  1314. package/etc/mcp-server/node_modules/yargs/build/lib/yerror.js +9 -0
  1315. package/etc/mcp-server/node_modules/yargs/helpers/helpers.mjs +10 -0
  1316. package/etc/mcp-server/node_modules/yargs/helpers/index.js +14 -0
  1317. package/etc/mcp-server/node_modules/yargs/helpers/package.json +3 -0
  1318. package/etc/mcp-server/node_modules/yargs/index.cjs +53 -0
  1319. package/etc/mcp-server/node_modules/yargs/index.mjs +8 -0
  1320. package/etc/mcp-server/node_modules/yargs/lib/platform-shims/browser.mjs +95 -0
  1321. package/etc/mcp-server/node_modules/yargs/lib/platform-shims/esm.mjs +73 -0
  1322. package/etc/mcp-server/node_modules/yargs/locales/be.json +46 -0
  1323. package/etc/mcp-server/node_modules/yargs/locales/cs.json +51 -0
  1324. package/etc/mcp-server/node_modules/yargs/locales/de.json +46 -0
  1325. package/etc/mcp-server/node_modules/yargs/locales/en.json +55 -0
  1326. package/etc/mcp-server/node_modules/yargs/locales/es.json +46 -0
  1327. package/etc/mcp-server/node_modules/yargs/locales/fi.json +49 -0
  1328. package/etc/mcp-server/node_modules/yargs/locales/fr.json +53 -0
  1329. package/etc/mcp-server/node_modules/yargs/locales/hi.json +49 -0
  1330. package/etc/mcp-server/node_modules/yargs/locales/hu.json +46 -0
  1331. package/etc/mcp-server/node_modules/yargs/locales/id.json +50 -0
  1332. package/etc/mcp-server/node_modules/yargs/locales/it.json +46 -0
  1333. package/etc/mcp-server/node_modules/yargs/locales/ja.json +51 -0
  1334. package/etc/mcp-server/node_modules/yargs/locales/ko.json +49 -0
  1335. package/etc/mcp-server/node_modules/yargs/locales/nb.json +44 -0
  1336. package/etc/mcp-server/node_modules/yargs/locales/nl.json +49 -0
  1337. package/etc/mcp-server/node_modules/yargs/locales/nn.json +44 -0
  1338. package/etc/mcp-server/node_modules/yargs/locales/pirate.json +13 -0
  1339. package/etc/mcp-server/node_modules/yargs/locales/pl.json +49 -0
  1340. package/etc/mcp-server/node_modules/yargs/locales/pt.json +45 -0
  1341. package/etc/mcp-server/node_modules/yargs/locales/pt_BR.json +48 -0
  1342. package/etc/mcp-server/node_modules/yargs/locales/ru.json +51 -0
  1343. package/etc/mcp-server/node_modules/yargs/locales/th.json +46 -0
  1344. package/etc/mcp-server/node_modules/yargs/locales/tr.json +48 -0
  1345. package/etc/mcp-server/node_modules/yargs/locales/uk_UA.json +51 -0
  1346. package/etc/mcp-server/node_modules/yargs/locales/uz.json +52 -0
  1347. package/etc/mcp-server/node_modules/yargs/locales/zh_CN.json +48 -0
  1348. package/etc/mcp-server/node_modules/yargs/locales/zh_TW.json +51 -0
  1349. package/etc/mcp-server/node_modules/yargs/package.json +125 -0
  1350. package/etc/mcp-server/node_modules/yargs/yargs +5 -0
  1351. package/etc/mcp-server/node_modules/yargs/yargs.cjs +15 -0
  1352. package/etc/mcp-server/node_modules/yargs/yargs.mjs +10 -0
  1353. package/etc/mcp-server/node_modules/yargs-parser/CHANGELOG.md +308 -0
  1354. package/etc/mcp-server/node_modules/yargs-parser/LICENSE.txt +14 -0
  1355. package/etc/mcp-server/node_modules/yargs-parser/README.md +518 -0
  1356. package/etc/mcp-server/node_modules/yargs-parser/browser.js +29 -0
  1357. package/etc/mcp-server/node_modules/yargs-parser/build/index.cjs +1050 -0
  1358. package/etc/mcp-server/node_modules/yargs-parser/build/lib/index.js +62 -0
  1359. package/etc/mcp-server/node_modules/yargs-parser/build/lib/string-utils.js +65 -0
  1360. package/etc/mcp-server/node_modules/yargs-parser/build/lib/tokenize-arg-string.js +40 -0
  1361. package/etc/mcp-server/node_modules/yargs-parser/build/lib/yargs-parser-types.js +12 -0
  1362. package/etc/mcp-server/node_modules/yargs-parser/build/lib/yargs-parser.js +1045 -0
  1363. package/etc/mcp-server/node_modules/yargs-parser/package.json +92 -0
  1364. package/etc/mcp-server/package.json +2 -1
  1365. package/etc/mcp-server/server.js +15 -1
  1366. package/etc/mcp-server/tools.js +84 -17
  1367. package/etc/mcp-server/wrap-bin.js +60 -0
  1368. package/etc/mcp-server/wrap.js +81 -0
  1369. package/package.json +1 -1
  1370. package/etc/mcp-server/node_modules/bindings/README.md +0 -98
  1371. package/etc/mcp-server/node_modules/bindings/bindings.js +0 -221
  1372. package/etc/mcp-server/node_modules/bindings/package.json +0 -28
  1373. package/etc/mcp-server/node_modules/bl/.travis.yml +0 -17
  1374. package/etc/mcp-server/node_modules/bl/BufferList.js +0 -396
  1375. package/etc/mcp-server/node_modules/bl/README.md +0 -247
  1376. package/etc/mcp-server/node_modules/bl/bl.js +0 -84
  1377. package/etc/mcp-server/node_modules/bl/package.json +0 -37
  1378. package/etc/mcp-server/node_modules/bl/test/convert.js +0 -21
  1379. package/etc/mcp-server/node_modules/bl/test/indexOf.js +0 -492
  1380. package/etc/mcp-server/node_modules/bl/test/isBufferList.js +0 -32
  1381. package/etc/mcp-server/node_modules/bl/test/test.js +0 -869
  1382. package/etc/mcp-server/node_modules/chownr/README.md +0 -3
  1383. package/etc/mcp-server/node_modules/chownr/chownr.js +0 -167
  1384. package/etc/mcp-server/node_modules/chownr/package.json +0 -29
  1385. package/etc/mcp-server/node_modules/file-uri-to-path/.travis.yml +0 -30
  1386. package/etc/mcp-server/node_modules/file-uri-to-path/History.md +0 -21
  1387. package/etc/mcp-server/node_modules/file-uri-to-path/README.md +0 -74
  1388. package/etc/mcp-server/node_modules/file-uri-to-path/index.d.ts +0 -2
  1389. package/etc/mcp-server/node_modules/file-uri-to-path/index.js +0 -66
  1390. package/etc/mcp-server/node_modules/file-uri-to-path/package.json +0 -32
  1391. package/etc/mcp-server/node_modules/file-uri-to-path/test/test.js +0 -24
  1392. package/etc/mcp-server/node_modules/file-uri-to-path/test/tests.json +0 -13
  1393. package/etc/mcp-server/node_modules/fs-constants/README.md +0 -26
  1394. package/etc/mcp-server/node_modules/fs-constants/browser.js +0 -1
  1395. package/etc/mcp-server/node_modules/fs-constants/index.js +0 -1
  1396. package/etc/mcp-server/node_modules/fs-constants/package.json +0 -19
  1397. package/etc/mcp-server/node_modules/mkdirp-classic/README.md +0 -18
  1398. package/etc/mcp-server/node_modules/mkdirp-classic/index.js +0 -98
  1399. package/etc/mcp-server/node_modules/mkdirp-classic/package.json +0 -18
  1400. package/etc/mcp-server/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  1401. package/etc/mcp-server/node_modules/readable-stream/GOVERNANCE.md +0 -136
  1402. package/etc/mcp-server/node_modules/readable-stream/errors-browser.js +0 -127
  1403. package/etc/mcp-server/node_modules/readable-stream/errors.js +0 -116
  1404. package/etc/mcp-server/node_modules/readable-stream/experimentalWarning.js +0 -17
  1405. package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
  1406. package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  1407. package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  1408. package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  1409. package/etc/mcp-server/node_modules/readable-stream/readable-browser.js +0 -9
  1410. package/etc/mcp-server/node_modules/readable-stream/readable.js +0 -16
  1411. package/etc/mcp-server/node_modules/tar-fs/test/fixtures/a/hello.txt +0 -1
  1412. package/etc/mcp-server/node_modules/tar-fs/test/fixtures/b/a/test.txt +0 -1
  1413. package/etc/mcp-server/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  1414. package/etc/mcp-server/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  1415. package/etc/mcp-server/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  1416. package/etc/mcp-server/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  1417. package/etc/mcp-server/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  1418. package/etc/mcp-server/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  1419. package/etc/mcp-server/node_modules/tar-fs/test/fixtures/e/file +0 -0
  1420. package/etc/mcp-server/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  1421. package/etc/mcp-server/node_modules/tar-fs/test/index.js +0 -346
  1422. package/etc/mcp-server/node_modules/tar-stream/sandbox.js +0 -11
  1423. package/etc/mcp-server/node_modules/util-deprecate/History.md +0 -16
  1424. package/etc/mcp-server/node_modules/util-deprecate/LICENSE +0 -24
  1425. package/etc/mcp-server/node_modules/util-deprecate/README.md +0 -53
  1426. package/etc/mcp-server/node_modules/util-deprecate/browser.js +0 -67
  1427. package/etc/mcp-server/node_modules/util-deprecate/node.js +0 -6
  1428. package/etc/mcp-server/node_modules/util-deprecate/package.json +0 -27
@@ -0,0 +1,2148 @@
1
+ // https://github.com/Ethan-Arrowood/undici-fetch
2
+
3
+ 'use strict'
4
+
5
+ const {
6
+ Response,
7
+ makeNetworkError,
8
+ makeAppropriateNetworkError,
9
+ filterResponse,
10
+ makeResponse
11
+ } = require('./response')
12
+ const { Headers } = require('./headers')
13
+ const { Request, makeRequest } = require('./request')
14
+ const zlib = require('zlib')
15
+ const {
16
+ bytesMatch,
17
+ makePolicyContainer,
18
+ clonePolicyContainer,
19
+ requestBadPort,
20
+ TAOCheck,
21
+ appendRequestOriginHeader,
22
+ responseLocationURL,
23
+ requestCurrentURL,
24
+ setRequestReferrerPolicyOnRedirect,
25
+ tryUpgradeRequestToAPotentiallyTrustworthyURL,
26
+ createOpaqueTimingInfo,
27
+ appendFetchMetadata,
28
+ corsCheck,
29
+ crossOriginResourcePolicyCheck,
30
+ determineRequestsReferrer,
31
+ coarsenedSharedCurrentTime,
32
+ createDeferredPromise,
33
+ isBlobLike,
34
+ sameOrigin,
35
+ isCancelled,
36
+ isAborted,
37
+ isErrorLike,
38
+ fullyReadBody,
39
+ readableStreamClose,
40
+ isomorphicEncode,
41
+ urlIsLocal,
42
+ urlIsHttpHttpsScheme,
43
+ urlHasHttpsScheme
44
+ } = require('./util')
45
+ const { kState, kHeaders, kGuard, kRealm } = require('./symbols')
46
+ const assert = require('assert')
47
+ const { safelyExtractBody } = require('./body')
48
+ const {
49
+ redirectStatusSet,
50
+ nullBodyStatus,
51
+ safeMethodsSet,
52
+ requestBodyHeader,
53
+ subresourceSet,
54
+ DOMException
55
+ } = require('./constants')
56
+ const { kHeadersList } = require('../core/symbols')
57
+ const EE = require('events')
58
+ const { Readable, pipeline } = require('stream')
59
+ const { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require('../core/util')
60
+ const { dataURLProcessor, serializeAMimeType } = require('./dataURL')
61
+ const { TransformStream } = require('stream/web')
62
+ const { getGlobalDispatcher } = require('../global')
63
+ const { webidl } = require('./webidl')
64
+ const { STATUS_CODES } = require('http')
65
+ const GET_OR_HEAD = ['GET', 'HEAD']
66
+
67
+ /** @type {import('buffer').resolveObjectURL} */
68
+ let resolveObjectURL
69
+ let ReadableStream = globalThis.ReadableStream
70
+
71
+ class Fetch extends EE {
72
+ constructor (dispatcher) {
73
+ super()
74
+
75
+ this.dispatcher = dispatcher
76
+ this.connection = null
77
+ this.dump = false
78
+ this.state = 'ongoing'
79
+ // 2 terminated listeners get added per request,
80
+ // but only 1 gets removed. If there are 20 redirects,
81
+ // 21 listeners will be added.
82
+ // See https://github.com/nodejs/undici/issues/1711
83
+ // TODO (fix): Find and fix root cause for leaked listener.
84
+ this.setMaxListeners(21)
85
+ }
86
+
87
+ terminate (reason) {
88
+ if (this.state !== 'ongoing') {
89
+ return
90
+ }
91
+
92
+ this.state = 'terminated'
93
+ this.connection?.destroy(reason)
94
+ this.emit('terminated', reason)
95
+ }
96
+
97
+ // https://fetch.spec.whatwg.org/#fetch-controller-abort
98
+ abort (error) {
99
+ if (this.state !== 'ongoing') {
100
+ return
101
+ }
102
+
103
+ // 1. Set controller’s state to "aborted".
104
+ this.state = 'aborted'
105
+
106
+ // 2. Let fallbackError be an "AbortError" DOMException.
107
+ // 3. Set error to fallbackError if it is not given.
108
+ if (!error) {
109
+ error = new DOMException('The operation was aborted.', 'AbortError')
110
+ }
111
+
112
+ // 4. Let serializedError be StructuredSerialize(error).
113
+ // If that threw an exception, catch it, and let
114
+ // serializedError be StructuredSerialize(fallbackError).
115
+
116
+ // 5. Set controller’s serialized abort reason to serializedError.
117
+ this.serializedAbortReason = error
118
+
119
+ this.connection?.destroy(error)
120
+ this.emit('terminated', error)
121
+ }
122
+ }
123
+
124
+ // https://fetch.spec.whatwg.org/#fetch-method
125
+ function fetch (input, init = {}) {
126
+ webidl.argumentLengthCheck(arguments, 1, { header: 'globalThis.fetch' })
127
+
128
+ // 1. Let p be a new promise.
129
+ const p = createDeferredPromise()
130
+
131
+ // 2. Let requestObject be the result of invoking the initial value of
132
+ // Request as constructor with input and init as arguments. If this throws
133
+ // an exception, reject p with it and return p.
134
+ let requestObject
135
+
136
+ try {
137
+ requestObject = new Request(input, init)
138
+ } catch (e) {
139
+ p.reject(e)
140
+ return p.promise
141
+ }
142
+
143
+ // 3. Let request be requestObject’s request.
144
+ const request = requestObject[kState]
145
+
146
+ // 4. If requestObject’s signal’s aborted flag is set, then:
147
+ if (requestObject.signal.aborted) {
148
+ // 1. Abort the fetch() call with p, request, null, and
149
+ // requestObject’s signal’s abort reason.
150
+ abortFetch(p, request, null, requestObject.signal.reason)
151
+
152
+ // 2. Return p.
153
+ return p.promise
154
+ }
155
+
156
+ // 5. Let globalObject be request’s client’s global object.
157
+ const globalObject = request.client.globalObject
158
+
159
+ // 6. If globalObject is a ServiceWorkerGlobalScope object, then set
160
+ // request’s service-workers mode to "none".
161
+ if (globalObject?.constructor?.name === 'ServiceWorkerGlobalScope') {
162
+ request.serviceWorkers = 'none'
163
+ }
164
+
165
+ // 7. Let responseObject be null.
166
+ let responseObject = null
167
+
168
+ // 8. Let relevantRealm be this’s relevant Realm.
169
+ const relevantRealm = null
170
+
171
+ // 9. Let locallyAborted be false.
172
+ let locallyAborted = false
173
+
174
+ // 10. Let controller be null.
175
+ let controller = null
176
+
177
+ // 11. Add the following abort steps to requestObject’s signal:
178
+ addAbortListener(
179
+ requestObject.signal,
180
+ () => {
181
+ // 1. Set locallyAborted to true.
182
+ locallyAborted = true
183
+
184
+ // 2. Assert: controller is non-null.
185
+ assert(controller != null)
186
+
187
+ // 3. Abort controller with requestObject’s signal’s abort reason.
188
+ controller.abort(requestObject.signal.reason)
189
+
190
+ // 4. Abort the fetch() call with p, request, responseObject,
191
+ // and requestObject’s signal’s abort reason.
192
+ abortFetch(p, request, responseObject, requestObject.signal.reason)
193
+ }
194
+ )
195
+
196
+ // 12. Let handleFetchDone given response response be to finalize and
197
+ // report timing with response, globalObject, and "fetch".
198
+ const handleFetchDone = (response) =>
199
+ finalizeAndReportTiming(response, 'fetch')
200
+
201
+ // 13. Set controller to the result of calling fetch given request,
202
+ // with processResponseEndOfBody set to handleFetchDone, and processResponse
203
+ // given response being these substeps:
204
+
205
+ const processResponse = (response) => {
206
+ // 1. If locallyAborted is true, terminate these substeps.
207
+ if (locallyAborted) {
208
+ return Promise.resolve()
209
+ }
210
+
211
+ // 2. If response’s aborted flag is set, then:
212
+ if (response.aborted) {
213
+ // 1. Let deserializedError be the result of deserialize a serialized
214
+ // abort reason given controller’s serialized abort reason and
215
+ // relevantRealm.
216
+
217
+ // 2. Abort the fetch() call with p, request, responseObject, and
218
+ // deserializedError.
219
+
220
+ abortFetch(p, request, responseObject, controller.serializedAbortReason)
221
+ return Promise.resolve()
222
+ }
223
+
224
+ // 3. If response is a network error, then reject p with a TypeError
225
+ // and terminate these substeps.
226
+ if (response.type === 'error') {
227
+ p.reject(
228
+ Object.assign(new TypeError('fetch failed'), { cause: response.error })
229
+ )
230
+ return Promise.resolve()
231
+ }
232
+
233
+ // 4. Set responseObject to the result of creating a Response object,
234
+ // given response, "immutable", and relevantRealm.
235
+ responseObject = new Response()
236
+ responseObject[kState] = response
237
+ responseObject[kRealm] = relevantRealm
238
+ responseObject[kHeaders][kHeadersList] = response.headersList
239
+ responseObject[kHeaders][kGuard] = 'immutable'
240
+ responseObject[kHeaders][kRealm] = relevantRealm
241
+
242
+ // 5. Resolve p with responseObject.
243
+ p.resolve(responseObject)
244
+ }
245
+
246
+ controller = fetching({
247
+ request,
248
+ processResponseEndOfBody: handleFetchDone,
249
+ processResponse,
250
+ dispatcher: init.dispatcher ?? getGlobalDispatcher() // undici
251
+ })
252
+
253
+ // 14. Return p.
254
+ return p.promise
255
+ }
256
+
257
+ // https://fetch.spec.whatwg.org/#finalize-and-report-timing
258
+ function finalizeAndReportTiming (response, initiatorType = 'other') {
259
+ // 1. If response is an aborted network error, then return.
260
+ if (response.type === 'error' && response.aborted) {
261
+ return
262
+ }
263
+
264
+ // 2. If response’s URL list is null or empty, then return.
265
+ if (!response.urlList?.length) {
266
+ return
267
+ }
268
+
269
+ // 3. Let originalURL be response’s URL list[0].
270
+ const originalURL = response.urlList[0]
271
+
272
+ // 4. Let timingInfo be response’s timing info.
273
+ let timingInfo = response.timingInfo
274
+
275
+ // 5. Let cacheState be response’s cache state.
276
+ let cacheState = response.cacheState
277
+
278
+ // 6. If originalURL’s scheme is not an HTTP(S) scheme, then return.
279
+ if (!urlIsHttpHttpsScheme(originalURL)) {
280
+ return
281
+ }
282
+
283
+ // 7. If timingInfo is null, then return.
284
+ if (timingInfo === null) {
285
+ return
286
+ }
287
+
288
+ // 8. If response’s timing allow passed flag is not set, then:
289
+ if (!response.timingAllowPassed) {
290
+ // 1. Set timingInfo to a the result of creating an opaque timing info for timingInfo.
291
+ timingInfo = createOpaqueTimingInfo({
292
+ startTime: timingInfo.startTime
293
+ })
294
+
295
+ // 2. Set cacheState to the empty string.
296
+ cacheState = ''
297
+ }
298
+
299
+ // 9. Set timingInfo’s end time to the coarsened shared current time
300
+ // given global’s relevant settings object’s cross-origin isolated
301
+ // capability.
302
+ // TODO: given global’s relevant settings object’s cross-origin isolated
303
+ // capability?
304
+ timingInfo.endTime = coarsenedSharedCurrentTime()
305
+
306
+ // 10. Set response’s timing info to timingInfo.
307
+ response.timingInfo = timingInfo
308
+
309
+ // 11. Mark resource timing for timingInfo, originalURL, initiatorType,
310
+ // global, and cacheState.
311
+ markResourceTiming(
312
+ timingInfo,
313
+ originalURL,
314
+ initiatorType,
315
+ globalThis,
316
+ cacheState
317
+ )
318
+ }
319
+
320
+ // https://w3c.github.io/resource-timing/#dfn-mark-resource-timing
321
+ function markResourceTiming (timingInfo, originalURL, initiatorType, globalThis, cacheState) {
322
+ if (nodeMajor > 18 || (nodeMajor === 18 && nodeMinor >= 2)) {
323
+ performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis, cacheState)
324
+ }
325
+ }
326
+
327
+ // https://fetch.spec.whatwg.org/#abort-fetch
328
+ function abortFetch (p, request, responseObject, error) {
329
+ // Note: AbortSignal.reason was added in node v17.2.0
330
+ // which would give us an undefined error to reject with.
331
+ // Remove this once node v16 is no longer supported.
332
+ if (!error) {
333
+ error = new DOMException('The operation was aborted.', 'AbortError')
334
+ }
335
+
336
+ // 1. Reject promise with error.
337
+ p.reject(error)
338
+
339
+ // 2. If request’s body is not null and is readable, then cancel request’s
340
+ // body with error.
341
+ if (request.body != null && isReadable(request.body?.stream)) {
342
+ request.body.stream.cancel(error).catch((err) => {
343
+ if (err.code === 'ERR_INVALID_STATE') {
344
+ // Node bug?
345
+ return
346
+ }
347
+ throw err
348
+ })
349
+ }
350
+
351
+ // 3. If responseObject is null, then return.
352
+ if (responseObject == null) {
353
+ return
354
+ }
355
+
356
+ // 4. Let response be responseObject’s response.
357
+ const response = responseObject[kState]
358
+
359
+ // 5. If response’s body is not null and is readable, then error response’s
360
+ // body with error.
361
+ if (response.body != null && isReadable(response.body?.stream)) {
362
+ response.body.stream.cancel(error).catch((err) => {
363
+ if (err.code === 'ERR_INVALID_STATE') {
364
+ // Node bug?
365
+ return
366
+ }
367
+ throw err
368
+ })
369
+ }
370
+ }
371
+
372
+ // https://fetch.spec.whatwg.org/#fetching
373
+ function fetching ({
374
+ request,
375
+ processRequestBodyChunkLength,
376
+ processRequestEndOfBody,
377
+ processResponse,
378
+ processResponseEndOfBody,
379
+ processResponseConsumeBody,
380
+ useParallelQueue = false,
381
+ dispatcher // undici
382
+ }) {
383
+ // 1. Let taskDestination be null.
384
+ let taskDestination = null
385
+
386
+ // 2. Let crossOriginIsolatedCapability be false.
387
+ let crossOriginIsolatedCapability = false
388
+
389
+ // 3. If request’s client is non-null, then:
390
+ if (request.client != null) {
391
+ // 1. Set taskDestination to request’s client’s global object.
392
+ taskDestination = request.client.globalObject
393
+
394
+ // 2. Set crossOriginIsolatedCapability to request’s client’s cross-origin
395
+ // isolated capability.
396
+ crossOriginIsolatedCapability =
397
+ request.client.crossOriginIsolatedCapability
398
+ }
399
+
400
+ // 4. If useParallelQueue is true, then set taskDestination to the result of
401
+ // starting a new parallel queue.
402
+ // TODO
403
+
404
+ // 5. Let timingInfo be a new fetch timing info whose start time and
405
+ // post-redirect start time are the coarsened shared current time given
406
+ // crossOriginIsolatedCapability.
407
+ const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability)
408
+ const timingInfo = createOpaqueTimingInfo({
409
+ startTime: currenTime
410
+ })
411
+
412
+ // 6. Let fetchParams be a new fetch params whose
413
+ // request is request,
414
+ // timing info is timingInfo,
415
+ // process request body chunk length is processRequestBodyChunkLength,
416
+ // process request end-of-body is processRequestEndOfBody,
417
+ // process response is processResponse,
418
+ // process response consume body is processResponseConsumeBody,
419
+ // process response end-of-body is processResponseEndOfBody,
420
+ // task destination is taskDestination,
421
+ // and cross-origin isolated capability is crossOriginIsolatedCapability.
422
+ const fetchParams = {
423
+ controller: new Fetch(dispatcher),
424
+ request,
425
+ timingInfo,
426
+ processRequestBodyChunkLength,
427
+ processRequestEndOfBody,
428
+ processResponse,
429
+ processResponseConsumeBody,
430
+ processResponseEndOfBody,
431
+ taskDestination,
432
+ crossOriginIsolatedCapability
433
+ }
434
+
435
+ // 7. If request’s body is a byte sequence, then set request’s body to
436
+ // request’s body as a body.
437
+ // NOTE: Since fetching is only called from fetch, body should already be
438
+ // extracted.
439
+ assert(!request.body || request.body.stream)
440
+
441
+ // 8. If request’s window is "client", then set request’s window to request’s
442
+ // client, if request’s client’s global object is a Window object; otherwise
443
+ // "no-window".
444
+ if (request.window === 'client') {
445
+ // TODO: What if request.client is null?
446
+ request.window =
447
+ request.client?.globalObject?.constructor?.name === 'Window'
448
+ ? request.client
449
+ : 'no-window'
450
+ }
451
+
452
+ // 9. If request’s origin is "client", then set request’s origin to request’s
453
+ // client’s origin.
454
+ if (request.origin === 'client') {
455
+ // TODO: What if request.client is null?
456
+ request.origin = request.client?.origin
457
+ }
458
+
459
+ // 10. If all of the following conditions are true:
460
+ // TODO
461
+
462
+ // 11. If request’s policy container is "client", then:
463
+ if (request.policyContainer === 'client') {
464
+ // 1. If request’s client is non-null, then set request’s policy
465
+ // container to a clone of request’s client’s policy container. [HTML]
466
+ if (request.client != null) {
467
+ request.policyContainer = clonePolicyContainer(
468
+ request.client.policyContainer
469
+ )
470
+ } else {
471
+ // 2. Otherwise, set request’s policy container to a new policy
472
+ // container.
473
+ request.policyContainer = makePolicyContainer()
474
+ }
475
+ }
476
+
477
+ // 12. If request’s header list does not contain `Accept`, then:
478
+ if (!request.headersList.contains('accept')) {
479
+ // 1. Let value be `*/*`.
480
+ const value = '*/*'
481
+
482
+ // 2. A user agent should set value to the first matching statement, if
483
+ // any, switching on request’s destination:
484
+ // "document"
485
+ // "frame"
486
+ // "iframe"
487
+ // `text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8`
488
+ // "image"
489
+ // `image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5`
490
+ // "style"
491
+ // `text/css,*/*;q=0.1`
492
+ // TODO
493
+
494
+ // 3. Append `Accept`/value to request’s header list.
495
+ request.headersList.append('accept', value)
496
+ }
497
+
498
+ // 13. If request’s header list does not contain `Accept-Language`, then
499
+ // user agents should append `Accept-Language`/an appropriate value to
500
+ // request’s header list.
501
+ if (!request.headersList.contains('accept-language')) {
502
+ request.headersList.append('accept-language', '*')
503
+ }
504
+
505
+ // 14. If request’s priority is null, then use request’s initiator and
506
+ // destination appropriately in setting request’s priority to a
507
+ // user-agent-defined object.
508
+ if (request.priority === null) {
509
+ // TODO
510
+ }
511
+
512
+ // 15. If request is a subresource request, then:
513
+ if (subresourceSet.has(request.destination)) {
514
+ // TODO
515
+ }
516
+
517
+ // 16. Run main fetch given fetchParams.
518
+ mainFetch(fetchParams)
519
+ .catch(err => {
520
+ fetchParams.controller.terminate(err)
521
+ })
522
+
523
+ // 17. Return fetchParam's controller
524
+ return fetchParams.controller
525
+ }
526
+
527
+ // https://fetch.spec.whatwg.org/#concept-main-fetch
528
+ async function mainFetch (fetchParams, recursive = false) {
529
+ // 1. Let request be fetchParams’s request.
530
+ const request = fetchParams.request
531
+
532
+ // 2. Let response be null.
533
+ let response = null
534
+
535
+ // 3. If request’s local-URLs-only flag is set and request’s current URL is
536
+ // not local, then set response to a network error.
537
+ if (request.localURLsOnly && !urlIsLocal(requestCurrentURL(request))) {
538
+ response = makeNetworkError('local URLs only')
539
+ }
540
+
541
+ // 4. Run report Content Security Policy violations for request.
542
+ // TODO
543
+
544
+ // 5. Upgrade request to a potentially trustworthy URL, if appropriate.
545
+ tryUpgradeRequestToAPotentiallyTrustworthyURL(request)
546
+
547
+ // 6. If should request be blocked due to a bad port, should fetching request
548
+ // be blocked as mixed content, or should request be blocked by Content
549
+ // Security Policy returns blocked, then set response to a network error.
550
+ if (requestBadPort(request) === 'blocked') {
551
+ response = makeNetworkError('bad port')
552
+ }
553
+ // TODO: should fetching request be blocked as mixed content?
554
+ // TODO: should request be blocked by Content Security Policy?
555
+
556
+ // 7. If request’s referrer policy is the empty string, then set request’s
557
+ // referrer policy to request’s policy container’s referrer policy.
558
+ if (request.referrerPolicy === '') {
559
+ request.referrerPolicy = request.policyContainer.referrerPolicy
560
+ }
561
+
562
+ // 8. If request’s referrer is not "no-referrer", then set request’s
563
+ // referrer to the result of invoking determine request’s referrer.
564
+ if (request.referrer !== 'no-referrer') {
565
+ request.referrer = determineRequestsReferrer(request)
566
+ }
567
+
568
+ // 9. Set request’s current URL’s scheme to "https" if all of the following
569
+ // conditions are true:
570
+ // - request’s current URL’s scheme is "http"
571
+ // - request’s current URL’s host is a domain
572
+ // - Matching request’s current URL’s host per Known HSTS Host Domain Name
573
+ // Matching results in either a superdomain match with an asserted
574
+ // includeSubDomains directive or a congruent match (with or without an
575
+ // asserted includeSubDomains directive). [HSTS]
576
+ // TODO
577
+
578
+ // 10. If recursive is false, then run the remaining steps in parallel.
579
+ // TODO
580
+
581
+ // 11. If response is null, then set response to the result of running
582
+ // the steps corresponding to the first matching statement:
583
+ if (response === null) {
584
+ response = await (async () => {
585
+ const currentURL = requestCurrentURL(request)
586
+
587
+ if (
588
+ // - request’s current URL’s origin is same origin with request’s origin,
589
+ // and request’s response tainting is "basic"
590
+ (sameOrigin(currentURL, request.url) && request.responseTainting === 'basic') ||
591
+ // request’s current URL’s scheme is "data"
592
+ (currentURL.protocol === 'data:') ||
593
+ // - request’s mode is "navigate" or "websocket"
594
+ (request.mode === 'navigate' || request.mode === 'websocket')
595
+ ) {
596
+ // 1. Set request’s response tainting to "basic".
597
+ request.responseTainting = 'basic'
598
+
599
+ // 2. Return the result of running scheme fetch given fetchParams.
600
+ return await schemeFetch(fetchParams)
601
+ }
602
+
603
+ // request’s mode is "same-origin"
604
+ if (request.mode === 'same-origin') {
605
+ // 1. Return a network error.
606
+ return makeNetworkError('request mode cannot be "same-origin"')
607
+ }
608
+
609
+ // request’s mode is "no-cors"
610
+ if (request.mode === 'no-cors') {
611
+ // 1. If request’s redirect mode is not "follow", then return a network
612
+ // error.
613
+ if (request.redirect !== 'follow') {
614
+ return makeNetworkError(
615
+ 'redirect mode cannot be "follow" for "no-cors" request'
616
+ )
617
+ }
618
+
619
+ // 2. Set request’s response tainting to "opaque".
620
+ request.responseTainting = 'opaque'
621
+
622
+ // 3. Return the result of running scheme fetch given fetchParams.
623
+ return await schemeFetch(fetchParams)
624
+ }
625
+
626
+ // request’s current URL’s scheme is not an HTTP(S) scheme
627
+ if (!urlIsHttpHttpsScheme(requestCurrentURL(request))) {
628
+ // Return a network error.
629
+ return makeNetworkError('URL scheme must be a HTTP(S) scheme')
630
+ }
631
+
632
+ // - request’s use-CORS-preflight flag is set
633
+ // - request’s unsafe-request flag is set and either request’s method is
634
+ // not a CORS-safelisted method or CORS-unsafe request-header names with
635
+ // request’s header list is not empty
636
+ // 1. Set request’s response tainting to "cors".
637
+ // 2. Let corsWithPreflightResponse be the result of running HTTP fetch
638
+ // given fetchParams and true.
639
+ // 3. If corsWithPreflightResponse is a network error, then clear cache
640
+ // entries using request.
641
+ // 4. Return corsWithPreflightResponse.
642
+ // TODO
643
+
644
+ // Otherwise
645
+ // 1. Set request’s response tainting to "cors".
646
+ request.responseTainting = 'cors'
647
+
648
+ // 2. Return the result of running HTTP fetch given fetchParams.
649
+ return await httpFetch(fetchParams)
650
+ })()
651
+ }
652
+
653
+ // 12. If recursive is true, then return response.
654
+ if (recursive) {
655
+ return response
656
+ }
657
+
658
+ // 13. If response is not a network error and response is not a filtered
659
+ // response, then:
660
+ if (response.status !== 0 && !response.internalResponse) {
661
+ // If request’s response tainting is "cors", then:
662
+ if (request.responseTainting === 'cors') {
663
+ // 1. Let headerNames be the result of extracting header list values
664
+ // given `Access-Control-Expose-Headers` and response’s header list.
665
+ // TODO
666
+ // 2. If request’s credentials mode is not "include" and headerNames
667
+ // contains `*`, then set response’s CORS-exposed header-name list to
668
+ // all unique header names in response’s header list.
669
+ // TODO
670
+ // 3. Otherwise, if headerNames is not null or failure, then set
671
+ // response’s CORS-exposed header-name list to headerNames.
672
+ // TODO
673
+ }
674
+
675
+ // Set response to the following filtered response with response as its
676
+ // internal response, depending on request’s response tainting:
677
+ if (request.responseTainting === 'basic') {
678
+ response = filterResponse(response, 'basic')
679
+ } else if (request.responseTainting === 'cors') {
680
+ response = filterResponse(response, 'cors')
681
+ } else if (request.responseTainting === 'opaque') {
682
+ response = filterResponse(response, 'opaque')
683
+ } else {
684
+ assert(false)
685
+ }
686
+ }
687
+
688
+ // 14. Let internalResponse be response, if response is a network error,
689
+ // and response’s internal response otherwise.
690
+ let internalResponse =
691
+ response.status === 0 ? response : response.internalResponse
692
+
693
+ // 15. If internalResponse’s URL list is empty, then set it to a clone of
694
+ // request’s URL list.
695
+ if (internalResponse.urlList.length === 0) {
696
+ internalResponse.urlList.push(...request.urlList)
697
+ }
698
+
699
+ // 16. If request’s timing allow failed flag is unset, then set
700
+ // internalResponse’s timing allow passed flag.
701
+ if (!request.timingAllowFailed) {
702
+ response.timingAllowPassed = true
703
+ }
704
+
705
+ // 17. If response is not a network error and any of the following returns
706
+ // blocked
707
+ // - should internalResponse to request be blocked as mixed content
708
+ // - should internalResponse to request be blocked by Content Security Policy
709
+ // - should internalResponse to request be blocked due to its MIME type
710
+ // - should internalResponse to request be blocked due to nosniff
711
+ // TODO
712
+
713
+ // 18. If response’s type is "opaque", internalResponse’s status is 206,
714
+ // internalResponse’s range-requested flag is set, and request’s header
715
+ // list does not contain `Range`, then set response and internalResponse
716
+ // to a network error.
717
+ if (
718
+ response.type === 'opaque' &&
719
+ internalResponse.status === 206 &&
720
+ internalResponse.rangeRequested &&
721
+ !request.headers.contains('range')
722
+ ) {
723
+ response = internalResponse = makeNetworkError()
724
+ }
725
+
726
+ // 19. If response is not a network error and either request’s method is
727
+ // `HEAD` or `CONNECT`, or internalResponse’s status is a null body status,
728
+ // set internalResponse’s body to null and disregard any enqueuing toward
729
+ // it (if any).
730
+ if (
731
+ response.status !== 0 &&
732
+ (request.method === 'HEAD' ||
733
+ request.method === 'CONNECT' ||
734
+ nullBodyStatus.includes(internalResponse.status))
735
+ ) {
736
+ internalResponse.body = null
737
+ fetchParams.controller.dump = true
738
+ }
739
+
740
+ // 20. If request’s integrity metadata is not the empty string, then:
741
+ if (request.integrity) {
742
+ // 1. Let processBodyError be this step: run fetch finale given fetchParams
743
+ // and a network error.
744
+ const processBodyError = (reason) =>
745
+ fetchFinale(fetchParams, makeNetworkError(reason))
746
+
747
+ // 2. If request’s response tainting is "opaque", or response’s body is null,
748
+ // then run processBodyError and abort these steps.
749
+ if (request.responseTainting === 'opaque' || response.body == null) {
750
+ processBodyError(response.error)
751
+ return
752
+ }
753
+
754
+ // 3. Let processBody given bytes be these steps:
755
+ const processBody = (bytes) => {
756
+ // 1. If bytes do not match request’s integrity metadata,
757
+ // then run processBodyError and abort these steps. [SRI]
758
+ if (!bytesMatch(bytes, request.integrity)) {
759
+ processBodyError('integrity mismatch')
760
+ return
761
+ }
762
+
763
+ // 2. Set response’s body to bytes as a body.
764
+ response.body = safelyExtractBody(bytes)[0]
765
+
766
+ // 3. Run fetch finale given fetchParams and response.
767
+ fetchFinale(fetchParams, response)
768
+ }
769
+
770
+ // 4. Fully read response’s body given processBody and processBodyError.
771
+ await fullyReadBody(response.body, processBody, processBodyError)
772
+ } else {
773
+ // 21. Otherwise, run fetch finale given fetchParams and response.
774
+ fetchFinale(fetchParams, response)
775
+ }
776
+ }
777
+
778
+ // https://fetch.spec.whatwg.org/#concept-scheme-fetch
779
+ // given a fetch params fetchParams
780
+ function schemeFetch (fetchParams) {
781
+ // Note: since the connection is destroyed on redirect, which sets fetchParams to a
782
+ // cancelled state, we do not want this condition to trigger *unless* there have been
783
+ // no redirects. See https://github.com/nodejs/undici/issues/1776
784
+ // 1. If fetchParams is canceled, then return the appropriate network error for fetchParams.
785
+ if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
786
+ return Promise.resolve(makeAppropriateNetworkError(fetchParams))
787
+ }
788
+
789
+ // 2. Let request be fetchParams’s request.
790
+ const { request } = fetchParams
791
+
792
+ const { protocol: scheme } = requestCurrentURL(request)
793
+
794
+ // 3. Switch on request’s current URL’s scheme and run the associated steps:
795
+ switch (scheme) {
796
+ case 'about:': {
797
+ // If request’s current URL’s path is the string "blank", then return a new response
798
+ // whose status message is `OK`, header list is « (`Content-Type`, `text/html;charset=utf-8`) »,
799
+ // and body is the empty byte sequence as a body.
800
+
801
+ // Otherwise, return a network error.
802
+ return Promise.resolve(makeNetworkError('about scheme is not supported'))
803
+ }
804
+ case 'blob:': {
805
+ if (!resolveObjectURL) {
806
+ resolveObjectURL = require('buffer').resolveObjectURL
807
+ }
808
+
809
+ // 1. Let blobURLEntry be request’s current URL’s blob URL entry.
810
+ const blobURLEntry = requestCurrentURL(request)
811
+
812
+ // https://github.com/web-platform-tests/wpt/blob/7b0ebaccc62b566a1965396e5be7bb2bc06f841f/FileAPI/url/resources/fetch-tests.js#L52-L56
813
+ // Buffer.resolveObjectURL does not ignore URL queries.
814
+ if (blobURLEntry.search.length !== 0) {
815
+ return Promise.resolve(makeNetworkError('NetworkError when attempting to fetch resource.'))
816
+ }
817
+
818
+ const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString())
819
+
820
+ // 2. If request’s method is not `GET`, blobURLEntry is null, or blobURLEntry’s
821
+ // object is not a Blob object, then return a network error.
822
+ if (request.method !== 'GET' || !isBlobLike(blobURLEntryObject)) {
823
+ return Promise.resolve(makeNetworkError('invalid method'))
824
+ }
825
+
826
+ // 3. Let bodyWithType be the result of safely extracting blobURLEntry’s object.
827
+ const bodyWithType = safelyExtractBody(blobURLEntryObject)
828
+
829
+ // 4. Let body be bodyWithType’s body.
830
+ const body = bodyWithType[0]
831
+
832
+ // 5. Let length be body’s length, serialized and isomorphic encoded.
833
+ const length = isomorphicEncode(`${body.length}`)
834
+
835
+ // 6. Let type be bodyWithType’s type if it is non-null; otherwise the empty byte sequence.
836
+ const type = bodyWithType[1] ?? ''
837
+
838
+ // 7. Return a new response whose status message is `OK`, header list is
839
+ // « (`Content-Length`, length), (`Content-Type`, type) », and body is body.
840
+ const response = makeResponse({
841
+ statusText: 'OK',
842
+ headersList: [
843
+ ['content-length', { name: 'Content-Length', value: length }],
844
+ ['content-type', { name: 'Content-Type', value: type }]
845
+ ]
846
+ })
847
+
848
+ response.body = body
849
+
850
+ return Promise.resolve(response)
851
+ }
852
+ case 'data:': {
853
+ // 1. Let dataURLStruct be the result of running the
854
+ // data: URL processor on request’s current URL.
855
+ const currentURL = requestCurrentURL(request)
856
+ const dataURLStruct = dataURLProcessor(currentURL)
857
+
858
+ // 2. If dataURLStruct is failure, then return a
859
+ // network error.
860
+ if (dataURLStruct === 'failure') {
861
+ return Promise.resolve(makeNetworkError('failed to fetch the data URL'))
862
+ }
863
+
864
+ // 3. Let mimeType be dataURLStruct’s MIME type, serialized.
865
+ const mimeType = serializeAMimeType(dataURLStruct.mimeType)
866
+
867
+ // 4. Return a response whose status message is `OK`,
868
+ // header list is « (`Content-Type`, mimeType) »,
869
+ // and body is dataURLStruct’s body as a body.
870
+ return Promise.resolve(makeResponse({
871
+ statusText: 'OK',
872
+ headersList: [
873
+ ['content-type', { name: 'Content-Type', value: mimeType }]
874
+ ],
875
+ body: safelyExtractBody(dataURLStruct.body)[0]
876
+ }))
877
+ }
878
+ case 'file:': {
879
+ // For now, unfortunate as it is, file URLs are left as an exercise for the reader.
880
+ // When in doubt, return a network error.
881
+ return Promise.resolve(makeNetworkError('not implemented... yet...'))
882
+ }
883
+ case 'http:':
884
+ case 'https:': {
885
+ // Return the result of running HTTP fetch given fetchParams.
886
+
887
+ return httpFetch(fetchParams)
888
+ .catch((err) => makeNetworkError(err))
889
+ }
890
+ default: {
891
+ return Promise.resolve(makeNetworkError('unknown scheme'))
892
+ }
893
+ }
894
+ }
895
+
896
+ // https://fetch.spec.whatwg.org/#finalize-response
897
+ function finalizeResponse (fetchParams, response) {
898
+ // 1. Set fetchParams’s request’s done flag.
899
+ fetchParams.request.done = true
900
+
901
+ // 2, If fetchParams’s process response done is not null, then queue a fetch
902
+ // task to run fetchParams’s process response done given response, with
903
+ // fetchParams’s task destination.
904
+ if (fetchParams.processResponseDone != null) {
905
+ queueMicrotask(() => fetchParams.processResponseDone(response))
906
+ }
907
+ }
908
+
909
+ // https://fetch.spec.whatwg.org/#fetch-finale
910
+ function fetchFinale (fetchParams, response) {
911
+ // 1. If response is a network error, then:
912
+ if (response.type === 'error') {
913
+ // 1. Set response’s URL list to « fetchParams’s request’s URL list[0] ».
914
+ response.urlList = [fetchParams.request.urlList[0]]
915
+
916
+ // 2. Set response’s timing info to the result of creating an opaque timing
917
+ // info for fetchParams’s timing info.
918
+ response.timingInfo = createOpaqueTimingInfo({
919
+ startTime: fetchParams.timingInfo.startTime
920
+ })
921
+ }
922
+
923
+ // 2. Let processResponseEndOfBody be the following steps:
924
+ const processResponseEndOfBody = () => {
925
+ // 1. Set fetchParams’s request’s done flag.
926
+ fetchParams.request.done = true
927
+
928
+ // If fetchParams’s process response end-of-body is not null,
929
+ // then queue a fetch task to run fetchParams’s process response
930
+ // end-of-body given response with fetchParams’s task destination.
931
+ if (fetchParams.processResponseEndOfBody != null) {
932
+ queueMicrotask(() => fetchParams.processResponseEndOfBody(response))
933
+ }
934
+ }
935
+
936
+ // 3. If fetchParams’s process response is non-null, then queue a fetch task
937
+ // to run fetchParams’s process response given response, with fetchParams’s
938
+ // task destination.
939
+ if (fetchParams.processResponse != null) {
940
+ queueMicrotask(() => fetchParams.processResponse(response))
941
+ }
942
+
943
+ // 4. If response’s body is null, then run processResponseEndOfBody.
944
+ if (response.body == null) {
945
+ processResponseEndOfBody()
946
+ } else {
947
+ // 5. Otherwise:
948
+
949
+ // 1. Let transformStream be a new a TransformStream.
950
+
951
+ // 2. Let identityTransformAlgorithm be an algorithm which, given chunk,
952
+ // enqueues chunk in transformStream.
953
+ const identityTransformAlgorithm = (chunk, controller) => {
954
+ controller.enqueue(chunk)
955
+ }
956
+
957
+ // 3. Set up transformStream with transformAlgorithm set to identityTransformAlgorithm
958
+ // and flushAlgorithm set to processResponseEndOfBody.
959
+ const transformStream = new TransformStream({
960
+ start () {},
961
+ transform: identityTransformAlgorithm,
962
+ flush: processResponseEndOfBody
963
+ }, {
964
+ size () {
965
+ return 1
966
+ }
967
+ }, {
968
+ size () {
969
+ return 1
970
+ }
971
+ })
972
+
973
+ // 4. Set response’s body to the result of piping response’s body through transformStream.
974
+ response.body = { stream: response.body.stream.pipeThrough(transformStream) }
975
+ }
976
+
977
+ // 6. If fetchParams’s process response consume body is non-null, then:
978
+ if (fetchParams.processResponseConsumeBody != null) {
979
+ // 1. Let processBody given nullOrBytes be this step: run fetchParams’s
980
+ // process response consume body given response and nullOrBytes.
981
+ const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes)
982
+
983
+ // 2. Let processBodyError be this step: run fetchParams’s process
984
+ // response consume body given response and failure.
985
+ const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure)
986
+
987
+ // 3. If response’s body is null, then queue a fetch task to run processBody
988
+ // given null, with fetchParams’s task destination.
989
+ if (response.body == null) {
990
+ queueMicrotask(() => processBody(null))
991
+ } else {
992
+ // 4. Otherwise, fully read response’s body given processBody, processBodyError,
993
+ // and fetchParams’s task destination.
994
+ return fullyReadBody(response.body, processBody, processBodyError)
995
+ }
996
+ return Promise.resolve()
997
+ }
998
+ }
999
+
1000
+ // https://fetch.spec.whatwg.org/#http-fetch
1001
+ async function httpFetch (fetchParams) {
1002
+ // 1. Let request be fetchParams’s request.
1003
+ const request = fetchParams.request
1004
+
1005
+ // 2. Let response be null.
1006
+ let response = null
1007
+
1008
+ // 3. Let actualResponse be null.
1009
+ let actualResponse = null
1010
+
1011
+ // 4. Let timingInfo be fetchParams’s timing info.
1012
+ const timingInfo = fetchParams.timingInfo
1013
+
1014
+ // 5. If request’s service-workers mode is "all", then:
1015
+ if (request.serviceWorkers === 'all') {
1016
+ // TODO
1017
+ }
1018
+
1019
+ // 6. If response is null, then:
1020
+ if (response === null) {
1021
+ // 1. If makeCORSPreflight is true and one of these conditions is true:
1022
+ // TODO
1023
+
1024
+ // 2. If request’s redirect mode is "follow", then set request’s
1025
+ // service-workers mode to "none".
1026
+ if (request.redirect === 'follow') {
1027
+ request.serviceWorkers = 'none'
1028
+ }
1029
+
1030
+ // 3. Set response and actualResponse to the result of running
1031
+ // HTTP-network-or-cache fetch given fetchParams.
1032
+ actualResponse = response = await httpNetworkOrCacheFetch(fetchParams)
1033
+
1034
+ // 4. If request’s response tainting is "cors" and a CORS check
1035
+ // for request and response returns failure, then return a network error.
1036
+ if (
1037
+ request.responseTainting === 'cors' &&
1038
+ corsCheck(request, response) === 'failure'
1039
+ ) {
1040
+ return makeNetworkError('cors failure')
1041
+ }
1042
+
1043
+ // 5. If the TAO check for request and response returns failure, then set
1044
+ // request’s timing allow failed flag.
1045
+ if (TAOCheck(request, response) === 'failure') {
1046
+ request.timingAllowFailed = true
1047
+ }
1048
+ }
1049
+
1050
+ // 7. If either request’s response tainting or response’s type
1051
+ // is "opaque", and the cross-origin resource policy check with
1052
+ // request’s origin, request’s client, request’s destination,
1053
+ // and actualResponse returns blocked, then return a network error.
1054
+ if (
1055
+ (request.responseTainting === 'opaque' || response.type === 'opaque') &&
1056
+ crossOriginResourcePolicyCheck(
1057
+ request.origin,
1058
+ request.client,
1059
+ request.destination,
1060
+ actualResponse
1061
+ ) === 'blocked'
1062
+ ) {
1063
+ return makeNetworkError('blocked')
1064
+ }
1065
+
1066
+ // 8. If actualResponse’s status is a redirect status, then:
1067
+ if (redirectStatusSet.has(actualResponse.status)) {
1068
+ // 1. If actualResponse’s status is not 303, request’s body is not null,
1069
+ // and the connection uses HTTP/2, then user agents may, and are even
1070
+ // encouraged to, transmit an RST_STREAM frame.
1071
+ // See, https://github.com/whatwg/fetch/issues/1288
1072
+ if (request.redirect !== 'manual') {
1073
+ fetchParams.controller.connection.destroy()
1074
+ }
1075
+
1076
+ // 2. Switch on request’s redirect mode:
1077
+ if (request.redirect === 'error') {
1078
+ // Set response to a network error.
1079
+ response = makeNetworkError('unexpected redirect')
1080
+ } else if (request.redirect === 'manual') {
1081
+ // Set response to an opaque-redirect filtered response whose internal
1082
+ // response is actualResponse.
1083
+ // NOTE(spec): On the web this would return an `opaqueredirect` response,
1084
+ // but that doesn't make sense server side.
1085
+ // See https://github.com/nodejs/undici/issues/1193.
1086
+ response = actualResponse
1087
+ } else if (request.redirect === 'follow') {
1088
+ // Set response to the result of running HTTP-redirect fetch given
1089
+ // fetchParams and response.
1090
+ response = await httpRedirectFetch(fetchParams, response)
1091
+ } else {
1092
+ assert(false)
1093
+ }
1094
+ }
1095
+
1096
+ // 9. Set response’s timing info to timingInfo.
1097
+ response.timingInfo = timingInfo
1098
+
1099
+ // 10. Return response.
1100
+ return response
1101
+ }
1102
+
1103
+ // https://fetch.spec.whatwg.org/#http-redirect-fetch
1104
+ function httpRedirectFetch (fetchParams, response) {
1105
+ // 1. Let request be fetchParams’s request.
1106
+ const request = fetchParams.request
1107
+
1108
+ // 2. Let actualResponse be response, if response is not a filtered response,
1109
+ // and response’s internal response otherwise.
1110
+ const actualResponse = response.internalResponse
1111
+ ? response.internalResponse
1112
+ : response
1113
+
1114
+ // 3. Let locationURL be actualResponse’s location URL given request’s current
1115
+ // URL’s fragment.
1116
+ let locationURL
1117
+
1118
+ try {
1119
+ locationURL = responseLocationURL(
1120
+ actualResponse,
1121
+ requestCurrentURL(request).hash
1122
+ )
1123
+
1124
+ // 4. If locationURL is null, then return response.
1125
+ if (locationURL == null) {
1126
+ return response
1127
+ }
1128
+ } catch (err) {
1129
+ // 5. If locationURL is failure, then return a network error.
1130
+ return Promise.resolve(makeNetworkError(err))
1131
+ }
1132
+
1133
+ // 6. If locationURL’s scheme is not an HTTP(S) scheme, then return a network
1134
+ // error.
1135
+ if (!urlIsHttpHttpsScheme(locationURL)) {
1136
+ return Promise.resolve(makeNetworkError('URL scheme must be a HTTP(S) scheme'))
1137
+ }
1138
+
1139
+ // 7. If request’s redirect count is 20, then return a network error.
1140
+ if (request.redirectCount === 20) {
1141
+ return Promise.resolve(makeNetworkError('redirect count exceeded'))
1142
+ }
1143
+
1144
+ // 8. Increase request’s redirect count by 1.
1145
+ request.redirectCount += 1
1146
+
1147
+ // 9. If request’s mode is "cors", locationURL includes credentials, and
1148
+ // request’s origin is not same origin with locationURL’s origin, then return
1149
+ // a network error.
1150
+ if (
1151
+ request.mode === 'cors' &&
1152
+ (locationURL.username || locationURL.password) &&
1153
+ !sameOrigin(request, locationURL)
1154
+ ) {
1155
+ return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'))
1156
+ }
1157
+
1158
+ // 10. If request’s response tainting is "cors" and locationURL includes
1159
+ // credentials, then return a network error.
1160
+ if (
1161
+ request.responseTainting === 'cors' &&
1162
+ (locationURL.username || locationURL.password)
1163
+ ) {
1164
+ return Promise.resolve(makeNetworkError(
1165
+ 'URL cannot contain credentials for request mode "cors"'
1166
+ ))
1167
+ }
1168
+
1169
+ // 11. If actualResponse’s status is not 303, request’s body is non-null,
1170
+ // and request’s body’s source is null, then return a network error.
1171
+ if (
1172
+ actualResponse.status !== 303 &&
1173
+ request.body != null &&
1174
+ request.body.source == null
1175
+ ) {
1176
+ return Promise.resolve(makeNetworkError())
1177
+ }
1178
+
1179
+ // 12. If one of the following is true
1180
+ // - actualResponse’s status is 301 or 302 and request’s method is `POST`
1181
+ // - actualResponse’s status is 303 and request’s method is not `GET` or `HEAD`
1182
+ if (
1183
+ ([301, 302].includes(actualResponse.status) && request.method === 'POST') ||
1184
+ (actualResponse.status === 303 &&
1185
+ !GET_OR_HEAD.includes(request.method))
1186
+ ) {
1187
+ // then:
1188
+ // 1. Set request’s method to `GET` and request’s body to null.
1189
+ request.method = 'GET'
1190
+ request.body = null
1191
+
1192
+ // 2. For each headerName of request-body-header name, delete headerName from
1193
+ // request’s header list.
1194
+ for (const headerName of requestBodyHeader) {
1195
+ request.headersList.delete(headerName)
1196
+ }
1197
+ }
1198
+
1199
+ // 13. If request’s current URL’s origin is not same origin with locationURL’s
1200
+ // origin, then for each headerName of CORS non-wildcard request-header name,
1201
+ // delete headerName from request’s header list.
1202
+ if (!sameOrigin(requestCurrentURL(request), locationURL)) {
1203
+ // https://fetch.spec.whatwg.org/#cors-non-wildcard-request-header-name
1204
+ request.headersList.delete('authorization')
1205
+
1206
+ // https://fetch.spec.whatwg.org/#authentication-entries
1207
+ request.headersList.delete('proxy-authorization', true)
1208
+
1209
+ // "Cookie" and "Host" are forbidden request-headers, which undici doesn't implement.
1210
+ request.headersList.delete('cookie')
1211
+ request.headersList.delete('host')
1212
+ }
1213
+
1214
+ // 14. If request’s body is non-null, then set request’s body to the first return
1215
+ // value of safely extracting request’s body’s source.
1216
+ if (request.body != null) {
1217
+ assert(request.body.source != null)
1218
+ request.body = safelyExtractBody(request.body.source)[0]
1219
+ }
1220
+
1221
+ // 15. Let timingInfo be fetchParams’s timing info.
1222
+ const timingInfo = fetchParams.timingInfo
1223
+
1224
+ // 16. Set timingInfo’s redirect end time and post-redirect start time to the
1225
+ // coarsened shared current time given fetchParams’s cross-origin isolated
1226
+ // capability.
1227
+ timingInfo.redirectEndTime = timingInfo.postRedirectStartTime =
1228
+ coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability)
1229
+
1230
+ // 17. If timingInfo’s redirect start time is 0, then set timingInfo’s
1231
+ // redirect start time to timingInfo’s start time.
1232
+ if (timingInfo.redirectStartTime === 0) {
1233
+ timingInfo.redirectStartTime = timingInfo.startTime
1234
+ }
1235
+
1236
+ // 18. Append locationURL to request’s URL list.
1237
+ request.urlList.push(locationURL)
1238
+
1239
+ // 19. Invoke set request’s referrer policy on redirect on request and
1240
+ // actualResponse.
1241
+ setRequestReferrerPolicyOnRedirect(request, actualResponse)
1242
+
1243
+ // 20. Return the result of running main fetch given fetchParams and true.
1244
+ return mainFetch(fetchParams, true)
1245
+ }
1246
+
1247
+ // https://fetch.spec.whatwg.org/#http-network-or-cache-fetch
1248
+ async function httpNetworkOrCacheFetch (
1249
+ fetchParams,
1250
+ isAuthenticationFetch = false,
1251
+ isNewConnectionFetch = false
1252
+ ) {
1253
+ // 1. Let request be fetchParams’s request.
1254
+ const request = fetchParams.request
1255
+
1256
+ // 2. Let httpFetchParams be null.
1257
+ let httpFetchParams = null
1258
+
1259
+ // 3. Let httpRequest be null.
1260
+ let httpRequest = null
1261
+
1262
+ // 4. Let response be null.
1263
+ let response = null
1264
+
1265
+ // 5. Let storedResponse be null.
1266
+ // TODO: cache
1267
+
1268
+ // 6. Let httpCache be null.
1269
+ const httpCache = null
1270
+
1271
+ // 7. Let the revalidatingFlag be unset.
1272
+ const revalidatingFlag = false
1273
+
1274
+ // 8. Run these steps, but abort when the ongoing fetch is terminated:
1275
+
1276
+ // 1. If request’s window is "no-window" and request’s redirect mode is
1277
+ // "error", then set httpFetchParams to fetchParams and httpRequest to
1278
+ // request.
1279
+ if (request.window === 'no-window' && request.redirect === 'error') {
1280
+ httpFetchParams = fetchParams
1281
+ httpRequest = request
1282
+ } else {
1283
+ // Otherwise:
1284
+
1285
+ // 1. Set httpRequest to a clone of request.
1286
+ httpRequest = makeRequest(request)
1287
+
1288
+ // 2. Set httpFetchParams to a copy of fetchParams.
1289
+ httpFetchParams = { ...fetchParams }
1290
+
1291
+ // 3. Set httpFetchParams’s request to httpRequest.
1292
+ httpFetchParams.request = httpRequest
1293
+ }
1294
+
1295
+ // 3. Let includeCredentials be true if one of
1296
+ const includeCredentials =
1297
+ request.credentials === 'include' ||
1298
+ (request.credentials === 'same-origin' &&
1299
+ request.responseTainting === 'basic')
1300
+
1301
+ // 4. Let contentLength be httpRequest’s body’s length, if httpRequest’s
1302
+ // body is non-null; otherwise null.
1303
+ const contentLength = httpRequest.body ? httpRequest.body.length : null
1304
+
1305
+ // 5. Let contentLengthHeaderValue be null.
1306
+ let contentLengthHeaderValue = null
1307
+
1308
+ // 6. If httpRequest’s body is null and httpRequest’s method is `POST` or
1309
+ // `PUT`, then set contentLengthHeaderValue to `0`.
1310
+ if (
1311
+ httpRequest.body == null &&
1312
+ ['POST', 'PUT'].includes(httpRequest.method)
1313
+ ) {
1314
+ contentLengthHeaderValue = '0'
1315
+ }
1316
+
1317
+ // 7. If contentLength is non-null, then set contentLengthHeaderValue to
1318
+ // contentLength, serialized and isomorphic encoded.
1319
+ if (contentLength != null) {
1320
+ contentLengthHeaderValue = isomorphicEncode(`${contentLength}`)
1321
+ }
1322
+
1323
+ // 8. If contentLengthHeaderValue is non-null, then append
1324
+ // `Content-Length`/contentLengthHeaderValue to httpRequest’s header
1325
+ // list.
1326
+ if (contentLengthHeaderValue != null) {
1327
+ httpRequest.headersList.append('content-length', contentLengthHeaderValue)
1328
+ }
1329
+
1330
+ // 9. If contentLengthHeaderValue is non-null, then append (`Content-Length`,
1331
+ // contentLengthHeaderValue) to httpRequest’s header list.
1332
+
1333
+ // 10. If contentLength is non-null and httpRequest’s keepalive is true,
1334
+ // then:
1335
+ if (contentLength != null && httpRequest.keepalive) {
1336
+ // NOTE: keepalive is a noop outside of browser context.
1337
+ }
1338
+
1339
+ // 11. If httpRequest’s referrer is a URL, then append
1340
+ // `Referer`/httpRequest’s referrer, serialized and isomorphic encoded,
1341
+ // to httpRequest’s header list.
1342
+ if (httpRequest.referrer instanceof URL) {
1343
+ httpRequest.headersList.append('referer', isomorphicEncode(httpRequest.referrer.href))
1344
+ }
1345
+
1346
+ // 12. Append a request `Origin` header for httpRequest.
1347
+ appendRequestOriginHeader(httpRequest)
1348
+
1349
+ // 13. Append the Fetch metadata headers for httpRequest. [FETCH-METADATA]
1350
+ appendFetchMetadata(httpRequest)
1351
+
1352
+ // 14. If httpRequest’s header list does not contain `User-Agent`, then
1353
+ // user agents should append `User-Agent`/default `User-Agent` value to
1354
+ // httpRequest’s header list.
1355
+ if (!httpRequest.headersList.contains('user-agent')) {
1356
+ httpRequest.headersList.append('user-agent', typeof esbuildDetection === 'undefined' ? 'undici' : 'node')
1357
+ }
1358
+
1359
+ // 15. If httpRequest’s cache mode is "default" and httpRequest’s header
1360
+ // list contains `If-Modified-Since`, `If-None-Match`,
1361
+ // `If-Unmodified-Since`, `If-Match`, or `If-Range`, then set
1362
+ // httpRequest’s cache mode to "no-store".
1363
+ if (
1364
+ httpRequest.cache === 'default' &&
1365
+ (httpRequest.headersList.contains('if-modified-since') ||
1366
+ httpRequest.headersList.contains('if-none-match') ||
1367
+ httpRequest.headersList.contains('if-unmodified-since') ||
1368
+ httpRequest.headersList.contains('if-match') ||
1369
+ httpRequest.headersList.contains('if-range'))
1370
+ ) {
1371
+ httpRequest.cache = 'no-store'
1372
+ }
1373
+
1374
+ // 16. If httpRequest’s cache mode is "no-cache", httpRequest’s prevent
1375
+ // no-cache cache-control header modification flag is unset, and
1376
+ // httpRequest’s header list does not contain `Cache-Control`, then append
1377
+ // `Cache-Control`/`max-age=0` to httpRequest’s header list.
1378
+ if (
1379
+ httpRequest.cache === 'no-cache' &&
1380
+ !httpRequest.preventNoCacheCacheControlHeaderModification &&
1381
+ !httpRequest.headersList.contains('cache-control')
1382
+ ) {
1383
+ httpRequest.headersList.append('cache-control', 'max-age=0')
1384
+ }
1385
+
1386
+ // 17. If httpRequest’s cache mode is "no-store" or "reload", then:
1387
+ if (httpRequest.cache === 'no-store' || httpRequest.cache === 'reload') {
1388
+ // 1. If httpRequest’s header list does not contain `Pragma`, then append
1389
+ // `Pragma`/`no-cache` to httpRequest’s header list.
1390
+ if (!httpRequest.headersList.contains('pragma')) {
1391
+ httpRequest.headersList.append('pragma', 'no-cache')
1392
+ }
1393
+
1394
+ // 2. If httpRequest’s header list does not contain `Cache-Control`,
1395
+ // then append `Cache-Control`/`no-cache` to httpRequest’s header list.
1396
+ if (!httpRequest.headersList.contains('cache-control')) {
1397
+ httpRequest.headersList.append('cache-control', 'no-cache')
1398
+ }
1399
+ }
1400
+
1401
+ // 18. If httpRequest’s header list contains `Range`, then append
1402
+ // `Accept-Encoding`/`identity` to httpRequest’s header list.
1403
+ if (httpRequest.headersList.contains('range')) {
1404
+ httpRequest.headersList.append('accept-encoding', 'identity')
1405
+ }
1406
+
1407
+ // 19. Modify httpRequest’s header list per HTTP. Do not append a given
1408
+ // header if httpRequest’s header list contains that header’s name.
1409
+ // TODO: https://github.com/whatwg/fetch/issues/1285#issuecomment-896560129
1410
+ if (!httpRequest.headersList.contains('accept-encoding')) {
1411
+ if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
1412
+ httpRequest.headersList.append('accept-encoding', 'br, gzip, deflate')
1413
+ } else {
1414
+ httpRequest.headersList.append('accept-encoding', 'gzip, deflate')
1415
+ }
1416
+ }
1417
+
1418
+ httpRequest.headersList.delete('host')
1419
+
1420
+ // 20. If includeCredentials is true, then:
1421
+ if (includeCredentials) {
1422
+ // 1. If the user agent is not configured to block cookies for httpRequest
1423
+ // (see section 7 of [COOKIES]), then:
1424
+ // TODO: credentials
1425
+ // 2. If httpRequest’s header list does not contain `Authorization`, then:
1426
+ // TODO: credentials
1427
+ }
1428
+
1429
+ // 21. If there’s a proxy-authentication entry, use it as appropriate.
1430
+ // TODO: proxy-authentication
1431
+
1432
+ // 22. Set httpCache to the result of determining the HTTP cache
1433
+ // partition, given httpRequest.
1434
+ // TODO: cache
1435
+
1436
+ // 23. If httpCache is null, then set httpRequest’s cache mode to
1437
+ // "no-store".
1438
+ if (httpCache == null) {
1439
+ httpRequest.cache = 'no-store'
1440
+ }
1441
+
1442
+ // 24. If httpRequest’s cache mode is neither "no-store" nor "reload",
1443
+ // then:
1444
+ if (httpRequest.mode !== 'no-store' && httpRequest.mode !== 'reload') {
1445
+ // TODO: cache
1446
+ }
1447
+
1448
+ // 9. If aborted, then return the appropriate network error for fetchParams.
1449
+ // TODO
1450
+
1451
+ // 10. If response is null, then:
1452
+ if (response == null) {
1453
+ // 1. If httpRequest’s cache mode is "only-if-cached", then return a
1454
+ // network error.
1455
+ if (httpRequest.mode === 'only-if-cached') {
1456
+ return makeNetworkError('only if cached')
1457
+ }
1458
+
1459
+ // 2. Let forwardResponse be the result of running HTTP-network fetch
1460
+ // given httpFetchParams, includeCredentials, and isNewConnectionFetch.
1461
+ const forwardResponse = await httpNetworkFetch(
1462
+ httpFetchParams,
1463
+ includeCredentials,
1464
+ isNewConnectionFetch
1465
+ )
1466
+
1467
+ // 3. If httpRequest’s method is unsafe and forwardResponse’s status is
1468
+ // in the range 200 to 399, inclusive, invalidate appropriate stored
1469
+ // responses in httpCache, as per the "Invalidation" chapter of HTTP
1470
+ // Caching, and set storedResponse to null. [HTTP-CACHING]
1471
+ if (
1472
+ !safeMethodsSet.has(httpRequest.method) &&
1473
+ forwardResponse.status >= 200 &&
1474
+ forwardResponse.status <= 399
1475
+ ) {
1476
+ // TODO: cache
1477
+ }
1478
+
1479
+ // 4. If the revalidatingFlag is set and forwardResponse’s status is 304,
1480
+ // then:
1481
+ if (revalidatingFlag && forwardResponse.status === 304) {
1482
+ // TODO: cache
1483
+ }
1484
+
1485
+ // 5. If response is null, then:
1486
+ if (response == null) {
1487
+ // 1. Set response to forwardResponse.
1488
+ response = forwardResponse
1489
+
1490
+ // 2. Store httpRequest and forwardResponse in httpCache, as per the
1491
+ // "Storing Responses in Caches" chapter of HTTP Caching. [HTTP-CACHING]
1492
+ // TODO: cache
1493
+ }
1494
+ }
1495
+
1496
+ // 11. Set response’s URL list to a clone of httpRequest’s URL list.
1497
+ response.urlList = [...httpRequest.urlList]
1498
+
1499
+ // 12. If httpRequest’s header list contains `Range`, then set response’s
1500
+ // range-requested flag.
1501
+ if (httpRequest.headersList.contains('range')) {
1502
+ response.rangeRequested = true
1503
+ }
1504
+
1505
+ // 13. Set response’s request-includes-credentials to includeCredentials.
1506
+ response.requestIncludesCredentials = includeCredentials
1507
+
1508
+ // 14. If response’s status is 401, httpRequest’s response tainting is not
1509
+ // "cors", includeCredentials is true, and request’s window is an environment
1510
+ // settings object, then:
1511
+ // TODO
1512
+
1513
+ // 15. If response’s status is 407, then:
1514
+ if (response.status === 407) {
1515
+ // 1. If request’s window is "no-window", then return a network error.
1516
+ if (request.window === 'no-window') {
1517
+ return makeNetworkError()
1518
+ }
1519
+
1520
+ // 2. ???
1521
+
1522
+ // 3. If fetchParams is canceled, then return the appropriate network error for fetchParams.
1523
+ if (isCancelled(fetchParams)) {
1524
+ return makeAppropriateNetworkError(fetchParams)
1525
+ }
1526
+
1527
+ // 4. Prompt the end user as appropriate in request’s window and store
1528
+ // the result as a proxy-authentication entry. [HTTP-AUTH]
1529
+ // TODO: Invoke some kind of callback?
1530
+
1531
+ // 5. Set response to the result of running HTTP-network-or-cache fetch given
1532
+ // fetchParams.
1533
+ // TODO
1534
+ return makeNetworkError('proxy authentication required')
1535
+ }
1536
+
1537
+ // 16. If all of the following are true
1538
+ if (
1539
+ // response’s status is 421
1540
+ response.status === 421 &&
1541
+ // isNewConnectionFetch is false
1542
+ !isNewConnectionFetch &&
1543
+ // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
1544
+ (request.body == null || request.body.source != null)
1545
+ ) {
1546
+ // then:
1547
+
1548
+ // 1. If fetchParams is canceled, then return the appropriate network error for fetchParams.
1549
+ if (isCancelled(fetchParams)) {
1550
+ return makeAppropriateNetworkError(fetchParams)
1551
+ }
1552
+
1553
+ // 2. Set response to the result of running HTTP-network-or-cache
1554
+ // fetch given fetchParams, isAuthenticationFetch, and true.
1555
+
1556
+ // TODO (spec): The spec doesn't specify this but we need to cancel
1557
+ // the active response before we can start a new one.
1558
+ // https://github.com/whatwg/fetch/issues/1293
1559
+ fetchParams.controller.connection.destroy()
1560
+
1561
+ response = await httpNetworkOrCacheFetch(
1562
+ fetchParams,
1563
+ isAuthenticationFetch,
1564
+ true
1565
+ )
1566
+ }
1567
+
1568
+ // 17. If isAuthenticationFetch is true, then create an authentication entry
1569
+ if (isAuthenticationFetch) {
1570
+ // TODO
1571
+ }
1572
+
1573
+ // 18. Return response.
1574
+ return response
1575
+ }
1576
+
1577
+ // https://fetch.spec.whatwg.org/#http-network-fetch
1578
+ async function httpNetworkFetch (
1579
+ fetchParams,
1580
+ includeCredentials = false,
1581
+ forceNewConnection = false
1582
+ ) {
1583
+ assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed)
1584
+
1585
+ fetchParams.controller.connection = {
1586
+ abort: null,
1587
+ destroyed: false,
1588
+ destroy (err) {
1589
+ if (!this.destroyed) {
1590
+ this.destroyed = true
1591
+ this.abort?.(err ?? new DOMException('The operation was aborted.', 'AbortError'))
1592
+ }
1593
+ }
1594
+ }
1595
+
1596
+ // 1. Let request be fetchParams’s request.
1597
+ const request = fetchParams.request
1598
+
1599
+ // 2. Let response be null.
1600
+ let response = null
1601
+
1602
+ // 3. Let timingInfo be fetchParams’s timing info.
1603
+ const timingInfo = fetchParams.timingInfo
1604
+
1605
+ // 4. Let httpCache be the result of determining the HTTP cache partition,
1606
+ // given request.
1607
+ // TODO: cache
1608
+ const httpCache = null
1609
+
1610
+ // 5. If httpCache is null, then set request’s cache mode to "no-store".
1611
+ if (httpCache == null) {
1612
+ request.cache = 'no-store'
1613
+ }
1614
+
1615
+ // 6. Let networkPartitionKey be the result of determining the network
1616
+ // partition key given request.
1617
+ // TODO
1618
+
1619
+ // 7. Let newConnection be "yes" if forceNewConnection is true; otherwise
1620
+ // "no".
1621
+ const newConnection = forceNewConnection ? 'yes' : 'no' // eslint-disable-line no-unused-vars
1622
+
1623
+ // 8. Switch on request’s mode:
1624
+ if (request.mode === 'websocket') {
1625
+ // Let connection be the result of obtaining a WebSocket connection,
1626
+ // given request’s current URL.
1627
+ // TODO
1628
+ } else {
1629
+ // Let connection be the result of obtaining a connection, given
1630
+ // networkPartitionKey, request’s current URL’s origin,
1631
+ // includeCredentials, and forceNewConnection.
1632
+ // TODO
1633
+ }
1634
+
1635
+ // 9. Run these steps, but abort when the ongoing fetch is terminated:
1636
+
1637
+ // 1. If connection is failure, then return a network error.
1638
+
1639
+ // 2. Set timingInfo’s final connection timing info to the result of
1640
+ // calling clamp and coarsen connection timing info with connection’s
1641
+ // timing info, timingInfo’s post-redirect start time, and fetchParams’s
1642
+ // cross-origin isolated capability.
1643
+
1644
+ // 3. If connection is not an HTTP/2 connection, request’s body is non-null,
1645
+ // and request’s body’s source is null, then append (`Transfer-Encoding`,
1646
+ // `chunked`) to request’s header list.
1647
+
1648
+ // 4. Set timingInfo’s final network-request start time to the coarsened
1649
+ // shared current time given fetchParams’s cross-origin isolated
1650
+ // capability.
1651
+
1652
+ // 5. Set response to the result of making an HTTP request over connection
1653
+ // using request with the following caveats:
1654
+
1655
+ // - Follow the relevant requirements from HTTP. [HTTP] [HTTP-SEMANTICS]
1656
+ // [HTTP-COND] [HTTP-CACHING] [HTTP-AUTH]
1657
+
1658
+ // - If request’s body is non-null, and request’s body’s source is null,
1659
+ // then the user agent may have a buffer of up to 64 kibibytes and store
1660
+ // a part of request’s body in that buffer. If the user agent reads from
1661
+ // request’s body beyond that buffer’s size and the user agent needs to
1662
+ // resend request, then instead return a network error.
1663
+
1664
+ // - Set timingInfo’s final network-response start time to the coarsened
1665
+ // shared current time given fetchParams’s cross-origin isolated capability,
1666
+ // immediately after the user agent’s HTTP parser receives the first byte
1667
+ // of the response (e.g., frame header bytes for HTTP/2 or response status
1668
+ // line for HTTP/1.x).
1669
+
1670
+ // - Wait until all the headers are transmitted.
1671
+
1672
+ // - Any responses whose status is in the range 100 to 199, inclusive,
1673
+ // and is not 101, are to be ignored, except for the purposes of setting
1674
+ // timingInfo’s final network-response start time above.
1675
+
1676
+ // - If request’s header list contains `Transfer-Encoding`/`chunked` and
1677
+ // response is transferred via HTTP/1.0 or older, then return a network
1678
+ // error.
1679
+
1680
+ // - If the HTTP request results in a TLS client certificate dialog, then:
1681
+
1682
+ // 1. If request’s window is an environment settings object, make the
1683
+ // dialog available in request’s window.
1684
+
1685
+ // 2. Otherwise, return a network error.
1686
+
1687
+ // To transmit request’s body body, run these steps:
1688
+ let requestBody = null
1689
+ // 1. If body is null and fetchParams’s process request end-of-body is
1690
+ // non-null, then queue a fetch task given fetchParams’s process request
1691
+ // end-of-body and fetchParams’s task destination.
1692
+ if (request.body == null && fetchParams.processRequestEndOfBody) {
1693
+ queueMicrotask(() => fetchParams.processRequestEndOfBody())
1694
+ } else if (request.body != null) {
1695
+ // 2. Otherwise, if body is non-null:
1696
+
1697
+ // 1. Let processBodyChunk given bytes be these steps:
1698
+ const processBodyChunk = async function * (bytes) {
1699
+ // 1. If the ongoing fetch is terminated, then abort these steps.
1700
+ if (isCancelled(fetchParams)) {
1701
+ return
1702
+ }
1703
+
1704
+ // 2. Run this step in parallel: transmit bytes.
1705
+ yield bytes
1706
+
1707
+ // 3. If fetchParams’s process request body is non-null, then run
1708
+ // fetchParams’s process request body given bytes’s length.
1709
+ fetchParams.processRequestBodyChunkLength?.(bytes.byteLength)
1710
+ }
1711
+
1712
+ // 2. Let processEndOfBody be these steps:
1713
+ const processEndOfBody = () => {
1714
+ // 1. If fetchParams is canceled, then abort these steps.
1715
+ if (isCancelled(fetchParams)) {
1716
+ return
1717
+ }
1718
+
1719
+ // 2. If fetchParams’s process request end-of-body is non-null,
1720
+ // then run fetchParams’s process request end-of-body.
1721
+ if (fetchParams.processRequestEndOfBody) {
1722
+ fetchParams.processRequestEndOfBody()
1723
+ }
1724
+ }
1725
+
1726
+ // 3. Let processBodyError given e be these steps:
1727
+ const processBodyError = (e) => {
1728
+ // 1. If fetchParams is canceled, then abort these steps.
1729
+ if (isCancelled(fetchParams)) {
1730
+ return
1731
+ }
1732
+
1733
+ // 2. If e is an "AbortError" DOMException, then abort fetchParams’s controller.
1734
+ if (e.name === 'AbortError') {
1735
+ fetchParams.controller.abort()
1736
+ } else {
1737
+ fetchParams.controller.terminate(e)
1738
+ }
1739
+ }
1740
+
1741
+ // 4. Incrementally read request’s body given processBodyChunk, processEndOfBody,
1742
+ // processBodyError, and fetchParams’s task destination.
1743
+ requestBody = (async function * () {
1744
+ try {
1745
+ for await (const bytes of request.body.stream) {
1746
+ yield * processBodyChunk(bytes)
1747
+ }
1748
+ processEndOfBody()
1749
+ } catch (err) {
1750
+ processBodyError(err)
1751
+ }
1752
+ })()
1753
+ }
1754
+
1755
+ try {
1756
+ // socket is only provided for websockets
1757
+ const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody })
1758
+
1759
+ if (socket) {
1760
+ response = makeResponse({ status, statusText, headersList, socket })
1761
+ } else {
1762
+ const iterator = body[Symbol.asyncIterator]()
1763
+ fetchParams.controller.next = () => iterator.next()
1764
+
1765
+ response = makeResponse({ status, statusText, headersList })
1766
+ }
1767
+ } catch (err) {
1768
+ // 10. If aborted, then:
1769
+ if (err.name === 'AbortError') {
1770
+ // 1. If connection uses HTTP/2, then transmit an RST_STREAM frame.
1771
+ fetchParams.controller.connection.destroy()
1772
+
1773
+ // 2. Return the appropriate network error for fetchParams.
1774
+ return makeAppropriateNetworkError(fetchParams, err)
1775
+ }
1776
+
1777
+ return makeNetworkError(err)
1778
+ }
1779
+
1780
+ // 11. Let pullAlgorithm be an action that resumes the ongoing fetch
1781
+ // if it is suspended.
1782
+ const pullAlgorithm = () => {
1783
+ fetchParams.controller.resume()
1784
+ }
1785
+
1786
+ // 12. Let cancelAlgorithm be an algorithm that aborts fetchParams’s
1787
+ // controller with reason, given reason.
1788
+ const cancelAlgorithm = (reason) => {
1789
+ fetchParams.controller.abort(reason)
1790
+ }
1791
+
1792
+ // 13. Let highWaterMark be a non-negative, non-NaN number, chosen by
1793
+ // the user agent.
1794
+ // TODO
1795
+
1796
+ // 14. Let sizeAlgorithm be an algorithm that accepts a chunk object
1797
+ // and returns a non-negative, non-NaN, non-infinite number, chosen by the user agent.
1798
+ // TODO
1799
+
1800
+ // 15. Let stream be a new ReadableStream.
1801
+ // 16. Set up stream with pullAlgorithm set to pullAlgorithm,
1802
+ // cancelAlgorithm set to cancelAlgorithm, highWaterMark set to
1803
+ // highWaterMark, and sizeAlgorithm set to sizeAlgorithm.
1804
+ if (!ReadableStream) {
1805
+ ReadableStream = require('stream/web').ReadableStream
1806
+ }
1807
+
1808
+ const stream = new ReadableStream(
1809
+ {
1810
+ async start (controller) {
1811
+ fetchParams.controller.controller = controller
1812
+ },
1813
+ async pull (controller) {
1814
+ await pullAlgorithm(controller)
1815
+ },
1816
+ async cancel (reason) {
1817
+ await cancelAlgorithm(reason)
1818
+ }
1819
+ },
1820
+ {
1821
+ highWaterMark: 0,
1822
+ size () {
1823
+ return 1
1824
+ }
1825
+ }
1826
+ )
1827
+
1828
+ // 17. Run these steps, but abort when the ongoing fetch is terminated:
1829
+
1830
+ // 1. Set response’s body to a new body whose stream is stream.
1831
+ response.body = { stream }
1832
+
1833
+ // 2. If response is not a network error and request’s cache mode is
1834
+ // not "no-store", then update response in httpCache for request.
1835
+ // TODO
1836
+
1837
+ // 3. If includeCredentials is true and the user agent is not configured
1838
+ // to block cookies for request (see section 7 of [COOKIES]), then run the
1839
+ // "set-cookie-string" parsing algorithm (see section 5.2 of [COOKIES]) on
1840
+ // the value of each header whose name is a byte-case-insensitive match for
1841
+ // `Set-Cookie` in response’s header list, if any, and request’s current URL.
1842
+ // TODO
1843
+
1844
+ // 18. If aborted, then:
1845
+ // TODO
1846
+
1847
+ // 19. Run these steps in parallel:
1848
+
1849
+ // 1. Run these steps, but abort when fetchParams is canceled:
1850
+ fetchParams.controller.on('terminated', onAborted)
1851
+ fetchParams.controller.resume = async () => {
1852
+ // 1. While true
1853
+ while (true) {
1854
+ // 1-3. See onData...
1855
+
1856
+ // 4. Set bytes to the result of handling content codings given
1857
+ // codings and bytes.
1858
+ let bytes
1859
+ let isFailure
1860
+ try {
1861
+ const { done, value } = await fetchParams.controller.next()
1862
+
1863
+ if (isAborted(fetchParams)) {
1864
+ break
1865
+ }
1866
+
1867
+ bytes = done ? undefined : value
1868
+ } catch (err) {
1869
+ if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
1870
+ // zlib doesn't like empty streams.
1871
+ bytes = undefined
1872
+ } else {
1873
+ bytes = err
1874
+
1875
+ // err may be propagated from the result of calling readablestream.cancel,
1876
+ // which might not be an error. https://github.com/nodejs/undici/issues/2009
1877
+ isFailure = true
1878
+ }
1879
+ }
1880
+
1881
+ if (bytes === undefined) {
1882
+ // 2. Otherwise, if the bytes transmission for response’s message
1883
+ // body is done normally and stream is readable, then close
1884
+ // stream, finalize response for fetchParams and response, and
1885
+ // abort these in-parallel steps.
1886
+ readableStreamClose(fetchParams.controller.controller)
1887
+
1888
+ finalizeResponse(fetchParams, response)
1889
+
1890
+ return
1891
+ }
1892
+
1893
+ // 5. Increase timingInfo’s decoded body size by bytes’s length.
1894
+ timingInfo.decodedBodySize += bytes?.byteLength ?? 0
1895
+
1896
+ // 6. If bytes is failure, then terminate fetchParams’s controller.
1897
+ if (isFailure) {
1898
+ fetchParams.controller.terminate(bytes)
1899
+ return
1900
+ }
1901
+
1902
+ // 7. Enqueue a Uint8Array wrapping an ArrayBuffer containing bytes
1903
+ // into stream.
1904
+ fetchParams.controller.controller.enqueue(new Uint8Array(bytes))
1905
+
1906
+ // 8. If stream is errored, then terminate the ongoing fetch.
1907
+ if (isErrored(stream)) {
1908
+ fetchParams.controller.terminate()
1909
+ return
1910
+ }
1911
+
1912
+ // 9. If stream doesn’t need more data ask the user agent to suspend
1913
+ // the ongoing fetch.
1914
+ if (!fetchParams.controller.controller.desiredSize) {
1915
+ return
1916
+ }
1917
+ }
1918
+ }
1919
+
1920
+ // 2. If aborted, then:
1921
+ function onAborted (reason) {
1922
+ // 2. If fetchParams is aborted, then:
1923
+ if (isAborted(fetchParams)) {
1924
+ // 1. Set response’s aborted flag.
1925
+ response.aborted = true
1926
+
1927
+ // 2. If stream is readable, then error stream with the result of
1928
+ // deserialize a serialized abort reason given fetchParams’s
1929
+ // controller’s serialized abort reason and an
1930
+ // implementation-defined realm.
1931
+ if (isReadable(stream)) {
1932
+ fetchParams.controller.controller.error(
1933
+ fetchParams.controller.serializedAbortReason
1934
+ )
1935
+ }
1936
+ } else {
1937
+ // 3. Otherwise, if stream is readable, error stream with a TypeError.
1938
+ if (isReadable(stream)) {
1939
+ fetchParams.controller.controller.error(new TypeError('terminated', {
1940
+ cause: isErrorLike(reason) ? reason : undefined
1941
+ }))
1942
+ }
1943
+ }
1944
+
1945
+ // 4. If connection uses HTTP/2, then transmit an RST_STREAM frame.
1946
+ // 5. Otherwise, the user agent should close connection unless it would be bad for performance to do so.
1947
+ fetchParams.controller.connection.destroy()
1948
+ }
1949
+
1950
+ // 20. Return response.
1951
+ return response
1952
+
1953
+ async function dispatch ({ body }) {
1954
+ const url = requestCurrentURL(request)
1955
+ /** @type {import('../..').Agent} */
1956
+ const agent = fetchParams.controller.dispatcher
1957
+
1958
+ return new Promise((resolve, reject) => agent.dispatch(
1959
+ {
1960
+ path: url.pathname + url.search,
1961
+ origin: url.origin,
1962
+ method: request.method,
1963
+ body: fetchParams.controller.dispatcher.isMockActive ? request.body && (request.body.source || request.body.stream) : body,
1964
+ headers: request.headersList.entries,
1965
+ maxRedirections: 0,
1966
+ upgrade: request.mode === 'websocket' ? 'websocket' : undefined
1967
+ },
1968
+ {
1969
+ body: null,
1970
+ abort: null,
1971
+
1972
+ onConnect (abort) {
1973
+ // TODO (fix): Do we need connection here?
1974
+ const { connection } = fetchParams.controller
1975
+
1976
+ if (connection.destroyed) {
1977
+ abort(new DOMException('The operation was aborted.', 'AbortError'))
1978
+ } else {
1979
+ fetchParams.controller.on('terminated', abort)
1980
+ this.abort = connection.abort = abort
1981
+ }
1982
+ },
1983
+
1984
+ onHeaders (status, headersList, resume, statusText) {
1985
+ if (status < 200) {
1986
+ return
1987
+ }
1988
+
1989
+ let codings = []
1990
+ let location = ''
1991
+
1992
+ const headers = new Headers()
1993
+
1994
+ // For H2, the headers are a plain JS object
1995
+ // We distinguish between them and iterate accordingly
1996
+ if (Array.isArray(headersList)) {
1997
+ for (let n = 0; n < headersList.length; n += 2) {
1998
+ const key = headersList[n + 0].toString('latin1')
1999
+ const val = headersList[n + 1].toString('latin1')
2000
+ if (key.toLowerCase() === 'content-encoding') {
2001
+ // https://www.rfc-editor.org/rfc/rfc7231#section-3.1.2.1
2002
+ // "All content-coding values are case-insensitive..."
2003
+ codings = val.toLowerCase().split(',').map((x) => x.trim())
2004
+ } else if (key.toLowerCase() === 'location') {
2005
+ location = val
2006
+ }
2007
+
2008
+ headers[kHeadersList].append(key, val)
2009
+ }
2010
+ } else {
2011
+ const keys = Object.keys(headersList)
2012
+ for (const key of keys) {
2013
+ const val = headersList[key]
2014
+ if (key.toLowerCase() === 'content-encoding') {
2015
+ // https://www.rfc-editor.org/rfc/rfc7231#section-3.1.2.1
2016
+ // "All content-coding values are case-insensitive..."
2017
+ codings = val.toLowerCase().split(',').map((x) => x.trim()).reverse()
2018
+ } else if (key.toLowerCase() === 'location') {
2019
+ location = val
2020
+ }
2021
+
2022
+ headers[kHeadersList].append(key, val)
2023
+ }
2024
+ }
2025
+
2026
+ this.body = new Readable({ read: resume })
2027
+
2028
+ const decoders = []
2029
+
2030
+ const willFollow = request.redirect === 'follow' &&
2031
+ location &&
2032
+ redirectStatusSet.has(status)
2033
+
2034
+ // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding
2035
+ if (request.method !== 'HEAD' && request.method !== 'CONNECT' && !nullBodyStatus.includes(status) && !willFollow) {
2036
+ for (const coding of codings) {
2037
+ // https://www.rfc-editor.org/rfc/rfc9112.html#section-7.2
2038
+ if (coding === 'x-gzip' || coding === 'gzip') {
2039
+ decoders.push(zlib.createGunzip({
2040
+ // Be less strict when decoding compressed responses, since sometimes
2041
+ // servers send slightly invalid responses that are still accepted
2042
+ // by common browsers.
2043
+ // Always using Z_SYNC_FLUSH is what cURL does.
2044
+ flush: zlib.constants.Z_SYNC_FLUSH,
2045
+ finishFlush: zlib.constants.Z_SYNC_FLUSH
2046
+ }))
2047
+ } else if (coding === 'deflate') {
2048
+ decoders.push(zlib.createInflate())
2049
+ } else if (coding === 'br') {
2050
+ decoders.push(zlib.createBrotliDecompress())
2051
+ } else {
2052
+ decoders.length = 0
2053
+ break
2054
+ }
2055
+ }
2056
+ }
2057
+
2058
+ resolve({
2059
+ status,
2060
+ statusText,
2061
+ headersList: headers[kHeadersList],
2062
+ body: decoders.length
2063
+ ? pipeline(this.body, ...decoders, () => { })
2064
+ : this.body.on('error', () => {})
2065
+ })
2066
+
2067
+ return true
2068
+ },
2069
+
2070
+ onData (chunk) {
2071
+ if (fetchParams.controller.dump) {
2072
+ return
2073
+ }
2074
+
2075
+ // 1. If one or more bytes have been transmitted from response’s
2076
+ // message body, then:
2077
+
2078
+ // 1. Let bytes be the transmitted bytes.
2079
+ const bytes = chunk
2080
+
2081
+ // 2. Let codings be the result of extracting header list values
2082
+ // given `Content-Encoding` and response’s header list.
2083
+ // See pullAlgorithm.
2084
+
2085
+ // 3. Increase timingInfo’s encoded body size by bytes’s length.
2086
+ timingInfo.encodedBodySize += bytes.byteLength
2087
+
2088
+ // 4. See pullAlgorithm...
2089
+
2090
+ return this.body.push(bytes)
2091
+ },
2092
+
2093
+ onComplete () {
2094
+ if (this.abort) {
2095
+ fetchParams.controller.off('terminated', this.abort)
2096
+ }
2097
+
2098
+ fetchParams.controller.ended = true
2099
+
2100
+ this.body.push(null)
2101
+ },
2102
+
2103
+ onError (error) {
2104
+ if (this.abort) {
2105
+ fetchParams.controller.off('terminated', this.abort)
2106
+ }
2107
+
2108
+ this.body?.destroy(error)
2109
+
2110
+ fetchParams.controller.terminate(error)
2111
+
2112
+ reject(error)
2113
+ },
2114
+
2115
+ onUpgrade (status, headersList, socket) {
2116
+ if (status !== 101) {
2117
+ return
2118
+ }
2119
+
2120
+ const headers = new Headers()
2121
+
2122
+ for (let n = 0; n < headersList.length; n += 2) {
2123
+ const key = headersList[n + 0].toString('latin1')
2124
+ const val = headersList[n + 1].toString('latin1')
2125
+
2126
+ headers[kHeadersList].append(key, val)
2127
+ }
2128
+
2129
+ resolve({
2130
+ status,
2131
+ statusText: STATUS_CODES[status],
2132
+ headersList: headers[kHeadersList],
2133
+ socket
2134
+ })
2135
+
2136
+ return true
2137
+ }
2138
+ }
2139
+ ))
2140
+ }
2141
+ }
2142
+
2143
+ module.exports = {
2144
+ fetch,
2145
+ Fetch,
2146
+ fetching,
2147
+ finalizeAndReportTiming
2148
+ }