monitor-transfer-dsh 0.0.0-stage → 0.1.2

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 (367) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +51 -2
  3. package/cordis.patch.yml +4 -0
  4. package/lib/client.js +381 -0
  5. package/lib/index.js +267 -0
  6. package/package.json +67 -3
  7. package/skill/SKILL.md +48 -0
  8. package/skill/tools/node_modules/.package-lock.json +163 -0
  9. package/skill/tools/node_modules/pg/LICENSE +21 -0
  10. package/skill/tools/node_modules/pg/README.md +96 -0
  11. package/skill/tools/node_modules/pg/esm/index.mjs +20 -0
  12. package/skill/tools/node_modules/pg/lib/client.js +846 -0
  13. package/skill/tools/node_modules/pg/lib/connection-parameters.js +184 -0
  14. package/skill/tools/node_modules/pg/lib/connection.js +250 -0
  15. package/skill/tools/node_modules/pg/lib/crypto/cert-signatures.js +122 -0
  16. package/skill/tools/node_modules/pg/lib/crypto/sasl.js +262 -0
  17. package/skill/tools/node_modules/pg/lib/crypto/utils.js +89 -0
  18. package/skill/tools/node_modules/pg/lib/defaults.js +94 -0
  19. package/skill/tools/node_modules/pg/lib/index.js +73 -0
  20. package/skill/tools/node_modules/pg/lib/native/client.js +428 -0
  21. package/skill/tools/node_modules/pg/lib/native/index.js +2 -0
  22. package/skill/tools/node_modules/pg/lib/native/query.js +167 -0
  23. package/skill/tools/node_modules/pg/lib/query.js +263 -0
  24. package/skill/tools/node_modules/pg/lib/result.js +109 -0
  25. package/skill/tools/node_modules/pg/lib/stream.js +83 -0
  26. package/skill/tools/node_modules/pg/lib/type-overrides.js +35 -0
  27. package/skill/tools/node_modules/pg/lib/utils.js +225 -0
  28. package/skill/tools/node_modules/pg/package.json +76 -0
  29. package/skill/tools/node_modules/pg-cloudflare/LICENSE +21 -0
  30. package/skill/tools/node_modules/pg-cloudflare/README.md +112 -0
  31. package/skill/tools/node_modules/pg-cloudflare/dist/empty.d.ts +2 -0
  32. package/skill/tools/node_modules/pg-cloudflare/dist/empty.js +6 -0
  33. package/skill/tools/node_modules/pg-cloudflare/dist/empty.js.map +1 -0
  34. package/skill/tools/node_modules/pg-cloudflare/dist/index.d.ts +29 -0
  35. package/skill/tools/node_modules/pg-cloudflare/dist/index.js +171 -0
  36. package/skill/tools/node_modules/pg-cloudflare/dist/index.js.map +1 -0
  37. package/skill/tools/node_modules/pg-cloudflare/esm/index.mjs +3 -0
  38. package/skill/tools/node_modules/pg-cloudflare/package.json +39 -0
  39. package/skill/tools/node_modules/pg-cloudflare/src/empty.ts +3 -0
  40. package/skill/tools/node_modules/pg-cloudflare/src/index.ts +187 -0
  41. package/skill/tools/node_modules/pg-cloudflare/src/types.d.ts +25 -0
  42. package/skill/tools/node_modules/pg-connection-string/LICENSE +21 -0
  43. package/skill/tools/node_modules/pg-connection-string/README.md +105 -0
  44. package/skill/tools/node_modules/pg-connection-string/esm/index.mjs +8 -0
  45. package/skill/tools/node_modules/pg-connection-string/index.d.ts +37 -0
  46. package/skill/tools/node_modules/pg-connection-string/index.js +237 -0
  47. package/skill/tools/node_modules/pg-connection-string/package.json +51 -0
  48. package/skill/tools/node_modules/pg-int8/LICENSE +13 -0
  49. package/skill/tools/node_modules/pg-int8/README.md +16 -0
  50. package/skill/tools/node_modules/pg-int8/index.js +100 -0
  51. package/skill/tools/node_modules/pg-int8/package.json +24 -0
  52. package/skill/tools/node_modules/pg-pool/LICENSE +21 -0
  53. package/skill/tools/node_modules/pg-pool/README.md +357 -0
  54. package/skill/tools/node_modules/pg-pool/esm/index.mjs +5 -0
  55. package/skill/tools/node_modules/pg-pool/index.js +517 -0
  56. package/skill/tools/node_modules/pg-pool/package.json +51 -0
  57. package/skill/tools/node_modules/pg-protocol/LICENSE +21 -0
  58. package/skill/tools/node_modules/pg-protocol/README.md +3 -0
  59. package/skill/tools/node_modules/pg-protocol/dist/b.d.ts +1 -0
  60. package/skill/tools/node_modules/pg-protocol/dist/b.js +23 -0
  61. package/skill/tools/node_modules/pg-protocol/dist/b.js.map +1 -0
  62. package/skill/tools/node_modules/pg-protocol/dist/buffer-reader.d.ts +14 -0
  63. package/skill/tools/node_modules/pg-protocol/dist/buffer-reader.js +55 -0
  64. package/skill/tools/node_modules/pg-protocol/dist/buffer-reader.js.map +1 -0
  65. package/skill/tools/node_modules/pg-protocol/dist/buffer-writer.d.ts +21 -0
  66. package/skill/tools/node_modules/pg-protocol/dist/buffer-writer.js +113 -0
  67. package/skill/tools/node_modules/pg-protocol/dist/buffer-writer.js.map +1 -0
  68. package/skill/tools/node_modules/pg-protocol/dist/inbound-parser.test.d.ts +1 -0
  69. package/skill/tools/node_modules/pg-protocol/dist/inbound-parser.test.js +538 -0
  70. package/skill/tools/node_modules/pg-protocol/dist/inbound-parser.test.js.map +1 -0
  71. package/skill/tools/node_modules/pg-protocol/dist/index.d.ts +5 -0
  72. package/skill/tools/node_modules/pg-protocol/dist/index.js +15 -0
  73. package/skill/tools/node_modules/pg-protocol/dist/index.js.map +1 -0
  74. package/skill/tools/node_modules/pg-protocol/dist/messages.d.ts +161 -0
  75. package/skill/tools/node_modules/pg-protocol/dist/messages.js +160 -0
  76. package/skill/tools/node_modules/pg-protocol/dist/messages.js.map +1 -0
  77. package/skill/tools/node_modules/pg-protocol/dist/outbound-serializer.test.d.ts +1 -0
  78. package/skill/tools/node_modules/pg-protocol/dist/outbound-serializer.test.js +325 -0
  79. package/skill/tools/node_modules/pg-protocol/dist/outbound-serializer.test.js.map +1 -0
  80. package/skill/tools/node_modules/pg-protocol/dist/parser.d.ts +22 -0
  81. package/skill/tools/node_modules/pg-protocol/dist/parser.js +325 -0
  82. package/skill/tools/node_modules/pg-protocol/dist/parser.js.map +1 -0
  83. package/skill/tools/node_modules/pg-protocol/dist/serializer.d.ts +42 -0
  84. package/skill/tools/node_modules/pg-protocol/dist/serializer.js +198 -0
  85. package/skill/tools/node_modules/pg-protocol/dist/serializer.js.map +1 -0
  86. package/skill/tools/node_modules/pg-protocol/esm/index.js +11 -0
  87. package/skill/tools/node_modules/pg-protocol/package.json +44 -0
  88. package/skill/tools/node_modules/pg-protocol/src/b.ts +25 -0
  89. package/skill/tools/node_modules/pg-protocol/src/buffer-reader.ts +58 -0
  90. package/skill/tools/node_modules/pg-protocol/src/buffer-writer.ts +120 -0
  91. package/skill/tools/node_modules/pg-protocol/src/inbound-parser.test.ts +585 -0
  92. package/skill/tools/node_modules/pg-protocol/src/index.ts +11 -0
  93. package/skill/tools/node_modules/pg-protocol/src/messages.ts +262 -0
  94. package/skill/tools/node_modules/pg-protocol/src/outbound-serializer.test.ts +356 -0
  95. package/skill/tools/node_modules/pg-protocol/src/parser.ts +414 -0
  96. package/skill/tools/node_modules/pg-protocol/src/serializer.ts +286 -0
  97. package/skill/tools/node_modules/pg-protocol/src/testing/buffer-list.ts +67 -0
  98. package/skill/tools/node_modules/pg-protocol/src/testing/test-buffers.ts +166 -0
  99. package/skill/tools/node_modules/pg-types/.travis.yml +7 -0
  100. package/skill/tools/node_modules/pg-types/Makefile +14 -0
  101. package/skill/tools/node_modules/pg-types/README.md +75 -0
  102. package/skill/tools/node_modules/pg-types/index.d.ts +137 -0
  103. package/skill/tools/node_modules/pg-types/index.js +47 -0
  104. package/skill/tools/node_modules/pg-types/index.test-d.ts +21 -0
  105. package/skill/tools/node_modules/pg-types/lib/arrayParser.js +11 -0
  106. package/skill/tools/node_modules/pg-types/lib/binaryParsers.js +257 -0
  107. package/skill/tools/node_modules/pg-types/lib/builtins.js +73 -0
  108. package/skill/tools/node_modules/pg-types/lib/textParsers.js +215 -0
  109. package/skill/tools/node_modules/pg-types/package.json +42 -0
  110. package/skill/tools/node_modules/pg-types/test/index.js +24 -0
  111. package/skill/tools/node_modules/pg-types/test/types.js +597 -0
  112. package/skill/tools/node_modules/pgpass/README.md +74 -0
  113. package/skill/tools/node_modules/pgpass/lib/helper.js +233 -0
  114. package/skill/tools/node_modules/pgpass/lib/index.js +23 -0
  115. package/skill/tools/node_modules/pgpass/package.json +41 -0
  116. package/skill/tools/node_modules/postgres-array/index.d.ts +4 -0
  117. package/skill/tools/node_modules/postgres-array/index.js +97 -0
  118. package/skill/tools/node_modules/postgres-array/license +21 -0
  119. package/skill/tools/node_modules/postgres-array/package.json +35 -0
  120. package/skill/tools/node_modules/postgres-array/readme.md +43 -0
  121. package/skill/tools/node_modules/postgres-bytea/index.js +33 -0
  122. package/skill/tools/node_modules/postgres-bytea/license +21 -0
  123. package/skill/tools/node_modules/postgres-bytea/package.json +34 -0
  124. package/skill/tools/node_modules/postgres-bytea/readme.md +34 -0
  125. package/skill/tools/node_modules/postgres-date/index.js +116 -0
  126. package/skill/tools/node_modules/postgres-date/license +21 -0
  127. package/skill/tools/node_modules/postgres-date/package.json +33 -0
  128. package/skill/tools/node_modules/postgres-date/readme.md +49 -0
  129. package/skill/tools/node_modules/postgres-interval/index.d.ts +20 -0
  130. package/skill/tools/node_modules/postgres-interval/index.js +125 -0
  131. package/skill/tools/node_modules/postgres-interval/license +21 -0
  132. package/skill/tools/node_modules/postgres-interval/package.json +36 -0
  133. package/skill/tools/node_modules/postgres-interval/readme.md +48 -0
  134. package/skill/tools/node_modules/split2/LICENSE +13 -0
  135. package/skill/tools/node_modules/split2/README.md +85 -0
  136. package/skill/tools/node_modules/split2/bench.js +27 -0
  137. package/skill/tools/node_modules/split2/index.js +141 -0
  138. package/skill/tools/node_modules/split2/package.json +39 -0
  139. package/skill/tools/node_modules/split2/test.js +409 -0
  140. package/skill/tools/node_modules/undici/LICENSE +21 -0
  141. package/skill/tools/node_modules/undici/README.md +828 -0
  142. package/skill/tools/node_modules/undici/docs/docs/api/Agent.md +291 -0
  143. package/skill/tools/node_modules/undici/docs/docs/api/BalancedPool.md +297 -0
  144. package/skill/tools/node_modules/undici/docs/docs/api/CacheStorage.md +188 -0
  145. package/skill/tools/node_modules/undici/docs/docs/api/CacheStore.md +375 -0
  146. package/skill/tools/node_modules/undici/docs/docs/api/Client.md +538 -0
  147. package/skill/tools/node_modules/undici/docs/docs/api/ClientStats.md +93 -0
  148. package/skill/tools/node_modules/undici/docs/docs/api/Connector.md +198 -0
  149. package/skill/tools/node_modules/undici/docs/docs/api/ContentType.md +97 -0
  150. package/skill/tools/node_modules/undici/docs/docs/api/Cookies.md +179 -0
  151. package/skill/tools/node_modules/undici/docs/docs/api/Debug.md +78 -0
  152. package/skill/tools/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +518 -0
  153. package/skill/tools/node_modules/undici/docs/docs/api/Dispatcher.md +842 -0
  154. package/skill/tools/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +171 -0
  155. package/skill/tools/node_modules/undici/docs/docs/api/Errors.md +624 -0
  156. package/skill/tools/node_modules/undici/docs/docs/api/EventSource.md +358 -0
  157. package/skill/tools/node_modules/undici/docs/docs/api/Fetch.md +721 -0
  158. package/skill/tools/node_modules/undici/docs/docs/api/GlobalInstallation.md +121 -0
  159. package/skill/tools/node_modules/undici/docs/docs/api/H2CClient.md +386 -0
  160. package/skill/tools/node_modules/undici/docs/docs/api/Interceptors.md +439 -0
  161. package/skill/tools/node_modules/undici/docs/docs/api/MockAgent.md +622 -0
  162. package/skill/tools/node_modules/undici/docs/docs/api/MockCallHistory.md +371 -0
  163. package/skill/tools/node_modules/undici/docs/docs/api/MockCallHistoryLog.md +206 -0
  164. package/skill/tools/node_modules/undici/docs/docs/api/MockClient.md +199 -0
  165. package/skill/tools/node_modules/undici/docs/docs/api/MockErrors.md +63 -0
  166. package/skill/tools/node_modules/undici/docs/docs/api/MockPool.md +618 -0
  167. package/skill/tools/node_modules/undici/docs/docs/api/Pool.md +278 -0
  168. package/skill/tools/node_modules/undici/docs/docs/api/PoolStats.md +141 -0
  169. package/skill/tools/node_modules/undici/docs/docs/api/ProxyAgent.md +248 -0
  170. package/skill/tools/node_modules/undici/docs/docs/api/RedirectHandler.md +279 -0
  171. package/skill/tools/node_modules/undici/docs/docs/api/RetryAgent.md +136 -0
  172. package/skill/tools/node_modules/undici/docs/docs/api/RetryHandler.md +200 -0
  173. package/skill/tools/node_modules/undici/docs/docs/api/RoundRobinPool.md +239 -0
  174. package/skill/tools/node_modules/undici/docs/docs/api/SnapshotAgent.md +361 -0
  175. package/skill/tools/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +256 -0
  176. package/skill/tools/node_modules/undici/docs/docs/api/Util.md +82 -0
  177. package/skill/tools/node_modules/undici/docs/docs/api/WebSocket.md +536 -0
  178. package/skill/tools/node_modules/undici/docs/docs/api/api-lifecycle.md +159 -0
  179. package/skill/tools/node_modules/undici/docs/docs/best-practices/client-certificate.md +66 -0
  180. package/skill/tools/node_modules/undici/docs/docs/best-practices/crawling.md +60 -0
  181. package/skill/tools/node_modules/undici/docs/docs/best-practices/migrating-from-v7-to-v8.md +233 -0
  182. package/skill/tools/node_modules/undici/docs/docs/best-practices/mocking-request.md +192 -0
  183. package/skill/tools/node_modules/undici/docs/docs/best-practices/proxy.md +129 -0
  184. package/skill/tools/node_modules/undici/docs/docs/best-practices/undici-vs-builtin-fetch.md +226 -0
  185. package/skill/tools/node_modules/undici/docs/docs/best-practices/writing-tests.md +65 -0
  186. package/skill/tools/node_modules/undici/docs/docs/getting-started.md +281 -0
  187. package/skill/tools/node_modules/undici/docs/docs/index.md +793 -0
  188. package/skill/tools/node_modules/undici/docs/docs/site.json +125 -0
  189. package/skill/tools/node_modules/undici/docs/docs/type-map.json +79 -0
  190. package/skill/tools/node_modules/undici/index-fetch.js +65 -0
  191. package/skill/tools/node_modules/undici/index.d.ts +3 -0
  192. package/skill/tools/node_modules/undici/index.js +236 -0
  193. package/skill/tools/node_modules/undici/lib/api/abort-signal.js +59 -0
  194. package/skill/tools/node_modules/undici/lib/api/api-connect.js +112 -0
  195. package/skill/tools/node_modules/undici/lib/api/api-pipeline.js +265 -0
  196. package/skill/tools/node_modules/undici/lib/api/api-request.js +244 -0
  197. package/skill/tools/node_modules/undici/lib/api/api-stream.js +270 -0
  198. package/skill/tools/node_modules/undici/lib/api/api-upgrade.js +121 -0
  199. package/skill/tools/node_modules/undici/lib/api/index.js +7 -0
  200. package/skill/tools/node_modules/undici/lib/api/readable.js +615 -0
  201. package/skill/tools/node_modules/undici/lib/cache/memory-cache-store.js +314 -0
  202. package/skill/tools/node_modules/undici/lib/cache/sqlite-cache-store.js +593 -0
  203. package/skill/tools/node_modules/undici/lib/core/connect.js +198 -0
  204. package/skill/tools/node_modules/undici/lib/core/constants.js +131 -0
  205. package/skill/tools/node_modules/undici/lib/core/diagnostics.js +227 -0
  206. package/skill/tools/node_modules/undici/lib/core/errors.js +534 -0
  207. package/skill/tools/node_modules/undici/lib/core/request.js +582 -0
  208. package/skill/tools/node_modules/undici/lib/core/socks5-client.js +422 -0
  209. package/skill/tools/node_modules/undici/lib/core/socks5-utils.js +212 -0
  210. package/skill/tools/node_modules/undici/lib/core/symbols.js +81 -0
  211. package/skill/tools/node_modules/undici/lib/core/tree.js +160 -0
  212. package/skill/tools/node_modules/undici/lib/core/util.js +1035 -0
  213. package/skill/tools/node_modules/undici/lib/dispatcher/agent.js +181 -0
  214. package/skill/tools/node_modules/undici/lib/dispatcher/balanced-pool.js +217 -0
  215. package/skill/tools/node_modules/undici/lib/dispatcher/client-h1.js +1846 -0
  216. package/skill/tools/node_modules/undici/lib/dispatcher/client-h2.js +1989 -0
  217. package/skill/tools/node_modules/undici/lib/dispatcher/client.js +749 -0
  218. package/skill/tools/node_modules/undici/lib/dispatcher/dispatcher-base.js +198 -0
  219. package/skill/tools/node_modules/undici/lib/dispatcher/dispatcher.js +58 -0
  220. package/skill/tools/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +127 -0
  221. package/skill/tools/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +190 -0
  222. package/skill/tools/node_modules/undici/lib/dispatcher/fixed-queue.js +135 -0
  223. package/skill/tools/node_modules/undici/lib/dispatcher/h2c-client.js +51 -0
  224. package/skill/tools/node_modules/undici/lib/dispatcher/parser-h1.js +1065 -0
  225. package/skill/tools/node_modules/undici/lib/dispatcher/pool-base.js +347 -0
  226. package/skill/tools/node_modules/undici/lib/dispatcher/pool.js +229 -0
  227. package/skill/tools/node_modules/undici/lib/dispatcher/proxy-agent.js +418 -0
  228. package/skill/tools/node_modules/undici/lib/dispatcher/retry-agent.js +48 -0
  229. package/skill/tools/node_modules/undici/lib/dispatcher/round-robin-pool.js +169 -0
  230. package/skill/tools/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +350 -0
  231. package/skill/tools/node_modules/undici/lib/encoding/index.js +33 -0
  232. package/skill/tools/node_modules/undici/lib/global.js +82 -0
  233. package/skill/tools/node_modules/undici/lib/handler/cache-handler.js +1222 -0
  234. package/skill/tools/node_modules/undici/lib/handler/cache-revalidation-handler.js +134 -0
  235. package/skill/tools/node_modules/undici/lib/handler/decorator-handler.js +76 -0
  236. package/skill/tools/node_modules/undici/lib/handler/deduplication-handler.js +540 -0
  237. package/skill/tools/node_modules/undici/lib/handler/redirect-handler.js +284 -0
  238. package/skill/tools/node_modules/undici/lib/handler/retry-handler.js +686 -0
  239. package/skill/tools/node_modules/undici/lib/interceptor/cache.js +771 -0
  240. package/skill/tools/node_modules/undici/lib/interceptor/decompress.js +574 -0
  241. package/skill/tools/node_modules/undici/lib/interceptor/deduplicate.js +118 -0
  242. package/skill/tools/node_modules/undici/lib/interceptor/dns.js +593 -0
  243. package/skill/tools/node_modules/undici/lib/interceptor/dump.js +99 -0
  244. package/skill/tools/node_modules/undici/lib/interceptor/redirect.js +21 -0
  245. package/skill/tools/node_modules/undici/lib/interceptor/response-error.js +139 -0
  246. package/skill/tools/node_modules/undici/lib/interceptor/retry.js +19 -0
  247. package/skill/tools/node_modules/undici/lib/llhttp/constants.d.ts +195 -0
  248. package/skill/tools/node_modules/undici/lib/llhttp/constants.js +531 -0
  249. package/skill/tools/node_modules/undici/lib/llhttp/llhttp-wasm.js +15 -0
  250. package/skill/tools/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +15 -0
  251. package/skill/tools/node_modules/undici/lib/llhttp/utils.d.ts +2 -0
  252. package/skill/tools/node_modules/undici/lib/llhttp/utils.js +12 -0
  253. package/skill/tools/node_modules/undici/lib/milo/LICENSE.md +7 -0
  254. package/skill/tools/node_modules/undici/lib/milo/no-simd.js +1002 -0
  255. package/skill/tools/node_modules/undici/lib/milo/simd.js +1002 -0
  256. package/skill/tools/node_modules/undici/lib/mock/mock-agent.js +255 -0
  257. package/skill/tools/node_modules/undici/lib/mock/mock-call-history.js +248 -0
  258. package/skill/tools/node_modules/undici/lib/mock/mock-client.js +68 -0
  259. package/skill/tools/node_modules/undici/lib/mock/mock-errors.js +29 -0
  260. package/skill/tools/node_modules/undici/lib/mock/mock-interceptor.js +227 -0
  261. package/skill/tools/node_modules/undici/lib/mock/mock-pool.js +68 -0
  262. package/skill/tools/node_modules/undici/lib/mock/mock-symbols.js +32 -0
  263. package/skill/tools/node_modules/undici/lib/mock/mock-utils.js +730 -0
  264. package/skill/tools/node_modules/undici/lib/mock/pending-interceptors-formatter.js +43 -0
  265. package/skill/tools/node_modules/undici/lib/mock/snapshot-agent.js +371 -0
  266. package/skill/tools/node_modules/undici/lib/mock/snapshot-recorder.js +624 -0
  267. package/skill/tools/node_modules/undici/lib/mock/snapshot-utils.js +159 -0
  268. package/skill/tools/node_modules/undici/lib/util/cache.js +764 -0
  269. package/skill/tools/node_modules/undici/lib/util/date.js +670 -0
  270. package/skill/tools/node_modules/undici/lib/util/runtime-features.js +93 -0
  271. package/skill/tools/node_modules/undici/lib/util/stats.js +32 -0
  272. package/skill/tools/node_modules/undici/lib/util/timers.js +425 -0
  273. package/skill/tools/node_modules/undici/lib/web/cache/cache.js +871 -0
  274. package/skill/tools/node_modules/undici/lib/web/cache/cachestorage.js +158 -0
  275. package/skill/tools/node_modules/undici/lib/web/cache/util.js +45 -0
  276. package/skill/tools/node_modules/undici/lib/web/cookies/constants.js +12 -0
  277. package/skill/tools/node_modules/undici/lib/web/cookies/index.js +211 -0
  278. package/skill/tools/node_modules/undici/lib/web/cookies/parse.js +318 -0
  279. package/skill/tools/node_modules/undici/lib/web/cookies/util.js +371 -0
  280. package/skill/tools/node_modules/undici/lib/web/eventsource/eventsource-stream.js +575 -0
  281. package/skill/tools/node_modules/undici/lib/web/eventsource/eventsource.js +547 -0
  282. package/skill/tools/node_modules/undici/lib/web/eventsource/util.js +60 -0
  283. package/skill/tools/node_modules/undici/lib/web/fetch/LICENSE +21 -0
  284. package/skill/tools/node_modules/undici/lib/web/fetch/body.js +583 -0
  285. package/skill/tools/node_modules/undici/lib/web/fetch/constants.js +131 -0
  286. package/skill/tools/node_modules/undici/lib/web/fetch/data-url.js +596 -0
  287. package/skill/tools/node_modules/undici/lib/web/fetch/formdata-parser.js +594 -0
  288. package/skill/tools/node_modules/undici/lib/web/fetch/formdata.js +272 -0
  289. package/skill/tools/node_modules/undici/lib/web/fetch/global.js +40 -0
  290. package/skill/tools/node_modules/undici/lib/web/fetch/headers.js +722 -0
  291. package/skill/tools/node_modules/undici/lib/web/fetch/index.js +2451 -0
  292. package/skill/tools/node_modules/undici/lib/web/fetch/request.js +1117 -0
  293. package/skill/tools/node_modules/undici/lib/web/fetch/response.js +638 -0
  294. package/skill/tools/node_modules/undici/lib/web/fetch/util.js +1530 -0
  295. package/skill/tools/node_modules/undici/lib/web/infra/index.js +244 -0
  296. package/skill/tools/node_modules/undici/lib/web/subresource-integrity/Readme.md +9 -0
  297. package/skill/tools/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +307 -0
  298. package/skill/tools/node_modules/undici/lib/web/webidl/index.js +992 -0
  299. package/skill/tools/node_modules/undici/lib/web/websocket/connection.js +350 -0
  300. package/skill/tools/node_modules/undici/lib/web/websocket/constants.js +126 -0
  301. package/skill/tools/node_modules/undici/lib/web/websocket/events.js +348 -0
  302. package/skill/tools/node_modules/undici/lib/web/websocket/frame.js +127 -0
  303. package/skill/tools/node_modules/undici/lib/web/websocket/permessage-deflate.js +105 -0
  304. package/skill/tools/node_modules/undici/lib/web/websocket/receiver.js +530 -0
  305. package/skill/tools/node_modules/undici/lib/web/websocket/sender.js +109 -0
  306. package/skill/tools/node_modules/undici/lib/web/websocket/stream/websocketerror.js +107 -0
  307. package/skill/tools/node_modules/undici/lib/web/websocket/stream/websocketstream.js +511 -0
  308. package/skill/tools/node_modules/undici/lib/web/websocket/util.js +347 -0
  309. package/skill/tools/node_modules/undici/lib/web/websocket/websocket.js +783 -0
  310. package/skill/tools/node_modules/undici/package.json +154 -0
  311. package/skill/tools/node_modules/undici/scripts/strip-comments.js +10 -0
  312. package/skill/tools/node_modules/undici/types/README.md +6 -0
  313. package/skill/tools/node_modules/undici/types/agent.d.ts +30 -0
  314. package/skill/tools/node_modules/undici/types/api.d.ts +43 -0
  315. package/skill/tools/node_modules/undici/types/balanced-pool.d.ts +30 -0
  316. package/skill/tools/node_modules/undici/types/cache-interceptor.d.ts +189 -0
  317. package/skill/tools/node_modules/undici/types/cache.d.ts +36 -0
  318. package/skill/tools/node_modules/undici/types/client-stats.d.ts +15 -0
  319. package/skill/tools/node_modules/undici/types/client.d.ts +190 -0
  320. package/skill/tools/node_modules/undici/types/connector.d.ts +37 -0
  321. package/skill/tools/node_modules/undici/types/content-type.d.ts +21 -0
  322. package/skill/tools/node_modules/undici/types/cookies.d.ts +30 -0
  323. package/skill/tools/node_modules/undici/types/diagnostics-channel.d.ts +75 -0
  324. package/skill/tools/node_modules/undici/types/dispatcher.d.ts +253 -0
  325. package/skill/tools/node_modules/undici/types/dispatcher1-wrapper.d.ts +7 -0
  326. package/skill/tools/node_modules/undici/types/env-http-proxy-agent.d.ts +22 -0
  327. package/skill/tools/node_modules/undici/types/errors.d.ts +202 -0
  328. package/skill/tools/node_modules/undici/types/eventsource.d.ts +66 -0
  329. package/skill/tools/node_modules/undici/types/fetch.d.ts +235 -0
  330. package/skill/tools/node_modules/undici/types/formdata.d.ts +108 -0
  331. package/skill/tools/node_modules/undici/types/global-dispatcher.d.ts +9 -0
  332. package/skill/tools/node_modules/undici/types/global-origin.d.ts +7 -0
  333. package/skill/tools/node_modules/undici/types/h2c-client.d.ts +73 -0
  334. package/skill/tools/node_modules/undici/types/handlers.d.ts +16 -0
  335. package/skill/tools/node_modules/undici/types/header.d.ts +165 -0
  336. package/skill/tools/node_modules/undici/types/index.d.ts +93 -0
  337. package/skill/tools/node_modules/undici/types/interceptors.d.ts +87 -0
  338. package/skill/tools/node_modules/undici/types/mock-agent.d.ts +69 -0
  339. package/skill/tools/node_modules/undici/types/mock-call-history.d.ts +111 -0
  340. package/skill/tools/node_modules/undici/types/mock-client.d.ts +27 -0
  341. package/skill/tools/node_modules/undici/types/mock-errors.d.ts +12 -0
  342. package/skill/tools/node_modules/undici/types/mock-interceptor.d.ts +98 -0
  343. package/skill/tools/node_modules/undici/types/mock-pool.d.ts +27 -0
  344. package/skill/tools/node_modules/undici/types/patch.d.ts +29 -0
  345. package/skill/tools/node_modules/undici/types/pool-stats.d.ts +19 -0
  346. package/skill/tools/node_modules/undici/types/pool.d.ts +39 -0
  347. package/skill/tools/node_modules/undici/types/proxy-agent.d.ts +36 -0
  348. package/skill/tools/node_modules/undici/types/readable.d.ts +68 -0
  349. package/skill/tools/node_modules/undici/types/retry-agent.d.ts +8 -0
  350. package/skill/tools/node_modules/undici/types/retry-handler.d.ts +125 -0
  351. package/skill/tools/node_modules/undici/types/round-robin-pool.d.ts +39 -0
  352. package/skill/tools/node_modules/undici/types/snapshot-agent.d.ts +113 -0
  353. package/skill/tools/node_modules/undici/types/socks5-proxy-agent.d.ts +27 -0
  354. package/skill/tools/node_modules/undici/types/util.d.ts +18 -0
  355. package/skill/tools/node_modules/undici/types/utility.d.ts +7 -0
  356. package/skill/tools/node_modules/undici/types/webidl.d.ts +352 -0
  357. package/skill/tools/node_modules/undici/types/websocket.d.ts +188 -0
  358. package/skill/tools/node_modules/xtend/.jshintrc +30 -0
  359. package/skill/tools/node_modules/xtend/LICENSE +20 -0
  360. package/skill/tools/node_modules/xtend/README.md +32 -0
  361. package/skill/tools/node_modules/xtend/immutable.js +19 -0
  362. package/skill/tools/node_modules/xtend/mutable.js +17 -0
  363. package/skill/tools/node_modules/xtend/package.json +55 -0
  364. package/skill/tools/node_modules/xtend/test.js +103 -0
  365. package/skill/tools/package-lock.json +172 -0
  366. package/skill/tools/package.json +9 -0
  367. package/skill/tools/transfer_core.js +414 -0
