@yanglaofish/fishtools 0.5.2 → 0.6.0

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 (871) hide show
  1. package/README.md +24 -12
  2. package/manual/README.md +24 -12
  3. package/manual/docs/deployment.md +3 -3
  4. package/manual/docs/examples/action-plugin/package.json +1 -1
  5. package/manual/docs/modules.md +2 -0
  6. package/manual/docs/plans/2026-10-13-effective-inputs-and-tables.md +39 -0
  7. package/manual/docs/plans/2026-10-13-plugin-defaults.md +45 -0
  8. package/manual/docs/plans/2026-10-14-issue7-recovery.md +33 -0
  9. package/manual/docs/plans/2026-10-14-issue8-10-workflows.md +26 -0
  10. package/manual/docs/plans/2026-10-14-issue9-completion.md +47 -0
  11. package/manual/docs/plans/2026-10-14-managed-execution.md +58 -0
  12. package/manual/docs/plans/2026-10-14-plugin-discovery-history.md +41 -0
  13. package/manual/docs/plans/2026-10-14-structured-reports.md +77 -0
  14. package/manual/docs/plans/2026-10-14-unreleased-review.md +47 -0
  15. package/manual/docs/plugin-development.md +175 -11
  16. package/manual/docs/releases.md +49 -6
  17. package/manual/docs/superpowers/plans/2026-10-13-command-shortcuts.md +3 -2
  18. package/manual/docs/superpowers/plans/2026-10-13-global-plugins.md +56 -0
  19. package/manual/docs/superpowers/plans/2026-10-13-tui-readable-sessions.md +21 -0
  20. package/manual/docs/superpowers/reviews/2026-10-13-0.5.3-review.md +28 -0
  21. package/manual/docs/superpowers/reviews/2026-10-13-command-shortcuts-review.md +7 -0
  22. package/manual/docs/superpowers/reviews/2026-10-13-tui-sessions-review.md +57 -0
  23. package/manual/docs/superpowers/reviews/2026-10-14-0.6.0-release-review.md +19 -0
  24. package/manual/docs/superpowers/specs/2026-10-13-issue-4-workflow-menu.md +23 -0
  25. package/manual/docs/superpowers/specs/2026-10-13-issue-5-results-and-history.md +20 -0
  26. package/manual/docs/terminal-commands.md +8 -0
  27. package/manual/docs/verification.md +47 -0
  28. package/manual/packages/core/README.md +8 -0
  29. package/manual/packages/core/package.json +1 -1
  30. package/manual/packages/core/src/application.js +108 -53
  31. package/manual/packages/core/src/development-watch-worker.js +10 -1
  32. package/manual/packages/core/src/development.js +1 -1
  33. package/manual/packages/core/src/plugin-catalog.js +60 -0
  34. package/manual/packages/core/src/plugin-loading.js +24 -0
  35. package/manual/packages/core/src/version.js +1 -1
  36. package/manual/packages/fst-cli/README.md +8 -0
  37. package/manual/packages/fst-cli/bin/fst.js +7 -6
  38. package/manual/packages/fst-cli/package.json +1 -1
  39. package/manual/packages/fst-cli/src/development.js +6 -1
  40. package/manual/packages/fst-cli/src/terminal/command-menu.js +11 -5
  41. package/manual/packages/fst-cli/src/terminal/file-autocomplete.js +106 -0
  42. package/manual/packages/fst-cli/src/terminal/log-viewer.js +4 -3
  43. package/manual/packages/fst-cli/src/terminal/navigation.js +25 -1
  44. package/manual/packages/fst-cli/src/terminal/presentation.js +5 -3
  45. package/manual/packages/fst-cli/src/terminal/report-presentation.js +38 -0
  46. package/manual/packages/fst-cli/src/terminal/result-table.js +66 -0
  47. package/manual/packages/fst-cli/src/terminal/run-feed.js +104 -23
  48. package/manual/packages/fst-cli/src/terminal/run-presentation.js +91 -14
  49. package/manual/packages/fst-cli/src/terminal/run-viewer.js +34 -15
  50. package/manual/packages/fst-cli/src/terminal/schema.js +114 -4
  51. package/manual/packages/fst-cli/src/terminal/session-history.js +82 -0
  52. package/manual/packages/fst-cli/src/terminal/session.js +158 -54
  53. package/manual/packages/fst-cli/src/terminal/view.js +108 -73
  54. package/manual/packages/fst-cli/src/terminal/workflow-menu.js +17 -10
  55. package/manual/packages/fst-devtools/README.md +2 -0
  56. package/manual/packages/fst-devtools/package.json +2 -2
  57. package/manual/packages/fst-devtools/src/plugin-quality.js +4 -1
  58. package/manual/packages/fst-devtools/src/plugin-tools.js +2 -1
  59. package/manual/packages/fst-devtools/src/process-usage.js +62 -0
  60. package/manual/packages/fst-logs/README.md +23 -2
  61. package/manual/packages/fst-logs/package.json +2 -1
  62. package/manual/packages/fst-logs/src/file-identity.js +23 -0
  63. package/manual/packages/fst-logs/src/markdown-log.js +4 -3
  64. package/manual/packages/fst-logs/src/run-logs.js +3 -2
  65. package/manual/packages/fst-logs/src/session-history.js +180 -0
  66. package/manual/packages/fst-platform/README.md +9 -0
  67. package/manual/packages/fst-platform/package.json +4 -3
  68. package/manual/packages/fst-platform/src/managed-process.js +36 -0
  69. package/manual/packages/fst-platform/src/process.js +11 -3
  70. package/manual/packages/fst-platform/src/shell.js +46 -1
  71. package/manual/packages/fst-plugin/README.md +4 -0
  72. package/manual/packages/fst-plugin/package.json +1 -1
  73. package/manual/packages/fst-plugin/src/contracts.js +3 -0
  74. package/manual/packages/fst-plugin/src/host.js +54 -31
  75. package/manual/packages/fst-plugin/src/runtime.js +14 -8
  76. package/manual/packages/fst-workflow/package.json +1 -1
  77. package/manual/packages/fst-workflow/src/engine.js +1 -1
  78. package/manual/packages/fst-workspace/README.md +6 -0
  79. package/manual/packages/fst-workspace/package.json +2 -1
  80. package/manual/packages/fst-workspace/src/plugin-registry.js +58 -0
  81. package/manual/packages/fst-workspace/src/plugins.js +10 -5
  82. package/manual/packages/fst-workspace/src/workflows.js +32 -12
  83. package/manual/packages/pack/package.json +3 -3
  84. package/manual/packages/pack/runtime-cache.js +26 -0
  85. package/manual/packages/pack/runtime.js +6 -10
  86. package/manual/packages/sdk/README.md +10 -0
  87. package/manual/packages/sdk/inputs.js +53 -0
  88. package/manual/packages/sdk/package.json +2 -0
  89. package/manual/packages/sdk/reports.js +53 -0
  90. package/manual/plugins/commands/package.json +1 -1
  91. package/node_modules/@mytools/commands/package.json +1 -1
  92. package/node_modules/@mytools/core/README.md +8 -0
  93. package/node_modules/@mytools/core/package.json +1 -1
  94. package/node_modules/@mytools/core/src/application.js +108 -53
  95. package/node_modules/@mytools/core/src/development-watch-worker.js +10 -1
  96. package/node_modules/@mytools/core/src/development.js +1 -1
  97. package/node_modules/@mytools/core/src/plugin-catalog.js +60 -0
  98. package/node_modules/@mytools/core/src/plugin-loading.js +24 -0
  99. package/node_modules/@mytools/core/src/version.js +1 -1
  100. package/node_modules/@mytools/fst-cli/README.md +8 -0
  101. package/node_modules/@mytools/fst-cli/bin/fst.js +7 -6
  102. package/node_modules/@mytools/fst-cli/package.json +1 -1
  103. package/node_modules/@mytools/fst-cli/src/development.js +6 -1
  104. package/node_modules/@mytools/fst-cli/src/terminal/command-menu.js +11 -5
  105. package/node_modules/@mytools/fst-cli/src/terminal/file-autocomplete.js +106 -0
  106. package/node_modules/@mytools/fst-cli/src/terminal/log-viewer.js +4 -3
  107. package/node_modules/@mytools/fst-cli/src/terminal/navigation.js +25 -1
  108. package/node_modules/@mytools/fst-cli/src/terminal/presentation.js +5 -3
  109. package/node_modules/@mytools/fst-cli/src/terminal/report-presentation.js +38 -0
  110. package/node_modules/@mytools/fst-cli/src/terminal/result-table.js +66 -0
  111. package/node_modules/@mytools/fst-cli/src/terminal/run-feed.js +104 -23
  112. package/node_modules/@mytools/fst-cli/src/terminal/run-presentation.js +91 -14
  113. package/node_modules/@mytools/fst-cli/src/terminal/run-viewer.js +34 -15
  114. package/node_modules/@mytools/fst-cli/src/terminal/schema.js +114 -4
  115. package/node_modules/@mytools/fst-cli/src/terminal/session-history.js +82 -0
  116. package/node_modules/@mytools/fst-cli/src/terminal/session.js +158 -54
  117. package/node_modules/@mytools/fst-cli/src/terminal/view.js +108 -73
  118. package/node_modules/@mytools/fst-cli/src/terminal/workflow-menu.js +17 -10
  119. package/node_modules/@mytools/fst-devtools/README.md +2 -0
  120. package/node_modules/@mytools/fst-devtools/package.json +2 -2
  121. package/node_modules/@mytools/fst-devtools/src/plugin-quality.js +4 -1
  122. package/node_modules/@mytools/fst-devtools/src/plugin-tools.js +2 -1
  123. package/node_modules/@mytools/fst-devtools/src/process-usage.js +62 -0
  124. package/node_modules/@mytools/fst-logs/README.md +23 -2
  125. package/node_modules/@mytools/fst-logs/package.json +2 -1
  126. package/node_modules/@mytools/fst-logs/src/file-identity.js +23 -0
  127. package/node_modules/@mytools/fst-logs/src/markdown-log.js +4 -3
  128. package/node_modules/@mytools/fst-logs/src/run-logs.js +3 -2
  129. package/node_modules/@mytools/fst-logs/src/session-history.js +180 -0
  130. package/node_modules/@mytools/fst-platform/README.md +9 -0
  131. package/node_modules/@mytools/fst-platform/node_modules/undici/LICENSE +21 -0
  132. package/node_modules/{undici/docs/docs/index.md → @mytools/fst-platform/node_modules/undici/README.md} +85 -137
  133. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Agent.md +84 -0
  134. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/BalancedPool.md +99 -0
  135. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/CacheStorage.md +30 -0
  136. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/CacheStore.md +164 -0
  137. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Client.md +288 -0
  138. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/ClientStats.md +27 -0
  139. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Connector.md +115 -0
  140. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/ContentType.md +57 -0
  141. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Cookies.md +128 -0
  142. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Debug.md +62 -0
  143. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +317 -0
  144. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Dispatcher.md +1393 -0
  145. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +159 -0
  146. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Errors.md +49 -0
  147. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/EventSource.md +45 -0
  148. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Fetch.md +60 -0
  149. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/GlobalInstallation.md +139 -0
  150. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/H2CClient.md +263 -0
  151. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/MockAgent.md +603 -0
  152. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/MockCallHistory.md +197 -0
  153. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/MockCallHistoryLog.md +43 -0
  154. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/MockClient.md +81 -0
  155. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/MockErrors.md +12 -0
  156. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/MockPool.md +555 -0
  157. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Pool.md +84 -0
  158. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/PoolStats.md +35 -0
  159. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/ProxyAgent.md +229 -0
  160. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/RedirectHandler.md +93 -0
  161. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/RetryAgent.md +50 -0
  162. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/RetryHandler.md +118 -0
  163. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/RoundRobinPool.md +145 -0
  164. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/SnapshotAgent.md +616 -0
  165. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +275 -0
  166. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Util.md +25 -0
  167. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/WebSocket.md +141 -0
  168. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/api-lifecycle.md +91 -0
  169. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/best-practices/client-certificate.md +64 -0
  170. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/docs/docs/best-practices/crawling.md +1 -3
  171. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/best-practices/mocking-request.md +190 -0
  172. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/best-practices/proxy.md +127 -0
  173. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/docs/docs/best-practices/undici-vs-builtin-fetch.md +8 -10
  174. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/best-practices/writing-tests.md +63 -0
  175. package/node_modules/@mytools/fst-platform/node_modules/undici/index-fetch.js +65 -0
  176. package/node_modules/@mytools/fst-platform/node_modules/undici/index.d.ts +3 -0
  177. package/node_modules/@mytools/fst-platform/node_modules/undici/index.js +234 -0
  178. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/abort-signal.js +59 -0
  179. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/api-connect.js +110 -0
  180. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/api-pipeline.js +252 -0
  181. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/api-request.js +214 -0
  182. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/api-stream.js +209 -0
  183. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/api-upgrade.js +111 -0
  184. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/index.js +7 -0
  185. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/readable.js +580 -0
  186. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/cache/memory-cache-store.js +3 -3
  187. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/cache/sqlite-cache-store.js +1 -3
  188. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/connect.js +153 -0
  189. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/constants.js +143 -0
  190. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/diagnostics.js +227 -0
  191. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/errors.js +477 -0
  192. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/request.js +485 -0
  193. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/symbols.js +75 -0
  194. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/tree.js +160 -0
  195. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/util.js +992 -0
  196. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/agent.js +158 -0
  197. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/balanced-pool.js +221 -0
  198. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/client-h1.js +1746 -0
  199. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/client-h2.js +1060 -0
  200. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/client.js +668 -0
  201. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/dispatcher-base.js +184 -0
  202. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/dispatcher.js +48 -0
  203. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +146 -0
  204. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/fixed-queue.js +135 -0
  205. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/dispatcher/h2c-client.js +4 -4
  206. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/pool-base.js +214 -0
  207. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/pool.js +118 -0
  208. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/proxy-agent.js +319 -0
  209. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/retry-agent.js +35 -0
  210. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/dispatcher/round-robin-pool.js +10 -32
  211. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/dispatcher/socks5-proxy-agent.js +63 -153
  212. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/global.js +59 -0
  213. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/handler/cache-handler.js +7 -49
  214. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/handler/cache-revalidation-handler.js +0 -10
  215. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/handler/decorator-handler.js +67 -0
  216. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/handler/deduplication-handler.js +10 -29
  217. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/handler/redirect-handler.js +238 -0
  218. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/handler/retry-handler.js +504 -0
  219. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/handler/unwrap-handler.js +106 -0
  220. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/handler/wrap-handler.js +105 -0
  221. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/interceptor/cache.js +26 -79
  222. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/interceptor/decompress.js +3 -13
  223. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/interceptor/deduplicate.js +4 -5
  224. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/interceptor/dns.js +571 -0
  225. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/interceptor/dump.js +99 -0
  226. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/interceptor/redirect.js +21 -0
  227. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/interceptor/response-error.js +95 -0
  228. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/interceptor/retry.js +19 -0
  229. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/llhttp/.gitkeep +0 -0
  230. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/llhttp/constants.js +531 -0
  231. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/llhttp/llhttp-wasm.js +15 -0
  232. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +15 -0
  233. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/llhttp/utils.js +12 -0
  234. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/mock-agent.js +232 -0
  235. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/mock/mock-call-history.js +1 -1
  236. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/mock-client.js +68 -0
  237. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/mock-errors.js +29 -0
  238. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/mock-interceptor.js +209 -0
  239. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/mock-pool.js +68 -0
  240. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/mock-symbols.js +32 -0
  241. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/mock-utils.js +486 -0
  242. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/pending-interceptors-formatter.js +43 -0
  243. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/mock/snapshot-agent.js +7 -25
  244. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/mock/snapshot-recorder.js +3 -38
  245. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/util/cache.js +10 -92
  246. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/util/promise.js +28 -0
  247. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/util/runtime-features.js +34 -3
  248. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/util/timers.js +425 -0
  249. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/cache/cache.js +864 -0
  250. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/cache/cachestorage.js +152 -0
  251. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/cache/util.js +45 -0
  252. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/cookies/constants.js +12 -0
  253. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/cookies/index.js +199 -0
  254. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/cookies/parse.js +314 -0
  255. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/cookies/util.js +352 -0
  256. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/eventsource/eventsource-stream.js +494 -0
  257. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/eventsource/eventsource.js +501 -0
  258. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/eventsource/util.js +29 -0
  259. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/LICENSE +21 -0
  260. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/body.js +509 -0
  261. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/constants.js +131 -0
  262. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/data-url.js +596 -0
  263. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/formdata-parser.js +586 -0
  264. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/formdata.js +259 -0
  265. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/global.js +40 -0
  266. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/headers.js +719 -0
  267. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/index.js +2413 -0
  268. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/request.js +1115 -0
  269. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/response.js +641 -0
  270. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/util.js +1522 -0
  271. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/web/infra/index.js +1 -16
  272. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/web/webidl/index.js +21 -7
  273. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/connection.js +339 -0
  274. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/constants.js +126 -0
  275. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/events.js +331 -0
  276. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/frame.js +133 -0
  277. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/permessage-deflate.js +105 -0
  278. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/receiver.js +507 -0
  279. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/sender.js +109 -0
  280. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/web/websocket/stream/websocketerror.js +10 -13
  281. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/web/websocket/stream/websocketstream.js +14 -29
  282. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/util.js +347 -0
  283. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/websocket.js +758 -0
  284. package/node_modules/@mytools/fst-platform/node_modules/undici/package.json +152 -0
  285. package/node_modules/@mytools/fst-platform/node_modules/undici/scripts/strip-comments.js +10 -0
  286. package/node_modules/@mytools/fst-platform/node_modules/undici/types/README.md +6 -0
  287. package/node_modules/@mytools/fst-platform/node_modules/undici/types/agent.d.ts +32 -0
  288. package/node_modules/@mytools/fst-platform/node_modules/undici/types/api.d.ts +43 -0
  289. package/node_modules/@mytools/fst-platform/node_modules/undici/types/balanced-pool.d.ts +30 -0
  290. package/node_modules/@mytools/fst-platform/node_modules/undici/types/cache.d.ts +36 -0
  291. package/node_modules/@mytools/fst-platform/node_modules/undici/types/client.d.ts +139 -0
  292. package/node_modules/@mytools/fst-platform/node_modules/undici/types/connector.d.ts +36 -0
  293. package/node_modules/@mytools/fst-platform/node_modules/undici/types/content-type.d.ts +21 -0
  294. package/node_modules/@mytools/fst-platform/node_modules/undici/types/cookies.d.ts +30 -0
  295. package/node_modules/@mytools/fst-platform/node_modules/undici/types/diagnostics-channel.d.ts +74 -0
  296. package/node_modules/@mytools/fst-platform/node_modules/undici/types/dispatcher.d.ts +275 -0
  297. package/node_modules/@mytools/fst-platform/node_modules/undici/types/env-http-proxy-agent.d.ts +22 -0
  298. package/node_modules/@mytools/fst-platform/node_modules/undici/types/errors.d.ts +177 -0
  299. package/node_modules/@mytools/fst-platform/node_modules/undici/types/eventsource.d.ts +66 -0
  300. package/node_modules/@mytools/fst-platform/node_modules/undici/types/fetch.d.ts +231 -0
  301. package/node_modules/@mytools/fst-platform/node_modules/undici/types/formdata.d.ts +114 -0
  302. package/node_modules/@mytools/fst-platform/node_modules/undici/types/global-dispatcher.d.ts +9 -0
  303. package/node_modules/@mytools/fst-platform/node_modules/undici/types/global-origin.d.ts +7 -0
  304. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/h2c-client.d.ts +6 -6
  305. package/node_modules/@mytools/fst-platform/node_modules/undici/types/handlers.d.ts +14 -0
  306. package/node_modules/@mytools/fst-platform/node_modules/undici/types/header.d.ts +160 -0
  307. package/node_modules/@mytools/fst-platform/node_modules/undici/types/index.d.ts +91 -0
  308. package/node_modules/@mytools/fst-platform/node_modules/undici/types/interceptors.d.ts +82 -0
  309. package/node_modules/@mytools/fst-platform/node_modules/undici/types/mock-agent.d.ts +68 -0
  310. package/node_modules/@mytools/fst-platform/node_modules/undici/types/mock-client.d.ts +27 -0
  311. package/node_modules/@mytools/fst-platform/node_modules/undici/types/mock-errors.d.ts +12 -0
  312. package/node_modules/@mytools/fst-platform/node_modules/undici/types/mock-interceptor.d.ts +94 -0
  313. package/node_modules/@mytools/fst-platform/node_modules/undici/types/mock-pool.d.ts +27 -0
  314. package/node_modules/@mytools/fst-platform/node_modules/undici/types/patch.d.ts +29 -0
  315. package/node_modules/@mytools/fst-platform/node_modules/undici/types/pool-stats.d.ts +19 -0
  316. package/node_modules/@mytools/fst-platform/node_modules/undici/types/pool.d.ts +41 -0
  317. package/node_modules/@mytools/fst-platform/node_modules/undici/types/proxy-agent.d.ts +29 -0
  318. package/node_modules/@mytools/fst-platform/node_modules/undici/types/readable.d.ts +68 -0
  319. package/node_modules/@mytools/fst-platform/node_modules/undici/types/retry-agent.d.ts +8 -0
  320. package/node_modules/@mytools/fst-platform/node_modules/undici/types/retry-handler.d.ts +125 -0
  321. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/round-robin-pool.d.ts +2 -0
  322. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/snapshot-agent.d.ts +0 -4
  323. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/socks5-proxy-agent.d.ts +2 -4
  324. package/node_modules/@mytools/fst-platform/node_modules/undici/types/util.d.ts +18 -0
  325. package/node_modules/@mytools/fst-platform/node_modules/undici/types/webidl.d.ts +347 -0
  326. package/node_modules/@mytools/fst-platform/node_modules/undici/types/websocket.d.ts +188 -0
  327. package/node_modules/@mytools/fst-platform/package.json +4 -3
  328. package/node_modules/@mytools/fst-platform/src/managed-process.js +36 -0
  329. package/node_modules/@mytools/fst-platform/src/process.js +11 -3
  330. package/node_modules/@mytools/fst-platform/src/shell.js +46 -1
  331. package/node_modules/@mytools/fst-plugin/README.md +4 -0
  332. package/node_modules/@mytools/fst-plugin/package.json +1 -1
  333. package/node_modules/@mytools/fst-plugin/src/contracts.js +3 -0
  334. package/node_modules/@mytools/fst-plugin/src/host.js +54 -31
  335. package/node_modules/@mytools/fst-plugin/src/runtime.js +14 -8
  336. package/node_modules/@mytools/fst-workflow/package.json +1 -1
  337. package/node_modules/@mytools/fst-workflow/src/engine.js +1 -1
  338. package/node_modules/@mytools/fst-workspace/README.md +6 -0
  339. package/node_modules/@mytools/fst-workspace/package.json +2 -1
  340. package/node_modules/@mytools/fst-workspace/src/plugin-registry.js +58 -0
  341. package/node_modules/@mytools/fst-workspace/src/plugins.js +10 -5
  342. package/node_modules/@mytools/fst-workspace/src/workflows.js +32 -12
  343. package/node_modules/@mytools/pack/package.json +3 -3
  344. package/node_modules/@mytools/pack/runtime-cache.js +26 -0
  345. package/node_modules/@mytools/pack/runtime.js +6 -10
  346. package/node_modules/@mytools/sdk/README.md +10 -0
  347. package/node_modules/@mytools/sdk/inputs.js +53 -0
  348. package/node_modules/@mytools/sdk/package.json +2 -0
  349. package/node_modules/@mytools/sdk/reports.js +53 -0
  350. package/node_modules/@mytools/web/public/THIRD_PARTY_NOTICES.txt +1197 -1207
  351. package/node_modules/@npmcli/agent/lib/agents.js +0 -10
  352. package/node_modules/@npmcli/agent/package.json +12 -11
  353. package/node_modules/@npmcli/arborist/README.md +2 -2
  354. package/node_modules/@npmcli/arborist/bin/index.js +2 -1
  355. package/node_modules/@npmcli/arborist/bin/shrinkwrap.js +7 -0
  356. package/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js +25 -159
  357. package/node_modules/@npmcli/arborist/lib/arborist/isolated-reifier.js +49 -11
  358. package/node_modules/@npmcli/arborist/lib/arborist/load-actual.js +0 -67
  359. package/node_modules/@npmcli/arborist/lib/arborist/load-virtual.js +37 -5
  360. package/node_modules/@npmcli/arborist/lib/arborist/rebuild.js +8 -15
  361. package/node_modules/@npmcli/arborist/lib/arborist/reify.js +42 -59
  362. package/node_modules/@npmcli/arborist/lib/consistent-resolve.js +1 -1
  363. package/node_modules/@npmcli/arborist/lib/diff.js +22 -17
  364. package/node_modules/@npmcli/arborist/lib/edge.js +2 -22
  365. package/node_modules/@npmcli/arborist/lib/index.js +0 -2
  366. package/node_modules/@npmcli/arborist/lib/isolated-classes.js +1 -4
  367. package/node_modules/@npmcli/arborist/lib/node.js +9 -13
  368. package/node_modules/@npmcli/arborist/lib/place-dep.js +0 -6
  369. package/node_modules/@npmcli/arborist/lib/printable.js +5 -0
  370. package/node_modules/@npmcli/arborist/lib/shrinkwrap.js +32 -55
  371. package/node_modules/@npmcli/arborist/package.json +26 -32
  372. package/node_modules/@npmcli/fs/lib/move-file.js +5 -5
  373. package/node_modules/@npmcli/fs/package.json +5 -5
  374. package/node_modules/@npmcli/git/package.json +12 -13
  375. package/node_modules/@npmcli/installed-package-contents/package.json +7 -7
  376. package/node_modules/@npmcli/map-workspaces/package.json +7 -7
  377. package/node_modules/@npmcli/metavuln-calculator/package.json +16 -10
  378. package/node_modules/@npmcli/name-from-folder/package.json +16 -13
  379. package/node_modules/@npmcli/node-gyp/package.json +5 -5
  380. package/node_modules/@npmcli/package-json/lib/index.js +1 -2
  381. package/node_modules/@npmcli/package-json/lib/normalize.js +22 -23
  382. package/node_modules/@npmcli/package-json/package.json +10 -11
  383. package/node_modules/@npmcli/promise-spawn/README.md +2 -1
  384. package/node_modules/@npmcli/promise-spawn/package.json +5 -5
  385. package/node_modules/@npmcli/redact/package.json +4 -4
  386. package/node_modules/@npmcli/run-script/lib/is-server-package.js +11 -0
  387. package/node_modules/@npmcli/run-script/lib/make-spawn-args.js +6 -5
  388. package/node_modules/@npmcli/run-script/lib/run-script-pkg.js +13 -4
  389. package/node_modules/@npmcli/run-script/lib/run-script.js +2 -1
  390. package/node_modules/@npmcli/run-script/package.json +11 -12
  391. package/node_modules/@sigstore/bundle/README.md +1 -1
  392. package/node_modules/@sigstore/bundle/dist/error.js +0 -1
  393. package/node_modules/@sigstore/bundle/package.json +2 -2
  394. package/node_modules/@sigstore/core/README.md +1 -1
  395. package/node_modules/@sigstore/core/dist/asn1/length.js +1 -12
  396. package/node_modules/@sigstore/core/dist/asn1/obj.js +7 -25
  397. package/node_modules/@sigstore/core/dist/asn1/parse.js +5 -24
  398. package/node_modules/@sigstore/core/package.json +2 -2
  399. package/node_modules/@sigstore/sign/README.md +1 -1
  400. package/node_modules/@sigstore/sign/dist/signer/fulcio/ephemeral.js +1 -1
  401. package/node_modules/@sigstore/sign/package.json +9 -9
  402. package/node_modules/@sigstore/tuf/README.md +1 -1
  403. package/node_modules/@sigstore/tuf/package.json +4 -4
  404. package/node_modules/@sigstore/tuf/seeds.json +1 -1
  405. package/node_modules/@sigstore/verify/README.md +1 -1
  406. package/node_modules/@sigstore/verify/dist/bundle/dsse.d.ts +0 -1
  407. package/node_modules/@sigstore/verify/dist/bundle/dsse.js +0 -6
  408. package/node_modules/@sigstore/verify/dist/bundle/message.d.ts +0 -1
  409. package/node_modules/@sigstore/verify/dist/bundle/message.js +0 -5
  410. package/node_modules/@sigstore/verify/dist/policy.d.ts +1 -1
  411. package/node_modules/@sigstore/verify/dist/policy.js +2 -0
  412. package/node_modules/@sigstore/verify/dist/shared.types.d.ts +1 -6
  413. package/node_modules/@sigstore/verify/dist/tlog/checkpoint.js +3 -17
  414. package/node_modules/@sigstore/verify/dist/tlog/hashedrekord.js +4 -4
  415. package/node_modules/@sigstore/verify/dist/tlog/index.js +1 -13
  416. package/node_modules/@sigstore/verify/dist/tlog/merkle.js +1 -12
  417. package/node_modules/@sigstore/verify/dist/verifier.js +5 -13
  418. package/node_modules/@sigstore/verify/package.json +5 -5
  419. package/node_modules/@tufjs/models/package.json +3 -3
  420. package/node_modules/abbrev/package.json +8 -9
  421. package/node_modules/agent-base/dist/helpers.d.ts +5 -0
  422. package/node_modules/agent-base/dist/helpers.d.ts.map +1 -1
  423. package/node_modules/agent-base/dist/helpers.js +34 -5
  424. package/node_modules/agent-base/dist/helpers.js.map +1 -1
  425. package/node_modules/agent-base/dist/index.d.ts +5 -1
  426. package/node_modules/agent-base/dist/index.d.ts.map +1 -1
  427. package/node_modules/agent-base/dist/index.js +40 -8
  428. package/node_modules/agent-base/dist/index.js.map +1 -1
  429. package/node_modules/agent-base/package.json +12 -12
  430. package/node_modules/bin-links/README.md +4 -5
  431. package/node_modules/bin-links/lib/fix-bin.js +1 -3
  432. package/node_modules/bin-links/lib/index.js +16 -8
  433. package/node_modules/bin-links/lib/link-mans.js +53 -0
  434. package/node_modules/bin-links/package.json +12 -11
  435. package/node_modules/cacache/lib/content/write.js +0 -2
  436. package/node_modules/cacache/lib/entry-index.js +0 -3
  437. package/node_modules/cacache/lib/rm.js +0 -1
  438. package/node_modules/cacache/lib/util/tmp.js +1 -5
  439. package/node_modules/cacache/lib/verify.js +2 -2
  440. package/node_modules/cacache/package.json +7 -7
  441. package/node_modules/cmd-shim/lib/index.js +32 -67
  442. package/node_modules/cmd-shim/package.json +5 -5
  443. package/node_modules/hosted-git-info/README.md +1 -1
  444. package/node_modules/hosted-git-info/lib/parse-url.js +3 -1
  445. package/node_modules/hosted-git-info/package.json +4 -4
  446. package/node_modules/http-proxy-agent/dist/index.d.ts +5 -8
  447. package/node_modules/http-proxy-agent/dist/index.d.ts.map +1 -1
  448. package/node_modules/http-proxy-agent/dist/index.js +42 -26
  449. package/node_modules/http-proxy-agent/dist/index.js.map +1 -1
  450. package/node_modules/http-proxy-agent/package.json +14 -15
  451. package/node_modules/https-proxy-agent/dist/index.d.ts +5 -9
  452. package/node_modules/https-proxy-agent/dist/index.d.ts.map +1 -1
  453. package/node_modules/https-proxy-agent/dist/index.js +44 -98
  454. package/node_modules/https-proxy-agent/dist/index.js.map +1 -1
  455. package/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts +3 -0
  456. package/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts.map +1 -1
  457. package/node_modules/https-proxy-agent/dist/parse-proxy-response.js +10 -3
  458. package/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map +1 -1
  459. package/node_modules/https-proxy-agent/package.json +15 -16
  460. package/node_modules/ignore-walk/package.json +4 -4
  461. package/node_modules/ini/package.json +5 -5
  462. package/node_modules/ip-address/README.md +70 -70
  463. package/node_modules/ip-address/dist/ipv6.js +7 -4
  464. package/node_modules/ip-address/dist/ipv6.js.map +1 -1
  465. package/node_modules/ip-address/dist/v6/constants.d.ts +3 -0
  466. package/node_modules/ip-address/dist/v6/constants.js +3 -0
  467. package/node_modules/ip-address/dist/v6/constants.js.map +1 -1
  468. package/node_modules/ip-address/package.json +2 -1
  469. package/node_modules/json-parse-even-better-errors/lib/index.js +1 -3
  470. package/node_modules/json-parse-even-better-errors/package.json +17 -13
  471. package/node_modules/make-fetch-happen/package.json +11 -11
  472. package/node_modules/minipass-fetch/package.json +4 -4
  473. package/node_modules/node-gyp/.release-please-manifest.json +1 -1
  474. package/node_modules/node-gyp/CHANGELOG.md +0 -102
  475. package/node_modules/node-gyp/README.md +2 -3
  476. package/node_modules/node-gyp/eslint.config.js +1 -4
  477. package/node_modules/node-gyp/gyp/.release-please-manifest.json +1 -1
  478. package/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +19 -14
  479. package/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +2 -7
  480. package/node_modules/node-gyp/gyp/pyproject.toml +1 -1
  481. package/node_modules/node-gyp/lib/build.js +6 -18
  482. package/node_modules/node-gyp/lib/create-config-gypi.js +0 -5
  483. package/node_modules/node-gyp/lib/node-gyp.js +2 -9
  484. package/node_modules/node-gyp/lib/rebuild.js +3 -3
  485. package/node_modules/node-gyp/package.json +9 -11
  486. package/node_modules/nopt/README.md +4 -2
  487. package/node_modules/nopt/lib/debug.js +5 -0
  488. package/node_modules/nopt/lib/nopt-lib.js +43 -7
  489. package/node_modules/nopt/lib/nopt.js +4 -2
  490. package/node_modules/nopt/lib/type-defs.js +13 -8
  491. package/node_modules/nopt/package.json +17 -15
  492. package/node_modules/npm-bundled/package.json +6 -6
  493. package/node_modules/npm-install-checks/package.json +5 -5
  494. package/node_modules/npm-normalize-package-bin/package.json +16 -13
  495. package/node_modules/npm-package-arg/package.json +7 -7
  496. package/node_modules/npm-packlist/README.md +30 -45
  497. package/node_modules/npm-packlist/lib/index.js +47 -115
  498. package/node_modules/npm-packlist/package.json +8 -10
  499. package/node_modules/npm-pick-manifest/package.json +19 -15
  500. package/node_modules/npm-registry-fetch/lib/errors.js +3 -8
  501. package/node_modules/npm-registry-fetch/package.json +12 -12
  502. package/node_modules/pacote/lib/dir.js +5 -60
  503. package/node_modules/pacote/lib/fetcher.js +0 -4
  504. package/node_modules/pacote/lib/git.js +3 -11
  505. package/node_modules/pacote/lib/util/add-git-sha.js +1 -1
  506. package/node_modules/pacote/package.json +18 -19
  507. package/node_modules/parse-conflict-json/package.json +6 -6
  508. package/node_modules/proc-log/package.json +4 -4
  509. package/node_modules/read-cmd-shim/lib/index.js +1 -1
  510. package/node_modules/read-cmd-shim/package.json +18 -14
  511. package/node_modules/sigstore/README.md +1 -1
  512. package/node_modules/sigstore/package.json +10 -10
  513. package/node_modules/socks-proxy-agent/dist/index.d.ts +3 -1
  514. package/node_modules/socks-proxy-agent/dist/index.d.ts.map +1 -1
  515. package/node_modules/socks-proxy-agent/dist/index.js +43 -17
  516. package/node_modules/socks-proxy-agent/dist/index.js.map +1 -1
  517. package/node_modules/socks-proxy-agent/package.json +15 -15
  518. package/node_modules/ssri/package.json +4 -4
  519. package/node_modules/tuf-js/dist/config.d.ts +2 -2
  520. package/node_modules/tuf-js/dist/fetcher.d.ts +4 -4
  521. package/node_modules/tuf-js/dist/fetcher.js +16 -55
  522. package/node_modules/tuf-js/dist/updater.js +2 -2
  523. package/node_modules/tuf-js/package.json +8 -8
  524. package/node_modules/undici/README.md +72 -405
  525. package/node_modules/undici/docs/docs/api/Agent.md +41 -252
  526. package/node_modules/undici/docs/docs/api/BalancedPool.md +48 -246
  527. package/node_modules/undici/docs/docs/api/CacheStorage.md +13 -171
  528. package/node_modules/undici/docs/docs/api/Client.md +139 -395
  529. package/node_modules/undici/docs/docs/api/Connector.md +35 -118
  530. package/node_modules/undici/docs/docs/api/ContentType.md +25 -65
  531. package/node_modules/undici/docs/docs/api/Cookies.md +47 -125
  532. package/node_modules/undici/docs/docs/api/Debug.md +31 -47
  533. package/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +97 -409
  534. package/node_modules/undici/docs/docs/api/DispatchInterceptor.md +60 -0
  535. package/node_modules/undici/docs/docs/api/Dispatcher.md +1011 -500
  536. package/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +96 -105
  537. package/node_modules/undici/docs/docs/api/Errors.md +28 -528
  538. package/node_modules/undici/docs/docs/api/EventSource.md +13 -326
  539. package/node_modules/undici/docs/docs/api/Fetch.md +24 -693
  540. package/node_modules/undici/docs/docs/api/MockAgent.md +264 -346
  541. package/node_modules/undici/docs/docs/api/MockClient.md +31 -153
  542. package/node_modules/undici/docs/docs/api/MockErrors.md +5 -56
  543. package/node_modules/undici/docs/docs/api/MockPool.md +253 -324
  544. package/node_modules/undici/docs/docs/api/Pool.md +41 -235
  545. package/node_modules/undici/docs/docs/api/PoolStats.md +13 -119
  546. package/node_modules/undici/docs/docs/api/ProxyAgent.md +81 -198
  547. package/node_modules/undici/docs/docs/api/RedirectHandler.md +58 -238
  548. package/node_modules/undici/docs/docs/api/RetryAgent.md +28 -119
  549. package/node_modules/undici/docs/docs/api/RetryHandler.md +78 -161
  550. package/node_modules/undici/docs/docs/api/Util.md +11 -68
  551. package/node_modules/undici/docs/docs/api/WebSocket.md +24 -509
  552. package/node_modules/undici/docs/docs/api/api-lifecycle.md +33 -101
  553. package/node_modules/undici/docs/docs/best-practices/client-certificate.md +0 -2
  554. package/node_modules/undici/docs/docs/best-practices/mocking-request.md +2 -58
  555. package/node_modules/undici/docs/docs/best-practices/proxy.md +1 -3
  556. package/node_modules/undici/docs/docs/best-practices/writing-tests.md +0 -45
  557. package/node_modules/undici/index-fetch.js +4 -34
  558. package/node_modules/undici/index.d.ts +1 -1
  559. package/node_modules/undici/index.js +20 -87
  560. package/node_modules/undici/lib/api/abort-signal.js +0 -2
  561. package/node_modules/undici/lib/api/api-connect.js +11 -15
  562. package/node_modules/undici/lib/api/api-pipeline.js +19 -33
  563. package/node_modules/undici/lib/api/api-request.js +59 -89
  564. package/node_modules/undici/lib/api/api-stream.js +64 -114
  565. package/node_modules/undici/lib/api/api-upgrade.js +13 -26
  566. package/node_modules/undici/lib/api/readable.js +87 -317
  567. package/node_modules/undici/lib/api/util.js +93 -0
  568. package/node_modules/undici/lib/core/connect.js +125 -77
  569. package/node_modules/undici/lib/core/constants.js +9 -11
  570. package/node_modules/undici/lib/core/diagnostics.js +129 -154
  571. package/node_modules/undici/lib/core/errors.js +50 -122
  572. package/node_modules/undici/lib/core/request.js +87 -172
  573. package/node_modules/undici/lib/core/symbols.js +2 -14
  574. package/node_modules/undici/lib/core/tree.js +2 -10
  575. package/node_modules/undici/lib/core/util.js +190 -481
  576. package/node_modules/undici/lib/dispatcher/agent.js +35 -83
  577. package/node_modules/undici/lib/dispatcher/balanced-pool.js +38 -46
  578. package/node_modules/undici/lib/dispatcher/client-h1.js +199 -492
  579. package/node_modules/undici/lib/dispatcher/client-h2.js +380 -1409
  580. package/node_modules/undici/lib/dispatcher/client.js +130 -253
  581. package/node_modules/undici/lib/dispatcher/dispatcher-base.js +52 -50
  582. package/node_modules/undici/lib/dispatcher/dispatcher.js +24 -17
  583. package/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +45 -75
  584. package/node_modules/undici/lib/dispatcher/fixed-queue.js +50 -68
  585. package/node_modules/undici/lib/dispatcher/pool-base.js +54 -153
  586. package/node_modules/undici/lib/dispatcher/pool-stats.js +34 -0
  587. package/node_modules/undici/lib/dispatcher/pool.js +16 -135
  588. package/node_modules/undici/lib/dispatcher/proxy-agent.js +41 -175
  589. package/node_modules/undici/lib/dispatcher/retry-agent.js +0 -3
  590. package/node_modules/undici/lib/global.js +9 -59
  591. package/node_modules/undici/lib/handler/decorator-handler.js +15 -43
  592. package/node_modules/undici/lib/handler/redirect-handler.js +116 -127
  593. package/node_modules/undici/lib/handler/retry-handler.js +182 -398
  594. package/node_modules/undici/lib/interceptor/dns.js +47 -254
  595. package/node_modules/undici/lib/interceptor/dump.js +56 -32
  596. package/node_modules/undici/lib/interceptor/redirect-interceptor.js +21 -0
  597. package/node_modules/undici/lib/interceptor/redirect.js +14 -11
  598. package/node_modules/undici/lib/interceptor/response-error.js +22 -31
  599. package/node_modules/undici/lib/llhttp/.gitkeep +0 -0
  600. package/node_modules/undici/lib/llhttp/constants.js +193 -446
  601. package/node_modules/undici/lib/llhttp/llhttp-wasm.js +1 -11
  602. package/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +1 -11
  603. package/node_modules/undici/lib/llhttp/utils.js +12 -9
  604. package/node_modules/undici/lib/mock/mock-agent.js +22 -106
  605. package/node_modules/undici/lib/mock/mock-client.js +4 -13
  606. package/node_modules/undici/lib/mock/mock-errors.js +2 -3
  607. package/node_modules/undici/lib/mock/mock-interceptor.js +13 -33
  608. package/node_modules/undici/lib/mock/mock-pool.js +4 -13
  609. package/node_modules/undici/lib/mock/mock-symbols.js +1 -10
  610. package/node_modules/undici/lib/mock/mock-utils.js +51 -404
  611. package/node_modules/undici/lib/mock/pluralizer.js +29 -0
  612. package/node_modules/undici/lib/util/timers.js +9 -11
  613. package/node_modules/undici/lib/web/cache/cache.js +51 -63
  614. package/node_modules/undici/lib/web/cache/cachestorage.js +7 -13
  615. package/node_modules/undici/lib/web/cache/symbols.js +5 -0
  616. package/node_modules/undici/lib/web/cookies/index.js +18 -45
  617. package/node_modules/undici/lib/web/cookies/parse.js +149 -157
  618. package/node_modules/undici/lib/web/cookies/util.js +2 -4
  619. package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +9 -37
  620. package/node_modules/undici/lib/web/eventsource/eventsource.js +64 -108
  621. package/node_modules/undici/lib/web/eventsource/util.js +5 -28
  622. package/node_modules/undici/lib/web/fetch/body.js +148 -173
  623. package/node_modules/undici/lib/web/fetch/constants.js +6 -13
  624. package/node_modules/undici/lib/web/fetch/data-url.js +167 -19
  625. package/node_modules/undici/lib/web/fetch/dispatcher-weakref.js +46 -0
  626. package/node_modules/undici/lib/web/fetch/file.js +126 -0
  627. package/node_modules/undici/lib/web/fetch/formdata-parser.js +117 -229
  628. package/node_modules/undici/lib/web/fetch/formdata.js +65 -85
  629. package/node_modules/undici/lib/web/fetch/headers.js +108 -143
  630. package/node_modules/undici/lib/web/fetch/index.js +446 -627
  631. package/node_modules/undici/lib/web/fetch/request.js +115 -217
  632. package/node_modules/undici/lib/web/fetch/response.js +82 -110
  633. package/node_modules/undici/lib/web/fetch/symbols.js +9 -0
  634. package/node_modules/undici/lib/web/fetch/util.js +393 -291
  635. package/node_modules/undici/lib/web/fetch/webidl.js +695 -0
  636. package/node_modules/undici/lib/web/fileapi/encoding.js +290 -0
  637. package/node_modules/undici/lib/web/fileapi/filereader.js +344 -0
  638. package/node_modules/undici/lib/web/fileapi/progressevent.js +78 -0
  639. package/node_modules/undici/lib/web/fileapi/symbols.js +10 -0
  640. package/node_modules/undici/lib/web/fileapi/util.js +391 -0
  641. package/node_modules/undici/lib/web/websocket/connection.js +160 -139
  642. package/node_modules/undici/lib/web/websocket/constants.js +10 -70
  643. package/node_modules/undici/lib/web/websocket/events.js +30 -49
  644. package/node_modules/undici/lib/web/websocket/frame.js +20 -51
  645. package/node_modules/undici/lib/web/websocket/receiver.js +87 -83
  646. package/node_modules/undici/lib/web/websocket/sender.js +13 -18
  647. package/node_modules/undici/lib/web/websocket/symbols.js +12 -0
  648. package/node_modules/undici/lib/web/websocket/util.js +90 -115
  649. package/node_modules/undici/lib/web/websocket/websocket.js +171 -359
  650. package/node_modules/undici/package.json +57 -49
  651. package/node_modules/undici/scripts/strip-comments.js +1 -3
  652. package/node_modules/undici/types/agent.d.ts +13 -12
  653. package/node_modules/undici/types/api.d.ts +26 -26
  654. package/node_modules/undici/types/balanced-pool.d.ts +12 -13
  655. package/node_modules/undici/types/client.d.ts +39 -98
  656. package/node_modules/undici/types/connector.d.ts +2 -5
  657. package/node_modules/undici/types/cookies.d.ts +1 -3
  658. package/node_modules/undici/types/diagnostics-channel.d.ts +11 -20
  659. package/node_modules/undici/types/dispatcher.d.ts +139 -136
  660. package/node_modules/undici/types/env-http-proxy-agent.d.ts +3 -4
  661. package/node_modules/undici/types/errors.d.ts +54 -86
  662. package/node_modules/undici/types/eventsource.d.ts +4 -9
  663. package/node_modules/undici/types/fetch.d.ts +25 -51
  664. package/node_modules/undici/types/file.d.ts +39 -0
  665. package/node_modules/undici/types/filereader.d.ts +54 -0
  666. package/node_modules/undici/types/formdata.d.ts +7 -7
  667. package/node_modules/undici/types/global-dispatcher.d.ts +4 -4
  668. package/node_modules/undici/types/global-origin.d.ts +5 -5
  669. package/node_modules/undici/types/handlers.d.ts +9 -10
  670. package/node_modules/undici/types/header.d.ts +1 -162
  671. package/node_modules/undici/types/index.d.ts +47 -69
  672. package/node_modules/undici/types/interceptors.d.ts +12 -62
  673. package/node_modules/undici/types/mock-agent.d.ts +27 -46
  674. package/node_modules/undici/types/mock-client.d.ts +4 -6
  675. package/node_modules/undici/types/mock-errors.d.ts +3 -3
  676. package/node_modules/undici/types/mock-interceptor.d.ts +21 -26
  677. package/node_modules/undici/types/mock-pool.d.ts +4 -6
  678. package/node_modules/undici/types/patch.d.ts +4 -0
  679. package/node_modules/undici/types/pool-stats.d.ts +8 -8
  680. package/node_modules/undici/types/pool.d.ts +14 -14
  681. package/node_modules/undici/types/proxy-agent.d.ts +6 -13
  682. package/node_modules/undici/types/readable.d.ts +16 -19
  683. package/node_modules/undici/types/retry-agent.d.ts +1 -1
  684. package/node_modules/undici/types/retry-handler.d.ts +9 -18
  685. package/node_modules/undici/types/util.d.ts +3 -3
  686. package/node_modules/undici/types/webidl.d.ts +32 -156
  687. package/node_modules/undici/types/websocket.d.ts +10 -48
  688. package/node_modules/validate-npm-package-name/package.json +4 -4
  689. package/node_modules/which/package.json +4 -4
  690. package/node_modules/write-file-atomic/package.json +4 -4
  691. package/package.json +56 -60
  692. package/node_modules/@npmcli/arborist/lib/npm-extension.js +0 -237
  693. package/node_modules/@npmcli/arborist/lib/package-extensions.js +0 -236
  694. package/node_modules/@npmcli/arborist/lib/patch.js +0 -111
  695. package/node_modules/@npmcli/arborist/lib/patched-dependencies.js +0 -168
  696. package/node_modules/cacache/lib/util/cache-dir.js +0 -29
  697. package/node_modules/diff/CONTRIBUTING.md +0 -28
  698. package/node_modules/diff/LICENSE +0 -29
  699. package/node_modules/diff/README.md +0 -388
  700. package/node_modules/diff/dist/diff.js +0 -1782
  701. package/node_modules/diff/dist/diff.min.js +0 -1
  702. package/node_modules/diff/eslint.config.mjs +0 -182
  703. package/node_modules/diff/libcjs/convert/dmp.d.ts +0 -8
  704. package/node_modules/diff/libcjs/convert/dmp.d.ts.map +0 -1
  705. package/node_modules/diff/libcjs/convert/dmp.js +0 -24
  706. package/node_modules/diff/libcjs/convert/xml.d.ts +0 -6
  707. package/node_modules/diff/libcjs/convert/xml.d.ts.map +0 -1
  708. package/node_modules/diff/libcjs/convert/xml.js +0 -34
  709. package/node_modules/diff/libcjs/diff/array.d.ts +0 -19
  710. package/node_modules/diff/libcjs/diff/array.d.ts.map +0 -1
  711. package/node_modules/diff/libcjs/diff/array.js +0 -40
  712. package/node_modules/diff/libcjs/diff/base.d.ts +0 -20
  713. package/node_modules/diff/libcjs/diff/base.d.ts.map +0 -1
  714. package/node_modules/diff/libcjs/diff/base.js +0 -265
  715. package/node_modules/diff/libcjs/diff/character.d.ts +0 -19
  716. package/node_modules/diff/libcjs/diff/character.d.ts.map +0 -1
  717. package/node_modules/diff/libcjs/diff/character.js +0 -31
  718. package/node_modules/diff/libcjs/diff/css.d.ts +0 -18
  719. package/node_modules/diff/libcjs/diff/css.d.ts.map +0 -1
  720. package/node_modules/diff/libcjs/diff/css.js +0 -34
  721. package/node_modules/diff/libcjs/diff/json.d.ts +0 -24
  722. package/node_modules/diff/libcjs/diff/json.d.ts.map +0 -1
  723. package/node_modules/diff/libcjs/diff/json.js +0 -105
  724. package/node_modules/diff/libcjs/diff/line.d.ts +0 -24
  725. package/node_modules/diff/libcjs/diff/line.d.ts.map +0 -1
  726. package/node_modules/diff/libcjs/diff/line.js +0 -89
  727. package/node_modules/diff/libcjs/diff/sentence.d.ts +0 -21
  728. package/node_modules/diff/libcjs/diff/sentence.d.ts.map +0 -1
  729. package/node_modules/diff/libcjs/diff/sentence.js +0 -67
  730. package/node_modules/diff/libcjs/diff/word.d.ts +0 -35
  731. package/node_modules/diff/libcjs/diff/word.d.ts.map +0 -1
  732. package/node_modules/diff/libcjs/diff/word.js +0 -312
  733. package/node_modules/diff/libcjs/index.d.ts +0 -20
  734. package/node_modules/diff/libcjs/index.d.ts.map +0 -1
  735. package/node_modules/diff/libcjs/index.js +0 -64
  736. package/node_modules/diff/libcjs/package.json +0 -1
  737. package/node_modules/diff/libcjs/patch/apply.d.ts +0 -62
  738. package/node_modules/diff/libcjs/patch/apply.d.ts.map +0 -1
  739. package/node_modules/diff/libcjs/patch/apply.js +0 -267
  740. package/node_modules/diff/libcjs/patch/create.d.ts +0 -122
  741. package/node_modules/diff/libcjs/patch/create.d.ts.map +0 -1
  742. package/node_modules/diff/libcjs/patch/create.js +0 -251
  743. package/node_modules/diff/libcjs/patch/line-endings.d.ts +0 -17
  744. package/node_modules/diff/libcjs/patch/line-endings.d.ts.map +0 -1
  745. package/node_modules/diff/libcjs/patch/line-endings.js +0 -61
  746. package/node_modules/diff/libcjs/patch/parse.d.ts +0 -8
  747. package/node_modules/diff/libcjs/patch/parse.d.ts.map +0 -1
  748. package/node_modules/diff/libcjs/patch/parse.js +0 -150
  749. package/node_modules/diff/libcjs/patch/reverse.d.ts +0 -9
  750. package/node_modules/diff/libcjs/patch/reverse.d.ts.map +0 -1
  751. package/node_modules/diff/libcjs/patch/reverse.js +0 -37
  752. package/node_modules/diff/libcjs/types.d.ts +0 -213
  753. package/node_modules/diff/libcjs/types.d.ts.map +0 -1
  754. package/node_modules/diff/libcjs/types.js +0 -2
  755. package/node_modules/diff/libcjs/util/array.d.ts +0 -3
  756. package/node_modules/diff/libcjs/util/array.d.ts.map +0 -1
  757. package/node_modules/diff/libcjs/util/array.js +0 -21
  758. package/node_modules/diff/libcjs/util/distance-iterator.d.ts +0 -2
  759. package/node_modules/diff/libcjs/util/distance-iterator.d.ts.map +0 -1
  760. package/node_modules/diff/libcjs/util/distance-iterator.js +0 -40
  761. package/node_modules/diff/libcjs/util/params.d.ts +0 -4
  762. package/node_modules/diff/libcjs/util/params.d.ts.map +0 -1
  763. package/node_modules/diff/libcjs/util/params.js +0 -17
  764. package/node_modules/diff/libcjs/util/string.d.ts +0 -30
  765. package/node_modules/diff/libcjs/util/string.d.ts.map +0 -1
  766. package/node_modules/diff/libcjs/util/string.js +0 -200
  767. package/node_modules/diff/libesm/convert/dmp.d.ts +0 -8
  768. package/node_modules/diff/libesm/convert/dmp.d.ts.map +0 -1
  769. package/node_modules/diff/libesm/convert/dmp.js +0 -21
  770. package/node_modules/diff/libesm/convert/xml.d.ts +0 -6
  771. package/node_modules/diff/libesm/convert/xml.d.ts.map +0 -1
  772. package/node_modules/diff/libesm/convert/xml.js +0 -31
  773. package/node_modules/diff/libesm/diff/array.d.ts +0 -19
  774. package/node_modules/diff/libesm/diff/array.d.ts.map +0 -1
  775. package/node_modules/diff/libesm/diff/array.js +0 -16
  776. package/node_modules/diff/libesm/diff/base.d.ts +0 -20
  777. package/node_modules/diff/libesm/diff/base.d.ts.map +0 -1
  778. package/node_modules/diff/libesm/diff/base.js +0 -253
  779. package/node_modules/diff/libesm/diff/character.d.ts +0 -19
  780. package/node_modules/diff/libesm/diff/character.d.ts.map +0 -1
  781. package/node_modules/diff/libesm/diff/character.js +0 -7
  782. package/node_modules/diff/libesm/diff/css.d.ts +0 -18
  783. package/node_modules/diff/libesm/diff/css.d.ts.map +0 -1
  784. package/node_modules/diff/libesm/diff/css.js +0 -10
  785. package/node_modules/diff/libesm/diff/json.d.ts +0 -24
  786. package/node_modules/diff/libesm/diff/json.d.ts.map +0 -1
  787. package/node_modules/diff/libesm/diff/json.js +0 -78
  788. package/node_modules/diff/libesm/diff/line.d.ts +0 -24
  789. package/node_modules/diff/libesm/diff/line.d.ts.map +0 -1
  790. package/node_modules/diff/libesm/diff/line.js +0 -65
  791. package/node_modules/diff/libesm/diff/sentence.d.ts +0 -21
  792. package/node_modules/diff/libesm/diff/sentence.d.ts.map +0 -1
  793. package/node_modules/diff/libesm/diff/sentence.js +0 -43
  794. package/node_modules/diff/libesm/diff/word.d.ts +0 -35
  795. package/node_modules/diff/libesm/diff/word.d.ts.map +0 -1
  796. package/node_modules/diff/libesm/diff/word.js +0 -281
  797. package/node_modules/diff/libesm/index.d.ts +0 -20
  798. package/node_modules/diff/libesm/index.d.ts.map +0 -1
  799. package/node_modules/diff/libesm/index.js +0 -30
  800. package/node_modules/diff/libesm/package.json +0 -1
  801. package/node_modules/diff/libesm/patch/apply.d.ts +0 -62
  802. package/node_modules/diff/libesm/patch/apply.d.ts.map +0 -1
  803. package/node_modules/diff/libesm/patch/apply.js +0 -257
  804. package/node_modules/diff/libesm/patch/create.d.ts +0 -122
  805. package/node_modules/diff/libesm/patch/create.d.ts.map +0 -1
  806. package/node_modules/diff/libesm/patch/create.js +0 -228
  807. package/node_modules/diff/libesm/patch/line-endings.d.ts +0 -17
  808. package/node_modules/diff/libesm/patch/line-endings.d.ts.map +0 -1
  809. package/node_modules/diff/libesm/patch/line-endings.js +0 -44
  810. package/node_modules/diff/libesm/patch/parse.d.ts +0 -8
  811. package/node_modules/diff/libesm/patch/parse.d.ts.map +0 -1
  812. package/node_modules/diff/libesm/patch/parse.js +0 -147
  813. package/node_modules/diff/libesm/patch/reverse.d.ts +0 -9
  814. package/node_modules/diff/libesm/patch/reverse.d.ts.map +0 -1
  815. package/node_modules/diff/libesm/patch/reverse.js +0 -23
  816. package/node_modules/diff/libesm/types.d.ts +0 -213
  817. package/node_modules/diff/libesm/types.d.ts.map +0 -1
  818. package/node_modules/diff/libesm/types.js +0 -1
  819. package/node_modules/diff/libesm/util/array.d.ts +0 -3
  820. package/node_modules/diff/libesm/util/array.d.ts.map +0 -1
  821. package/node_modules/diff/libesm/util/array.js +0 -17
  822. package/node_modules/diff/libesm/util/distance-iterator.d.ts +0 -2
  823. package/node_modules/diff/libesm/util/distance-iterator.d.ts.map +0 -1
  824. package/node_modules/diff/libesm/util/distance-iterator.js +0 -37
  825. package/node_modules/diff/libesm/util/params.d.ts +0 -4
  826. package/node_modules/diff/libesm/util/params.d.ts.map +0 -1
  827. package/node_modules/diff/libesm/util/params.js +0 -14
  828. package/node_modules/diff/libesm/util/string.d.ts +0 -30
  829. package/node_modules/diff/libesm/util/string.d.ts.map +0 -1
  830. package/node_modules/diff/libesm/util/string.js +0 -184
  831. package/node_modules/diff/package.json +0 -130
  832. package/node_modules/diff/release-notes.md +0 -432
  833. package/node_modules/node-gyp/commitlint.config.mjs +0 -3
  834. package/node_modules/node-gyp/gyp/commitlint.config.js +0 -6
  835. package/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake_test.py +0 -105
  836. package/node_modules/node-gyp/zizmor.yml +0 -5
  837. package/node_modules/proxy-agent-negotiate/dist/index.d.ts +0 -14
  838. package/node_modules/proxy-agent-negotiate/dist/index.d.ts.map +0 -1
  839. package/node_modules/proxy-agent-negotiate/dist/index.js +0 -35
  840. package/node_modules/proxy-agent-negotiate/dist/index.js.map +0 -1
  841. package/node_modules/proxy-agent-negotiate/package.json +0 -47
  842. package/node_modules/undici/docs/docs/api/CacheStore.md +0 -360
  843. package/node_modules/undici/docs/docs/api/ClientStats.md +0 -93
  844. package/node_modules/undici/docs/docs/api/GlobalInstallation.md +0 -121
  845. package/node_modules/undici/docs/docs/api/H2CClient.md +0 -385
  846. package/node_modules/undici/docs/docs/api/Interceptors.md +0 -419
  847. package/node_modules/undici/docs/docs/api/MockCallHistory.md +0 -371
  848. package/node_modules/undici/docs/docs/api/MockCallHistoryLog.md +0 -206
  849. package/node_modules/undici/docs/docs/api/RoundRobinPool.md +0 -239
  850. package/node_modules/undici/docs/docs/api/SnapshotAgent.md +0 -361
  851. package/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +0 -256
  852. package/node_modules/undici/docs/docs/best-practices/migrating-from-v7-to-v8.md +0 -233
  853. package/node_modules/undici/docs/docs/getting-started.md +0 -281
  854. package/node_modules/undici/docs/docs/site.json +0 -125
  855. package/node_modules/undici/docs/docs/type-map.json +0 -79
  856. package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +0 -110
  857. package/node_modules/undici/types/dispatcher1-wrapper.d.ts +0 -7
  858. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/core/socks5-client.js +0 -0
  859. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/core/socks5-utils.js +0 -0
  860. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/encoding/index.js +0 -0
  861. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/llhttp/constants.d.ts +0 -0
  862. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/llhttp/utils.d.ts +0 -0
  863. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/mock/snapshot-utils.js +0 -0
  864. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/util/date.js +0 -0
  865. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/util/stats.js +0 -0
  866. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/web/subresource-integrity/Readme.md +0 -0
  867. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/web/subresource-integrity/subresource-integrity.js +0 -0
  868. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/cache-interceptor.d.ts +0 -0
  869. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/client-stats.d.ts +0 -0
  870. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/mock-call-history.d.ts +0 -0
  871. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/utility.d.ts +0 -0
