@openclaw/slack 2026.9.6 → 2026.9.8

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 (291) hide show
  1. package/assets/icon.png +0 -0
  2. package/dist/.setup/{account-inspect-DP1Bcwj4.mjs → account-inspect-DWBXpER6.mjs} +1 -1
  3. package/dist/.setup/{accounts-BBHvg0pY.mjs → accounts-D_N9IqNA.mjs} +23 -1
  4. package/dist/.setup/{action-runtime-B01d85zt.mjs → action-runtime-DfWvuiZd.mjs} +26 -41
  5. package/dist/.setup/action-runtime.runtime-Ck4bAWOX.mjs +2 -0
  6. package/dist/.setup/{actions-DKCtBgCI.mjs → actions-Df0CzcDl.mjs} +88 -175
  7. package/dist/.setup/{approval-handler.runtime-DMszKn_7.mjs → approval-handler.runtime-Ed6Sw5VK.mjs} +37 -47
  8. package/dist/.setup/{approval-message-updates-Tb_qRokK.mjs → approval-message-updates-BadvtA7R.mjs} +1 -2
  9. package/dist/.setup/{channel-CErYZ5zw.mjs → channel-C7bgPSTE.mjs} +181 -273
  10. package/dist/.setup/channel-meta-C443t-lI.mjs +27 -0
  11. package/dist/.setup/{channel-type-Dxk8VJUb.mjs → channel-type-ClOttrZ5.mjs} +13 -21
  12. package/dist/.setup/{channel.setup-BVoUtdPn.mjs → channel.setup-Dh2jzAjN.mjs} +35 -42
  13. package/dist/.setup/{config-schema-CyL279e7.mjs → config-schema-BZCxmHKG.mjs} +24 -21
  14. package/dist/.setup/{directory-config-CQTSH45W.mjs → directory-config-BOUWH3hR.mjs} +7 -10
  15. package/dist/.setup/{directory-live-BCcj89QV.mjs → directory-live-B2O4B_Ho.mjs} +9 -21
  16. package/dist/.setup/doctor-contract-CRN1Z_c7.mjs +342 -0
  17. package/dist/.setup/{message-tool-api-C0PTFaNV.mjs → message-tool-api-Cu4lwlGy.mjs} +34 -48
  18. package/dist/.setup/{provider-C-jPaGt2.mjs → monitor-BPVfkumU.mjs} +2181 -2693
  19. package/dist/.setup/{outbound-adapter-A7Wdn8ZT.mjs → outbound-adapter-Bv48XUjq.mjs} +10 -21
  20. package/dist/.setup/{pipeline.runtime-BlPOexmJ.mjs → pipeline.runtime-B1H63Frf.mjs} +311 -457
  21. package/dist/.setup/{plugin-routes-C3X0eVaK.mjs → plugin-routes-B8tooDLj.mjs} +1 -1
  22. package/dist/.setup/{policy-BApW53pI.mjs → policy-D-jfM174.mjs} +5 -5
  23. package/dist/.setup/{probe-DiYIMPJo.mjs → probe-B2Y9qc_z.mjs} +101 -39
  24. package/dist/.setup/{registry-bbjH7IHX.mjs → registry-CIbMfuf8.mjs} +6 -2
  25. package/dist/.setup/{relay-source-DfOnjJTE.mjs → relay-source-BpKdjsll.mjs} +10 -12
  26. package/dist/.setup/{replies-BBAJxUOQ.mjs → replies-BAnUtr2f.mjs} +16 -76
  27. package/dist/.setup/{reply-blocks-Bm8kf6mK.mjs → reply-blocks-SE1kTE3I.mjs} +27 -154
  28. package/dist/.setup/{resolve-channels-BXbMBbJD.mjs → resolve-channels-XXBn8UU_.mjs} +4 -5
  29. package/dist/.setup/{resolve-users-65WqvIqD.mjs → resolve-users-DW0ngD03.mjs} +20 -22
  30. package/dist/.setup/{scopes-h3YB-mMs.mjs → scopes-CasuDvaa.mjs} +6 -17
  31. package/dist/.setup/{secret-contract-DxmvbxBF.mjs → secret-contract-BaZcu6P_.mjs} +15 -20
  32. package/dist/.setup/{secret-contract-api-D9UfYujm.mjs → secret-contract-api-Dp6290Vg.mjs} +1 -1
  33. package/dist/.setup/{security-audit-BypHqcq5.mjs → security-audit-BqDc-6VL.mjs} +1 -1
  34. package/dist/.setup/{send-Cp6omkOg.mjs → send-BOVLQi3n.mjs} +84 -171
  35. package/dist/.setup/{session-status-Cf7AvWOt.mjs → session-status-DscajIsd.mjs} +315 -238
  36. package/dist/.setup/{setup-plugin-api-dLPkL06L.mjs → setup-plugin-api-DTtbTKNk.mjs} +1 -1
  37. package/dist/.setup/{setup-surface-D3DLcCxu.mjs → setup-surface-Dn7QgWRE.mjs} +24 -56
  38. package/dist/.setup/{shared-CJ3arAFL.mjs → shared-qau-uDGl.mjs} +30 -56
  39. package/dist/.setup/{slash-dispatch.runtime-HFy_XvyO.mjs → slash-dispatch.runtime--AEzLVBF.mjs} +1 -1
  40. package/dist/.setup/{streaming-compat-B-e0mqM0.mjs → streaming-compat-C5Wut626.mjs} +31 -8
  41. package/dist/.setup/{target-parsing-DEsPjngB.mjs → target-parsing-FFE26kOV.mjs} +1 -7
  42. package/dist/.setup/{targets-Cku2KCvg.mjs → targets-C6LZQL1Q.mjs} +1 -1
  43. package/dist/.setup/{thread-ts-CukseRVL.mjs → thread-ts-Cvt7WD6B.mjs} +0 -1
  44. package/dist/account-inspect-api.js +1 -1
  45. package/dist/api.js +18 -17
  46. package/dist/channel-config-api.js +1 -1
  47. package/dist/channel-plugin-api.js +1 -1
  48. package/dist/directory-contract-api.js +1 -1
  49. package/dist/doctor-contract-api.js +1 -1
  50. package/dist/http-routes-api.js +1 -1
  51. package/dist/index.js +1 -1
  52. package/dist/message-tool-api.js +1 -1
  53. package/dist/runtime-api.js +11 -12
  54. package/dist/secret-contract-api.js +1 -1
  55. package/dist/security-contract-api.js +1 -1
  56. package/dist/setup-entry.js +2 -2
  57. package/dist/setup-plugin-api.js +1 -1
  58. package/node_modules/@slack/bolt/node_modules/@types/node/README.md +1 -1
  59. package/node_modules/@slack/bolt/node_modules/@types/node/child_process.d.ts +1 -1
  60. package/node_modules/@slack/bolt/node_modules/@types/node/crypto.d.ts +20 -8
  61. package/node_modules/@slack/bolt/node_modules/@types/node/ffi.d.ts +14 -0
  62. package/node_modules/@slack/bolt/node_modules/@types/node/http2.d.ts +3 -2
  63. package/node_modules/@slack/bolt/node_modules/@types/node/net.d.ts +16 -4
  64. package/node_modules/@slack/bolt/node_modules/@types/node/package.json +2 -2
  65. package/node_modules/@slack/bolt/node_modules/@types/node/process.d.ts +1 -0
  66. package/node_modules/@slack/bolt/node_modules/@types/node/quic.d.ts +39 -1
  67. package/node_modules/@slack/bolt/node_modules/@types/node/stream/iter.d.ts +9 -12
  68. package/node_modules/@slack/bolt/node_modules/@types/node/test/reporters.d.ts +1 -0
  69. package/node_modules/@slack/bolt/node_modules/@types/node/test.d.ts +72 -0
  70. package/node_modules/@slack/bolt/node_modules/@types/node/tls.d.ts +14 -10
  71. package/node_modules/@slack/bolt/node_modules/@types/node/vm.d.ts +2 -1
  72. package/node_modules/@slack/bolt/node_modules/@types/node/worker_threads.d.ts +4 -1
  73. package/node_modules/@slack/web-api/node_modules/@types/node/README.md +1 -1
  74. package/node_modules/@slack/web-api/node_modules/@types/node/child_process.d.ts +1 -1
  75. package/node_modules/@slack/web-api/node_modules/@types/node/crypto.d.ts +20 -8
  76. package/node_modules/@slack/web-api/node_modules/@types/node/ffi.d.ts +14 -0
  77. package/node_modules/@slack/web-api/node_modules/@types/node/http2.d.ts +3 -2
  78. package/node_modules/@slack/web-api/node_modules/@types/node/net.d.ts +16 -4
  79. package/node_modules/@slack/web-api/node_modules/@types/node/package.json +2 -2
  80. package/node_modules/@slack/web-api/node_modules/@types/node/process.d.ts +1 -0
  81. package/node_modules/@slack/web-api/node_modules/@types/node/quic.d.ts +39 -1
  82. package/node_modules/@slack/web-api/node_modules/@types/node/stream/iter.d.ts +9 -12
  83. package/node_modules/@slack/web-api/node_modules/@types/node/test/reporters.d.ts +1 -0
  84. package/node_modules/@slack/web-api/node_modules/@types/node/test.d.ts +72 -0
  85. package/node_modules/@slack/web-api/node_modules/@types/node/tls.d.ts +14 -10
  86. package/node_modules/@slack/web-api/node_modules/@types/node/vm.d.ts +2 -1
  87. package/node_modules/@slack/web-api/node_modules/@types/node/worker_threads.d.ts +4 -1
  88. package/node_modules/get-east-asian-width/index.js +8 -3
  89. package/node_modules/get-east-asian-width/lookup-data.js +1 -1
  90. package/node_modules/get-east-asian-width/lookup.js +4 -4
  91. package/node_modules/get-east-asian-width/package.json +1 -1
  92. package/node_modules/typebox/build/compile/code.mjs +1 -2
  93. package/node_modules/typebox/build/compile/validator.mjs +5 -1
  94. package/node_modules/typebox/build/format/iri.mjs +16 -9
  95. package/node_modules/typebox/build/guard/emit.mjs +2 -2
  96. package/node_modules/typebox/build/guard/guard.d.mts +7 -5
  97. package/node_modules/typebox/build/guard/guard.mjs +14 -9
  98. package/node_modules/typebox/build/guard/index.mjs +6 -0
  99. package/node_modules/typebox/build/guard/unicode/unicode.d.mts +6 -0
  100. package/node_modules/typebox/build/guard/unicode/unicode.mjs +35 -0
  101. package/node_modules/typebox/build/guard/{string.mjs → unicode/unicode_segment.mjs} +16 -19
  102. package/node_modules/typebox/build/schema/build.mjs +2 -3
  103. package/node_modules/typebox/build/schema/engine/_pathing.d.mts +1 -0
  104. package/node_modules/typebox/build/schema/engine/_pathing.mjs +11 -0
  105. package/node_modules/typebox/build/schema/engine/_refine.mjs +13 -5
  106. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +2 -1
  107. package/node_modules/typebox/build/schema/engine/dependencies.mjs +2 -1
  108. package/node_modules/typebox/build/schema/engine/dependentSchemas.mjs +2 -1
  109. package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +1 -1
  110. package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +2 -2
  111. package/node_modules/typebox/build/schema/engine/format.mjs +9 -2
  112. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +3 -2
  113. package/node_modules/typebox/build/schema/engine/properties.mjs +3 -2
  114. package/node_modules/typebox/build/schema/engine/propertyNames.mjs +2 -1
  115. package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +1 -1
  116. package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +2 -2
  117. package/node_modules/typebox/build/schema/engine/ref.d.mts +1 -1
  118. package/node_modules/typebox/build/schema/engine/ref.mjs +2 -2
  119. package/node_modules/typebox/build/schema/engine/schema.mjs +24 -24
  120. package/node_modules/typebox/build/schema/parse.mjs +3 -0
  121. package/node_modules/typebox/build/schema/pointer/pointer.d.mts +1 -6
  122. package/node_modules/typebox/build/schema/pointer/pointer.mjs +47 -64
  123. package/node_modules/typebox/build/system/settings/internal.d.mts +2 -0
  124. package/node_modules/typebox/build/system/settings/internal.mjs +20 -0
  125. package/node_modules/typebox/build/system/settings/settings.d.mts +11 -0
  126. package/node_modules/typebox/build/system/settings/settings.mjs +14 -0
  127. package/node_modules/typebox/build/type/extends/inference.d.mts +1 -1
  128. package/node_modules/typebox/build/type/extends/inference.mjs +15 -2
  129. package/node_modules/typebox/build/type/extends/tuple.d.mts +2 -1
  130. package/node_modules/typebox/build/type/extends/tuple.mjs +21 -1
  131. package/node_modules/typebox/build/value/parse/parse.mjs +10 -4
  132. package/node_modules/typebox/package.json +1 -1
  133. package/node_modules/typebox/readme.md +3 -1
  134. package/node_modules/undici/README.md +81 -25
  135. package/node_modules/undici/docs/docs/api/Agent.md +249 -42
  136. package/node_modules/undici/docs/docs/api/BalancedPool.md +246 -48
  137. package/node_modules/undici/docs/docs/api/CacheStorage.md +171 -13
  138. package/node_modules/undici/docs/docs/api/CacheStore.md +294 -98
  139. package/node_modules/undici/docs/docs/api/Client.md +407 -162
  140. package/node_modules/undici/docs/docs/api/ClientStats.md +80 -14
  141. package/node_modules/undici/docs/docs/api/Connector.md +118 -35
  142. package/node_modules/undici/docs/docs/api/ContentType.md +65 -25
  143. package/node_modules/undici/docs/docs/api/Cookies.md +122 -71
  144. package/node_modules/undici/docs/docs/api/Debug.md +34 -18
  145. package/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +364 -164
  146. package/node_modules/undici/docs/docs/api/Dispatcher.md +490 -1055
  147. package/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +105 -93
  148. package/node_modules/undici/docs/docs/api/Errors.md +503 -28
  149. package/node_modules/undici/docs/docs/api/EventSource.md +326 -13
  150. package/node_modules/undici/docs/docs/api/Fetch.md +681 -30
  151. package/node_modules/undici/docs/docs/api/GlobalInstallation.md +78 -96
  152. package/node_modules/undici/docs/docs/api/H2CClient.md +298 -176
  153. package/node_modules/undici/docs/docs/api/Interceptors.md +418 -0
  154. package/node_modules/undici/docs/docs/api/MockAgent.md +333 -314
  155. package/node_modules/undici/docs/docs/api/MockCallHistory.md +272 -98
  156. package/node_modules/undici/docs/docs/api/MockCallHistoryLog.md +189 -26
  157. package/node_modules/undici/docs/docs/api/MockClient.md +151 -33
  158. package/node_modules/undici/docs/docs/api/MockErrors.md +56 -5
  159. package/node_modules/undici/docs/docs/api/MockPool.md +321 -258
  160. package/node_modules/undici/docs/docs/api/Pool.md +236 -41
  161. package/node_modules/undici/docs/docs/api/PoolStats.md +119 -13
  162. package/node_modules/undici/docs/docs/api/ProxyAgent.md +179 -160
  163. package/node_modules/undici/docs/docs/api/RedirectHandler.md +238 -55
  164. package/node_modules/undici/docs/docs/api/RetryAgent.md +113 -27
  165. package/node_modules/undici/docs/docs/api/RetryHandler.md +161 -79
  166. package/node_modules/undici/docs/docs/api/RoundRobinPool.md +166 -72
  167. package/node_modules/undici/docs/docs/api/SnapshotAgent.md +262 -517
  168. package/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +177 -196
  169. package/node_modules/undici/docs/docs/api/Util.md +68 -11
  170. package/node_modules/undici/docs/docs/api/WebSocket.md +475 -80
  171. package/node_modules/undici/docs/docs/api/api-lifecycle.md +100 -32
  172. package/node_modules/undici/docs/docs/best-practices/client-certificate.md +2 -0
  173. package/node_modules/undici/docs/docs/best-practices/crawling.md +3 -1
  174. package/node_modules/undici/docs/docs/best-practices/migrating-from-v7-to-v8.md +233 -0
  175. package/node_modules/undici/docs/docs/best-practices/mocking-request.md +9 -7
  176. package/node_modules/undici/docs/docs/best-practices/proxy.md +3 -1
  177. package/node_modules/undici/docs/docs/best-practices/undici-vs-builtin-fetch.md +10 -8
  178. package/node_modules/undici/docs/docs/best-practices/writing-tests.md +2 -0
  179. package/node_modules/undici/docs/docs/getting-started.md +281 -0
  180. package/node_modules/undici/docs/docs/index.md +784 -0
  181. package/node_modules/undici/docs/docs/site.json +125 -0
  182. package/node_modules/undici/docs/docs/type-map.json +79 -0
  183. package/node_modules/undici/index.js +4 -2
  184. package/node_modules/undici/lib/api/api-connect.js +13 -11
  185. package/node_modules/undici/lib/api/api-pipeline.js +26 -13
  186. package/node_modules/undici/lib/api/api-request.js +51 -21
  187. package/node_modules/undici/lib/api/api-stream.js +81 -20
  188. package/node_modules/undici/lib/api/api-upgrade.js +21 -11
  189. package/node_modules/undici/lib/api/readable.js +45 -9
  190. package/node_modules/undici/lib/cache/memory-cache-store.js +3 -3
  191. package/node_modules/undici/lib/cache/sqlite-cache-store.js +3 -1
  192. package/node_modules/undici/lib/core/connect.js +46 -7
  193. package/node_modules/undici/lib/core/constants.js +1 -24
  194. package/node_modules/undici/lib/core/errors.js +22 -2
  195. package/node_modules/undici/lib/core/request.js +100 -18
  196. package/node_modules/undici/lib/core/symbols.js +4 -0
  197. package/node_modules/undici/lib/core/util.js +105 -48
  198. package/node_modules/undici/lib/dispatcher/agent.js +51 -32
  199. package/node_modules/undici/lib/dispatcher/balanced-pool.js +23 -27
  200. package/node_modules/undici/lib/dispatcher/client-h1.js +86 -24
  201. package/node_modules/undici/lib/dispatcher/client-h2.js +1091 -361
  202. package/node_modules/undici/lib/dispatcher/client.js +109 -36
  203. package/node_modules/undici/lib/dispatcher/dispatcher-base.js +19 -6
  204. package/node_modules/undici/lib/dispatcher/dispatcher.js +15 -5
  205. package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +110 -0
  206. package/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +37 -8
  207. package/node_modules/undici/lib/dispatcher/h2c-client.js +4 -4
  208. package/node_modules/undici/lib/dispatcher/pool-base.js +28 -10
  209. package/node_modules/undici/lib/dispatcher/pool.js +30 -5
  210. package/node_modules/undici/lib/dispatcher/proxy-agent.js +95 -19
  211. package/node_modules/undici/lib/dispatcher/retry-agent.js +3 -0
  212. package/node_modules/undici/lib/dispatcher/round-robin-pool.js +32 -10
  213. package/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +153 -63
  214. package/node_modules/undici/lib/global.js +37 -14
  215. package/node_modules/undici/lib/handler/cache-handler.js +49 -7
  216. package/node_modules/undici/lib/handler/cache-revalidation-handler.js +10 -0
  217. package/node_modules/undici/lib/handler/decorator-handler.js +8 -3
  218. package/node_modules/undici/lib/handler/deduplication-handler.js +12 -6
  219. package/node_modules/undici/lib/handler/redirect-handler.js +66 -66
  220. package/node_modules/undici/lib/handler/retry-handler.js +191 -50
  221. package/node_modules/undici/lib/interceptor/cache.js +75 -25
  222. package/node_modules/undici/lib/interceptor/decompress.js +5 -2
  223. package/node_modules/undici/lib/interceptor/deduplicate.js +5 -4
  224. package/node_modules/undici/lib/interceptor/dns.js +12 -1
  225. package/node_modules/undici/lib/interceptor/redirect.js +3 -3
  226. package/node_modules/undici/lib/llhttp/llhttp-wasm.js +1 -1
  227. package/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +1 -1
  228. package/node_modules/undici/lib/mock/mock-agent.js +21 -9
  229. package/node_modules/undici/lib/mock/mock-call-history.js +1 -1
  230. package/node_modules/undici/lib/mock/mock-interceptor.js +25 -7
  231. package/node_modules/undici/lib/mock/mock-utils.js +281 -47
  232. package/node_modules/undici/lib/mock/snapshot-agent.js +25 -7
  233. package/node_modules/undici/lib/mock/snapshot-recorder.js +38 -3
  234. package/node_modules/undici/lib/util/cache.js +92 -10
  235. package/node_modules/undici/lib/util/runtime-features.js +3 -34
  236. package/node_modules/undici/lib/web/cache/cache.js +6 -8
  237. package/node_modules/undici/lib/web/cookies/parse.js +150 -146
  238. package/node_modules/undici/lib/web/cookies/util.js +1 -1
  239. package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +28 -1
  240. package/node_modules/undici/lib/web/eventsource/eventsource.js +20 -21
  241. package/node_modules/undici/lib/web/eventsource/util.js +32 -1
  242. package/node_modules/undici/lib/web/fetch/body.js +48 -10
  243. package/node_modules/undici/lib/web/fetch/constants.js +1 -1
  244. package/node_modules/undici/lib/web/fetch/formdata.js +21 -2
  245. package/node_modules/undici/lib/web/fetch/index.js +242 -223
  246. package/node_modules/undici/lib/web/fetch/request.js +35 -6
  247. package/node_modules/undici/lib/web/fetch/response.js +1 -3
  248. package/node_modules/undici/lib/web/fetch/util.js +10 -2
  249. package/node_modules/undici/lib/web/webidl/index.js +5 -7
  250. package/node_modules/undici/lib/web/websocket/frame.js +1 -7
  251. package/node_modules/undici/lib/web/websocket/receiver.js +1 -1
  252. package/node_modules/undici/lib/web/websocket/stream/websocketstream.js +10 -10
  253. package/node_modules/undici/lib/web/websocket/websocket.js +25 -3
  254. package/node_modules/undici/package.json +10 -10
  255. package/node_modules/undici/types/agent.d.ts +0 -2
  256. package/node_modules/undici/types/client.d.ts +69 -24
  257. package/node_modules/undici/types/connector.d.ts +1 -0
  258. package/node_modules/undici/types/cookies.d.ts +1 -1
  259. package/node_modules/undici/types/dispatcher.d.ts +8 -30
  260. package/node_modules/undici/types/dispatcher1-wrapper.d.ts +7 -0
  261. package/node_modules/undici/types/errors.d.ts +10 -0
  262. package/node_modules/undici/types/fetch.d.ts +5 -1
  263. package/node_modules/undici/types/formdata.d.ts +0 -6
  264. package/node_modules/undici/types/h2c-client.d.ts +6 -6
  265. package/node_modules/undici/types/handlers.d.ts +2 -0
  266. package/node_modules/undici/types/header.d.ts +5 -0
  267. package/node_modules/undici/types/index.d.ts +3 -1
  268. package/node_modules/undici/types/interceptors.d.ts +1 -1
  269. package/node_modules/undici/types/mock-agent.d.ts +11 -10
  270. package/node_modules/undici/types/mock-interceptor.d.ts +5 -1
  271. package/node_modules/undici/types/pool.d.ts +0 -2
  272. package/node_modules/undici/types/proxy-agent.d.ts +9 -2
  273. package/node_modules/undici/types/round-robin-pool.d.ts +0 -2
  274. package/node_modules/undici/types/snapshot-agent.d.ts +4 -0
  275. package/node_modules/undici/types/socks5-proxy-agent.d.ts +4 -2
  276. package/node_modules/undici/types/webidl.d.ts +0 -1
  277. package/openclaw.plugin.json +31 -3
  278. package/package.json +7 -7
  279. package/dist/.setup/accounts.runtime-DN-PPocC.mjs +0 -2
  280. package/dist/.setup/action-runtime.runtime-C8R8CUan.mjs +0 -2
  281. package/dist/.setup/doctor-contract-CtMUqjvk.mjs +0 -186
  282. package/dist/.setup/monitor-_Sht7Dqy.mjs +0 -13
  283. package/dist/.setup/rolldown-runtime-D7D4PA-g.mjs +0 -13
  284. package/dist/.setup/send.runtime-B4caZU6T.mjs +0 -2
  285. package/dist/.setup/slash-commands.runtime-BpSH0b3q.mjs +0 -2
  286. package/dist/.setup/slash-skill-commands.runtime-Bi1JWZHY.mjs +0 -2
  287. package/node_modules/undici/lib/handler/unwrap-handler.js +0 -106
  288. package/node_modules/undici/lib/handler/wrap-handler.js +0 -105
  289. package/node_modules/undici/lib/llhttp/.gitkeep +0 -0
  290. package/node_modules/undici/lib/util/promise.js +0 -28
  291. /package/node_modules/typebox/build/guard/{string.d.mts → unicode/unicode_segment.d.mts} +0 -0
