@openclaw/slack 2026.9.6 → 2026.9.7

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
@@ -0,0 +1,125 @@
1
+ {
2
+ "sidebar": [
3
+ {
4
+ "groupName": "Documentation",
5
+ "items": [
6
+ { "link": "/", "label": "Home" },
7
+ { "link": "/getting-started", "label": "Getting Started" }
8
+ ]
9
+ },
10
+ {
11
+ "groupName": "API",
12
+ "items": [
13
+ {
14
+ "label": "Core",
15
+ "items": [
16
+ { "link": "/api/Dispatcher", "label": "Dispatcher" },
17
+ { "link": "/api/Client", "label": "Client" },
18
+ { "link": "/api/H2CClient", "label": "H2CClient" },
19
+ { "link": "/api/Pool", "label": "Pool" },
20
+ { "link": "/api/BalancedPool", "label": "BalancedPool" },
21
+ { "link": "/api/RoundRobinPool", "label": "RoundRobinPool" },
22
+ { "link": "/api/Agent", "label": "Agent" },
23
+ { "link": "/api/PoolStats", "label": "PoolStats" },
24
+ { "link": "/api/Connector", "label": "Connector" }
25
+ ]
26
+ },
27
+ {
28
+ "label": "Proxy & Agents",
29
+ "items": [
30
+ { "link": "/api/ProxyAgent", "label": "ProxyAgent" },
31
+ {
32
+ "link": "/api/EnvHttpProxyAgent",
33
+ "label": "EnvHttpProxyAgent"
34
+ },
35
+ { "link": "/api/Socks5ProxyAgent", "label": "Socks5ProxyAgent" },
36
+ { "link": "/api/RetryAgent", "label": "RetryAgent" }
37
+ ]
38
+ },
39
+ {
40
+ "label": "Web Standards",
41
+ "items": [
42
+ { "link": "/api/Fetch", "label": "Fetch" },
43
+ { "link": "/api/EventSource", "label": "EventSource" },
44
+ { "link": "/api/WebSocket", "label": "WebSocket" },
45
+ { "link": "/api/Cookies", "label": "Cookies" },
46
+ { "link": "/api/CacheStorage", "label": "CacheStorage" },
47
+ { "link": "/api/ContentType", "label": "MIME Type Parsing" }
48
+ ]
49
+ },
50
+ {
51
+ "label": "Mocking",
52
+ "items": [
53
+ { "link": "/api/MockClient", "label": "MockClient" },
54
+ { "link": "/api/MockPool", "label": "MockPool" },
55
+ { "link": "/api/MockAgent", "label": "MockAgent" },
56
+ { "link": "/api/SnapshotAgent", "label": "SnapshotAgent" },
57
+ { "link": "/api/MockCallHistory", "label": "MockCallHistory" },
58
+ {
59
+ "link": "/api/MockCallHistoryLog",
60
+ "label": "MockCallHistoryLog"
61
+ },
62
+ { "link": "/api/MockErrors", "label": "MockErrors" }
63
+ ]
64
+ },
65
+ {
66
+ "label": "Interceptors",
67
+ "items": [
68
+ { "link": "/api/Interceptors", "label": "Interceptors" }
69
+ ]
70
+ },
71
+ {
72
+ "label": "Handlers",
73
+ "items": [
74
+ { "link": "/api/RedirectHandler", "label": "RedirectHandler" },
75
+ { "link": "/api/RetryHandler", "label": "RetryHandler" }
76
+ ]
77
+ },
78
+ {
79
+ "label": "Diagnostics & Utilities",
80
+ "items": [
81
+ { "link": "/api/Errors", "label": "Errors" },
82
+ {
83
+ "link": "/api/DiagnosticsChannel",
84
+ "label": "Diagnostics Channel Support"
85
+ },
86
+ { "link": "/api/Debug", "label": "Debug" },
87
+ { "link": "/api/Util", "label": "Util" },
88
+ {
89
+ "link": "/api/GlobalInstallation",
90
+ "label": "Global Installation"
91
+ },
92
+ { "link": "/api/api-lifecycle", "label": "API Lifecycle" }
93
+ ]
94
+ }
95
+ ]
96
+ },
97
+ {
98
+ "groupName": "Best Practices",
99
+ "items": [
100
+ {
101
+ "link": "/best-practices/undici-vs-builtin-fetch",
102
+ "label": "Undici vs. Built-in Fetch"
103
+ },
104
+ {
105
+ "link": "/best-practices/migrating-from-v7-to-v8",
106
+ "label": "Migrating from Undici 7 to 8"
107
+ },
108
+ { "link": "/best-practices/proxy", "label": "Proxy" },
109
+ {
110
+ "link": "/best-practices/client-certificate",
111
+ "label": "Client Certificate"
112
+ },
113
+ {
114
+ "link": "/best-practices/writing-tests",
115
+ "label": "Writing Tests"
116
+ },
117
+ {
118
+ "link": "/best-practices/mocking-request",
119
+ "label": "Mocking Request"
120
+ },
121
+ { "link": "/best-practices/crawling", "label": "Crawling" }
122
+ ]
123
+ }
124
+ ]
125
+ }
@@ -0,0 +1,79 @@
1
+ {
2
+ "AbortError": "/api/Errors.md#class-aborterror",
3
+ "Agent": "/api/Agent.md#class-agent",
4
+ "AgentDispatchOptions": "/api/Agent.md#agentdispatchoptions-handler",
5
+ "AgentOptions": "/api/Agent.md#new-agentoptions",
6
+ "BalancedPool": "/api/BalancedPool.md#class-balancedpool",
7
+ "BalancedPoolOptions": "/api/BalancedPool.md#parameter-balancedpooloptions",
8
+ "BodyMixin": "/api/Fetch.md#new-formdata",
9
+ "Buffer": "https://nodejs.org/api/buffer.html#class-buffer",
10
+ "BuildOptions": "/api/Connector.md#buildconnectoroptions",
11
+ "CacheKey": "/api/CacheStore.md#cachekey",
12
+ "CacheStore": "/api/CacheStore.md#new-memorycachestoreoptions",
13
+ "CacheValue": "/api/CacheStore.md#cachevalue",
14
+ "ClientDestroyedError": "/api/Errors.md#class-clientdestroyederror",
15
+ "ClientOptions": "/api/Client.md#new-clienturl-options",
16
+ "ClientStats": "/api/ClientStats.md#class-clientstats",
17
+ "ConnectOptions": "/api/Dispatcher.md#class-dispatcher",
18
+ "Cookie": "/api/Cookies.md#cookie",
19
+ "DispatchController": "/api/Dispatcher.md#class-dispatcher",
20
+ "DispatchHandler": "/api/Dispatcher.md#class-dispatcher",
21
+ "DispatchOptions": "/api/Dispatcher.md#class-dispatcher",
22
+ "Dispatcher": "/api/Dispatcher.md#class-dispatcher",
23
+ "Duplex": "https://nodejs.org/api/stream.html#class-streamduplex",
24
+ "EnvHttpProxyAgent": "/api/EnvHttpProxyAgent.md#class-envhttpproxyagent",
25
+ "EnvHttpProxyAgentOptions": "/api/EnvHttpProxyAgent.md#new-envhttpproxyagentoptions",
26
+ "EventEmitter": "https://nodejs.org/api/events.html#class-eventemitter",
27
+ "GetResult": "/api/CacheStore.md#getresult",
28
+ "H2CClientOptions": "/api/H2CClient.md#new-h2cclienturl-options",
29
+ "HeadersInit": "https://developer.mozilla.org/docs/Web/API/Headers/Headers",
30
+ "InvalidArgumentError": "/api/Errors.md#class-invalidargumenterror",
31
+ "Iterable": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Iteration_protocols",
32
+ "MaxOriginsReachedError": "/api/Errors.md#class-maxoriginsreachederror",
33
+ "MockAgent": "/api/MockAgent.md#class-mockagent",
34
+ "MockAgentOptions": "/api/MockAgent.md#parameter-mockagentoptions",
35
+ "MockCallHistory": "/api/MockCallHistory.md#class-mockcallhistory",
36
+ "MockCallHistoryLog": "/api/MockCallHistoryLog.md#class-mockcallhistorylog",
37
+ "MockClient": "/api/MockClient.md#class-mockclient",
38
+ "MockClientOptions": "/api/MockClient.md#parameter-mockclientoptions",
39
+ "MockInterceptor": "/api/MockPool.md#return-mockinterceptor",
40
+ "MockInterceptor.Options": "/api/MockPool.md#parameter-mockpoolinterceptoptions",
41
+ "MockPool": "/api/MockPool.md#class-mockpool",
42
+ "MockPoolInterceptOptions": "/api/MockPool.md#parameter-mockpoolinterceptoptions",
43
+ "MockPoolOptions": "/api/MockPool.md#parameter-mockpooloptions",
44
+ "MockResponseOptions": "/api/MockPool.md#parameter-mockresponseoptions",
45
+ "MockScope": "/api/MockPool.md#return-mockscope",
46
+ "PendingInterceptor": "/api/MockAgent.md#new-mockagentoptions",
47
+ "PipelineOptions": "/api/Dispatcher.md#class-dispatcher",
48
+ "Pool": "/api/Pool.md#class-pool",
49
+ "PoolOptions": "/api/Pool.md#new-poolurl-options",
50
+ "PoolStats": "/api/PoolStats.md#class-poolstats",
51
+ "ProxyAgent": "/api/ProxyAgent.md#class-proxyagent",
52
+ "ProxyAgentOptions": "/api/ProxyAgent.md#new-proxyagentoptions",
53
+ "Readable": "https://nodejs.org/api/stream.html#class-streamreadable",
54
+ "Record": "https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type",
55
+ "RequestInit": "/api/Fetch.md#new-formdata",
56
+ "RequestOptions": "/api/Dispatcher.md#class-dispatcher",
57
+ "ResponseInit": "/api/Fetch.md#new-formdata",
58
+ "RetryContext": "/api/RetryHandler.md#retrycontext",
59
+ "RetryHandler": "/api/RetryHandler.md#class-retryhandler",
60
+ "RetryHandlers": "/api/RetryHandler.md#parameter-retryhandlers",
61
+ "RetryOptions": "/api/RetryHandler.md#retryoptions",
62
+ "RetryState": "/api/RetryHandler.md#retrystate",
63
+ "RoundRobinPoolOptions": "/api/RoundRobinPool.md#parameter-roundrobinpooloptions",
64
+ "SnapshotRecorder": "/api/SnapshotAgent.md#new-snapshotagentoptions",
65
+ "Socket": "https://nodejs.org/api/net.html#class-netsocket",
66
+ "SocketInfo": "/api/Errors.md#new-requestretryerrormessage-code-options",
67
+ "StreamOptions": "/api/Dispatcher.md#class-dispatcher",
68
+ "TLSSocket": "https://nodejs.org/api/tls.html#class-tlstlssocket",
69
+ "UndiciError": "/api/Errors.md#class-undicierror",
70
+ "UndiciHeaders": "/api/Dispatcher.md#class-dispatcher",
71
+ "UpgradeOptions": "/api/Dispatcher.md#class-dispatcher",
72
+ "UrlObject": "/index.md#urlobject",
73
+ "WebSocketInit": "/api/WebSocket.md#new-websocketurl-protocols",
74
+ "WebSocketStreamOptions": "/api/WebSocket.md#new-websocketurl-protocols",
75
+ "Writable": "https://nodejs.org/api/stream.html#class-streamwritable",
76
+ "buildConnector.BuildOptions": "/api/Connector.md#buildconnectoroptions",
77
+ "net.Socket": "https://nodejs.org/api/net.html#class-netsocket",
78
+ "stream.Readable": "https://nodejs.org/api/stream.html#class-streamreadable"
79
+ }
@@ -6,6 +6,7 @@ const Pool = require('./lib/dispatcher/pool')
6
6
  const BalancedPool = require('./lib/dispatcher/balanced-pool')
