@psnext/slingcli 2.4.20260520-3 → 2.4.20260520-5

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 (1293) hide show
  1. package/README.md +9 -6
  2. package/node_modules/@aws-sdk/client-bedrock-runtime/package.json +5 -5
  3. package/node_modules/@aws-sdk/token-providers/package.json +3 -3
  4. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +23 -0
  5. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js +1 -1
  6. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js +557 -385
  7. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js +13 -82
  8. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js +61 -144
  9. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.js +14 -36
  10. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js +234 -96
  11. package/node_modules/@earendil-works/pi-agent-core/dist/harness/prompt-templates.js +85 -55
  12. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.js +101 -0
  13. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.js +231 -0
  14. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-repo.js +42 -0
  15. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.js +114 -0
  16. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo-utils.js +39 -0
  17. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js +3 -2
  18. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/uuid.js +50 -0
  19. package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.js +125 -73
  20. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.js +86 -8
  21. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.js +85 -56
  22. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/truncate.js +103 -18
  23. package/node_modules/@earendil-works/pi-agent-core/dist/index.js +4 -4
  24. package/node_modules/@earendil-works/pi-agent-core/dist/node.js +3 -0
  25. package/node_modules/@earendil-works/pi-agent-core/package.json +23 -10
  26. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js +11 -3
  27. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +118 -354
  28. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js +35 -32
  29. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js +5 -2
  30. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js +19 -2
  31. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js +35 -4
  32. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js +24 -10
  33. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-prompt-cache.js +10 -0
  34. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js +19 -2
  35. package/node_modules/@earendil-works/pi-ai/dist/providers/register-builtins.js +13 -2
  36. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.js +6 -4
  37. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.js +2 -2
  38. package/node_modules/@earendil-works/pi-ai/dist/utils/node-http-proxy.js +97 -0
  39. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js +1 -1
  40. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js +3 -1
  41. package/node_modules/@earendil-works/pi-ai/package.json +15 -20
  42. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/config-selector.js +1 -1
  43. package/node_modules/@earendil-works/pi-coding-agent/dist/cli.js +4 -6
  44. package/node_modules/@earendil-works/pi-coding-agent/dist/config.js +45 -22
  45. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-runtime.js +4 -5
  46. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js +127 -151
  47. package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.js +1 -1
  48. package/node_modules/@earendil-works/pi-coding-agent/dist/core/bash-executor.js +1 -1
  49. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.js +25 -15
  50. package/node_modules/@earendil-works/pi-coding-agent/dist/core/export-html/template.js +17 -3
  51. package/node_modules/@earendil-works/pi-coding-agent/dist/core/http-dispatcher.js +48 -0
  52. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.js +2 -2
  53. package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.js +71 -33
  54. package/node_modules/@earendil-works/pi-coding-agent/dist/core/prompt-templates.js +6 -4
  55. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.js +1 -1
  56. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js +39 -9
  57. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js +20 -0
  58. package/node_modules/@earendil-works/pi-coding-agent/dist/core/skills.js +2 -5
  59. package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.js +7 -4
  60. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.js +1 -0
  61. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/render-utils.js +1 -1
  62. package/node_modules/@earendil-works/pi-coding-agent/dist/index.js +1 -0
  63. package/node_modules/@earendil-works/pi-coding-agent/dist/main.js +7 -11
  64. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/bash-execution.js +1 -1
  65. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/config-selector.js +7 -4
  66. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/countdown-timer.js +2 -2
  67. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/extension-editor.js +14 -6
  68. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/extension-selector.js +6 -1
  69. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/footer.js +2 -2
  70. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.js +2 -2
  71. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.js +15 -0
  72. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js +99 -17
  73. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/dark.json +5 -4
  74. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/light.json +5 -4
  75. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.js +83 -41
  76. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.js +1 -1
  77. package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.js +62 -7
  78. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/ansi.js +52 -0
  79. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/child-process.js +9 -7
  80. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/html.js +40 -0
  81. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/mime.js +59 -16
  82. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/paths.js +16 -0
  83. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/shell.js +6 -1
  84. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/syntax-highlight.js +118 -0
  85. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/tools-manager.js +80 -8
  86. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/version-check.js +9 -4
  87. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/windows-self-update.js +77 -0
  88. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/LICENSE +21 -0
  89. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Agent.md +84 -0
  90. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/BalancedPool.md +99 -0
  91. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/CacheStorage.md +30 -0
  92. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/CacheStore.md +164 -0
  93. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Client.md +287 -0
  94. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/ClientStats.md +27 -0
  95. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Connector.md +115 -0
  96. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/ContentType.md +57 -0
  97. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Cookies.md +101 -0
  98. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Debug.md +62 -0
  99. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +315 -0
  100. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Dispatcher.md +1427 -0
  101. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +159 -0
  102. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Errors.md +49 -0
  103. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/EventSource.md +45 -0
  104. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Fetch.md +60 -0
  105. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/GlobalInstallation.md +141 -0
  106. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/H2CClient.md +263 -0
  107. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/MockAgent.md +603 -0
  108. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/MockCallHistory.md +197 -0
  109. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/MockCallHistoryLog.md +43 -0
  110. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/MockClient.md +81 -0
  111. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/MockErrors.md +12 -0
  112. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/MockPool.md +555 -0
  113. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Pool.md +84 -0
  114. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/PoolStats.md +35 -0
  115. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/ProxyAgent.md +229 -0
  116. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/RedirectHandler.md +98 -0
  117. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/RetryAgent.md +49 -0
  118. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/RetryHandler.md +116 -0
  119. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/RoundRobinPool.md +145 -0
  120. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/SnapshotAgent.md +639 -0
  121. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +274 -0
  122. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Util.md +25 -0
  123. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/WebSocket.md +141 -0
  124. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/api-lifecycle.md +91 -0
  125. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/best-practices/client-certificate.md +64 -0
  126. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/best-practices/crawling.md +58 -0
  127. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/best-practices/migrating-from-v7-to-v8.md +231 -0
  128. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/best-practices/mocking-request.md +190 -0
  129. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/best-practices/proxy.md +127 -0
  130. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/best-practices/undici-vs-builtin-fetch.md +224 -0
  131. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/best-practices/writing-tests.md +63 -0
  132. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/index-fetch.js +65 -0
  133. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/index.js +236 -0
  134. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/api/abort-signal.js +59 -0
  135. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/api/api-connect.js +112 -0
  136. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/api/api-pipeline.js +265 -0
  137. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/api/api-request.js +238 -0
  138. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/api/api-stream.js +270 -0
  139. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/api/api-upgrade.js +121 -0
  140. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/api/index.js +7 -0
  141. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/api/readable.js +581 -0
  142. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/cache/memory-cache-store.js +234 -0
  143. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/cache/sqlite-cache-store.js +463 -0
  144. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/connect.js +153 -0
  145. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/constants.js +120 -0
  146. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/diagnostics.js +227 -0
  147. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/errors.js +477 -0
  148. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/request.js +535 -0
  149. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/socks5-client.js +422 -0
  150. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/socks5-utils.js +212 -0
  151. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/symbols.js +76 -0
  152. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/tree.js +160 -0
  153. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/util.js +1019 -0
  154. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/agent.js +172 -0
  155. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/balanced-pool.js +214 -0
  156. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/client-h1.js +1669 -0
  157. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/client-h2.js +1326 -0
  158. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/client.js +666 -0
  159. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/dispatcher-base.js +184 -0
  160. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/dispatcher.js +44 -0
  161. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +107 -0
  162. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +146 -0
  163. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/fixed-queue.js +135 -0
  164. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/h2c-client.js +51 -0
  165. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/pool-base.js +232 -0
  166. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/pool.js +143 -0
  167. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/proxy-agent.js +343 -0
  168. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/retry-agent.js +35 -0
  169. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/round-robin-pool.js +159 -0
  170. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +264 -0
  171. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/encoding/index.js +33 -0
  172. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/global.js +62 -0
  173. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/cache-handler.js +586 -0
  174. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/cache-revalidation-handler.js +124 -0
  175. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/decorator-handler.js +66 -0
  176. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/deduplication-handler.js +460 -0
  177. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/redirect-handler.js +192 -0
  178. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/retry-handler.js +407 -0
  179. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/cache.js +508 -0
  180. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/decompress.js +285 -0
  181. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/deduplicate.js +117 -0
  182. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/dns.js +571 -0
  183. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/dump.js +112 -0
  184. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/redirect.js +21 -0
  185. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/response-error.js +95 -0
  186. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/retry.js +19 -0
  187. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/llhttp/constants.js +531 -0
  188. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/llhttp/llhttp-wasm.js +15 -0
  189. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +15 -0
  190. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/llhttp/utils.js +12 -0
  191. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/mock-agent.js +232 -0
  192. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/mock-call-history.js +248 -0
  193. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/mock-client.js +68 -0
  194. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/mock-errors.js +29 -0
  195. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/mock-interceptor.js +209 -0
  196. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/mock-pool.js +68 -0
  197. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/mock-symbols.js +32 -0
  198. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/mock-utils.js +501 -0
  199. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/pending-interceptors-formatter.js +43 -0
  200. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/snapshot-agent.js +363 -0
  201. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/snapshot-recorder.js +623 -0
  202. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/snapshot-utils.js +158 -0
  203. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/util/cache.js +408 -0
  204. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/util/date.js +653 -0
  205. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/util/runtime-features.js +93 -0
  206. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/util/stats.js +32 -0
  207. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/util/timers.js +425 -0
  208. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/cache/cache.js +862 -0
  209. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/cache/cachestorage.js +152 -0
  210. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/cache/util.js +45 -0
  211. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/cookies/constants.js +12 -0
  212. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/cookies/index.js +199 -0
  213. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/cookies/parse.js +322 -0
  214. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/cookies/util.js +282 -0
  215. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/eventsource/eventsource-stream.js +494 -0
  216. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/eventsource/eventsource.js +501 -0
  217. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/eventsource/util.js +29 -0
  218. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/LICENSE +21 -0
  219. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/body.js +503 -0
  220. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/constants.js +131 -0
  221. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/data-url.js +596 -0
  222. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/formdata-parser.js +586 -0
  223. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/formdata.js +278 -0
  224. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/global.js +40 -0
  225. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/headers.js +719 -0
  226. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/index.js +2403 -0
  227. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/request.js +1115 -0
  228. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/response.js +641 -0
  229. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/util.js +1522 -0
  230. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/infra/index.js +229 -0
  231. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/subresource-integrity/Readme.md +9 -0
  232. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +307 -0
  233. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/webidl/index.js +1004 -0
  234. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/connection.js +329 -0
  235. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/constants.js +126 -0
  236. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/events.js +331 -0
  237. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/frame.js +127 -0
  238. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/permessage-deflate.js +100 -0
  239. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/receiver.js +490 -0
  240. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/sender.js +109 -0
  241. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/stream/websocketerror.js +104 -0
  242. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/stream/websocketstream.js +491 -0
  243. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/util.js +347 -0
  244. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/websocket.js +756 -0
  245. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/package.json +152 -0
  246. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/scripts/strip-comments.js +10 -0
  247. package/node_modules/@earendil-works/pi-coding-agent/npm-shrinkwrap.json +1803 -0
  248. package/node_modules/@earendil-works/pi-coding-agent/package.json +34 -36
  249. package/node_modules/@earendil-works/pi-tui/dist/components/image.js +27 -14
  250. package/node_modules/@earendil-works/pi-tui/dist/components/loader.js +4 -4
  251. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js +11 -5
  252. package/node_modules/@earendil-works/pi-tui/dist/stdin-buffer.js +22 -0
  253. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js +27 -15
  254. package/node_modules/@earendil-works/pi-tui/package.json +9 -12
  255. package/node_modules/cross-spawn/LICENSE +21 -0
  256. package/node_modules/cross-spawn/README.md +89 -0
  257. package/node_modules/cross-spawn/index.js +39 -0
  258. package/node_modules/cross-spawn/lib/enoent.js +59 -0
  259. package/node_modules/cross-spawn/lib/parse.js +91 -0
  260. package/node_modules/cross-spawn/lib/util/escape.js +47 -0
  261. package/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
  262. package/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
  263. package/node_modules/cross-spawn/package.json +73 -0
  264. package/node_modules/isexe/.npmignore +2 -0
  265. package/node_modules/isexe/README.md +51 -0
  266. package/node_modules/isexe/index.js +57 -0
  267. package/node_modules/isexe/mode.js +41 -0
  268. package/node_modules/isexe/package.json +31 -0
  269. package/node_modules/isexe/test/basic.js +221 -0
  270. package/node_modules/isexe/windows.js +42 -0
  271. package/node_modules/path-key/index.d.ts +40 -0
  272. package/node_modules/path-key/index.js +16 -0
  273. package/node_modules/path-key/package.json +39 -0
  274. package/node_modules/path-key/readme.md +61 -0
  275. package/node_modules/shebang-command/index.js +19 -0
  276. package/node_modules/shebang-command/license +9 -0
  277. package/node_modules/shebang-command/package.json +34 -0
  278. package/node_modules/shebang-command/readme.md +34 -0
  279. package/node_modules/shebang-regex/index.d.ts +22 -0
  280. package/node_modules/shebang-regex/index.js +2 -0
  281. package/node_modules/shebang-regex/package.json +35 -0
  282. package/node_modules/shebang-regex/readme.md +33 -0
  283. package/node_modules/which/README.md +54 -0
  284. package/node_modules/which/bin/node-which +52 -0
  285. package/node_modules/which/package.json +43 -0
  286. package/node_modules/which/which.js +125 -0
  287. package/package.json +6 -6
  288. package/slingshot/index.js +259 -255
  289. package/node_modules/@borewit/text-codec/LICENSE.txt +0 -9
  290. package/node_modules/@borewit/text-codec/README.md +0 -87
  291. package/node_modules/@borewit/text-codec/lib/index.d.ts +0 -6
  292. package/node_modules/@borewit/text-codec/lib/index.js +0 -380
  293. package/node_modules/@borewit/text-codec/package.json +0 -70
  294. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.js +0 -3
  295. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.js +0 -92
  296. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.js +0 -42
  297. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.js +0 -31
  298. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.js +0 -170
  299. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.js +0 -90
  300. package/node_modules/@tokenizer/inflate/LICENSE +0 -15
  301. package/node_modules/@tokenizer/inflate/README.md +0 -114
  302. package/node_modules/@tokenizer/inflate/lib/GzipHandler.d.ts +0 -6
  303. package/node_modules/@tokenizer/inflate/lib/GzipHandler.js +0 -19
  304. package/node_modules/@tokenizer/inflate/lib/ZipHandler.d.ts +0 -26
  305. package/node_modules/@tokenizer/inflate/lib/ZipHandler.js +0 -233
  306. package/node_modules/@tokenizer/inflate/lib/ZipToken.d.ts +0 -94
  307. package/node_modules/@tokenizer/inflate/lib/ZipToken.js +0 -117
  308. package/node_modules/@tokenizer/inflate/lib/index.d.ts +0 -3
  309. package/node_modules/@tokenizer/inflate/lib/index.js +0 -2
  310. package/node_modules/@tokenizer/inflate/package.json +0 -76
  311. package/node_modules/@tokenizer/token/README.md +0 -19
  312. package/node_modules/@tokenizer/token/index.d.ts +0 -30
  313. package/node_modules/@tokenizer/token/package.json +0 -33
  314. package/node_modules/@tootallnate/quickjs-emscripten/LICENSE +0 -21
  315. package/node_modules/@tootallnate/quickjs-emscripten/README.md +0 -597
  316. package/node_modules/@tootallnate/quickjs-emscripten/c/interface.c +0 -819
  317. package/node_modules/@tootallnate/quickjs-emscripten/dist/asyncify-helpers.d.ts +0 -24
  318. package/node_modules/@tootallnate/quickjs-emscripten/dist/asyncify-helpers.js +0 -53
  319. package/node_modules/@tootallnate/quickjs-emscripten/dist/asyncify-helpers.js.map +0 -1
  320. package/node_modules/@tootallnate/quickjs-emscripten/dist/context-asyncify.d.ts +0 -48
  321. package/node_modules/@tootallnate/quickjs-emscripten/dist/context-asyncify.js +0 -58
  322. package/node_modules/@tootallnate/quickjs-emscripten/dist/context-asyncify.js.map +0 -1
  323. package/node_modules/@tootallnate/quickjs-emscripten/dist/context.d.ts +0 -371
  324. package/node_modules/@tootallnate/quickjs-emscripten/dist/context.js +0 -691
  325. package/node_modules/@tootallnate/quickjs-emscripten/dist/context.js.map +0 -1
  326. package/node_modules/@tootallnate/quickjs-emscripten/dist/debug.d.ts +0 -5
  327. package/node_modules/@tootallnate/quickjs-emscripten/dist/debug.js +0 -6
  328. package/node_modules/@tootallnate/quickjs-emscripten/dist/debug.js.map +0 -1
  329. package/node_modules/@tootallnate/quickjs-emscripten/dist/deferred-promise.d.ts +0 -75
  330. package/node_modules/@tootallnate/quickjs-emscripten/dist/deferred-promise.js +0 -96
  331. package/node_modules/@tootallnate/quickjs-emscripten/dist/deferred-promise.js.map +0 -1
  332. package/node_modules/@tootallnate/quickjs-emscripten/dist/emscripten-types.d.ts +0 -97
  333. package/node_modules/@tootallnate/quickjs-emscripten/dist/emscripten-types.js +0 -15
  334. package/node_modules/@tootallnate/quickjs-emscripten/dist/emscripten-types.js.map +0 -1
  335. package/node_modules/@tootallnate/quickjs-emscripten/dist/errors.d.ts +0 -28
  336. package/node_modules/@tootallnate/quickjs-emscripten/dist/errors.js +0 -58
  337. package/node_modules/@tootallnate/quickjs-emscripten/dist/errors.js.map +0 -1
  338. package/node_modules/@tootallnate/quickjs-emscripten/dist/esmHelpers.d.ts +0 -9
  339. package/node_modules/@tootallnate/quickjs-emscripten/dist/esmHelpers.js +0 -19
  340. package/node_modules/@tootallnate/quickjs-emscripten/dist/esmHelpers.js.map +0 -1
  341. package/node_modules/@tootallnate/quickjs-emscripten/dist/generated/emscripten-module.WASM_RELEASE_SYNC.d.ts +0 -5
  342. package/node_modules/@tootallnate/quickjs-emscripten/dist/generated/emscripten-module.WASM_RELEASE_SYNC.js +0 -387
  343. package/node_modules/@tootallnate/quickjs-emscripten/dist/generated/emscripten-module.WASM_RELEASE_SYNC.js.map +0 -1
  344. package/node_modules/@tootallnate/quickjs-emscripten/dist/generated/ffi.WASM_RELEASE_SYNC.d.ts +0 -67
  345. package/node_modules/@tootallnate/quickjs-emscripten/dist/generated/ffi.WASM_RELEASE_SYNC.js +0 -71
  346. package/node_modules/@tootallnate/quickjs-emscripten/dist/generated/ffi.WASM_RELEASE_SYNC.js.map +0 -1
  347. package/node_modules/@tootallnate/quickjs-emscripten/dist/index.d.ts +0 -75
  348. package/node_modules/@tootallnate/quickjs-emscripten/dist/index.js +0 -128
  349. package/node_modules/@tootallnate/quickjs-emscripten/dist/index.js.map +0 -1
  350. package/node_modules/@tootallnate/quickjs-emscripten/dist/lifetime.d.ts +0 -115
  351. package/node_modules/@tootallnate/quickjs-emscripten/dist/lifetime.js +0 -227
  352. package/node_modules/@tootallnate/quickjs-emscripten/dist/lifetime.js.map +0 -1
  353. package/node_modules/@tootallnate/quickjs-emscripten/dist/memory.d.ts +0 -18
  354. package/node_modules/@tootallnate/quickjs-emscripten/dist/memory.js +0 -41
  355. package/node_modules/@tootallnate/quickjs-emscripten/dist/memory.js.map +0 -1
  356. package/node_modules/@tootallnate/quickjs-emscripten/dist/module-asyncify.d.ts +0 -53
  357. package/node_modules/@tootallnate/quickjs-emscripten/dist/module-asyncify.js +0 -97
  358. package/node_modules/@tootallnate/quickjs-emscripten/dist/module-asyncify.js.map +0 -1
  359. package/node_modules/@tootallnate/quickjs-emscripten/dist/module-test.d.ts +0 -27
  360. package/node_modules/@tootallnate/quickjs-emscripten/dist/module-test.js +0 -77
  361. package/node_modules/@tootallnate/quickjs-emscripten/dist/module-test.js.map +0 -1
  362. package/node_modules/@tootallnate/quickjs-emscripten/dist/module.d.ts +0 -152
  363. package/node_modules/@tootallnate/quickjs-emscripten/dist/module.js +0 -302
  364. package/node_modules/@tootallnate/quickjs-emscripten/dist/module.js.map +0 -1
  365. package/node_modules/@tootallnate/quickjs-emscripten/dist/runtime-asyncify.d.ts +0 -38
  366. package/node_modules/@tootallnate/quickjs-emscripten/dist/runtime-asyncify.js +0 -49
  367. package/node_modules/@tootallnate/quickjs-emscripten/dist/runtime-asyncify.js.map +0 -1
  368. package/node_modules/@tootallnate/quickjs-emscripten/dist/runtime.d.ts +0 -174
  369. package/node_modules/@tootallnate/quickjs-emscripten/dist/runtime.js +0 -300
  370. package/node_modules/@tootallnate/quickjs-emscripten/dist/runtime.js.map +0 -1
  371. package/node_modules/@tootallnate/quickjs-emscripten/dist/types-ffi.d.ts +0 -114
  372. package/node_modules/@tootallnate/quickjs-emscripten/dist/types-ffi.js +0 -38
  373. package/node_modules/@tootallnate/quickjs-emscripten/dist/types-ffi.js.map +0 -1
  374. package/node_modules/@tootallnate/quickjs-emscripten/dist/types.d.ts +0 -158
  375. package/node_modules/@tootallnate/quickjs-emscripten/dist/types.js +0 -58
  376. package/node_modules/@tootallnate/quickjs-emscripten/dist/types.js.map +0 -1
  377. package/node_modules/@tootallnate/quickjs-emscripten/dist/variants.d.ts +0 -113
  378. package/node_modules/@tootallnate/quickjs-emscripten/dist/variants.js +0 -169
  379. package/node_modules/@tootallnate/quickjs-emscripten/dist/variants.js.map +0 -1
  380. package/node_modules/@tootallnate/quickjs-emscripten/dist/vm-interface.d.ts +0 -68
  381. package/node_modules/@tootallnate/quickjs-emscripten/dist/vm-interface.js +0 -12
  382. package/node_modules/@tootallnate/quickjs-emscripten/dist/vm-interface.js.map +0 -1
  383. package/node_modules/@tootallnate/quickjs-emscripten/package.json +0 -60
  384. package/node_modules/@types/mime-types/LICENSE +0 -21
  385. package/node_modules/@types/mime-types/README.md +0 -28
  386. package/node_modules/@types/mime-types/index.d.ts +0 -9
  387. package/node_modules/@types/mime-types/package.json +0 -25
  388. package/node_modules/@types/yauzl/LICENSE +0 -21
  389. package/node_modules/@types/yauzl/README.md +0 -15
  390. package/node_modules/@types/yauzl/index.d.ts +0 -110
  391. package/node_modules/@types/yauzl/package.json +0 -27
  392. package/node_modules/ansi-regex/index.d.ts +0 -33
  393. package/node_modules/ansi-regex/index.js +0 -14
  394. package/node_modules/ansi-regex/license +0 -9
  395. package/node_modules/ansi-regex/package.json +0 -61
  396. package/node_modules/ansi-regex/readme.md +0 -66
  397. package/node_modules/ansi-styles/index.d.ts +0 -345
  398. package/node_modules/ansi-styles/index.js +0 -163
  399. package/node_modules/ansi-styles/package.json +0 -56
  400. package/node_modules/ansi-styles/readme.md +0 -152
  401. package/node_modules/any-promise/.jshintrc +0 -4
  402. package/node_modules/any-promise/.npmignore +0 -7
  403. package/node_modules/any-promise/LICENSE +0 -19
  404. package/node_modules/any-promise/README.md +0 -161
  405. package/node_modules/any-promise/implementation.d.ts +0 -3
  406. package/node_modules/any-promise/implementation.js +0 -1
  407. package/node_modules/any-promise/index.d.ts +0 -73
  408. package/node_modules/any-promise/index.js +0 -1
  409. package/node_modules/any-promise/loader.js +0 -78
  410. package/node_modules/any-promise/optional.js +0 -6
  411. package/node_modules/any-promise/package.json +0 -45
  412. package/node_modules/any-promise/register/bluebird.d.ts +0 -1
  413. package/node_modules/any-promise/register/bluebird.js +0 -2
  414. package/node_modules/any-promise/register/es6-promise.d.ts +0 -1
  415. package/node_modules/any-promise/register/es6-promise.js +0 -2
  416. package/node_modules/any-promise/register/lie.d.ts +0 -1
  417. package/node_modules/any-promise/register/lie.js +0 -2
  418. package/node_modules/any-promise/register/native-promise-only.d.ts +0 -1
  419. package/node_modules/any-promise/register/native-promise-only.js +0 -2
  420. package/node_modules/any-promise/register/pinkie.d.ts +0 -1
  421. package/node_modules/any-promise/register/pinkie.js +0 -2
  422. package/node_modules/any-promise/register/promise.d.ts +0 -1
  423. package/node_modules/any-promise/register/promise.js +0 -2
  424. package/node_modules/any-promise/register/q.d.ts +0 -1
  425. package/node_modules/any-promise/register/q.js +0 -2
  426. package/node_modules/any-promise/register/rsvp.d.ts +0 -1
  427. package/node_modules/any-promise/register/rsvp.js +0 -2
  428. package/node_modules/any-promise/register/vow.d.ts +0 -1
  429. package/node_modules/any-promise/register/vow.js +0 -2
  430. package/node_modules/any-promise/register/when.d.ts +0 -1
  431. package/node_modules/any-promise/register/when.js +0 -2
  432. package/node_modules/any-promise/register-shim.js +0 -18
  433. package/node_modules/any-promise/register.d.ts +0 -17
  434. package/node_modules/any-promise/register.js +0 -94
  435. package/node_modules/ast-types/.github/dependabot.yml +0 -9
  436. package/node_modules/ast-types/.github/workflows/main.yml +0 -29
  437. package/node_modules/ast-types/LICENSE +0 -20
  438. package/node_modules/ast-types/README.md +0 -512
  439. package/node_modules/ast-types/def/babel-core.d.ts +0 -2
  440. package/node_modules/ast-types/def/babel-core.js +0 -256
  441. package/node_modules/ast-types/def/babel.d.ts +0 -2
  442. package/node_modules/ast-types/def/babel.js +0 -11
  443. package/node_modules/ast-types/def/core.d.ts +0 -2
  444. package/node_modules/ast-types/def/core.js +0 -298
  445. package/node_modules/ast-types/def/es-proposals.d.ts +0 -2
  446. package/node_modules/ast-types/def/es-proposals.js +0 -33
  447. package/node_modules/ast-types/def/es2020.d.ts +0 -2
  448. package/node_modules/ast-types/def/es2020.js +0 -16
  449. package/node_modules/ast-types/def/es6.d.ts +0 -2
  450. package/node_modules/ast-types/def/es6.js +0 -210
  451. package/node_modules/ast-types/def/es7.d.ts +0 -2
  452. package/node_modules/ast-types/def/es7.js +0 -34
  453. package/node_modules/ast-types/def/esprima.d.ts +0 -2
  454. package/node_modules/ast-types/def/esprima.js +0 -49
  455. package/node_modules/ast-types/def/flow.d.ts +0 -2
  456. package/node_modules/ast-types/def/flow.js +0 -292
  457. package/node_modules/ast-types/def/jsx.d.ts +0 -2
  458. package/node_modules/ast-types/def/jsx.js +0 -103
  459. package/node_modules/ast-types/def/type-annotations.d.ts +0 -7
  460. package/node_modules/ast-types/def/type-annotations.js +0 -40
  461. package/node_modules/ast-types/def/typescript.d.ts +0 -2
  462. package/node_modules/ast-types/def/typescript.js +0 -344
  463. package/node_modules/ast-types/fork.d.ts +0 -42
  464. package/node_modules/ast-types/fork.js +0 -52
  465. package/node_modules/ast-types/gen/builders.d.ts +0 -2584
  466. package/node_modules/ast-types/gen/builders.js +0 -2
  467. package/node_modules/ast-types/gen/kinds.d.ts +0 -264
  468. package/node_modules/ast-types/gen/kinds.js +0 -2
  469. package/node_modules/ast-types/gen/namedTypes.d.ts +0 -1809
  470. package/node_modules/ast-types/gen/namedTypes.js +0 -6
  471. package/node_modules/ast-types/gen/visitor.d.ts +0 -268
  472. package/node_modules/ast-types/gen/visitor.js +0 -2
  473. package/node_modules/ast-types/lib/equiv.d.ts +0 -5
  474. package/node_modules/ast-types/lib/equiv.js +0 -154
  475. package/node_modules/ast-types/lib/node-path.d.ts +0 -22
  476. package/node_modules/ast-types/lib/node-path.js +0 -411
  477. package/node_modules/ast-types/lib/path-visitor.d.ts +0 -52
  478. package/node_modules/ast-types/lib/path-visitor.js +0 -343
  479. package/node_modules/ast-types/lib/path.d.ts +0 -25
  480. package/node_modules/ast-types/lib/path.js +0 -331
  481. package/node_modules/ast-types/lib/scope.d.ts +0 -26
  482. package/node_modules/ast-types/lib/scope.js +0 -318
  483. package/node_modules/ast-types/lib/shared.d.ts +0 -13
  484. package/node_modules/ast-types/lib/shared.js +0 -47
  485. package/node_modules/ast-types/lib/types.d.ts +0 -136
  486. package/node_modules/ast-types/lib/types.js +0 -780
  487. package/node_modules/ast-types/main.d.ts +0 -28
  488. package/node_modules/ast-types/main.js +0 -53
  489. package/node_modules/ast-types/package.json +0 -65
  490. package/node_modules/ast-types/tsconfig.json +0 -21
  491. package/node_modules/ast-types/types.d.ts +0 -6
  492. package/node_modules/ast-types/types.js +0 -2
  493. package/node_modules/basic-ftp/LICENSE.txt +0 -19
  494. package/node_modules/basic-ftp/README.md +0 -244
  495. package/node_modules/basic-ftp/dist/Client.d.ts +0 -340
  496. package/node_modules/basic-ftp/dist/Client.js +0 -785
  497. package/node_modules/basic-ftp/dist/FileInfo.d.ts +0 -80
  498. package/node_modules/basic-ftp/dist/FileInfo.js +0 -92
  499. package/node_modules/basic-ftp/dist/FtpContext.d.ts +0 -175
  500. package/node_modules/basic-ftp/dist/FtpContext.js +0 -375
  501. package/node_modules/basic-ftp/dist/ProgressTracker.d.ts +0 -45
  502. package/node_modules/basic-ftp/dist/ProgressTracker.js +0 -72
  503. package/node_modules/basic-ftp/dist/StringEncoding.d.ts +0 -1
  504. package/node_modules/basic-ftp/dist/StringEncoding.js +0 -2
  505. package/node_modules/basic-ftp/dist/StringWriter.d.ts +0 -10
  506. package/node_modules/basic-ftp/dist/StringWriter.js +0 -29
  507. package/node_modules/basic-ftp/dist/index.d.ts +0 -9
  508. package/node_modules/basic-ftp/dist/index.js +0 -28
  509. package/node_modules/basic-ftp/dist/netUtils.d.ts +0 -21
  510. package/node_modules/basic-ftp/dist/netUtils.js +0 -66
  511. package/node_modules/basic-ftp/dist/parseControlResponse.d.ts +0 -22
  512. package/node_modules/basic-ftp/dist/parseControlResponse.js +0 -66
  513. package/node_modules/basic-ftp/dist/parseList.d.ts +0 -5
  514. package/node_modules/basic-ftp/dist/parseList.js +0 -79
  515. package/node_modules/basic-ftp/dist/parseListDOS.d.ts +0 -12
  516. package/node_modules/basic-ftp/dist/parseListDOS.js +0 -52
  517. package/node_modules/basic-ftp/dist/parseListMLSD.d.ts +0 -20
  518. package/node_modules/basic-ftp/dist/parseListMLSD.js +0 -187
  519. package/node_modules/basic-ftp/dist/parseListUnix.d.ts +0 -12
  520. package/node_modules/basic-ftp/dist/parseListUnix.js +0 -155
  521. package/node_modules/basic-ftp/dist/transfer.d.ts +0 -39
  522. package/node_modules/basic-ftp/dist/transfer.js +0 -318
  523. package/node_modules/basic-ftp/package.json +0 -52
  524. package/node_modules/buffer-crc32/LICENSE +0 -19
  525. package/node_modules/buffer-crc32/README.md +0 -47
  526. package/node_modules/buffer-crc32/index.js +0 -111
  527. package/node_modules/buffer-crc32/package.json +0 -39
  528. package/node_modules/cli-highlight/LICENSE.txt +0 -15
  529. package/node_modules/cli-highlight/README.md +0 -88
  530. package/node_modules/cli-highlight/bin/highlight +0 -2
  531. package/node_modules/cli-highlight/dist/cli.d.ts +0 -1
  532. package/node_modules/cli-highlight/dist/cli.js +0 -102
  533. package/node_modules/cli-highlight/dist/cli.js.map +0 -1
  534. package/node_modules/cli-highlight/dist/index.d.ts +0 -53
  535. package/node_modules/cli-highlight/dist/index.js +0 -112
  536. package/node_modules/cli-highlight/dist/index.js.map +0 -1
  537. package/node_modules/cli-highlight/dist/test/test.d.ts +0 -1
  538. package/node_modules/cli-highlight/dist/test/test.js +0 -62
  539. package/node_modules/cli-highlight/dist/test/test.js.map +0 -1
  540. package/node_modules/cli-highlight/dist/theme.d.ts +0 -270
  541. package/node_modules/cli-highlight/dist/theme.js +0 -265
  542. package/node_modules/cli-highlight/dist/theme.js.map +0 -1
  543. package/node_modules/cli-highlight/node_modules/chalk/index.d.ts +0 -415
  544. package/node_modules/cli-highlight/node_modules/chalk/package.json +0 -68
  545. package/node_modules/cli-highlight/node_modules/chalk/readme.md +0 -341
  546. package/node_modules/cli-highlight/node_modules/chalk/source/index.js +0 -229
  547. package/node_modules/cli-highlight/node_modules/chalk/source/templates.js +0 -134
  548. package/node_modules/cli-highlight/node_modules/chalk/source/util.js +0 -39
  549. package/node_modules/cli-highlight/package.json +0 -129
  550. package/node_modules/cliui/LICENSE.txt +0 -14
  551. package/node_modules/cliui/README.md +0 -141
  552. package/node_modules/cliui/build/index.cjs +0 -302
  553. package/node_modules/cliui/build/lib/index.js +0 -287
  554. package/node_modules/cliui/build/lib/string-utils.js +0 -27
  555. package/node_modules/cliui/index.mjs +0 -13
  556. package/node_modules/cliui/node_modules/ansi-regex/index.d.ts +0 -37
  557. package/node_modules/cliui/node_modules/ansi-regex/index.js +0 -10
  558. package/node_modules/cliui/node_modules/ansi-regex/license +0 -9
  559. package/node_modules/cliui/node_modules/ansi-regex/package.json +0 -55
  560. package/node_modules/cliui/node_modules/ansi-regex/readme.md +0 -78
  561. package/node_modules/cliui/node_modules/strip-ansi/index.d.ts +0 -17
  562. package/node_modules/cliui/node_modules/strip-ansi/index.js +0 -4
  563. package/node_modules/cliui/node_modules/strip-ansi/license +0 -9
  564. package/node_modules/cliui/node_modules/strip-ansi/package.json +0 -54
  565. package/node_modules/cliui/node_modules/strip-ansi/readme.md +0 -46
  566. package/node_modules/cliui/package.json +0 -83
  567. package/node_modules/color-convert/LICENSE +0 -21
  568. package/node_modules/color-convert/README.md +0 -68
  569. package/node_modules/color-convert/conversions.js +0 -839
  570. package/node_modules/color-convert/index.js +0 -81
  571. package/node_modules/color-convert/package.json +0 -48
  572. package/node_modules/color-convert/route.js +0 -97
  573. package/node_modules/color-name/LICENSE +0 -8
  574. package/node_modules/color-name/README.md +0 -11
  575. package/node_modules/color-name/index.js +0 -152
  576. package/node_modules/color-name/package.json +0 -28
  577. package/node_modules/degenerator/README.md +0 -117
  578. package/node_modules/degenerator/dist/compile.d.ts +0 -11
  579. package/node_modules/degenerator/dist/compile.d.ts.map +0 -1
  580. package/node_modules/degenerator/dist/compile.js +0 -107
  581. package/node_modules/degenerator/dist/compile.js.map +0 -1
  582. package/node_modules/degenerator/dist/degenerator.d.ts +0 -12
  583. package/node_modules/degenerator/dist/degenerator.d.ts.map +0 -1
  584. package/node_modules/degenerator/dist/degenerator.js +0 -156
  585. package/node_modules/degenerator/dist/degenerator.js.map +0 -1
  586. package/node_modules/degenerator/dist/index.d.ts +0 -3
  587. package/node_modules/degenerator/dist/index.d.ts.map +0 -1
  588. package/node_modules/degenerator/dist/index.js +0 -19
  589. package/node_modules/degenerator/dist/index.js.map +0 -1
  590. package/node_modules/degenerator/package.json +0 -42
  591. package/node_modules/emoji-regex/LICENSE-MIT.txt +0 -20
  592. package/node_modules/emoji-regex/README.md +0 -73
  593. package/node_modules/emoji-regex/es2015/index.js +0 -6
  594. package/node_modules/emoji-regex/es2015/text.js +0 -6
  595. package/node_modules/emoji-regex/index.d.ts +0 -23
  596. package/node_modules/emoji-regex/index.js +0 -6
  597. package/node_modules/emoji-regex/package.json +0 -50
  598. package/node_modules/emoji-regex/text.js +0 -6
  599. package/node_modules/end-of-stream/LICENSE +0 -21
  600. package/node_modules/end-of-stream/README.md +0 -54
  601. package/node_modules/end-of-stream/index.js +0 -96
  602. package/node_modules/end-of-stream/package.json +0 -37
  603. package/node_modules/escalade/dist/index.js +0 -22
  604. package/node_modules/escalade/dist/index.mjs +0 -22
  605. package/node_modules/escalade/index.d.mts +0 -11
  606. package/node_modules/escalade/index.d.ts +0 -15
  607. package/node_modules/escalade/license +0 -9
  608. package/node_modules/escalade/package.json +0 -74
  609. package/node_modules/escalade/readme.md +0 -211
  610. package/node_modules/escalade/sync/index.d.mts +0 -9
  611. package/node_modules/escalade/sync/index.d.ts +0 -13
  612. package/node_modules/escalade/sync/index.js +0 -18
  613. package/node_modules/escalade/sync/index.mjs +0 -18
  614. package/node_modules/escodegen/LICENSE.BSD +0 -21
  615. package/node_modules/escodegen/README.md +0 -84
  616. package/node_modules/escodegen/bin/escodegen.js +0 -77
  617. package/node_modules/escodegen/bin/esgenerate.js +0 -64
  618. package/node_modules/escodegen/escodegen.js +0 -2667
  619. package/node_modules/escodegen/package.json +0 -63
  620. package/node_modules/esprima/LICENSE.BSD +0 -21
  621. package/node_modules/esprima/README.md +0 -46
  622. package/node_modules/esprima/bin/esparse.js +0 -139
  623. package/node_modules/esprima/bin/esvalidate.js +0 -236
  624. package/node_modules/esprima/dist/esprima.js +0 -6709
  625. package/node_modules/esprima/package.json +0 -112
  626. package/node_modules/estraverse/.jshintrc +0 -16
  627. package/node_modules/estraverse/LICENSE.BSD +0 -19
  628. package/node_modules/estraverse/README.md +0 -153
  629. package/node_modules/estraverse/estraverse.js +0 -805
  630. package/node_modules/estraverse/gulpfile.js +0 -70
  631. package/node_modules/estraverse/package.json +0 -40
  632. package/node_modules/esutils/LICENSE.BSD +0 -19
  633. package/node_modules/esutils/README.md +0 -174
  634. package/node_modules/esutils/lib/ast.js +0 -144
  635. package/node_modules/esutils/lib/code.js +0 -135
  636. package/node_modules/esutils/lib/keyword.js +0 -165
  637. package/node_modules/esutils/lib/utils.js +0 -33
  638. package/node_modules/esutils/package.json +0 -44
  639. package/node_modules/extract-zip/LICENSE +0 -23
  640. package/node_modules/extract-zip/cli.js +0 -19
  641. package/node_modules/extract-zip/index.d.ts +0 -21
  642. package/node_modules/extract-zip/index.js +0 -173
  643. package/node_modules/extract-zip/package.json +0 -80
  644. package/node_modules/extract-zip/readme.md +0 -57
  645. package/node_modules/fd-slicer/.npmignore +0 -2
  646. package/node_modules/fd-slicer/.travis.yml +0 -7
  647. package/node_modules/fd-slicer/CHANGELOG.md +0 -49
  648. package/node_modules/fd-slicer/LICENSE +0 -21
  649. package/node_modules/fd-slicer/README.md +0 -199
  650. package/node_modules/fd-slicer/index.js +0 -296
  651. package/node_modules/fd-slicer/package.json +0 -36
  652. package/node_modules/fd-slicer/test/test.js +0 -350
  653. package/node_modules/file-type/core.d.ts +0 -253
  654. package/node_modules/file-type/core.js +0 -2899
  655. package/node_modules/file-type/index.d.ts +0 -98
  656. package/node_modules/file-type/index.js +0 -163
  657. package/node_modules/file-type/license +0 -9
  658. package/node_modules/file-type/package.json +0 -290
  659. package/node_modules/file-type/readme.md +0 -667
  660. package/node_modules/file-type/supported.js +0 -360
  661. package/node_modules/file-type/util.js +0 -60
  662. package/node_modules/get-caller-file/LICENSE.md +0 -6
  663. package/node_modules/get-caller-file/README.md +0 -41
  664. package/node_modules/get-caller-file/index.d.ts +0 -2
  665. package/node_modules/get-caller-file/index.js +0 -22
  666. package/node_modules/get-caller-file/index.js.map +0 -1
  667. package/node_modules/get-caller-file/package.json +0 -42
  668. package/node_modules/get-stream/buffer-stream.js +0 -52
  669. package/node_modules/get-stream/index.d.ts +0 -108
  670. package/node_modules/get-stream/index.js +0 -60
  671. package/node_modules/get-stream/license +0 -9
  672. package/node_modules/get-stream/package.json +0 -50
  673. package/node_modules/get-stream/readme.md +0 -124
  674. package/node_modules/get-uri/LICENSE +0 -22
  675. package/node_modules/get-uri/README.md +0 -109
  676. package/node_modules/get-uri/dist/data.d.ts +0 -16
  677. package/node_modules/get-uri/dist/data.js +0 -43
  678. package/node_modules/get-uri/dist/data.js.map +0 -1
  679. package/node_modules/get-uri/dist/file.d.ts +0 -17
  680. package/node_modules/get-uri/dist/file.js +0 -57
  681. package/node_modules/get-uri/dist/file.js.map +0 -1
  682. package/node_modules/get-uri/dist/ftp.d.ts +0 -14
  683. package/node_modules/get-uri/dist/ftp.js +0 -93
  684. package/node_modules/get-uri/dist/ftp.js.map +0 -1
  685. package/node_modules/get-uri/dist/http-error.d.ts +0 -8
  686. package/node_modules/get-uri/dist/http-error.js +0 -15
  687. package/node_modules/get-uri/dist/http-error.js.map +0 -1
  688. package/node_modules/get-uri/dist/http.d.ts +0 -29
  689. package/node_modules/get-uri/dist/http.js +0 -191
  690. package/node_modules/get-uri/dist/http.js.map +0 -1
  691. package/node_modules/get-uri/dist/https.d.ts +0 -6
  692. package/node_modules/get-uri/dist/https.js +0 -16
  693. package/node_modules/get-uri/dist/https.js.map +0 -1
  694. package/node_modules/get-uri/dist/index.d.ts +0 -37
  695. package/node_modules/get-uri/dist/index.js +0 -57
  696. package/node_modules/get-uri/dist/index.js.map +0 -1
  697. package/node_modules/get-uri/dist/notfound.d.ts +0 -10
  698. package/node_modules/get-uri/dist/notfound.js +0 -16
  699. package/node_modules/get-uri/dist/notfound.js.map +0 -1
  700. package/node_modules/get-uri/dist/notmodified.d.ts +0 -10
  701. package/node_modules/get-uri/dist/notmodified.js +0 -17
  702. package/node_modules/get-uri/dist/notmodified.js.map +0 -1
  703. package/node_modules/get-uri/node_modules/data-uri-to-buffer/LICENSE +0 -22
  704. package/node_modules/get-uri/node_modules/data-uri-to-buffer/README.md +0 -61
  705. package/node_modules/get-uri/node_modules/data-uri-to-buffer/dist/common.d.ts +0 -17
  706. package/node_modules/get-uri/node_modules/data-uri-to-buffer/dist/common.d.ts.map +0 -1
  707. package/node_modules/get-uri/node_modules/data-uri-to-buffer/dist/common.js +0 -54
  708. package/node_modules/get-uri/node_modules/data-uri-to-buffer/dist/common.js.map +0 -1
  709. package/node_modules/get-uri/node_modules/data-uri-to-buffer/dist/index.d.ts +0 -8
  710. package/node_modules/get-uri/node_modules/data-uri-to-buffer/dist/index.d.ts.map +0 -1
  711. package/node_modules/get-uri/node_modules/data-uri-to-buffer/dist/index.js +0 -48
  712. package/node_modules/get-uri/node_modules/data-uri-to-buffer/dist/index.js.map +0 -1
  713. package/node_modules/get-uri/node_modules/data-uri-to-buffer/dist/node.d.ts +0 -8
  714. package/node_modules/get-uri/node_modules/data-uri-to-buffer/dist/node.d.ts.map +0 -1
  715. package/node_modules/get-uri/node_modules/data-uri-to-buffer/dist/node.js +0 -26
  716. package/node_modules/get-uri/node_modules/data-uri-to-buffer/dist/node.js.map +0 -1
  717. package/node_modules/get-uri/node_modules/data-uri-to-buffer/package.json +0 -48
  718. package/node_modules/get-uri/package.json +0 -58
  719. package/node_modules/has-flag/index.d.ts +0 -39
  720. package/node_modules/has-flag/index.js +0 -8
  721. package/node_modules/has-flag/license +0 -9
  722. package/node_modules/has-flag/package.json +0 -46
  723. package/node_modules/has-flag/readme.md +0 -89
  724. package/node_modules/ieee754/LICENSE +0 -11
  725. package/node_modules/ieee754/README.md +0 -51
  726. package/node_modules/ieee754/index.d.ts +0 -10
  727. package/node_modules/ieee754/index.js +0 -85
  728. package/node_modules/ieee754/package.json +0 -52
  729. package/node_modules/ip-address/LICENSE +0 -19
  730. package/node_modules/ip-address/README.md +0 -278
  731. package/node_modules/ip-address/dist/address-error.d.ts +0 -4
  732. package/node_modules/ip-address/dist/address-error.js +0 -12
  733. package/node_modules/ip-address/dist/address-error.js.map +0 -1
  734. package/node_modules/ip-address/dist/common.d.ts +0 -20
  735. package/node_modules/ip-address/dist/common.js +0 -67
  736. package/node_modules/ip-address/dist/common.js.map +0 -1
  737. package/node_modules/ip-address/dist/ip-address.d.ts +0 -7
  738. package/node_modules/ip-address/dist/ip-address.js +0 -35
  739. package/node_modules/ip-address/dist/ip-address.js.map +0 -1
  740. package/node_modules/ip-address/dist/ipv4.d.ts +0 -267
  741. package/node_modules/ip-address/dist/ipv4.js +0 -485
  742. package/node_modules/ip-address/dist/ipv4.js.map +0 -1
  743. package/node_modules/ip-address/dist/ipv6.d.ts +0 -489
  744. package/node_modules/ip-address/dist/ipv6.js +0 -1217
  745. package/node_modules/ip-address/dist/ipv6.js.map +0 -1
  746. package/node_modules/ip-address/dist/v4/constants.d.ts +0 -4
  747. package/node_modules/ip-address/dist/v4/constants.js +0 -8
  748. package/node_modules/ip-address/dist/v4/constants.js.map +0 -1
  749. package/node_modules/ip-address/dist/v6/constants.d.ts +0 -44
  750. package/node_modules/ip-address/dist/v6/constants.js +0 -81
  751. package/node_modules/ip-address/dist/v6/constants.js.map +0 -1
  752. package/node_modules/ip-address/dist/v6/helpers.d.ts +0 -18
  753. package/node_modules/ip-address/dist/v6/helpers.js +0 -54
  754. package/node_modules/ip-address/dist/v6/helpers.js.map +0 -1
  755. package/node_modules/ip-address/dist/v6/regular-expressions.d.ts +0 -5
  756. package/node_modules/ip-address/dist/v6/regular-expressions.js +0 -95
  757. package/node_modules/ip-address/dist/v6/regular-expressions.js.map +0 -1
  758. package/node_modules/ip-address/package.json +0 -88
  759. package/node_modules/is-fullwidth-code-point/index.d.ts +0 -17
  760. package/node_modules/is-fullwidth-code-point/index.js +0 -50
  761. package/node_modules/is-fullwidth-code-point/license +0 -9
  762. package/node_modules/is-fullwidth-code-point/package.json +0 -42
  763. package/node_modules/is-fullwidth-code-point/readme.md +0 -39
  764. package/node_modules/mime-db/HISTORY.md +0 -541
  765. package/node_modules/mime-db/LICENSE +0 -23
  766. package/node_modules/mime-db/README.md +0 -109
  767. package/node_modules/mime-db/db.json +0 -9342
  768. package/node_modules/mime-db/index.js +0 -12
  769. package/node_modules/mime-db/package.json +0 -56
  770. package/node_modules/mime-types/HISTORY.md +0 -428
  771. package/node_modules/mime-types/LICENSE +0 -23
  772. package/node_modules/mime-types/README.md +0 -126
  773. package/node_modules/mime-types/index.js +0 -211
  774. package/node_modules/mime-types/mimeScore.js +0 -57
  775. package/node_modules/mime-types/package.json +0 -49
  776. package/node_modules/mz/LICENSE +0 -22
  777. package/node_modules/mz/README.md +0 -106
  778. package/node_modules/mz/child_process.js +0 -8
  779. package/node_modules/mz/crypto.js +0 -9
  780. package/node_modules/mz/dns.js +0 -16
  781. package/node_modules/mz/fs.js +0 -62
  782. package/node_modules/mz/index.js +0 -8
  783. package/node_modules/mz/package.json +0 -44
  784. package/node_modules/mz/readline.js +0 -64
  785. package/node_modules/mz/zlib.js +0 -13
  786. package/node_modules/netmask/CHANGELOG.md +0 -66
  787. package/node_modules/netmask/LICENSE.md +0 -21
  788. package/node_modules/netmask/README.md +0 -112
  789. package/node_modules/netmask/dist/netmask.d.ts +0 -21
  790. package/node_modules/netmask/dist/netmask.js +0 -68
  791. package/node_modules/netmask/dist/netmask4.d.ts +0 -20
  792. package/node_modules/netmask/dist/netmask4.js +0 -189
  793. package/node_modules/netmask/dist/netmask6.d.ts +0 -20
  794. package/node_modules/netmask/dist/netmask6.js +0 -187
  795. package/node_modules/netmask/package.json +0 -45
  796. package/node_modules/object-assign/index.js +0 -90
  797. package/node_modules/object-assign/license +0 -21
  798. package/node_modules/object-assign/package.json +0 -42
  799. package/node_modules/object-assign/readme.md +0 -61
  800. package/node_modules/once/README.md +0 -79
  801. package/node_modules/once/once.js +0 -42
  802. package/node_modules/once/package.json +0 -33
  803. package/node_modules/pac-proxy-agent/LICENSE +0 -22
  804. package/node_modules/pac-proxy-agent/README.md +0 -27
  805. package/node_modules/pac-proxy-agent/dist/index.d.ts +0 -60
  806. package/node_modules/pac-proxy-agent/dist/index.d.ts.map +0 -1
  807. package/node_modules/pac-proxy-agent/dist/index.js +0 -238
  808. package/node_modules/pac-proxy-agent/dist/index.js.map +0 -1
  809. package/node_modules/pac-proxy-agent/package.json +0 -58
  810. package/node_modules/pac-resolver/LICENSE +0 -22
  811. package/node_modules/pac-resolver/README.md +0 -59
  812. package/node_modules/pac-resolver/dist/dateRange.d.ts +0 -67
  813. package/node_modules/pac-resolver/dist/dateRange.d.ts.map +0 -1
  814. package/node_modules/pac-resolver/dist/dateRange.js +0 -73
  815. package/node_modules/pac-resolver/dist/dateRange.js.map +0 -1
  816. package/node_modules/pac-resolver/dist/dnsDomainIs.d.ts +0 -23
  817. package/node_modules/pac-resolver/dist/dnsDomainIs.d.ts.map +0 -1
  818. package/node_modules/pac-resolver/dist/dnsDomainIs.js +0 -30
  819. package/node_modules/pac-resolver/dist/dnsDomainIs.js.map +0 -1
  820. package/node_modules/pac-resolver/dist/dnsDomainLevels.d.ts +0 -18
  821. package/node_modules/pac-resolver/dist/dnsDomainLevels.d.ts.map +0 -1
  822. package/node_modules/pac-resolver/dist/dnsDomainLevels.js +0 -28
  823. package/node_modules/pac-resolver/dist/dnsDomainLevels.js.map +0 -1
  824. package/node_modules/pac-resolver/dist/dnsResolve.d.ts +0 -16
  825. package/node_modules/pac-resolver/dist/dnsResolve.d.ts.map +0 -1
  826. package/node_modules/pac-resolver/dist/dnsResolve.js +0 -32
  827. package/node_modules/pac-resolver/dist/dnsResolve.js.map +0 -1
  828. package/node_modules/pac-resolver/dist/index.d.ts +0 -50
  829. package/node_modules/pac-resolver/dist/index.d.ts.map +0 -1
  830. package/node_modules/pac-resolver/dist/index.js +0 -87
  831. package/node_modules/pac-resolver/dist/index.js.map +0 -1
  832. package/node_modules/pac-resolver/dist/ip.d.ts +0 -8
  833. package/node_modules/pac-resolver/dist/ip.d.ts.map +0 -1
  834. package/node_modules/pac-resolver/dist/ip.js +0 -50
  835. package/node_modules/pac-resolver/dist/ip.js.map +0 -1
  836. package/node_modules/pac-resolver/dist/isInNet.d.ts +0 -24
  837. package/node_modules/pac-resolver/dist/isInNet.d.ts.map +0 -1
  838. package/node_modules/pac-resolver/dist/isInNet.js +0 -42
  839. package/node_modules/pac-resolver/dist/isInNet.js.map +0 -1
  840. package/node_modules/pac-resolver/dist/isPlainHostName.d.ts +0 -18
  841. package/node_modules/pac-resolver/dist/isPlainHostName.d.ts.map +0 -1
  842. package/node_modules/pac-resolver/dist/isPlainHostName.js +0 -23
  843. package/node_modules/pac-resolver/dist/isPlainHostName.js.map +0 -1
  844. package/node_modules/pac-resolver/dist/isResolvable.d.ts +0 -8
  845. package/node_modules/pac-resolver/dist/isResolvable.d.ts.map +0 -1
  846. package/node_modules/pac-resolver/dist/isResolvable.js +0 -23
  847. package/node_modules/pac-resolver/dist/isResolvable.js.map +0 -1
  848. package/node_modules/pac-resolver/dist/localHostOrDomainIs.d.ts +0 -26
  849. package/node_modules/pac-resolver/dist/localHostOrDomainIs.d.ts.map +0 -1
  850. package/node_modules/pac-resolver/dist/localHostOrDomainIs.js +0 -40
  851. package/node_modules/pac-resolver/dist/localHostOrDomainIs.js.map +0 -1
  852. package/node_modules/pac-resolver/dist/myIpAddress.d.ts +0 -16
  853. package/node_modules/pac-resolver/dist/myIpAddress.d.ts.map +0 -1
  854. package/node_modules/pac-resolver/dist/myIpAddress.js +0 -50
  855. package/node_modules/pac-resolver/dist/myIpAddress.js.map +0 -1
  856. package/node_modules/pac-resolver/dist/shExpMatch.d.ts +0 -23
  857. package/node_modules/pac-resolver/dist/shExpMatch.d.ts.map +0 -1
  858. package/node_modules/pac-resolver/dist/shExpMatch.js +0 -41
  859. package/node_modules/pac-resolver/dist/shExpMatch.js.map +0 -1
  860. package/node_modules/pac-resolver/dist/timeRange.d.ts +0 -43
  861. package/node_modules/pac-resolver/dist/timeRange.d.ts.map +0 -1
  862. package/node_modules/pac-resolver/dist/timeRange.js +0 -92
  863. package/node_modules/pac-resolver/dist/timeRange.js.map +0 -1
  864. package/node_modules/pac-resolver/dist/util.d.ts +0 -6
  865. package/node_modules/pac-resolver/dist/util.d.ts.map +0 -1
  866. package/node_modules/pac-resolver/dist/util.js +0 -22
  867. package/node_modules/pac-resolver/dist/util.js.map +0 -1
  868. package/node_modules/pac-resolver/dist/weekdayRange.d.ts +0 -45
  869. package/node_modules/pac-resolver/dist/weekdayRange.d.ts.map +0 -1
  870. package/node_modules/pac-resolver/dist/weekdayRange.js +0 -91
  871. package/node_modules/pac-resolver/dist/weekdayRange.js.map +0 -1
  872. package/node_modules/pac-resolver/package.json +0 -47
  873. package/node_modules/parse5/LICENSE +0 -19
  874. package/node_modules/parse5/README.md +0 -38
  875. package/node_modules/parse5/lib/common/doctype.js +0 -162
  876. package/node_modules/parse5/lib/common/error-codes.js +0 -65
  877. package/node_modules/parse5/lib/common/foreign-content.js +0 -265
  878. package/node_modules/parse5/lib/common/html.js +0 -272
  879. package/node_modules/parse5/lib/common/unicode.js +0 -109
  880. package/node_modules/parse5/lib/extensions/error-reporting/mixin-base.js +0 -43
  881. package/node_modules/parse5/lib/extensions/error-reporting/parser-mixin.js +0 -52
  882. package/node_modules/parse5/lib/extensions/error-reporting/preprocessor-mixin.js +0 -24
  883. package/node_modules/parse5/lib/extensions/error-reporting/tokenizer-mixin.js +0 -17
  884. package/node_modules/parse5/lib/extensions/location-info/open-element-stack-mixin.js +0 -35
  885. package/node_modules/parse5/lib/extensions/location-info/parser-mixin.js +0 -222
  886. package/node_modules/parse5/lib/extensions/location-info/tokenizer-mixin.js +0 -146
  887. package/node_modules/parse5/lib/extensions/position-tracking/preprocessor-mixin.js +0 -64
  888. package/node_modules/parse5/lib/index.js +0 -29
  889. package/node_modules/parse5/lib/parser/formatting-element-list.js +0 -181
  890. package/node_modules/parse5/lib/parser/index.js +0 -2956
  891. package/node_modules/parse5/lib/parser/open-element-stack.js +0 -482
  892. package/node_modules/parse5/lib/serializer/index.js +0 -176
  893. package/node_modules/parse5/lib/tokenizer/index.js +0 -2196
  894. package/node_modules/parse5/lib/tokenizer/named-entity-data.js +0 -5
  895. package/node_modules/parse5/lib/tokenizer/preprocessor.js +0 -159
  896. package/node_modules/parse5/lib/tree-adapters/default.js +0 -217
  897. package/node_modules/parse5/lib/utils/merge-options.js +0 -13
  898. package/node_modules/parse5/lib/utils/mixin.js +0 -39
  899. package/node_modules/parse5/package.json +0 -35
  900. package/node_modules/parse5-htmlparser2-tree-adapter/LICENSE +0 -19
  901. package/node_modules/parse5-htmlparser2-tree-adapter/README.md +0 -34
  902. package/node_modules/parse5-htmlparser2-tree-adapter/lib/index.js +0 -348
  903. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/LICENSE +0 -19
  904. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/README.md +0 -38
  905. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/common/doctype.js +0 -162
  906. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/common/error-codes.js +0 -65
  907. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/common/foreign-content.js +0 -265
  908. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/common/html.js +0 -272
  909. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/common/unicode.js +0 -109
  910. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/error-reporting/mixin-base.js +0 -43
  911. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/error-reporting/parser-mixin.js +0 -52
  912. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/error-reporting/preprocessor-mixin.js +0 -24
  913. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/error-reporting/tokenizer-mixin.js +0 -17
  914. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/location-info/open-element-stack-mixin.js +0 -35
  915. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/location-info/parser-mixin.js +0 -223
  916. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/location-info/tokenizer-mixin.js +0 -146
  917. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/position-tracking/preprocessor-mixin.js +0 -64
  918. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/index.js +0 -29
  919. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/parser/formatting-element-list.js +0 -181
  920. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/parser/index.js +0 -2956
  921. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/parser/open-element-stack.js +0 -482
  922. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/serializer/index.js +0 -176
  923. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/tokenizer/index.js +0 -2196
  924. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/tokenizer/named-entity-data.js +0 -5
  925. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/tokenizer/preprocessor.js +0 -159
  926. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/tree-adapters/default.js +0 -221
  927. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/utils/merge-options.js +0 -13
  928. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/utils/mixin.js +0 -39
  929. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/package.json +0 -35
  930. package/node_modules/parse5-htmlparser2-tree-adapter/package.json +0 -27
  931. package/node_modules/pend/LICENSE +0 -23
  932. package/node_modules/pend/README.md +0 -41
  933. package/node_modules/pend/index.js +0 -55
  934. package/node_modules/pend/package.json +0 -18
  935. package/node_modules/pend/test.js +0 -137
  936. package/node_modules/proxy-agent/LICENSE +0 -22
  937. package/node_modules/proxy-agent/README.md +0 -59
  938. package/node_modules/proxy-agent/dist/index.d.ts +0 -62
  939. package/node_modules/proxy-agent/dist/index.d.ts.map +0 -1
  940. package/node_modules/proxy-agent/dist/index.js +0 -138
  941. package/node_modules/proxy-agent/dist/index.js.map +0 -1
  942. package/node_modules/proxy-agent/node_modules/lru-cache/LICENSE +0 -15
  943. package/node_modules/proxy-agent/node_modules/lru-cache/README.md +0 -1117
  944. package/node_modules/proxy-agent/node_modules/lru-cache/index.d.ts +0 -869
  945. package/node_modules/proxy-agent/node_modules/lru-cache/index.js +0 -1227
  946. package/node_modules/proxy-agent/node_modules/lru-cache/index.mjs +0 -1227
  947. package/node_modules/proxy-agent/node_modules/lru-cache/package.json +0 -96
  948. package/node_modules/proxy-agent/package.json +0 -60
  949. package/node_modules/proxy-from-env/.eslintrc +0 -29
  950. package/node_modules/proxy-from-env/.travis.yml +0 -10
  951. package/node_modules/proxy-from-env/LICENSE +0 -20
  952. package/node_modules/proxy-from-env/README.md +0 -131
  953. package/node_modules/proxy-from-env/index.js +0 -108
  954. package/node_modules/proxy-from-env/package.json +0 -34
  955. package/node_modules/proxy-from-env/test.js +0 -483
  956. package/node_modules/pump/.github/FUNDING.yml +0 -2
  957. package/node_modules/pump/.travis.yml +0 -5
  958. package/node_modules/pump/LICENSE +0 -21
  959. package/node_modules/pump/README.md +0 -74
  960. package/node_modules/pump/SECURITY.md +0 -5
  961. package/node_modules/pump/empty.js +0 -1
  962. package/node_modules/pump/index.js +0 -86
  963. package/node_modules/pump/package.json +0 -30
  964. package/node_modules/pump/test-browser.js +0 -66
  965. package/node_modules/pump/test-node.js +0 -53
  966. package/node_modules/require-directory/.jshintrc +0 -67
  967. package/node_modules/require-directory/.npmignore +0 -1
  968. package/node_modules/require-directory/.travis.yml +0 -3
  969. package/node_modules/require-directory/LICENSE +0 -22
  970. package/node_modules/require-directory/README.markdown +0 -184
  971. package/node_modules/require-directory/index.js +0 -86
  972. package/node_modules/require-directory/package.json +0 -40
  973. package/node_modules/smart-buffer/.prettierrc.yaml +0 -5
  974. package/node_modules/smart-buffer/.travis.yml +0 -13
  975. package/node_modules/smart-buffer/LICENSE +0 -20
  976. package/node_modules/smart-buffer/README.md +0 -633
  977. package/node_modules/smart-buffer/build/smartbuffer.js +0 -1233
  978. package/node_modules/smart-buffer/build/smartbuffer.js.map +0 -1
  979. package/node_modules/smart-buffer/build/utils.js +0 -108
  980. package/node_modules/smart-buffer/build/utils.js.map +0 -1
  981. package/node_modules/smart-buffer/docs/CHANGELOG.md +0 -70
  982. package/node_modules/smart-buffer/docs/README_v3.md +0 -367
  983. package/node_modules/smart-buffer/docs/ROADMAP.md +0 -0
  984. package/node_modules/smart-buffer/package.json +0 -79
  985. package/node_modules/smart-buffer/typings/smartbuffer.d.ts +0 -755
  986. package/node_modules/smart-buffer/typings/utils.d.ts +0 -66
  987. package/node_modules/socks/.eslintrc.cjs +0 -11
  988. package/node_modules/socks/.prettierrc.yaml +0 -7
  989. package/node_modules/socks/LICENSE +0 -20
  990. package/node_modules/socks/README.md +0 -686
  991. package/node_modules/socks/build/client/socksclient.js +0 -793
  992. package/node_modules/socks/build/client/socksclient.js.map +0 -1
  993. package/node_modules/socks/build/common/constants.js +0 -108
  994. package/node_modules/socks/build/common/constants.js.map +0 -1
  995. package/node_modules/socks/build/common/helpers.js +0 -167
  996. package/node_modules/socks/build/common/helpers.js.map +0 -1
  997. package/node_modules/socks/build/common/receivebuffer.js +0 -43
  998. package/node_modules/socks/build/common/receivebuffer.js.map +0 -1
  999. package/node_modules/socks/build/common/util.js +0 -25
  1000. package/node_modules/socks/build/common/util.js.map +0 -1
  1001. package/node_modules/socks/build/index.js +0 -18
  1002. package/node_modules/socks/build/index.js.map +0 -1
  1003. package/node_modules/socks/docs/examples/index.md +0 -17
  1004. package/node_modules/socks/docs/examples/javascript/associateExample.md +0 -90
  1005. package/node_modules/socks/docs/examples/javascript/bindExample.md +0 -83
  1006. package/node_modules/socks/docs/examples/javascript/connectExample.md +0 -258
  1007. package/node_modules/socks/docs/examples/typescript/associateExample.md +0 -93
  1008. package/node_modules/socks/docs/examples/typescript/bindExample.md +0 -86
  1009. package/node_modules/socks/docs/examples/typescript/connectExample.md +0 -265
  1010. package/node_modules/socks/docs/index.md +0 -5
  1011. package/node_modules/socks/docs/migratingFromV1.md +0 -86
  1012. package/node_modules/socks/package.json +0 -58
  1013. package/node_modules/socks/typings/client/socksclient.d.ts +0 -162
  1014. package/node_modules/socks/typings/common/constants.d.ts +0 -151
  1015. package/node_modules/socks/typings/common/helpers.d.ts +0 -17
  1016. package/node_modules/socks/typings/common/receivebuffer.d.ts +0 -12
  1017. package/node_modules/socks/typings/common/util.d.ts +0 -14
  1018. package/node_modules/socks/typings/index.d.ts +0 -1
  1019. package/node_modules/socks-proxy-agent/LICENSE +0 -22
  1020. package/node_modules/socks-proxy-agent/README.md +0 -50
  1021. package/node_modules/socks-proxy-agent/dist/index.d.ts +0 -27
  1022. package/node_modules/socks-proxy-agent/dist/index.d.ts.map +0 -1
  1023. package/node_modules/socks-proxy-agent/dist/index.js +0 -195
  1024. package/node_modules/socks-proxy-agent/dist/index.js.map +0 -1
  1025. package/node_modules/socks-proxy-agent/package.json +0 -142
  1026. package/node_modules/source-map/LICENSE +0 -28
  1027. package/node_modules/source-map/README.md +0 -742
  1028. package/node_modules/source-map/dist/source-map.debug.js +0 -3234
  1029. package/node_modules/source-map/dist/source-map.js +0 -3233
  1030. package/node_modules/source-map/dist/source-map.min.js +0 -2
  1031. package/node_modules/source-map/dist/source-map.min.js.map +0 -1
  1032. package/node_modules/source-map/lib/array-set.js +0 -121
  1033. package/node_modules/source-map/lib/base64-vlq.js +0 -140
  1034. package/node_modules/source-map/lib/base64.js +0 -67
  1035. package/node_modules/source-map/lib/binary-search.js +0 -111
  1036. package/node_modules/source-map/lib/mapping-list.js +0 -79
  1037. package/node_modules/source-map/lib/quick-sort.js +0 -114
  1038. package/node_modules/source-map/lib/source-map-consumer.js +0 -1145
  1039. package/node_modules/source-map/lib/source-map-generator.js +0 -425
  1040. package/node_modules/source-map/lib/source-node.js +0 -413
  1041. package/node_modules/source-map/lib/util.js +0 -488
  1042. package/node_modules/source-map/package.json +0 -73
  1043. package/node_modules/source-map/source-map.d.ts +0 -98
  1044. package/node_modules/source-map/source-map.js +0 -8
  1045. package/node_modules/string-width/index.d.ts +0 -29
  1046. package/node_modules/string-width/index.js +0 -47
  1047. package/node_modules/string-width/license +0 -9
  1048. package/node_modules/string-width/node_modules/ansi-regex/index.d.ts +0 -37
  1049. package/node_modules/string-width/node_modules/ansi-regex/index.js +0 -10
  1050. package/node_modules/string-width/node_modules/ansi-regex/license +0 -9
  1051. package/node_modules/string-width/node_modules/ansi-regex/package.json +0 -55
  1052. package/node_modules/string-width/node_modules/ansi-regex/readme.md +0 -78
  1053. package/node_modules/string-width/node_modules/strip-ansi/index.d.ts +0 -17
  1054. package/node_modules/string-width/node_modules/strip-ansi/index.js +0 -4
  1055. package/node_modules/string-width/node_modules/strip-ansi/license +0 -9
  1056. package/node_modules/string-width/node_modules/strip-ansi/package.json +0 -54
  1057. package/node_modules/string-width/node_modules/strip-ansi/readme.md +0 -46
  1058. package/node_modules/string-width/package.json +0 -56
  1059. package/node_modules/string-width/readme.md +0 -50
  1060. package/node_modules/strip-ansi/index.d.ts +0 -15
  1061. package/node_modules/strip-ansi/index.js +0 -19
  1062. package/node_modules/strip-ansi/license +0 -9
  1063. package/node_modules/strip-ansi/package.json +0 -59
  1064. package/node_modules/strip-ansi/readme.md +0 -37
  1065. package/node_modules/strtok3/LICENSE.txt +0 -21
  1066. package/node_modules/strtok3/README.md +0 -399
  1067. package/node_modules/strtok3/lib/AbstractTokenizer.d.ts +0 -76
  1068. package/node_modules/strtok3/lib/AbstractTokenizer.js +0 -111
  1069. package/node_modules/strtok3/lib/BlobTokenizer.d.ts +0 -29
  1070. package/node_modules/strtok3/lib/BlobTokenizer.js +0 -53
  1071. package/node_modules/strtok3/lib/BufferTokenizer.d.ts +0 -29
  1072. package/node_modules/strtok3/lib/BufferTokenizer.js +0 -52
  1073. package/node_modules/strtok3/lib/FileTokenizer.d.ts +0 -37
  1074. package/node_modules/strtok3/lib/FileTokenizer.js +0 -61
  1075. package/node_modules/strtok3/lib/ReadStreamTokenizer.d.ts +0 -34
  1076. package/node_modules/strtok3/lib/ReadStreamTokenizer.js +0 -107
  1077. package/node_modules/strtok3/lib/core.d.ts +0 -40
  1078. package/node_modules/strtok3/lib/core.js +0 -62
  1079. package/node_modules/strtok3/lib/index.d.ts +0 -16
  1080. package/node_modules/strtok3/lib/index.js +0 -22
  1081. package/node_modules/strtok3/lib/stream/AbstractStreamReader.d.ts +0 -54
  1082. package/node_modules/strtok3/lib/stream/AbstractStreamReader.js +0 -71
  1083. package/node_modules/strtok3/lib/stream/Deferred.d.ts +0 -6
  1084. package/node_modules/strtok3/lib/stream/Deferred.js +0 -10
  1085. package/node_modules/strtok3/lib/stream/Errors.d.ts +0 -10
  1086. package/node_modules/strtok3/lib/stream/Errors.js +0 -16
  1087. package/node_modules/strtok3/lib/stream/StreamReader.d.ts +0 -29
  1088. package/node_modules/strtok3/lib/stream/StreamReader.js +0 -83
  1089. package/node_modules/strtok3/lib/stream/WebStreamByobReader.d.ts +0 -14
  1090. package/node_modules/strtok3/lib/stream/WebStreamByobReader.js +0 -27
  1091. package/node_modules/strtok3/lib/stream/WebStreamDefaultReader.d.ts +0 -19
  1092. package/node_modules/strtok3/lib/stream/WebStreamDefaultReader.js +0 -62
  1093. package/node_modules/strtok3/lib/stream/WebStreamReader.d.ts +0 -14
  1094. package/node_modules/strtok3/lib/stream/WebStreamReader.js +0 -13
  1095. package/node_modules/strtok3/lib/stream/WebStreamReaderFactory.d.ts +0 -5
  1096. package/node_modules/strtok3/lib/stream/WebStreamReaderFactory.js +0 -19
  1097. package/node_modules/strtok3/lib/stream/index.d.ts +0 -6
  1098. package/node_modules/strtok3/lib/stream/index.js +0 -5
  1099. package/node_modules/strtok3/lib/types.d.ts +0 -139
  1100. package/node_modules/strtok3/lib/types.js +0 -1
  1101. package/node_modules/strtok3/package.json +0 -94
  1102. package/node_modules/supports-color/browser.js +0 -5
  1103. package/node_modules/supports-color/index.js +0 -135
  1104. package/node_modules/supports-color/license +0 -9
  1105. package/node_modules/supports-color/package.json +0 -53
  1106. package/node_modules/supports-color/readme.md +0 -76
  1107. package/node_modules/thenify/LICENSE +0 -22
  1108. package/node_modules/thenify/README.md +0 -120
  1109. package/node_modules/thenify/index.js +0 -77
  1110. package/node_modules/thenify/package.json +0 -31
  1111. package/node_modules/thenify-all/LICENSE +0 -22
  1112. package/node_modules/thenify-all/README.md +0 -66
  1113. package/node_modules/thenify-all/index.js +0 -73
  1114. package/node_modules/thenify-all/package.json +0 -34
  1115. package/node_modules/token-types/LICENSE.txt +0 -9
  1116. package/node_modules/token-types/README.md +0 -120
  1117. package/node_modules/token-types/lib/index.d.ts +0 -135
  1118. package/node_modules/token-types/lib/index.js +0 -401
  1119. package/node_modules/token-types/package.json +0 -81
  1120. package/node_modules/uint8array-extras/index.d.ts +0 -331
  1121. package/node_modules/uint8array-extras/index.js +0 -318
  1122. package/node_modules/uint8array-extras/license +0 -9
  1123. package/node_modules/uint8array-extras/package.json +0 -54
  1124. package/node_modules/uint8array-extras/readme.md +0 -318
  1125. package/node_modules/uuid/LICENSE.md +0 -9
  1126. package/node_modules/uuid/README.md +0 -491
  1127. package/node_modules/uuid/dist/index.d.ts +0 -15
  1128. package/node_modules/uuid/dist/index.js +0 -14
  1129. package/node_modules/uuid/dist/max.d.ts +0 -2
  1130. package/node_modules/uuid/dist/max.js +0 -1
  1131. package/node_modules/uuid/dist/md5.d.ts +0 -2
  1132. package/node_modules/uuid/dist/md5.js +0 -135
  1133. package/node_modules/uuid/dist/nil.d.ts +0 -2
  1134. package/node_modules/uuid/dist/nil.js +0 -1
  1135. package/node_modules/uuid/dist/parse.d.ts +0 -3
  1136. package/node_modules/uuid/dist/parse.js +0 -9
  1137. package/node_modules/uuid/dist/regex.d.ts +0 -2
  1138. package/node_modules/uuid/dist/regex.js +0 -1
  1139. package/node_modules/uuid/dist/rng.d.ts +0 -1
  1140. package/node_modules/uuid/dist/rng.js +0 -4
  1141. package/node_modules/uuid/dist/sha1.d.ts +0 -2
  1142. package/node_modules/uuid/dist/sha1.js +0 -70
  1143. package/node_modules/uuid/dist/stringify.d.ts +0 -3
  1144. package/node_modules/uuid/dist/stringify.js +0 -35
  1145. package/node_modules/uuid/dist/types.d.ts +0 -22
  1146. package/node_modules/uuid/dist/types.js +0 -1
  1147. package/node_modules/uuid/dist/uuid-bin.d.ts +0 -1
  1148. package/node_modules/uuid/dist/uuid-bin.js +0 -70
  1149. package/node_modules/uuid/dist/v1.d.ts +0 -11
  1150. package/node_modules/uuid/dist/v1.js +0 -83
  1151. package/node_modules/uuid/dist/v1ToV6.d.ts +0 -3
  1152. package/node_modules/uuid/dist/v1ToV6.js +0 -10
  1153. package/node_modules/uuid/dist/v3.d.ts +0 -9
  1154. package/node_modules/uuid/dist/v3.js +0 -9
  1155. package/node_modules/uuid/dist/v35.d.ts +0 -7
  1156. package/node_modules/uuid/dist/v35.js +0 -39
  1157. package/node_modules/uuid/dist/v4.d.ts +0 -4
  1158. package/node_modules/uuid/dist/v4.js +0 -29
  1159. package/node_modules/uuid/dist/v5.d.ts +0 -9
  1160. package/node_modules/uuid/dist/v5.js +0 -9
  1161. package/node_modules/uuid/dist/v6.d.ts +0 -4
  1162. package/node_modules/uuid/dist/v6.js +0 -20
  1163. package/node_modules/uuid/dist/v6ToV1.d.ts +0 -2
  1164. package/node_modules/uuid/dist/v6ToV1.js +0 -10
  1165. package/node_modules/uuid/dist/v7.d.ts +0 -9
  1166. package/node_modules/uuid/dist/v7.js +0 -65
  1167. package/node_modules/uuid/dist/validate.d.ts +0 -2
  1168. package/node_modules/uuid/dist/validate.js +0 -5
  1169. package/node_modules/uuid/dist/version.d.ts +0 -2
  1170. package/node_modules/uuid/dist/version.js +0 -8
  1171. package/node_modules/uuid/dist-node/bin/uuid +0 -2
  1172. package/node_modules/uuid/dist-node/index.js +0 -14
  1173. package/node_modules/uuid/dist-node/max.js +0 -1
  1174. package/node_modules/uuid/dist-node/md5.js +0 -11
  1175. package/node_modules/uuid/dist-node/nil.js +0 -1
  1176. package/node_modules/uuid/dist-node/parse.js +0 -9
  1177. package/node_modules/uuid/dist-node/regex.js +0 -1
  1178. package/node_modules/uuid/dist-node/rng.js +0 -4
  1179. package/node_modules/uuid/dist-node/sha1.js +0 -11
  1180. package/node_modules/uuid/dist-node/stringify.js +0 -35
  1181. package/node_modules/uuid/dist-node/types.js +0 -1
  1182. package/node_modules/uuid/dist-node/uuid-bin.js +0 -70
  1183. package/node_modules/uuid/dist-node/v1.js +0 -83
  1184. package/node_modules/uuid/dist-node/v1ToV6.js +0 -10
  1185. package/node_modules/uuid/dist-node/v3.js +0 -9
  1186. package/node_modules/uuid/dist-node/v35.js +0 -39
  1187. package/node_modules/uuid/dist-node/v4.js +0 -29
  1188. package/node_modules/uuid/dist-node/v5.js +0 -9
  1189. package/node_modules/uuid/dist-node/v6.js +0 -20
  1190. package/node_modules/uuid/dist-node/v6ToV1.js +0 -10
  1191. package/node_modules/uuid/dist-node/v7.js +0 -65
  1192. package/node_modules/uuid/dist-node/validate.js +0 -5
  1193. package/node_modules/uuid/dist-node/version.js +0 -8
  1194. package/node_modules/uuid/package.json +0 -110
  1195. package/node_modules/wrap-ansi/index.js +0 -216
  1196. package/node_modules/wrap-ansi/license +0 -9
  1197. package/node_modules/wrap-ansi/node_modules/ansi-regex/index.d.ts +0 -37
  1198. package/node_modules/wrap-ansi/node_modules/ansi-regex/index.js +0 -10
  1199. package/node_modules/wrap-ansi/node_modules/ansi-regex/license +0 -9
  1200. package/node_modules/wrap-ansi/node_modules/ansi-regex/package.json +0 -55
  1201. package/node_modules/wrap-ansi/node_modules/ansi-regex/readme.md +0 -78
  1202. package/node_modules/wrap-ansi/node_modules/strip-ansi/index.d.ts +0 -17
  1203. package/node_modules/wrap-ansi/node_modules/strip-ansi/index.js +0 -4
  1204. package/node_modules/wrap-ansi/node_modules/strip-ansi/license +0 -9
  1205. package/node_modules/wrap-ansi/node_modules/strip-ansi/package.json +0 -54
  1206. package/node_modules/wrap-ansi/node_modules/strip-ansi/readme.md +0 -46
  1207. package/node_modules/wrap-ansi/package.json +0 -62
  1208. package/node_modules/wrap-ansi/readme.md +0 -91
  1209. package/node_modules/wrappy/README.md +0 -36
  1210. package/node_modules/wrappy/package.json +0 -29
  1211. package/node_modules/wrappy/wrappy.js +0 -33
  1212. package/node_modules/y18n/LICENSE +0 -13
  1213. package/node_modules/y18n/README.md +0 -127
  1214. package/node_modules/y18n/build/index.cjs +0 -203
  1215. package/node_modules/y18n/build/lib/cjs.js +0 -6
  1216. package/node_modules/y18n/build/lib/index.js +0 -174
  1217. package/node_modules/y18n/build/lib/platform-shims/node.js +0 -19
  1218. package/node_modules/y18n/index.mjs +0 -8
  1219. package/node_modules/y18n/package.json +0 -70
  1220. package/node_modules/yargs/LICENSE +0 -21
  1221. package/node_modules/yargs/README.md +0 -202
  1222. package/node_modules/yargs/browser.mjs +0 -7
  1223. package/node_modules/yargs/build/index.cjs +0 -2920
  1224. package/node_modules/yargs/build/lib/argsert.js +0 -62
  1225. package/node_modules/yargs/build/lib/command.js +0 -382
  1226. package/node_modules/yargs/build/lib/completion-templates.js +0 -47
  1227. package/node_modules/yargs/build/lib/completion.js +0 -128
  1228. package/node_modules/yargs/build/lib/middleware.js +0 -53
  1229. package/node_modules/yargs/build/lib/parse-command.js +0 -32
  1230. package/node_modules/yargs/build/lib/typings/common-types.js +0 -9
  1231. package/node_modules/yargs/build/lib/typings/yargs-parser-types.js +0 -1
  1232. package/node_modules/yargs/build/lib/usage.js +0 -548
  1233. package/node_modules/yargs/build/lib/utils/apply-extends.js +0 -59
  1234. package/node_modules/yargs/build/lib/utils/is-promise.js +0 -5
  1235. package/node_modules/yargs/build/lib/utils/levenshtein.js +0 -26
  1236. package/node_modules/yargs/build/lib/utils/obj-filter.js +0 -10
  1237. package/node_modules/yargs/build/lib/utils/process-argv.js +0 -17
  1238. package/node_modules/yargs/build/lib/utils/set-blocking.js +0 -12
  1239. package/node_modules/yargs/build/lib/utils/which-module.js +0 -10
  1240. package/node_modules/yargs/build/lib/validation.js +0 -308
  1241. package/node_modules/yargs/build/lib/yargs-factory.js +0 -1143
  1242. package/node_modules/yargs/build/lib/yerror.js +0 -7
  1243. package/node_modules/yargs/helpers/helpers.mjs +0 -10
  1244. package/node_modules/yargs/helpers/index.js +0 -14
  1245. package/node_modules/yargs/helpers/package.json +0 -3
  1246. package/node_modules/yargs/index.cjs +0 -39
  1247. package/node_modules/yargs/index.mjs +0 -8
  1248. package/node_modules/yargs/lib/platform-shims/browser.mjs +0 -92
  1249. package/node_modules/yargs/lib/platform-shims/esm.mjs +0 -67
  1250. package/node_modules/yargs/locales/be.json +0 -46
  1251. package/node_modules/yargs/locales/de.json +0 -46
  1252. package/node_modules/yargs/locales/en.json +0 -51
  1253. package/node_modules/yargs/locales/es.json +0 -46
  1254. package/node_modules/yargs/locales/fi.json +0 -49
  1255. package/node_modules/yargs/locales/fr.json +0 -53
  1256. package/node_modules/yargs/locales/hi.json +0 -49
  1257. package/node_modules/yargs/locales/hu.json +0 -46
  1258. package/node_modules/yargs/locales/id.json +0 -50
  1259. package/node_modules/yargs/locales/it.json +0 -46
  1260. package/node_modules/yargs/locales/ja.json +0 -51
  1261. package/node_modules/yargs/locales/ko.json +0 -49
  1262. package/node_modules/yargs/locales/nb.json +0 -44
  1263. package/node_modules/yargs/locales/nl.json +0 -49
  1264. package/node_modules/yargs/locales/nn.json +0 -44
  1265. package/node_modules/yargs/locales/pirate.json +0 -13
  1266. package/node_modules/yargs/locales/pl.json +0 -49
  1267. package/node_modules/yargs/locales/pt.json +0 -45
  1268. package/node_modules/yargs/locales/pt_BR.json +0 -48
  1269. package/node_modules/yargs/locales/ru.json +0 -46
  1270. package/node_modules/yargs/locales/th.json +0 -46
  1271. package/node_modules/yargs/locales/tr.json +0 -48
  1272. package/node_modules/yargs/locales/zh_CN.json +0 -48
  1273. package/node_modules/yargs/locales/zh_TW.json +0 -47
  1274. package/node_modules/yargs/package.json +0 -122
  1275. package/node_modules/yargs/yargs +0 -9
  1276. package/node_modules/yargs-parser/LICENSE.txt +0 -14
  1277. package/node_modules/yargs-parser/README.md +0 -518
  1278. package/node_modules/yargs-parser/browser.js +0 -29
  1279. package/node_modules/yargs-parser/build/index.cjs +0 -1042
  1280. package/node_modules/yargs-parser/build/lib/index.js +0 -59
  1281. package/node_modules/yargs-parser/build/lib/string-utils.js +0 -65
  1282. package/node_modules/yargs-parser/build/lib/tokenize-arg-string.js +0 -40
  1283. package/node_modules/yargs-parser/build/lib/yargs-parser-types.js +0 -12
  1284. package/node_modules/yargs-parser/build/lib/yargs-parser.js +0 -1037
  1285. package/node_modules/yargs-parser/package.json +0 -87
  1286. package/node_modules/yauzl/LICENSE +0 -21
  1287. package/node_modules/yauzl/README.md +0 -658
  1288. package/node_modules/yauzl/index.js +0 -796
  1289. package/node_modules/yauzl/package.json +0 -40
  1290. /package/node_modules/{once → isexe}/LICENSE +0 -0
  1291. /package/node_modules/{ansi-styles → path-key}/license +0 -0
  1292. /package/node_modules/{cli-highlight/node_modules/chalk → shebang-regex}/license +0 -0
  1293. /package/node_modules/{wrappy → which}/LICENSE +0 -0
