@openclaw/slack 2026.10.10-beta.5 → 2026.11.5-beta.1

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 (284) hide show
  1. package/dist/.setup/{account-configured-zcR9TJJN.mjs → account-configured-35y0-Hso.mjs} +1 -2
  2. package/dist/.setup/{account-inspect-CmkKiSb9.mjs → account-inspect-DgQgj0wk.mjs} +13 -11
  3. package/dist/.setup/{accounts-msihSF3-.mjs → accounts-EaPP0fFY.mjs} +16 -11
  4. package/dist/.setup/{action-runtime-ChRfnnBu.mjs → action-runtime-CK9QZgQl.mjs} +39 -47
  5. package/dist/.setup/action-runtime.runtime-CpZktret.mjs +1 -0
  6. package/dist/.setup/{actions-By7tvpvv.mjs → actions-s3CcFO45.mjs} +98 -93
  7. package/dist/.setup/{approval-handler.runtime-D8ArtDQt.mjs → approval-handler.runtime-Ch7BecYK.mjs} +27 -32
  8. package/dist/.setup/{approval-message-updates-DT7XBPbV.mjs → approval-message-updates-CqcRoa28.mjs} +2 -3
  9. package/dist/.setup/{channel-6YzXl_63.mjs → channel-CAvo_WNZ.mjs} +573 -352
  10. package/dist/.setup/{channel-meta-C443t-lI.mjs → channel-meta-C5vsCo3a.mjs} +1 -2
  11. package/dist/.setup/{channel-type-BEFP2ORi.mjs → channel-type-9Lw6yLf2.mjs} +6 -11
  12. package/dist/.setup/{channel.setup-u6QQdbTa.mjs → channel.setup-BlgXNuCJ.mjs} +19 -23
  13. package/dist/.setup/{config-schema-DNnh6bWU.mjs → config-schema-Bx1tCZB0.mjs} +5 -11
  14. package/dist/.setup/cursor-pages-jVn3Vkfi.mjs +309 -0
  15. package/dist/.setup/{directory-config-Cjj0N8R0.mjs → directory-config-CGvKYg9F.mjs} +5 -6
  16. package/dist/.setup/{directory-live-BIKD-5B_.mjs → directory-live-DNdw97LA.mjs} +6 -7
  17. package/dist/.setup/{doctor-contract-Cd4-VzIM.mjs → doctor-contract-BB2KJ9Ni.mjs} +44 -58
  18. package/dist/.setup/{message-tool-api-BS5ekEA_.mjs → message-tool-api-B38BpEaE.mjs} +7 -8
  19. package/dist/.setup/{monitor-BFilOuM_.mjs → monitor-BD86SotB.mjs} +3416 -3750
  20. package/dist/.setup/{outbound-adapter-9dbnYtL1.mjs → outbound-adapter-BH6iPWBj.mjs} +32 -39
  21. package/dist/.setup/paths-CQZI_5WY.mjs +7 -0
  22. package/dist/.setup/{pipeline.runtime-BG5swHnj.mjs → pipeline.runtime-C4ELxaRU.mjs} +444 -590
  23. package/dist/.setup/{policy-yhn48xf5.mjs → policy-C6_DdlSf.mjs} +3 -6
  24. package/dist/.setup/{session-status-Dv8wNBEt.mjs → probe-B_Ax1vS1.mjs} +1015 -678
  25. package/dist/.setup/question-delivery-D3qAIwuv.mjs +38 -0
  26. package/dist/.setup/{relay-source-oY9SbDiX.mjs → relay-source-a8jodKuO.mjs} +12 -6
  27. package/dist/.setup/{replies-CJwjTqDr.mjs → replies-Bq7n0gfM.mjs} +37 -24
  28. package/dist/.setup/{reply-blocks-Ca-raz2z.mjs → reply-blocks-DyYYRrP_.mjs} +202 -210
  29. package/dist/.setup/{resolve-channels-DRRhElwz.mjs → resolve-channels-CF2JME9q.mjs} +6 -10
  30. package/dist/.setup/{resolve-users-Cz8e17ky.mjs → resolve-users-DDcCAjH1.mjs} +10 -19
  31. package/dist/.setup/{rolldown-runtime-B4FMCO8f.mjs → rolldown-runtime-nwUcYXjP.mjs} +1 -2
  32. package/dist/.setup/{runtime-JSVZSWAj.mjs → runtime-C6HKn7Av.mjs} +1 -2
  33. package/dist/.setup/runtime-setter-api-DrXr965r.mjs +2 -0
  34. package/dist/.setup/{scopes-DfQVi8Jw.mjs → scopes-CzHC_dwV.mjs} +3 -3
  35. package/dist/.setup/{secret-contract-B-Qm6aQQ.mjs → secret-contract-CqVqR7MP.mjs} +5 -4
  36. package/dist/.setup/{secret-contract-api-DB6CMdgc.mjs → secret-contract-api-DaCXZ47j.mjs} +1 -1
  37. package/dist/.setup/{security-audit-DFGiFLqd.mjs → security-audit-C3hXCfDt.mjs} +2 -3
  38. package/dist/.setup/{send-C-8wY0lK.mjs → send-WJZ73VSf.mjs} +306 -349
  39. package/dist/.setup/{send-results-eeOu_HYm.mjs → send-results-Bm6V1ekL.mjs} +4 -6
  40. package/dist/.setup/setup-plugin-api-DJXIB8CF.mjs +2 -0
  41. package/dist/.setup/{setup-surface-9WVQgYCT.mjs → setup-surface-uIqP2B0Y.mjs} +6 -8
  42. package/dist/.setup/{slash-dispatch.runtime-v5kQqJPh.mjs → slash-dispatch.runtime-Cwuwv7FL.mjs} +2 -2
  43. package/dist/.setup/{target-parsing-FFE26kOV.mjs → target-parsing-DwYAP3ts.mjs} +2 -4
  44. package/dist/.setup/{targets-C6LZQL1Q.mjs → targets-eeOxA_b_.mjs} +2 -3
  45. package/dist/.setup/{thread-ts-Cvt7WD6B.mjs → thread-ts-47Au2-Yn.mjs} +1 -2
  46. package/dist/.source-module-urls/c5ffd0957b234c7c12090e7de4eca2482ef339b8561e078da55b734211b0ba58.json +1 -0
  47. package/dist/account-inspect-api.js +2 -3
  48. package/dist/api.js +17 -18
  49. package/dist/channel-config-api.js +1 -1
  50. package/dist/channel-entry.js +1 -2
  51. package/dist/channel-plugin-api.js +1 -1
  52. package/dist/configured-state.js +2 -3
  53. package/dist/directory-contract-api.js +1 -1
  54. package/dist/doctor-contract-api.js +1 -1
  55. package/dist/index.js +1 -8
  56. package/dist/message-tool-api.js +1 -1
  57. package/dist/runtime-api.js +11 -13
  58. package/dist/runtime-setter-api.js +1 -1
  59. package/dist/secret-contract-api.js +1 -1
  60. package/dist/security-contract-api.js +1 -1
  61. package/dist/setup-entry.js +4 -5
  62. package/dist/setup-plugin-api.js +1 -1
  63. package/node_modules/@slack/bolt/node_modules/@types/node/README.md +1 -1
  64. package/node_modules/@slack/bolt/node_modules/@types/node/package.json +2 -2
  65. package/node_modules/@slack/bolt/node_modules/@types/node/util.d.ts +6 -3
  66. package/node_modules/@slack/bolt/node_modules/content-disposition/README.md +105 -35
  67. package/node_modules/@slack/bolt/node_modules/content-disposition/dist/index.d.ts +72 -0
  68. package/node_modules/@slack/bolt/node_modules/content-disposition/dist/index.js +388 -0
  69. package/node_modules/@slack/bolt/node_modules/content-disposition/dist/index.js.map +1 -0
  70. package/node_modules/@slack/bolt/node_modules/content-disposition/package.json +31 -19
  71. package/node_modules/@slack/bolt/node_modules/content-type/README.md +34 -57
  72. package/node_modules/@slack/bolt/node_modules/content-type/package.json +35 -25
  73. package/node_modules/@slack/bolt/node_modules/express/Readme.md +15 -9
  74. package/node_modules/@slack/bolt/node_modules/express/lib/application.js +2 -2
  75. package/node_modules/@slack/bolt/node_modules/express/lib/request.js +32 -19
  76. package/node_modules/@slack/bolt/node_modules/express/lib/response.js +27 -30
  77. package/node_modules/@slack/bolt/node_modules/express/package.json +10 -10
  78. package/node_modules/@slack/bolt/node_modules/qs/.github/THREAT_MODEL.md +4 -2
  79. package/node_modules/@slack/bolt/node_modules/qs/CHANGELOG.md +38 -14
  80. package/node_modules/@slack/bolt/node_modules/qs/README.md +31 -3
  81. package/node_modules/@slack/bolt/node_modules/qs/dist/qs.js +20 -20
  82. package/node_modules/@slack/bolt/node_modules/qs/lib/parse.js +94 -4
  83. package/node_modules/@slack/bolt/node_modules/qs/lib/stringify.js +4 -4
  84. package/node_modules/@slack/bolt/node_modules/qs/lib/utils.js +130 -6
  85. package/node_modules/@slack/bolt/node_modules/qs/package.json +4 -4
  86. package/node_modules/@slack/bolt/node_modules/qs/test/parse.js +174 -0
  87. package/node_modules/@slack/bolt/node_modules/qs/test/stringify.js +263 -33
  88. package/node_modules/@slack/bolt/node_modules/qs/test/utils.js +184 -0
  89. package/node_modules/@slack/web-api/node_modules/@types/node/README.md +1 -1
  90. package/node_modules/@slack/web-api/node_modules/@types/node/package.json +2 -2
  91. package/node_modules/@slack/web-api/node_modules/@types/node/util.d.ts +6 -3
  92. package/node_modules/typebox/build/format/duration.d.mts +2 -2
  93. package/node_modules/typebox/build/format/duration.mjs +2 -2
  94. package/node_modules/typebox/build/format/idn_email.d.mts +1 -0
  95. package/node_modules/typebox/build/format/idn_email.mjs +1 -0
  96. package/node_modules/typebox/build/format/idn_hostname.d.mts +1 -1
  97. package/node_modules/typebox/build/format/idn_hostname.mjs +1 -1
  98. package/node_modules/typebox/build/format/ipv4.d.mts +2 -2
  99. package/node_modules/typebox/build/format/ipv4.mjs +2 -2
  100. package/node_modules/typebox/build/format/ipv6.d.mts +1 -1
  101. package/node_modules/typebox/build/format/ipv6.mjs +1 -1
  102. package/node_modules/typebox/build/format/relative_json_pointer.d.mts +2 -2
  103. package/node_modules/typebox/build/format/relative_json_pointer.mjs +2 -2
  104. package/node_modules/typebox/build/schema/build.mjs +1 -0
  105. package/node_modules/typebox/build/schema/engine/_unique.d.mts +4 -2
  106. package/node_modules/typebox/build/schema/engine/_unique.mjs +7 -3
  107. package/node_modules/typebox/build/schema/engine/additionalItems.mjs +3 -3
  108. package/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +0 -3
  109. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +15 -17
  110. package/node_modules/typebox/build/schema/engine/contains.mjs +3 -3
  111. package/node_modules/typebox/build/schema/engine/index.d.mts +1 -0
  112. package/node_modules/typebox/build/schema/engine/index.mjs +1 -0
  113. package/node_modules/typebox/build/schema/engine/items.mjs +7 -4
  114. package/node_modules/typebox/build/schema/engine/maxContains.mjs +2 -2
  115. package/node_modules/typebox/build/schema/engine/minContains.mjs +3 -3
  116. package/node_modules/typebox/build/schema/engine/oneOf.mjs +2 -2
  117. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +2 -2
  118. package/node_modules/typebox/build/schema/engine/propertyNames.mjs +2 -2
  119. package/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +2 -2
  120. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +2 -2
  121. package/node_modules/typebox/build/system/hashing/hash.mjs +63 -34
  122. package/node_modules/typebox/build/system/locale/en_US.mjs +2 -1
  123. package/node_modules/typebox/build/system/memory/assign.d.mts +2 -8
  124. package/node_modules/typebox/build/system/memory/assign.mjs +13 -6
  125. package/node_modules/typebox/build/system/memory/clone.d.mts +4 -5
  126. package/node_modules/typebox/build/system/memory/clone.mjs +8 -96
  127. package/node_modules/typebox/build/system/memory/create.d.mts +1 -5
  128. package/node_modules/typebox/build/system/memory/create.mjs +18 -13
  129. package/node_modules/typebox/build/system/memory/deep.d.mts +2 -0
  130. package/node_modules/typebox/build/system/memory/deep.mjs +108 -0
  131. package/node_modules/typebox/build/system/memory/discard.d.mts +1 -1
  132. package/node_modules/typebox/build/system/memory/discard.mjs +9 -8
  133. package/node_modules/typebox/build/system/memory/finalize.d.mts +4 -0
  134. package/node_modules/typebox/build/system/memory/finalize.mjs +30 -0
  135. package/node_modules/typebox/build/system/memory/keys.d.mts +2 -0
  136. package/node_modules/typebox/build/system/memory/keys.mjs +8 -0
  137. package/node_modules/typebox/build/system/memory/update.d.mts +1 -4
  138. package/node_modules/typebox/build/system/memory/update.mjs +43 -16
  139. package/node_modules/typebox/build/type/engine/call/index.d.mts +1 -0
  140. package/node_modules/typebox/build/type/engine/call/index.mjs +1 -0
  141. package/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +2 -24
  142. package/node_modules/typebox/build/type/engine/evaluate/composite.mjs +2 -29
  143. package/node_modules/typebox/build/type/engine/evaluate/index.d.mts +1 -0
  144. package/node_modules/typebox/build/type/engine/evaluate/index.mjs +1 -0
  145. package/node_modules/typebox/build/type/engine/evaluate/narrow.d.mts +5 -1
  146. package/node_modules/typebox/build/type/engine/evaluate/narrow.mjs +6 -1
  147. package/node_modules/typebox/build/type/engine/evaluate/property.d.mts +30 -0
  148. package/node_modules/typebox/build/type/engine/evaluate/property.mjs +29 -0
  149. package/node_modules/typebox/build/type/engine/immutable/instantiate_add.d.mts +1 -3
  150. package/node_modules/typebox/build/type/engine/immutable/instantiate_add.mjs +1 -4
  151. package/node_modules/typebox/build/type/engine/object/from_intersect.d.mts +2 -2
  152. package/node_modules/typebox/build/type/engine/object/from_intersect.mjs +2 -2
  153. package/node_modules/typebox/build/type/engine/object/from_union.d.mts +2 -2
  154. package/node_modules/typebox/build/type/engine/object/from_union.mjs +2 -2
  155. package/node_modules/typebox/build/type/engine/optional/instantiate_add.d.mts +1 -3
  156. package/node_modules/typebox/build/type/engine/optional/instantiate_add.mjs +1 -4
  157. package/node_modules/typebox/build/type/engine/readonly/instantiate_add.d.mts +1 -3
  158. package/node_modules/typebox/build/type/engine/readonly/instantiate_add.mjs +1 -4
  159. package/node_modules/typebox/build/type/engine/this/index.d.mts +1 -0
  160. package/node_modules/typebox/build/type/engine/this/index.mjs +1 -0
  161. package/node_modules/typebox/build/value/clone/clone.d.mts +4 -3
  162. package/node_modules/typebox/build/value/clone/clone.mjs +5 -7
  163. package/node_modules/typebox/build/value/repair/from_cyclic.d.mts +2 -0
  164. package/node_modules/typebox/build/value/repair/from_cyclic.mjs +6 -0
  165. package/node_modules/typebox/build/value/shared/union_priority_sort.mjs +25 -14
  166. package/node_modules/typebox/package.json +1 -1
  167. package/node_modules/typebox/readme.md +1 -1
  168. package/node_modules/undici/README.md +25 -3
  169. package/node_modules/undici/docs/docs/api/CacheStore.md +24 -9
  170. package/node_modules/undici/docs/docs/api/Client.md +11 -6
  171. package/node_modules/undici/docs/docs/api/Dispatcher.md +3 -0
  172. package/node_modules/undici/docs/docs/api/Errors.md +76 -1
  173. package/node_modules/undici/docs/docs/api/H2CClient.md +3 -2
  174. package/node_modules/undici/docs/docs/api/Interceptors.md +28 -8
  175. package/node_modules/undici/docs/docs/api/RedirectHandler.md +13 -10
  176. package/node_modules/undici/docs/docs/index.md +12 -12
  177. package/node_modules/undici/docs/docs/type-map.json +66 -66
  178. package/node_modules/undici/lib/cache/memory-cache-store.js +48 -13
  179. package/node_modules/undici/lib/cache/sqlite-cache-store.js +83 -5
  180. package/node_modules/undici/lib/core/connect.js +10 -4
  181. package/node_modules/undici/lib/core/constants.js +12 -1
  182. package/node_modules/undici/lib/core/errors.js +38 -1
  183. package/node_modules/undici/lib/core/request.js +16 -1
  184. package/node_modules/undici/lib/core/symbols.js +2 -0
  185. package/node_modules/undici/lib/core/util.js +26 -1
  186. package/node_modules/undici/lib/dispatcher/agent.js +6 -2
  187. package/node_modules/undici/lib/dispatcher/client-h1.js +116 -80
  188. package/node_modules/undici/lib/dispatcher/client-h2.js +124 -17
  189. package/node_modules/undici/lib/dispatcher/client.js +4 -1
  190. package/node_modules/undici/lib/dispatcher/dispatcher-base.js +3 -2
  191. package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +20 -3
  192. package/node_modules/undici/lib/dispatcher/parser-h1.js +1064 -0
  193. package/node_modules/undici/lib/dispatcher/pool-base.js +85 -31
  194. package/node_modules/undici/lib/dispatcher/pool.js +11 -8
  195. package/node_modules/undici/lib/dispatcher/proxy-agent.js +18 -8
  196. package/node_modules/undici/lib/dispatcher/retry-agent.js +10 -0
  197. package/node_modules/undici/lib/dispatcher/round-robin-pool.js +15 -5
  198. package/node_modules/undici/lib/handler/cache-handler.js +153 -15
  199. package/node_modules/undici/lib/handler/deduplication-handler.js +112 -51
  200. package/node_modules/undici/lib/handler/redirect-handler.js +28 -8
  201. package/node_modules/undici/lib/handler/retry-handler.js +44 -11
  202. package/node_modules/undici/lib/interceptor/cache.js +11 -3
  203. package/node_modules/undici/lib/interceptor/decompress.js +22 -9
  204. package/node_modules/undici/lib/interceptor/dns.js +11 -0
  205. package/node_modules/undici/lib/interceptor/response-error.js +72 -28
  206. package/node_modules/undici/lib/milo/LICENSE.md +7 -0
  207. package/node_modules/undici/lib/milo/no-simd.js +1002 -0
  208. package/node_modules/undici/lib/milo/simd.js +1002 -0
  209. package/node_modules/undici/lib/mock/mock-agent.js +11 -0
  210. package/node_modules/undici/lib/mock/snapshot-recorder.js +3 -2
  211. package/node_modules/undici/lib/mock/snapshot-utils.js +3 -2
  212. package/node_modules/undici/lib/util/cache.js +11 -5
  213. package/node_modules/undici/lib/web/cookies/util.js +19 -2
  214. package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +69 -15
  215. package/node_modules/undici/lib/web/eventsource/eventsource.js +25 -2
  216. package/node_modules/undici/lib/web/fetch/body.js +47 -38
  217. package/node_modules/undici/lib/web/fetch/formdata-parser.js +12 -4
  218. package/node_modules/undici/lib/web/fetch/headers.js +2 -2
  219. package/node_modules/undici/lib/web/fetch/index.js +8 -4
  220. package/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +5 -5
  221. package/node_modules/undici/lib/web/websocket/receiver.js +25 -4
  222. package/node_modules/undici/package.json +9 -7
  223. package/node_modules/undici/types/api.d.ts +1 -1
  224. package/node_modules/undici/types/cache-interceptor.d.ts +10 -0
  225. package/node_modules/undici/types/client.d.ts +10 -4
  226. package/node_modules/undici/types/errors.d.ts +16 -1
  227. package/node_modules/undici/types/h2c-client.d.ts +1 -1
  228. package/node_modules/undici/types/interceptors.d.ts +6 -1
  229. package/node_modules/undici/types/utility.d.ts +4 -4
  230. package/node_modules/zod/package.json +1 -1
  231. package/node_modules/zod/src/v4/classic/tests/array.test.ts +27 -0
  232. package/node_modules/zod/src/v4/classic/tests/map.test.ts +7 -0
  233. package/node_modules/zod/src/v4/classic/tests/set.test.ts +6 -0
  234. package/node_modules/zod/src/v4/core/compile.ts +9 -0
  235. package/node_modules/zod/src/v4/core/schemas.ts +35 -1
  236. package/node_modules/zod/src/v4/core/util.ts +13 -0
  237. package/node_modules/zod/src/v4/core/versions.ts +1 -1
  238. package/node_modules/zod/v4/core/compile.cjs +8 -0
  239. package/node_modules/zod/v4/core/compile.js +8 -0
  240. package/node_modules/zod/v4/core/schemas.cjs +30 -0
  241. package/node_modules/zod/v4/core/schemas.d.cts +3 -1
  242. package/node_modules/zod/v4/core/schemas.d.ts +3 -1
  243. package/node_modules/zod/v4/core/schemas.js +30 -0
  244. package/node_modules/zod/v4/core/util.cjs +15 -0
  245. package/node_modules/zod/v4/core/util.d.cts +2 -0
  246. package/node_modules/zod/v4/core/util.d.ts +2 -0
  247. package/node_modules/zod/v4/core/util.js +14 -0
  248. package/node_modules/zod/v4/core/versions.cjs +1 -1
  249. package/node_modules/zod/v4/core/versions.js +1 -1
  250. package/openclaw.plugin.json +6 -30
  251. package/package.json +7 -7
  252. package/dist/.setup/action-runtime.runtime-Ck_j1YTn.mjs +0 -1
  253. package/dist/.setup/http-C9sM-FXe.mjs +0 -2
  254. package/dist/.setup/plugin-routes-D4qozHVn.mjs +0 -22
  255. package/dist/.setup/probe-IiHogLQN.mjs +0 -694
  256. package/dist/.setup/registry-DizWcnNp.mjs +0 -36
  257. package/dist/.setup/runtime-setter-api-Cx_PV-xu.mjs +0 -2
  258. package/dist/.setup/setup-plugin-api-B18kDKtr.mjs +0 -2
  259. package/dist/.setup/shared-DpHCoKy2.mjs +0 -259
  260. package/dist/.source-module-urls/562d694877afe9d9dcbb3b32a8883c16974738f2aa892c48d45572cdc9a62529.json +0 -1
  261. package/dist/http-routes-api.js +0 -1
  262. package/node_modules/@slack/bolt/node_modules/body-parser/node_modules/content-type/LICENSE +0 -22
  263. package/node_modules/@slack/bolt/node_modules/body-parser/node_modules/content-type/README.md +0 -71
  264. package/node_modules/@slack/bolt/node_modules/body-parser/node_modules/content-type/package.json +0 -52
  265. package/node_modules/@slack/bolt/node_modules/content-disposition/index.js +0 -536
  266. package/node_modules/@slack/bolt/node_modules/content-type/HISTORY.md +0 -29
  267. package/node_modules/@slack/bolt/node_modules/content-type/index.js +0 -225
  268. package/node_modules/@slack/bolt/node_modules/negotiator/node_modules/content-type/LICENSE +0 -22
  269. package/node_modules/@slack/bolt/node_modules/negotiator/node_modules/content-type/README.md +0 -71
  270. package/node_modules/@slack/bolt/node_modules/negotiator/node_modules/content-type/dist/index.d.ts +0 -46
  271. package/node_modules/@slack/bolt/node_modules/negotiator/node_modules/content-type/dist/index.js +0 -176
  272. package/node_modules/@slack/bolt/node_modules/negotiator/node_modules/content-type/dist/index.js.map +0 -1
  273. package/node_modules/@slack/bolt/node_modules/negotiator/node_modules/content-type/package.json +0 -52
  274. package/node_modules/@slack/bolt/node_modules/type-is/node_modules/content-type/LICENSE +0 -22
  275. package/node_modules/@slack/bolt/node_modules/type-is/node_modules/content-type/README.md +0 -71
  276. package/node_modules/@slack/bolt/node_modules/type-is/node_modules/content-type/dist/index.d.ts +0 -46
  277. package/node_modules/@slack/bolt/node_modules/type-is/node_modules/content-type/dist/index.js +0 -176
  278. package/node_modules/@slack/bolt/node_modules/type-is/node_modules/content-type/dist/index.js.map +0 -1
  279. package/node_modules/@slack/bolt/node_modules/type-is/node_modules/content-type/package.json +0 -52
  280. package/node_modules/typebox/build/system/memory/freeze.d.mts +0 -4
  281. package/node_modules/typebox/build/system/memory/freeze.mjs +0 -6
  282. /package/node_modules/@slack/bolt/node_modules/{body-parser/node_modules/content-type → content-type}/dist/index.d.ts +0 -0
  283. /package/node_modules/@slack/bolt/node_modules/{body-parser/node_modules/content-type → content-type}/dist/index.js +0 -0
  284. /package/node_modules/@slack/bolt/node_modules/{body-parser/node_modules/content-type → content-type}/dist/index.js.map +0 -0