7
7
  const RoundRobinPool = require('./lib/dispatcher/round-robin-pool')
8
8
  const Agent = require('./lib/dispatcher/agent')
9
+ const Dispatcher1Wrapper = require('./lib/dispatcher/dispatcher1-wrapper')
9
10
  const ProxyAgent = require('./lib/dispatcher/proxy-agent')
10
11
  const Socks5ProxyAgent = require('./lib/dispatcher/socks5-proxy-agent')
11
12
  const EnvHttpProxyAgent = require('./lib/dispatcher/env-http-proxy-agent')
@@ -35,6 +36,7 @@ module.exports.Pool = Pool
35
36
  module.exports.BalancedPool = BalancedPool
36
37
  module.exports.RoundRobinPool = RoundRobinPool
37
38
  module.exports.Agent = Agent
39
+ module.exports.Dispatcher1Wrapper = Dispatcher1Wrapper
38
40
  module.exports.ProxyAgent = ProxyAgent
39
41
  module.exports.Socks5ProxyAgent = Socks5ProxyAgent
40
42
  module.exports.EnvHttpProxyAgent = EnvHttpProxyAgent
@@ -103,14 +105,14 @@ function makeDispatcher (fn) {
103
105
  url = util.parseURL(url)
104
106
  }
105
107
 