@@ -0,0 +1,1427 @@
1
+ # Dispatcher
2
+
3
+ Extends: `events.EventEmitter`
4
+
5
+ Dispatcher is the core API used to dispatch requests.
6
+
7
+ Requests are not guaranteed to be dispatched in order of invocation.
8
+
9
+ ## Instance Methods
10
+
11
+ ### `Dispatcher.close([callback]): Promise`
12
+
13
+ Closes the dispatcher and gracefully waits for enqueued requests to complete before resolving.
14
+
15
+ Arguments:
16
+
17
+ * **callback** `(error: Error | null, data: null) => void` (optional)
18
+
19
+ Returns: `void | Promise<null>` - Only returns a `Promise` if no `callback` argument was passed
20
+
21
+ ```js
22
+ dispatcher.close() // -> Promise
23
+ dispatcher.close(() => {}) // -> void
24
+ ```
25
+
26
+ #### Example - Request resolves before Client closes
27
+
28
+ ```js
29
+ import { createServer } from 'http'
30
+ import { Client } from 'undici'
31
+ import { once } from 'events'
32
+
33
+ const server = createServer((request, response) => {
34
+ response.end('undici')
35
+ }).listen()
36
+
37
+ await once(server, 'listening')
38
+
39
+ const client = new Client(`http://localhost:${server.address().port}`)
40
+
41
+ try {
42
+ const { body } = await client.request({
43
+ path: '/',
44
+ method: 'GET'
45
+ })
46
+ body.setEncoding('utf8')
47
+ body.on('data', console.log)
48
+ } catch (error) {}
49
+
50
+ await client.close()
51
+
52
+ console.log('Client closed')
53
+ server.close()
54
+ ```
55
+
56
+ ### `Dispatcher.connect(options[, callback])`
57
+
58
+ Starts two-way communications with the requested resource using [HTTP CONNECT](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/CONNECT).
59
+
60
+ Arguments:
61
+
62
+ * **options** `ConnectOptions`
63
+ * **callback** `(err: Error | null, data: ConnectData | null) => void` (optional)
64
+
65
+ Returns: `void | Promise<ConnectData>` - Only returns a `Promise` if no `callback` argument was passed
66
+
67
+ #### Parameter: `ConnectOptions`
68
+
69
+ * **path** `string`
70
+ * **headers** `UndiciHeaders` (optional) - Default: `null`
71
+ * **signal** `AbortSignal | events.EventEmitter | null` (optional) - Default: `null`
72
+ * **opaque** `unknown` (optional) - This argument parameter is passed through to `ConnectData`
73
+
74
+ #### Parameter: `ConnectData`
75
+
76
+ * **statusCode** `number`
77
+ * **headers** `Record<string, string | string[] | undefined>`
78
+ * **socket** `stream.Duplex`
79
+ * **opaque** `unknown`
80
+
81
+ #### Example - Connect request with echo
82
+
83
+ ```js
84
+ import { createServer } from 'http'
85
+ import { Client } from 'undici'
86
+ import { once } from 'events'
87
+
88
+ const server = createServer((request, response) => {
89
+ throw Error('should never get here')
90
+ }).listen()
91
+
92
+ server.on('connect', (req, socket, head) => {
93
+ socket.write('HTTP/1.1 200 Connection established\r\n\r\n')
94
+
95
+ let data = head.toString()
96
+ socket.on('data', (buf) => {
97
+ data += buf.toString()
98
+ })
99
+
100
+ socket.on('end', () => {
101
+ socket.end(data)
102
+ })
103
+ })
104
+
105
+ await once(server, 'listening')
106
+
107
+ const client = new Client(`http://localhost:${server.address().port}`)
108
+
109
+ try {
110
+ const { socket } = await client.connect({
111
+ path: '/'
112
+ })
113
+ const wanted = 'Body'
114
+ let data = ''
115
+ socket.on('data', d => { data += d })
116
+ socket.on('end', () => {
117
+ console.log(`Data received: ${data.toString()} | Data wanted: ${wanted}`)
118
+ client.close()
119
+ server.close()
120
+ })
121
+ socket.write(wanted)
122
+ socket.end()
123
+ } catch (error) { }
124
+ ```
125
+
126
+ ### `Dispatcher.destroy([error, callback]): Promise`
127
+
128
+ Destroy the dispatcher abruptly with the given error. All the pending and running requests will be asynchronously aborted and error. Since this operation is asynchronously dispatched there might still be some progress on dispatched requests.
129
+
130
+ Both arguments are optional; the method can be called in four different ways:
131
+
132
+ Arguments:
133
+
134
+ * **error** `Error | null` (optional)
135
+ * **callback** `(error: Error | null, data: null) => void` (optional)
136
+
137
+ Returns: `void | Promise<void>` - Only returns a `Promise` if no `callback` argument was passed
138
+
139
+ ```js
140
+ dispatcher.destroy() // -> Promise
141
+ dispatcher.destroy(new Error()) // -> Promise
142
+ dispatcher.destroy(() => {}) // -> void
143
+ dispatcher.destroy(new Error(), () => {}) // -> void
144
+ ```
145
+
146
+ #### Example - Request is aborted when Client is destroyed
147
+
148
+ ```js
149
+ import { createServer } from 'http'
150
+ import { Client } from 'undici'
151
+ import { once } from 'events'
152
+
153
+ const server = createServer((request, response) => {
154
+ response.end()
155
+ }).listen()
156
+
157
+ await once(server, 'listening')
158
+
159
+ const client = new Client(`http://localhost:${server.address().port}`)
160
+
161
+ try {
162
+ const request = client.request({
163
+ path: '/',
164
+ method: 'GET'
165
+ })
166
+ client.destroy()
167
+ .then(() => {
168
+ console.log('Client destroyed')
169
+ server.close()
170
+ })
171
+ await request
172
+ } catch (error) {
173
+ console.error(error)
174
+ }
175
+ ```
176
+
177
+ ### `Dispatcher.dispatch(options, handler)`
178
+
179
+ This is the low level API which all the preceding APIs are implemented on top of.
180
+ This API is expected to evolve through semver-major versions and is less stable than the preceding higher level APIs.
181
+ It is primarily intended for library developers who implement higher level APIs on top of this.
182
+
183
+ Arguments:
184
+
185
+ * **options** `DispatchOptions`
186
+ * **handler** `DispatchHandler`
187
+
188
+ Returns: `Boolean` - `false` if dispatcher is busy and further dispatch calls won't make any progress until the `'drain'` event has been emitted.
189
+
190
+ #### Parameter: `DispatchOptions`
191
+
192
+ * **origin** `string | URL`
193
+ * **path** `string`
194
+ * **method** `string`
195
+ * **reset** `boolean` (optional) - Default: `false` - If `false`, the request will attempt to create a long-living connection by sending the `connection: keep-alive` header,otherwise will attempt to close it immediately after response by sending `connection: close` within the request and closing the socket afterwards.
196
+ * **body** `string | Buffer | Uint8Array | stream.Readable | Iterable | AsyncIterable | null` (optional) - Default: `null`
197
+ * **headers** `UndiciHeaders` (optional) - Default: `null`.
198
+ * **query** `Record<string, any> | null` (optional) - Default: `null` - Query string params to be embedded in the request URL. Note that both keys and values of query are encoded using `encodeURIComponent`. If for some reason you need to send them unencoded, embed query params into path directly instead.
199
+ * **idempotent** `boolean` (optional) - Default: `true` if `method` is `'HEAD'` or `'GET'` - Whether the requests can be safely retried or not. If `false` the request won't be sent until all preceding requests in the pipeline has completed.
200
+ * **blocking** `boolean` (optional) - Default: `method !== 'HEAD'` - Whether the response is expected to take a long time and would end up blocking the pipeline. When this is set to `true` further pipelining will be avoided on the same connection until headers have been received.
201
+ * **upgrade** `string | null` (optional) - Default: `null` - Upgrade the request. Should be used to specify the kind of upgrade i.e. `'Websocket'`.
202
+ * **bodyTimeout** `number | null` (optional) - The timeout after which a request will time out, in milliseconds. Monitors time between receiving body data. Use `0` to disable it entirely. Defaults to 300 seconds.
203
+ * **headersTimeout** `number | null` (optional) - The amount of time, in milliseconds, the parser will wait to receive the complete HTTP headers while not sending the request. Defaults to 300 seconds.
204
+ * **expectContinue** `boolean` (optional) - Default: `false` - For H2, it appends the expect: 100-continue header, and halts the request body until a 100-continue is received from the remote server
205
+
206
+ #### Parameter: `DispatchHandler`
207
+
208
+ * **onRequestStart** `(controller: DispatchController, context: object) => void` - Invoked before request is dispatched on socket. May be invoked multiple times when a request is retried when the request at the head of the pipeline fails.
209
+ * **onRequestUpgrade** `(controller: DispatchController, statusCode: number, headers: Record<string, string | string[]>, socket: Duplex) => void` (optional) - Invoked when request is upgraded. Required if `DispatchOptions.upgrade` is defined or `DispatchOptions.method === 'CONNECT'`.
210
+ * **onResponseStart** `(controller: DispatchController, statusCode: number, headers: Record<string, string | string []>, statusMessage?: string) => void` - Invoked when statusCode and headers have been received. May be invoked multiple times due to 1xx informational headers. Not required for `upgrade` requests. Any return value is ignored.
211
+ * **onResponseData** `(controller: DispatchController, chunk: Buffer) => void` - Invoked when response payload data is received. Not required for `upgrade` requests.
212
+ * **onResponseEnd** `(controller: DispatchController, trailers: Record<string, string | string[]>) => void` - Invoked when response payload and trailers have been received and the request has completed. Not required for `upgrade` requests.
213
+ * **onResponseError** `(controller: DispatchController, error: Error) => void` - Invoked when an error has occurred. May not throw.
214
+
215
+ #### Migration from legacy handler API
216
+
217
+ If you were previously using `onConnect/onHeaders/onData/onComplete/onError`, switch to the new callbacks:
218
+
219
+ - `onConnect(abort)` → `onRequestStart(controller)` and call `controller.abort(reason)`
220
+ - `onHeaders(status, rawHeaders, resume, statusText)` → `onResponseStart(controller, status, headers, statusText)`
221
+ - `onData(chunk)` → `onResponseData(controller, chunk)`
222
+ - `onComplete(trailers)` → `onResponseEnd(controller, trailers)`
223
+ - `onError(err)` → `onResponseError(controller, err)`
224
+ - `onUpgrade(status, rawHeaders, socket)` → `onRequestUpgrade(controller, status, headers, socket)`
225
+
226
+ To access raw header arrays (for preserving duplicates/casing), read them from the controller:
227
+
228
+ - `controller.rawHeaders` for response headers
229
+ - `controller.rawTrailers` for trailers
230
+
231
+ Pause/resume now uses the controller:
232
+
233
+ - Call `controller.pause()` and `controller.resume()` instead of returning `false` from handlers.
234
+
235
+ #### Compatibility notes
236
+
237
+ Undici now stores the global dispatcher under `Symbol.for('undici.globalDispatcher.2')`.
238
+ This avoids conflicts with runtimes (such as Node.js built-in `fetch`) that still rely on the legacy dispatcher handler interface.
239
+
240
+ `setGlobalDispatcher()` also mirrors the configured dispatcher to `Symbol.for('undici.globalDispatcher.1')` using a `Dispatcher1Wrapper`, so Node's built-in `fetch` can keep using the legacy handler contract.
241
+
242
+ If you need to expose a new dispatcher/agent to legacy v1 handler consumers (`onConnect/onHeaders/onData/onComplete/onError/onUpgrade`), use `Dispatcher1Wrapper`:
243
+
244
+ ```js
245
+ import { Agent, Dispatcher1Wrapper } from 'undici'
246
+
247
+ const legacyCompatibleDispatcher = new Dispatcher1Wrapper(new Agent())
248
+ ```
249
+
250
+ #### Example 1 - Dispatch GET request
251
+
252
+ ```js
253
+ import { createServer } from 'http'
254
+ import { Client } from 'undici'
255
+ import { once } from 'events'
256
+
257
+ const server = createServer((request, response) => {
258
+ response.end('Hello, World!')
259
+ }).listen()
260
+
261
+ await once(server, 'listening')
262
+
263
+ const client = new Client(`http://localhost:${server.address().port}`)
264
+
265
+ const data = []
266
+
267
+ client.dispatch({
268
+ path: '/',
269
+ method: 'GET',
270
+ headers: {
271
+ 'x-foo': 'bar'
272
+ }
273
+ }, {
274
+ onRequestStart: () => {
275
+ console.log('Connected!')
276
+ },
277
+ onResponseError: (_controller, error) => {
278
+ console.error(error)
279
+ },
280
+ onResponseStart: (_controller, statusCode, headers) => {
281
+ console.log(`onResponseStart | statusCode: ${statusCode} | headers: ${JSON.stringify(headers)}`)
282
+ },
283
+ onResponseData: (_controller, chunk) => {
284
+ console.log('onResponseData: chunk received')
285
+ data.push(chunk)
286
+ },
287
+ onResponseEnd: (_controller, trailers) => {
288
+ console.log(`onResponseEnd | trailers: ${JSON.stringify(trailers)}`)
289
+ const res = Buffer.concat(data).toString('utf8')
290
+ console.log(`Data: ${res}`)
291
+ client.close()
292
+ server.close()
293
+ }
294
+ })
295
+ ```
296
+
297
+ #### Example 2 - Dispatch Upgrade Request
298
+
299
+ ```js
300
+ import { createServer } from 'http'
301
+ import { Client } from 'undici'
302
+ import { once } from 'events'
303
+
304
+ const server = createServer((request, response) => {
305
+ response.end()
306
+ }).listen()
307
+
308
+ await once(server, 'listening')
309
+
310
+ server.on('upgrade', (request, socket, head) => {
311
+ console.log('Node.js Server - upgrade event')
312
+ socket.write('HTTP/1.1 101 Web Socket Protocol Handshake\r\n')
313
+ socket.write('Upgrade: WebSocket\r\n')
314
+ socket.write('Connection: Upgrade\r\n')
315
+ socket.write('\r\n')
316
+ socket.end()
317
+ })
318
+
319
+ const client = new Client(`http://localhost:${server.address().port}`)
320
+
321
+ client.dispatch({
322
+ path: '/',
323
+ method: 'GET',
324
+ upgrade: 'websocket'
325
+ }, {
326
+ onRequestStart: () => {
327
+ console.log('Undici Client - onRequestStart')
328
+ },
329
+ onResponseError: () => {
330
+ console.log('onResponseError') // shouldn't print
331
+ },
332
+ onRequestUpgrade: (_controller, statusCode, headers, socket) => {
333
+ console.log('Undici Client - onRequestUpgrade')
334
+ console.log(`onRequestUpgrade Headers: ${JSON.stringify(headers)}`)
335
+ socket.on('data', buffer => {
336
+ console.log(buffer.toString('utf8'))
337
+ })
338
+ socket.on('end', () => {
339
+ client.close()
340
+ server.close()
341
+ })
342
+ socket.end()
343
+ }
344
+ })
345
+ ```
346
+
347
+ #### Example 3 - Dispatch POST request
348
+
349
+ ```js
350
+ import { createServer } from 'http'
351
+ import { Client } from 'undici'
352
+ import { once } from 'events'
353
+
354
+ const server = createServer((request, response) => {
355
+ request.on('data', (data) => {
356
+ console.log(`Request Data: ${data.toString('utf8')}`)
357
+ const body = JSON.parse(data)
358
+ body.message = 'World'
359
+ response.end(JSON.stringify(body))
360
+ })
361
+ }).listen()
362
+
363
+ await once(server, 'listening')
364
+
365
+ const client = new Client(`http://localhost:${server.address().port}`)
366
+
367
+ const data = []
368
+
369
+ client.dispatch({
370
+ path: '/',
371
+ method: 'POST',
372
+ headers: {
373
+ 'content-type': 'application/json'
374
+ },
375
+ body: JSON.stringify({ message: 'Hello' })
376
+ }, {
377
+ onRequestStart: () => {
378
+ console.log('Connected!')
379
+ },
380
+ onResponseError: (_controller, error) => {
381
+ console.error(error)
382
+ },
383
+ onResponseStart: (_controller, statusCode, headers) => {
384
+ console.log(`onResponseStart | statusCode: ${statusCode} | headers: ${JSON.stringify(headers)}`)
385
+ },
386
+ onResponseData: (_controller, chunk) => {
387
+ console.log('onResponseData: chunk received')
388
+ data.push(chunk)
389
+ },
390
+ onResponseEnd: (_controller, trailers) => {
391
+ console.log(`onResponseEnd | trailers: ${JSON.stringify(trailers)}`)
392
+ const res = Buffer.concat(data).toString('utf8')
393
+ console.log(`Response Data: ${res}`)
394
+ client.close()
395
+ server.close()
396
+ }
397
+ })
398
+ ```
399
+
400
+ ### `Dispatcher.pipeline(options, handler)`
401
+
402
+ For easy use with [stream.pipeline](https://nodejs.org/api/stream.html#streampipelinesource-transforms-destination-options). The `handler` argument should return a `Readable` from which the result will be read. Usually it should just return the `body` argument unless some kind of transformation needs to be performed based on e.g. `headers` or `statusCode`. The `handler` should validate the response and save any required state. If there is an error, it should be thrown. The function returns a `Duplex` which writes to the request and reads from the response.
403
+
404
+ Arguments:
405
+
406
+ * **options** `PipelineOptions`
407
+ * **handler** `(data: PipelineHandlerData) => stream.Readable`
408
+
409
+ Returns: `stream.Duplex`
410
+
411
+ #### Parameter: PipelineOptions
412
+
413
+ Extends: [`RequestOptions`](/docs/docs/api/Dispatcher.md#parameter-requestoptions)
414
+
415
+ * **objectMode** `boolean` (optional) - Default: `false` - Set to `true` if the `handler` will return an object stream.
416
+
417
+ #### Parameter: PipelineHandlerData
418
+
419
+ * **statusCode** `number`
420
+ * **headers** `Record<string, string | string[] | undefined>`
421
+ * **opaque** `unknown`
422
+ * **body** `stream.Readable`
423
+ * **context** `object`
424
+ * **onInfo** `({statusCode: number, headers: Record<string, string | string[]>}) => void | null` (optional) - Default: `null` - Callback collecting all the info headers (HTTP 100-199) received.
425
+
426
+ #### Example 1 - Pipeline Echo
427
+
428
+ ```js
429
+ import { Readable, Writable, PassThrough, pipeline } from 'stream'
430
+ import { createServer } from 'http'
431
+ import { Client } from 'undici'
432
+ import { once } from 'events'
433
+
434
+ const server = createServer((request, response) => {
435
+ request.pipe(response)
436
+ }).listen()
437
+
438
+ await once(server, 'listening')
439
+
440
+ const client = new Client(`http://localhost:${server.address().port}`)
441
+
442
+ let res = ''
443
+
444
+ pipeline(
445
+ new Readable({
446
+ read () {
447
+ this.push(Buffer.from('undici'))
448
+ this.push(null)
449
+ }
450
+ }),
451
+ client.pipeline({
452
+ path: '/',
453
+ method: 'GET'
454
+ }, ({ statusCode, headers, body }) => {
455
+ console.log(`response received ${statusCode}`)
456
+ console.log('headers', headers)
457
+ return pipeline(body, new PassThrough(), () => {})
458
+ }),
459
+ new Writable({
460
+ write (chunk, _, callback) {
461
+ res += chunk.toString()
462
+ callback()
463
+ },
464
+ final (callback) {
465
+ console.log(`Response pipelined to writable: ${res}`)
466
+ callback()
467
+ }
468
+ }),
469
+ error => {
470
+ if (error) {
471
+ console.error(error)
472
+ }
473
+
474
+ client.close()
475
+ server.close()
476
+ }
477
+ )
478
+ ```
479
+
480
+ ### `Dispatcher.request(options[, callback])`
481
+
482
+ Performs a HTTP request.
483
+
484
+ Non-idempotent requests will not be pipelined in order
485
+ to avoid indirect failures.
486
+
487
+ Idempotent requests will be automatically retried if
488
+ they fail due to indirect failure from the request
489
+ at the head of the pipeline. This does not apply to
490
+ idempotent requests with a stream request body.
491
+
492
+ All response bodies must always be fully consumed or destroyed.
493
+
494
+ Arguments:
495
+
496
+ * **options** `RequestOptions`
497
+ * **callback** `(error: Error | null, data: ResponseData) => void` (optional)
498
+
499
+ Returns: `void | Promise<ResponseData>` - Only returns a `Promise` if no `callback` argument was passed.
500
+
501
+ #### Parameter: `RequestOptions`
502
+
503
+ Extends: [`DispatchOptions`](/docs/docs/api/Dispatcher.md#parameter-dispatchoptions)
504
+
505
+ * **opaque** `unknown` (optional) - Default: `null` - Used for passing through context to `ResponseData`.
506
+ * **signal** `AbortSignal | events.EventEmitter | null` (optional) - Default: `null`.
507
+ * **onInfo** `({statusCode: number, headers: Record<string, string | string[]>}) => void | null` (optional) - Default: `null` - Callback collecting all the info headers (HTTP 100-199) received.
508
+
509
+ The `RequestOptions.method` property should not be value `'CONNECT'`.
510
+
511
+ #### Parameter: `ResponseData`
512
+
513
+ * **statusCode** `number`
514
+ * **statusText** `string` - The status message from the response (e.g., "OK", "Not Found").
515
+ * **headers** `Record<string, string | string[]>` - Note that all header keys are lower-cased, e.g. `content-type`.
516
+ * **body** `stream.Readable` which also implements [the body mixin from the Fetch Standard](https://fetch.spec.whatwg.org/#body-mixin).
517
+ * **trailers** `Record<string, string>` - This object starts out
518
+ as empty and will be mutated to contain trailers after `body` has emitted `'end'`.
519
+ * **opaque** `unknown`
520
+ * **context** `object`
521
+
522
+ `body` contains the following additional [body mixin](https://fetch.spec.whatwg.org/#body-mixin) methods and properties:
523
+
524
+ * [`.arrayBuffer()`](https://fetch.spec.whatwg.org/#dom-body-arraybuffer)
525
+ * [`.blob()`](https://fetch.spec.whatwg.org/#dom-body-blob)
526
+ * [`.bytes()`](https://fetch.spec.whatwg.org/#dom-body-bytes)
527
+ * [`.json()`](https://fetch.spec.whatwg.org/#dom-body-json)
528
+ * [`.text()`](https://fetch.spec.whatwg.org/#dom-body-text)
529
+ * `body`
530
+ * `bodyUsed`
531
+
532
+ `body` can not be consumed twice. For example, calling `text()` after `json()` throws `TypeError`.
533
+
534
+ `body` contains the following additional extensions:
535
+
536
+ - `dump({ limit: Integer })`, dump the response by reading up to `limit` bytes without killing the socket (optional) - Default: 131072.
537
+
538
+ Note that body will still be a `Readable` even if it is empty, but attempting to deserialize it with `json()` will result in an exception. Recommended way to ensure there is a body to deserialize is to check if status code is not 204, and `content-type` header starts with `application/json`.
539
+
540
+ #### Example 1 - Basic GET Request
541
+
542
+ ```js
543
+ import { createServer } from 'http'
544
+ import { Client } from 'undici'
545
+ import { once } from 'events'
546
+
547
+ const server = createServer((request, response) => {
548
+ response.end('Hello, World!')
549
+ }).listen()
550
+
551
+ await once(server, 'listening')
552
+
553
+ const client = new Client(`http://localhost:${server.address().port}`)
554
+
555
+ try {
556
+ const { body, headers, statusCode, statusText, trailers } = await client.request({
557
+ path: '/',
558
+ method: 'GET'
559
+ })
560
+ console.log(`response received ${statusCode}`)
561
+ console.log('headers', headers)
562
+ body.setEncoding('utf8')
563
+ body.on('data', console.log)
564
+ body.on('error', console.error)
565
+ body.on('end', () => {
566
+ console.log('trailers', trailers)
567
+ })
568
+
569
+ client.close()
570
+ server.close()
571
+ } catch (error) {
572
+ console.error(error)
573
+ }
574
+ ```
575
+
576
+ #### Example 2 - Aborting a request
577
+
578
+ > Node.js v15+ is required to run this example
579
+
580
+ ```js
581
+ import { createServer } from 'http'
582
+ import { Client } from 'undici'
583
+ import { once } from 'events'
584
+
585
+ const server = createServer((request, response) => {
586
+ response.end('Hello, World!')
587
+ }).listen()
588
+
589
+ await once(server, 'listening')
590
+
591
+ const client = new Client(`http://localhost:${server.address().port}`)
592
+ const abortController = new AbortController()
593
+
594
+ try {
595
+ client.request({
596
+ path: '/',
597
+ method: 'GET',
598
+ signal: abortController.signal
599
+ })
600
+ } catch (error) {
601
+ console.error(error) // should print an RequestAbortedError
602
+ client.close()
603
+ server.close()
604
+ }
605
+
606
+ abortController.abort()
607
+ ```
608
+
609
+ Alternatively, any `EventEmitter` that emits an `'abort'` event may be used as an abort controller:
610
+
611
+ ```js
612
+ import { createServer } from 'http'
613
+ import { Client } from 'undici'
614
+ import EventEmitter, { once } from 'events'
615
+
616
+ const server = createServer((request, response) => {
617
+ response.end('Hello, World!')
618
+ }).listen()
619
+
620
+ await once(server, 'listening')
621
+
622
+ const client = new Client(`http://localhost:${server.address().port}`)
623
+ const ee = new EventEmitter()
624
+
625
+ try {
626
+ client.request({
627
+ path: '/',
628
+ method: 'GET',
629
+ signal: ee
630
+ })
631
+ } catch (error) {
632
+ console.error(error) // should print an RequestAbortedError
633
+ client.close()
634
+ server.close()
635
+ }
636
+
637
+ ee.emit('abort')
638
+ ```
639
+
640
+ Destroying the request or response body will have the same effect.
641
+
642
+ ```js
643
+ import { createServer } from 'http'
644
+ import { Client } from 'undici'
645
+ import { once } from 'events'
646
+
647
+ const server = createServer((request, response) => {
648
+ response.end('Hello, World!')
649
+ }).listen()
650
+
651
+ await once(server, 'listening')
652
+
653
+ const client = new Client(`http://localhost:${server.address().port}`)
654
+
655
+ try {
656
+ const { body } = await client.request({
657
+ path: '/',
658
+ method: 'GET'
659
+ })
660
+ body.destroy()
661
+ } catch (error) {
662
+ console.error(error) // should print an RequestAbortedError
663
+ client.close()
664
+ server.close()
665
+ }
666
+ ```
667
+
668
+ #### Example 3 - Conditionally reading the body
669
+
670
+ Remember to fully consume the body even in the case when it is not read.
671
+
672
+ ```js
673
+ const { body, statusCode } = await client.request({
674
+ path: '/',
675
+ method: 'GET'
676
+ })
677
+
678
+ if (statusCode === 200) {
679
+ return await body.arrayBuffer()
680
+ }
681
+
682
+ await body.dump()
683
+
684
+ return null
685
+ ```
686
+
687
+ ### `Dispatcher.stream(options, factory[, callback])`
688
+
689
+ A faster version of `Dispatcher.request`. This method expects the second argument `factory` to return a [`stream.Writable`](https://nodejs.org/api/stream.html#stream_class_stream_writable) stream which the response will be written to. This improves performance by avoiding creating an intermediate [`stream.Readable`](https://nodejs.org/api/stream.html#stream_readable_streams) stream when the user expects to directly pipe the response body to a [`stream.Writable`](https://nodejs.org/api/stream.html#stream_class_stream_writable) stream.
690
+
691
+ As demonstrated in [Example 1 - Basic GET stream request](/docs/docs/api/Dispatcher.md#example-1-basic-get-stream-request), it is recommended to use the `option.opaque` property to avoid creating a closure for the `factory` method. This pattern works well with Node.js Web Frameworks such as [Fastify](https://fastify.io). See [Example 2 - Stream to Fastify Response](/docs/docs/api/Dispatch.md#example-2-stream-to-fastify-response) for more details.
692
+
693
+ Arguments:
694
+
695
+ * **options** `RequestOptions`
696
+ * **factory** `(data: StreamFactoryData) => stream.Writable`
697
+ * **callback** `(error: Error | null, data: StreamData) => void` (optional)
698
+
699
+ Returns: `void | Promise<StreamData>` - Only returns a `Promise` if no `callback` argument was passed
700
+
701
+ #### Parameter: `StreamFactoryData`
702
+
703
+ * **statusCode** `number`
704
+ * **headers** `Record<string, string | string[] | undefined>`
705
+ * **opaque** `unknown`
706
+ * **onInfo** `({statusCode: number, headers: Record<string, string | string[]>}) => void | null` (optional) - Default: `null` - Callback collecting all the info headers (HTTP 100-199) received.
707
+
708
+ #### Parameter: `StreamData`
709
+
710
+ * **opaque** `unknown`
711
+ * **trailers** `Record<string, string>`
712
+ * **context** `object`
713
+
714
+ #### Example 1 - Basic GET stream request
715
+
716
+ ```js
717
+ import { createServer } from 'http'
718
+ import { Client } from 'undici'
719
+ import { once } from 'events'
720
+ import { Writable } from 'stream'
721
+
722
+ const server = createServer((request, response) => {
723
+ response.end('Hello, World!')
724
+ }).listen()
725
+
726
+ await once(server, 'listening')
727
+
728
+ const client = new Client(`http://localhost:${server.address().port}`)
729
+
730
+ const bufs = []
731
+
732
+ try {
733
+ await client.stream({
734
+ path: '/',
735
+ method: 'GET',
736
+ opaque: { bufs }
737
+ }, ({ statusCode, headers, opaque: { bufs } }) => {
738
+ console.log(`response received ${statusCode}`)
739
+ console.log('headers', headers)
740
+ return new Writable({
741
+ write (chunk, encoding, callback) {
742
+ bufs.push(chunk)
743
+ callback()
744
+ }
745
+ })
746
+ })
747
+
748
+ console.log(Buffer.concat(bufs).toString('utf-8'))
749
+
750
+ client.close()
751
+ server.close()
752
+ } catch (error) {
753
+ console.error(error)
754
+ }
755
+ ```
756
+
757
+ #### Example 2 - Stream to Fastify Response
758
+
759
+ In this example, a (fake) request is made to the fastify server using `fastify.inject()`. This request then executes the fastify route handler which makes a subsequent request to the raw Node.js http server using `undici.dispatcher.stream()`. The fastify response is passed to the `opaque` option so that undici can tap into the underlying writable stream using `response.raw`. This methodology demonstrates how one could use undici and fastify together to create fast-as-possible requests from one backend server to another.
760
+
761
+ ```js
762
+ import { createServer } from 'http'
763
+ import { Client } from 'undici'
764
+ import { once } from 'events'
765
+ import fastify from 'fastify'
766
+
767
+ const nodeServer = createServer((request, response) => {
768
+ response.end('Hello, World! From Node.js HTTP Server')
769
+ }).listen()
770
+
771
+ await once(nodeServer, 'listening')
772
+
773
+ console.log('Node Server listening')
774
+
775
+ const nodeServerUndiciClient = new Client(`http://localhost:${nodeServer.address().port}`)
776
+
777
+ const fastifyServer = fastify()
778
+
779
+ fastifyServer.route({
780
+ url: '/',
781
+ method: 'GET',
782
+ handler: (request, response) => {
783
+ nodeServerUndiciClient.stream({
784
+ path: '/',
785
+ method: 'GET',
786
+ opaque: response
787
+ }, ({ opaque }) => opaque.raw)
788
+ }
789
+ })
790
+
791
+ await fastifyServer.listen()
792
+
793
+ console.log('Fastify Server listening')
794
+
795
+ const fastifyServerUndiciClient = new Client(`http://localhost:${fastifyServer.server.address().port}`)
796
+
797
+ try {
798
+ const { statusCode, body } = await fastifyServerUndiciClient.request({
799
+ path: '/',
800
+ method: 'GET'
801
+ })
802
+
803
+ console.log(`response received ${statusCode}`)
804
+ body.setEncoding('utf8')
805
+ body.on('data', console.log)
806
+
807
+ nodeServerUndiciClient.close()
808
+ fastifyServerUndiciClient.close()
809
+ fastifyServer.close()
810
+ nodeServer.close()
811
+ } catch (error) { }
812
+ ```
813
+
814
+ ### `Dispatcher.upgrade(options[, callback])`
815
+
816
+ Upgrade to a different protocol. Visit [MDN - HTTP - Protocol upgrade mechanism](https://developer.mozilla.org/en-US/docs/Web/HTTP/Protocol_upgrade_mechanism) for more details.
817
+
818
+ Arguments:
819
+
820
+ * **options** `UpgradeOptions`
821
+
822
+ * **callback** `(error: Error | null, data: UpgradeData) => void` (optional)
823
+
824
+ Returns: `void | Promise<UpgradeData>` - Only returns a `Promise` if no `callback` argument was passed
825
+
826
+ #### Parameter: `UpgradeOptions`
827
+
828
+ * **path** `string`
829
+ * **method** `string` (optional) - Default: `'GET'`
830
+ * **headers** `UndiciHeaders` (optional) - Default: `null`
831
+ * **protocol** `string` (optional) - Default: `'Websocket'` - A string of comma separated protocols, in descending preference order.
832
+ * **signal** `AbortSignal | EventEmitter | null` (optional) - Default: `null`
833
+
834
+ #### Parameter: `UpgradeData`
835
+
836
+ * **headers** `http.IncomingHeaders`
837
+ * **socket** `stream.Duplex`
838
+ * **opaque** `unknown`
839
+
840
+ #### Example 1 - Basic Upgrade Request
841
+
842
+ ```js
843
+ import { createServer } from 'http'
844
+ import { Client } from 'undici'
845
+ import { once } from 'events'
846
+
847
+ const server = createServer((request, response) => {
848
+ response.statusCode = 101
849
+ response.setHeader('connection', 'upgrade')
850
+ response.setHeader('upgrade', request.headers.upgrade)
851
+ response.end()
852
+ }).listen()
853
+
854
+ await once(server, 'listening')
855
+
856
+ const client = new Client(`http://localhost:${server.address().port}`)
857
+
858
+ try {
859
+ const { headers, socket } = await client.upgrade({
860
+ path: '/',
861
+ })
862
+ socket.on('end', () => {
863
+ console.log(`upgrade: ${headers.upgrade}`) // upgrade: Websocket
864
+ client.close()
865
+ server.close()
866
+ })
867
+ socket.end()
868
+ } catch (error) {
869
+ console.error(error)
870
+ client.close()
871
+ server.close()
872
+ }
873
+ ```
874
+
875
+ ### `Dispatcher.compose(interceptors[, interceptor])`
876
+
877
+ Compose a new dispatcher from the current dispatcher and the given interceptors.
878
+
879
+ > _Notes_:
880
+ > - The order of the interceptors matters. The last interceptor will be the first to be called.
881
+ > - It is important to note that the `interceptor` function should return a function that follows the `Dispatcher.dispatch` signature.
882
+ > - Any fork of the chain of `interceptors` can lead to unexpected results.
883
+ >
884
+ > **Interceptor Stack Visualization:**
885
+ > ```
886
+ > compose([interceptor1, interceptor2, interceptor3])
887
+ >
888
+ > Request Flow:
889
+ > ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
890
+ > │ Request │───▶│interceptor3 │───▶│interceptor2 │───▶│interceptor1 │───▶│ dispatcher │
891
+ > └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │ .dispatch │
892
+ > ▲ ▲ ▲ └─────────────┘
893
+ > │ │ │ ▲
894
+ > (called first) (called second) (called last) │
895
+ > │
896
+ > ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
897
+ > │ Response │◀───│interceptor3 │◀───│interceptor2 │◀───│interceptor1 │◀─────────┘
898
+ > └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
899
+ >
900
+ > The interceptors are composed in reverse order due to function composition.
901
+ > ```
902
+
903
+ Arguments:
904
+
905
+ * **interceptors** `Interceptor[interceptor[]]`: It is an array of `Interceptor` functions passed as only argument, or several interceptors passed as separate arguments.
906
+
907
+ Returns: `Dispatcher`.
908
+
909
+ #### Parameter: `Interceptor`
910
+
911
+ A function that takes a `dispatch` method and returns a `dispatch`-like function.
912
+
913
+ #### Example 1 - Basic Compose
914
+
915
+ ```js
916
+ const { Client, RedirectHandler } = require('undici')
917
+
918
+ const redirectInterceptor = dispatch => {
919
+ return (opts, handler) => {
920
+ const { maxRedirections } = opts
921
+
922
+ if (!maxRedirections) {
923
+ return dispatch(opts, handler)
924
+ }
925
+
926
+ const redirectHandler = new RedirectHandler(
927
+ dispatch,
928
+ maxRedirections,
929
+ opts,
930
+ handler
931
+ )
932
+ opts = { ...opts, maxRedirections: 0 } // Stop sub dispatcher from also redirecting.
933
+ return dispatch(opts, redirectHandler)
934
+ }
935
+ }
936
+
937
+ const client = new Client('http://localhost:3000')
938
+ .compose(redirectInterceptor)
939
+
940
+ await client.request({ path: '/', method: 'GET' })
941
+ ```
942
+
943
+ #### Example 2 - Chained Compose
944
+
945
+ ```js
946
+ const { Client, RedirectHandler, RetryHandler } = require('undici')
947
+
948
+ const redirectInterceptor = dispatch => {
949
+ return (opts, handler) => {
950
+ const { maxRedirections } = opts
951
+
952
+ if (!maxRedirections) {
953
+ return dispatch(opts, handler)
954
+ }
955
+
956
+ const redirectHandler = new RedirectHandler(
957
+ dispatch,
958
+ maxRedirections,
959
+ opts,
960
+ handler
961
+ )
962
+ opts = { ...opts, maxRedirections: 0 }
963
+ return dispatch(opts, redirectHandler)
964
+ }
965
+ }
966
+
967
+ const retryInterceptor = dispatch => {
968
+ return function retryInterceptor (opts, handler) {
969
+ return dispatch(
970
+ opts,
971
+ new RetryHandler(opts, {
972
+ handler,
973
+ dispatch
974
+ })
975
+ )
976
+ }
977
+ }
978
+
979
+ const client = new Client('http://localhost:3000')
980
+ .compose(redirectInterceptor)
981
+ .compose(retryInterceptor)
982
+
983
+ await client.request({ path: '/', method: 'GET' })
984
+ ```
985
+
986
+ #### Pre-built interceptors
987
+
988
+ ##### `redirect`
989
+
990
+ The `redirect` interceptor allows you to customize the way your dispatcher handles redirects.
991
+
992
+ It accepts the same arguments as the [`RedirectHandler` constructor](/docs/docs/api/RedirectHandler.md).
993
+
994
+ **Example - Basic Redirect Interceptor**
995
+
996
+ ```js
997
+ const { Client, interceptors } = require("undici");
998
+ const { redirect } = interceptors;
999
+
1000
+ const client = new Client("http://service.example").compose(
1001
+ redirect({ maxRedirections: 3, throwOnMaxRedirect: true })
1002
+ );
1003
+ client.request({ path: "/" })
1004
+ ```
1005
+
1006
+ ##### `retry`
1007
+
1008
+ The `retry` interceptor allows you to customize the way your dispatcher handles retries.
1009
+
1010
+ It accepts the same arguments as the [`RetryHandler` constructor](/docs/docs/api/RetryHandler.md).
1011
+
1012
+ **Example - Basic Redirect Interceptor**
1013
+
1014
+ ```js
1015
+ const { Client, interceptors } = require("undici");
1016
+ const { retry } = interceptors;
1017
+
1018
+ const client = new Client("http://service.example").compose(
1019
+ retry({
1020
+ maxRetries: 3,
1021
+ minTimeout: 1000,
1022
+ maxTimeout: 10000,
1023
+ timeoutFactor: 2,
1024
+ retryAfter: true,
1025
+ })
1026
+ );
1027
+ ```
1028
+
1029
+ ##### `dump`
1030
+
1031
+ The `dump` interceptor enables you to dump the response body from a request upon a given limit.
1032
+
1033
+ **Options**
1034
+ - `maxSize` - The maximum size (in bytes) of the response body to dump. If the size of the response's body exceeds this value then the connection will be closed. Default: `1048576`.
1035
+
1036
+ > The `Dispatcher#options` also gets extended with the options `dumpMaxSize`, `abortOnDumped`, and `waitForTrailers` which can be used to configure the interceptor at a request-per-request basis.
1037
+
1038
+ **Example - Basic Dump Interceptor**
1039
+
1040
+ ```js
1041
+ const { Client, interceptors } = require("undici");
1042
+ const { dump } = interceptors;
1043
+
1044
+ const client = new Client("http://service.example").compose(
1045
+ dump({
1046
+ maxSize: 1024,
1047
+ })
1048
+ );
1049
+
1050
+ // or
1051
+ client.dispatch(
1052
+ {
1053
+ path: "/",
1054
+ method: "GET",
1055
+ dumpMaxSize: 1024,
1056
+ },
1057
+ handler
1058
+ );
1059
+ ```
1060
+
1061
+ ##### `dns`
1062
+
1063
+ The `dns` interceptor enables you to cache DNS lookups for a given duration, per origin.
1064
+
1065
+ >It is well suited for scenarios where you want to cache DNS lookups to avoid the overhead of resolving the same domain multiple times
1066
+
1067
+ **Options**
1068
+ - `maxTTL` - The maximum time-to-live (in milliseconds) of the DNS cache. It should be a positive integer. Default: `10000`.
1069
+ - Set `0` to disable TTL.
1070
+ - `maxItems` - The maximum number of items to cache. It should be a positive integer. Default: `Infinity`.
1071
+ - `dualStack` - Whether to resolve both IPv4 and IPv6 addresses. Default: `true`.
1072
+ - It will also attempt a happy-eyeballs-like approach to connect to the available addresses in case of a connection failure.
1073
+ - `affinity` - Whether to use IPv4 or IPv6 addresses. Default: `4`.
1074
+ - It can be either `4` or `6`.
1075
+ - It will only take effect if `dualStack` is `false`.
1076
+ - `lookup: (hostname: string, options: LookupOptions, callback: (err: NodeJS.ErrnoException | null, addresses: DNSInterceptorRecord[]) => void) => void` - Custom lookup function. Default: `dns.lookup`.
1077
+ - For more info see [dns.lookup](https://nodejs.org/api/dns.html#dnslookuphostname-options-callback).
1078
+ - `pick: (origin: URL, records: DNSInterceptorRecords, affinity: 4 | 6) => DNSInterceptorRecord` - Custom pick function. Default: `RoundRobin`.
1079
+ - The function should return a single record from the records array.
1080
+ - By default a simplified version of Round Robin is used.
1081
+ - The `records` property can be mutated to store the state of the balancing algorithm.
1082
+ - `storage: DNSStorage` - Custom storage for resolved DNS records
1083
+
1084
+ > The `Dispatcher#options` also gets extended with the options `dns.affinity`, `dns.dualStack`, `dns.lookup` and `dns.pick` which can be used to configure the interceptor at a request-per-request basis.
1085
+
1086
+
1087
+ **DNSInterceptorRecord**
1088
+ It represents a DNS record.
1089
+ - `family` - (`number`) The IP family of the address. It can be either `4` or `6`.
1090
+ - `address` - (`string`) The IP address.
1091
+
1092
+ **DNSInterceptorOriginRecords**
1093
+ It represents a map of DNS IP addresses records for a single origin.
1094
+ - `4.ips` - (`DNSInterceptorRecord[] | null`) The IPv4 addresses.
1095
+ - `6.ips` - (`DNSInterceptorRecord[] | null`) The IPv6 addresses.
1096
+
1097
+ **DNSStorage**
1098
+ It represents a storage object for resolved DNS records.
1099
+ - `size` - (`number`) current size of the storage.
1100
+ - `get` - (`(origin: string) => DNSInterceptorOriginRecords | null`) method to get the records for a given origin.
1101
+ - `set` - (`(origin: string, records: DNSInterceptorOriginRecords | null, options: { ttl: number }) => void`) method to set the records for a given origin.
1102
+ - `delete` - (`(origin: string) => void`) method to delete records for a given origin.
1103
+ - `full` - (`() => boolean`) method to check if the storage is full, if returns `true`, DNS lookup will be skipped in this interceptor and new records will not be stored.
1104
+
1105
+ **Example - Basic DNS Interceptor**
1106
+
1107
+ ```js
1108
+ const { Client, interceptors } = require("undici");
1109
+ const { dns } = interceptors;
1110
+
1111
+ const client = new Agent().compose([
1112
+ dns({ ...opts })
1113
+ ])
1114
+
1115
+ const response = await client.request({
1116
+ origin: `http://localhost:3030`,
1117
+ ...requestOpts
1118
+ })
1119
+ ```
1120
+
1121
+ **Example - DNS Interceptor and LRU cache as a storage**
1122
+
1123
+ ```js
1124
+ const { Client, interceptors } = require("undici");
1125
+ const QuickLRU = require("quick-lru");
1126
+ const { dns } = interceptors;
1127
+
1128
+ const lru = new QuickLRU({ maxSize: 100 });
1129
+
1130
+ const lruAdapter = {
1131
+ get size() {
1132
+ return lru.size;
1133
+ },
1134
+ get(origin) {
1135
+ return lru.get(origin);
1136
+ },
1137
+ set(origin, records, { ttl }) {
1138
+ lru.set(origin, records, { maxAge: ttl });
1139
+ },
1140
+ delete(origin) {
1141
+ lru.delete(origin);
1142
+ },
1143
+ full() {
1144
+ // For LRU cache, we can always store new records,
1145
+ // old records will be evicted automatically
1146
+ return false;
1147
+ }
1148
+ }
1149
+
1150
+ const client = new Agent().compose([
1151
+ dns({ storage: lruAdapter })
1152
+ ])
1153
+
1154
+ const response = await client.request({
1155
+ origin: `http://localhost:3030`,
1156
+ ...requestOpts
1157
+ })
1158
+ ```
1159
+
1160
+ ##### `responseError`
1161
+
1162
+ The `responseError` interceptor throws an error for responses with status code errors (>= 400).
1163
+
1164
+ **Example**
1165
+
1166
+ ```js
1167
+ const { Client, interceptors } = require("undici");
1168
+ const { responseError } = interceptors;
1169
+
1170
+ const client = new Client("http://service.example").compose(
1171
+ responseError()
1172
+ );
1173
+
1174
+ // Will throw a ResponseError for status codes >= 400
1175
+ await client.request({
1176
+ method: "GET",
1177
+ path: "/"
1178
+ });
1179
+ ```
1180
+
1181
+ ##### `decompress`
1182
+
1183
+ ⚠️ The decompress interceptor is experimental and subject to change.
1184
+
1185
+ The `decompress` interceptor automatically decompresses response bodies that are compressed with gzip, deflate, brotli, or zstd compression. It removes the `content-encoding` and `content-length` headers from decompressed responses and supports RFC-9110 compliant multiple encodings.
1186
+
1187
+ **Options**
1188
+
1189
+ - `skipErrorResponses` - Whether to skip decompression for error responses (status codes >= 400). Default: `true`.
1190
+ - `skipStatusCodes` - Array of status codes to skip decompression for. Default: `[204, 304]`.
1191
+
1192
+ **Example - Basic Decompress Interceptor**
1193
+
1194
+ ```js
1195
+ const { Client, interceptors } = require("undici");
1196
+ const { decompress } = interceptors;
1197
+
1198
+ const client = new Client("http://service.example").compose(
1199
+ decompress()
1200
+ );
1201
+
1202
+ // Automatically decompresses gzip/deflate/brotli/zstd responses
1203
+ const response = await client.request({
1204
+ method: "GET",
1205
+ path: "/"
1206
+ });
1207
+ ```
1208
+
1209
+ **Example - Custom Options**
1210
+
1211
+ ```js
1212
+ const { Client, interceptors } = require("undici");
1213
+ const { decompress } = interceptors;
1214
+
1215
+ const client = new Client("http://service.example").compose(
1216
+ decompress({
1217
+ skipErrorResponses: false, // Decompress 5xx responses
1218
+ skipStatusCodes: [204, 304, 201] // Skip these status codes
1219
+ })
1220
+ );
1221
+ ```
1222
+
1223
+ **Supported Encodings**
1224
+
1225
+ - `gzip` / `x-gzip` - GZIP compression
1226
+ - `deflate` / `x-compress` - DEFLATE compression
1227
+ - `br` - Brotli compression
1228
+ - `zstd` - Zstandard compression
1229
+ - Multiple encodings (e.g., `gzip, deflate`) are supported per RFC-9110
1230
+
1231
+ **Behavior**
1232
+
1233
+ - Skips decompression for status codes < 200 or >= 400 (configurable)
1234
+ - Skips decompression for 204 No Content and 304 Not Modified by default
1235
+ - Removes `content-encoding` and `content-length` headers when decompressing
1236
+ - Passes through unsupported encodings unchanged
1237
+ - Handles case-insensitive encoding names
1238
+ - Supports streaming decompression without buffering
1239
+
1240
+ ##### `Cache Interceptor`
1241
+
1242
+ The `cache` interceptor implements client-side response caching as described in
1243
+ [RFC9111](https://www.rfc-editor.org/rfc/rfc9111.html).
1244
+
1245
+ **Options**
1246
+
1247
+ - `store` - The [`CacheStore`](/docs/docs/api/CacheStore.md) to store and retrieve responses from. Default is [`MemoryCacheStore`](/docs/docs/api/CacheStore.md#memorycachestore).
1248
+ - `methods` - The [**safe** HTTP methods](https://www.rfc-editor.org/rfc/rfc9110#section-9.2.1) to cache the response of.
1249
+ - `cacheByDefault` - The default expiration time to cache responses by if they don't have an explicit expiration and cannot have an heuristic expiry computed. If this isn't present, responses neither with an explicit expiration nor heuristically cacheable will not be cached. Default `undefined`.
1250
+ - `type` - The [type of cache](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Caching#types_of_caches) for Undici to act as. Can be `shared` or `private`. Default `shared`. `private` implies privately cacheable responses will be cached and potentially shared with other users of your application.
1251
+
1252
+ **Usage with `fetch`**
1253
+
1254
+ ```js
1255
+ const { Agent, cacheStores, interceptors, setGlobalDispatcher } = require('undici')
1256
+
1257
+ const client = new Agent().compose(interceptors.cache({
1258
+ store: new cacheStores.MemoryCacheStore({
1259
+ maxSize: 100 * 1024 * 1024, // 100MB
1260
+ maxCount: 1000,
1261
+ maxEntrySize: 5 * 1024 * 1024 // 5MB
1262
+ })
1263
+ }))
1264
+
1265
+ setGlobalDispatcher(client)
1266
+
1267
+ // First request goes to the network and is cached when cache headers allow it.
1268
+ const first = await fetch('https://example.com/data')
1269
+
1270
+ // Second request can be served from cache according to RFC9111 rules.
1271
+ const second = await fetch('https://example.com/data')
1272
+ ```
1273
+
1274
+ ##### `Deduplicate Interceptor`
1275
+
1276
+ The `deduplicate` interceptor deduplicates concurrent identical requests. When multiple identical requests are made while one is already in-flight, only one request is sent to the origin server, and all waiting handlers receive the same response. This reduces server load and improves performance.
1277
+
1278
+ **Options**
1279
+
1280
+ - `methods` - The [**safe** HTTP methods](https://www.rfc-editor.org/rfc/rfc9110#section-9.2.1) to deduplicate. Default `['GET']`.
1281
+ - `skipHeaderNames` - Header names that, if present in a request, will cause the request to skip deduplication entirely. Useful for headers like `idempotency-key` where presence indicates unique processing. Header name matching is case-insensitive. Default `[]`.
1282
+ - `excludeHeaderNames` - Header names to exclude from the deduplication key. Requests with different values for these headers will still be deduplicated together. Useful for headers like `x-request-id` that vary per request but shouldn't affect deduplication. Header name matching is case-insensitive. Default `[]`.
1283
+ - `maxBufferSize` - Maximum bytes buffered per paused waiting deduplicated handler. If a waiting handler remains paused and exceeds this threshold, it is failed with an abort error to prevent unbounded memory growth. Default `5 * 1024 * 1024`.
1284
+
1285
+ **Usage**
1286
+
1287
+ ```js
1288
+ const { Client, interceptors } = require("undici");
1289
+ const { deduplicate, cache } = interceptors;
1290
+
1291
+ // Deduplicate only
1292
+ const client = new Client("http://service.example").compose(
1293
+ deduplicate()
1294
+ );
1295
+
1296
+ // Deduplicate with caching
1297
+ const clientWithCache = new Client("http://service.example").compose(
1298
+ deduplicate(),
1299
+ cache()
1300
+ );
1301
+ ```
1302
+
1303
+ Requests are considered identical if they have the same:
1304
+ - Origin
1305
+ - HTTP method
1306
+ - Path
1307
+ - Request headers (excluding any headers specified in `excludeHeaderNames`)
1308
+
1309
+ All deduplicated requests receive the complete response including status code, headers, and body.
1310
+
1311
+ For observability, request deduplication events are published to the `undici:request:pending-requests` [diagnostic channel](/docs/docs/api/DiagnosticsChannel.md#undicirequestpending-requests).
1312
+
1313
+ ## Instance Events
1314
+
1315
+ ### Event: `'connect'`
1316
+
1317
+ Parameters:
1318
+
1319
+ * **origin** `URL`
1320
+ * **targets** `Array<Dispatcher>`
1321
+
1322
+ ### Event: `'disconnect'`
1323
+
1324
+ Parameters:
1325
+
1326
+ * **origin** `URL`
1327
+ * **targets** `Array<Dispatcher>`
1328
+ * **error** `Error`
1329
+
1330
+ Emitted when the dispatcher has been disconnected from the origin.
1331
+
1332
+ > **Note**: For HTTP/2, this event is also emitted when the dispatcher has received the [GOAWAY Frame](https://webconcepts.info/concepts/http2-frame-type/0x7) with an Error with the message `HTTP/2: "GOAWAY" frame received` and the code `UND_ERR_INFO`.
1333
+ > Due to nature of the protocol of using binary frames, it is possible that requests gets hanging as a frame can be received between the `HEADER` and `DATA` frames.
1334
+ > It is recommended to handle this event and close the dispatcher to create a new HTTP/2 session.
1335
+
1336
+ ### Event: `'connectionError'`
1337
+
1338
+ Parameters:
1339
+
1340
+ * **origin** `URL`
1341
+ * **targets** `Array<Dispatcher>`
1342
+ * **error** `Error`
1343
+
1344
+ Emitted when dispatcher fails to connect to
1345
+ origin.
1346
+
1347
+ ### Event: `'drain'`
1348
+
1349
+ Parameters:
1350
+
1351
+ * **origin** `URL`
1352
+
1353
+ Emitted when dispatcher is no longer busy.
1354
+
1355
+ ## Parameter: `UndiciHeaders`
1356
+
1357
+ * `Record<string, number | string | string[] | undefined> | string[] | Iterable<[string, string | string[] | undefined]> | null`
1358
+
1359
+ Header arguments such as `options.headers` in [`Client.dispatch`](/docs/docs/api/Client.md#clientdispatchoptions-handlers) can be specified in three forms:
1360
+ * As an object specified by the `Record<string, number | string | string[] | undefined>` (`OutgoingHttpHeaders`) type.
1361
+ * As an array of strings. An array representation of a header list must have an even length, or an `InvalidArgumentError` will be thrown.
1362
+ * As an iterable that can encompass `Headers`, `Map`, or a custom iterator returning key-value pairs.
1363
+ Keys are lowercase and values are not modified.
1364
+
1365
+ Undici validates header syntax at the protocol level (for example, invalid header names and invalid control characters in string values), but it does not sanitize untrusted application input. Validate and sanitize any user-provided header names and values before passing them to Undici to prevent header/body injection vulnerabilities.
1366
+
1367
+ When using the array header format (`string[]`), Undici processes only indexed elements. Additional properties assigned to the array object are ignored.
1368
+
1369
+ Response headers will derive a `host` from the `url` of the [Client](/docs/docs/api/Client.md#class-client) instance if no `host` header was previously specified.
1370
+
1371
+ ### Example 1 - Object
1372
+
1373
+ ```js
1374
+ {
1375
+ 'content-length': '123',
1376
+ 'content-type': 'text/plain',
1377
+ connection: 'keep-alive',
1378
+ host: 'mysite.com',
1379
+ accept: '*/*'
1380
+ }
1381
+ ```
1382
+
1383
+ ### Example 2 - Array
1384
+
1385
+ ```js
1386
+ [
1387
+ 'content-length', '123',
1388
+ 'content-type', 'text/plain',
1389
+ 'connection', 'keep-alive',
1390
+ 'host', 'mysite.com',
1391
+ 'accept', '*/*'
1392
+ ]
1393
+ ```
1394
+
1395
+ ### Example 3 - Iterable
1396
+
1397
+ ```js
1398
+ new Headers({
1399
+ 'content-length': '123',
1400
+ 'content-type': 'text/plain',
1401
+ connection: 'keep-alive',
1402
+ host: 'mysite.com',
1403
+ accept: '*/*'
1404
+ })
1405
+ ```
1406
+ or
1407
+ ```js
1408
+ new Map([
1409
+ ['content-length', '123'],
1410
+ ['content-type', 'text/plain'],
1411
+ ['connection', 'keep-alive'],
1412
+ ['host', 'mysite.com'],
1413
+ ['accept', '*/*']
1414
+ ])
1415
+ ```
1416
+ or
1417
+ ```js
1418
+ {
1419
+ *[Symbol.iterator] () {
1420
+ yield ['content-length', '123']
1421
+ yield ['content-type', 'text/plain']
1422
+ yield ['connection', 'keep-alive']
1423
+ yield ['host', 'mysite.com']
1424
+ yield ['accept', '*/*']
1425
+ }
1426
+ }
1427
+ ```