@@ -1,10 +1,9 @@
1
1
  'use strict'
2
2
 
3
- const { webidl } = require('../webidl')
3
+ const { webidl } = require('../fetch/webidl')
4
4
  const { kEnumerableProperty } = require('../../core/util')
5
5
  const { kConstruct } = require('../../core/symbols')
6
-
7
- let createFastMessageEvent
6
+ const { MessagePort } = require('node:worker_threads')
8
7
 
9
8
  /**
10
9
  * @see https://html.spec.whatwg.org/multipage/comms.html#messageevent
@@ -32,31 +31,31 @@ class MessageEvent extends Event {
32
31
  }
33
32
 
34
33
  get data () {
35
- webidl.brandCheck(this, webidl.is.MessageEvent)
34
+ webidl.brandCheck(this, MessageEvent)
36
35
 
37
36
  return this.#eventInit.data
38
37
  }
39
38
 
40
39
  get origin () {
41
- webidl.brandCheck(this, webidl.is.MessageEvent)
40
+ webidl.brandCheck(this, MessageEvent)
42
41
 
43
42
  return this.#eventInit.origin
44
43
  }
45
44
 
46
45
  get lastEventId () {
47
- webidl.brandCheck(this, webidl.is.MessageEvent)
46
+ webidl.brandCheck(this, MessageEvent)
48
47
 
49
48
  return this.#eventInit.lastEventId
50
49
  }
51
50
 
52
51
  get source () {
53
- webidl.brandCheck(this, webidl.is.MessageEvent)
52
+ webidl.brandCheck(this, MessageEvent)
54
53
 
55
54
  return this.#eventInit.source
56
55
  }
57
56
 
58
57
  get ports () {
59
- webidl.brandCheck(this, webidl.is.MessageEvent)
58
+ webidl.brandCheck(this, MessageEvent)
60
59
 
61
60
  if (!Object.isFrozen(this.#eventInit.ports)) {
62
61
  Object.freeze(this.#eventInit.ports)
@@ -75,7 +74,7 @@ class MessageEvent extends Event {
75
74
  source = null,
76
75
  ports = []
77
76
  ) {
78
- webidl.brandCheck(this, webidl.is.MessageEvent)
77
+ webidl.brandCheck(this, MessageEvent)
79
78
 
80
79
  webidl.argumentLengthCheck(arguments, 1, 'MessageEvent.initMessageEvent')
81
80
 
@@ -84,24 +83,21 @@ class MessageEvent extends Event {
84
83
  })
85
84
  }
86
85
 
87
- static {
88
- createFastMessageEvent = (type, init) => {
89
- const messageEvent = new MessageEvent(kConstruct, type, init)
90
- messageEvent.#eventInit = init
91
- messageEvent.#eventInit.data ??= null
92
- messageEvent.#eventInit.origin ??= ''
93
- messageEvent.#eventInit.lastEventId ??= ''
94
- messageEvent.#eventInit.source ??= null
95
- messageEvent.#eventInit.ports ??= []
96
- return messageEvent
97
- }
98
-
99
- webidl.is.MessageEvent = (arg) => {
100
- return arg != null && typeof arg === 'object' && #eventInit in arg
101
- }
86
+ static createFastMessageEvent (type, init) {
87
+ const messageEvent = new MessageEvent(kConstruct, type, init)
88
+ messageEvent.#eventInit = init
89
+ messageEvent.#eventInit.data ??= null
90
+ messageEvent.#eventInit.origin ??= ''
91
+ messageEvent.#eventInit.lastEventId ??= ''
92
+ messageEvent.#eventInit.source ??= null
93
+ messageEvent.#eventInit.ports ??= []
94
+ return messageEvent
102
95
  }
103
96
  }
104
97
 
98
+ const { createFastMessageEvent } = MessageEvent
99
+ delete MessageEvent.createFastMessageEvent
100
+
105
101
  /**
106
102
  * @see https://websockets.spec.whatwg.org/#the-closeevent-interface
107
103
  */