@@ -0,0 +1,29 @@
1
+ // deno-fmt-ignore-file
2
+ import { IsOptional } from '../../types/_optional.mjs';
3
+ import { IsReadonly } from '../../types/_readonly.mjs';
4
+ import { AddOptionalAction } from '../optional/instantiate_add.mjs';
5
+ import { AddReadonlyAction } from '../readonly/instantiate_add.mjs';
6
+ import { RemoveOptionalAction } from '../optional/instantiate_remove.mjs';
7
+ import { RemoveReadonlyAction } from '../readonly/instantiate_remove.mjs';
8
+ import { EvaluateIntersect, EvaluateUnion } from './evaluate.mjs';
9
+ export function EvaluatePropertyIntersect(left, right) {
10
+ const isReadonly = IsReadonly(left) && IsReadonly(right);
11
+ const isOptional = IsOptional(left) && IsOptional(right);
12
+ const evaluated = EvaluateIntersect([left, right]);
13
+ const property = RemoveReadonlyAction(RemoveOptionalAction(evaluated, {}), {});
14
+ return (isReadonly && isOptional ? AddReadonlyAction(AddOptionalAction(property, {}), {}) :
15
+ isReadonly ? AddReadonlyAction(property, {}) :
16
+ isOptional ? AddOptionalAction(property, {}) :
17
+ property);
18
+ }
19
+ export function EvaluatePropertyUnion(left, right) {
20
+ const isReadonly = IsReadonly(left) || IsReadonly(right);
21
+ const isOptional = IsOptional(left) || IsOptional(right);
22
+ const leftProperty = RemoveReadonlyAction(RemoveOptionalAction(left, {}), {});
23
+ const rightProperty = RemoveReadonlyAction(RemoveOptionalAction(right, {}), {});
24
+ const property = EvaluateUnion([leftProperty, rightProperty]);
25
+ return (isReadonly && isOptional ? AddReadonlyAction(AddOptionalAction(property, {}), {}) :
26
+ isReadonly ? AddReadonlyAction(property, {}) :
27
+ isOptional ? AddOptionalAction(property, {}) :
28
+ property);
29
+ }
@@ -2,9 +2,7 @@ import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
2
2
  import { type TProperties } from '../../types/properties.mjs';
