@venos-inc/venos 0.1.12 → 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,2283 @@
1
+ // @ts-check
2
+
3
+ 'use strict'
4
+
5
+ /* global WebAssembly */
6
+
7
+ const assert = require('assert')
8
+ const net = require('net')
9
+ const http = require('http')
10
+ const { pipeline } = require('stream')
11
+ const util = require('./core/util')
12
+ const timers = require('./timers')
13
+ const Request = require('./core/request')
14
+ const DispatcherBase = require('./dispatcher-base')
15
+ const {
16
+ RequestContentLengthMismatchError,
17
+ ResponseContentLengthMismatchError,
18
+ InvalidArgumentError,
19
+ RequestAbortedError,
20
+ HeadersTimeoutError,
21
+ HeadersOverflowError,
22
+ SocketError,
23
+ InformationalError,
24
+ BodyTimeoutError,
25
+ HTTPParserError,
26
+ ResponseExceededMaxSizeError,
27
+ ClientDestroyedError
28
+ } = require('./core/errors')
29
+ const buildConnector = require('./core/connect')
30
+ const {
31
+ kUrl,
32
+ kReset,
33
+ kServerName,
34
+ kClient,
35
+ kBusy,
36
+ kParser,
37
+ kConnect,
38
+ kBlocking,
39
+ kResuming,
40
+ kRunning,
41
+ kPending,
42
+ kSize,
43
+ kWriting,
44
+ kQueue,
45
+ kConnected,
46
+ kConnecting,
47
+ kNeedDrain,
48
+ kNoRef,
49
+ kKeepAliveDefaultTimeout,
50
+ kHostHeader,
51
+ kPendingIdx,
52
+ kRunningIdx,
53
+ kError,
54
+ kPipelining,
55
+ kSocket,
56
+ kKeepAliveTimeoutValue,
57
+ kMaxHeadersSize,
58
+ kKeepAliveMaxTimeout,
59
+ kKeepAliveTimeoutThreshold,
60
+ kHeadersTimeout,
61
+ kBodyTimeout,
62
+ kStrictContentLength,
63
+ kConnector,
64
+ kMaxRedirections,
65
+ kMaxRequests,
66
+ kCounter,
67
+ kClose,
68
+ kDestroy,
69
+ kDispatch,
70
+ kInterceptors,
71
+ kLocalAddress,
72
+ kMaxResponseSize,
73
+ kHTTPConnVersion,
74
+ // HTTP2
75
+ kHost,
76
+ kHTTP2Session,
77
+ kHTTP2SessionState,
78
+ kHTTP2BuildRequest,
79
+ kHTTP2CopyHeaders,
80
+ kHTTP1BuildRequest
81
+ } = require('./core/symbols')
82
+
83
+ /** @type {import('http2')} */
84
+ let http2
85
+ try {
86
+ http2 = require('http2')
87
+ } catch {
88
+ // @ts-ignore
89
+ http2 = { constants: {} }
90
+ }
91
+
92
+ const {
93
+ constants: {
94
+ HTTP2_HEADER_AUTHORITY,
95
+ HTTP2_HEADER_METHOD,
96
+ HTTP2_HEADER_PATH,
97
+ HTTP2_HEADER_SCHEME,
98
+ HTTP2_HEADER_CONTENT_LENGTH,
99
+ HTTP2_HEADER_EXPECT,
100
+ HTTP2_HEADER_STATUS
101
+ }
102
+ } = http2
103
+
104
+ // Experimental
105
+ let h2ExperimentalWarned = false
106
+
107
+ const FastBuffer = Buffer[Symbol.species]
108
+
109
+ const kClosedResolve = Symbol('kClosedResolve')
110
+
111
+ const channels = {}
112
+
113
+ try {
114
+ const diagnosticsChannel = require('diagnostics_channel')
115
+ channels.sendHeaders = diagnosticsChannel.channel('undici:client:sendHeaders')
116
+ channels.beforeConnect = diagnosticsChannel.channel('undici:client:beforeConnect')
117
+ channels.connectError = diagnosticsChannel.channel('undici:client:connectError')
118
+ channels.connected = diagnosticsChannel.channel('undici:client:connected')
119
+ } catch {
120
+ channels.sendHeaders = { hasSubscribers: false }
121
+ channels.beforeConnect = { hasSubscribers: false }
122
+ channels.connectError = { hasSubscribers: false }
123
+ channels.connected = { hasSubscribers: false }
124
+ }
125
+
126
+ /**
127
+ * @type {import('../types/client').default}
128
+ */
129
+ class Client extends DispatcherBase {
130
+ /**
131
+ *
132
+ * @param {string|URL} url
133
+ * @param {import('../types/client').Client.Options} options
134
+ */
135
+ constructor (url, {
136
+ interceptors,
137
+ maxHeaderSize,
138
+ headersTimeout,
139
+ socketTimeout,
140
+ requestTimeout,
141
+ connectTimeout,
142
+ bodyTimeout,
143
+ idleTimeout,
144
+ keepAlive,
145
+ keepAliveTimeout,
146
+ maxKeepAliveTimeout,
147
+ keepAliveMaxTimeout,
148
+ keepAliveTimeoutThreshold,
149
+ socketPath,
150
+ pipelining,
151
+ tls,
152
+ strictContentLength,
153
+ maxCachedSessions,
154
+ maxRedirections,
155
+ connect,
156
+ maxRequestsPerClient,
157
+ localAddress,
158
+ maxResponseSize,
159
+ autoSelectFamily,
160
+ autoSelectFamilyAttemptTimeout,
161
+ // h2
162
+ allowH2,
163
+ maxConcurrentStreams
164
+ } = {}) {
165
+ super()
166
+
167
+ if (keepAlive !== undefined) {
168
+ throw new InvalidArgumentError('unsupported keepAlive, use pipelining=0 instead')
169
+ }
170
+
171
+ if (socketTimeout !== undefined) {
172
+ throw new InvalidArgumentError('unsupported socketTimeout, use headersTimeout & bodyTimeout instead')
173
+ }
174
+
175
+ if (requestTimeout !== undefined) {
176
+ throw new InvalidArgumentError('unsupported requestTimeout, use headersTimeout & bodyTimeout instead')
177
+ }
178
+
179
+ if (idleTimeout !== undefined) {
180
+ throw new InvalidArgumentError('unsupported idleTimeout, use keepAliveTimeout instead')
181
+ }
182
+
183
+ if (maxKeepAliveTimeout !== undefined) {
184
+ throw new InvalidArgumentError('unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead')
185
+ }
186
+
187
+ if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
188
+ throw new InvalidArgumentError('invalid maxHeaderSize')
189
+ }
190
+
191
+ if (socketPath != null && typeof socketPath !== 'string') {
192
+ throw new InvalidArgumentError('invalid socketPath')
193
+ }
194
+
195
+ if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
196
+ throw new InvalidArgumentError('invalid connectTimeout')
197
+ }
198
+
199
+ if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
200
+ throw new InvalidArgumentError('invalid keepAliveTimeout')
201
+ }
202
+
203
+ if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
204
+ throw new InvalidArgumentError('invalid keepAliveMaxTimeout')
205
+ }
206
+
207
+ if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
208
+ throw new InvalidArgumentError('invalid keepAliveTimeoutThreshold')
209
+ }
210
+
211
+ if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
212
+ throw new InvalidArgumentError('headersTimeout must be a positive integer or zero')
213
+ }
214
+
215
+ if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
216
+ throw new InvalidArgumentError('bodyTimeout must be a positive integer or zero')
217
+ }
218
+
219
+ if (connect != null && typeof connect !== 'function' && typeof connect !== 'object') {
220
+ throw new InvalidArgumentError('connect must be a function or an object')
221
+ }
222
+
223
+ if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
224
+ throw new InvalidArgumentError('maxRedirections must be a positive number')
225
+ }
226
+
227
+ if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
228
+ throw new InvalidArgumentError('maxRequestsPerClient must be a positive number')
229
+ }
230
+
231
+ if (localAddress != null && (typeof localAddress !== 'string' || net.isIP(localAddress) === 0)) {
232
+ throw new InvalidArgumentError('localAddress must be valid string IP address')
233
+ }
234
+
235
+ if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
236
+ throw new InvalidArgumentError('maxResponseSize must be a positive number')
237
+ }
238
+
239
+ if (
240
+ autoSelectFamilyAttemptTimeout != null &&
241
+ (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)
242
+ ) {
243
+ throw new InvalidArgumentError('autoSelectFamilyAttemptTimeout must be a positive number')
244
+ }
245
+
246
+ // h2
247
+ if (allowH2 != null && typeof allowH2 !== 'boolean') {
248
+ throw new InvalidArgumentError('allowH2 must be a valid boolean value')
249
+ }
250
+
251
+ if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== 'number' || maxConcurrentStreams < 1)) {
252
+ throw new InvalidArgumentError('maxConcurrentStreams must be a possitive integer, greater than 0')
253
+ }
254
+
255
+ if (typeof connect !== 'function') {
256
+ connect = buildConnector({
257
+ ...tls,
258
+ maxCachedSessions,
259
+ allowH2,
260
+ socketPath,
261
+ timeout: connectTimeout,
262
+ ...(util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : undefined),
263
+ ...connect
264
+ })
265
+ }
266
+
267
+ this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client)
268
+ ? interceptors.Client
269
+ : [createRedirectInterceptor({ maxRedirections })]
270
+ this[kUrl] = util.parseOrigin(url)
271
+ this[kConnector] = connect
272
+ this[kSocket] = null
273
+ this[kPipelining] = pipelining != null ? pipelining : 1
274
+ this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize
275
+ this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout
276
+ this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 600e3 : keepAliveMaxTimeout
277
+ this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold
278
+ this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout]
279
+ this[kServerName] = null
280
+ this[kLocalAddress] = localAddress != null ? localAddress : null
281
+ this[kResuming] = 0 // 0, idle, 1, scheduled, 2 resuming
282
+ this[kNeedDrain] = 0 // 0, idle, 1, scheduled, 2 resuming
283
+ this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ''}\r\n`
284
+ this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 300e3
285
+ this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 300e3
286
+ this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength
287
+ this[kMaxRedirections] = maxRedirections
288
+ this[kMaxRequests] = maxRequestsPerClient
289
+ this[kClosedResolve] = null
290
+ this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1
291
+ this[kHTTPConnVersion] = 'h1'
292
+
293
+ // HTTP/2
294
+ this[kHTTP2Session] = null
295
+ this[kHTTP2SessionState] = !allowH2
296
+ ? null
297
+ : {
298
+ // streams: null, // Fixed queue of streams - For future support of `push`
299
+ openStreams: 0, // Keep track of them to decide wether or not unref the session
300
+ maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100 // Max peerConcurrentStreams for a Node h2 server
301
+ }
302
+ this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ''}`
303
+
304
+ // kQueue is built up of 3 sections separated by
305
+ // the kRunningIdx and kPendingIdx indices.
306
+ // | complete | running | pending |
307
+ // ^ kRunningIdx ^ kPendingIdx ^ kQueue.length
308
+ // kRunningIdx points to the first running element.
309
+ // kPendingIdx points to the first pending element.
310
+ // This implements a fast queue with an amortized
311
+ // time of O(1).
312
+
313
+ this[kQueue] = []
314
+ this[kRunningIdx] = 0
315
+ this[kPendingIdx] = 0
316
+ }
317
+
318
+ get pipelining () {
319
+ return this[kPipelining]
320
+ }
321
+
322
+ set pipelining (value) {
323
+ this[kPipelining] = value
324
+ resume(this, true)
325
+ }
326
+
327
+ get [kPending] () {
328
+ return this[kQueue].length - this[kPendingIdx]
329
+ }
330
+
331
+ get [kRunning] () {
332
+ return this[kPendingIdx] - this[kRunningIdx]
333
+ }
334
+
335
+ get [kSize] () {
336
+ return this[kQueue].length - this[kRunningIdx]
337
+ }
338
+
339
+ get [kConnected] () {
340
+ return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed
341
+ }
342
+
343
+ get [kBusy] () {
344
+ const socket = this[kSocket]
345
+ return (
346
+ (socket && (socket[kReset] || socket[kWriting] || socket[kBlocking])) ||
347
+ (this[kSize] >= (this[kPipelining] || 1)) ||
348
+ this[kPending] > 0
349
+ )
350
+ }
351
+
352
+ /* istanbul ignore: only used for test */
353
+ [kConnect] (cb) {
354
+ connect(this)
355
+ this.once('connect', cb)
356
+ }
357
+
358
+ [kDispatch] (opts, handler) {
359
+ const origin = opts.origin || this[kUrl].origin
360
+
361
+ const request = this[kHTTPConnVersion] === 'h2'
362
+ ? Request[kHTTP2BuildRequest](origin, opts, handler)
363
+ : Request[kHTTP1BuildRequest](origin, opts, handler)
364
+
365
+ this[kQueue].push(request)
366
+ if (this[kResuming]) {
367
+ // Do nothing.
368
+ } else if (util.bodyLength(request.body) == null && util.isIterable(request.body)) {
369
+ // Wait a tick in case stream/iterator is ended in the same tick.
370
+ this[kResuming] = 1
371
+ process.nextTick(resume, this)
372
+ } else {
373
+ resume(this, true)
374
+ }
375
+
376
+ if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
377
+ this[kNeedDrain] = 2
378
+ }
379
+
380
+ return this[kNeedDrain] < 2
381
+ }
382
+
383
+ async [kClose] () {
384
+ // TODO: for H2 we need to gracefully flush the remaining enqueued
385
+ // request and close each stream.
386
+ return new Promise((resolve) => {
387
+ if (!this[kSize]) {
388
+ resolve(null)
389
+ } else {
390
+ this[kClosedResolve] = resolve
391
+ }
392
+ })
393
+ }
394
+
395
+ async [kDestroy] (err) {
396
+ return new Promise((resolve) => {
397
+ const requests = this[kQueue].splice(this[kPendingIdx])
398
+ for (let i = 0; i < requests.length; i++) {
399
+ const request = requests[i]
400
+ errorRequest(this, request, err)
401
+ }
402
+
403
+ const callback = () => {
404
+ if (this[kClosedResolve]) {
405
+ // TODO (fix): Should we error here with ClientDestroyedError?
406
+ this[kClosedResolve]()
407
+ this[kClosedResolve] = null
408
+ }
409
+ resolve()
410
+ }
411
+
412
+ if (this[kHTTP2Session] != null) {
413
+ util.destroy(this[kHTTP2Session], err)
414
+ this[kHTTP2Session] = null
415
+ this[kHTTP2SessionState] = null
416
+ }
417
+
418
+ if (!this[kSocket]) {
419
+ queueMicrotask(callback)
420
+ } else {
421
+ util.destroy(this[kSocket].on('close', callback), err)
422
+ }
423
+
424
+ resume(this)
425
+ })
426
+ }
427
+ }
428
+
429
+ function onHttp2SessionError (err) {
430
+ assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID')
431
+
432
+ this[kSocket][kError] = err
433
+
434
+ onError(this[kClient], err)
435
+ }
436
+
437
+ function onHttp2FrameError (type, code, id) {
438
+ const err = new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`)
439
+
440
+ if (id === 0) {
441
+ this[kSocket][kError] = err
442
+ onError(this[kClient], err)
443
+ }
444
+ }
445
+
446
+ function onHttp2SessionEnd () {
447
+ util.destroy(this, new SocketError('other side closed'))
448
+ util.destroy(this[kSocket], new SocketError('other side closed'))
449
+ }
450
+
451
+ function onHTTP2GoAway (code) {
452
+ const client = this[kClient]
453
+ const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`)
454
+ client[kSocket] = null
455
+ client[kHTTP2Session] = null
456
+
457
+ if (client.destroyed) {
458
+ assert(this[kPending] === 0)
459
+
460
+ // Fail entire queue.
461
+ const requests = client[kQueue].splice(client[kRunningIdx])
462
+ for (let i = 0; i < requests.length; i++) {
463
+ const request = requests[i]
464
+ errorRequest(this, request, err)
465
+ }
466
+ } else if (client[kRunning] > 0) {
467
+ // Fail head of pipeline.
468
+ const request = client[kQueue][client[kRunningIdx]]
469
+ client[kQueue][client[kRunningIdx]++] = null
470
+
471
+ errorRequest(client, request, err)
472
+ }
473
+
474
+ client[kPendingIdx] = client[kRunningIdx]
475
+
476
+ assert(client[kRunning] === 0)
477
+
478
+ client.emit('disconnect',
479
+ client[kUrl],
480
+ [client],
481
+ err
482
+ )
483
+
484
+ resume(client)
485
+ }
486
+
487
+ const constants = require('./llhttp/constants')
488
+ const createRedirectInterceptor = require('./interceptor/redirectInterceptor')
489
+ const EMPTY_BUF = Buffer.alloc(0)
490
+
491
+ async function lazyllhttp () {
492
+ const llhttpWasmData = process.env.JEST_WORKER_ID ? require('./llhttp/llhttp-wasm.js') : undefined
493
+
494
+ let mod
495
+ try {
496
+ mod = await WebAssembly.compile(Buffer.from(require('./llhttp/llhttp_simd-wasm.js'), 'base64'))
497
+ } catch (e) {
498
+ /* istanbul ignore next */
499
+
500
+ // We could check if the error was caused by the simd option not
501
+ // being enabled, but the occurring of this other error
502
+ // * https://github.com/emscripten-core/emscripten/issues/11495
503
+ // got me to remove that check to avoid breaking Node 12.
504
+ mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require('./llhttp/llhttp-wasm.js'), 'base64'))
505
+ }
506
+
507
+ return await WebAssembly.instantiate(mod, {
508
+ env: {
509
+ /* eslint-disable camelcase */
510
+
511
+ wasm_on_url: (p, at, len) => {
512
+ /* istanbul ignore next */
513
+ return 0
514
+ },
515
+ wasm_on_status: (p, at, len) => {
516
+ assert.strictEqual(currentParser.ptr, p)
517
+ const start = at - currentBufferPtr + currentBufferRef.byteOffset
518
+ return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0
519
+ },
520
+ wasm_on_message_begin: (p) => {
521
+ assert.strictEqual(currentParser.ptr, p)
522
+ return currentParser.onMessageBegin() || 0
523
+ },
524
+ wasm_on_header_field: (p, at, len) => {
525
+ assert.strictEqual(currentParser.ptr, p)
526
+ const start = at - currentBufferPtr + currentBufferRef.byteOffset
527
+ return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0
528
+ },
529
+ wasm_on_header_value: (p, at, len) => {
530
+ assert.strictEqual(currentParser.ptr, p)
531
+ const start = at - currentBufferPtr + currentBufferRef.byteOffset
532
+ return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0
533
+ },
534
+ wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
535
+ assert.strictEqual(currentParser.ptr, p)
536
+ return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0
537
+ },
538
+ wasm_on_body: (p, at, len) => {
539
+ assert.strictEqual(currentParser.ptr, p)
540
+ const start = at - currentBufferPtr + currentBufferRef.byteOffset
541
+ return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0
542
+ },
543
+ wasm_on_message_complete: (p) => {
544
+ assert.strictEqual(currentParser.ptr, p)
545
+ return currentParser.onMessageComplete() || 0
546
+ }
547
+
548
+ /* eslint-enable camelcase */
549
+ }
550
+ })
551
+ }
552
+
553
+ let llhttpInstance = null
554
+ let llhttpPromise = lazyllhttp()
555
+ llhttpPromise.catch()
556
+
557
+ let currentParser = null
558
+ let currentBufferRef = null
559
+ let currentBufferSize = 0
560
+ let currentBufferPtr = null
561
+
562
+ const TIMEOUT_HEADERS = 1
563
+ const TIMEOUT_BODY = 2
564
+ const TIMEOUT_IDLE = 3
565
+
566
+ class Parser {
567
+ constructor (client, socket, { exports }) {
568
+ assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0)
569
+
570
+ this.llhttp = exports
571
+ this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE)
572
+ this.client = client
573
+ this.socket = socket
574
+ this.timeout = null
575
+ this.timeoutValue = null
576
+ this.timeoutType = null
577
+ this.statusCode = null
578
+ this.statusText = ''
579
+ this.upgrade = false
580
+ this.headers = []
581
+ this.headersSize = 0
582
+ this.headersMaxSize = client[kMaxHeadersSize]
583
+ this.shouldKeepAlive = false
584
+ this.paused = false
585
+ this.resume = this.resume.bind(this)
586
+
587
+ this.bytesRead = 0
588
+
589
+ this.keepAlive = ''
590
+ this.contentLength = ''
591
+ this.connection = ''
592
+ this.maxResponseSize = client[kMaxResponseSize]
593
+ }
594
+
595
+ setTimeout (value, type) {
596
+ this.timeoutType = type
597
+ if (value !== this.timeoutValue) {
598
+ timers.clearTimeout(this.timeout)
599
+ if (value) {
600
+ this.timeout = timers.setTimeout(onParserTimeout, value, this)
601
+ // istanbul ignore else: only for jest
602
+ if (this.timeout.unref) {
603
+ this.timeout.unref()
604
+ }
605
+ } else {
606
+ this.timeout = null
607
+ }
608
+ this.timeoutValue = value
609
+ } else if (this.timeout) {
610
+ // istanbul ignore else: only for jest
611
+ if (this.timeout.refresh) {
612
+ this.timeout.refresh()
613
+ }
614
+ }
615
+ }
616
+
617
+ resume () {
618
+ if (this.socket.destroyed || !this.paused) {
619
+ return
620
+ }
621
+
622
+ assert(this.ptr != null)
623
+ assert(currentParser == null)
624
+
625
+ this.llhttp.llhttp_resume(this.ptr)
626
+
627
+ assert(this.timeoutType === TIMEOUT_BODY)
628
+ if (this.timeout) {
629
+ // istanbul ignore else: only for jest
630
+ if (this.timeout.refresh) {
631
+ this.timeout.refresh()
632
+ }
633
+ }
634
+
635
+ this.paused = false
636
+ this.execute(this.socket.read() || EMPTY_BUF) // Flush parser.
637
+ this.readMore()
638
+ }
639
+
640
+ readMore () {
641
+ while (!this.paused && this.ptr) {
642
+ const chunk = this.socket.read()
643
+ if (chunk === null) {
644
+ break
645
+ }
646
+ this.execute(chunk)
647
+ }
648
+ }
649
+
650
+ execute (data) {
651
+ assert(this.ptr != null)
652
+ assert(currentParser == null)
653
+ assert(!this.paused)
654
+
655
+ const { socket, llhttp } = this
656
+
657
+ if (data.length > currentBufferSize) {
658
+ if (currentBufferPtr) {
659
+ llhttp.free(currentBufferPtr)
660
+ }
661
+ currentBufferSize = Math.ceil(data.length / 4096) * 4096
662
+ currentBufferPtr = llhttp.malloc(currentBufferSize)
663
+ }
664
+
665
+ new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data)
666
+
667
+ // Call `execute` on the wasm parser.
668
+ // We pass the `llhttp_parser` pointer address, the pointer address of buffer view data,
669
+ // and finally the length of bytes to parse.
670
+ // The return value is an error code or `constants.ERROR.OK`.
671
+ try {
672
+ let ret
673
+
674
+ try {
675
+ currentBufferRef = data
676
+ currentParser = this
677
+ ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length)
678
+ /* eslint-disable-next-line no-useless-catch */
679
+ } catch (err) {
680
+ /* istanbul ignore next: difficult to make a test case for */
681
+ throw err
682
+ } finally {
683
+ currentParser = null
684
+ currentBufferRef = null
685
+ }
686
+
687
+ const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr
688
+
689
+ if (ret === constants.ERROR.PAUSED_UPGRADE) {
690
+ this.onUpgrade(data.slice(offset))
691
+ } else if (ret === constants.ERROR.PAUSED) {
692
+ this.paused = true
693
+ socket.unshift(data.slice(offset))
694
+ } else if (ret !== constants.ERROR.OK) {
695
+ const ptr = llhttp.llhttp_get_error_reason(this.ptr)
696
+ let message = ''
697
+ /* istanbul ignore else: difficult to make a test case for */
698
+ if (ptr) {
699
+ const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0)
700
+ message =
701
+ 'Response does not match the HTTP/1.1 protocol (' +
702
+ Buffer.from(llhttp.memory.buffer, ptr, len).toString() +
703
+ ')'
704
+ }
705
+ throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset))
706
+ }
707
+ } catch (err) {
708
+ util.destroy(socket, err)
709
+ }
710
+ }
711
+
712
+ destroy () {
713
+ assert(this.ptr != null)
714
+ assert(currentParser == null)
715
+
716
+ this.llhttp.llhttp_free(this.ptr)
717
+ this.ptr = null
718
+
719
+ timers.clearTimeout(this.timeout)
720
+ this.timeout = null
721
+ this.timeoutValue = null
722
+ this.timeoutType = null
723
+
724
+ this.paused = false
725
+ }
726
+
727
+ onStatus (buf) {
728
+ this.statusText = buf.toString()
729
+ }
730
+
731
+ onMessageBegin () {
732
+ const { socket, client } = this
733
+
734
+ /* istanbul ignore next: difficult to make a test case for */
735
+ if (socket.destroyed) {
736
+ return -1
737
+ }
738
+
739
+ const request = client[kQueue][client[kRunningIdx]]
740
+ if (!request) {
741
+ return -1
742
+ }
743
+ }
744
+
745
+ onHeaderField (buf) {
746
+ const len = this.headers.length
747
+
748
+ if ((len & 1) === 0) {
749
+ this.headers.push(buf)
750
+ } else {
751
+ this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf])
752
+ }
753
+
754
+ this.trackHeader(buf.length)
755
+ }
756
+
757
+ onHeaderValue (buf) {
758
+ let len = this.headers.length
759
+
760
+ if ((len & 1) === 1) {
761
+ this.headers.push(buf)
762
+ len += 1
763
+ } else {
764
+ this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf])
765
+ }
766
+
767
+ const key = this.headers[len - 2]
768
+ if (key.length === 10 && key.toString().toLowerCase() === 'keep-alive') {
769
+ this.keepAlive += buf.toString()
770
+ } else if (key.length === 10 && key.toString().toLowerCase() === 'connection') {
771
+ this.connection += buf.toString()
772
+ } else if (key.length === 14 && key.toString().toLowerCase() === 'content-length') {
773
+ this.contentLength += buf.toString()
774
+ }
775
+
776
+ this.trackHeader(buf.length)
777
+ }
778
+
779
+ trackHeader (len) {
780
+ this.headersSize += len
781
+ if (this.headersSize >= this.headersMaxSize) {
782
+ util.destroy(this.socket, new HeadersOverflowError())
783
+ }
784
+ }
785
+
786
+ onUpgrade (head) {
787
+ const { upgrade, client, socket, headers, statusCode } = this
788
+
789
+ assert(upgrade)
790
+
791
+ const request = client[kQueue][client[kRunningIdx]]
792
+ assert(request)
793
+
794
+ assert(!socket.destroyed)
795
+ assert(socket === client[kSocket])
796
+ assert(!this.paused)
797
+ assert(request.upgrade || request.method === 'CONNECT')
798
+
799
+ this.statusCode = null
800
+ this.statusText = ''
801
+ this.shouldKeepAlive = null
802
+
803
+ assert(this.headers.length % 2 === 0)
804
+ this.headers = []
805
+ this.headersSize = 0
806
+
807
+ socket.unshift(head)
808
+
809
+ socket[kParser].destroy()
810
+ socket[kParser] = null
811
+
812
+ socket[kClient] = null
813
+ socket[kError] = null
814
+ socket
815
+ .removeListener('error', onSocketError)
816
+ .removeListener('readable', onSocketReadable)
817
+ .removeListener('end', onSocketEnd)
818
+ .removeListener('close', onSocketClose)
819
+
820
+ client[kSocket] = null
821
+ client[kQueue][client[kRunningIdx]++] = null
822
+ client.emit('disconnect', client[kUrl], [client], new InformationalError('upgrade'))
823
+
824
+ try {
825
+ request.onUpgrade(statusCode, headers, socket)
826
+ } catch (err) {
827
+ util.destroy(socket, err)
828
+ }
829
+
830
+ resume(client)
831
+ }
832
+
833
+ onHeadersComplete (statusCode, upgrade, shouldKeepAlive) {
834
+ const { client, socket, headers, statusText } = this
835
+
836
+ /* istanbul ignore next: difficult to make a test case for */
837
+ if (socket.destroyed) {
838
+ return -1
839
+ }
840
+
841
+ const request = client[kQueue][client[kRunningIdx]]
842
+
843
+ /* istanbul ignore next: difficult to make a test case for */
844
+ if (!request) {
845
+ return -1
846
+ }
847
+
848
+ assert(!this.upgrade)
849
+ assert(this.statusCode < 200)
850
+
851
+ if (statusCode === 100) {
852
+ util.destroy(socket, new SocketError('bad response', util.getSocketInfo(socket)))
853
+ return -1
854
+ }
855
+
856
+ /* this can only happen if server is misbehaving */
857
+ if (upgrade && !request.upgrade) {
858
+ util.destroy(socket, new SocketError('bad upgrade', util.getSocketInfo(socket)))
859
+ return -1
860
+ }
861
+
862
+ assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS)
863
+
864
+ this.statusCode = statusCode
865
+ this.shouldKeepAlive = (
866
+ shouldKeepAlive ||
867
+ // Override llhttp value which does not allow keepAlive for HEAD.
868
+ (request.method === 'HEAD' && !socket[kReset] && this.connection.toLowerCase() === 'keep-alive')
869
+ )
870
+
871
+ if (this.statusCode >= 200) {
872
+ const bodyTimeout = request.bodyTimeout != null
873
+ ? request.bodyTimeout
874
+ : client[kBodyTimeout]
875
+ this.setTimeout(bodyTimeout, TIMEOUT_BODY)
876
+ } else if (this.timeout) {
877
+ // istanbul ignore else: only for jest
878
+ if (this.timeout.refresh) {
879
+ this.timeout.refresh()
880
+ }
881
+ }
882
+
883
+ if (request.method === 'CONNECT') {
884
+ assert(client[kRunning] === 1)
885
+ this.upgrade = true
886
+ return 2
887
+ }
888
+
889
+ if (upgrade) {
890
+ assert(client[kRunning] === 1)
891
+ this.upgrade = true
892
+ return 2
893
+ }
894
+
895
+ assert(this.headers.length % 2 === 0)
896
+ this.headers = []
897
+ this.headersSize = 0
898
+
899
+ if (this.shouldKeepAlive && client[kPipelining]) {
900
+ const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null
901
+
902
+ if (keepAliveTimeout != null) {
903
+ const timeout = Math.min(
904
+ keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
905
+ client[kKeepAliveMaxTimeout]
906
+ )
907
+ if (timeout <= 0) {
908
+ socket[kReset] = true
909
+ } else {
910
+ client[kKeepAliveTimeoutValue] = timeout
911
+ }
912
+ } else {
913
+ client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout]
914
+ }
915
+ } else {
916
+ // Stop more requests from being dispatched.
917
+ socket[kReset] = true
918
+ }
919
+
920
+ const pause = request.onHeaders(statusCode, headers, this.resume, statusText) === false
921
+
922
+ if (request.aborted) {
923
+ return -1
924
+ }
925
+
926
+ if (request.method === 'HEAD') {
927
+ return 1
928
+ }
929
+
930
+ if (statusCode < 200) {
931
+ return 1
932
+ }
933
+
934
+ if (socket[kBlocking]) {
935
+ socket[kBlocking] = false
936
+ resume(client)
937
+ }
938
+
939
+ return pause ? constants.ERROR.PAUSED : 0
940
+ }
941
+
942
+ onBody (buf) {
943
+ const { client, socket, statusCode, maxResponseSize } = this
944
+
945
+ if (socket.destroyed) {
946
+ return -1
947
+ }
948
+
949
+ const request = client[kQueue][client[kRunningIdx]]
950
+ assert(request)
951
+
952
+ assert.strictEqual(this.timeoutType, TIMEOUT_BODY)
953
+ if (this.timeout) {
954
+ // istanbul ignore else: only for jest
955
+ if (this.timeout.refresh) {
956
+ this.timeout.refresh()
957
+ }
958
+ }
959
+
960
+ assert(statusCode >= 200)
961
+
962
+ if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
963
+ util.destroy(socket, new ResponseExceededMaxSizeError())
964
+ return -1
965
+ }
966
+
967
+ this.bytesRead += buf.length
968
+
969
+ if (request.onData(buf) === false) {
970
+ return constants.ERROR.PAUSED
971
+ }
972
+ }
973
+
974
+ onMessageComplete () {
975
+ const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this
976
+
977
+ if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
978
+ return -1
979
+ }
980
+
981
+ if (upgrade) {
982
+ return
983
+ }
984
+
985
+ const request = client[kQueue][client[kRunningIdx]]
986
+ assert(request)
987
+
988
+ assert(statusCode >= 100)
989
+
990
+ this.statusCode = null
991
+ this.statusText = ''
992
+ this.bytesRead = 0
993
+ this.contentLength = ''
994
+ this.keepAlive = ''
995
+ this.connection = ''
996
+
997
+ assert(this.headers.length % 2 === 0)
998
+ this.headers = []
999
+ this.headersSize = 0
1000
+
1001
+ if (statusCode < 200) {
1002
+ return
1003
+ }
1004
+
1005
+ /* istanbul ignore next: should be handled by llhttp? */
1006
+ if (request.method !== 'HEAD' && contentLength && bytesRead !== parseInt(contentLength, 10)) {
1007
+ util.destroy(socket, new ResponseContentLengthMismatchError())
1008
+ return -1
1009
+ }
1010
+
1011
+ request.onComplete(headers)
1012
+
1013
+ client[kQueue][client[kRunningIdx]++] = null
1014
+
1015
+ if (socket[kWriting]) {
1016
+ assert.strictEqual(client[kRunning], 0)
1017
+ // Response completed before request.
1018
+ util.destroy(socket, new InformationalError('reset'))
1019
+ return constants.ERROR.PAUSED
1020
+ } else if (!shouldKeepAlive) {
1021
+ util.destroy(socket, new InformationalError('reset'))
1022
+ return constants.ERROR.PAUSED
1023
+ } else if (socket[kReset] && client[kRunning] === 0) {
1024
+ // Destroy socket once all requests have completed.
1025
+ // The request at the tail of the pipeline is the one
1026
+ // that requested reset and no further requests should
1027
+ // have been queued since then.
1028
+ util.destroy(socket, new InformationalError('reset'))
1029
+ return constants.ERROR.PAUSED
1030
+ } else if (client[kPipelining] === 1) {
1031
+ // We must wait a full event loop cycle to reuse this socket to make sure
1032
+ // that non-spec compliant servers are not closing the connection even if they
1033
+ // said they won't.
1034
+ setImmediate(resume, client)
1035
+ } else {
1036
+ resume(client)
1037
+ }
1038
+ }
1039
+ }
1040
+
1041
+ function onParserTimeout (parser) {
1042
+ const { socket, timeoutType, client } = parser
1043
+
1044
+ /* istanbul ignore else */
1045
+ if (timeoutType === TIMEOUT_HEADERS) {
1046
+ if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
1047
+ assert(!parser.paused, 'cannot be paused while waiting for headers')
1048
+ util.destroy(socket, new HeadersTimeoutError())
1049
+ }
1050
+ } else if (timeoutType === TIMEOUT_BODY) {
1051
+ if (!parser.paused) {
1052
+ util.destroy(socket, new BodyTimeoutError())
1053
+ }
1054
+ } else if (timeoutType === TIMEOUT_IDLE) {
1055
+ assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue])
1056
+ util.destroy(socket, new InformationalError('socket idle timeout'))
1057
+ }
1058
+ }
1059
+
1060
+ function onSocketReadable () {
1061
+ const { [kParser]: parser } = this
1062
+ if (parser) {
1063
+ parser.readMore()
1064
+ }
1065
+ }
1066
+
1067
+ function onSocketError (err) {
1068
+ const { [kClient]: client, [kParser]: parser } = this
1069
+
1070
+ assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID')
1071
+
1072
+ if (client[kHTTPConnVersion] !== 'h2') {
1073
+ // On Mac OS, we get an ECONNRESET even if there is a full body to be forwarded
1074
+ // to the user.
1075
+ if (err.code === 'ECONNRESET' && parser.statusCode && !parser.shouldKeepAlive) {
1076
+ // We treat all incoming data so for as a valid response.
1077
+ parser.onMessageComplete()
1078
+ return
1079
+ }
1080
+ }
1081
+
1082
+ this[kError] = err
1083
+
1084
+ onError(this[kClient], err)
1085
+ }
1086
+
1087
+ function onError (client, err) {
1088
+ if (
1089
+ client[kRunning] === 0 &&
1090
+ err.code !== 'UND_ERR_INFO' &&
1091
+ err.code !== 'UND_ERR_SOCKET'
1092
+ ) {
1093
+ // Error is not caused by running request and not a recoverable
1094
+ // socket error.
1095
+
1096
+ assert(client[kPendingIdx] === client[kRunningIdx])
1097
+
1098
+ const requests = client[kQueue].splice(client[kRunningIdx])
1099
+ for (let i = 0; i < requests.length; i++) {
1100
+ const request = requests[i]
1101
+ errorRequest(client, request, err)
1102
+ }
1103
+ assert(client[kSize] === 0)
1104
+ }
1105
+ }
1106
+
1107
+ function onSocketEnd () {
1108
+ const { [kParser]: parser, [kClient]: client } = this
1109
+
1110
+ if (client[kHTTPConnVersion] !== 'h2') {
1111
+ if (parser.statusCode && !parser.shouldKeepAlive) {
1112
+ // We treat all incoming data so far as a valid response.
1113
+ parser.onMessageComplete()
1114
+ return
1115
+ }
1116
+ }
1117
+
1118
+ util.destroy(this, new SocketError('other side closed', util.getSocketInfo(this)))
1119
+ }
1120
+
1121
+ function onSocketClose () {
1122
+ const { [kClient]: client, [kParser]: parser } = this
1123
+
1124
+ if (client[kHTTPConnVersion] === 'h1' && parser) {
1125
+ if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
1126
+ // We treat all incoming data so far as a valid response.
1127
+ parser.onMessageComplete()
1128
+ }
1129
+
1130
+ this[kParser].destroy()
1131
+ this[kParser] = null
1132
+ }
1133
+
1134
+ const err = this[kError] || new SocketError('closed', util.getSocketInfo(this))
1135
+
1136
+ client[kSocket] = null
1137
+
1138
+ if (client.destroyed) {
1139
+ assert(client[kPending] === 0)
1140
+
1141
+ // Fail entire queue.
1142
+ const requests = client[kQueue].splice(client[kRunningIdx])
1143
+ for (let i = 0; i < requests.length; i++) {
1144
+ const request = requests[i]
1145
+ errorRequest(client, request, err)
1146
+ }
1147
+ } else if (client[kRunning] > 0 && err.code !== 'UND_ERR_INFO') {
1148
+ // Fail head of pipeline.
1149
+ const request = client[kQueue][client[kRunningIdx]]
1150
+ client[kQueue][client[kRunningIdx]++] = null
1151
+
1152
+ errorRequest(client, request, err)
1153
+ }
1154
+
1155
+ client[kPendingIdx] = client[kRunningIdx]
1156
+
1157
+ assert(client[kRunning] === 0)
1158
+
1159
+ client.emit('disconnect', client[kUrl], [client], err)
1160
+
1161
+ resume(client)
1162
+ }
1163
+
1164
+ async function connect (client) {
1165
+ assert(!client[kConnecting])
1166
+ assert(!client[kSocket])
1167
+
1168
+ let { host, hostname, protocol, port } = client[kUrl]
1169
+
1170
+ // Resolve ipv6
1171
+ if (hostname[0] === '[') {
1172
+ const idx = hostname.indexOf(']')
1173
+
1174
+ assert(idx !== -1)
1175
+ const ip = hostname.substring(1, idx)
1176
+
1177
+ assert(net.isIP(ip))
1178
+ hostname = ip
1179
+ }
1180
+
1181
+ client[kConnecting] = true
1182
+
1183
+ if (channels.beforeConnect.hasSubscribers) {
1184
+ channels.beforeConnect.publish({
1185
+ connectParams: {
1186
+ host,
1187
+ hostname,
1188
+ protocol,
1189
+ port,
1190
+ servername: client[kServerName],
1191
+ localAddress: client[kLocalAddress]
1192
+ },
1193
+ connector: client[kConnector]
1194
+ })
1195
+ }
1196
+
1197
+ try {
1198
+ const socket = await new Promise((resolve, reject) => {
1199
+ client[kConnector]({
1200
+ host,
1201
+ hostname,
1202
+ protocol,
1203
+ port,
1204
+ servername: client[kServerName],
1205
+ localAddress: client[kLocalAddress]
1206
+ }, (err, socket) => {
1207
+ if (err) {
1208
+ reject(err)
1209
+ } else {
1210
+ resolve(socket)
1211
+ }
1212
+ })
1213
+ })
1214
+
1215
+ if (client.destroyed) {
1216
+ util.destroy(socket.on('error', () => {}), new ClientDestroyedError())
1217
+ return
1218
+ }
1219
+
1220
+ client[kConnecting] = false
1221
+
1222
+ assert(socket)
1223
+
1224
+ const isH2 = socket.alpnProtocol === 'h2'
1225
+ if (isH2) {
1226
+ if (!h2ExperimentalWarned) {
1227
+ h2ExperimentalWarned = true
1228
+ process.emitWarning('H2 support is experimental, expect them to change at any time.', {
1229
+ code: 'UNDICI-H2'
1230
+ })
1231
+ }
1232
+
1233
+ const session = http2.connect(client[kUrl], {
1234
+ createConnection: () => socket,
1235
+ peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
1236
+ })
1237
+
1238
+ client[kHTTPConnVersion] = 'h2'
1239
+ session[kClient] = client
1240
+ session[kSocket] = socket
1241
+ session.on('error', onHttp2SessionError)
1242
+ session.on('frameError', onHttp2FrameError)
1243
+ session.on('end', onHttp2SessionEnd)
1244
+ session.on('goaway', onHTTP2GoAway)
1245
+ session.on('close', onSocketClose)
1246
+ session.unref()
1247
+
1248
+ client[kHTTP2Session] = session
1249
+ socket[kHTTP2Session] = session
1250
+ } else {
1251
+ if (!llhttpInstance) {
1252
+ llhttpInstance = await llhttpPromise
1253
+ llhttpPromise = null
1254
+ }
1255
+
1256
+ socket[kNoRef] = false
1257
+ socket[kWriting] = false
1258
+ socket[kReset] = false
1259
+ socket[kBlocking] = false
1260
+ socket[kParser] = new Parser(client, socket, llhttpInstance)
1261
+ }
1262
+
1263
+ socket[kCounter] = 0
1264
+ socket[kMaxRequests] = client[kMaxRequests]
1265
+ socket[kClient] = client
1266
+ socket[kError] = null
1267
+
1268
+ socket
1269
+ .on('error', onSocketError)
1270
+ .on('readable', onSocketReadable)
1271
+ .on('end', onSocketEnd)
1272
+ .on('close', onSocketClose)
1273
+
1274
+ client[kSocket] = socket
1275
+
1276
+ if (channels.connected.hasSubscribers) {
1277
+ channels.connected.publish({
1278
+ connectParams: {
1279
+ host,
1280
+ hostname,
1281
+ protocol,
1282
+ port,
1283
+ servername: client[kServerName],
1284
+ localAddress: client[kLocalAddress]
1285
+ },
1286
+ connector: client[kConnector],
1287
+ socket
1288
+ })
1289
+ }
1290
+ client.emit('connect', client[kUrl], [client])
1291
+ } catch (err) {
1292
+ if (client.destroyed) {
1293
+ return
1294
+ }
1295
+
1296
+ client[kConnecting] = false
1297
+
1298
+ if (channels.connectError.hasSubscribers) {
1299
+ channels.connectError.publish({
1300
+ connectParams: {
1301
+ host,
1302
+ hostname,
1303
+ protocol,
1304
+ port,
1305
+ servername: client[kServerName],
1306
+ localAddress: client[kLocalAddress]
1307
+ },
1308
+ connector: client[kConnector],
1309
+ error: err
1310
+ })
1311
+ }
1312
+
1313
+ if (err.code === 'ERR_TLS_CERT_ALTNAME_INVALID') {
1314
+ assert(client[kRunning] === 0)
1315
+ while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
1316
+ const request = client[kQueue][client[kPendingIdx]++]
1317
+ errorRequest(client, request, err)
1318
+ }
1319
+ } else {
1320
+ onError(client, err)
1321
+ }
1322
+
1323
+ client.emit('connectionError', client[kUrl], [client], err)
1324
+ }
1325
+
1326
+ resume(client)
1327
+ }
1328
+
1329
+ function emitDrain (client) {
1330
+ client[kNeedDrain] = 0
1331
+ client.emit('drain', client[kUrl], [client])
1332
+ }
1333
+
1334
+ function resume (client, sync) {
1335
+ if (client[kResuming] === 2) {
1336
+ return
1337
+ }
1338
+
1339
+ client[kResuming] = 2
1340
+
1341
+ _resume(client, sync)
1342
+ client[kResuming] = 0
1343
+
1344
+ if (client[kRunningIdx] > 256) {
1345
+ client[kQueue].splice(0, client[kRunningIdx])
1346
+ client[kPendingIdx] -= client[kRunningIdx]
1347
+ client[kRunningIdx] = 0
1348
+ }
1349
+ }
1350
+
1351
+ function _resume (client, sync) {
1352
+ while (true) {
1353
+ if (client.destroyed) {
1354
+ assert(client[kPending] === 0)
1355
+ return
1356
+ }
1357
+
1358
+ if (client[kClosedResolve] && !client[kSize]) {
1359
+ client[kClosedResolve]()
1360
+ client[kClosedResolve] = null
1361
+ return
1362
+ }
1363
+
1364
+ const socket = client[kSocket]
1365
+
1366
+ if (socket && !socket.destroyed && socket.alpnProtocol !== 'h2') {
1367
+ if (client[kSize] === 0) {
1368
+ if (!socket[kNoRef] && socket.unref) {
1369
+ socket.unref()
1370
+ socket[kNoRef] = true
1371
+ }
1372
+ } else if (socket[kNoRef] && socket.ref) {
1373
+ socket.ref()
1374
+ socket[kNoRef] = false
1375
+ }
1376
+
1377
+ if (client[kSize] === 0) {
1378
+ if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
1379
+ socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE)
1380
+ }
1381
+ } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
1382
+ if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
1383
+ const request = client[kQueue][client[kRunningIdx]]
1384
+ const headersTimeout = request.headersTimeout != null
1385
+ ? request.headersTimeout
1386
+ : client[kHeadersTimeout]
1387
+ socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS)
1388
+ }
1389
+ }
1390
+ }
1391
+
1392
+ if (client[kBusy]) {
1393
+ client[kNeedDrain] = 2
1394
+ } else if (client[kNeedDrain] === 2) {
1395
+ if (sync) {
1396
+ client[kNeedDrain] = 1
1397
+ process.nextTick(emitDrain, client)
1398
+ } else {
1399
+ emitDrain(client)
1400
+ }
1401
+ continue
1402
+ }
1403
+
1404
+ if (client[kPending] === 0) {
1405
+ return
1406
+ }
1407
+
1408
+ if (client[kRunning] >= (client[kPipelining] || 1)) {
1409
+ return
1410
+ }
1411
+
1412
+ const request = client[kQueue][client[kPendingIdx]]
1413
+
1414
+ if (client[kUrl].protocol === 'https:' && client[kServerName] !== request.servername) {
1415
+ if (client[kRunning] > 0) {
1416
+ return
1417
+ }
1418
+
1419
+ client[kServerName] = request.servername
1420
+
1421
+ if (socket && socket.servername !== request.servername) {
1422
+ util.destroy(socket, new InformationalError('servername changed'))
1423
+ return
1424
+ }
1425
+ }
1426
+
1427
+ if (client[kConnecting]) {
1428
+ return
1429
+ }
1430
+
1431
+ if (!socket && !client[kHTTP2Session]) {
1432
+ connect(client)
1433
+ return
1434
+ }
1435
+
1436
+ if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
1437
+ return
1438
+ }
1439
+
1440
+ if (client[kRunning] > 0 && !request.idempotent) {
1441
+ // Non-idempotent request cannot be retried.
1442
+ // Ensure that no other requests are inflight and
1443
+ // could cause failure.
1444
+ return
1445
+ }
1446
+
1447
+ if (client[kRunning] > 0 && (request.upgrade || request.method === 'CONNECT')) {
1448
+ // Don't dispatch an upgrade until all preceding requests have completed.
1449
+ // A misbehaving server might upgrade the connection before all pipelined
1450
+ // request has completed.
1451
+ return
1452
+ }
1453
+
1454
+ if (client[kRunning] > 0 && util.bodyLength(request.body) !== 0 &&
1455
+ (util.isStream(request.body) || util.isAsyncIterable(request.body))) {
1456
+ // Request with stream or iterator body can error while other requests
1457
+ // are inflight and indirectly error those as well.
1458
+ // Ensure this doesn't happen by waiting for inflight
1459
+ // to complete before dispatching.
1460
+
1461
+ // Request with stream or iterator body cannot be retried.
1462
+ // Ensure that no other requests are inflight and
1463
+ // could cause failure.
1464
+ return
1465
+ }
1466
+
1467
+ if (!request.aborted && write(client, request)) {
1468
+ client[kPendingIdx]++
1469
+ } else {
1470
+ client[kQueue].splice(client[kPendingIdx], 1)
1471
+ }
1472
+ }
1473
+ }
1474
+
1475
+ // https://www.rfc-editor.org/rfc/rfc7230#section-3.3.2
1476
+ function shouldSendContentLength (method) {
1477
+ return method !== 'GET' && method !== 'HEAD' && method !== 'OPTIONS' && method !== 'TRACE' && method !== 'CONNECT'
1478
+ }
1479
+
1480
+ function write (client, request) {
1481
+ if (client[kHTTPConnVersion] === 'h2') {
1482
+ writeH2(client, client[kHTTP2Session], request)
1483
+ return
1484
+ }
1485
+
1486
+ const { body, method, path, host, upgrade, headers, blocking, reset } = request
1487
+
1488
+ // https://tools.ietf.org/html/rfc7231#section-4.3.1
1489
+ // https://tools.ietf.org/html/rfc7231#section-4.3.2
1490
+ // https://tools.ietf.org/html/rfc7231#section-4.3.5
1491
+
1492
+ // Sending a payload body on a request that does not
1493
+ // expect it can cause undefined behavior on some
1494
+ // servers and corrupt connection state. Do not
1495
+ // re-use the connection for further requests.
1496
+
1497
+ const expectsPayload = (
1498
+ method === 'PUT' ||
1499
+ method === 'POST' ||
1500
+ method === 'PATCH'
1501
+ )
1502
+
1503
+ if (body && typeof body.read === 'function') {
1504
+ // Try to read EOF in order to get length.
1505
+ body.read(0)
1506
+ }
1507
+
1508
+ const bodyLength = util.bodyLength(body)
1509
+
1510
+ let contentLength = bodyLength
1511
+
1512
+ if (contentLength === null) {
1513
+ contentLength = request.contentLength
1514
+ }
1515
+
1516
+ if (contentLength === 0 && !expectsPayload) {
1517
+ // https://tools.ietf.org/html/rfc7230#section-3.3.2
1518
+ // A user agent SHOULD NOT send a Content-Length header field when
1519
+ // the request message does not contain a payload body and the method
1520
+ // semantics do not anticipate such a body.
1521
+
1522
+ contentLength = null
1523
+ }
1524
+
1525
+ // https://github.com/nodejs/undici/issues/2046
1526
+ // A user agent may send a Content-Length header with 0 value, this should be allowed.
1527
+ if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength !== null && request.contentLength !== contentLength) {
1528
+ if (client[kStrictContentLength]) {
1529
+ errorRequest(client, request, new RequestContentLengthMismatchError())
1530
+ return false
1531
+ }
1532
+
1533
+ process.emitWarning(new RequestContentLengthMismatchError())
1534
+ }
1535
+
1536
+ const socket = client[kSocket]
1537
+
1538
+ try {
1539
+ request.onConnect((err) => {
1540
+ if (request.aborted || request.completed) {
1541
+ return
1542
+ }
1543
+
1544
+ errorRequest(client, request, err || new RequestAbortedError())
1545
+
1546
+ util.destroy(socket, new InformationalError('aborted'))
1547
+ })
1548
+ } catch (err) {
1549
+ errorRequest(client, request, err)
1550
+ }
1551
+
1552
+ if (request.aborted) {
1553
+ return false
1554
+ }
1555
+
1556
+ if (method === 'HEAD') {
1557
+ // https://github.com/mcollina/undici/issues/258
1558
+ // Close after a HEAD request to interop with misbehaving servers
1559
+ // that may send a body in the response.
1560
+
1561
+ socket[kReset] = true
1562
+ }
1563
+
1564
+ if (upgrade || method === 'CONNECT') {
1565
+ // On CONNECT or upgrade, block pipeline from dispatching further
1566
+ // requests on this connection.
1567
+
1568
+ socket[kReset] = true
1569
+ }
1570
+
1571
+ if (reset != null) {
1572
+ socket[kReset] = reset
1573
+ }
1574
+
1575
+ if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
1576
+ socket[kReset] = true
1577
+ }
1578
+
1579
+ if (blocking) {
1580
+ socket[kBlocking] = true
1581
+ }
1582
+
1583
+ let header = `${method} ${path} HTTP/1.1\r\n`
1584
+
1585
+ if (typeof host === 'string') {
1586
+ header += `host: ${host}\r\n`
1587
+ } else {
1588
+ header += client[kHostHeader]
1589
+ }
1590
+
1591
+ if (upgrade) {
1592
+ header += `connection: upgrade\r\nupgrade: ${upgrade}\r\n`
1593
+ } else if (client[kPipelining] && !socket[kReset]) {
1594
+ header += 'connection: keep-alive\r\n'
1595
+ } else {
1596
+ header += 'connection: close\r\n'
1597
+ }
1598
+
1599
+ if (headers) {
1600
+ header += headers
1601
+ }
1602
+
1603
+ if (channels.sendHeaders.hasSubscribers) {
1604
+ channels.sendHeaders.publish({ request, headers: header, socket })
1605
+ }
1606
+
1607
+ /* istanbul ignore else: assertion */
1608
+ if (!body || bodyLength === 0) {
1609
+ if (contentLength === 0) {
1610
+ socket.write(`${header}content-length: 0\r\n\r\n`, 'latin1')
1611
+ } else {
1612
+ assert(contentLength === null, 'no body must not have content length')
1613
+ socket.write(`${header}\r\n`, 'latin1')
1614
+ }
1615
+ request.onRequestSent()
1616
+ } else if (util.isBuffer(body)) {
1617
+ assert(contentLength === body.byteLength, 'buffer body must have content length')
1618
+
1619
+ socket.cork()
1620
+ socket.write(`${header}content-length: ${contentLength}\r\n\r\n`, 'latin1')
1621
+ socket.write(body)
1622
+ socket.uncork()
1623
+ request.onBodySent(body)
1624
+ request.onRequestSent()
1625
+ if (!expectsPayload) {
1626
+ socket[kReset] = true
1627
+ }
1628
+ } else if (util.isBlobLike(body)) {
1629
+ if (typeof body.stream === 'function') {
1630
+ writeIterable({ body: body.stream(), client, request, socket, contentLength, header, expectsPayload })
1631
+ } else {
1632
+ writeBlob({ body, client, request, socket, contentLength, header, expectsPayload })
1633
+ }
1634
+ } else if (util.isStream(body)) {
1635
+ writeStream({ body, client, request, socket, contentLength, header, expectsPayload })
1636
+ } else if (util.isIterable(body)) {
1637
+ writeIterable({ body, client, request, socket, contentLength, header, expectsPayload })
1638
+ } else {
1639
+ assert(false)
1640
+ }
1641
+
1642
+ return true
1643
+ }
1644
+
1645
+ function writeH2 (client, session, request) {
1646
+ const { body, method, path, host, upgrade, expectContinue, signal, headers: reqHeaders } = request
1647
+
1648
+ let headers
1649
+ if (typeof reqHeaders === 'string') headers = Request[kHTTP2CopyHeaders](reqHeaders.trim())
1650
+ else headers = reqHeaders
1651
+
1652
+ if (upgrade) {
1653
+ errorRequest(client, request, new Error('Upgrade not supported for H2'))
1654
+ return false
1655
+ }
1656
+
1657
+ try {
1658
+ // TODO(HTTP/2): Should we call onConnect immediately or on stream ready event?
1659
+ request.onConnect((err) => {
1660
+ if (request.aborted || request.completed) {
1661
+ return
1662
+ }
1663
+
1664
+ errorRequest(client, request, err || new RequestAbortedError())
1665
+ })
1666
+ } catch (err) {
1667
+ errorRequest(client, request, err)
1668
+ }
1669
+
1670
+ if (request.aborted) {
1671
+ return false
1672
+ }
1673
+
1674
+ /** @type {import('node:http2').ClientHttp2Stream} */
1675
+ let stream
1676
+ const h2State = client[kHTTP2SessionState]
1677
+
1678
+ headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost]
1679
+ headers[HTTP2_HEADER_METHOD] = method
1680
+
1681
+ if (method === 'CONNECT') {
1682
+ session.ref()
1683
+ // we are already connected, streams are pending, first request
1684
+ // will create a new stream. We trigger a request to create the stream and wait until
1685
+ // `ready` event is triggered
1686
+ // We disabled endStream to allow the user to write to the stream
1687
+ stream = session.request(headers, { endStream: false, signal })
1688
+
1689
+ if (stream.id && !stream.pending) {
1690
+ request.onUpgrade(null, null, stream)
1691
+ ++h2State.openStreams
1692
+ } else {
1693
+ stream.once('ready', () => {
1694
+ request.onUpgrade(null, null, stream)
1695
+ ++h2State.openStreams
1696
+ })
1697
+ }
1698
+
1699
+ stream.once('close', () => {
1700
+ h2State.openStreams -= 1
1701
+ // TODO(HTTP/2): unref only if current streams count is 0
1702
+ if (h2State.openStreams === 0) session.unref()
1703
+ })
1704
+
1705
+ return true
1706
+ }
1707
+
1708
+ // https://tools.ietf.org/html/rfc7540#section-8.3
1709
+ // :path and :scheme headers must be omited when sending CONNECT
1710
+
1711
+ headers[HTTP2_HEADER_PATH] = path
1712
+ headers[HTTP2_HEADER_SCHEME] = 'https'
1713
+
1714
+ // https://tools.ietf.org/html/rfc7231#section-4.3.1
1715
+ // https://tools.ietf.org/html/rfc7231#section-4.3.2
1716
+ // https://tools.ietf.org/html/rfc7231#section-4.3.5
1717
+
1718
+ // Sending a payload body on a request that does not
1719
+ // expect it can cause undefined behavior on some
1720
+ // servers and corrupt connection state. Do not
1721
+ // re-use the connection for further requests.
1722
+
1723
+ const expectsPayload = (
1724
+ method === 'PUT' ||
1725
+ method === 'POST' ||
1726
+ method === 'PATCH'
1727
+ )
1728
+
1729
+ if (body && typeof body.read === 'function') {
1730
+ // Try to read EOF in order to get length.
1731
+ body.read(0)
1732
+ }
1733
+
1734
+ let contentLength = util.bodyLength(body)
1735
+
1736
+ if (contentLength == null) {
1737
+ contentLength = request.contentLength
1738
+ }
1739
+
1740
+ if (contentLength === 0 || !expectsPayload) {
1741
+ // https://tools.ietf.org/html/rfc7230#section-3.3.2
1742
+ // A user agent SHOULD NOT send a Content-Length header field when
1743
+ // the request message does not contain a payload body and the method
1744
+ // semantics do not anticipate such a body.
1745
+
1746
+ contentLength = null
1747
+ }
1748
+
1749
+ // https://github.com/nodejs/undici/issues/2046
1750
+ // A user agent may send a Content-Length header with 0 value, this should be allowed.
1751
+ if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength != null && request.contentLength !== contentLength) {
1752
+ if (client[kStrictContentLength]) {
1753
+ errorRequest(client, request, new RequestContentLengthMismatchError())
1754
+ return false
1755
+ }
1756
+
1757
+ process.emitWarning(new RequestContentLengthMismatchError())
1758
+ }
1759
+
1760
+ if (contentLength != null) {
1761
+ assert(body, 'no body must not have content length')
1762
+ headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`
1763
+ }
1764
+
1765
+ session.ref()
1766
+
1767
+ const shouldEndStream = method === 'GET' || method === 'HEAD'
1768
+ if (expectContinue) {
1769
+ headers[HTTP2_HEADER_EXPECT] = '100-continue'
1770
+ stream = session.request(headers, { endStream: shouldEndStream, signal })
1771
+
1772
+ stream.once('continue', writeBodyH2)
1773
+ } else {
1774
+ stream = session.request(headers, {
1775
+ endStream: shouldEndStream,
1776
+ signal
1777
+ })
1778
+ writeBodyH2()
1779
+ }
1780
+
1781
+ // Increment counter as we have new several streams open
1782
+ ++h2State.openStreams
1783
+
1784
+ stream.once('response', headers => {
1785
+ const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers
1786
+
1787
+ if (request.onHeaders(Number(statusCode), realHeaders, stream.resume.bind(stream), '') === false) {
1788
+ stream.pause()
1789
+ }
1790
+ })
1791
+
1792
+ stream.once('end', () => {
1793
+ request.onComplete([])
1794
+ })
1795
+
1796
+ stream.on('data', (chunk) => {
1797
+ if (request.onData(chunk) === false) {
1798
+ stream.pause()
1799
+ }
1800
+ })
1801
+
1802
+ stream.once('close', () => {
1803
+ h2State.openStreams -= 1
1804
+ // TODO(HTTP/2): unref only if current streams count is 0
1805
+ if (h2State.openStreams === 0) {
1806
+ session.unref()
1807
+ }
1808
+ })
1809
+
1810
+ stream.once('error', function (err) {
1811
+ if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
1812
+ h2State.streams -= 1
1813
+ util.destroy(stream, err)
1814
+ }
1815
+ })
1816
+
1817
+ stream.once('frameError', (type, code) => {
1818
+ const err = new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`)
1819
+ errorRequest(client, request, err)
1820
+
1821
+ if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
1822
+ h2State.streams -= 1
1823
+ util.destroy(stream, err)
1824
+ }
1825
+ })
1826
+
1827
+ // stream.on('aborted', () => {
1828
+ // // TODO(HTTP/2): Support aborted
1829
+ // })
1830
+
1831
+ // stream.on('timeout', () => {
1832
+ // // TODO(HTTP/2): Support timeout
1833
+ // })
1834
+
1835
+ // stream.on('push', headers => {
1836
+ // // TODO(HTTP/2): Suppor push
1837
+ // })
1838
+
1839
+ // stream.on('trailers', headers => {
1840
+ // // TODO(HTTP/2): Support trailers
1841
+ // })
1842
+
1843
+ return true
1844
+
1845
+ function writeBodyH2 () {
1846
+ /* istanbul ignore else: assertion */
1847
+ if (!body) {
1848
+ request.onRequestSent()
1849
+ } else if (util.isBuffer(body)) {
1850
+ assert(contentLength === body.byteLength, 'buffer body must have content length')
1851
+ stream.cork()
1852
+ stream.write(body)
1853
+ stream.uncork()
1854
+ stream.end()
1855
+ request.onBodySent(body)
1856
+ request.onRequestSent()
1857
+ } else if (util.isBlobLike(body)) {
1858
+ if (typeof body.stream === 'function') {
1859
+ writeIterable({
1860
+ client,
1861
+ request,
1862
+ contentLength,
1863
+ h2stream: stream,
1864
+ expectsPayload,
1865
+ body: body.stream(),
1866
+ socket: client[kSocket],
1867
+ header: ''
1868
+ })
1869
+ } else {
1870
+ writeBlob({
1871
+ body,
1872
+ client,
1873
+ request,
1874
+ contentLength,
1875
+ expectsPayload,
1876
+ h2stream: stream,
1877
+ header: '',
1878
+ socket: client[kSocket]
1879
+ })
1880
+ }
1881
+ } else if (util.isStream(body)) {
1882
+ writeStream({
1883
+ body,
1884
+ client,
1885
+ request,
1886
+ contentLength,
1887
+ expectsPayload,
1888
+ socket: client[kSocket],
1889
+ h2stream: stream,
1890
+ header: ''
1891
+ })
1892
+ } else if (util.isIterable(body)) {
1893
+ writeIterable({
1894
+ body,
1895
+ client,
1896
+ request,
1897
+ contentLength,
1898
+ expectsPayload,
1899
+ header: '',
1900
+ h2stream: stream,
1901
+ socket: client[kSocket]
1902
+ })
1903
+ } else {
1904
+ assert(false)
1905
+ }
1906
+ }
1907
+ }
1908
+
1909
+ function writeStream ({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) {
1910
+ assert(contentLength !== 0 || client[kRunning] === 0, 'stream body cannot be pipelined')
1911
+
1912
+ if (client[kHTTPConnVersion] === 'h2') {
1913
+ // For HTTP/2, is enough to pipe the stream
1914
+ const pipe = pipeline(
1915
+ body,
1916
+ h2stream,
1917
+ (err) => {
1918
+ if (err) {
1919
+ util.destroy(body, err)
1920
+ util.destroy(h2stream, err)
1921
+ } else {
1922
+ request.onRequestSent()
1923
+ }
1924
+ }
1925
+ )
1926
+
1927
+ pipe.on('data', onPipeData)
1928
+ pipe.once('end', () => {
1929
+ pipe.removeListener('data', onPipeData)
1930
+ util.destroy(pipe)
1931
+ })
1932
+
1933
+ function onPipeData (chunk) {
1934
+ request.onBodySent(chunk)
1935
+ }
1936
+
1937
+ return
1938
+ }
1939
+
1940
+ let finished = false
1941
+
1942
+ const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header })
1943
+
1944
+ const onData = function (chunk) {
1945
+ if (finished) {
1946
+ return
1947
+ }
1948
+
1949
+ try {
1950
+ if (!writer.write(chunk) && this.pause) {
1951
+ this.pause()
1952
+ }
1953
+ } catch (err) {
1954
+ util.destroy(this, err)
1955
+ }
1956
+ }
1957
+ const onDrain = function () {
1958
+ if (finished) {
1959
+ return
1960
+ }
1961
+
1962
+ if (body.resume) {
1963
+ body.resume()
1964
+ }
1965
+ }
1966
+ const onAbort = function () {
1967
+ if (finished) {
1968
+ return
1969
+ }
1970
+ const err = new RequestAbortedError()
1971
+ queueMicrotask(() => onFinished(err))
1972
+ }
1973
+ const onFinished = function (err) {
1974
+ if (finished) {
1975
+ return
1976
+ }
1977
+
1978
+ finished = true
1979
+
1980
+ assert(socket.destroyed || (socket[kWriting] && client[kRunning] <= 1))
1981
+
1982
+ socket
1983
+ .off('drain', onDrain)
1984
+ .off('error', onFinished)
1985
+
1986
+ body
1987
+ .removeListener('data', onData)
1988
+ .removeListener('end', onFinished)
1989
+ .removeListener('error', onFinished)
1990
+ .removeListener('close', onAbort)
1991
+
1992
+ if (!err) {
1993
+ try {
1994
+ writer.end()
1995
+ } catch (er) {
1996
+ err = er
1997
+ }
1998
+ }
1999
+
2000
+ writer.destroy(err)
2001
+
2002
+ if (err && (err.code !== 'UND_ERR_INFO' || err.message !== 'reset')) {
2003
+ util.destroy(body, err)
2004
+ } else {
2005
+ util.destroy(body)
2006
+ }
2007
+ }
2008
+
2009
+ body
2010
+ .on('data', onData)
2011
+ .on('end', onFinished)
2012
+ .on('error', onFinished)
2013
+ .on('close', onAbort)
2014
+
2015
+ if (body.resume) {
2016
+ body.resume()
2017
+ }
2018
+
2019
+ socket
2020
+ .on('drain', onDrain)
2021
+ .on('error', onFinished)
2022
+ }
2023
+
2024
+ async function writeBlob ({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) {
2025
+ assert(contentLength === body.size, 'blob body must have content length')
2026
+
2027
+ const isH2 = client[kHTTPConnVersion] === 'h2'
2028
+ try {
2029
+ if (contentLength != null && contentLength !== body.size) {
2030
+ throw new RequestContentLengthMismatchError()
2031
+ }
2032
+
2033
+ const buffer = Buffer.from(await body.arrayBuffer())
2034
+
2035
+ if (isH2) {
2036
+ h2stream.cork()
2037
+ h2stream.write(buffer)
2038
+ h2stream.uncork()
2039
+ } else {
2040
+ socket.cork()
2041
+ socket.write(`${header}content-length: ${contentLength}\r\n\r\n`, 'latin1')
2042
+ socket.write(buffer)
2043
+ socket.uncork()
2044
+ }
2045
+
2046
+ request.onBodySent(buffer)
2047
+ request.onRequestSent()
2048
+
2049
+ if (!expectsPayload) {
2050
+ socket[kReset] = true
2051
+ }
2052
+
2053
+ resume(client)
2054
+ } catch (err) {
2055
+ util.destroy(isH2 ? h2stream : socket, err)
2056
+ }
2057
+ }
2058
+
2059
+ async function writeIterable ({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) {
2060
+ assert(contentLength !== 0 || client[kRunning] === 0, 'iterator body cannot be pipelined')
2061
+
2062
+ let callback = null
2063
+ function onDrain () {
2064
+ if (callback) {
2065
+ const cb = callback
2066
+ callback = null
2067
+ cb()
2068
+ }
2069
+ }
2070
+
2071
+ const waitForDrain = () => new Promise((resolve, reject) => {
2072
+ assert(callback === null)
2073
+
2074
+ if (socket[kError]) {
2075
+ reject(socket[kError])
2076
+ } else {
2077
+ callback = resolve
2078
+ }
2079
+ })
2080
+
2081
+ if (client[kHTTPConnVersion] === 'h2') {
2082
+ h2stream
2083
+ .on('close', onDrain)
2084
+ .on('drain', onDrain)
2085
+
2086
+ try {
2087
+ // It's up to the user to somehow abort the async iterable.
2088
+ for await (const chunk of body) {
2089
+ if (socket[kError]) {
2090
+ throw socket[kError]
2091
+ }
2092
+
2093
+ const res = h2stream.write(chunk)
2094
+ request.onBodySent(chunk)
2095
+ if (!res) {
2096
+ await waitForDrain()
2097
+ }
2098
+ }
2099
+ } catch (err) {
2100
+ h2stream.destroy(err)
2101
+ } finally {
2102
+ request.onRequestSent()
2103
+ h2stream.end()
2104
+ h2stream
2105
+ .off('close', onDrain)
2106
+ .off('drain', onDrain)
2107
+ }
2108
+
2109
+ return
2110
+ }
2111
+
2112
+ socket
2113
+ .on('close', onDrain)
2114
+ .on('drain', onDrain)
2115
+
2116
+ const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header })
2117
+ try {
2118
+ // It's up to the user to somehow abort the async iterable.
2119
+ for await (const chunk of body) {
2120
+ if (socket[kError]) {
2121
+ throw socket[kError]
2122
+ }
2123
+
2124
+ if (!writer.write(chunk)) {
2125
+ await waitForDrain()
2126
+ }
2127
+ }
2128
+
2129
+ writer.end()
2130
+ } catch (err) {
2131
+ writer.destroy(err)
2132
+ } finally {
2133
+ socket
2134
+ .off('close', onDrain)
2135
+ .off('drain', onDrain)
2136
+ }
2137
+ }
2138
+
2139
+ class AsyncWriter {
2140
+ constructor ({ socket, request, contentLength, client, expectsPayload, header }) {
2141
+ this.socket = socket
2142
+ this.request = request
2143
+ this.contentLength = contentLength
2144
+ this.client = client
2145
+ this.bytesWritten = 0
2146
+ this.expectsPayload = expectsPayload
2147
+ this.header = header
2148
+
2149
+ socket[kWriting] = true
2150
+ }
2151
+
2152
+ write (chunk) {
2153
+ const { socket, request, contentLength, client, bytesWritten, expectsPayload, header } = this
2154
+
2155
+ if (socket[kError]) {
2156
+ throw socket[kError]
2157
+ }
2158
+
2159
+ if (socket.destroyed) {
2160
+ return false
2161
+ }
2162
+
2163
+ const len = Buffer.byteLength(chunk)
2164
+ if (!len) {
2165
+ return true
2166
+ }
2167
+
2168
+ // We should defer writing chunks.
2169
+ if (contentLength !== null && bytesWritten + len > contentLength) {
2170
+ if (client[kStrictContentLength]) {
2171
+ throw new RequestContentLengthMismatchError()
2172
+ }
2173
+
2174
+ process.emitWarning(new RequestContentLengthMismatchError())
2175
+ }
2176
+
2177
+ socket.cork()
2178
+
2179
+ if (bytesWritten === 0) {
2180
+ if (!expectsPayload) {
2181
+ socket[kReset] = true
2182
+ }
2183
+
2184
+ if (contentLength === null) {
2185
+ socket.write(`${header}transfer-encoding: chunked\r\n`, 'latin1')
2186
+ } else {
2187
+ socket.write(`${header}content-length: ${contentLength}\r\n\r\n`, 'latin1')
2188
+ }
2189
+ }
2190
+
2191
+ if (contentLength === null) {
2192
+ socket.write(`\r\n${len.toString(16)}\r\n`, 'latin1')
2193
+ }
2194
+
2195
+ this.bytesWritten += len
2196
+
2197
+ const ret = socket.write(chunk)
2198
+
2199
+ socket.uncork()
2200
+
2201
+ request.onBodySent(chunk)
2202
+
2203
+ if (!ret) {
2204
+ if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
2205
+ // istanbul ignore else: only for jest
2206
+ if (socket[kParser].timeout.refresh) {
2207
+ socket[kParser].timeout.refresh()
2208
+ }
2209
+ }
2210
+ }
2211
+
2212
+ return ret
2213
+ }
2214
+
2215
+ end () {
2216
+ const { socket, contentLength, client, bytesWritten, expectsPayload, header, request } = this
2217
+ request.onRequestSent()
2218
+
2219
+ socket[kWriting] = false
2220
+
2221
+ if (socket[kError]) {
2222
+ throw socket[kError]
2223
+ }
2224
+
2225
+ if (socket.destroyed) {
2226
+ return
2227
+ }
2228
+
2229
+ if (bytesWritten === 0) {
2230
+ if (expectsPayload) {
2231
+ // https://tools.ietf.org/html/rfc7230#section-3.3.2
2232
+ // A user agent SHOULD send a Content-Length in a request message when
2233
+ // no Transfer-Encoding is sent and the request method defines a meaning
2234
+ // for an enclosed payload body.
2235
+
2236
+ socket.write(`${header}content-length: 0\r\n\r\n`, 'latin1')
2237
+ } else {
2238
+ socket.write(`${header}\r\n`, 'latin1')
2239
+ }
2240
+ } else if (contentLength === null) {
2241
+ socket.write('\r\n0\r\n\r\n', 'latin1')
2242
+ }
2243
+
2244
+ if (contentLength !== null && bytesWritten !== contentLength) {
2245
+ if (client[kStrictContentLength]) {
2246
+ throw new RequestContentLengthMismatchError()
2247
+ } else {
2248
+ process.emitWarning(new RequestContentLengthMismatchError())
2249
+ }
2250
+ }
2251
+
2252
+ if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
2253
+ // istanbul ignore else: only for jest
2254
+ if (socket[kParser].timeout.refresh) {
2255
+ socket[kParser].timeout.refresh()
2256
+ }
2257
+ }
2258
+
2259
+ resume(client)
2260
+ }
2261
+
2262
+ destroy (err) {
2263
+ const { socket, client } = this
2264
+
2265
+ socket[kWriting] = false
2266
+
2267
+ if (err) {
2268
+ assert(client[kRunning] <= 1, 'pipeline should only contain this request')
2269
+ util.destroy(socket, err)
2270
+ }
2271
+ }
2272
+ }
2273
+
2274
+ function errorRequest (client, request, err) {
2275
+ try {
2276
+ request.onError(err)
2277
+ assert(request.aborted)
2278
+ } catch (err) {
2279
+ client.emit('error', err)
2280
+ }
2281
+ }
2282
+
2283
+ module.exports = Client