@@ -122,28 +118,22 @@ class CloseEvent extends Event {
122
118
  }
123
119
 
124
120
  get wasClean () {
125
- webidl.brandCheck(this, webidl.is.CloseEvent)
121
+ webidl.brandCheck(this, CloseEvent)
126
122
 
127
123
  return this.#eventInit.wasClean
128
124
  }
129
125
 
130
126
  get code () {
131
- webidl.brandCheck(this, webidl.is.CloseEvent)
127
+ webidl.brandCheck(this, CloseEvent)
132
128
 
133
129
  return this.#eventInit.code
134
130
  }
135
131
 
136
132
  get reason () {
137
- webidl.brandCheck(this, webidl.is.CloseEvent)
133
+ webidl.brandCheck(this, CloseEvent)
138
134
 
139
135
  return this.#eventInit.reason
140
136
  }
141
-
142
- static {
143
- webidl.is.CloseEvent = (arg) => {
144
- return arg != null && typeof arg === 'object' && #eventInit in arg
145
- }
146
- }
147
137
  }
148
138
 
149
139
  // https://html.spec.whatwg.org/multipage/webappapis.html#the-errorevent-interface
@@ -164,40 +154,34 @@ class ErrorEvent extends Event {
164
154
  }
165
155
 
166
156
  get message () {
167
- webidl.brandCheck(this, webidl.is.ErrorEvent)
157
+ webidl.brandCheck(this, ErrorEvent)
168
158
 
169
159
  return this.#eventInit.message
170
160
  }
