@yanglaofish/fishtools 0.5.2 → 0.5.3

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 (826) hide show
  1. package/README.md +23 -11
  2. package/manual/README.md +23 -11
  3. package/manual/docs/deployment.md +3 -3
  4. package/manual/docs/examples/action-plugin/package.json +1 -1
  5. package/manual/docs/plugin-development.md +15 -4
  6. package/manual/docs/releases.md +24 -0
  7. package/manual/docs/superpowers/plans/2026-10-13-command-shortcuts.md +3 -2
  8. package/manual/docs/superpowers/plans/2026-10-13-global-plugins.md +56 -0
  9. package/manual/docs/superpowers/plans/2026-10-13-tui-readable-sessions.md +21 -0
  10. package/manual/docs/superpowers/reviews/2026-10-13-0.5.3-review.md +28 -0
  11. package/manual/docs/superpowers/reviews/2026-10-13-command-shortcuts-review.md +7 -0
  12. package/manual/docs/superpowers/reviews/2026-10-13-tui-sessions-review.md +55 -0
  13. package/manual/docs/superpowers/specs/2026-10-13-issue-4-workflow-menu.md +23 -0
  14. package/manual/docs/superpowers/specs/2026-10-13-issue-5-results-and-history.md +20 -0
  15. package/manual/docs/terminal-commands.md +8 -0
  16. package/manual/docs/verification.md +30 -0
  17. package/manual/packages/core/README.md +2 -0
  18. package/manual/packages/core/package.json +1 -1
  19. package/manual/packages/core/src/application.js +100 -51
  20. package/manual/packages/core/src/development-watch-worker.js +10 -1
  21. package/manual/packages/core/src/development.js +1 -1
  22. package/manual/packages/core/src/plugin-catalog.js +42 -0
  23. package/manual/packages/core/src/version.js +1 -1
  24. package/manual/packages/fst-cli/README.md +4 -0
  25. package/manual/packages/fst-cli/bin/fst.js +7 -6
  26. package/manual/packages/fst-cli/package.json +1 -1
  27. package/manual/packages/fst-cli/src/development.js +6 -1
  28. package/manual/packages/fst-cli/src/terminal/command-menu.js +8 -3
  29. package/manual/packages/fst-cli/src/terminal/navigation.js +2 -0
  30. package/manual/packages/fst-cli/src/terminal/presentation.js +4 -3
  31. package/manual/packages/fst-cli/src/terminal/run-feed.js +69 -13
  32. package/manual/packages/fst-cli/src/terminal/run-presentation.js +55 -12
  33. package/manual/packages/fst-cli/src/terminal/run-viewer.js +26 -10
  34. package/manual/packages/fst-cli/src/terminal/session-history.js +82 -0
  35. package/manual/packages/fst-cli/src/terminal/session.js +119 -40
  36. package/manual/packages/fst-cli/src/terminal/view.js +31 -8
  37. package/manual/packages/fst-cli/src/terminal/workflow-menu.js +14 -9
  38. package/manual/packages/fst-devtools/package.json +2 -2
  39. package/manual/packages/fst-devtools/src/plugin-tools.js +1 -1
  40. package/manual/packages/fst-logs/README.md +23 -2
  41. package/manual/packages/fst-logs/package.json +2 -1
  42. package/manual/packages/fst-logs/src/file-identity.js +23 -0
  43. package/manual/packages/fst-logs/src/markdown-log.js +4 -3
  44. package/manual/packages/fst-logs/src/run-logs.js +3 -2
  45. package/manual/packages/fst-logs/src/session-history.js +180 -0
  46. package/manual/packages/fst-platform/README.md +4 -0
  47. package/manual/packages/fst-platform/package.json +3 -3
  48. package/manual/packages/fst-platform/src/process.js +4 -1
  49. package/manual/packages/fst-platform/src/shell.js +46 -1
  50. package/manual/packages/fst-plugin/package.json +1 -1
  51. package/manual/packages/fst-plugin/src/host.js +31 -23
  52. package/manual/packages/fst-workflow/package.json +1 -1
  53. package/manual/packages/fst-workflow/src/engine.js +1 -1
  54. package/manual/packages/fst-workspace/README.md +2 -0
  55. package/manual/packages/fst-workspace/package.json +2 -1
  56. package/manual/packages/fst-workspace/src/plugin-registry.js +58 -0
  57. package/manual/packages/fst-workspace/src/plugins.js +7 -4
  58. package/manual/packages/fst-workspace/src/workflows.js +5 -3
  59. package/manual/packages/pack/package.json +3 -3
  60. package/manual/packages/pack/runtime-cache.js +26 -0
  61. package/manual/packages/pack/runtime.js +6 -10
  62. package/manual/plugins/commands/package.json +1 -1
  63. package/node_modules/@mytools/commands/package.json +1 -1
  64. package/node_modules/@mytools/core/README.md +2 -0
  65. package/node_modules/@mytools/core/package.json +1 -1
  66. package/node_modules/@mytools/core/src/application.js +100 -51
  67. package/node_modules/@mytools/core/src/development-watch-worker.js +10 -1
  68. package/node_modules/@mytools/core/src/development.js +1 -1
  69. package/node_modules/@mytools/core/src/plugin-catalog.js +42 -0
  70. package/node_modules/@mytools/core/src/version.js +1 -1
  71. package/node_modules/@mytools/fst-cli/README.md +4 -0
  72. package/node_modules/@mytools/fst-cli/bin/fst.js +7 -6
  73. package/node_modules/@mytools/fst-cli/package.json +1 -1
  74. package/node_modules/@mytools/fst-cli/src/development.js +6 -1
  75. package/node_modules/@mytools/fst-cli/src/terminal/command-menu.js +8 -3
  76. package/node_modules/@mytools/fst-cli/src/terminal/navigation.js +2 -0
  77. package/node_modules/@mytools/fst-cli/src/terminal/presentation.js +4 -3
  78. package/node_modules/@mytools/fst-cli/src/terminal/run-feed.js +69 -13
  79. package/node_modules/@mytools/fst-cli/src/terminal/run-presentation.js +55 -12
  80. package/node_modules/@mytools/fst-cli/src/terminal/run-viewer.js +26 -10
  81. package/node_modules/@mytools/fst-cli/src/terminal/session-history.js +82 -0
  82. package/node_modules/@mytools/fst-cli/src/terminal/session.js +119 -40
  83. package/node_modules/@mytools/fst-cli/src/terminal/view.js +31 -8
  84. package/node_modules/@mytools/fst-cli/src/terminal/workflow-menu.js +14 -9
  85. package/node_modules/@mytools/fst-devtools/package.json +2 -2
  86. package/node_modules/@mytools/fst-devtools/src/plugin-tools.js +1 -1
  87. package/node_modules/@mytools/fst-logs/README.md +23 -2
  88. package/node_modules/@mytools/fst-logs/package.json +2 -1
  89. package/node_modules/@mytools/fst-logs/src/file-identity.js +23 -0
  90. package/node_modules/@mytools/fst-logs/src/markdown-log.js +4 -3
  91. package/node_modules/@mytools/fst-logs/src/run-logs.js +3 -2
  92. package/node_modules/@mytools/fst-logs/src/session-history.js +180 -0
  93. package/node_modules/@mytools/fst-platform/README.md +4 -0
  94. package/node_modules/@mytools/fst-platform/node_modules/undici/LICENSE +21 -0
  95. package/node_modules/{undici/docs/docs/index.md → @mytools/fst-platform/node_modules/undici/README.md} +85 -137
  96. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Agent.md +84 -0
  97. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/BalancedPool.md +99 -0
  98. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/CacheStorage.md +30 -0
  99. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/CacheStore.md +164 -0
  100. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Client.md +288 -0
  101. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/ClientStats.md +27 -0
  102. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Connector.md +115 -0
  103. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/ContentType.md +57 -0
  104. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Cookies.md +128 -0
  105. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Debug.md +62 -0
  106. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +317 -0
  107. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Dispatcher.md +1393 -0
  108. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +159 -0
  109. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Errors.md +49 -0
  110. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/EventSource.md +45 -0
  111. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Fetch.md +60 -0
  112. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/GlobalInstallation.md +139 -0
  113. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/H2CClient.md +263 -0
  114. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/MockAgent.md +603 -0
  115. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/MockCallHistory.md +197 -0
  116. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/MockCallHistoryLog.md +43 -0
  117. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/MockClient.md +81 -0
  118. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/MockErrors.md +12 -0
  119. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/MockPool.md +555 -0
  120. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Pool.md +84 -0
  121. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/PoolStats.md +35 -0
  122. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/ProxyAgent.md +229 -0
  123. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/RedirectHandler.md +93 -0
  124. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/RetryAgent.md +50 -0
  125. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/RetryHandler.md +118 -0
  126. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/RoundRobinPool.md +145 -0
  127. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/SnapshotAgent.md +616 -0
  128. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +275 -0
  129. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Util.md +25 -0
  130. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/WebSocket.md +141 -0
  131. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/api-lifecycle.md +91 -0
  132. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/best-practices/client-certificate.md +64 -0
  133. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/docs/docs/best-practices/crawling.md +1 -3
  134. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/best-practices/mocking-request.md +190 -0
  135. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/best-practices/proxy.md +127 -0
  136. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/docs/docs/best-practices/undici-vs-builtin-fetch.md +8 -10
  137. package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/best-practices/writing-tests.md +63 -0
  138. package/node_modules/@mytools/fst-platform/node_modules/undici/index-fetch.js +65 -0
  139. package/node_modules/@mytools/fst-platform/node_modules/undici/index.d.ts +3 -0
  140. package/node_modules/@mytools/fst-platform/node_modules/undici/index.js +234 -0
  141. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/abort-signal.js +59 -0
  142. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/api-connect.js +110 -0
  143. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/api-pipeline.js +252 -0
  144. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/api-request.js +214 -0
  145. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/api-stream.js +209 -0
  146. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/api-upgrade.js +111 -0
  147. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/index.js +7 -0
  148. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/readable.js +580 -0
  149. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/cache/memory-cache-store.js +3 -3
  150. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/cache/sqlite-cache-store.js +1 -3
  151. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/connect.js +153 -0
  152. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/constants.js +143 -0
  153. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/diagnostics.js +227 -0
  154. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/errors.js +477 -0
  155. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/request.js +485 -0
  156. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/symbols.js +75 -0
  157. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/tree.js +160 -0
  158. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/util.js +992 -0
  159. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/agent.js +158 -0
  160. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/balanced-pool.js +221 -0
  161. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/client-h1.js +1746 -0
  162. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/client-h2.js +1060 -0
  163. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/client.js +668 -0
  164. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/dispatcher-base.js +184 -0
  165. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/dispatcher.js +48 -0
  166. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +146 -0
  167. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/fixed-queue.js +135 -0
  168. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/dispatcher/h2c-client.js +4 -4
  169. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/pool-base.js +214 -0
  170. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/pool.js +118 -0
  171. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/proxy-agent.js +319 -0
  172. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/retry-agent.js +35 -0
  173. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/dispatcher/round-robin-pool.js +10 -32
  174. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/dispatcher/socks5-proxy-agent.js +63 -153
  175. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/global.js +59 -0
  176. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/handler/cache-handler.js +7 -49
  177. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/handler/cache-revalidation-handler.js +0 -10
  178. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/handler/decorator-handler.js +67 -0
  179. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/handler/deduplication-handler.js +10 -29
  180. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/handler/redirect-handler.js +238 -0
  181. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/handler/retry-handler.js +504 -0
  182. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/handler/unwrap-handler.js +106 -0
  183. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/handler/wrap-handler.js +105 -0
  184. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/interceptor/cache.js +26 -79
  185. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/interceptor/decompress.js +3 -13
  186. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/interceptor/deduplicate.js +4 -5
  187. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/interceptor/dns.js +571 -0
  188. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/interceptor/dump.js +99 -0
  189. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/interceptor/redirect.js +21 -0
  190. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/interceptor/response-error.js +95 -0
  191. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/interceptor/retry.js +19 -0
  192. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/llhttp/.gitkeep +0 -0
  193. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/llhttp/constants.js +531 -0
  194. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/llhttp/llhttp-wasm.js +15 -0
  195. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +15 -0
  196. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/llhttp/utils.js +12 -0
  197. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/mock-agent.js +232 -0
  198. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/mock/mock-call-history.js +1 -1
  199. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/mock-client.js +68 -0
  200. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/mock-errors.js +29 -0
  201. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/mock-interceptor.js +209 -0
  202. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/mock-pool.js +68 -0
  203. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/mock-symbols.js +32 -0
  204. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/mock-utils.js +486 -0
  205. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/pending-interceptors-formatter.js +43 -0
  206. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/mock/snapshot-agent.js +7 -25
  207. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/mock/snapshot-recorder.js +3 -38
  208. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/util/cache.js +10 -92
  209. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/util/promise.js +28 -0
  210. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/util/runtime-features.js +34 -3
  211. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/util/timers.js +425 -0
  212. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/cache/cache.js +864 -0
  213. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/cache/cachestorage.js +152 -0
  214. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/cache/util.js +45 -0
  215. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/cookies/constants.js +12 -0
  216. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/cookies/index.js +199 -0
  217. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/cookies/parse.js +314 -0
  218. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/cookies/util.js +352 -0
  219. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/eventsource/eventsource-stream.js +494 -0
  220. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/eventsource/eventsource.js +501 -0
  221. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/eventsource/util.js +29 -0
  222. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/LICENSE +21 -0
  223. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/body.js +509 -0
  224. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/constants.js +131 -0
  225. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/data-url.js +596 -0
  226. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/formdata-parser.js +586 -0
  227. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/formdata.js +259 -0
  228. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/global.js +40 -0
  229. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/headers.js +719 -0
  230. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/index.js +2413 -0
  231. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/request.js +1115 -0
  232. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/response.js +641 -0
  233. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/util.js +1522 -0
  234. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/web/infra/index.js +1 -16
  235. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/web/webidl/index.js +21 -7
  236. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/connection.js +339 -0
  237. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/constants.js +126 -0
  238. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/events.js +331 -0
  239. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/frame.js +133 -0
  240. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/permessage-deflate.js +105 -0
  241. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/receiver.js +507 -0
  242. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/sender.js +109 -0
  243. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/web/websocket/stream/websocketerror.js +10 -13
  244. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/web/websocket/stream/websocketstream.js +14 -29
  245. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/util.js +347 -0
  246. package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/websocket.js +758 -0
  247. package/node_modules/@mytools/fst-platform/node_modules/undici/package.json +152 -0
  248. package/node_modules/@mytools/fst-platform/node_modules/undici/scripts/strip-comments.js +10 -0
  249. package/node_modules/@mytools/fst-platform/node_modules/undici/types/README.md +6 -0
  250. package/node_modules/@mytools/fst-platform/node_modules/undici/types/agent.d.ts +32 -0
  251. package/node_modules/@mytools/fst-platform/node_modules/undici/types/api.d.ts +43 -0
  252. package/node_modules/@mytools/fst-platform/node_modules/undici/types/balanced-pool.d.ts +30 -0
  253. package/node_modules/@mytools/fst-platform/node_modules/undici/types/cache.d.ts +36 -0
  254. package/node_modules/@mytools/fst-platform/node_modules/undici/types/client.d.ts +139 -0
  255. package/node_modules/@mytools/fst-platform/node_modules/undici/types/connector.d.ts +36 -0
  256. package/node_modules/@mytools/fst-platform/node_modules/undici/types/content-type.d.ts +21 -0
  257. package/node_modules/@mytools/fst-platform/node_modules/undici/types/cookies.d.ts +30 -0
  258. package/node_modules/@mytools/fst-platform/node_modules/undici/types/diagnostics-channel.d.ts +74 -0
  259. package/node_modules/@mytools/fst-platform/node_modules/undici/types/dispatcher.d.ts +275 -0
  260. package/node_modules/@mytools/fst-platform/node_modules/undici/types/env-http-proxy-agent.d.ts +22 -0
  261. package/node_modules/@mytools/fst-platform/node_modules/undici/types/errors.d.ts +177 -0
  262. package/node_modules/@mytools/fst-platform/node_modules/undici/types/eventsource.d.ts +66 -0
  263. package/node_modules/@mytools/fst-platform/node_modules/undici/types/fetch.d.ts +231 -0
  264. package/node_modules/@mytools/fst-platform/node_modules/undici/types/formdata.d.ts +114 -0
  265. package/node_modules/@mytools/fst-platform/node_modules/undici/types/global-dispatcher.d.ts +9 -0
  266. package/node_modules/@mytools/fst-platform/node_modules/undici/types/global-origin.d.ts +7 -0
  267. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/h2c-client.d.ts +6 -6
  268. package/node_modules/@mytools/fst-platform/node_modules/undici/types/handlers.d.ts +14 -0
  269. package/node_modules/@mytools/fst-platform/node_modules/undici/types/header.d.ts +160 -0
  270. package/node_modules/@mytools/fst-platform/node_modules/undici/types/index.d.ts +91 -0
  271. package/node_modules/@mytools/fst-platform/node_modules/undici/types/interceptors.d.ts +82 -0
  272. package/node_modules/@mytools/fst-platform/node_modules/undici/types/mock-agent.d.ts +68 -0
  273. package/node_modules/@mytools/fst-platform/node_modules/undici/types/mock-client.d.ts +27 -0
  274. package/node_modules/@mytools/fst-platform/node_modules/undici/types/mock-errors.d.ts +12 -0
  275. package/node_modules/@mytools/fst-platform/node_modules/undici/types/mock-interceptor.d.ts +94 -0
  276. package/node_modules/@mytools/fst-platform/node_modules/undici/types/mock-pool.d.ts +27 -0
  277. package/node_modules/@mytools/fst-platform/node_modules/undici/types/patch.d.ts +29 -0
  278. package/node_modules/@mytools/fst-platform/node_modules/undici/types/pool-stats.d.ts +19 -0
  279. package/node_modules/@mytools/fst-platform/node_modules/undici/types/pool.d.ts +41 -0
  280. package/node_modules/@mytools/fst-platform/node_modules/undici/types/proxy-agent.d.ts +29 -0
  281. package/node_modules/@mytools/fst-platform/node_modules/undici/types/readable.d.ts +68 -0
  282. package/node_modules/@mytools/fst-platform/node_modules/undici/types/retry-agent.d.ts +8 -0
  283. package/node_modules/@mytools/fst-platform/node_modules/undici/types/retry-handler.d.ts +125 -0
  284. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/round-robin-pool.d.ts +2 -0
  285. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/snapshot-agent.d.ts +0 -4
  286. package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/socks5-proxy-agent.d.ts +2 -4
  287. package/node_modules/@mytools/fst-platform/node_modules/undici/types/util.d.ts +18 -0
  288. package/node_modules/@mytools/fst-platform/node_modules/undici/types/webidl.d.ts +347 -0
  289. package/node_modules/@mytools/fst-platform/node_modules/undici/types/websocket.d.ts +188 -0
  290. package/node_modules/@mytools/fst-platform/package.json +3 -3
  291. package/node_modules/@mytools/fst-platform/src/process.js +4 -1
  292. package/node_modules/@mytools/fst-platform/src/shell.js +46 -1
  293. package/node_modules/@mytools/fst-plugin/package.json +1 -1
  294. package/node_modules/@mytools/fst-plugin/src/host.js +31 -23
  295. package/node_modules/@mytools/fst-workflow/package.json +1 -1
  296. package/node_modules/@mytools/fst-workflow/src/engine.js +1 -1
  297. package/node_modules/@mytools/fst-workspace/README.md +2 -0
  298. package/node_modules/@mytools/fst-workspace/package.json +2 -1
  299. package/node_modules/@mytools/fst-workspace/src/plugin-registry.js +58 -0
  300. package/node_modules/@mytools/fst-workspace/src/plugins.js +7 -4
  301. package/node_modules/@mytools/fst-workspace/src/workflows.js +5 -3
  302. package/node_modules/@mytools/pack/package.json +3 -3
  303. package/node_modules/@mytools/pack/runtime-cache.js +26 -0
  304. package/node_modules/@mytools/pack/runtime.js +6 -10
  305. package/node_modules/@mytools/web/public/THIRD_PARTY_NOTICES.txt +953 -963
  306. package/node_modules/@npmcli/agent/lib/agents.js +0 -10
  307. package/node_modules/@npmcli/agent/package.json +12 -11
  308. package/node_modules/@npmcli/arborist/README.md +2 -2
  309. package/node_modules/@npmcli/arborist/bin/index.js +2 -1
  310. package/node_modules/@npmcli/arborist/bin/shrinkwrap.js +7 -0
  311. package/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js +25 -159
  312. package/node_modules/@npmcli/arborist/lib/arborist/isolated-reifier.js +49 -11
  313. package/node_modules/@npmcli/arborist/lib/arborist/load-actual.js +0 -67
  314. package/node_modules/@npmcli/arborist/lib/arborist/load-virtual.js +37 -5
  315. package/node_modules/@npmcli/arborist/lib/arborist/rebuild.js +8 -15
  316. package/node_modules/@npmcli/arborist/lib/arborist/reify.js +42 -59
  317. package/node_modules/@npmcli/arborist/lib/consistent-resolve.js +1 -1
  318. package/node_modules/@npmcli/arborist/lib/diff.js +22 -17
  319. package/node_modules/@npmcli/arborist/lib/edge.js +2 -22
  320. package/node_modules/@npmcli/arborist/lib/index.js +0 -2
  321. package/node_modules/@npmcli/arborist/lib/isolated-classes.js +1 -4
  322. package/node_modules/@npmcli/arborist/lib/node.js +9 -13
  323. package/node_modules/@npmcli/arborist/lib/place-dep.js +0 -6
  324. package/node_modules/@npmcli/arborist/lib/printable.js +5 -0
  325. package/node_modules/@npmcli/arborist/lib/shrinkwrap.js +32 -55
  326. package/node_modules/@npmcli/arborist/package.json +26 -32
  327. package/node_modules/@npmcli/fs/lib/move-file.js +5 -5
  328. package/node_modules/@npmcli/fs/package.json +5 -5
  329. package/node_modules/@npmcli/git/package.json +12 -13
  330. package/node_modules/@npmcli/installed-package-contents/package.json +7 -7
  331. package/node_modules/@npmcli/map-workspaces/package.json +7 -7
  332. package/node_modules/@npmcli/metavuln-calculator/package.json +16 -10
  333. package/node_modules/@npmcli/name-from-folder/package.json +16 -13
  334. package/node_modules/@npmcli/node-gyp/package.json +5 -5
  335. package/node_modules/@npmcli/package-json/lib/index.js +1 -2
  336. package/node_modules/@npmcli/package-json/lib/normalize.js +22 -23
  337. package/node_modules/@npmcli/package-json/package.json +10 -11
  338. package/node_modules/@npmcli/promise-spawn/README.md +2 -1
  339. package/node_modules/@npmcli/promise-spawn/package.json +5 -5
  340. package/node_modules/@npmcli/redact/package.json +4 -4
  341. package/node_modules/@npmcli/run-script/lib/is-server-package.js +11 -0
  342. package/node_modules/@npmcli/run-script/lib/make-spawn-args.js +6 -5
  343. package/node_modules/@npmcli/run-script/lib/run-script-pkg.js +13 -4
  344. package/node_modules/@npmcli/run-script/lib/run-script.js +2 -1
  345. package/node_modules/@npmcli/run-script/package.json +11 -12
  346. package/node_modules/@sigstore/bundle/README.md +1 -1
  347. package/node_modules/@sigstore/bundle/dist/error.js +0 -1
  348. package/node_modules/@sigstore/bundle/package.json +2 -2
  349. package/node_modules/@sigstore/core/README.md +1 -1
  350. package/node_modules/@sigstore/core/dist/asn1/length.js +1 -12
  351. package/node_modules/@sigstore/core/dist/asn1/obj.js +7 -25
  352. package/node_modules/@sigstore/core/dist/asn1/parse.js +5 -24
  353. package/node_modules/@sigstore/core/package.json +2 -2
  354. package/node_modules/@sigstore/sign/README.md +1 -1
  355. package/node_modules/@sigstore/sign/dist/signer/fulcio/ephemeral.js +1 -1
  356. package/node_modules/@sigstore/sign/package.json +9 -9
  357. package/node_modules/@sigstore/tuf/README.md +1 -1
  358. package/node_modules/@sigstore/tuf/package.json +4 -4
  359. package/node_modules/@sigstore/tuf/seeds.json +1 -1
  360. package/node_modules/@sigstore/verify/README.md +1 -1
  361. package/node_modules/@sigstore/verify/dist/bundle/dsse.d.ts +0 -1
  362. package/node_modules/@sigstore/verify/dist/bundle/dsse.js +0 -6
  363. package/node_modules/@sigstore/verify/dist/bundle/message.d.ts +0 -1
  364. package/node_modules/@sigstore/verify/dist/bundle/message.js +0 -5
  365. package/node_modules/@sigstore/verify/dist/policy.d.ts +1 -1
  366. package/node_modules/@sigstore/verify/dist/policy.js +2 -0
  367. package/node_modules/@sigstore/verify/dist/shared.types.d.ts +1 -6
  368. package/node_modules/@sigstore/verify/dist/tlog/checkpoint.js +3 -17
  369. package/node_modules/@sigstore/verify/dist/tlog/hashedrekord.js +4 -4
  370. package/node_modules/@sigstore/verify/dist/tlog/index.js +1 -13
  371. package/node_modules/@sigstore/verify/dist/tlog/merkle.js +1 -12
  372. package/node_modules/@sigstore/verify/dist/verifier.js +5 -13
  373. package/node_modules/@sigstore/verify/package.json +5 -5
  374. package/node_modules/@tufjs/models/package.json +3 -3
  375. package/node_modules/abbrev/package.json +8 -9
  376. package/node_modules/agent-base/dist/helpers.d.ts +5 -0
  377. package/node_modules/agent-base/dist/helpers.d.ts.map +1 -1
  378. package/node_modules/agent-base/dist/helpers.js +34 -5
  379. package/node_modules/agent-base/dist/helpers.js.map +1 -1
  380. package/node_modules/agent-base/dist/index.d.ts +5 -1
  381. package/node_modules/agent-base/dist/index.d.ts.map +1 -1
  382. package/node_modules/agent-base/dist/index.js +40 -8
  383. package/node_modules/agent-base/dist/index.js.map +1 -1
  384. package/node_modules/agent-base/package.json +12 -12
  385. package/node_modules/bin-links/README.md +4 -5
  386. package/node_modules/bin-links/lib/fix-bin.js +1 -3
  387. package/node_modules/bin-links/lib/index.js +16 -8
  388. package/node_modules/bin-links/lib/link-mans.js +53 -0
  389. package/node_modules/bin-links/package.json +12 -11
  390. package/node_modules/cacache/lib/content/write.js +0 -2
  391. package/node_modules/cacache/lib/entry-index.js +0 -3
  392. package/node_modules/cacache/lib/rm.js +0 -1
  393. package/node_modules/cacache/lib/util/tmp.js +1 -5
  394. package/node_modules/cacache/lib/verify.js +2 -2
  395. package/node_modules/cacache/package.json +7 -7
  396. package/node_modules/cmd-shim/lib/index.js +32 -67
  397. package/node_modules/cmd-shim/package.json +5 -5
  398. package/node_modules/hosted-git-info/README.md +1 -1
  399. package/node_modules/hosted-git-info/lib/parse-url.js +3 -1
  400. package/node_modules/hosted-git-info/package.json +4 -4
  401. package/node_modules/http-proxy-agent/dist/index.d.ts +5 -8
  402. package/node_modules/http-proxy-agent/dist/index.d.ts.map +1 -1
  403. package/node_modules/http-proxy-agent/dist/index.js +42 -26
  404. package/node_modules/http-proxy-agent/dist/index.js.map +1 -1
  405. package/node_modules/http-proxy-agent/package.json +14 -15
  406. package/node_modules/https-proxy-agent/dist/index.d.ts +5 -9
  407. package/node_modules/https-proxy-agent/dist/index.d.ts.map +1 -1
  408. package/node_modules/https-proxy-agent/dist/index.js +44 -98
  409. package/node_modules/https-proxy-agent/dist/index.js.map +1 -1
  410. package/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts +3 -0
  411. package/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts.map +1 -1
  412. package/node_modules/https-proxy-agent/dist/parse-proxy-response.js +10 -3
  413. package/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map +1 -1
  414. package/node_modules/https-proxy-agent/package.json +15 -16
  415. package/node_modules/ignore-walk/package.json +4 -4
  416. package/node_modules/ini/package.json +5 -5
  417. package/node_modules/ip-address/README.md +70 -70
  418. package/node_modules/ip-address/dist/ipv6.js +7 -4
  419. package/node_modules/ip-address/dist/ipv6.js.map +1 -1
  420. package/node_modules/ip-address/dist/v6/constants.d.ts +3 -0
  421. package/node_modules/ip-address/dist/v6/constants.js +3 -0
  422. package/node_modules/ip-address/dist/v6/constants.js.map +1 -1
  423. package/node_modules/ip-address/package.json +2 -1
  424. package/node_modules/json-parse-even-better-errors/lib/index.js +1 -3
  425. package/node_modules/json-parse-even-better-errors/package.json +17 -13
  426. package/node_modules/make-fetch-happen/package.json +11 -11
  427. package/node_modules/minipass-fetch/package.json +4 -4
  428. package/node_modules/node-gyp/.release-please-manifest.json +1 -1
  429. package/node_modules/node-gyp/CHANGELOG.md +0 -102
  430. package/node_modules/node-gyp/README.md +2 -3
  431. package/node_modules/node-gyp/eslint.config.js +1 -4
  432. package/node_modules/node-gyp/gyp/.release-please-manifest.json +1 -1
  433. package/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +19 -14
  434. package/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +2 -7
  435. package/node_modules/node-gyp/gyp/pyproject.toml +1 -1
  436. package/node_modules/node-gyp/lib/build.js +6 -18
  437. package/node_modules/node-gyp/lib/create-config-gypi.js +0 -5
  438. package/node_modules/node-gyp/lib/node-gyp.js +2 -9
  439. package/node_modules/node-gyp/lib/rebuild.js +3 -3
  440. package/node_modules/node-gyp/package.json +9 -11
  441. package/node_modules/nopt/README.md +4 -2
  442. package/node_modules/nopt/lib/debug.js +5 -0
  443. package/node_modules/nopt/lib/nopt-lib.js +43 -7
  444. package/node_modules/nopt/lib/nopt.js +4 -2
  445. package/node_modules/nopt/lib/type-defs.js +13 -8
  446. package/node_modules/nopt/package.json +17 -15
  447. package/node_modules/npm-bundled/package.json +6 -6
  448. package/node_modules/npm-install-checks/package.json +5 -5
  449. package/node_modules/npm-normalize-package-bin/package.json +16 -13
  450. package/node_modules/npm-package-arg/package.json +7 -7
  451. package/node_modules/npm-packlist/README.md +30 -45
  452. package/node_modules/npm-packlist/lib/index.js +47 -115
  453. package/node_modules/npm-packlist/package.json +8 -10
  454. package/node_modules/npm-pick-manifest/package.json +19 -15
  455. package/node_modules/npm-registry-fetch/lib/errors.js +3 -8
  456. package/node_modules/npm-registry-fetch/package.json +12 -12
  457. package/node_modules/pacote/lib/dir.js +5 -60
  458. package/node_modules/pacote/lib/fetcher.js +0 -4
  459. package/node_modules/pacote/lib/git.js +3 -11
  460. package/node_modules/pacote/lib/util/add-git-sha.js +1 -1
  461. package/node_modules/pacote/package.json +18 -19
  462. package/node_modules/parse-conflict-json/package.json +6 -6
  463. package/node_modules/proc-log/package.json +4 -4
  464. package/node_modules/read-cmd-shim/lib/index.js +1 -1
  465. package/node_modules/read-cmd-shim/package.json +18 -14
  466. package/node_modules/sigstore/README.md +1 -1
  467. package/node_modules/sigstore/package.json +10 -10
  468. package/node_modules/socks-proxy-agent/dist/index.d.ts +3 -1
  469. package/node_modules/socks-proxy-agent/dist/index.d.ts.map +1 -1
  470. package/node_modules/socks-proxy-agent/dist/index.js +43 -17
  471. package/node_modules/socks-proxy-agent/dist/index.js.map +1 -1
  472. package/node_modules/socks-proxy-agent/package.json +15 -15
  473. package/node_modules/ssri/package.json +4 -4
  474. package/node_modules/tuf-js/dist/config.d.ts +2 -2
  475. package/node_modules/tuf-js/dist/fetcher.d.ts +4 -4
  476. package/node_modules/tuf-js/dist/fetcher.js +16 -55
  477. package/node_modules/tuf-js/dist/updater.js +2 -2
  478. package/node_modules/tuf-js/package.json +8 -8
  479. package/node_modules/undici/README.md +72 -405
  480. package/node_modules/undici/docs/docs/api/Agent.md +41 -252
  481. package/node_modules/undici/docs/docs/api/BalancedPool.md +48 -246
  482. package/node_modules/undici/docs/docs/api/CacheStorage.md +13 -171
  483. package/node_modules/undici/docs/docs/api/Client.md +139 -395
  484. package/node_modules/undici/docs/docs/api/Connector.md +35 -118
  485. package/node_modules/undici/docs/docs/api/ContentType.md +25 -65
  486. package/node_modules/undici/docs/docs/api/Cookies.md +47 -125
  487. package/node_modules/undici/docs/docs/api/Debug.md +31 -47
  488. package/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +97 -409
  489. package/node_modules/undici/docs/docs/api/DispatchInterceptor.md +60 -0
  490. package/node_modules/undici/docs/docs/api/Dispatcher.md +1011 -500
  491. package/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +96 -105
  492. package/node_modules/undici/docs/docs/api/Errors.md +28 -528
  493. package/node_modules/undici/docs/docs/api/EventSource.md +13 -326
  494. package/node_modules/undici/docs/docs/api/Fetch.md +24 -693
  495. package/node_modules/undici/docs/docs/api/MockAgent.md +264 -346
  496. package/node_modules/undici/docs/docs/api/MockClient.md +31 -153
  497. package/node_modules/undici/docs/docs/api/MockErrors.md +5 -56
  498. package/node_modules/undici/docs/docs/api/MockPool.md +253 -324
  499. package/node_modules/undici/docs/docs/api/Pool.md +41 -235
  500. package/node_modules/undici/docs/docs/api/PoolStats.md +13 -119
  501. package/node_modules/undici/docs/docs/api/ProxyAgent.md +81 -198
  502. package/node_modules/undici/docs/docs/api/RedirectHandler.md +58 -238
  503. package/node_modules/undici/docs/docs/api/RetryAgent.md +28 -119
  504. package/node_modules/undici/docs/docs/api/RetryHandler.md +78 -161
  505. package/node_modules/undici/docs/docs/api/Util.md +11 -68
  506. package/node_modules/undici/docs/docs/api/WebSocket.md +24 -509
  507. package/node_modules/undici/docs/docs/api/api-lifecycle.md +33 -101
  508. package/node_modules/undici/docs/docs/best-practices/client-certificate.md +0 -2
  509. package/node_modules/undici/docs/docs/best-practices/mocking-request.md +2 -58
  510. package/node_modules/undici/docs/docs/best-practices/proxy.md +1 -3
  511. package/node_modules/undici/docs/docs/best-practices/writing-tests.md +0 -45
  512. package/node_modules/undici/index-fetch.js +4 -34
  513. package/node_modules/undici/index.d.ts +1 -1
  514. package/node_modules/undici/index.js +20 -87
  515. package/node_modules/undici/lib/api/abort-signal.js +0 -2
  516. package/node_modules/undici/lib/api/api-connect.js +11 -15
  517. package/node_modules/undici/lib/api/api-pipeline.js +19 -33
  518. package/node_modules/undici/lib/api/api-request.js +59 -89
  519. package/node_modules/undici/lib/api/api-stream.js +64 -114
  520. package/node_modules/undici/lib/api/api-upgrade.js +13 -26
  521. package/node_modules/undici/lib/api/readable.js +87 -317
  522. package/node_modules/undici/lib/api/util.js +93 -0
  523. package/node_modules/undici/lib/core/connect.js +125 -77
  524. package/node_modules/undici/lib/core/constants.js +9 -11
  525. package/node_modules/undici/lib/core/diagnostics.js +129 -154
  526. package/node_modules/undici/lib/core/errors.js +50 -122
  527. package/node_modules/undici/lib/core/request.js +87 -172
  528. package/node_modules/undici/lib/core/symbols.js +2 -14
  529. package/node_modules/undici/lib/core/tree.js +2 -10
  530. package/node_modules/undici/lib/core/util.js +190 -481
  531. package/node_modules/undici/lib/dispatcher/agent.js +35 -83
  532. package/node_modules/undici/lib/dispatcher/balanced-pool.js +38 -46
  533. package/node_modules/undici/lib/dispatcher/client-h1.js +199 -492
  534. package/node_modules/undici/lib/dispatcher/client-h2.js +380 -1409
  535. package/node_modules/undici/lib/dispatcher/client.js +130 -253
  536. package/node_modules/undici/lib/dispatcher/dispatcher-base.js +52 -50
  537. package/node_modules/undici/lib/dispatcher/dispatcher.js +24 -17
  538. package/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +45 -75
  539. package/node_modules/undici/lib/dispatcher/fixed-queue.js +50 -68
  540. package/node_modules/undici/lib/dispatcher/pool-base.js +54 -153
  541. package/node_modules/undici/lib/dispatcher/pool-stats.js +34 -0
  542. package/node_modules/undici/lib/dispatcher/pool.js +16 -135
  543. package/node_modules/undici/lib/dispatcher/proxy-agent.js +41 -175
  544. package/node_modules/undici/lib/dispatcher/retry-agent.js +0 -3
  545. package/node_modules/undici/lib/global.js +9 -59
  546. package/node_modules/undici/lib/handler/decorator-handler.js +15 -43
  547. package/node_modules/undici/lib/handler/redirect-handler.js +116 -127
  548. package/node_modules/undici/lib/handler/retry-handler.js +182 -398
  549. package/node_modules/undici/lib/interceptor/dns.js +47 -254
  550. package/node_modules/undici/lib/interceptor/dump.js +56 -32
  551. package/node_modules/undici/lib/interceptor/redirect-interceptor.js +21 -0
  552. package/node_modules/undici/lib/interceptor/redirect.js +14 -11
  553. package/node_modules/undici/lib/interceptor/response-error.js +22 -31
  554. package/node_modules/undici/lib/llhttp/.gitkeep +0 -0
  555. package/node_modules/undici/lib/llhttp/constants.js +193 -446
  556. package/node_modules/undici/lib/llhttp/llhttp-wasm.js +1 -11
  557. package/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +1 -11
  558. package/node_modules/undici/lib/llhttp/utils.js +12 -9
  559. package/node_modules/undici/lib/mock/mock-agent.js +22 -106
  560. package/node_modules/undici/lib/mock/mock-client.js +4 -13
  561. package/node_modules/undici/lib/mock/mock-errors.js +2 -3
  562. package/node_modules/undici/lib/mock/mock-interceptor.js +13 -33
  563. package/node_modules/undici/lib/mock/mock-pool.js +4 -13
  564. package/node_modules/undici/lib/mock/mock-symbols.js +1 -10
  565. package/node_modules/undici/lib/mock/mock-utils.js +51 -404
  566. package/node_modules/undici/lib/mock/pluralizer.js +29 -0
  567. package/node_modules/undici/lib/util/timers.js +9 -11
  568. package/node_modules/undici/lib/web/cache/cache.js +51 -63
  569. package/node_modules/undici/lib/web/cache/cachestorage.js +7 -13
  570. package/node_modules/undici/lib/web/cache/symbols.js +5 -0
  571. package/node_modules/undici/lib/web/cookies/index.js +18 -45
  572. package/node_modules/undici/lib/web/cookies/parse.js +149 -157
  573. package/node_modules/undici/lib/web/cookies/util.js +2 -4
  574. package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +9 -37
  575. package/node_modules/undici/lib/web/eventsource/eventsource.js +64 -108
  576. package/node_modules/undici/lib/web/eventsource/util.js +5 -28
  577. package/node_modules/undici/lib/web/fetch/body.js +148 -173
  578. package/node_modules/undici/lib/web/fetch/constants.js +6 -13
  579. package/node_modules/undici/lib/web/fetch/data-url.js +167 -19
  580. package/node_modules/undici/lib/web/fetch/dispatcher-weakref.js +46 -0
  581. package/node_modules/undici/lib/web/fetch/file.js +126 -0
  582. package/node_modules/undici/lib/web/fetch/formdata-parser.js +117 -229
  583. package/node_modules/undici/lib/web/fetch/formdata.js +65 -85
  584. package/node_modules/undici/lib/web/fetch/headers.js +108 -143
  585. package/node_modules/undici/lib/web/fetch/index.js +446 -627
  586. package/node_modules/undici/lib/web/fetch/request.js +115 -217
  587. package/node_modules/undici/lib/web/fetch/response.js +82 -110
  588. package/node_modules/undici/lib/web/fetch/symbols.js +9 -0
  589. package/node_modules/undici/lib/web/fetch/util.js +393 -291
  590. package/node_modules/undici/lib/web/fetch/webidl.js +695 -0
  591. package/node_modules/undici/lib/web/fileapi/encoding.js +290 -0
  592. package/node_modules/undici/lib/web/fileapi/filereader.js +344 -0
  593. package/node_modules/undici/lib/web/fileapi/progressevent.js +78 -0
  594. package/node_modules/undici/lib/web/fileapi/symbols.js +10 -0
  595. package/node_modules/undici/lib/web/fileapi/util.js +391 -0
  596. package/node_modules/undici/lib/web/websocket/connection.js +160 -139
  597. package/node_modules/undici/lib/web/websocket/constants.js +10 -70
  598. package/node_modules/undici/lib/web/websocket/events.js +30 -49
  599. package/node_modules/undici/lib/web/websocket/frame.js +20 -51
  600. package/node_modules/undici/lib/web/websocket/receiver.js +87 -83
  601. package/node_modules/undici/lib/web/websocket/sender.js +13 -18
  602. package/node_modules/undici/lib/web/websocket/symbols.js +12 -0
  603. package/node_modules/undici/lib/web/websocket/util.js +90 -115
  604. package/node_modules/undici/lib/web/websocket/websocket.js +171 -359
  605. package/node_modules/undici/package.json +57 -49
  606. package/node_modules/undici/scripts/strip-comments.js +1 -3
  607. package/node_modules/undici/types/agent.d.ts +13 -12
  608. package/node_modules/undici/types/api.d.ts +26 -26
  609. package/node_modules/undici/types/balanced-pool.d.ts +12 -13
  610. package/node_modules/undici/types/client.d.ts +39 -98
  611. package/node_modules/undici/types/connector.d.ts +2 -5
  612. package/node_modules/undici/types/cookies.d.ts +1 -3
  613. package/node_modules/undici/types/diagnostics-channel.d.ts +11 -20
  614. package/node_modules/undici/types/dispatcher.d.ts +139 -136
  615. package/node_modules/undici/types/env-http-proxy-agent.d.ts +3 -4
  616. package/node_modules/undici/types/errors.d.ts +54 -86
  617. package/node_modules/undici/types/eventsource.d.ts +4 -9
  618. package/node_modules/undici/types/fetch.d.ts +25 -51
  619. package/node_modules/undici/types/file.d.ts +39 -0
  620. package/node_modules/undici/types/filereader.d.ts +54 -0
  621. package/node_modules/undici/types/formdata.d.ts +7 -7
  622. package/node_modules/undici/types/global-dispatcher.d.ts +4 -4
  623. package/node_modules/undici/types/global-origin.d.ts +5 -5
  624. package/node_modules/undici/types/handlers.d.ts +9 -10
  625. package/node_modules/undici/types/header.d.ts +1 -162
  626. package/node_modules/undici/types/index.d.ts +47 -69
  627. package/node_modules/undici/types/interceptors.d.ts +12 -62
  628. package/node_modules/undici/types/mock-agent.d.ts +27 -46
  629. package/node_modules/undici/types/mock-client.d.ts +4 -6
  630. package/node_modules/undici/types/mock-errors.d.ts +3 -3
  631. package/node_modules/undici/types/mock-interceptor.d.ts +21 -26
  632. package/node_modules/undici/types/mock-pool.d.ts +4 -6
  633. package/node_modules/undici/types/patch.d.ts +4 -0
  634. package/node_modules/undici/types/pool-stats.d.ts +8 -8
  635. package/node_modules/undici/types/pool.d.ts +14 -14
  636. package/node_modules/undici/types/proxy-agent.d.ts +6 -13
  637. package/node_modules/undici/types/readable.d.ts +16 -19
  638. package/node_modules/undici/types/retry-agent.d.ts +1 -1
  639. package/node_modules/undici/types/retry-handler.d.ts +9 -18
  640. package/node_modules/undici/types/util.d.ts +3 -3
  641. package/node_modules/undici/types/webidl.d.ts +32 -156
  642. package/node_modules/undici/types/websocket.d.ts +10 -48
  643. package/node_modules/validate-npm-package-name/package.json +4 -4
  644. package/node_modules/which/package.json +4 -4
  645. package/node_modules/write-file-atomic/package.json +4 -4
  646. package/package.json +56 -60
  647. package/node_modules/@npmcli/arborist/lib/npm-extension.js +0 -237
  648. package/node_modules/@npmcli/arborist/lib/package-extensions.js +0 -236
  649. package/node_modules/@npmcli/arborist/lib/patch.js +0 -111
  650. package/node_modules/@npmcli/arborist/lib/patched-dependencies.js +0 -168
  651. package/node_modules/cacache/lib/util/cache-dir.js +0 -29
  652. package/node_modules/diff/CONTRIBUTING.md +0 -28
  653. package/node_modules/diff/LICENSE +0 -29
  654. package/node_modules/diff/README.md +0 -388
  655. package/node_modules/diff/dist/diff.js +0 -1782
  656. package/node_modules/diff/dist/diff.min.js +0 -1
  657. package/node_modules/diff/eslint.config.mjs +0 -182
  658. package/node_modules/diff/libcjs/convert/dmp.d.ts +0 -8
  659. package/node_modules/diff/libcjs/convert/dmp.d.ts.map +0 -1
  660. package/node_modules/diff/libcjs/convert/dmp.js +0 -24
  661. package/node_modules/diff/libcjs/convert/xml.d.ts +0 -6
  662. package/node_modules/diff/libcjs/convert/xml.d.ts.map +0 -1
  663. package/node_modules/diff/libcjs/convert/xml.js +0 -34
  664. package/node_modules/diff/libcjs/diff/array.d.ts +0 -19
  665. package/node_modules/diff/libcjs/diff/array.d.ts.map +0 -1
  666. package/node_modules/diff/libcjs/diff/array.js +0 -40
  667. package/node_modules/diff/libcjs/diff/base.d.ts +0 -20
  668. package/node_modules/diff/libcjs/diff/base.d.ts.map +0 -1
  669. package/node_modules/diff/libcjs/diff/base.js +0 -265
  670. package/node_modules/diff/libcjs/diff/character.d.ts +0 -19
  671. package/node_modules/diff/libcjs/diff/character.d.ts.map +0 -1
  672. package/node_modules/diff/libcjs/diff/character.js +0 -31
  673. package/node_modules/diff/libcjs/diff/css.d.ts +0 -18
  674. package/node_modules/diff/libcjs/diff/css.d.ts.map +0 -1
  675. package/node_modules/diff/libcjs/diff/css.js +0 -34
  676. package/node_modules/diff/libcjs/diff/json.d.ts +0 -24
  677. package/node_modules/diff/libcjs/diff/json.d.ts.map +0 -1
  678. package/node_modules/diff/libcjs/diff/json.js +0 -105
  679. package/node_modules/diff/libcjs/diff/line.d.ts +0 -24
  680. package/node_modules/diff/libcjs/diff/line.d.ts.map +0 -1
  681. package/node_modules/diff/libcjs/diff/line.js +0 -89
  682. package/node_modules/diff/libcjs/diff/sentence.d.ts +0 -21
  683. package/node_modules/diff/libcjs/diff/sentence.d.ts.map +0 -1
  684. package/node_modules/diff/libcjs/diff/sentence.js +0 -67
  685. package/node_modules/diff/libcjs/diff/word.d.ts +0 -35
  686. package/node_modules/diff/libcjs/diff/word.d.ts.map +0 -1
  687. package/node_modules/diff/libcjs/diff/word.js +0 -312
  688. package/node_modules/diff/libcjs/index.d.ts +0 -20
  689. package/node_modules/diff/libcjs/index.d.ts.map +0 -1
  690. package/node_modules/diff/libcjs/index.js +0 -64
  691. package/node_modules/diff/libcjs/package.json +0 -1
  692. package/node_modules/diff/libcjs/patch/apply.d.ts +0 -62
  693. package/node_modules/diff/libcjs/patch/apply.d.ts.map +0 -1
  694. package/node_modules/diff/libcjs/patch/apply.js +0 -267
  695. package/node_modules/diff/libcjs/patch/create.d.ts +0 -122
  696. package/node_modules/diff/libcjs/patch/create.d.ts.map +0 -1
  697. package/node_modules/diff/libcjs/patch/create.js +0 -251
  698. package/node_modules/diff/libcjs/patch/line-endings.d.ts +0 -17
  699. package/node_modules/diff/libcjs/patch/line-endings.d.ts.map +0 -1
  700. package/node_modules/diff/libcjs/patch/line-endings.js +0 -61
  701. package/node_modules/diff/libcjs/patch/parse.d.ts +0 -8
  702. package/node_modules/diff/libcjs/patch/parse.d.ts.map +0 -1
  703. package/node_modules/diff/libcjs/patch/parse.js +0 -150
  704. package/node_modules/diff/libcjs/patch/reverse.d.ts +0 -9
  705. package/node_modules/diff/libcjs/patch/reverse.d.ts.map +0 -1
  706. package/node_modules/diff/libcjs/patch/reverse.js +0 -37
  707. package/node_modules/diff/libcjs/types.d.ts +0 -213
  708. package/node_modules/diff/libcjs/types.d.ts.map +0 -1
  709. package/node_modules/diff/libcjs/types.js +0 -2
  710. package/node_modules/diff/libcjs/util/array.d.ts +0 -3
  711. package/node_modules/diff/libcjs/util/array.d.ts.map +0 -1
  712. package/node_modules/diff/libcjs/util/array.js +0 -21
  713. package/node_modules/diff/libcjs/util/distance-iterator.d.ts +0 -2
  714. package/node_modules/diff/libcjs/util/distance-iterator.d.ts.map +0 -1
  715. package/node_modules/diff/libcjs/util/distance-iterator.js +0 -40
  716. package/node_modules/diff/libcjs/util/params.d.ts +0 -4
  717. package/node_modules/diff/libcjs/util/params.d.ts.map +0 -1
  718. package/node_modules/diff/libcjs/util/params.js +0 -17
  719. package/node_modules/diff/libcjs/util/string.d.ts +0 -30
  720. package/node_modules/diff/libcjs/util/string.d.ts.map +0 -1
  721. package/node_modules/diff/libcjs/util/string.js +0 -200
  722. package/node_modules/diff/libesm/convert/dmp.d.ts +0 -8
  723. package/node_modules/diff/libesm/convert/dmp.d.ts.map +0 -1
  724. package/node_modules/diff/libesm/convert/dmp.js +0 -21
  725. package/node_modules/diff/libesm/convert/xml.d.ts +0 -6
  726. package/node_modules/diff/libesm/convert/xml.d.ts.map +0 -1
  727. package/node_modules/diff/libesm/convert/xml.js +0 -31
  728. package/node_modules/diff/libesm/diff/array.d.ts +0 -19
  729. package/node_modules/diff/libesm/diff/array.d.ts.map +0 -1
  730. package/node_modules/diff/libesm/diff/array.js +0 -16
  731. package/node_modules/diff/libesm/diff/base.d.ts +0 -20
  732. package/node_modules/diff/libesm/diff/base.d.ts.map +0 -1
  733. package/node_modules/diff/libesm/diff/base.js +0 -253
  734. package/node_modules/diff/libesm/diff/character.d.ts +0 -19
  735. package/node_modules/diff/libesm/diff/character.d.ts.map +0 -1
  736. package/node_modules/diff/libesm/diff/character.js +0 -7
  737. package/node_modules/diff/libesm/diff/css.d.ts +0 -18
  738. package/node_modules/diff/libesm/diff/css.d.ts.map +0 -1
  739. package/node_modules/diff/libesm/diff/css.js +0 -10
  740. package/node_modules/diff/libesm/diff/json.d.ts +0 -24
  741. package/node_modules/diff/libesm/diff/json.d.ts.map +0 -1
  742. package/node_modules/diff/libesm/diff/json.js +0 -78
  743. package/node_modules/diff/libesm/diff/line.d.ts +0 -24
  744. package/node_modules/diff/libesm/diff/line.d.ts.map +0 -1
  745. package/node_modules/diff/libesm/diff/line.js +0 -65
  746. package/node_modules/diff/libesm/diff/sentence.d.ts +0 -21
  747. package/node_modules/diff/libesm/diff/sentence.d.ts.map +0 -1
  748. package/node_modules/diff/libesm/diff/sentence.js +0 -43
  749. package/node_modules/diff/libesm/diff/word.d.ts +0 -35
  750. package/node_modules/diff/libesm/diff/word.d.ts.map +0 -1
  751. package/node_modules/diff/libesm/diff/word.js +0 -281
  752. package/node_modules/diff/libesm/index.d.ts +0 -20
  753. package/node_modules/diff/libesm/index.d.ts.map +0 -1
  754. package/node_modules/diff/libesm/index.js +0 -30
  755. package/node_modules/diff/libesm/package.json +0 -1
  756. package/node_modules/diff/libesm/patch/apply.d.ts +0 -62
  757. package/node_modules/diff/libesm/patch/apply.d.ts.map +0 -1
  758. package/node_modules/diff/libesm/patch/apply.js +0 -257
  759. package/node_modules/diff/libesm/patch/create.d.ts +0 -122
  760. package/node_modules/diff/libesm/patch/create.d.ts.map +0 -1
  761. package/node_modules/diff/libesm/patch/create.js +0 -228
  762. package/node_modules/diff/libesm/patch/line-endings.d.ts +0 -17
  763. package/node_modules/diff/libesm/patch/line-endings.d.ts.map +0 -1
  764. package/node_modules/diff/libesm/patch/line-endings.js +0 -44
  765. package/node_modules/diff/libesm/patch/parse.d.ts +0 -8
  766. package/node_modules/diff/libesm/patch/parse.d.ts.map +0 -1
  767. package/node_modules/diff/libesm/patch/parse.js +0 -147
  768. package/node_modules/diff/libesm/patch/reverse.d.ts +0 -9
  769. package/node_modules/diff/libesm/patch/reverse.d.ts.map +0 -1
  770. package/node_modules/diff/libesm/patch/reverse.js +0 -23
  771. package/node_modules/diff/libesm/types.d.ts +0 -213
  772. package/node_modules/diff/libesm/types.d.ts.map +0 -1
  773. package/node_modules/diff/libesm/types.js +0 -1
  774. package/node_modules/diff/libesm/util/array.d.ts +0 -3
  775. package/node_modules/diff/libesm/util/array.d.ts.map +0 -1
  776. package/node_modules/diff/libesm/util/array.js +0 -17
  777. package/node_modules/diff/libesm/util/distance-iterator.d.ts +0 -2
  778. package/node_modules/diff/libesm/util/distance-iterator.d.ts.map +0 -1
  779. package/node_modules/diff/libesm/util/distance-iterator.js +0 -37
  780. package/node_modules/diff/libesm/util/params.d.ts +0 -4
  781. package/node_modules/diff/libesm/util/params.d.ts.map +0 -1
  782. package/node_modules/diff/libesm/util/params.js +0 -14
  783. package/node_modules/diff/libesm/util/string.d.ts +0 -30
  784. package/node_modules/diff/libesm/util/string.d.ts.map +0 -1
  785. package/node_modules/diff/libesm/util/string.js +0 -184
  786. package/node_modules/diff/package.json +0 -130
  787. package/node_modules/diff/release-notes.md +0 -432
  788. package/node_modules/node-gyp/commitlint.config.mjs +0 -3
  789. package/node_modules/node-gyp/gyp/commitlint.config.js +0 -6
  790. package/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake_test.py +0 -105
  791. package/node_modules/node-gyp/zizmor.yml +0 -5
  792. package/node_modules/proxy-agent-negotiate/dist/index.d.ts +0 -14
  793. package/node_modules/proxy-agent-negotiate/dist/index.d.ts.map +0 -1
  794. package/node_modules/proxy-agent-negotiate/dist/index.js +0 -35
  795. package/node_modules/proxy-agent-negotiate/dist/index.js.map +0 -1
  796. package/node_modules/proxy-agent-negotiate/package.json +0 -47
  797. package/node_modules/undici/docs/docs/api/CacheStore.md +0 -360
  798. package/node_modules/undici/docs/docs/api/ClientStats.md +0 -93
  799. package/node_modules/undici/docs/docs/api/GlobalInstallation.md +0 -121
  800. package/node_modules/undici/docs/docs/api/H2CClient.md +0 -385
  801. package/node_modules/undici/docs/docs/api/Interceptors.md +0 -419
  802. package/node_modules/undici/docs/docs/api/MockCallHistory.md +0 -371
  803. package/node_modules/undici/docs/docs/api/MockCallHistoryLog.md +0 -206
  804. package/node_modules/undici/docs/docs/api/RoundRobinPool.md +0 -239
  805. package/node_modules/undici/docs/docs/api/SnapshotAgent.md +0 -361
  806. package/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +0 -256
  807. package/node_modules/undici/docs/docs/best-practices/migrating-from-v7-to-v8.md +0 -233
  808. package/node_modules/undici/docs/docs/getting-started.md +0 -281
  809. package/node_modules/undici/docs/docs/site.json +0 -125
  810. package/node_modules/undici/docs/docs/type-map.json +0 -79
  811. package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +0 -110
  812. package/node_modules/undici/types/dispatcher1-wrapper.d.ts +0 -7
  813. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/core/socks5-client.js +0 -0
  814. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/core/socks5-utils.js +0 -0
  815. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/encoding/index.js +0 -0
  816. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/llhttp/constants.d.ts +0 -0
  817. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/llhttp/utils.d.ts +0 -0
  818. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/mock/snapshot-utils.js +0 -0
  819. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/util/date.js +0 -0
  820. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/util/stats.js +0 -0
  821. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/web/subresource-integrity/Readme.md +0 -0
  822. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/web/subresource-integrity/subresource-integrity.js +0 -0
  823. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/cache-interceptor.d.ts +0 -0
  824. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/client-stats.d.ts +0 -0
  825. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/mock-call-history.d.ts +0 -0
  826. /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/utility.d.ts +0 -0