@@ -0,0 +1,622 @@
1
+ # MockAgent
2
+
3
+ <!--introduced_in=v4.0.0-->
4
+ <!--type=module-->
5
+ <!-- source_link=lib/mock/mock-agent.js -->
6
+
7
+ > Stability: 2 - Stable
8
+
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.
13
+
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).
19
+
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.
26
+
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
+ -->
38
+
39
+ * Extends: {Dispatcher}
40
+
41
+ Intercepts HTTP requests made through undici and returns mocked responses.
42
+
43
+ ### `new MockAgent([options])`
44
+
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
+ -->
52
+
53
+ * `options` {MockAgentOptions} (optional)
54
+ * Returns: {MockAgent}
55
+
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"
76
+ import { MockAgent } from 'undici'
77
+
78
+ const mockAgent = new MockAgent()
79
+ ```
80
+
81
+ ```mjs displayName="Instantiation with a custom agent"
82
+ import { Agent, MockAgent } from 'undici'
83
+
84
+ const agent = new Agent()
85
+
86
+ const mockAgent = new MockAgent({ agent })
87
+ ```
88
+
89
+ ### `mockAgent.get(origin)`
90
+
91
+ <!-- YAML
92
+ added: v4.0.0
93
+ -->
94
+
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}
98
+
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.
103
+
104
+ The way `origin` is matched against incoming requests depends on its type:
105
+
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` |
111
+
112
+ ```mjs displayName="Basic mocked request"
113
+ import { MockAgent, setGlobalDispatcher, request } from 'undici'
114
+
115
+ const mockAgent = new MockAgent()
116
+ setGlobalDispatcher(mockAgent)
117
+
118
+ const mockPool = mockAgent.get('http://localhost:3000')
119
+ mockPool.intercept({ path: '/foo' }).reply(200, 'foo')
120
+
121
+ const { statusCode, body } = await request('http://localhost:3000/foo')
122
+
123
+ console.log('response received', statusCode) // response received 200
124
+
125
+ for await (const data of body) {
126
+ console.log('data', data.toString('utf8')) // data foo
127
+ }
128
+ ```
129
+
130
+ ```mjs displayName="Mocked request using a local dispatcher"
131
+ import { MockAgent, request } from 'undici'
132
+
133
+ const mockAgent = new MockAgent()
134
+
135
+ const mockPool = mockAgent.get('http://localhost:3000')
136
+ mockPool.intercept({ path: '/foo' }).reply(200, 'foo')
137
+
138
+ const { statusCode, body } = await request('http://localhost:3000/foo', {
139
+ dispatcher: mockAgent
140
+ })
141
+
142
+ console.log('response received', statusCode) // response received 200
143
+
144
+ for await (const data of body) {
145
+ console.log('data', data.toString('utf8')) // data foo
146
+ }
147
+ ```
148
+
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
+ })
157
+
158
+ return statusCode
159
+ }
160
+
161
+ const mockAgent = new MockAgent()
162
+ const mockPool = mockAgent.get('http://localhost:3000')
163
+
164
+ mockPool.intercept({ path: '/foo', method: 'GET' }).reply(200)
165
+
166
+ console.log(await getStatus(mockPool)) // 200
167
+ ```
168
+
169
+ ```mjs displayName="Returning a MockClient"
170
+ import { MockAgent, request } from 'undici'
171
+
172
+ const mockAgent = new MockAgent({ connections: 1 })
173
+
174
+ const mockClient = mockAgent.get('http://localhost:3000')
175
+ mockClient.intercept({ path: '/foo' }).reply(200, 'foo')
176
+
177
+ const { statusCode, body } = await request('http://localhost:3000/foo', {
178
+ dispatcher: mockClient
179
+ })
180
+
181
+ console.log('response received', statusCode) // response received 200
182
+
183
+ for await (const data of body) {
184
+ console.log('data', data.toString('utf8')) // data foo
185
+ }
186
+ ```
187
+
188
+ ```mjs displayName="Matching the origin with a regular expression"
189
+ import { MockAgent, setGlobalDispatcher, request } from 'undici'
190
+
191
+ const mockAgent = new MockAgent()
192
+ setGlobalDispatcher(mockAgent)
193
+
194
+ const mockPool = mockAgent.get(new RegExp('http://localhost:3000'))
195
+ mockPool.intercept({ path: '/foo' }).reply(200, 'foo')
196
+
197
+ const { statusCode } = await request('http://localhost:3000/foo')
198
+
199
+ console.log('response received', statusCode) // response received 200
200
+ ```
201
+
202
+ ```mjs displayName="Matching the origin with a function"
203
+ import { MockAgent, setGlobalDispatcher, request } from 'undici'
204
+
205
+ const mockAgent = new MockAgent()
206
+ setGlobalDispatcher(mockAgent)
207
+
208
+ const mockPool = mockAgent.get((origin) => origin === 'http://localhost:3000')
209
+ mockPool.intercept({ path: '/foo' }).reply(200, 'foo')
210
+
211
+ const { statusCode } = await request('http://localhost:3000/foo')
212
+
213
+ console.log('response received', statusCode) // response received 200
214
+ ```
215
+
216
+ ### `mockAgent.dispatch(options, handler)`
217
+
218
+ <!-- YAML
219
+ added: v4.0.0
220
+ -->
221
+
222
+ * `options` {AgentDispatchOptions}
223
+ * `handler` {DispatchHandler}
224
+ * Returns: {boolean}
225
+
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()`][].
232
+
233
+ ```mjs displayName="Using mockAgent.request()"
234
+ import { MockAgent } from 'undici'
235
+
236
+ const mockAgent = new MockAgent()
237
+
238
+ const mockPool = mockAgent.get('http://localhost:3000')
239
+ mockPool.intercept({ path: '/foo' }).reply(200, 'foo')
240
+
241
+ const { statusCode, body } = await mockAgent.request({
242
+ origin: 'http://localhost:3000',
243
+ path: '/foo',
244
+ method: 'GET'
245
+ })
246
+
247
+ console.log('response received', statusCode) // response received 200
248
+
249
+ for await (const data of body) {
250
+ console.log('data', data.toString('utf8')) // data foo
251
+ }
252
+ ```
253
+
254
+ ### `mockAgent.close()`
255
+
256
+ <!-- YAML
257
+ added: v4.0.0
258
+ -->
259
+
260
+ * Returns: {Promise<void>} Resolves once the agent and its registered mock pools
261
+ and clients have closed.
262
+
263
+ Clears the call history, closes the encapsulated agent, and waits for all
264
+ registered mock pools and clients to close.
265
+
266
+ ```mjs displayName="Clean up after tests"
267
+ import { MockAgent, setGlobalDispatcher } from 'undici'
268
+
269
+ const mockAgent = new MockAgent()
270
+ setGlobalDispatcher(mockAgent)
271
+
272
+ await mockAgent.close()
273
+ ```
274
+
275
+ ### `mockAgent.deactivate()`
276
+
277
+ <!-- YAML
278
+ added: v4.0.0
279
+ -->
280
+
281
+ * Returns: {undefined}
282
+
283
+ Disables mocking on the `MockAgent`. While deactivated, requests are no longer
284
+ intercepted.
285
+
286
+ ```mjs displayName="Deactivate mocking"
287
+ import { MockAgent, setGlobalDispatcher } from 'undici'
288
+
289
+ const mockAgent = new MockAgent()
290
+ setGlobalDispatcher(mockAgent)
291
+
292
+ mockAgent.deactivate()
293
+ ```
294
+
295
+ ### `mockAgent.activate()`
296
+
297
+ <!-- YAML
298
+ added: v4.0.0
299
+ -->
300
+
301
+ * Returns: {undefined}
302
+
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.
306
+
307
+ ```mjs displayName="Re-activate mocking"
308
+ import { MockAgent, setGlobalDispatcher } from 'undici'
309
+
310
+ const mockAgent = new MockAgent()
311
+ setGlobalDispatcher(mockAgent)
312
+
313
+ mockAgent.deactivate()
314
+ // No mocking will occur
315
+
316
+ // Later
317
+ mockAgent.activate()
318
+ ```
319
+
320
+ ### `mockAgent.enableNetConnect([matcher])`
321
+
322
+ <!-- YAML
323
+ added: v4.0.0
324
+ -->
325
+
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}
331
+
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.
335
+
336
+ ```mjs displayName="Allow all non-matching requests"
337
+ import { MockAgent, setGlobalDispatcher, request } from 'undici'
338
+
339
+ const mockAgent = new MockAgent()
340
+ setGlobalDispatcher(mockAgent)
341
+
342
+ mockAgent.enableNetConnect()
343
+
344
+ await request('http://example.com')
345
+ // A real request is made
346
+ ```
347
+
348
+ ```mjs displayName="Allow requests matching specific hosts"
349
+ import { MockAgent, setGlobalDispatcher, request } from 'undici'
350
+
351
+ const mockAgent = new MockAgent()
352
+ setGlobalDispatcher(mockAgent)
353
+
354
+ mockAgent.enableNetConnect('example-1.com')
355
+ mockAgent.enableNetConnect('example-2.com:8080')
356
+
357
+ await request('http://example-1.com')
358
+ // A real request is made
359
+
360
+ await request('http://example-2.com:8080')
361
+ // A real request is made
362
+
363
+ await request('http://example-3.com')
364
+ // Will throw
365
+ ```
366
+
367
+ ```mjs displayName="Allow requests matching a regular expression or function"
368
+ import { MockAgent, setGlobalDispatcher, request } from 'undici'
369
+
370
+ const mockAgent = new MockAgent()
371
+ setGlobalDispatcher(mockAgent)
372
+
373
+ mockAgent.enableNetConnect(new RegExp('example.com'))
374
+ mockAgent.enableNetConnect((host) => host === 'example.org')
375
+
376
+ await request('http://example.com')
377
+ // A real request is made
378
+ ```
379
+
380
+ ### `mockAgent.disableNetConnect()`
381
+
382
+ <!-- YAML
383
+ added: v4.0.0
384
+ -->
385
+
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'
393
+
394
+ const mockAgent = new MockAgent()
395
+
396
+ mockAgent.disableNetConnect()
397
+
398
+ await request('http://example.com')
399
+ // Will throw
400
+ ```
401
+
402
+ ### `mockAgent.enableCallHistory()`
403
+
404
+ <!-- YAML
405
+ added: v7.5.0
406
+ -->
407
+
408
+ * Returns: {MockAgent} The same `MockAgent` instance, for chaining.
409
+
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.
413
+
414
+ ```mjs
415
+ import { MockAgent } from 'undici'
416
+
417
+ const mockAgent = new MockAgent()
418
+
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 })
494
+
495
+ mockAgent.clearCallHistory()
496
+ ```
497
+
498
+ ### `mockAgent.pendingInterceptors()`
499
+
500
+ <!-- YAML
501
+ added: v5.1.0
502
+ -->
503
+
504
+ * Returns: {PendingInterceptor[]} A `PendingInterceptor` is a `MockDispatch`
505
+ with an additional `origin` {string} property.
506
+
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:
509
+
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.
515
+
516
+ ```mjs displayName="List pending interceptors"
517
+ import { MockAgent } from 'undici'
518
+
519
+ const mockAgent = new MockAgent()
520
+ mockAgent.disableNetConnect()
521
+
522
+ mockAgent
523
+ .get('https://example.com')
524
+ .intercept({ method: 'GET', path: '/' })
525
+ .reply(200)
526
+
527
+ const pendingInterceptors = mockAgent.pendingInterceptors()
528
+ // Returns [
529
+ // {
530
+ // timesInvoked: 0,
531
+ // times: 1,
532
+ // persist: false,
533
+ // consumed: false,
534
+ // pending: true,
535
+ // path: '/',
536
+ // method: 'GET',
537
+ // body: undefined,
538
+ // headers: undefined,
539
+ // data: {
540
+ // error: null,
541
+ // statusCode: 200,
542
+ // data: '',
543
+ // headers: {},
544
+ // trailers: {}
545
+ // },
546
+ // origin: 'https://example.com'
547
+ // }
548
+ // ]
549
+ ```
550
+
551
+ ### `mockAgent.assertNoPendingInterceptors([options])`
552
+
553
+ <!-- YAML
554
+ added: v5.1.0
555
+ -->
556
+
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}
563
+
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()`][].
567
+
568
+ ```mjs displayName="Assert there are no pending interceptors"
569
+ import { MockAgent } from 'undici'
570
+
571
+ const mockAgent = new MockAgent()
572
+ mockAgent.disableNetConnect()
573
+
574
+ mockAgent
575
+ .get('https://example.com')
576
+ .intercept({ method: 'GET', path: '/' })
577
+ .reply(200)
578
+
579
+ mockAgent.assertNoPendingInterceptors()
580
+ // Throws an UndiciError with the following message:
581
+ //
582
+ // 1 interceptor is pending:
583
+ //
584
+ // ┌─────────┬────────┬───────────────────────┬──────┬─────────────┬────────────┬─────────────┬───────────┐
585
+ // │ (index) │ Method │ Origin │ Path │ Status code │ Persistent │ Invocations │ Remaining │
586
+ // ├─────────┼────────┼───────────────────────┼──────┼─────────────┼────────────┼─────────────┼───────────┤
587
+ // │ 0 │ 'GET' │ 'https://example.com' │ '/' │ 200 │ '❌' │ 0 │ 1 │
588
+ // └─────────┴────────┴───────────────────────┴──────┴─────────────┴────────────┴─────────────┴───────────┘
589
+ ```
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