106
- const { agent, dispatcher = getGlobalDispatcher() } = opts
108
+ const { agent, dispatcher = getGlobalDispatcher(), ...restOpts } = opts
107
109
 
108
110
  if (agent) {
109
111
  throw new InvalidArgumentError('unsupported opts.agent. Did you mean opts.client?')
110
112
  }
111
113
 
112
114
  return fn.call(dispatcher, {
113
- ...opts,
115
+ ...restOpts,
114
116
  origin: url.origin,
115
117
  path: url.search ? `${url.pathname}${url.search}` : url.pathname,
116
118
  method: opts.method || (opts.body ? 'PUT' : 'GET')
@@ -32,45 +32,48 @@ class ConnectHandler extends AsyncResource {
32
32
  addSignal(this, signal)
33
33
  }
34
34
 
35
- onConnect (abort, context) {
35
+ onRequestStart (controller, context) {
36
36
  if (this.reason) {
37
- abort(this.reason)
37
+ controller.abort(this.reason)
38
38
  return
39
39
  }
40
40
 
41
41
  assert(this.callback)
42
42
 
43
- this.abort = abort
43
+ this.abort = (reason) => controller.abort(reason)
44
44
  this.context = context
45
45
  }
46
46
 
47
- onHeaders () {
47
+ onResponseStart () {
48
48
  throw new SocketError('bad connect', null)
49
49
  }
50
50
 
51
- onUpgrade (statusCode, rawHeaders, socket) {
51
+ onRequestUpgrade (controller, statusCode, headers, socket) {
52
52
  const { callback, opaque, context } = this
53
53
 
54
54
  removeSignal(this)
55
55
 
56
56
  this.callback = null
57
57
 
58
- let headers = rawHeaders
58
+ let responseHeaders = headers
59
+ const rawHeaders = controller?.rawHeaders
59
60
  // Indicates is an HTTP2Session
60
- if (headers != null) {
61
- headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)
61
+ if (responseHeaders != null) {
62
+ responseHeaders = this.responseHeaders === 'raw'
63
+ ? util.parseRawHeaders(rawHeaders)
64
+ : headers
62
65
  }
63
66
 
64
67
  this.runInAsyncScope(callback, null, null, {
65
68
  statusCode,
66
- headers,
69
+ headers: responseHeaders,
67
70
  socket,
68
71
  opaque,
69
72
  context
70
73
  })
71
74
  }
72
75
 
73
- onError (err) {
76
+ onResponseError (_controller, err) {
74
77
  const { callback, opaque } = this
75
78
 
76
79
  removeSignal(this)
@@ -96,7 +99,6 @@ function connect (opts, callback) {
96
99
  try {
97
100
  const connectHandler = new ConnectHandler(opts, callback)
98
101
  const connectOptions = { ...opts, method: 'CONNECT' }
99
-
100
102
  this.dispatch(connectOptions, connectHandler)
101
103
  } catch (err) {
102
104
  if (typeof callback !== 'function') {
@@ -13,6 +13,7 @@ const {
13
13
  RequestAbortedError
14
14
  } = require('../core/errors')
15
15
  const util = require('../core/util')
16
+ const { kBodyUsed } = require('../core/symbols')
16
17
  const { addSignal, removeSignal } = require('./abort-signal')
17
18
 
18
19
  function noop () {}
@@ -24,6 +25,9 @@ class PipelineRequest extends Readable {
24
25
  super({ autoDestroy: true })
25
26
 
26
27
  this[kResume] = null
28
+ // Pipeline request bodies come from a live writable side and cannot be
29
+ // replayed across redirects or retries, even before any bytes are read.
30
+ this[kBodyUsed] = true
27
31
  }
28
32
 
29
33
  _read () {
@@ -146,40 +150,46 @@ class PipelineHandler extends AsyncResource {
146
150
  addSignal(this, signal)
147
151
  }
148
152
 
149
- onConnect (abort, context) {
153
+ onRequestStart (controller, context) {
150
154
  const { res } = this
151
155
 
152
156
  if (this.reason) {
153
- abort(this.reason)
157
+ controller.abort(this.reason)
154
158
  return
155
159
  }
156
160
 
157
161
  assert(!res, 'pipeline cannot be retried')
158
162
 
159
- this.abort = abort
163
+ this.abort = (reason) => controller.abort(reason)
160
164
  this.context = context
161
165
  }
162
166
 
163
- onHeaders (statusCode, rawHeaders, resume) {
167
+ onResponseStart (controller, statusCode, headers, _statusMessage) {
164
168
  const { opaque, handler, context } = this
165
169
 
166
170
  if (statusCode < 200) {
167
171
  if (this.onInfo) {
168
- const headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)
169
- this.onInfo({ statusCode, headers })
172
+ const rawHeaders = controller?.rawHeaders
173
+ const responseHeaders = this.responseHeaders === 'raw'
174
+ ? util.parseRawHeaders(rawHeaders)
175
+ : headers
176
+ this.onInfo({ statusCode, headers: responseHeaders })
170
177
  }
171
178
  return
172
179
  }
173
180
 
174
- this.res = new PipelineResponse(resume)
181
+ this.res = new PipelineResponse(() => controller.resume())
175
182
 
176
183
  let body
177
184
  try {
178
185
  this.handler = null
179
- const headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)
186
+ const rawHeaders = controller?.rawHeaders
187
+ const responseHeaders = this.responseHeaders === 'raw'
188
+ ? util.parseRawHeaders(rawHeaders)
189
+ : headers
180
190
  body = this.runInAsyncScope(handler, null, {
181
191
  statusCode,
182
- headers,
192
+ headers: responseHeaders,
183
193
  opaque,
184
194
  body: this.res,
185
195
  context
@@ -222,17 +232,20 @@ class PipelineHandler extends AsyncResource {
222
232
  this.body = body
223
233
  }
224
234
 
225
- onData (chunk) {
235
+ onResponseData (controller, chunk) {
226
236
  const { res } = this
227
- return res.push(chunk)
237
+
238
+ if (res.push(chunk) === false) {
239
+ controller.pause()
240
+ }
228
241
  }
229
242
 
230
- onComplete (trailers) {
243
+ onResponseEnd (_controller, _trailers) {
231
244
  const { res } = this
232
245
  res.push(null)
233
246
  }
234
247
 
235
- onError (err) {
248
+ onResponseError (_controller, err) {
236
249
  const { ret } = this
237
250
  this.handler = null
238
251
  util.destroy(ret, err)
@@ -54,6 +54,7 @@ class RequestHandler extends AsyncResource {
54
54
  this.body = body
55
55
  this.trailers = {}
56
56
  this.context = null
57
+ this.controller = null
57
58
  this.onInfo = onInfo || null
58
59
  this.highWaterMark = highWaterMark
59
60
  this.reason = null
@@ -65,7 +66,13 @@ class RequestHandler extends AsyncResource {
65
66
  this.removeAbortListener = util.addAbortListener(signal, () => {
66
67
  this.reason = signal.reason ?? new RequestAbortedError()
67
68
  if (this.res) {
68
- util.destroy(this.res.on('error', noop), this.reason)
69
+ // Null the reference before destroying, mirroring onResponseError, so
70
+ // that chunks flushed after the abort (e.g. an async decompressor
71
+ // flush) are dropped by the `!this.res` guard in onResponseData
72
+ // instead of being pushed into the torn-down stream.
73
+ const res = this.res
74
+ this.res = null
75
+ util.destroy(res.on('error', noop), this.reason)
69
76
  } else if (this.abort) {
70
77
  this.abort(this.reason)
71
78
  }
@@ -73,36 +80,40 @@ class RequestHandler extends AsyncResource {
73
80
  }
74
81
  }
75
82
 
76
- onConnect (abort, context) {
83
+ onRequestStart (controller, context) {
77
84
  if (this.reason) {
78
- abort(this.reason)
85
+ controller.abort(this.reason)
79
86
  return
80
87
  }
81
88
 
82
89
  assert(this.callback)
83
90
 
84
- this.abort = abort
91
+ this.controller = controller
92
+ this.abort = (reason) => controller.abort(reason)
85
93
  this.context = context
86
94
  }
87
95
 
88
- onHeaders (statusCode, rawHeaders, resume, statusMessage) {
89
- const { callback, opaque, abort, context, responseHeaders, highWaterMark } = this
96
+ onResponseStart (controller, statusCode, headers, statusText) {
97
+ const { callback, opaque, context, responseHeaders, highWaterMark } = this
90
98
 
91
- const headers = responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)
99
+ const rawHeaders = controller?.rawHeaders
100
+ const responseHeaderData = responseHeaders === 'raw'
101
+ ? util.parseRawHeaders(rawHeaders)
102
+ : headers
92
103
 
93
104
  if (statusCode < 200) {
94
105
  if (this.onInfo) {
95
- this.onInfo({ statusCode, headers })
106
+ this.onInfo({ statusCode, headers: responseHeaderData })
96
107
  }
97
108
  return
98
109
  }
99
110
 
100
- const parsedHeaders = responseHeaders === 'raw' ? util.parseHeaders(rawHeaders) : headers
101
- const contentType = parsedHeaders['content-type']
102
- const contentLength = parsedHeaders['content-length']
111
+ const parsedHeaders = headers
112
+ const contentType = parsedHeaders?.['content-type']
113
+ const contentLength = parsedHeaders?.['content-length']
103
114
  const res = new Readable({
104
- resume,
105
- abort,
115
+ resume: () => controller.resume(),
116
+ abort: (reason) => controller.abort(reason),
106
117
  contentType,
107
118
  contentLength: this.method !== 'HEAD' && contentLength
108
119
  ? Number(contentLength)
@@ -121,8 +132,8 @@ class RequestHandler extends AsyncResource {
121
132
  try {
122
133
  this.runInAsyncScope(callback, null, null, {
123
134
  statusCode,
124
- statusText: statusMessage,
125
- headers,
135
+ statusText,
136
+ headers: responseHeaderData,
126
137
  trailers: this.trailers,
127
138
  opaque,
128
139
  body: res,
@@ -144,16 +155,35 @@ class RequestHandler extends AsyncResource {
144
155
  }
145
156
  }
146
157
 
147
- onData (chunk) {
148
- return this.res.push(chunk)
158
+ onResponseData (controller, chunk) {
159
+ if (!this.res) {
160
+ return
161
+ }
162
+
163
+ if (this.res.push(chunk) === false) {
164
+ controller.pause()
165
+ }
149
166
  }
150
167
 
151
- onComplete (trailers) {
152
- util.parseHeaders(trailers, this.trailers)
153
- this.res.push(null)
168
+ onResponseEnd (_controller, trailers) {
169
+ if (trailers && typeof trailers === 'object') {
170
+ for (const key of Object.keys(trailers)) {
171
+ if (key === '__proto__') {
172
+ Object.defineProperty(this.trailers, key, {
173
+ value: trailers[key],
174
+ enumerable: true,
175
+ configurable: true,
176
+ writable: true
177
+ })
178
+ } else {
179
+ this.trailers[key] = trailers[key]
180
+ }
181
+ }
182
+ }
183
+ this.res?.push(null)
154
184
  }
155
185
 
156
- onError (err) {
186
+ onResponseError (_controller, err) {
157
187
  const { res, callback, body, opaque } = this
158
188
 
159
189
  if (callback) {