@@ -1,84 +1,36 @@
1
- # MockAgent
1
+ # Class: MockAgent
2
2
 
3
- <!--introduced_in=v4.0.0-->
4
- <!--type=module-->
5
- <!-- source_link=lib/mock/mock-agent.js -->
3
+ Extends: `undici.Dispatcher`
6
4
 
7
- > Stability: 2 - Stable
5
+ A mocked Agent class that implements the Agent API. It allows one to intercept HTTP requests made through undici and return mocked responses instead.
8
6
 
9
- A `MockAgent` is a {Dispatcher} that intercepts HTTP requests made through
10
- undici and replies with programmed mock responses instead of contacting the
11
- network. It is useful for testing code that performs HTTP requests without
12
- relying on a live server.
7
+ ## `new MockAgent([options])`
13
8
 
14
- A `MockAgent` does not intercept requests on its own. Mock responses are
15
- registered on the {MockClient} or {MockPool} instances returned by
16
- [`mockAgent.get(origin)`][], and requests are routed through them once the
17
- `MockAgent` is set as the dispatcher (for example through
18
- [`setGlobalDispatcher()`][] or a per-request `dispatcher` option).
9
+ Arguments:
19
10
 
20
- > [!NOTE]
21
- > [`setGlobalDispatcher()`][] only affects undici APIs that use the global
22
- > dispatcher, such as `request()` and `fetch()`. It does not replace or
23
- > monkeypatch {Pool} or {Client} instances that were created separately. To test
24
- > code that accepts or creates a pool/client directly, pass the {MockPool} or
25
- > {MockClient} returned by [`mockAgent.get(origin)`][] into that code.
11
+ * **options** `MockAgentOptions` (optional) - It extends the `Agent` options.
26
12
 