3
3
  import { type TImmutable } from '../../types/_immutable.mjs';
4
4
  import { type TState, type TInstantiateType } from '../instantiate.mjs';
5
- type TAddImmutableOperation<Type extends TSchema, Result extends TSchema = '~immutable' extends keyof Type ? Type : TImmutable<Type>> = Result;
6
- export type TAddImmutableAction<Type extends TSchema, Result extends TSchema = TAddImmutableOperation<Type>> = Result;
5
+ export type TAddImmutableAction<Type extends TSchema, Result extends TSchema = '~immutable' extends keyof Type ? Type : TImmutable<Type>> = Result;
7
6
  export declare function AddImmutableAction<Type extends TSchema>(type: Type, options: TSchemaOptions): TAddImmutableAction<Type>;
8
7
  export type TAddImmutableInstantiate<Context extends TProperties, State extends TState, Type extends TSchema, InstantiateType extends TSchema = TInstantiateType<Context, State, Type>> = TAddImmutableAction<InstantiateType>;
9
8
  export declare function AddImmutableInstantiate<Context extends TProperties, State extends TState, Type extends TSchema>(context: Context, state: State, type: Type, options: TSchemaOptions): TAddImmutableInstantiate<Context, State, Type>;
10
- export {};
@@ -1,11 +1,8 @@
1
1
  // deno-fmt-ignore-file