@@ -1,49 +1,643 @@
1
1
  # Fetch
2
2
 
3
- Undici exposes a fetch() method starts the process of fetching a resource from the network.
3
+ <!--introduced_in=v1.0.0-->
4
+ <!--type=module-->
5
+ <!-- source_link=lib/web/fetch/index.js -->
4
6
 
5
- Documentation and examples can be found on [MDN](https://developer.mozilla.org/en-US/docs/Web/API/fetch).
7
+ > Stability: 2 - Stable
6
8
 
7
- ## FormData
9
+ undici implements the [WHATWG Fetch Standard][], providing `fetch()` together
10
+ with the `Request`, `Response`, `Headers`, and `FormData` classes that mirror
11
+ the browser APIs. The implementation follows the standard, so the
12
+ [MDN Fetch documentation][] applies as well.
8
13
 
9
- This API is implemented as per the standard, you can find documentation on [MDN](https://developer.mozilla.org/en-US/docs/Web/API/FormData).
14
+ ```mjs
15
+ import { fetch, Request, Response, Headers, FormData } from 'undici'
16
+
17
+ const response = await fetch('https://example.com')
18
+ const text = await response.text()
19
+ ```
20
+
21
+ When mixing these classes, keep them from the same implementation: use the
22
+ global `fetch()` with the global `FormData`, `Request`, `Response`, and
23
+ `Headers`, and use undici's `fetch()` with undici's classes. Passing a value
24
+ created by one implementation to the other can throw.
25
+
26
+ ## `fetch(input[, init])`
27
+
28
+ <!-- YAML
29
+ added: v5.6.0
30
+ changes:
31
+ - version: v5.6.1
32
+ pr-url: https://github.com/nodejs/undici/pull/1529
33
+ description: No default value is assigned to `init.method`.
34
+ -->
35
+
36
+ * `input` {string|URL|Request} The resource to fetch. A string or {URL} is
37
+ treated as the URL to request; a {Request} is used as the request template.
38
+ * `init` {RequestInit} (optional) An options object that customizes the
39
+ request.
40
+ * `body` {string|Buffer|Uint8Array|Blob|FormData|URLSearchParams|ReadableStream|null}
41
+ The request body. **Default:** `null`.
42
+ * `cache` {string} The cache mode. One of `'default'`, `'force-cache'`,
43
+ `'no-cache'`, `'no-store'`, `'only-if-cached'`, or `'reload'`.
44
+ * `credentials` {string} How credentials are sent. One of `'omit'`,
45
+ `'include'`, or `'same-origin'`.
46
+ * `dispatcher` {Dispatcher} The {Dispatcher} used to perform the request.
47
+ **Default:** the global dispatcher.
48
+ * `duplex` {string} The duplex mode of the request. Must be `'half'` when a
49
+ streaming `body` is provided.
50
+ * `headers` {Headers|Object|Array} The request headers, as a {Headers}
51
+ instance, a plain object, or an array of `[name, value]` pairs.
52
+ * `integrity` {string} The subresource integrity metadata of the request.
53
+ * `keepalive` {boolean} Whether the connection may outlive the page.
54
+ **Default:** `false`.
55
+ * `method` {string} The request method, for example `'GET'` or `'POST'`.
56
+ * `mode` {string} The request mode. One of `'cors'`, `'navigate'`,
57
+ `'no-cors'`, or `'same-origin'`.
58
+ * `redirect` {string} How redirects are handled. One of `'error'`,
59
+ `'follow'`, or `'manual'`.
60
+ * `referrer` {string} The request referrer.
61
+ * `referrerPolicy` {string} The referrer policy. One of `''`,
62
+ `'no-referrer'`, `'no-referrer-when-downgrade'`, `'origin'`,
63
+ `'origin-when-cross-origin'`, `'same-origin'`, `'strict-origin'`,
64
+ `'strict-origin-when-cross-origin'`, or `'unsafe-url'`.
65
+ * `signal` {AbortSignal|null} An {AbortSignal} used to abort the request.
66
+ **Default:** `null`.
67
+ * `window` {null} Can only be `null`; reserved by the standard.
68
+ * Returns: {Promise} Fulfills with a {Response} once the response headers have
69
+ been received.
70
+
71
+ Starts the process of fetching a resource from the network and returns a
72
+ promise that fulfills with a {Response}. The promise rejects only on network
73
+ failures; an HTTP error status such as `404` still fulfills the promise, so
74
+ inspect [`response.ok`](#responseok) to detect failures.
75
+
76
+ ```mjs
77
+ import { fetch } from 'undici'
78
+
79
+ const response = await fetch('https://example.com', {
80
+ method: 'POST',
81
+ headers: { 'content-type': 'application/json' },
82
+ body: JSON.stringify({ hello: 'world' }),
83
+ })
84
+
85
+ console.log(response.status)
86
+ console.log(await response.json())
87
+ ```
88
+
89
+ To route the request through a custom {Dispatcher} (for example a `ProxyAgent`
90
+ or `Agent` with specific options), pass it as `init.dispatcher`.
91
+
92
+ ```mjs
93
+ import { fetch, Agent } from 'undici'
94
+
95
+ const response = await fetch('https://example.com', {
96
+ dispatcher: new Agent({ connect: { rejectUnauthorized: false } }),
97
+ })
98
+ ```
99
+
100
+ ## Class: `FormData`
101
+
102
+ <!-- YAML
103
+ added: v4.4.4
104
+ -->
105
+
106
+ A set of key/value pairs representing form fields and their values, suitable
107
+ for use as a `fetch()` request `body`. The implementation follows the
108
+ [WHATWG Fetch Standard][]; see the [MDN `FormData` documentation][].
109
+
110
+ When using `FormData` as a request body, keep `fetch` and `FormData` from the
111
+ same implementation: use the global `FormData` with the global `fetch()`, and
112
+ undici's `FormData` with undici's `fetch()`.
113
+
114
+ ### `new FormData()`
115
+
116
+ <!-- YAML
117
+ added: v4.4.4
118
+ -->
119
+
120
+ Creates a new, empty `FormData` instance. Passing any argument other than
121
+ `undefined` throws; in particular, an `HTMLFormElement` argument is not
122
+ supported in this environment.
123
+
124
+ ### `formData.append(name, value[, filename])`
125
+
126
+ <!-- YAML
127
+ added: v1.0.0
128
+ -->
129
+
130
+ * `name` {string} The name of the field.
131
+ * `value` {string|Blob} The value of the field.
132
+ * `filename` {string} The filename reported to the server when `value` is a
133
+ {Blob}. (optional)
134
+
135
+ Appends a new value to an existing key, or adds the key if it does not exist.
136
+ Unlike [`formData.set()`](#formdatasetname-value-filename), `append()` keeps
137
+ any existing values for `name`.
138
+
139
+ ### `formData.delete(name)`
140
+
141
+ <!-- YAML
142
+ added: v1.0.0
143
+ -->
144
+
145
+ * `name` {string} The name of the field to remove.
146
+
147
+ Deletes all values associated with `name`.
148
+
149
+ ### `formData.get(name)`
150
+
151
+ <!-- YAML
152
+ added: v1.0.0
153
+ -->
154
+
155
+ * `name` {string} The name of the field to read.
156
+ * Returns: {string|File|null} The first value associated with `name`, or
157
+ `null` if there is none.
158
+
159
+ ### `formData.getAll(name)`
160
+
161
+ <!-- YAML
162
+ added: v1.0.0
163
+ -->
164
+
165
+ * `name` {string} The name of the field to read.
166
+ * Returns: {Array} All values associated with `name`, as an array of
167
+ {string} and {File} entries.
168
+
169
+ ### `formData.has(name)`
170
+
171
+ <!-- YAML
172
+ added: v1.0.0
173
+ -->
174
+
175
+ * `name` {string} The name of the field to look up.
176
+ * Returns: {boolean} `true` if at least one value is associated with `name`.
177
+
178
+ ### `formData.set(name, value[, filename])`
179
+
180
+ <!-- YAML
181
+ added: v1.0.0
182
+ -->
183
+
184
+ * `name` {string} The name of the field.
185
+ * `value` {string|Blob} The value of the field.
186
+ * `filename` {string} The filename reported to the server when `value` is a
187
+ {Blob}. (optional)
188
+
189
+ Sets a new value for an existing key, or adds the key if it does not exist,
190
+ replacing any values previously associated with `name`.
191
+
192
+ ## Class: `Response`
193
+
194
+ <!-- YAML
195
+ added: v4.4.0
196
+ -->
197
+
198
+ * Extends: {BodyMixin}
199
+
200
+ Represents the response to a request. Instances are typically obtained by
201
+ awaiting `fetch()`, but can also be constructed directly. The implementation
202
+ follows the [WHATWG Fetch Standard][]; see the
203
+ [MDN `Response` documentation][]. `Response` inherits the body-reading methods
204
+ described in [Body mixin](#body-mixin).
205
+
206
+ ### `new Response([body[, init]])`
207
+
208
+ <!-- YAML
209
+ added: v4.4.0
210
+ -->
211
+
212
+ * `body` {string|Buffer|Uint8Array|Blob|FormData|URLSearchParams|ReadableStream|null}
213
+ The response body. **Default:** `null`.
214
+ * `init` {ResponseInit} (optional)
215
+ * `status` {number} The response status code. **Default:** `200`.
216
+ * `statusText` {string} The response status message. **Default:** `''`.
217
+ * `headers` {Headers|Object|Array} The response headers.
218
+
219
+ Creates a new `Response`.
220
+
221
+ ### Static method: `Response.error()`
222
+
223
+ <!-- YAML
224
+ added: v1.0.0
225
+ -->
226
+
227
+ * Returns: {Response} A network-error response.
228
+
229
+ Returns a new `Response` representing a network error, with its
230
+ [`type`](#responsetype) set to `'error'`.
231
+
232
+ ### Static method: `Response.json(data[, init])`
233
+
234
+ <!-- YAML
235
+ added: v1.0.0
236
+ -->
237
+
238
+ * `data` {any} The value to serialize as JSON.
239
+ * `init` {ResponseInit} (optional)
240
+ * `status` {number} The response status code. **Default:** `200`.
241
+ * `statusText` {string} The response status message. **Default:** `''`.
242
+ * `headers` {Headers|Object|Array} The response headers.
243
+ * Returns: {Response} A response whose body is the JSON serialization of
244
+ `data` and whose `Content-Type` is `application/json`.
245
+
246
+ ```mjs
247
+ import { Response } from 'undici'
248
+
249
+ const response = Response.json({ ok: true }, { status: 201 })
250
+ ```
251
+
252
+ ### Static method: `Response.redirect(url[, status])`
253
+
254
+ <!-- YAML
255
+ added: v1.0.0
256
+ -->
257
+
258
+ * `url` {string|URL} The URL to redirect to.
259
+ * `status` {number} The redirect status code. One of `301`, `302`, `303`,
260
+ `307`, or `308`. **Default:** `302`.
261
+ * Returns: {Response} A redirect response with the `Location` header set to
262
+ `url`.
263
+
264
+ ### `response.clone()`
265
+
266
+ <!-- YAML
267
+ added: v1.0.0
268
+ -->
269
+
270
+ * Returns: {Response} A copy of the response.
271
+
272
+ Creates a clone of the response. Throws a `TypeError` if the body has already
273
+ been read or is locked.
274
+
275
+ ### `response.type`
276
+
277
+ <!-- YAML
278
+ added: v1.0.0
279
+ -->
280
+
281
+ * Type: {string} The response type. One of `'basic'`, `'cors'`, `'default'`,
282
+ `'error'`, `'opaque'`, or `'opaqueredirect'`.
283
+
284
+ ### `response.url`
285
+
286
+ <!-- YAML
287
+ added: v1.0.0
288
+ -->
289
+
290
+ * Type: {string} The final URL of the response after any redirects, or the
291
+ empty string if not available.
292
+
293
+ ### `response.redirected`
294
+
295
+ <!-- YAML
296
+ added: v1.0.0
297
+ -->
298
+
299
+ * Type: {boolean} `true` if the response is the result of one or more
300
+ redirects.
301
+
302
+ ### `response.status`
303
+
304
+ <!-- YAML
305
+ added: v1.0.0
306
+ -->
307
+
308
+ * Type: {number} The HTTP status code of the response.
309
+
310
+ ### `response.ok`
311
+
312
+ <!-- YAML
313
+ added: v1.0.0
314
+ -->
315
+
316
+ * Type: {boolean} `true` when [`status`](#responsestatus) is in the range
317
+ `200`–`299`.
318
+
319
+ ### `response.statusText`
320
+
321
+ <!-- YAML
322
+ added: v1.0.0
323
+ -->
324
+
325
+ * Type: {string} The status message corresponding to the status code.
326
+
327
+ ### `response.headers`
328
+
329
+ <!-- YAML
330
+ added: v1.0.0
331
+ -->
332
+
333
+ * Type: {Headers} The {Headers} object associated with the response.
334
+
335
+ ## Class: `Request`
336
+
337
+ <!-- YAML
338
+ added: v1.0.0
339
+ -->
340
+
341
+ * Extends: {BodyMixin}
342
+
343
+ Represents a resource request. Instances can be passed to `fetch()` in place
344
+ of a URL string. The implementation follows the [WHATWG Fetch Standard][]; see
345
+ the [MDN `Request` documentation][]. `Request` inherits the body-reading
346
+ methods described in [Body mixin](#body-mixin).
347
+
348
+ ### `new Request(input[, init])`
349
+
350
+ <!-- YAML
351
+ added: v1.0.0
352
+ -->
353
+
354
+ * `input` {string|URL|Request} The resource to request, as a URL string,
355
+ {URL}, or another {Request} to copy.
356
+ * `init` {RequestInit} (optional) An options object with the same fields as
357
+ the `init` argument of [`fetch()`](#fetchinput-init).
358
+ * Returns: {Request}
359
+
360
+ Creates a new `Request`.
10
361
 
11
- If any parameters are passed to the FormData constructor other than `undefined`, an error will be thrown. Other parameters are ignored.
362
+ ### `request.clone()`
12
363
 
13
- When you use `FormData` as a request body, keep `fetch` and `FormData` from the
14
- same implementation. Use the built-in global `FormData` with the built-in
15
- global `fetch()`, and use `undici`'s `FormData` with `undici.fetch()`.
364
+ <!-- YAML
365
+ added: v1.0.0
366
+ -->
16
367
 
17
- If you want the installed `undici` package to provide the globals, call
18
- [`install()`](/docs/api/GlobalInstallation.md) so `fetch`, `Headers`,
19
- `Response`, `Request`, and `FormData` are installed together as a matching set.
368
+ * Returns: {Request} A copy of the request.
20
369
 
21
- ## Response
370
+ Creates a clone of the request. Throws a `TypeError` if the body has already
371
+ been read or is locked.
22
372
 
23
- This API is implemented as per the standard, you can find documentation on [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Response)
373
+ ### `request.method`
24
374
 
25
- ## Request
375
+ <!-- YAML
376
+ added: v1.0.0
377
+ -->
26
378
 
27
- This API is implemented as per the standard, you can find documentation on [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Request)
379
+ * Type: {string} The request method, for example `'GET'`.
28
380
 
29
- ## Header
381
+ ### `request.url`
30
382
 
31
- This API is implemented as per the standard, you can find documentation on [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Headers)
383
+ <!-- YAML
384
+ added: v1.0.0
385
+ -->
32
386
 
33
- # Body Mixins
387
+ * Type: {string} The serialized URL of the request.
34
388
 
35
- `Response` and `Request` body inherit body mixin methods. These methods include:
389
+ ### `request.headers`
36
390
 
37
- - [`.arrayBuffer()`](https://fetch.spec.whatwg.org/#dom-body-arraybuffer)
38
- - [`.blob()`](https://fetch.spec.whatwg.org/#dom-body-blob)
39
- - [`.bytes()`](https://fetch.spec.whatwg.org/#dom-body-bytes)
40
- - [`.formData()`](https://fetch.spec.whatwg.org/#dom-body-formdata)
41
- - [`.json()`](https://fetch.spec.whatwg.org/#dom-body-json)
42
- - [`.text()`](https://fetch.spec.whatwg.org/#dom-body-text)
391
+ <!-- YAML
392
+ added: v1.0.0
393
+ -->
43
394
 
44
- There is an ongoing discussion regarding `.formData()` and its usefulness and performance in server environments. It is recommended to use a dedicated library for parsing `multipart/form-data` bodies, such as [Busboy](https://www.npmjs.com/package/busboy) or [@fastify/busboy](https://www.npmjs.com/package/@fastify/busboy).
395
+ * Type: {Headers} The {Headers} object associated with the request.
45
396
 
46
- These libraries can be interfaced with fetch with the following example code:
397
+ ### `request.destination`
398
+
399
+ <!-- YAML
400
+ added: v1.0.0
401
+ -->
402
+
403
+ * Type: {string} The request destination, indicating the type of content being
404
+ requested, for example `''`, `'image'`, or `'script'`.
405
+
406
+ ### `request.referrer`
407
+
408
+ <!-- YAML
409
+ added: v1.0.0
410
+ -->
411
+
412
+ * Type: {string} The referrer of the request. May be `'about:client'` or a URL
413
+ string.
414
+
415
+ ### `request.referrerPolicy`
416
+
417
+ <!-- YAML
418
+ added: v1.0.0
419
+ -->
420
+
421
+ * Type: {string} The referrer policy of the request.
422
+
423
+ ### `request.mode`
424
+
425
+ <!-- YAML
426
+ added: v1.0.0
427
+ -->
428
+
429
+ * Type: {string} The mode of the request. One of `'cors'`, `'navigate'`,
430
+ `'no-cors'`, or `'same-origin'`.
431
+
432
+ ### `request.credentials`
433
+
434
+ <!-- YAML
435
+ added: v1.0.0
436
+ -->
437
+
438
+ * Type: {string} The credentials mode of the request. One of `'omit'`,
439
+ `'include'`, or `'same-origin'`.
440
+
441
+ ### `request.cache`
442
+
443
+ <!-- YAML
444
+ added: v1.0.0
445
+ -->
446
+
447
+ * Type: {string} The cache mode of the request.
448
+
449
+ ### `request.redirect`
450
+
451
+ <!-- YAML
452
+ added: v1.0.0
453
+ -->
454
+
455
+ * Type: {string} The redirect mode of the request. One of `'error'`,
456
+ `'follow'`, or `'manual'`.
457
+
458
+ ### `request.integrity`
459
+
460
+ <!-- YAML
461
+ added: v1.0.0
462
+ -->
463
+
464
+ * Type: {string} The subresource integrity metadata of the request.
465
+
466
+ ### `request.keepalive`
467
+
468
+ <!-- YAML
469
+ added: v1.0.0
470
+ -->
471
+
472
+ * Type: {boolean} Whether the request may outlive the environment that created
473
+ it.
474
+
475
+ ### `request.isReloadNavigation`
476
+
477
+ <!-- YAML
478
+ added: v1.0.0
479
+ -->
480
+
481
+ * Type: {boolean} `true` if the request is a reload navigation.
482
+
483
+ ### `request.isHistoryNavigation`
484
+
485
+ <!-- YAML
486
+ added: v1.0.0
487
+ -->
488
+
489
+ * Type: {boolean} `true` if the request is a history navigation.
490
+
491
+ ### `request.signal`
492
+
493
+ <!-- YAML
494
+ added: v1.0.0
495
+ -->
496
+
497
+ * Type: {AbortSignal} The {AbortSignal} associated with the request.
498
+
499
+ ### `request.duplex`
500
+
501
+ <!-- YAML
502
+ added: v1.0.0
503
+ -->
504
+
505
+ * Type: {string} The duplex mode of the request. Always `'half'`.
506
+
507
+ ## Class: `Headers`
508
+
509
+ <!-- YAML
510
+ added: v4.4.0
511
+ -->
512
+
513
+ Represents the header list of a request or response and provides methods to
514
+ read and modify it. The implementation follows the [WHATWG Fetch Standard][];
515
+ see the [MDN `Headers` documentation][]. `Headers` is iterable, yielding
516
+ `[name, value]` pairs sorted by name.
517
+
518
+ ### `new Headers([init])`
519
+
520
+ <!-- YAML
521
+ added: v4.4.0
522
+ -->
523
+
524
+ * `init` {Headers|Object|Array} (optional) Initial headers, as a {Headers}
525
+ instance, a plain object of name/value pairs, or an array of `[name, value]`
526
+ pairs.
527
+
528
+ Creates a new `Headers` object.
529
+
530
+ ### `headers.append(name, value)`
531
+
532
+ <!-- YAML
533
+ added: v1.0.0
534
+ -->
535
+
536
+ * `name` {string} The name of the header.
537
+ * `value` {string} The value of the header.
538
+
539
+ Appends a value to a header, or adds the header if it does not exist. Existing
540
+ values for `name` are preserved.
541
+
542
+ ### `headers.delete(name)`
543
+
544
+ <!-- YAML
545
+ added: v1.0.0
546
+ -->
547
+
548
+ * `name` {string} The name of the header to remove.
549
+
550
+ Removes the header named `name`.
551
+
552
+ ### `headers.get(name)`
553
+
554
+ <!-- YAML
555
+ added: v1.0.0
556
+ -->
557
+
558
+ * `name` {string} The name of the header to read.
559
+ * Returns: {string|null} The combined values of the header, or `null` if it is
560
+ not present.
561
+
562
+ ### `headers.has(name)`
563
+
564
+ <!-- YAML
565
+ added: v1.0.0
566
+ -->
567
+
568
+ * `name` {string} The name of the header to look up.
569
+ * Returns: {boolean} `true` if the header is present.
570
+
571
+ ### `headers.set(name, value)`
572
+
573
+ <!-- YAML
574
+ added: v1.0.0
575
+ -->
576
+
577
+ * `name` {string} The name of the header.
578
+ * `value` {string} The value of the header.
579
+
580
+ Sets a header to a single value, replacing any existing values for `name`.
581
+
582
+ ### `headers.getSetCookie()`
583
+
584
+ <!-- YAML
585
+ added: v1.0.0
586
+ -->
587
+
588
+ * Returns: {string[]} An array of the values of all `Set-Cookie` headers.
589
+
590
+ Returns each `Set-Cookie` header as a separate string, without combining them.
591
+
592
+ ## Body mixin
593
+
594
+ `Request` and `Response` both extend {BodyMixin}, which provides methods and
595
+ properties for reading a body. Each consuming method reads the body once; after
596
+ the body has been consumed, [`bodyUsed`](#bodybodyused) becomes `true` and
597
+ calling another consuming method throws a `TypeError`.
598
+
599
+ ### `body.arrayBuffer()`
600
+
601
+ <!-- YAML
602
+ added: v1.0.0
603
+ -->
604
+
605
+ * Returns: {Promise} Fulfills with an {ArrayBuffer} containing the body bytes.
606
+
607
+ ### `body.blob()`
608
+
609
+ <!-- YAML
610
+ added: v1.0.0
611
+ -->
612
+
613
+ * Returns: {Promise} Fulfills with a {Blob} containing the body.
614
+
615
+ ### `body.bytes()`
616
+
617
+ <!-- YAML
618
+ added: v1.0.0
619
+ -->
620
+
621
+ * Returns: {Promise} Fulfills with a {Uint8Array} containing the body bytes.
622
+
623
+ ### `body.formData()`
624
+
625
+ <!-- YAML
626
+ added: v1.0.0
627
+ -->
628
+
629
+ > Stability: 0 - Deprecated
630
+
631
+ * Returns: {Promise} Fulfills with a {FormData} parsed from the body.
632
+
633
+ Buffers and parses the entire body as `multipart/form-data` or
634
+ `application/x-www-form-urlencoded`. Because multipart parsing has inherent
635
+ security risks and the whole body is buffered, this method must only be called
636
+ on responses from trusted servers.
637
+
638
+ For responses from untrusted or user-controlled servers, use a dedicated
639
+ streaming parser such as [@fastify/busboy][] and apply application-specific
640
+ limits:
47
641
 
48
642
  ```mjs
49
643
  import { Busboy } from '@fastify/busboy'
@@ -51,10 +645,67 @@ import { Readable } from 'node:stream'
51
645
 
52
646
  const response = await fetch('...')
53
647
  const busboy = new Busboy({
54
- headers: {
55
- 'content-type': response.headers.get('content-type')
56
- }
648
+ headers: { 'content-type': response.headers.get('content-type') },
57
649
  })
58
650
 
651
+ // Handle the events emitted by `busboy`.
652
+
59
653
  Readable.fromWeb(response.body).pipe(busboy)
60
654
  ```
655
+
656
+ ### `body.json()`
657
+
658
+ <!-- YAML
659
+ added: v1.0.0
660
+ -->
661
+
662
+ * Returns: {Promise} Fulfills with the result of parsing the body as JSON.
663
+
664
+ ### `body.text()`
665
+
666
+ <!-- YAML
667
+ added: v1.0.0
668
+ -->
669
+
670
+ * Returns: {Promise} Fulfills with a {string} containing the body decoded as
671
+ UTF-8.
672
+
673
+ ### `body.textStream()`
674
+
675
+ <!-- YAML
676
+ added: v1.0.0
677
+ -->
678
+
679
+ > Stability: 1 - Experimental
680
+
681
+ * Returns: {ReadableStream} A {ReadableStream} of {string} chunks produced by
682
+ decoding the body as UTF-8.
683
+
684
+ An undici-specific extension that exposes the body as a stream of decoded text
685
+ chunks rather than buffering it. It is not part of the [WHATWG Fetch
686
+ Standard][].
687
+
688
+ ### `body.body`
689
+
690
+ <!-- YAML
691
+ added: v1.0.0
692
+ -->
693
+
694
+ * Type: {ReadableStream|null} The body as a {ReadableStream}, or `null` if the
695
+ message has no body.
696
+
697
+ ### `body.bodyUsed`
698
+
699
+ <!-- YAML
700
+ added: v1.0.0
701
+ -->
702
+
703
+ * Type: {boolean} `true` once the body has been read.
704
+
705
+ [@fastify/busboy]: https://www.npmjs.com/package/@fastify/busboy
706
+ [MDN Fetch documentation]: https://developer.mozilla.org/en-US/docs/Web/API/fetch
707
+ [MDN `FormData` documentation]: https://developer.mozilla.org/en-US/docs/Web/API/FormData
708
+ [MDN `Headers` documentation]: https://developer.mozilla.org/en-US/docs/Web/API/Headers
709
+ [MDN `Request` documentation]: https://developer.mozilla.org/en-US/docs/Web/API/Request
710
+ [MDN `Response` documentation]: https://developer.mozilla.org/en-US/docs/Web/API/Response
711
+ [WHATWG Fetch Standard]: https://fetch.spec.whatwg.org/