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,518 @@
1
+ # Diagnostics Channel Support
2
+
3
+ <!--introduced_in=v6.3.0-->
4
+ <!--type=misc-->
5
+
6
+ > Stability: 1 - Experimental
7
+
8
+ Undici is instrumented with Node.js' built-in [`diagnostics_channel`][] module.
9
+ It is the preferred way to observe undici's internal behaviour without patching
10
+ the library, and it backs the human-readable [debug logs][Debug].
11
+
12
+ Each integration point is exposed as a named channel. To observe an event,
13
+ obtain the channel by name and subscribe to it:
14
+
15
+ ```mjs
16
+ import diagnosticsChannel from 'node:diagnostics_channel'
17
+
18
+ diagnosticsChannel.channel('undici:request:create').subscribe(({ request }) => {
19
+ console.log(request.method, request.origin, request.path)
20
+ })
21
+ ```
22
+
23
+ ```cjs
24
+ const diagnosticsChannel = require('node:diagnostics_channel')
25
+
26
+ diagnosticsChannel.channel('undici:request:create').subscribe(({ request }) => {
27
+ console.log(request.method, request.origin, request.path)
28
+ })
29
+ ```
30
+
31
+ The message published to a channel is always a single object whose shape depends
32
+ on the channel. The sections below describe every channel and the object it
33
+ publishes. Subscriber callbacks run synchronously inside undici, so they should
34
+ be fast and must not throw.
35
+
36
+ The same `request` object is shared across all `undici:request:*` channels for a
37
+ given request, so a subscriber may correlate the lifecycle of one request by
38
+ identity.
39
+
40
+ ## Event: `'undici:request:create'`
41
+
42
+ <!-- YAML
43
+ added: v6.3.0
44
+ -->
45
+
46
+ Published when a new outgoing request is created, before it is dispatched.
47
+
48
+ * `message` {Object}
49
+ * `request` {Object} The request being created.
50
+ * `origin` {string|URL} The origin the request is sent to.
51
+ * `completed` {boolean} Whether the request has completed. `false` at this
52
+ point.
53
+ * `method` {string} The HTTP method, e.g. `'GET'`.
54
+ * `path` {string} The request path, including any query string.
55
+ * `headers` {string[]} The request headers as a flat array of strings,
56
+ alternating between header name and value.
57
+
58
+ The `request` object also exposes an `addHeader(name, value)` method that
59
+ appends a header before the request is sent.
60
+
61
+ ```mjs
62
+ import diagnosticsChannel from 'node:diagnostics_channel'
63
+
64
+ diagnosticsChannel.channel('undici:request:create').subscribe(({ request }) => {
65
+ console.log('origin', request.origin)
66
+ console.log('completed', request.completed)
67
+ console.log('method', request.method)
68
+ console.log('path', request.path)
69
+ console.log('headers', request.headers)
70
+ request.addHeader('hello', 'world')
71
+ })
72
+ ```
73
+
74
+ A request is only loosely bound to a given socket at this stage.
75
+
76
+ ## Event: `'undici:request:bodyChunkSent'`
77
+
78
+ <!-- YAML
79
+ added: v7.11.0
80
+ -->
81
+
82
+ Published each time a chunk of the request body is written to the socket.
83
+
84
+ * `message` {Object}
85
+ * `request` {Object} The same object published by
86
+ [`'undici:request:create'`][].
87
+ * `chunk` {Uint8Array|string} The body chunk being sent.
88
+
89
+ ```mjs
90
+ import diagnosticsChannel from 'node:diagnostics_channel'
91
+
92
+ diagnosticsChannel.channel('undici:request:bodyChunkSent').subscribe(({ request, chunk }) => {
93
+ console.log('sent', chunk.length, 'bytes')
94
+ })
95
+ ```
96
+
97
+ ## Event: `'undici:request:bodySent'`
98
+
99
+ <!-- YAML
100
+ added: v6.3.0
101
+ -->
102
+
103
+ Published after the request body has been fully sent.
104
+
105
+ * `message` {Object}
106
+ * `request` {Object} The same object published by
107
+ [`'undici:request:create'`][].
108
+
109
+ ```mjs
110
+ import diagnosticsChannel from 'node:diagnostics_channel'
111
+
112
+ diagnosticsChannel.channel('undici:request:bodySent').subscribe(({ request }) => {
113
+ // request is the same object as in 'undici:request:create'
114
+ })
115
+ ```
116
+
117
+ ## Event: `'undici:request:headers'`
118
+
119
+ <!-- YAML
120
+ added: v6.3.0
121
+ -->
122
+
123
+ Published after the response headers have been received. This includes a
124
+ successful CONNECT or protocol upgrade response.
125
+
126
+ * `message` {Object}
127
+ * `request` {Object} The same object published by
128
+ [`'undici:request:create'`][].
129
+ * `response` {Object} The response being received.
130
+ * `statusCode` {number} The HTTP status code.
131
+ * `statusText` {string} The HTTP status message.
132
+ * `headers` {Buffer[]|Object} HTTP/1.1 response headers are an array of
133
+ buffers alternating between header name and value. HTTP/2 response
134
+ headers are an object.
135
+
136
+ ```mjs
137
+ import diagnosticsChannel from 'node:diagnostics_channel'
138
+
139
+ diagnosticsChannel.channel('undici:request:headers').subscribe(({ request, response }) => {
140
+ console.log('statusCode', response.statusCode)
141
+ console.log(response.statusText)
142
+ console.log(response.headers)
143
+ })
144
+ ```
145
+
146
+ ## Event: `'undici:request:bodyChunkReceived'`
147
+
148
+ <!-- YAML
149
+ added: v7.11.0
150
+ -->
151
+
152
+ Published each time a chunk of the response body is received.
153
+
154
+ * `message` {Object}
155
+ * `request` {Object} The same object published by
156
+ [`'undici:request:create'`][].
157
+ * `chunk` {Buffer} The body chunk that was received.
158
+
159
+ ```mjs
160
+ import diagnosticsChannel from 'node:diagnostics_channel'
161
+
162
+ diagnosticsChannel.channel('undici:request:bodyChunkReceived').subscribe(({ request, chunk }) => {
163
+ console.log('received', chunk.length, 'bytes')
164
+ })
165
+ ```
166
+
167
+ ## Event: `'undici:request:trailers'`
168
+
169
+ <!-- YAML
170
+ added: v6.3.0
171
+ -->
172
+
173
+ Published once the response has fully completed. After an upgraded socket has
174
+ been passed to the request handler, this event is published with an empty
175
+ `trailers` array.
176
+
177
+ * `message` {Object}
178
+ * `request` {Object} The same object published by
179
+ [`'undici:request:create'`][]. `request.completed` is now `true`.
180
+ * `trailers` {Buffer[]} The raw response trailers as an array of buffers,
181
+ alternating between header name and value.
182
+
183
+ ```mjs
184
+ import diagnosticsChannel from 'node:diagnostics_channel'
185
+
186
+ diagnosticsChannel.channel('undici:request:trailers').subscribe(({ request, trailers }) => {
187
+ console.log('completed', request.completed)
188
+ console.log(trailers.map((x) => x.toString()))
189
+ })
190
+ ```
191
+
192
+ ## Event: `'undici:request:error'`
193
+
194
+ <!-- YAML
195
+ added: v6.3.0
196
+ -->
197
+
198
+ Published when the request is about to error, before the error is surfaced to
199
+ the caller.
200
+
201
+ * `message` {Object}
202
+ * `request` {Object} The same object published by
203
+ [`'undici:request:create'`][].
204
+ * `error` {Error} The error the request is about to fail with.
205
+
206
+ ```mjs
207
+ import diagnosticsChannel from 'node:diagnostics_channel'
208
+
209
+ diagnosticsChannel.channel('undici:request:error').subscribe(({ request, error }) => {
210
+ console.error(error)
211
+ })
212
+ ```
213
+
214
+ ## Event: `'undici:client:sendHeaders'`
215
+
216
+ <!-- YAML
217
+ added: v6.3.0
218
+ changes:
219
+ - version: v7.0.0
220
+ pr-url: https://github.com/nodejs/undici/pull/3585
221
+ description: Refactor the diagnostics channel internals.
222
+ -->
223
+
224
+ Published immediately before the first byte of the request is written to the
225
+ socket. The headers are published exactly as they will be sent to the server, in
226
+ raw form.
227
+
228
+ * `message` {Object}
229
+ * `request` {Object} The same object published by
230
+ [`'undici:request:create'`][].
231
+ * `headers` {string} The request headers as a single raw string, with lines
232
+ separated by `\r\n`.
233
+ * `socket` {net.Socket} The socket the request is written to.
234
+
235
+ ```mjs
236
+ import diagnosticsChannel from 'node:diagnostics_channel'
237
+
238
+ diagnosticsChannel.channel('undici:client:sendHeaders').subscribe(({ request, headers, socket }) => {
239
+ console.log(`Full headers list: ${headers.split('\r\n')}`)
240
+ })
241
+ ```
242
+
243
+ ## Event: `'undici:client:beforeConnect'`
244
+
245
+ <!-- YAML
246
+ added: v6.3.0
247
+ changes:
248
+ - version: v7.0.0
249
+ pr-url: https://github.com/nodejs/undici/pull/3585
250
+ description: Refactor the diagnostics channel internals.
251
+ -->
252
+
253
+ Published before a new connection is opened for any request. This event cannot be
254
+ attributed to a specific request, because connections are pooled and shared.
255
+
256
+ * `message` {Object}
257
+ * `connectParams` {Object} The parameters used to open the connection.
258
+ * `host` {string} The connection host, including the port if present.
259
+ * `hostname` {string} The connection hostname.
260
+ * `protocol` {string} The protocol, e.g. `'https:'`.
261
+ * `port` {string} The connection port.
262
+ * `servername` {string|null} The TLS server name, or `null`.
263
+ * `connector` {Function} The function that creates the socket.
264
+
265
+ ```mjs
266
+ import diagnosticsChannel from 'node:diagnostics_channel'
267
+
268
+ diagnosticsChannel.channel('undici:client:beforeConnect').subscribe(({ connectParams, connector }) => {
269
+ const { host, hostname, protocol, port, servername } = connectParams
270
+ // connector is the function that creates the socket
271
+ })
272
+ ```
273
+
274
+ ## Event: `'undici:client:connected'`
275
+
276
+ <!-- YAML
277
+ added: v6.3.0
278
+ changes:
279
+ - version: v7.0.0
280
+ pr-url: https://github.com/nodejs/undici/pull/3585
281
+ description: Refactor the diagnostics channel internals.
282
+ -->
283
+
284
+ Published after a connection has been successfully established.
285
+
286
+ * `message` {Object}
287
+ * `socket` {net.Socket} The newly connected socket.
288
+ * `connectParams` {Object} The parameters used to open the connection. See
289
+ [`'undici:client:beforeConnect'`][] for the field descriptions.
290
+ * `connector` {Function} The function that created the socket.
291
+
292
+ ```mjs
293
+ import diagnosticsChannel from 'node:diagnostics_channel'
294
+
295
+ diagnosticsChannel.channel('undici:client:connected').subscribe(({ socket, connectParams, connector }) => {
296
+ const { host, hostname, protocol, port, servername } = connectParams
297
+ })
298
+ ```
299
+
300
+ ## Event: `'undici:client:connectError'`
301
+
302
+ <!-- YAML
303
+ added: v6.3.0
304
+ changes:
305
+ - version: v7.0.0
306
+ pr-url: https://github.com/nodejs/undici/pull/3585
307
+ description: Refactor the diagnostics channel internals.
308
+ -->
309
+
310
+ Published when a connection could not be established.
311
+
312
+ * `message` {Object}
313
+ * `error` {Error} The error that prevented the connection.
314
+ * `socket` {net.Socket} The socket associated with the failed attempt.
315
+ * `connectParams` {Object} The parameters used to open the connection. See
316
+ [`'undici:client:beforeConnect'`][] for the field descriptions.
317
+ * `connector` {Function} The function that created the socket.
318
+
319
+ ```mjs
320
+ import diagnosticsChannel from 'node:diagnostics_channel'
321
+
322
+ diagnosticsChannel.channel('undici:client:connectError').subscribe(({ error, socket, connectParams, connector }) => {
323
+ console.error(`Connect failed with ${error.message}`)
324
+ })
325
+ ```
326
+
327
+ ## Event: `'undici:websocket:open'`
328
+
329
+ <!-- YAML
330
+ added: v6.3.0
331
+ -->
332
+
333
+ Published after a [`WebSocket`][] has successfully connected to a server.
334
+
335
+ * `message` {Object}
336
+ * `address` {Object|null} The remote socket address, as returned by
337
+ [`socket.address()`][], or `null` if it cannot be determined. When present,
338
+ it contains `address`, `family`, and `port`.
339
+ * `protocol` {string} The negotiated subprotocol.
340
+ * `extensions` {string} The negotiated extensions.
341
+ * `websocket` {WebSocket} The `WebSocket` instance.
342
+ * `handshakeResponse` {Object} The HTTP response that upgraded the connection.
343
+ * `status` {number} The HTTP status code: `101` for an HTTP/1.1 upgrade, or
344
+ `200` for an HTTP/2 extended `CONNECT`.
345
+ * `statusText` {string} The HTTP status message: `'Switching Protocols'` for
346
+ HTTP/1.1, and commonly `'OK'` for HTTP/2.
347
+ * `headers` {Object} The response headers from the server. The `upgrade` and
348
+ `connection` headers are only present for HTTP/1.1 handshakes.
349
+
350
+ ```mjs
351
+ import diagnosticsChannel from 'node:diagnostics_channel'
352
+
353
+ diagnosticsChannel.channel('undici:websocket:open').subscribe(({
354
+ address,
355
+ protocol,
356
+ extensions,
357
+ websocket,
358
+ handshakeResponse
359
+ }) => {
360
+ console.log(address)
361
+ console.log(protocol)
362
+ console.log(extensions)
363
+ console.log(handshakeResponse.status)
364
+ console.log(handshakeResponse.headers)
365
+ })
366
+ ```
367
+
368
+ ## Event: `'undici:websocket:close'`
369
+
370
+ <!-- YAML
371
+ added: v6.3.0
372
+ -->
373
+
374
+ Published after the [`WebSocket`][] connection has closed.
375
+
376
+ * `message` {Object}
377
+ * `websocket` {WebSocket} The `WebSocket` instance.
378
+ * `code` {number} The closing status code.
379
+ * `reason` {string} The closing reason.
380
+
381
+ ```mjs
382
+ import diagnosticsChannel from 'node:diagnostics_channel'
383
+
384
+ diagnosticsChannel.channel('undici:websocket:close').subscribe(({ websocket, code, reason }) => {
385
+ console.log(code, reason)
386
+ })
387
+ ```
388
+
389
+ ## Event: `'undici:websocket:socket_error'`
390
+
391
+ <!-- YAML
392
+ added: v6.3.0
393
+ -->
394
+
395
+ Published when the underlying WebSocket socket experiences an error. Unlike the
396
+ other WebSocket channels, the published message is the error itself.
397
+
398
+ * `error` {Error} The socket error.
399
+
400
+ ```mjs
401
+ import diagnosticsChannel from 'node:diagnostics_channel'
402
+
403
+ diagnosticsChannel.channel('undici:websocket:socket_error').subscribe((error) => {
404
+ console.error(error)
405
+ })
406
+ ```
407
+
408
+ ## Event: `'undici:websocket:ping'`
409
+
410
+ <!-- YAML
411
+ added: v6.3.0
412
+ -->
413
+
414
+ Published after the client receives a ping frame.
415
+
416
+ * `message` {Object}
417
+ * `payload` {Buffer|undefined} The optional application data carried by the
418
+ frame.
419
+ * `websocket` {WebSocket} The `WebSocket` instance.
420
+
421
+ ```mjs
422
+ import diagnosticsChannel from 'node:diagnostics_channel'
423
+
424
+ diagnosticsChannel.channel('undici:websocket:ping').subscribe(({ payload, websocket }) => {
425
+ console.log(payload)
426
+ })
427
+ ```
428
+
429
+ ## Event: `'undici:websocket:pong'`
430
+
431
+ <!-- YAML
432
+ added: v6.3.0
433
+ -->
434
+
435
+ Published after the client receives a pong frame.
436
+
437
+ * `message` {Object}
438
+ * `payload` {Buffer|undefined} The optional application data carried by the
439
+ frame.
440
+ * `websocket` {WebSocket} The `WebSocket` instance.
441
+
442
+ ```mjs
443
+ import diagnosticsChannel from 'node:diagnostics_channel'
444
+
445
+ diagnosticsChannel.channel('undici:websocket:pong').subscribe(({ payload, websocket }) => {
446
+ console.log(payload)
447
+ })
448
+ ```
449
+
450
+ ## Event: `'undici:proxy:connected'`
451
+
452
+ <!-- YAML
453
+ added: v7.17.0
454
+ -->
455
+
456
+ Published after a [`ProxyAgent`][] has established a tunnel to the proxy server.
457
+
458
+ * `message` {Object}
459
+ * `socket` {net.Socket} The socket connected to the proxy.
460
+ * `connectParams` {Object} The parameters used to establish the tunnel.
461
+ * `origin` {string|URL} The proxy origin.
462
+ * `port` {string} The proxy port.
463
+ * `path` {string} The requested tunnel target, e.g. `'example.com:443'`.
464
+ * `signal` {AbortSignal|undefined} The signal associated with the request.
465
+ * `headers` {Object} The headers sent in the `CONNECT` request.
466
+ * `servername` {string|undefined} The TLS server name used for the proxy.
467
+
468
+ ```mjs
469
+ import diagnosticsChannel from 'node:diagnostics_channel'
470
+
471
+ diagnosticsChannel.channel('undici:proxy:connected').subscribe(({ socket, connectParams }) => {
472
+ const { origin, port, path, signal, headers, servername } = connectParams
473
+ })
474
+ ```
475
+
476
+ ## Event: `'undici:request:pending-requests'`
477
+
478
+ <!-- YAML
479
+ added: v6.3.0
480
+ -->
481
+
482
+ Published when the [`dedupe`][] interceptor's set of pending requests changes.
483
+ The interceptor coalesces concurrent identical requests so that only one reaches
484
+ the origin; this channel exposes that bookkeeping for monitoring and debugging.
485
+
486
+ * `message` {Object}
487
+ * `type` {string} Either `'added'` when a new pending request is registered, or
488
+ `'removed'` when a pending request completes, whether successfully or with an
489
+ error.
490
+ * `size` {number} The number of pending requests after the change.
491
+ * `key` {string} The deduplication key for the request, composed of the origin,
492
+ method, path, and request headers.
493
+
494
+ ```mjs
495
+ import diagnosticsChannel from 'node:diagnostics_channel'
496
+
497
+ diagnosticsChannel.channel('undici:request:pending-requests').subscribe(({ type, size, key }) => {
498
+ if (type === 'added') {
499
+ console.log(`New pending request: ${key} (${size} total pending)`)
500
+ } else {
501
+ console.log(`Request completed: ${key} (${size} remaining)`)
502
+ }
503
+ })
504
+ ```
505
+
506
+ This is useful for verifying that deduplication is working, monitoring the number
507
+ of concurrent in-flight requests, and debugging deduplication behaviour in
508
+ production.
509
+
510
+ [`'undici:client:beforeConnect'`]: #event-undiciclientbeforeconnect
511
+ [`'undici:request:create'`]: #event-undicirequestcreate
512
+ [`'undici:request:headers'`]: #event-undicirequestheaders
513
+ [`ProxyAgent`]: ProxyAgent.md#class-proxyagent
514
+ [`WebSocket`]: WebSocket.md#class-websocket
515
+ [`dedupe`]: Dispatcher.md#dedupe
516
+ [`diagnostics_channel`]: https://nodejs.org/api/diagnostics_channel.html
517
+ [`socket.address()`]: https://nodejs.org/api/net.html#socketaddress
518
+ [Debug]: Debug.md