2
2
  import { Memory } from '../../../system/memory/index.mjs';
3
3
  import { InstantiateType } from '../instantiate.mjs';
4
- function AddImmutableOperation(type) {
5
- return Memory.Update(type, { '~immutable': true }, {});
6
- }
7
4
  export function AddImmutableAction(type, options) {
8
- const result = Memory.Update(AddImmutableOperation(type), {}, options);
5
+ const result = Memory.Update(type, { '~immutable': true }, options);
9
6
  return result;
10
7
  }
11
8
  export function AddImmutableInstantiate(context, state, type, options) {
@@ -2,13 +2,13 @@ import { Memory } from '../../../system/memory/index.mjs';
2
2
  import { type TSchema } from '../../types/schema.mjs';
3
3
  import { type TProperties } from '../../types/properties.mjs';
4
4
  import { type TFromType } from './from_type.mjs';
5
- import { type TEvaluateIntersect } from '../evaluate/evaluate.mjs';
5
+ import { type TEvaluatePropertyIntersect } from '../evaluate/property.mjs';
6
6
  type TCollapseIntersectProperties<Left extends TProperties, Right extends TProperties, LeftKeys extends keyof Left = Exclude<keyof Left, keyof Right>, RightKeys extends keyof Right = Exclude<keyof Right, keyof Left>, SharedKeys extends keyof Left & keyof Right = Extract<keyof Left, keyof Right>, LeftProperties extends TProperties = {
7
7
  [Key in LeftKeys]: Left[Key];
8
8
  }, RightProperties extends TProperties = {
9
9
  [Key in RightKeys]: Right[Key];
10
10
  }, SharedProperties extends TProperties = {
11
- [Key in SharedKeys]: TEvaluateIntersect<[Left[Key], Right[Key]]>;
11
+ [Key in SharedKeys]: TEvaluatePropertyIntersect<Left[Key], Right[Key]>;
12
12
  }, Unique extends TProperties = Memory.TAssign<LeftProperties, RightProperties>, Shared extends TProperties = Memory.TAssign<Unique, SharedProperties>> = Shared;
13
13
  export type TFromIntersect<Types extends TSchema[], Result extends TProperties = {}> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFromIntersect<Right, TCollapseIntersectProperties<Result, TFromType<Left>>> : {
14
14
  [Key in keyof Result]: Result[Key];
@@ -3,14 +3,14 @@
3
3
  import { Memory } from '../../../system/memory/index.mjs';
4
4
  import { Guard } from '../../../guard/index.mjs';
5
5
  import { FromType } from './from_type.mjs';
6
- import { EvaluateIntersect } from '../evaluate/evaluate.mjs';
6
+ import { EvaluatePropertyIntersect } from '../evaluate/property.mjs';
7
7
  function CollapseIntersectProperties(left, right) {
8
8
  const leftKeys = Guard.Keys(left).filter((key) => !Guard.HasPropertyKey(right, key));
9
9
  const rightKeys = Guard.Keys(right).filter((key) => !Guard.HasPropertyKey(left, key));
10
10
  const sharedKeys = Guard.Keys(left).filter((key) => Guard.HasPropertyKey(right, key));
11
11
  const leftProperties = leftKeys.reduce((result, key) => ({ ...result, [key]: left[key] }), {});
12
12
  const rightProperties = rightKeys.reduce((result, key) => ({ ...result, [key]: right[key] }), {});
13
- const sharedProperties = sharedKeys.reduce((result, key) => ({ ...result, [key]: EvaluateIntersect([left[key], right[key]]) }), {});
13
+ const sharedProperties = sharedKeys.reduce((result, key) => ({ ...result, [key]: EvaluatePropertyIntersect(left[key], right[key]) }), {});
14
14
  const unique = Memory.Assign(leftProperties, rightProperties);
15
15
  const shared = Memory.Assign(unique, sharedProperties);
16
16
  return shared;
@@ -1,10 +1,10 @@
1
1
  import { type TUnreachable } from '../../../system/unreachable/index.mjs';
2
2
  import { type TSchema } from '../../types/schema.mjs';
3
3
  import { type TProperties } from '../../types/properties.mjs';
4
- import { type TEvaluateUnion } from '../evaluate/evaluate.mjs';
4
+ import { type TEvaluatePropertyUnion } from '../evaluate/property.mjs';
5
5
  import { type TFromType } from './from_type.mjs';
6
6
  type TCollapseUnionProperties<Left extends TProperties, Right extends TProperties, SharedKeys extends PropertyKey = keyof Left & keyof Right, Result extends TProperties = {
7
- [Key in SharedKeys]: TEvaluateUnion<[Left[Key], Right[Key]]>;
7
+ [Key in SharedKeys]: TEvaluatePropertyUnion<Left[Key], Right[Key]>;
8
8
  }> = Result;
9
9
  type TReduceVariants<Types extends TSchema[], Result extends TProperties> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TReduceVariants<Right, TCollapseUnionProperties<Result, TFromType<Left>>> : Result);
10
10
  export type TFromUnion<Types extends TSchema[]> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TReduceVariants<Right, TFromType<Left>> : TUnreachable);
@@ -1,12 +1,12 @@
1
1
  // deno-fmt-ignore-file
2
2
  import { Guard } from '../../../guard/index.mjs';
3
3
  import { Unreachable } from '../../../system/unreachable/index.mjs';
4
- import { EvaluateUnion } from '../evaluate/evaluate.mjs';
4
+ import { EvaluatePropertyUnion } from '../evaluate/property.mjs';
5
5
  import { FromType } from './from_type.mjs';
6
6
  function CollapseUnionProperties(left, right) {
7
7
  const sharedKeys = Guard.Keys(left).filter((key) => key in right);
8
8
  const result = sharedKeys.reduce((result, key) => {
9
- return { ...result, [key]: EvaluateUnion([left[key], right[key]]) };
9
+ return { ...result, [key]: EvaluatePropertyUnion(left[key], right[key]) };
10
10
  }, {});
11
11
  return result;
12
12
  }
@@ -2,9 +2,7 @@ import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
2
2
  import { type TProperties } from '../../types/properties.mjs';
3
3
  import { type TOptional } from '../../types/_optional.mjs';
4
4
  import { type TState, type TInstantiateType } from '../instantiate.mjs';
5
- type TAddOptionalOperation<Type extends TSchema, Result extends TSchema = `~optional` extends keyof Type ? Type : TOptional<Type>> = Result;
6
- export type TAddOptionalAction<Type extends TSchema, Result extends TSchema = TAddOptionalOperation<Type>> = Result;
5
+ export type TAddOptionalAction<Type extends TSchema, Result extends TSchema = '~optional' extends keyof Type ? Type : TOptional<Type>> = Result;
7
6
  export declare function AddOptionalAction<Type extends TSchema>(type: Type, options: TSchemaOptions): TAddOptionalAction<Type>;
8
7
  export type TAddOptionalInstantiate<Context extends TProperties, State extends TState, Type extends TSchema, InstantiateType extends TSchema = TInstantiateType<Context, State, Type>> = TAddOptionalAction<InstantiateType>;
9
8
  export declare function AddOptionalInstantiate<Context extends TProperties, State extends TState, Type extends TSchema>(context: Context, state: State, type: Type, options: TSchemaOptions): TAddOptionalInstantiate<Context, State, Type>;
10
- export {};
@@ -1,11 +1,8 @@
1
1
  // deno-fmt-ignore-file
2
2
  import { Memory } from '../../../system/memory/index.mjs';
3
3
  import { InstantiateType } from '../instantiate.mjs';
4
- function AddOptionalOperation(type) {
5
- return Memory.Update(type, { '~optional': true }, {});
6
- }
7
4
  export function AddOptionalAction(type, options) {
8
- const result = Memory.Update(AddOptionalOperation(type), {}, options);
5
+ const result = Memory.Update(type, { '~optional': true }, options);
9
6
  return result;
10
7
  }
11
8
  export function AddOptionalInstantiate(context, state, type, options) {
@@ -2,9 +2,7 @@ import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
2
2
  import { type TProperties } from '../../types/properties.mjs';
3
3
  import { type TReadonly } from '../../types/_readonly.mjs';
4
4
  import { type TState, type TInstantiateType } from '../instantiate.mjs';
5
- type TAddReadonlyOperation<Type extends TSchema, Result extends TSchema = `~readonly` extends keyof Type ? Type : TReadonly<Type>> = Result;
6
- export type TAddReadonlyAction<Type extends TSchema, Result extends TSchema = TAddReadonlyOperation<Type>> = Result;
5
+ export type TAddReadonlyAction<Type extends TSchema, Result extends TSchema = '~readonly' extends keyof Type ? Type : TReadonly<Type>> = Result;
7
6
  export declare function AddReadonlyAction<Type extends TSchema>(type: Type, options: TSchemaOptions): TAddReadonlyAction<Type>;
8
7
  export type TAddReadonlyInstantiate<Context extends TProperties, State extends TState, Type extends TSchema, InstantiateType extends TSchema = TInstantiateType<Context, State, Type>> = TAddReadonlyAction<InstantiateType>;
9
8
  export declare function AddReadonlyInstantiate<Context extends TProperties, State extends TState, Type extends TSchema>(context: Context, state: State, type: Type, options: TSchemaOptions): TAddReadonlyInstantiate<Context, State, Type>;
10
- export {};
@@ -1,11 +1,8 @@
1
1
  // deno-fmt-ignore-file
2
2
  import { Memory } from '../../../system/memory/index.mjs';
3
3
  import { InstantiateType } from '../instantiate.mjs';
4
- function AddReadonlyOperation(type) {
5
- return Memory.Update(type, { '~readonly': true }, {});
6
- }
7
4
  export function AddReadonlyAction(type, options) {
8
- const result = Memory.Update(AddReadonlyOperation(type), {}, options);
5
+ const result = Memory.Update(type, { '~readonly': true }, options);
9
6
  return result;
10
7
  }
11
8
  export function AddReadonlyInstantiate(context, state, type, options) {
@@ -0,0 +1 @@
1
+ export * from './expand_this.mjs';
@@ -0,0 +1 @@
1
+ export * from './expand_this.mjs';
@@ -1,5 +1,6 @@
1
1
  /**
2
- * Returns a Clone of the given value. This function is similar to structuredClone()
3
- * but also supports deep cloning instances of Map, Set and TypeArray.
2
+ * Returns a deep Clone of the given value. This function is similar to `structuredClone()`,
3
+ * but also supports deep cloning `Map`, `Set`, and `TypeArray` instances. This function can also be used
4
+ * to clone TypeBox types while retaining their enumerable and non-enumerable properties.
4
5
  */
5
- export declare function Clone<Value extends unknown>(value: Value): Value;
6
+ export declare function Clone<Value extends unknown = unknown>(value: Value): Value;
@@ -1,12 +1,10 @@
1
1
  // deno-fmt-ignore-file
2
- import { Clone as SystemClone } from '../../system/memory/clone.mjs';
3
- // ------------------------------------------------------------------
4
- // Clone
5
- // ------------------------------------------------------------------
2
+ import { Deep } from '../../system/memory/deep.mjs';
6
3
  /**
7
- * Returns a Clone of the given value. This function is similar to structuredClone()
8
- * but also supports deep cloning instances of Map, Set and TypeArray.
4
+ * Returns a deep Clone of the given value. This function is similar to `structuredClone()`,
5
+ * but also supports deep cloning `Map`, `Set`, and `TypeArray` instances. This function can also be used
6
+ * to clone TypeBox types while retaining their enumerable and non-enumerable properties.
9
7
  */
10
8
  export function Clone(value) {
11
- return SystemClone(value);
9
+ return Deep(value);
12
10
  }
@@ -0,0 +1,2 @@
1
+ import { type TProperties, type TCyclic } from '../../type/index.mjs';
2
+ export declare function FromCyclic(context: TProperties, type: TCyclic, value: unknown): unknown;
@@ -0,0 +1,6 @@
1
+ // deno-fmt-ignore-file
2
+ import { Ref } from '../../type/index.mjs';
3
+ import { FromType } from './from_type.mjs';
4
+ export function FromCyclic(context, type, value) {
5
+ return FromType({ ...context, ...type.$defs }, Ref(type.$ref), value);
6
+ }
@@ -1,28 +1,27 @@
1
1
  // deno-fmt-ignore-file
2
2
  import Guard from '../../guard/index.mjs';
3
- import { IsArray, Array as _Array_, ArrayOptions } from '../../type/index.mjs';
4
- import { IsUnion, Union } from '../../type/index.mjs';
3
+ import { Memory } from '../../system/memory/index.mjs';
4
+ import { Array as _Array_, ArrayOptions, IsArray } from '../../type/index.mjs';
5
+ import { Intersect, IsIntersect } from '../../type/index.mjs';
5
6
  import { IsObject, Object as _Object_ } from '../../type/index.mjs';
6
- import { IsRecord, Record, RecordKey, RecordValue } from '../../type/index.mjs';
7
+ import { IsRecord, Record, RecordPattern, RecordValue } from '../../type/index.mjs';
8
+ import { String } from '../../type/index.mjs';
7
9
  import { IsTuple, Tuple } from '../../type/index.mjs';
8
- import { IsIntersect, Intersect } from '../../type/index.mjs';
10
+ import { IsUnion, Union } from '../../type/index.mjs';
9
11
  import { Priority } from '../../type/index.mjs';
10
12
  // ------------------------------------------------------------------
11
13
  // Modifiers (Mutable)
12
14
  //
13
15
  // Prioritized types lose `~modifier` properties and additional constraints
14
16
  // (e.g. additionalProperties) during the mapping phase and need to be
15
- // reassigned afterward. This is a fast mutable assignment to handle that,
16
- // but we should consider a more general solution. (review)
17
+ // reassigned afterward. We previously used a mutable assignment on this
18
+ // function, however `immutableTypes: true` caused errors. We use the
19
+ // Memory.Assign to ensure modifiers are retained and we preserve type
20
+ // configurations (review)
17
21
  //
18
22
  // ------------------------------------------------------------------
19
23
  function Modifiers(type, next) {
20
- for (const key of Guard.Keys(type)) {
21
- if (Guard.HasPropertyKey(next, key))
22
- continue;
23
- next[key] = type[key];
24
- }
25
- return next;
24
+ return Memory.Assign(type, next);
26
25
  }
27
26
  // ------------------------------------------------------------------
28
27
  // Properties
@@ -34,6 +33,18 @@ function FromProperties(properties) {
34
33
  return result;
35
34
  }
36
35
  // ------------------------------------------------------------------
36
+ // FromRecordKey
37
+ //
38
+ // This is required because RecordKey(...) returns a canonical
39
+ // decoded type derived from the pattern. When the pattern is an
40
+ // unrecognized user-defined one, the result falls through to
41
+ // TString (^.*$) and the user-defined pattern is lost. This
42
+ // function ensures the exact pattern is retained.
43
+ // ------------------------------------------------------------------
44
+ function FromRecordKey(type) {
45
+ return String({ pattern: RecordPattern(type) });
46
+ }
47
+ // ------------------------------------------------------------------
37
48
  // PriorityTypes
38
49
  // ------------------------------------------------------------------
39
50
  function FromPriorityTypes(types) {
@@ -43,7 +54,7 @@ function FromPriorityTypes(types) {
43
54
  // Types
44
55
  // ------------------------------------------------------------------
45
56
  function FromTypes(types) {
46
- return types.map(type => FromType(type));
57
+ return types.map((type) => FromType(type));
47
58
  }
48
59
  // ------------------------------------------------------------------
49
60
  // Type
@@ -53,7 +64,7 @@ function FromType(type) {
53
64
  IsIntersect(type) ? Intersect(FromTypes(type.allOf)) :
54
65
  IsUnion(type) ? Union(FromPriorityTypes(type.anyOf)) :
55
66
  IsObject(type) ? _Object_(FromProperties(type.properties)) :
56
- IsRecord(type) ? Record(RecordKey(type), FromType(RecordValue(type))) :
67
+ IsRecord(type) ? Record(FromRecordKey(type), FromType(RecordValue(type))) :
57
68
  IsTuple(type) ? Tuple(FromTypes(type.items)) :
58
69
  type);
59
70
  return Modifiers(type, next);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "typebox",
3
3
  "description": "Json Schema Type Builder with Static Type Resolution for TypeScript",
4
- "version": "1.3.35",
4
+ "version": "1.4.2",
5
5
  "keywords": [
6
6
  "typescript",
7
7
  "jsonschema"
@@ -196,7 +196,7 @@ const result = Vector.Parse({ x: 1, y: 0, z: 0 }) // const result: {
196
196
 
197
197
  [JSON Schema Test Suite](https://github.com/json-schema-org/JSON-Schema-Test-Suite) | [JSON Schema Compliance Suite](https://github.com/sinclairzx81/json-schema-compliance-suite)
198
198
 
199
- TypeBox supports all versions of JSON Schema and is heavily tested against the official JSON Schema Test Suite. It prioritizes compatibility with modern specifications while also maintaining broad support for legacy versions provided their semantics are not in conflict with modern specifications.
199
+ TypeBox supports all versions of JSON Schema and is heavily tested against the official JSON Schema Test Suite. It has high compatibility with modern specifications while also offering broad support for legacy versions if their semantics are not in conflict with modern specifications.
200
200
 
201
201
  | Spec | 3 | 4 | 6 | 7 | 2019-09 | 2020-12 | v1 |
202
202
  |:-----|:--|:--|:--|:--|:--|:--|:--|
@@ -86,6 +86,24 @@ Using [benchmark-http2.js](https://github.com/nodejs/undici/blob/main/benchmarks
86
86
 
87
87
  Node.js includes a built-in `fetch()` implementation powered by undici starting from Node.js v18. However, there are important differences between using the built-in fetch and installing undici as a separate module.
88
88
 
89
+ ### WebAssembly requirement
90
+
91
+ Undici's HTTP/1 parser requires WebAssembly. There is no alternative parser when
92
+ WebAssembly is unavailable, for example in Node.js configurations where
93
+ `--jitless` disables it. The existence of `fetch` does not imply that it can make
94
+ HTTP/1 requests in that environment.
95
+
96
+ When the HTTP/1 parser is needed without WebAssembly, Client and dispatcher
97
+ requests fail with an `Error` whose code is `ERR_WEBASSEMBLY_NOT_SUPPORTED`.
98
+ `fetch` rejects with a `TypeError` carrying that error in `error.cause`. Importing
99
+ Undici, accessing `fetch`, and using `Headers`, `FormData`, `Request`, or `Response`
100
+ do not themselves require the HTTP/1 parser.
101
+
102
+ The error is defined locally in Undici and does not depend on Node.js providing
103
+ that error code. For built-in fetch, this behavior depends on the bundled Undici
104
+ version. Node.js receives upstream fixes through its normal vendored Undici
105
+ update, rather than changes to the generated bundle alone.
106
+
89
107
  ### Built-in Fetch (Node.js v18+)
90
108
 
91
109
  Node.js's built-in fetch is powered by a bundled version of undici:
@@ -773,14 +791,18 @@ and `undici.Agent`) which will enable the family autoselection algorithm when es
773
791
 
774
792
  ## Collaborators
775
793
 
776
- * [__Daniele Belardi__](https://github.com/dnlup), <https://www.npmjs.com/~dnlup>
777
- * [__Ethan Arrowood__](https://github.com/ethan-arrowood), <https://www.npmjs.com/~ethan_arrowood>
794
+ * [__Aras Abbasi__](https://github.com/Uzlopak)
795
+ * [__Carlos Fuentes__](https://github.com/metcoder95), <https://www.npmjs.com/~metcoder95>
796
+ * [__Ethan Arrowood__](https://github.com/Ethan-Arrowood), <https://www.npmjs.com/~ethan_arrowood>
778
797
  * [__Matteo Collina__](https://github.com/mcollina), <https://www.npmjs.com/~matteo.collina>
779
798
  * [__Matthew Aitken__](https://github.com/KhafraDev), <https://www.npmjs.com/~khaf>
799
+ * [__Mert Can Altin__](https://github.com/mertcanaltin), <https://www.npmjs.com/~mertcanaltin>
780
800
  * [__Robert Nagy__](https://github.com/ronag), <https://www.npmjs.com/~ronag>
781
- * [__Szymon Marczak__](https://github.com/szmarczak), <https://www.npmjs.com/~szmarczak>
801
+ * [__Trivikram Kamat__](https://github.com/trivikr), <https://www.npmjs.com/~trivikr>
802
+ * [__tsctx__](https://github.com/tsctx)
782
803
 
783
804
  ## Past Collaborators
805
+ * [__Szymon Marczak__](https://github.com/szmarczak), <https://www.npmjs.com/~szmarczak>
784
806
  * [__Tomas Della Vedova__](https://github.com/delvedor), <https://www.npmjs.com/~delvedor>
785
807
 
786
808
  ### Releasers
@@ -42,7 +42,8 @@ added: v7.0.0
42
42
  Stores cached responses in memory. The store enforces upper bounds on the total
43
43
  number of responses, the total size of all responses, and the size of any single
44
44
  response. When a limit is exceeded, the store evicts approximately half of its
45
- entries and emits a [`'maxSizeExceeded'`](#event-maxsizeexceeded) event.
45
+ entries, least recently used first, and emits a
46
+ [`'maxSizeExceeded'`](#event-maxsizeexceeded) event.
46
47
 
47
48
  ```mjs
48
49
  import { interceptors, cacheStores, Agent, setGlobalDispatcher } from 'undici'
@@ -163,7 +164,9 @@ added: v7.0.0
163
164
  -->
164
165
 
165
166
  Stores cached responses in a SQLite database using the [`node:sqlite`][] API.
166
- The constructor throws when [`node:sqlite`][] is not available.
167
+ The constructor throws when [`node:sqlite`][] is not available. Response bodies
168
+ larger than `compressThreshold` are stored compressed with zstd and
169
+ decompressed when read back, saving database space.
167
170
 
168
171
  ```mjs
169
172
  import { interceptors, cacheStores, Agent, setGlobalDispatcher } from 'undici'
@@ -189,9 +192,16 @@ added: v7.0.0
189
192
  * `maxEntrySize` {number} The maximum size, in bytes, of a single response
190
193
  body. Responses whose body exceeds this value are not cached. Must not
191
194
  exceed `2000000000` (2 GB). **Default:** `2000000000` (2 GB).
195
+ * `compressThreshold` {number} The size, in bytes, above which a response
196
+ body is stored compressed with zstd. Responses with an easily compressible
197
+ Content-Type (e.g. json, xml, plain text) are compressed regardless of
198
+ size. Requires a Node version with zstd
199
+ support (22.19+); when unavailable, bodies are stored uncompressed.
200
+ **Default:** `1048576` (1 MiB).
192
201
 
193
- `maxCount` and `maxEntrySize` must be non-negative integers; a `TypeError` is
194
- thrown otherwise, or if `maxEntrySize` is greater than 2 GB.
202
+ `maxCount`, `maxEntrySize`, and `compressThreshold` must be non-negative
203
+ integers; a `TypeError` is thrown otherwise, or if `maxEntrySize` is greater
204
+ than 2 GB.
195
205
 
196
206
  ### `sqliteCacheStore.close()`
197
207
 
@@ -225,7 +235,8 @@ added: v7.0.0
225
235
  See [`GetResult`](#getresult).
226
236
 
227
237
  Looks up a cached response for `key`, comparing the request method and every
228
- header named in the stored `vary` map.
238
+ header named in the stored `vary` map. A body that was stored compressed is
239
+ decompressed before being returned.
229
240
 
230
241
  ### `sqliteCacheStore.set(key, value)`
231
242
 
@@ -240,9 +251,11 @@ added: v7.0.0
240
251
  * Returns: {undefined}
241
252
 
242
253
  Writes a response into the database directly, without going through a stream. If
243
- the body exceeds `maxEntrySize`, nothing is stored. When an entry already exists
244
- for `key` it is overwritten; otherwise a new row is inserted and old entries are
245
- pruned to honour `maxCount`. This method is used internally by
254
+ the body exceeds `maxEntrySize`, nothing is stored. A body larger than
255
+ `compressThreshold`, or with an easily compressible Content-Type (e.g. json,
256
+ xml, plain text), is compressed with zstd before being written. When an entry
257
+ already exists for `key` it is overwritten; otherwise a new row is inserted and
258
+ old entries are pruned to honour `maxCount`. This method is used internally by
246
259
  [`sqliteCacheStore.createWriteStream()`](#sqlitecachestorecreatewritestreamkey-value).
247
260
 
248
261
  ### `sqliteCacheStore.createWriteStream(key, value)`
@@ -260,7 +273,9 @@ added: v7.0.0
260
273
 
261
274
  Returns a {Writable} stream used to write the response body into the store. When
262
275
  the stream finishes, the buffered body is committed via
263
- [`sqliteCacheStore.set()`](#sqlitecachestoresetkey-value). If the body exceeds
276
+ [`sqliteCacheStore.set()`](#sqlitecachestoresetkey-value), where bodies larger
277
+ than `compressThreshold` or with an easily compressible Content-Type are
278
+ compressed with zstd. If the body exceeds
264
279
  `maxEntrySize`, the stream is destroyed and nothing is stored.
265
280
 
266
281
  ### `sqliteCacheStore.delete(key)`
@@ -116,8 +116,8 @@ added: v1.0.0
116
116
  * `maxConcurrentStreams` {number} _Deprecated: use h2Options.useH2c instead_ The maximum number of concurrent HTTP/2
117
117
  streams for a single session. Once h2 is negotiated this — not `pipelining`,
118
118
  which is HTTP/1.1 only — is the ceiling used to dispatch in-flight requests.
119
- It may be overridden by the server's `SETTINGS_MAX_CONCURRENT_STREAMS`
120
- frame. **Default:** `100`.
119
+ The server's `SETTINGS_MAX_CONCURRENT_STREAMS` can lower this limit, but
120
+ not raise it. **Default:** `100`.
121
121
  * `connectionWindowSize` {number} _Deprecated: use h2Options.connectionWindowSize instead_ The HTTP/2 connection-level flow-control
122
122
  window size set via `ClientHttp2Session.setLocalWindowSize()`. Must be a
123
123
  positive integer. **Default:** `524288`.
@@ -130,8 +130,8 @@ added: v1.0.0
130
130
  * `maxConcurrentStreams` {number} The maximum number of concurrent HTTP/2
131
131
  streams for a single session. Once h2 is negotiated this — not `pipelining`,
132
132
  which is HTTP/1.1 only — is the ceiling used to dispatch in-flight requests.
133
- It may be overridden by the server's `SETTINGS_MAX_CONCURRENT_STREAMS`
134
- frame. **Default:** `100`.
133
+ The server's `SETTINGS_MAX_CONCURRENT_STREAMS` can lower this limit, but
134
+ not raise it. **Default:** `100`.
135
135
  * `connectionWindowSize` {number} The HTTP/2 connection-level flow-control
136
136
  window size set via `ClientHttp2Session.setLocalWindowSize()`. Must be a
137
137
  positive integer. **Default:** `524288`.
@@ -148,8 +148,13 @@ added: v1.0.0
148
148
  payloads, and decompressed (`permessage-deflate`) messages. Set to `0` to
149
149
  disable the limit. **Default:** `134217728`.
150
150
  * `eventSource` {Object} (optional) EventSource-specific configuration.
151
- * `maxEventSize` {number} The maximum allowed event size, in bytes, for
152
- EventSource messages. Set to `0` to disable the limit.
151
+ * `maxEventSize` {number} The maximum total bytes of data and metadata
152
+ field values retained for a pending EventSource event. Each unfinished
153
+ line is separately limited to this value plus seven syntax bytes, before
154
+ its line ending arrives. The number of `data:` lines per event and input
155
+ chunks buffered for an unfinished line are each limited to
156
+ `min(131072, max(1024, floor(maxEventSize / 128)))` to bound object overhead.
157
+ Set to `0` to disable these limits.
153
158
  **Default:** `buffer.kStringMaxLength`.
154
159
  * Returns: {Client}
155
160
 
@@ -209,6 +209,9 @@ added: v4.0.0
209
209
  * `path` {string} The request path.
210
210
  * `method` {string} The HTTP method, e.g. `'GET'` or `'POST'`.
211
211
  * `body` {string|Buffer|Uint8Array|Readable|FormData|null} The request body.
212
+ Undici's network clients require a `FormData` body created by the same
213
+ undici package instance. A body from another source, including Node.js's
214
+ built-in `FormData`, is rejected with an `InvalidArgumentError`.
212
215
  **Default:** `null`.
213
216
  * `headers` {UndiciHeaders} Request headers. **Default:** `null`.
214
217
  * `query` {Object} Query string parameters embedded into the request URL. Both
@@ -18,7 +18,7 @@ if (err instanceof errors.ConnectTimeoutError) {
18
18
  }
19
19
  ```
20
20
 
21
- All errors, except [`HTTPParserError`][], extend [`UndiciError`][]. Each error
21
+ All errors, except [`HTTPParserError`][] and `WebAssemblyNotSupportedError`, extend [`UndiciError`][]. Each error
22
22
  carries a stable `code` string (for example `UND_ERR_CONNECT_TIMEOUT`) and a
23
23
  `name`.
24
24
 
@@ -32,6 +32,37 @@ if (err.code === 'UND_ERR_CONNECT_TIMEOUT') {
32
32
  }
33
33
  ```
34
34
 
35
+ ## Timeout-related errors
36
+
37
+ The timeout errors below are controlled by dispatcher/client options:
38
+
39
+ | Error code | When it is thrown | Related option |
40
+ | ---------- | ----------------- | -------------- |
41
+ | `UND_ERR_CONNECT_TIMEOUT` | A connection could not be established before the connection timeout elapsed. | [`connect.timeout`](Client.md) |
42
+ | `UND_ERR_HEADERS_TIMEOUT` | The full response headers were not received before the headers timeout elapsed. | [`headersTimeout`](Client.md) |
43
+ | `UND_ERR_BODY_TIMEOUT` | While reading the response body, no new data arrived before the body timeout elapsed. | [`bodyTimeout`](Client.md) |
44
+ | `UND_ERR_SOCKET` | A generic socket-level failure happened. | Inspect `error.socket` for connection details. |
45
+
46
+ ### Configuring timeouts for `fetch`
47
+
48
+ If you are using `fetch` (including Node.js built-in `fetch`), configure timeouts
49
+ through the global dispatcher:
50
+
51
+ ```js
52
+ import { Agent, setGlobalDispatcher, fetch } from 'undici'
53
+
54
+ setGlobalDispatcher(new Agent({
55
+ connect: { timeout: 10_000 }, // connection phase
56
+ headersTimeout: 15_000, // wait for response headers
57
+ bodyTimeout: 30_000 // wait between response body chunks
58
+ }))
59
+
60
+ await fetch('https://example.com/data')
61
+ ```
62
+
63
+ You can inspect timeout error codes from `error.code` or (for wrapped fetch
64
+ errors) from `error.cause?.code`.
65
+
35
66
  ## Class: `UndiciError`
36
67
 
37
68
  <!-- YAML
@@ -52,6 +83,35 @@ on a well-known symbol rather than the prototype chain.
52
83
  * `name` {string} Always `'UndiciError'`.
53
84
  * `code` {string} Always `'UND_ERR'`.
54
85
 
86
+ ## Class: `WebAssemblyNotSupportedError`
87
+
88
+ * Extends: {Error}
89
+
90
+ WebAssembly is unavailable when Undici initializes its HTTP/1 parser. Undici does
91
+ not provide an alternative parser for environments without WebAssembly, including
92
+ Node.js configurations where `--jitless` disables it. The check is performed when
93
+ the parser is needed, not when importing Undici or accessing `fetch`.
94
+
95
+ * `name` {string} Always `'Error'`.
96
+ * `code` {string} Always `'ERR_WEBASSEMBLY_NOT_SUPPORTED'`.
97
+ * `message` {string} By default `'WebAssembly is not supported in this environment, but is required for HTTP/1 parsing'`.
98
+
99
+ Client and dispatcher requests report this error directly. `fetch` rejects with
100
+ a `TypeError` whose `cause` is this error:
101
+
102
+ ```js
103
+ try {
104
+ await fetch('http://localhost:3000')
105
+ } catch (error) {
106
+ if (error.cause?.code === 'ERR_WEBASSEMBLY_NOT_SUPPORTED') {
107
+ // HTTP/1 parsing requires WebAssembly in this environment.
108
+ }
109
+ }
110
+ ```
111
+
112
+ `Headers`, `FormData`, `Request`, `Response`, and other operations that do not need
113
+ the HTTP/1 parser remain usable without WebAssembly.
114
+
55
115
  ## Class: `ConnectTimeoutError`
56
116
 
57
117
  <!-- YAML
@@ -436,6 +496,7 @@ The response returned an error status code. This is raised, for example, when th
436
496
  * `code` {string} Always `'UND_ERR_RESPONSE'`.
437
497
  * `statusCode` {number} The HTTP status code of the response.
438
498
  * `body` {Object|string|null} The response body.
499
+ * `bodyTruncated` {boolean} Whether `body` was truncated by a configured limit.
439
500
  * `headers` {Object|string[]|null} The response headers.
440
501
 
441
502
  ### `new ResponseError(message, code, options)`
@@ -445,6 +506,7 @@ The response returned an error status code. This is raised, for example, when th
445
506
  * `options` {Object}
446
507
  * `headers` {Object|string[]|null} The response headers. (optional)
447
508
  * `body` {Object|string|null} The response body. (optional)
509
+ * `bodyTruncated` {boolean} Whether `body` was truncated. **Default:** `false`.
448
510
 
449
511
  ## Class: `ProxyConnectionError`
450
512
 
@@ -512,6 +574,19 @@ The maximum number of allowed origins has been reached.
512
574
  * `name` {string} Always `'MaxOriginsReachedError'`.
513
575
  * `code` {string} Always `'UND_ERR_MAX_ORIGINS_REACHED'`.
514
576
 
577
+ ## Class: `MaxRedirectsError`
578
+
579
+ <!-- YAML
580
+ added: v8.12.0
581
+ -->
582
+
583
+ * Extends: {UndiciError}
584
+
585
+ The maximum number of redirects has been reached.
586
+
587
+ * `name` {string} Always `'MaxRedirectsError'`.
588
+ * `code` {string} Always `'UND_ERR_REDIRECT_MAX'`.
589
+
515
590
  ## Class: `Socks5ProxyError`
516
591
 
517
592
  <!-- YAML
@@ -55,8 +55,9 @@ added: v7.7.0
55
55
  hostname, and port. Only the `http:` protocol is supported.
56
56
  * `options` {H2CClientOptions} (optional)
57
57
  * `maxConcurrentStreams` {number} The maximum number of concurrent HTTP/2
58
- streams for the session. It is advertised to the server and may be overridden
59
- by a remote `SETTINGS` frame. Must be a positive integer. **Default:** `100`.
58
+ streams for the session. The server's `SETTINGS_MAX_CONCURRENT_STREAMS` can
59
+ lower this limit, but not raise it. Must be a positive integer.
60
+ **Default:** `100`.
60
61
  * `pipelining` {number} The number of concurrent requests multiplexed over the
61
62
  single connection. For an `H2CClient` this is aliased to
62
63
  `maxConcurrentStreams` and may not exceed it. Must be a positive integer.