171
161
 
172
162
  get filename () {
173
- webidl.brandCheck(this, webidl.is.ErrorEvent)
163
+ webidl.brandCheck(this, ErrorEvent)
174
164
 
175
165
  return this.#eventInit.filename
176
166
  }
177
167
 
178
168
  get lineno () {
179
- webidl.brandCheck(this, webidl.is.ErrorEvent)
169
+ webidl.brandCheck(this, ErrorEvent)
180
170
 
181
171
  return this.#eventInit.lineno
182
172
  }
183
173
 
184
174
  get colno () {
185
- webidl.brandCheck(this, webidl.is.ErrorEvent)
175
+ webidl.brandCheck(this, ErrorEvent)
186
176
 
187
177
  return this.#eventInit.colno
188
178
  }
189
179
 
190
180
  get error () {
191
- webidl.brandCheck(this, webidl.is.ErrorEvent)
181
+ webidl.brandCheck(this, ErrorEvent)
192
182
 
193
183
  return this.#eventInit.error
194
184
  }
195
-
196
- static {
197
- webidl.is.ErrorEvent = (arg) => {
198
- return arg != null && typeof arg === 'object' && #eventInit in arg
199
- }
200
- }
201
185
  }
202
186
 
203
187
  Object.defineProperties(MessageEvent.prototype, {
@@ -235,10 +219,7 @@ Object.defineProperties(ErrorEvent.prototype, {
235
219
  error: kEnumerableProperty
236
220
  })
237
221
 
238
- webidl.converters.MessagePort = webidl.interfaceConverter(
239
- webidl.is.MessagePort,
240
- 'MessagePort'
241
- )
222
+ webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort)
242
223
 
243
224
  webidl.converters['sequence<MessagePort>'] = webidl.sequenceConverter(
244
225
  webidl.converters.MessagePort
@@ -289,7 +270,7 @@ webidl.converters.MessageEventInit = webidl.dictionaryConverter([
289
270
  {
290
271
  key: 'ports',
291
272
  converter: webidl.converters['sequence<MessagePort>'],
292
- defaultValue: () => []
273
+ defaultValue: () => new Array(0)
293
274
  }
294
275
  ])
295
276
 
@@ -1,21 +1,33 @@
1
1
  'use strict'
2
2
 
3
- const { runtimeFeatures } = require('../../util/runtime-features')
4
- const { maxUnsigned16Bit, opcodes } = require('./constants')
3
+ const { maxUnsigned16Bit } = require('./constants')
5
4
 
6
- const BUFFER_SIZE = 8 * 1024
5
+ const BUFFER_SIZE = 16386
7
6
 
7
+ /** @type {import('crypto')} */
8
+ let crypto
8
9
  let buffer = null
9
10
  let bufIdx = BUFFER_SIZE
10
11
 
11
- const randomFillSync = runtimeFeatures.has('crypto')
12
- ? require('node:crypto').randomFillSync
13
- : null
12
+ try {
13
+ crypto = require('node:crypto')
14
+ /* c8 ignore next 3 */
15
+ } catch {
16
+ crypto = {
17
+ // not full compatibility, but minimum.
18
+ randomFillSync: function randomFillSync (buffer, _offset, _size) {
19
+ for (let i = 0; i < buffer.length; ++i) {
20
+ buffer[i] = Math.random() * 255 | 0
21
+ }
22
+ return buffer
23
+ }
24
+ }
25
+ }
14
26
 
15
27
  function generateMask () {
16
28
  if (bufIdx === BUFFER_SIZE) {
17
29
  bufIdx = 0
18
- randomFillSync((buffer ??= Buffer.allocUnsafeSlow(BUFFER_SIZE)), 0, BUFFER_SIZE)
30
+ crypto.randomFillSync((buffer ??= Buffer.allocUnsafe(BUFFER_SIZE)), 0, BUFFER_SIZE)
19
31
  }
20
32
  return [buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++]]
21
33
  }
@@ -77,51 +89,8 @@ class WebsocketFrameSend {
77
89
 
78
90
  return buffer
79
91
  }
80
-
81
- /**
82
- * @param {Uint8Array} buffer
83
- */
84
- static createFastTextFrame (buffer) {
85
- const maskKey = generateMask()
86
-
87
- const bodyLength = buffer.length
88
-
89
- // mask body
90
- for (let i = 0; i < bodyLength; ++i) {
91
- buffer[i] ^= maskKey[i & 3]
92
- }
93
-
94
- let payloadLength = bodyLength
95
- let offset = 6
96
-
97
- if (bodyLength > maxUnsigned16Bit) {
98
- offset += 8 // payload length is next 8 bytes
99
- payloadLength = 127
100
- } else if (bodyLength > 125) {
101
- offset += 2 // payload length is next 2 bytes
102
- payloadLength = 126
103
- }
104
- const head = Buffer.allocUnsafeSlow(offset)
105
-
106
- head[0] = 0x80 /* FIN */ | opcodes.TEXT /* opcode TEXT */
107
- head[1] = payloadLength | 0x80 /* MASK */
108
- head[offset - 4] = maskKey[0]
109
- head[offset - 3] = maskKey[1]
110
- head[offset - 2] = maskKey[2]
111
- head[offset - 1] = maskKey[3]
112
-
113
- if (payloadLength === 126) {
114
- head.writeUInt16BE(bodyLength, 2)
115
- } else if (payloadLength === 127) {
116
- head[2] = head[3] = 0
117
- head.writeUIntBE(bodyLength, 4, 6)
118
- }
119
-
120
- return [head, buffer]
121
- }
122
92
  }