27
- ```mjs
28
- import { MockAgent } from 'undici'
29
-
30
- const mockAgent = new MockAgent()
31
- ```
32
-
33
- ## Class: `MockAgent`
34
-
35
- <!-- YAML
36
- added: v4.0.0
37
- -->
13
+ Returns: `MockAgent`
38
14
 
39
- * Extends: {Dispatcher}
15
+ ### Parameter: `MockAgentOptions`
40
16
 
41
- Intercepts HTTP requests made through undici and returns mocked responses.
17
+ Extends: [`AgentOptions`](Agent.md#parameter-agentoptions)
42
18
 
43
- ### `new MockAgent([options])`
19
+ * **agent** `Agent` (optional) - Default: `new Agent([options])` - a custom agent encapsulated by the MockAgent.
44
20
 
45
- <!-- YAML
46
- added: v4.0.0
47
- changes:
48
- - version: v7.16.0
49
- pr-url: https://github.com/nodejs/undici/pull/4479
50
- description: Mock options are always normalized to an object internally.
51
- -->
21
+ ### Example - Basic MockAgent instantiation
52
22
 
53
- * `options` {MockAgentOptions} (optional)
54
- * Returns: {MockAgent}
23
+ This will instantiate the MockAgent. It will not do anything until registered as the agent to use with requests and mock interceptions are added.
55
24
 
56
- When instantiated, a `MockAgent` is automatically activated. It does not
57
- intercept any request until mock interceptors are registered on the dispatchers
58
- returned by [`mockAgent.get(origin)`][].
59
-
60
- #### Parameter: `MockAgentOptions`
61
-
62
- * Extends: {AgentOptions}
63
- * `agent` {Dispatcher} (optional) A custom agent to be encapsulated by the
64
- `MockAgent`. It must implement the `Agent` API (that is, expose a `dispatch`
65
- function). **Default:** a new {Agent} constructed from `options`.
66
- * `ignoreTrailingSlash` {boolean} (optional) Whether trailing slashes in the
67
- request path are ignored when matching interceptors. **Default:** `false`.
68
- * `acceptNonStandardSearchParameters` {boolean} (optional) Whether the matcher
69
- also accepts URLs using non-standard search-parameter syntaxes, such as
70
- multi-value items written with `[]` (for example `param[]=1&param[]=2`) or
71
- comma-separated values (for example `param=1,2,3`). **Default:** `false`.
72
- * `enableCallHistory` {boolean} (optional) Whether call history recording is
73
- enabled. See [`mockAgent.getCallHistory()`][]. **Default:** `false`.
74
-
75
- ```mjs displayName="Basic instantiation"
25
+ ```js
76
26
  import { MockAgent } from 'undici'
77
27
 
78
28
  const mockAgent = new MockAgent()
79
29
  ```
80
30
 
81
- ```mjs displayName="Instantiation with a custom agent"
31
+ ### Example - Basic MockAgent instantiation with custom agent
32
+
33
+ ```js
82
34
  import { Agent, MockAgent } from 'undici'
83
35
 
84
36
  const agent = new Agent()
@@ -86,30 +38,34 @@ const agent = new Agent()
86
38
  const mockAgent = new MockAgent({ agent })
87
39
  ```
88
40
 
89
- ### `mockAgent.get(origin)`
41
+ ## Instance Methods
42
+
43
+ ### `MockAgent.get(origin)`
90
44
 
91
- <!-- YAML
92
- added: v4.0.0
93
- -->
45
+ This method creates and retrieves MockPool or MockClient instances which can then be used to intercept HTTP requests. If the number of connections on the mock agent is set to 1, a MockClient instance is returned. Otherwise a MockPool instance is returned.
94
46
 
95
- * `origin` {string|RegExp|Function} A matcher for the origin to retrieve. The
96
- function form has the signature `(origin) => boolean`.
97
- * Returns: {MockClient|MockPool}
47
+ For subsequent `MockAgent.get` calls on the same origin, the same mock instance will be returned.
98
48
 
99
- Creates and retrieves the mock dispatcher used to intercept requests for the
100
- given origin. When the `connections` option of the `MockAgent` is `1`, a
101
- {MockClient} is returned; otherwise a {MockPool} is returned. Subsequent calls
102
- with the same origin return the same instance.
49
+ Arguments:
103
50
 
104
- The way `origin` is matched against incoming requests depends on its type:
51
+ * **origin** `string | RegExp | (value) => boolean` - a matcher for the pool origin to be retrieved from the MockAgent.
105
52
 
106
- | Matcher type | Condition to pass |
107
- | :----------: | ---------------------------- |
108
- | `string` | Exact match against the value |
109
- | `RegExp` | The regular expression matches |
110
- | `Function` | The function returns `true` |
53
+ | Matcher type | Condition to pass |
54
+ |:------------:| -------------------------- |
55
+ | `string` | Exact match against string |
56
+ | `RegExp` | Regex must pass |
57
+ | `Function` | Function must return true |
111
58
 
112
- ```mjs displayName="Basic mocked request"
59
+ Returns: `MockClient | MockPool`.
60
+
61
+ | `MockAgentOptions` | Mock instance returned |
62
+ | -------------------- | ---------------------- |
63
+ | `connections === 1` | `MockClient` |
64
+ | `connections` > `1` | `MockPool` |
65
+
66
+ #### Example - Basic Mocked Request
67
+
68
+ ```js
113
69
  import { MockAgent, setGlobalDispatcher, request } from 'undici'
114
70
 
115
71
  const mockAgent = new MockAgent()
@@ -127,7 +83,9 @@ for await (const data of body) {
127
83
  }
128
84
  ```
129
85
 
130
- ```mjs displayName="Mocked request using a local dispatcher"
86
+ #### Example - Basic Mocked Request with local mock agent dispatcher
87
+
88
+ ```js
131
89
  import { MockAgent, request } from 'undici'
132
90
 
133
91
  const mockAgent = new MockAgent()
@@ -135,9 +93,10 @@ const mockAgent = new MockAgent()
135
93
  const mockPool = mockAgent.get('http://localhost:3000')
136
94
  mockPool.intercept({ path: '/foo' }).reply(200, 'foo')
137
95
 
138
- const { statusCode, body } = await request('http://localhost:3000/foo', {
139
- dispatcher: mockAgent
140
- })
96
+ const {
97
+ statusCode,
98
+ body
99
+ } = await request('http://localhost:3000/foo', { dispatcher: mockAgent })
141
100
 
142
101
  console.log('response received', statusCode) // response received 200
143
102
 
@@ -146,27 +105,31 @@ for await (const data of body) {
146
105
  }
147
106
  ```
148
107
 
149
- ```mjs displayName="Testing code that accepts a pool"
150
- import { MockAgent } from 'undici'
151
-
152
- async function getStatus (pool) {
153
- const { statusCode } = await pool.request({
154
- path: '/foo',
155
- method: 'GET'
156
- })
108
+ #### Example - Basic Mocked Request with local mock pool dispatcher
157
109
 
158
- return statusCode
159
- }
110
+ ```js
111
+ import { MockAgent, request } from 'undici'
160
112
 
161
113
  const mockAgent = new MockAgent()
114
+
162
115
  const mockPool = mockAgent.get('http://localhost:3000')
116
+ mockPool.intercept({ path: '/foo' }).reply(200, 'foo')
117
+
118
+ const {
119
+ statusCode,
120
+ body
121
+ } = await request('http://localhost:3000/foo', { dispatcher: mockPool })
163
122
 
164
- mockPool.intercept({ path: '/foo', method: 'GET' }).reply(200)
123
+ console.log('response received', statusCode) // response received 200
165
124
 
166
- console.log(await getStatus(mockPool)) // 200
125
+ for await (const data of body) {
126
+ console.log('data', data.toString('utf8')) // data foo
127
+ }
167
128
  ```
168
129
 
169
- ```mjs displayName="Returning a MockClient"
130
+ #### Example - Basic Mocked Request with local mock client dispatcher
131
+
132
+ ```js
170
133
  import { MockAgent, request } from 'undici'
171
134
 
172
135
  const mockAgent = new MockAgent({ connections: 1 })
@@ -174,9 +137,10 @@ const mockAgent = new MockAgent({ connections: 1 })
174
137
  const mockClient = mockAgent.get('http://localhost:3000')
175
138
  mockClient.intercept({ path: '/foo' }).reply(200, 'foo')
176
139
 
177
- const { statusCode, body } = await request('http://localhost:3000/foo', {
178
- dispatcher: mockClient
179
- })
140
+ const {
141
+ statusCode,
142
+ body
143
+ } = await request('http://localhost:3000/foo', { dispatcher: mockClient })
180
144
 
181
145
  console.log('response received', statusCode) // response received 200
182
146
 
@@ -185,64 +149,129 @@ for await (const data of body) {
185
149
  }
186
150
  ```
187
151
 
188
- ```mjs displayName="Matching the origin with a regular expression"
152
+ #### Example - Basic Mocked requests with multiple intercepts
153
+
154
+ ```js
189
155
  import { MockAgent, setGlobalDispatcher, request } from 'undici'
190
156
 
191
157
  const mockAgent = new MockAgent()
192
158
  setGlobalDispatcher(mockAgent)
193
159
 
194
- const mockPool = mockAgent.get(new RegExp('http://localhost:3000'))
160
+ const mockPool = mockAgent.get('http://localhost:3000')
195
161
  mockPool.intercept({ path: '/foo' }).reply(200, 'foo')
162
+ mockPool.intercept({ path: '/hello'}).reply(200, 'hello')
196
163
 
197
- const { statusCode } = await request('http://localhost:3000/foo')
164
+ const result1 = await request('http://localhost:3000/foo')
198
165
 
199
- console.log('response received', statusCode) // response received 200
166
+ console.log('response received', result1.statusCode) // response received 200
167
+
168
+ for await (const data of result1.body) {
169
+ console.log('data', data.toString('utf8')) // data foo
170
+ }
171
+
172
+ const result2 = await request('http://localhost:3000/hello')
173
+
174
+ console.log('response received', result2.statusCode) // response received 200
175
+
176
+ for await (const data of result2.body) {
177
+ console.log('data', data.toString('utf8')) // data hello
178
+ }
200
179
  ```
180
+ #### Example - Mock different requests within the same file
181
+ ```js
182
+ const { MockAgent, setGlobalDispatcher } = require('undici');
183
+ const agent = new MockAgent();
184
+ agent.disableNetConnect();
185
+ setGlobalDispatcher(agent);
186
+ describe('Test', () => {
187
+ it('200', async () => {
188
+ const mockAgent = agent.get('http://test.com');
189
+ // your test
190
+ });
191
+ it('200', async () => {
192
+ const mockAgent = agent.get('http://testing.com');
193
+ // your test
194
+ });
195
+ });
196
+ ```
197
+
198
+ #### Example - Mocked request with query body, headers and trailers
201
199
 
202
- ```mjs displayName="Matching the origin with a function"
200
+ ```js
203
201
  import { MockAgent, setGlobalDispatcher, request } from 'undici'
204
202
 
205
203
  const mockAgent = new MockAgent()
206
204
  setGlobalDispatcher(mockAgent)
207
205
 
208
- const mockPool = mockAgent.get((origin) => origin === 'http://localhost:3000')
209
- mockPool.intercept({ path: '/foo' }).reply(200, 'foo')
206
+ const mockPool = mockAgent.get('http://localhost:3000')
210
207
 
211
- const { statusCode } = await request('http://localhost:3000/foo')
208
+ mockPool.intercept({
209
+ path: '/foo?hello=there&see=ya',
210
+ method: 'POST',
211
+ body: 'form1=data1&form2=data2'
212
+ }).reply(200, { foo: 'bar' }, {
213
+ headers: { 'content-type': 'application/json' },
214
+ trailers: { 'Content-MD5': 'test' }
215
+ })
216
+
217
+ const {
218
+ statusCode,
219
+ headers,
220
+ trailers,
221
+ body
222
+ } = await request('http://localhost:3000/foo?hello=there&see=ya', {
223
+ method: 'POST',
224
+ body: 'form1=data1&form2=data2'
225
+ })
212
226
 
213
227
  console.log('response received', statusCode) // response received 200
228
+ console.log('headers', headers) // { 'content-type': 'application/json' }
229
+
230
+ for await (const data of body) {
231
+ console.log('data', data.toString('utf8')) // '{"foo":"bar"}'
232
+ }
233
+
234
+ console.log('trailers', trailers) // { 'content-md5': 'test' }
214
235
  ```
215
236
 
216
- ### `mockAgent.dispatch(options, handler)`
237
+ #### Example - Mocked request with origin regex
217
238
 
218
- <!-- YAML
219
- added: v4.0.0
220
- -->
239
+ ```js
240
+ import { MockAgent, setGlobalDispatcher, request } from 'undici'
221
241
 
222
- * `options` {AgentDispatchOptions}
223
- * `handler` {DispatchHandler}
224
- * Returns: {boolean}
242
+ const mockAgent = new MockAgent()
243
+ setGlobalDispatcher(mockAgent)
225
244
 
226
- Dispatches a mocked request. This implements
227
- [`Dispatcher.dispatch()`][] for the encapsulated agent: it ensures the mock
228
- dispatcher for `options.origin` exists, records the call in the call history
229
- when enabled, and forwards the request to the underlying agent. It is normally
230
- invoked indirectly through higher-level methods such as
231
- [`mockAgent.request()`][].
245
+ const mockPool = mockAgent.get(new RegExp('http://localhost:3000'))
246
+ mockPool.intercept({ path: '/foo' }).reply(200, 'foo')
232
247
 
233
- ```mjs displayName="Using mockAgent.request()"
234
- import { MockAgent } from 'undici'
248
+ const {
249
+ statusCode,
250
+ body
251
+ } = await request('http://localhost:3000/foo')
252
+
253
+ console.log('response received', statusCode) // response received 200
254
+
255
+ for await (const data of body) {
256
+ console.log('data', data.toString('utf8')) // data foo
257
+ }
258
+ ```
259
+
260
+ #### Example - Mocked request with origin function
261
+
262
+ ```js
263
+ import { MockAgent, setGlobalDispatcher, request } from 'undici'
235
264
 
236
265
  const mockAgent = new MockAgent()
266
+ setGlobalDispatcher(mockAgent)
237
267
 
238
- const mockPool = mockAgent.get('http://localhost:3000')
268
+ const mockPool = mockAgent.get((origin) => origin === 'http://localhost:3000')
239
269
  mockPool.intercept({ path: '/foo' }).reply(200, 'foo')
240
270
 
241
- const { statusCode, body } = await mockAgent.request({
242
- origin: 'http://localhost:3000',
243
- path: '/foo',
244
- method: 'GET'
245
- })
271
+ const {
272
+ statusCode,
273
+ body
274
+ } = await request('http://localhost:3000/foo')
246
275
 
247
276
  console.log('response received', statusCode) // response received 200
248
277
 
@@ -251,19 +280,15 @@ for await (const data of body) {
251
280
  }
252
281
  ```
253
282
 
254
- ### `mockAgent.close()`
283
+ ### `MockAgent.close()`
255
284
 
256
- <!-- YAML
257
- added: v4.0.0
258
- -->
285
+ Closes the mock agent and waits for registered mock pools and clients to also close before resolving.
259
286
 
260
- * Returns: {Promise<void>} Resolves once the agent and its registered mock pools
261
- and clients have closed.
287
+ Returns: `Promise<void>`
262
288
 
263
- Clears the call history, closes the encapsulated agent, and waits for all
264
- registered mock pools and clients to close.
289
+ #### Example - clean up after tests are complete
265
290
 
266
- ```mjs displayName="Clean up after tests"
291
+ ```js
267
292
  import { MockAgent, setGlobalDispatcher } from 'undici'
268
293
 
269
294
  const mockAgent = new MockAgent()
@@ -272,18 +297,49 @@ setGlobalDispatcher(mockAgent)
272
297
  await mockAgent.close()
273
298
  ```
274
299
 
275
- ### `mockAgent.deactivate()`
300
+ ### `MockAgent.dispatch(options, handlers)`
301
+
302
+ Implements [`Agent.dispatch(options, handlers)`](Agent.md#parameter-agentdispatchoptions).
303
+
304
+ ### `MockAgent.request(options[, callback])`
305
+
306
+ See [`Dispatcher.request(options [, callback])`](Dispatcher.md#dispatcherrequestoptions-callback).
307
+
308
+ #### Example - MockAgent request
276
309
 
277
- <!-- YAML
278
- added: v4.0.0
279
- -->
310
+ ```js
311
+ import { MockAgent } from 'undici'
280
312
 
281
- * Returns: {undefined}
313
+ const mockAgent = new MockAgent()
282
314
 
283
- Disables mocking on the `MockAgent`. While deactivated, requests are no longer
284
- intercepted.
315
+ const mockPool = mockAgent.get('http://localhost:3000')
316
+ mockPool.intercept({ path: '/foo' }).reply(200, 'foo')
285
317
 
286
- ```mjs displayName="Deactivate mocking"
318
+ const {
319
+ statusCode,
320
+ body
321
+ } = await mockAgent.request({
322
+ origin: 'http://localhost:3000',
323
+ path: '/foo',
324
+ method: 'GET'
325
+ })
326
+
327
+ console.log('response received', statusCode) // response received 200
328
+
329
+ for await (const data of body) {
330
+ console.log('data', data.toString('utf8')) // data foo
331
+ }
332
+ ```
333
+
334
+ ### `MockAgent.deactivate()`
335
+
336
+ This method disables mocking in MockAgent.
337
+
338
+ Returns: `void`
339
+
340
+ #### Example - Deactivate Mocking
341
+
342
+ ```js
287
343
  import { MockAgent, setGlobalDispatcher } from 'undici'
288
344
 
289
345
  const mockAgent = new MockAgent()
@@ -292,19 +348,15 @@ setGlobalDispatcher(mockAgent)
292
348
  mockAgent.deactivate()
293
349
  ```
294
350
 
295
- ### `mockAgent.activate()`
351
+ ### `MockAgent.activate()`
296
352
 
297
- <!-- YAML
298
- added: v4.0.0
299
- -->
353
+ This method enables mocking in a MockAgent instance. When instantiated, a MockAgent is automatically activated. Therefore, this method is only effective after `MockAgent.deactivate` has been called.
300
354
 
301
- * Returns: {undefined}
355
+ Returns: `void`
302
356
 
303
- Enables mocking on the `MockAgent`. A `MockAgent` is activated automatically
304
- when instantiated, so this method is only required after
305
- [`mockAgent.deactivate()`][] has been called.
357
+ #### Example - Activate Mocking
306
358
 
307
- ```mjs displayName="Re-activate mocking"
359
+ ```js
308
360
  import { MockAgent, setGlobalDispatcher } from 'undici'
309
361
 
310
362
  const mockAgent = new MockAgent()
@@ -317,23 +369,21 @@ mockAgent.deactivate()
317
369
  mockAgent.activate()
318
370
  ```
319
371
 
320
- ### `mockAgent.enableNetConnect([matcher])`
372
+ ### `MockAgent.enableNetConnect([host])`
373
+
374
+ When requests are not matched in a MockAgent intercept, a real HTTP request is attempted. We can control this further through the use of `enableNetConnect`. This is achieved by defining host matchers so only matching requests will be attempted.
321
375
 
322
- <!-- YAML
323
- added: v4.0.0
324
- -->
376
+ When using a string, it should only include the **hostname and optionally, the port**. In addition, calling this method multiple times with a string will allow all HTTP requests that match these values.
325
377
 
326
- * `matcher` {string|RegExp|Function} (optional) A host matcher. When a string is
327
- used it should only contain the hostname and, optionally, the port. The
328
- function form has the signature `(host) => boolean`. When omitted, all
329
- non-matching requests are allowed to perform a real request.
330
- * Returns: {undefined}
378
+ Arguments:
331
379
 
332
- Defines host matchers so that requests that are not intercepted by a mock
333
- dispatcher are allowed to perform a real HTTP request. Calling this method
334
- multiple times with a string appends each value to the list of allowed hosts.
380
+ * **host** `string | RegExp | (value) => boolean` - (optional)
335
381
 
336
- ```mjs displayName="Allow all non-matching requests"
382
+ Returns: `void`
383
+
384
+ #### Example - Allow all non-matching urls to be dispatched in a real HTTP request
385
+
386
+ ```js
337
387
  import { MockAgent, setGlobalDispatcher, request } from 'undici'
338
388
 
339
389
  const mockAgent = new MockAgent()
@@ -345,7 +395,9 @@ await request('http://example.com')
345
395
  // A real request is made
346
396
  ```
347
397
 
348
- ```mjs displayName="Allow requests matching specific hosts"
398
+ #### Example - Allow requests matching a host string to make real requests
399
+
400
+ ```js
349
401
  import { MockAgent, setGlobalDispatcher, request } from 'undici'
350
402
 
351
403
  const mockAgent = new MockAgent()
@@ -364,167 +416,75 @@ await request('http://example-3.com')
364
416
  // Will throw
365
417
  ```
366
418
 
367
- ```mjs displayName="Allow requests matching a regular expression or function"
419
+ #### Example - Allow requests matching a host regex to make real requests
420
+
421
+ ```js
368
422
  import { MockAgent, setGlobalDispatcher, request } from 'undici'
369
423
 
370
424
  const mockAgent = new MockAgent()
371
425
  setGlobalDispatcher(mockAgent)
372
426
 
373
427
  mockAgent.enableNetConnect(new RegExp('example.com'))
374
- mockAgent.enableNetConnect((host) => host === 'example.org')
375
428
 
376
429
  await request('http://example.com')
377
430
  // A real request is made
378
431
  ```
379
432
 
380
- ### `mockAgent.disableNetConnect()`
381
-
382
- <!-- YAML
383
- added: v4.0.0
384
- -->
433
+ #### Example - Allow requests matching a host function to make real requests
385
434
 
386
- * Returns: {undefined}
387
-
388
- Causes every request that is not matched by a mock interceptor to throw,
389
- disallowing real HTTP requests.
390
-
391
- ```mjs displayName="Throw on every non-matching request"
392
- import { MockAgent, request } from 'undici'
435
+ ```js
436
+ import { MockAgent, setGlobalDispatcher, request } from 'undici'
393
437
 
394
438
  const mockAgent = new MockAgent()
439
+ setGlobalDispatcher(mockAgent)
395
440
 
396
- mockAgent.disableNetConnect()
441
+ mockAgent.enableNetConnect((value) => value === 'example.com')
397
442
 
398
443
  await request('http://example.com')
399
- // Will throw
444
+ // A real request is made
400
445
  ```
401
446
 
402
- ### `mockAgent.enableCallHistory()`
447
+ ### `MockAgent.disableNetConnect()`
403
448
 
404
- <!-- YAML
405
- added: v7.5.0
406
- -->
449
+ This method causes all requests to throw when requests are not matched in a MockAgent intercept.
407
450
 
408
- * Returns: {MockAgent} The same `MockAgent` instance, for chaining.
451
+ Returns: `void`
409
452
 
410
- Enables call history recording. Once enabled, subsequent calls are registered
411
- and can be retrieved through [`mockAgent.getCallHistory()`][]. Call history can
412
- also be enabled at construction time with the `enableCallHistory` option.
453
+ #### Example - Disable all non-matching requests by throwing an error for each
413
454
 
414
- ```mjs
415
- import { MockAgent } from 'undici'
455
+ ```js
456
+ import { MockAgent, request } from 'undici'
416
457
 
417
458
  const mockAgent = new MockAgent()
418
459
 
419
- mockAgent.enableCallHistory()
420
- ```
421
-
422
- ### `mockAgent.disableCallHistory()`
423
-
424
- <!-- YAML
425
- added: v7.5.0
426
- -->
427
-
428
- * Returns: {MockAgent} The same `MockAgent` instance, for chaining.
429
-
430
- Disables call history recording. Subsequent calls are no longer registered.
431
-
432
- ```mjs
433
- import { MockAgent } from 'undici'
434
-
435
- const mockAgent = new MockAgent({ enableCallHistory: true })
436
-
437
- mockAgent.disableCallHistory()
438
- ```
439
-
440
- ### `mockAgent.getCallHistory()`
441
-
442
- <!-- YAML
443
- added: v7.5.0
444
- -->
445
-
446
- * Returns: {MockCallHistory|undefined} The {MockCallHistory} instance, or
447
- `undefined` when call history is not enabled.
448
-
449
- Returns the call history instance, which records every request made through the
450
- `MockAgent` (whether intercepted or not). Call history is not enabled by
451
- default; enable it with the `enableCallHistory` option or
452
- [`mockAgent.enableCallHistory()`][].
453
-
454
- ```mjs displayName="Inspect recorded calls"
455
- import { MockAgent, setGlobalDispatcher, request } from 'undici'
456
-
457
- const mockAgent = new MockAgent({ enableCallHistory: true })
458
- setGlobalDispatcher(mockAgent)
459
-
460
- await request('http://example.com', { query: { item: 1 } })
461
-
462
- mockAgent.getCallHistory()?.firstCall()
463
- // Returns
464
- // MockCallHistoryLog {
465
- // body: undefined,
466
- // headers: undefined,
467
- // method: 'GET',
468
- // origin: 'http://example.com',
469
- // fullUrl: 'http://example.com/?item=1',
470
- // path: '/',
471
- // searchParams: { item: '1' },
472
- // protocol: 'http:',
473
- // host: 'example.com',
474
- // port: ''
475
- // }
476
- ```
477
-
478
- ### `mockAgent.clearCallHistory()`
479
-
480
- <!-- YAML
481
- added: v7.5.0
482
- -->
483
-
484
- * Returns: {undefined}
485
-
486
- Clears the call history, deleting every recorded {MockCallHistoryLog} on the
487
- {MockCallHistory} instance. It is a no-op when call history has never been
488
- enabled.
489
-
490
- ```mjs
491
- import { MockAgent } from 'undici'
492
-
493
- const mockAgent = new MockAgent({ enableCallHistory: true })
460
+ mockAgent.disableNetConnect()
494
461
 
495
- mockAgent.clearCallHistory()
462
+ await request('http://example.com')
463
+ // Will throw
496
464
  ```
497
465
 
498
- ### `mockAgent.pendingInterceptors()`
466
+ ### `MockAgent.pendingInterceptors()`
499
467
 
500
- <!-- YAML
501
- added: v5.1.0
502
- -->
468
+ This method returns any pending interceptors registered on a mock agent. A pending interceptor meets one of the following criteria:
503
469
 
504
- * Returns: {PendingInterceptor[]} A `PendingInterceptor` is a `MockDispatch`
505
- with an additional `origin` {string} property.
470
+ - Is registered with neither `.times(<number>)` nor `.persist()`, and has not been invoked;
471
+ - Is persistent (i.e., registered with `.persist()`) and has not been invoked;
472
+ - Is registered with `.times(<number>)` and has not been invoked `<number>` of times.
506
473
 
507
- Returns the interceptors registered on the `MockAgent` that are still pending.
508
- An interceptor is pending when it meets one of the following criteria:
474
+ Returns: `PendingInterceptor[]` (where `PendingInterceptor` is a `MockDispatch` with an additional `origin: string`)
509
475
 
510
- * It is registered with neither `.times(<number>)` nor `.persist()` and has not
511
- been invoked.
512
- * It is persistent (registered with `.persist()`) and has not been invoked.
513
- * It is registered with `.times(<number>)` and has not been invoked `<number>`
514
- times.
476
+ #### Example - List all pending inteceptors
515
477
 
516
- ```mjs displayName="List pending interceptors"
517
- import { MockAgent } from 'undici'
478
+ ```js
479
+ const agent = new MockAgent()
480
+ agent.disableNetConnect()
518
481
 
519
- const mockAgent = new MockAgent()
520
- mockAgent.disableNetConnect()
521
-
522
- mockAgent
482
+ agent
523
483
  .get('https://example.com')
524
484
  .intercept({ method: 'GET', path: '/' })
525
485
  .reply(200)
526
486
 
527
- const pendingInterceptors = mockAgent.pendingInterceptors()
487
+ const pendingInterceptors = agent.pendingInterceptors()
528
488
  // Returns [
529
489
  // {
530
490
  // timesInvoked: 0,
@@ -548,35 +508,26 @@ const pendingInterceptors = mockAgent.pendingInterceptors()
548
508
  // ]
549
509
  ```
550
510
 
551
- ### `mockAgent.assertNoPendingInterceptors([options])`
511
+ ### `MockAgent.assertNoPendingInterceptors([options])`
552
512
 
553
- <!-- YAML
554
- added: v5.1.0
555
- -->
513
+ This method throws if the mock agent has any pending interceptors. A pending interceptor meets one of the following criteria:
556
514
 
557
- * `options` {Object} (optional)
558
- * `pendingInterceptorsFormatter` {Object} An object exposing a
559
- `format(pendingInterceptors)` method used to render the pending interceptors
560
- in the thrown error message. **Default:** a built-in formatter that prints a
561
- table.
562
- * Returns: {undefined}
515
+ - Is registered with neither `.times(<number>)` nor `.persist()`, and has not been invoked;
516
+ - Is persistent (i.e., registered with `.persist()`) and has not been invoked;
517
+ - Is registered with `.times(<number>)` and has not been invoked `<number>` of times.
563
518
 
564
- Throws an {UndiciError} when the `MockAgent` has any pending interceptors. The
565
- criteria for an interceptor being pending are the same as for
566
- [`mockAgent.pendingInterceptors()`][].
519
+ #### Example - Check that there are no pending interceptors
567
520
 
568
- ```mjs displayName="Assert there are no pending interceptors"
569
- import { MockAgent } from 'undici'
570
-
571
- const mockAgent = new MockAgent()
572
- mockAgent.disableNetConnect()
521
+ ```js
522
+ const agent = new MockAgent()
523
+ agent.disableNetConnect()
573
524
 
574
- mockAgent
525
+ agent
575
526
  .get('https://example.com')
576
527
  .intercept({ method: 'GET', path: '/' })
577
528
  .reply(200)
578
529
 
579
- mockAgent.assertNoPendingInterceptors()
530
+ agent.assertNoPendingInterceptors()
580
531
  // Throws an UndiciError with the following message:
581
532
  //
582
533
  // 1 interceptor is pending:
@@ -587,36 +538,3 @@ mockAgent.assertNoPendingInterceptors()
587
538
  // │ 0 │ 'GET' │ 'https://example.com' │ '/' │ 200 │ '❌' │ 0 │ 1 │
588
539
  // └─────────┴────────┴───────────────────────┴──────┴─────────────┴────────────┴─────────────┴───────────┘
589
540
  ```
590
-
591
- ### `mockAgent.isMockActive`
592
-
593
- <!-- YAML
594
- added: v5.3.0
595
- -->
596
-
597
- * Type: {boolean} `true` while mocking is active, `false` after
598
- [`mockAgent.deactivate()`][] has been called.
599
-
600
- A read-only property indicating whether mocking is currently active on the
601
- `MockAgent`.
602
-
603
- ```mjs
604
- import { MockAgent } from 'undici'
605
-
606
- const mockAgent = new MockAgent()
607
-
608
- console.log(mockAgent.isMockActive) // true
609
-
610
- mockAgent.deactivate()
611
-
612
- console.log(mockAgent.isMockActive) // false
613
- ```
614
-
615
- [`Dispatcher.dispatch()`]: Dispatcher.md#dispatcherdispatchoptions-handler
616
- [`mockAgent.deactivate()`]: #mockagentdeactivate
617
- [`mockAgent.enableCallHistory()`]: #mockagentenablecallhistory
618
- [`mockAgent.get(origin)`]: #mockagentgetorigin
619
- [`mockAgent.getCallHistory()`]: #mockagentgetcallhistory
620
- [`mockAgent.pendingInterceptors()`]: #mockagentpendinginterceptors
621
- [`mockAgent.request()`]: Dispatcher.md#dispatcherrequestoptions-callback
622
- [`setGlobalDispatcher()`]: Dispatcher.md#setglobaldispatcherdispatcher