123
93
 
124
94
  module.exports = {
125
- WebsocketFrameSend,
126
- generateMask // for benchmark
95
+ WebsocketFrameSend
127
96
  }
@@ -3,20 +3,28 @@
3
3
  const { Writable } = require('node:stream')
4
4
  const assert = require('node:assert')
5
5
  const { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require('./constants')
6
+ const { kReadyState, kSentClose, kResponse, kReceivedClose } = require('./symbols')
7
+ const { channels } = require('../../core/diagnostics')
6
8
  const {
7
9
  isValidStatusCode,
8
10
  isValidOpcode,
11
+ failWebsocketConnection,
9
12
  websocketMessageReceived,
10
13
  utf8Decode,
11
14
  isControlFrame,
12
15
  isTextBinaryFrame,
13
16
  isContinuationFrame
14
17
  } = require('./util')
15
- const { failWebsocketConnection } = require('./connection')
16
18
  const { WebsocketFrameSend } = require('./frame')
19
+ const { closeWebSocketConnection } = require('./connection')
17
20
  const { PerMessageDeflate } = require('./permessage-deflate')
18
21
  const { MessageSizeExceededError } = require('../../core/errors')
19
22
 
23
+ function failWebsocketConnectionWithCode (ws, code, reason) {
24
+ closeWebSocketConnection(ws, code, reason, Buffer.byteLength(reason))
25
+ failWebsocketConnection(ws, reason)
26
+ }
27
+
20
28
  // This code was influenced by ws released under the MIT license.
21
29
  // Copyright (c) 2011 Einar Otto Stangvik <einaros@gmail.com>
22
30
  // Copyright (c) 2013 Arnout Kazemier and contributors
@@ -36,9 +44,6 @@ class ByteParser extends Writable {
36
44
  /** @type {Map<string, PerMessageDeflate>} */
37
45
  #extensions
38
46
 
39
- /** @type {import('./websocket').Handler} */
40
- #handler
41
-
42
47
  /** @type {number} */
43
48
  #maxFragments
44
49
 
@@ -46,14 +51,14 @@ class ByteParser extends Writable {
46
51
  #maxPayloadSize
47
52
 
48
53
  /**
49
- * @param {import('./websocket').Handler} handler
54
+ * @param {import('./websocket').WebSocket} ws
50
55
  * @param {Map<string, string>|null} extensions
51
- * @param {{ maxPayloadSize?: number }} [options]
56
+ * @param {{ maxFragments?: number, maxPayloadSize?: number }} [options]
52
57
  */
53
- constructor (handler, extensions, options = {}) {
58
+ constructor (ws, extensions, options = {}) {
54
59
  super()
55
60
 
56
- this.#handler = handler
61
+ this.ws = ws
57
62
  this.#extensions = extensions == null ? new Map() : extensions
58
63
  this.#maxFragments = options.maxFragments ?? 0
59
64
  this.#maxPayloadSize = options.maxPayloadSize ?? 0
@@ -81,7 +86,7 @@ class ByteParser extends Writable {
81
86
  !isControlFrame(this.#info.opcode) &&
82
87
  this.#info.payloadLength + this.#fragmentsBytes > this.#maxPayloadSize
83
88
  ) {
84
- failWebsocketConnection(this.#handler, 1009, 'Payload size exceeds maximum allowed size')
89
+ failWebsocketConnectionWithCode(this.ws, 1009, 'Payload size exceeds maximum allowed size')
85
90
  return false
86
91
  }
87
92
 
@@ -114,12 +119,12 @@ class ByteParser extends Writable {
114
119
  const rsv3 = buffer[0] & 0x10
115
120
 
116
121
  if (!isValidOpcode(opcode)) {
117
- failWebsocketConnection(this.#handler, 1002, 'Invalid opcode received')
122
+ failWebsocketConnection(this.ws, 'Invalid opcode received')
118
123
  return callback()
119
124
  }
120
125
 
121
126
  if (masked) {
122
- failWebsocketConnection(this.#handler, 1002, 'Frame cannot be masked')
127
+ failWebsocketConnection(this.ws, 'Frame cannot be masked')
123
128
  return callback()
124
129
  }
125
130
 
@@ -133,43 +138,43 @@ class ByteParser extends Writable {
133
138
  // WebSocket connection where a PMCE is in use, this bit indicates
134
139
  // whether a message is compressed or not.
135
140
  if (rsv1 !== 0 && !this.#extensions.has('permessage-deflate')) {
136
- failWebsocketConnection(this.#handler, 1002, 'Expected RSV1 to be clear.')
141
+ failWebsocketConnection(this.ws, 'Expected RSV1 to be clear.')
137
142
  return
138
143
  }
139
144
 
140
145
  if (rsv2 !== 0 || rsv3 !== 0) {
141
- failWebsocketConnection(this.#handler, 1002, 'RSV1, RSV2, RSV3 must be clear')
146
+ failWebsocketConnection(this.ws, 'RSV1, RSV2, RSV3 must be clear')
142
147
  return
143
148
  }
144
149
 
145
150
  if (fragmented && !isTextBinaryFrame(opcode)) {
146
151
  // Only text and binary frames can be fragmented
147
- failWebsocketConnection(this.#handler, 1002, 'Invalid frame type was fragmented.')
152
+ failWebsocketConnection(this.ws, 'Invalid frame type was fragmented.')
148
153
  return
149
154
  }
150
155
 
151
156
  // If we are already parsing a text/binary frame and do not receive either
152
157
  // a continuation frame or close frame, fail the connection.
153
158
  if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
154
- failWebsocketConnection(this.#handler, 1002, 'Expected continuation frame')
159
+ failWebsocketConnection(this.ws, 'Expected continuation frame')
155
160
  return
156
161
  }
157
162
 
158
163
  if (this.#info.fragmented && fragmented) {
159
164
  // A fragmented frame can't be fragmented itself
160
- failWebsocketConnection(this.#handler, 1002, 'Fragmented frame exceeded 125 bytes.')
165
+ failWebsocketConnection(this.ws, 'Fragmented frame exceeded 125 bytes.')
161
166
  return
162
167
  }
163
168
 
164
169
  // "All control frames MUST have a payload length of 125 bytes or less
165
170
  // and MUST NOT be fragmented."
166
171
  if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
167
- failWebsocketConnection(this.#handler, 1002, 'Control frame either too large or fragmented')
172
+ failWebsocketConnection(this.ws, 'Control frame either too large or fragmented')
168
173
  return
169
174
  }
170
175
 
171
176
  if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
172
- failWebsocketConnection(this.#handler, 1002, 'Unexpected continuation frame')
177
+ failWebsocketConnection(this.ws, 'Unexpected continuation frame')
173
178
  return
174
179
  }
175
180
 
@@ -224,7 +229,7 @@ class ByteParser extends Writable {
224
229
  // https://source.chromium.org/chromium/chromium/src/+/main:v8/src/common/globals.h;drc=1946212ac0100668f14eb9e2843bdd846e510a1e;bpv=1;bpt=1;l=1275
225
230
  // https://source.chromium.org/chromium/chromium/src/+/main:v8/src/objects/js-array-buffer.h;l=34;drc=1946212ac0100668f14eb9e2843bdd846e510a1e
226
231
  if (upper !== 0 || lower > 2 ** 31 - 1) {
227
- failWebsocketConnection(this.#handler, 1009, 'Received payload length > 2^31 bytes.')
232
+ failWebsocketConnection(this.ws, 'Received payload length > 2^31 bytes.')
228
233
  return
229
234
  }
230
235
 
@@ -250,12 +255,17 @@ class ByteParser extends Writable {
250
255
  return
251
256
  }
252
257
 
258
+ if (this.#maxPayloadSize > 0 && this.#fragmentsBytes > this.#maxPayloadSize) {
259
+ failWebsocketConnectionWithCode(this.ws, 1009, new MessageSizeExceededError().message)
260
+ return
261
+ }
262
+
253
263
  // If the frame is not fragmented, a message has been received.
254
264
  // If the frame is fragmented, it will terminate with a fin bit set
255
265
  // and an opcode of 0 (continuation), therefore we handle that when
256
266
  // parsing continuation frames, not here.
257
267
  if (!this.#info.fragmented && this.#info.fin) {
258
- websocketMessageReceived(this.#handler, this.#info.binaryType, this.consumeFragments())
268
+ websocketMessageReceived(this.ws, this.#info.binaryType, this.consumeFragments())
259
269
  }
260
270
 
261
271
  this.#state = parserStates.INFO
@@ -266,7 +276,7 @@ class ByteParser extends Writable {
266
276
  (error, data) => {
267
277
  if (error) {
268
278
  const code = error instanceof MessageSizeExceededError ? 1009 : 1007
269
- failWebsocketConnection(this.#handler, code, error.message)
279
+ failWebsocketConnectionWithCode(this.ws, code, error.message)
270
280
  return
271
281
  }
272
282
 
@@ -274,9 +284,8 @@ class ByteParser extends Writable {
274
284
  return
275
285
  }
276
286
 
277
- // Check cumulative fragment size
278
287
  if (this.#maxPayloadSize > 0 && this.#fragmentsBytes > this.#maxPayloadSize) {
279
- failWebsocketConnection(this.#handler, 1009, new MessageSizeExceededError().message)
288
+ failWebsocketConnectionWithCode(this.ws, 1009, new MessageSizeExceededError().message)
280
289
  return
281
290
  }
282
291
 
@@ -287,13 +296,12 @@ class ByteParser extends Writable {
287
296
  return
288
297
  }
289
298
 
290
- websocketMessageReceived(this.#handler, this.#info.binaryType, this.consumeFragments())
299
+ websocketMessageReceived(this.ws, this.#info.binaryType, this.consumeFragments())
291
300
 
292
301
  this.#loop = true
293
302
  this.#state = parserStates.INFO
294
303
  this.run(callback)
295
- },
296
- this.#fragmentsBytes
304
+ }
297
305
  )
298
306
 
299
307
  this.#loop = false
@@ -316,40 +324,34 @@ class ByteParser extends Writable {
316
324
  return emptyBuffer
317
325
  }
318
326
 
319
- this.#byteOffset -= n
327
+ if (this.#buffers[0].length === n) {
328
+ this.#byteOffset -= this.#buffers[0].length
329
+ return this.#buffers.shift()
330
+ }
320
331
 
321
- const first = this.#buffers[0]
332
+ const buffer = Buffer.allocUnsafe(n)
333
+ let offset = 0
322
334
 
323
- if (first.length > n) {
324
- // replace with remaining buffer
325
- this.#buffers[0] = first.subarray(n, first.length)
326
- return first.subarray(0, n)
327
- } else if (first.length === n) {
328
- // prefect match
329
- return this.#buffers.shift()
330
- } else {
331
- let offset = 0
332
- // If Buffer.allocUnsafe is used, extra copies will be made because the offset is non-zero.
333
- const buffer = Buffer.allocUnsafeSlow(n)
334
- while (offset !== n) {
335
- const next = this.#buffers[0]
336
- const length = next.length
337
-
338
- if (length + offset === n) {
339
- buffer.set(this.#buffers.shift(), offset)
340
- break
341
- } else if (length + offset > n) {
342
- buffer.set(next.subarray(0, n - offset), offset)
343
- this.#buffers[0] = next.subarray(n - offset)
344
- break
345
- } else {
346
- buffer.set(this.#buffers.shift(), offset)
347
- offset += length
348
- }
335
+ while (offset !== n) {
336
+ const next = this.#buffers[0]
337
+ const { length } = next
338
+
339
+ if (length + offset === n) {
340
+ buffer.set(this.#buffers.shift(), offset)
341
+ break
342
+ } else if (length + offset > n) {
343
+ buffer.set(next.subarray(0, n - offset), offset)
344
+ this.#buffers[0] = next.subarray(n - offset)
345
+ break
346
+ } else {
347
+ buffer.set(this.#buffers.shift(), offset)
348
+ offset += next.length
349
349
  }
350
-
351
- return buffer
352
350
  }
351
+
352
+ this.#byteOffset -= n
353
+
354
+ return buffer
353
355
  }
354
356
 
355
357
  writeFragments (fragment) {
@@ -357,7 +359,7 @@ class ByteParser extends Writable {
357
359
  this.#maxFragments > 0 &&
358
360
  this.#fragments.length === this.#maxFragments
359
361
  ) {
360
- failWebsocketConnection(this.#handler, 1008, 'Too many message fragments')
362
+ failWebsocketConnectionWithCode(this.ws, 1008, 'Too many message fragments')
361
363
  return false
362
364
  }
363
365
 
@@ -369,24 +371,12 @@ class ByteParser extends Writable {
369
371
  consumeFragments () {
370
372
  const fragments = this.#fragments
371
373
 
372
- this.#info.compressed = false
373
-
374
374
  if (fragments.length === 1) {
375
- // single fragment
376
375
  this.#fragmentsBytes = 0
377
376
  return fragments.shift()
378
377
  }
379
378
 
380
- let offset = 0
381
- // If Buffer.allocUnsafe is used, extra copies will be made because the offset is non-zero.
382
- const output = Buffer.allocUnsafeSlow(this.#fragmentsBytes)
383
-
384
- for (let i = 0; i < fragments.length; ++i) {
385
- const buffer = fragments[i]
386
- output.set(buffer, offset)
387
- offset += buffer.length
388
- }
389
-
379
+ const output = Buffer.concat(fragments, this.#fragmentsBytes)
390
380
  this.#fragments = []
391
381
  this.#fragmentsBytes = 0
392
382
 
@@ -438,7 +428,7 @@ class ByteParser extends Writable {
438
428
 
439
429
  if (opcode === opcodes.CLOSE) {
440
430
  if (payloadLength === 1) {
441
- failWebsocketConnection(this.#handler, 1002, 'Received close frame with a 1-byte body.')
431
+ failWebsocketConnection(this.ws, 'Received close frame with a 1-byte body.')
442
432
  return false
443
433
  }
444
434
 
@@ -447,13 +437,12 @@ class ByteParser extends Writable {
447
437
  if (this.#info.closeInfo.error) {
448
438
  const { code, reason } = this.#info.closeInfo
449
439
 
450
- failWebsocketConnection(this.#handler, code, reason)
440
+ closeWebSocketConnection(this.ws, code, reason, reason.length)
441
+ failWebsocketConnection(this.ws, reason)
451
442
  return false
452
443
  }
453
444
 
454
- // Upon receiving such a frame, the other peer sends a
455
- // Close frame in response, if it hasn't already sent one.
456
- if (!this.#handler.closeState.has(sentCloseFrameState.SENT) && !this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) {
445
+ if (this.ws[kSentClose] !== sentCloseFrameState.SENT) {
457
446
  // If an endpoint receives a Close frame and did not previously send a
458
447
  // Close frame, the endpoint MUST send a Close frame in response. (When
459
448
  // sending a Close frame in response, the endpoint typically echos the
@@ -465,15 +454,21 @@ class ByteParser extends Writable {
465
454
  }
466
455
  const closeFrame = new WebsocketFrameSend(body)
467
456
 
468
- this.#handler.socket.write(closeFrame.createFrame(opcodes.CLOSE))
469
- this.#handler.closeState.add(sentCloseFrameState.SENT)
457
+ this.ws[kResponse].socket.write(
458
+ closeFrame.createFrame(opcodes.CLOSE),
459
+ (err) => {
460
+ if (!err) {
461
+ this.ws[kSentClose] = sentCloseFrameState.SENT
462
+ }
463
+ }
464
+ )
470
465
  }
471
466
 
472
467
  // Upon either sending or receiving a Close control frame, it is said
473
468
  // that _The WebSocket Closing Handshake is Started_ and that the
474
469
  // WebSocket connection is in the CLOSING state.
475
- this.#handler.readyState = states.CLOSING
476
- this.#handler.closeState.add(sentCloseFrameState.RECEIVED)
470
+ this.ws[kReadyState] = states.CLOSING
471
+ this.ws[kReceivedClose] = true
477
472
 
478
473
  return false
479
474
  } else if (opcode === opcodes.PING) {
@@ -482,18 +477,27 @@ class ByteParser extends Writable {
482
477
  // A Pong frame sent in response to a Ping frame must have identical
483
478
  // "Application data"
484
479
 
485
- if (!this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) {
480
+ if (!this.ws[kReceivedClose]) {
486
481
  const frame = new WebsocketFrameSend(body)
487
482
 
488
- this.#handler.socket.write(frame.createFrame(opcodes.PONG))
483
+ this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG))
489
484
 
490
- this.#handler.onPing(body)
485
+ if (channels.ping.hasSubscribers) {
486
+ channels.ping.publish({
487
+ payload: body
488
+ })
489
+ }
491
490
  }
492
491
  } else if (opcode === opcodes.PONG) {
493
492
  // A Pong frame MAY be sent unsolicited. This serves as a
494
493
  // unidirectional heartbeat. A response to an unsolicited Pong frame is
495
494
  // not expected.
496
- this.#handler.onPong(body)
495
+
496
+ if (channels.pong.hasSubscribers) {
497
+ channels.pong.publish({
498
+ payload: body
499
+ })
500
+ }
497
501
  }
498
502
 
499
503
  return true