@openclaw/slack 2026.7.2-beta.4 → 2026.7.2-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (607) hide show
  1. package/README.md +1 -1
  2. package/dist/{action-runtime-CFU52n4W.js → action-runtime-BO3HK_50.js} +5 -5
  3. package/dist/action-runtime.runtime-DbEcqEXC.js +2 -0
  4. package/dist/{actions-D51foiwR.js → actions-BkOaiDSX.js} +4 -4
  5. package/dist/{actions.runtime-BMJwtf5C.js → actions.runtime-Do-iOL51.js} +1 -1
  6. package/dist/api.js +12 -13
  7. package/dist/{approval-handler.runtime-3b4-wxMl.js → approval-handler.runtime-BAnGN7w0.js} +2 -2
  8. package/dist/{channel-Ds8NKvfr.js → channel-Cnrlie9S.js} +20 -32
  9. package/dist/channel-config-api.js +1 -1
  10. package/dist/channel-plugin-api.js +1 -1
  11. package/dist/{channel-type-DXkUajFP.js → channel-type-CPDX8EV-.js} +3 -3
  12. package/dist/{channel.setup-DOSTEDfA.js → channel.setup-DyZdLwUB.js} +4 -24
  13. package/dist/{setup-core-tPxMuFez.js → config-adapter-Bb8hn2tM.js} +38 -67
  14. package/dist/{config-schema-B4j4tCOI.js → config-schema-BajbuJGL.js} +0 -6
  15. package/dist/{directory-config-B08pm5ZT.js → directory-config-CeixfVuC.js} +1 -1
  16. package/dist/directory-contract-api.js +1 -1
  17. package/dist/{directory-live-DpPKzPrn.js → directory-live-CUwGPX2d.js} +2 -2
  18. package/dist/doctor-contract-CsGH1Dfc.js +158 -0
  19. package/dist/doctor-contract-api.js +1 -1
  20. package/dist/{group-policy-CdnQzQBI.js → group-policy-CthIXE2T.js} +27 -13
  21. package/dist/{message-tool-api-ByVyIVOh.js → message-tool-api-CvKoWYYQ.js} +0 -5
  22. package/dist/message-tool-api.js +1 -1
  23. package/dist/{monitor-CnB_WKvF.js → monitor-Cb5ZsOTY.js} +4 -4
  24. package/dist/{outbound-adapter-DuPz2HHt.js → outbound-adapter-sGrozuRg.js} +11 -68
  25. package/dist/{pipeline.runtime-5rRYZuX5.js → pipeline.runtime-mFCCSllA.js} +2094 -1953
  26. package/dist/{policy-C31RYSuT.js → policy-DVg6FyMP.js} +1 -1
  27. package/dist/{probe-CVRuArHA.js → probe-BhQTDVBQ.js} +50 -57
  28. package/dist/{provider-htuIJGFD.js → provider-PSppCU_K.js} +83 -65
  29. package/dist/{relay-source-Df9EaiTF.js → relay-source-D0mb_JBk.js} +1 -1
  30. package/dist/{replies-Cgr2Gli4.js → replies-BkPPM2Ri.js} +50 -13
  31. package/dist/{resolve-channels-DodP2TFx.js → resolve-channels-B3RlJKyV.js} +2 -2
  32. package/dist/{resolve-users-M9eF8891.js → resolve-users-DTm7PEMa.js} +2 -2
  33. package/dist/{rolldown-runtime-D7D4PA-g.js → rolldown-runtime-8H4AJuhK.js} +1 -0
  34. package/dist/{runtime-api-D5XYMMsf.js → runtime-api-jpn3vQ7e.js} +2 -2
  35. package/dist/runtime-api.js +10 -10
  36. package/dist/{scopes-CJRpHkDC.js → scopes-B2SqZ--4.js} +1 -1
  37. package/dist/{security-audit-Cz6erklv.js → security-audit-DR097212.js} +1 -1
  38. package/dist/security-contract-api.js +1 -1
  39. package/dist/{send-BZ1tPv7-.js → send-2IoDXPeB.js} +7 -21
  40. package/dist/{send.runtime-a2pilFor.js → send.runtime-BKd_PAEw.js} +1 -1
  41. package/dist/setup-plugin-api.js +1 -1
  42. package/dist/{setup-surface-wV-S1dE_.js → setup-surface-Dyam58nO.js} +8 -16
  43. package/dist/{shared-BfMskaMx.js → shared-g55DV75U.js} +14 -36
  44. package/dist/{slash-dispatch.runtime-lfeIsXTX.js → slash-dispatch.runtime-BRQbvn2e.js} +10 -9
  45. package/node_modules/@slack/bolt/dist/App.d.ts +4 -19
  46. package/node_modules/@slack/bolt/dist/App.d.ts.map +1 -1
  47. package/node_modules/@slack/bolt/dist/App.js +21 -40
  48. package/node_modules/@slack/bolt/dist/App.js.map +1 -1
  49. package/node_modules/@slack/bolt/dist/context/create-respond.d.ts +3 -3
  50. package/node_modules/@slack/bolt/dist/context/create-respond.d.ts.map +1 -1
  51. package/node_modules/@slack/bolt/dist/context/create-respond.js +13 -2
  52. package/node_modules/@slack/bolt/dist/context/create-respond.js.map +1 -1
  53. package/node_modules/@slack/bolt/dist/errors.d.ts +6 -8
  54. package/node_modules/@slack/bolt/dist/errors.d.ts.map +1 -1
  55. package/node_modules/@slack/bolt/dist/errors.js +11 -11
  56. package/node_modules/@slack/bolt/dist/errors.js.map +1 -1
  57. package/node_modules/@slack/bolt/dist/helpers.d.ts.map +1 -1
  58. package/node_modules/@slack/bolt/dist/helpers.js +1 -2
  59. package/node_modules/@slack/bolt/dist/helpers.js.map +1 -1
  60. package/node_modules/@slack/bolt/dist/index.d.ts +0 -1
  61. package/node_modules/@slack/bolt/dist/index.d.ts.map +1 -1
  62. package/node_modules/@slack/bolt/dist/index.js +1 -3
  63. package/node_modules/@slack/bolt/dist/index.js.map +1 -1
  64. package/node_modules/@slack/bolt/dist/receivers/AwsLambdaReceiver.d.ts +10 -1
  65. package/node_modules/@slack/bolt/dist/receivers/AwsLambdaReceiver.d.ts.map +1 -1
  66. package/node_modules/@slack/bolt/dist/receivers/AwsLambdaReceiver.js +5 -1
  67. package/node_modules/@slack/bolt/dist/receivers/AwsLambdaReceiver.js.map +1 -1
  68. package/node_modules/@slack/bolt/dist/receivers/HTTPModuleFunctions.d.ts.map +1 -1
  69. package/node_modules/@slack/bolt/dist/receivers/HTTPModuleFunctions.js +10 -14
  70. package/node_modules/@slack/bolt/dist/receivers/HTTPModuleFunctions.js.map +1 -1
  71. package/node_modules/@slack/bolt/dist/receivers/SocketModeFunctions.d.ts.map +1 -1
  72. package/node_modules/@slack/bolt/dist/receivers/SocketModeFunctions.js +1 -1
  73. package/node_modules/@slack/bolt/dist/receivers/SocketModeFunctions.js.map +1 -1
  74. package/node_modules/@slack/bolt/dist/receivers/SocketModeReceiver.d.ts +3 -1
  75. package/node_modules/@slack/bolt/dist/receivers/SocketModeReceiver.d.ts.map +1 -1
  76. package/node_modules/@slack/bolt/dist/receivers/SocketModeReceiver.js +2 -1
  77. package/node_modules/@slack/bolt/dist/receivers/SocketModeReceiver.js.map +1 -1
  78. package/node_modules/@slack/bolt/dist/types/actions/index.d.ts +2 -4
  79. package/node_modules/@slack/bolt/dist/types/actions/index.d.ts.map +1 -1
  80. package/node_modules/@slack/bolt/dist/types/actions/index.js +0 -2
  81. package/node_modules/@slack/bolt/dist/types/actions/index.js.map +1 -1
  82. package/node_modules/@slack/bolt/dist/types/events/index.d.ts +2 -0
  83. package/node_modules/@slack/bolt/dist/types/events/index.d.ts.map +1 -1
  84. package/node_modules/@slack/bolt/dist/types/utilities.d.ts +2 -2
  85. package/node_modules/@slack/bolt/dist/types/utilities.d.ts.map +1 -1
  86. package/node_modules/@slack/bolt/dist/types/view/index.d.ts +1 -31
  87. package/node_modules/@slack/bolt/dist/types/view/index.d.ts.map +1 -1
  88. package/node_modules/@slack/bolt/package.json +10 -11
  89. package/node_modules/@slack/logger/README.md +1 -1
  90. package/node_modules/@slack/logger/dist/index.js +17 -13
  91. package/node_modules/@slack/logger/dist/index.js.map +1 -1
  92. package/node_modules/@slack/logger/package.json +6 -7
  93. package/node_modules/@slack/oauth/README.md +1 -1
  94. package/node_modules/@slack/oauth/dist/errors.d.ts +25 -14
  95. package/node_modules/@slack/oauth/dist/errors.d.ts.map +1 -1
  96. package/node_modules/@slack/oauth/dist/errors.js +24 -33
  97. package/node_modules/@slack/oauth/dist/errors.js.map +1 -1
  98. package/node_modules/@slack/oauth/dist/install-provider.js +58 -16
  99. package/node_modules/@slack/oauth/dist/install-provider.js.map +1 -1
  100. package/node_modules/@slack/oauth/dist/installation-stores/file-store.js +4 -2
  101. package/node_modules/@slack/oauth/dist/installation-stores/file-store.js.map +1 -1
  102. package/node_modules/@slack/oauth/dist/installation-stores/memory-store.js +3 -16
  103. package/node_modules/@slack/oauth/dist/installation-stores/memory-store.js.map +1 -1
  104. package/node_modules/@slack/oauth/dist/state-stores/clear-state-store.js +2 -0
  105. package/node_modules/@slack/oauth/dist/state-stores/clear-state-store.js.map +1 -1
  106. package/node_modules/@slack/oauth/dist/state-stores/file-state-store.js +3 -0
  107. package/node_modules/@slack/oauth/dist/state-stores/file-state-store.js.map +1 -1
  108. package/node_modules/@slack/oauth/package.json +8 -9
  109. package/node_modules/@slack/socket-mode/README.md +1 -1
  110. package/node_modules/@slack/socket-mode/dist/package.json +21 -13
  111. package/node_modules/@slack/socket-mode/dist/src/SlackWebSocket.d.ts +14 -8
  112. package/node_modules/@slack/socket-mode/dist/src/SlackWebSocket.d.ts.map +1 -1
  113. package/node_modules/@slack/socket-mode/dist/src/SlackWebSocket.js +136 -48
  114. package/node_modules/@slack/socket-mode/dist/src/SlackWebSocket.js.map +1 -1
  115. package/node_modules/@slack/socket-mode/dist/src/SocketModeClient.d.ts +12 -6
  116. package/node_modules/@slack/socket-mode/dist/src/SocketModeClient.d.ts.map +1 -1
  117. package/node_modules/@slack/socket-mode/dist/src/SocketModeClient.js +87 -38
  118. package/node_modules/@slack/socket-mode/dist/src/SocketModeClient.js.map +1 -1
  119. package/node_modules/@slack/socket-mode/dist/src/SocketModeOptions.d.ts +31 -1
  120. package/node_modules/@slack/socket-mode/dist/src/SocketModeOptions.d.ts.map +1 -1
  121. package/node_modules/@slack/socket-mode/dist/src/errors.d.ts +31 -37
  122. package/node_modules/@slack/socket-mode/dist/src/errors.d.ts.map +1 -1
  123. package/node_modules/@slack/socket-mode/dist/src/errors.js +43 -47
  124. package/node_modules/@slack/socket-mode/dist/src/errors.js.map +1 -1
  125. package/node_modules/@slack/socket-mode/dist/src/index.d.ts +2 -2
  126. package/node_modules/@slack/socket-mode/dist/src/index.d.ts.map +1 -1
  127. package/node_modules/@slack/socket-mode/dist/src/index.js +7 -1
  128. package/node_modules/@slack/socket-mode/dist/src/index.js.map +1 -1
  129. package/node_modules/@slack/socket-mode/package.json +21 -13
  130. package/node_modules/@slack/types/README.md +1 -1
  131. package/node_modules/@slack/types/dist/events/app.d.ts +28 -0
  132. package/node_modules/@slack/types/dist/events/app.d.ts.map +1 -1
  133. package/node_modules/@slack/types/dist/events/index.d.ts +2 -2
  134. package/node_modules/@slack/types/dist/events/index.d.ts.map +1 -1
  135. package/node_modules/@slack/types/dist/events/index.js.map +1 -1
  136. package/node_modules/@slack/types/dist/events/message.d.ts +2 -0
  137. package/node_modules/@slack/types/dist/events/message.d.ts.map +1 -1
  138. package/node_modules/@slack/types/package.json +3 -3
  139. package/node_modules/@slack/web-api/README.md +1 -1
  140. package/node_modules/@slack/web-api/dist/WebClient.d.ts +42 -71
  141. package/node_modules/@slack/web-api/dist/WebClient.d.ts.map +1 -1
  142. package/node_modules/@slack/web-api/dist/WebClient.js +180 -248
  143. package/node_modules/@slack/web-api/dist/WebClient.js.map +1 -1
  144. package/node_modules/@slack/web-api/dist/chat-stream.js +37 -22
  145. package/node_modules/@slack/web-api/dist/chat-stream.js.map +1 -1
  146. package/node_modules/@slack/web-api/dist/errors.d.ts +32 -51
  147. package/node_modules/@slack/web-api/dist/errors.d.ts.map +1 -1
  148. package/node_modules/@slack/web-api/dist/errors.js +64 -55
  149. package/node_modules/@slack/web-api/dist/errors.js.map +1 -1
  150. package/node_modules/@slack/web-api/dist/file-upload.d.ts +0 -9
  151. package/node_modules/@slack/web-api/dist/file-upload.d.ts.map +1 -1
  152. package/node_modules/@slack/web-api/dist/file-upload.js +41 -46
  153. package/node_modules/@slack/web-api/dist/file-upload.js.map +1 -1
  154. package/node_modules/@slack/web-api/dist/index.d.ts +2 -2
  155. package/node_modules/@slack/web-api/dist/index.d.ts.map +1 -1
  156. package/node_modules/@slack/web-api/dist/index.js +8 -1
  157. package/node_modules/@slack/web-api/dist/index.js.map +1 -1
  158. package/node_modules/@slack/web-api/dist/methods.d.ts +2 -38
  159. package/node_modules/@slack/web-api/dist/methods.d.ts.map +1 -1
  160. package/node_modules/@slack/web-api/dist/methods.js +1347 -1384
  161. package/node_modules/@slack/web-api/dist/methods.js.map +1 -1
  162. package/node_modules/@slack/web-api/dist/types/request/files.d.ts +0 -1
  163. package/node_modules/@slack/web-api/dist/types/request/files.d.ts.map +1 -1
  164. package/node_modules/@slack/web-api/dist/types/request/index.d.ts +3 -3
  165. package/node_modules/@slack/web-api/dist/types/request/index.d.ts.map +1 -1
  166. package/node_modules/@slack/web-api/dist/types/request/manifest.d.ts +66 -1
  167. package/node_modules/@slack/web-api/dist/types/request/manifest.d.ts.map +1 -1
  168. package/node_modules/@slack/web-api/dist/types/request/rtm.d.ts +1 -14
  169. package/node_modules/@slack/web-api/dist/types/request/rtm.d.ts.map +1 -1
  170. package/node_modules/@slack/web-api/dist/types/request/workflows.d.ts +0 -29
  171. package/node_modules/@slack/web-api/dist/types/request/workflows.d.ts.map +1 -1
  172. package/node_modules/@slack/web-api/package.json +6 -10
  173. package/node_modules/@types/retry/LICENSE +21 -21
  174. package/node_modules/@types/retry/README.md +5 -4
  175. package/node_modules/@types/retry/index.d.ts +20 -13
  176. package/node_modules/@types/retry/package.json +9 -11
  177. package/node_modules/{es-set-tostringtag → undici}/LICENSE +1 -1
  178. package/node_modules/undici/README.md +741 -0
  179. package/node_modules/undici/docs/docs/api/Agent.md +84 -0
  180. package/node_modules/undici/docs/docs/api/BalancedPool.md +99 -0
  181. package/node_modules/undici/docs/docs/api/CacheStorage.md +30 -0
  182. package/node_modules/undici/docs/docs/api/CacheStore.md +164 -0
  183. package/node_modules/undici/docs/docs/api/Client.md +288 -0
  184. package/node_modules/undici/docs/docs/api/ClientStats.md +27 -0
  185. package/node_modules/undici/docs/docs/api/Connector.md +115 -0
  186. package/node_modules/undici/docs/docs/api/ContentType.md +57 -0
  187. package/node_modules/undici/docs/docs/api/Cookies.md +128 -0
  188. package/node_modules/undici/docs/docs/api/Debug.md +62 -0
  189. package/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +315 -0
  190. package/node_modules/undici/docs/docs/api/Dispatcher.md +1392 -0
  191. package/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +159 -0
  192. package/node_modules/undici/docs/docs/api/Errors.md +49 -0
  193. package/node_modules/undici/docs/docs/api/EventSource.md +45 -0
  194. package/node_modules/undici/docs/docs/api/Fetch.md +60 -0
  195. package/node_modules/undici/docs/docs/api/GlobalInstallation.md +139 -0
  196. package/node_modules/undici/docs/docs/api/H2CClient.md +263 -0
  197. package/node_modules/undici/docs/docs/api/MockAgent.md +603 -0
  198. package/node_modules/undici/docs/docs/api/MockCallHistory.md +197 -0
  199. package/node_modules/undici/docs/docs/api/MockCallHistoryLog.md +43 -0
  200. package/node_modules/undici/docs/docs/api/MockClient.md +81 -0
  201. package/node_modules/undici/docs/docs/api/MockErrors.md +12 -0
  202. package/node_modules/undici/docs/docs/api/MockPool.md +555 -0
  203. package/node_modules/undici/docs/docs/api/Pool.md +84 -0
  204. package/node_modules/undici/docs/docs/api/PoolStats.md +35 -0
  205. package/node_modules/undici/docs/docs/api/ProxyAgent.md +229 -0
  206. package/node_modules/undici/docs/docs/api/RedirectHandler.md +93 -0
  207. package/node_modules/undici/docs/docs/api/RetryAgent.md +50 -0
  208. package/node_modules/undici/docs/docs/api/RetryHandler.md +118 -0
  209. package/node_modules/undici/docs/docs/api/RoundRobinPool.md +145 -0
  210. package/node_modules/undici/docs/docs/api/SnapshotAgent.md +616 -0
  211. package/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +275 -0
  212. package/node_modules/undici/docs/docs/api/Util.md +25 -0
  213. package/node_modules/undici/docs/docs/api/WebSocket.md +141 -0
  214. package/node_modules/undici/docs/docs/api/api-lifecycle.md +91 -0
  215. package/node_modules/undici/docs/docs/best-practices/client-certificate.md +64 -0
  216. package/node_modules/undici/docs/docs/best-practices/crawling.md +58 -0
  217. package/node_modules/undici/docs/docs/best-practices/mocking-request.md +190 -0
  218. package/node_modules/undici/docs/docs/best-practices/proxy.md +127 -0
  219. package/node_modules/undici/docs/docs/best-practices/undici-vs-builtin-fetch.md +224 -0
  220. package/node_modules/undici/docs/docs/best-practices/writing-tests.md +63 -0
  221. package/node_modules/undici/index-fetch.js +65 -0
  222. package/node_modules/undici/index.d.ts +3 -0
  223. package/node_modules/undici/index.js +234 -0
  224. package/node_modules/undici/lib/api/abort-signal.js +59 -0
  225. package/node_modules/undici/lib/api/api-connect.js +110 -0
  226. package/node_modules/undici/lib/api/api-pipeline.js +252 -0
  227. package/node_modules/undici/lib/api/api-request.js +214 -0
  228. package/node_modules/undici/lib/api/api-stream.js +209 -0
  229. package/node_modules/undici/lib/api/api-upgrade.js +111 -0
  230. package/node_modules/undici/lib/api/index.js +7 -0
  231. package/node_modules/undici/lib/api/readable.js +580 -0
  232. package/node_modules/undici/lib/cache/memory-cache-store.js +234 -0
  233. package/node_modules/undici/lib/cache/sqlite-cache-store.js +461 -0
  234. package/node_modules/undici/lib/core/connect.js +153 -0
  235. package/node_modules/undici/lib/core/constants.js +143 -0
  236. package/node_modules/undici/lib/core/diagnostics.js +227 -0
  237. package/node_modules/undici/lib/core/errors.js +477 -0
  238. package/node_modules/undici/lib/core/request.js +453 -0
  239. package/node_modules/undici/lib/core/socks5-client.js +422 -0
  240. package/node_modules/undici/lib/core/socks5-utils.js +212 -0
  241. package/node_modules/undici/lib/core/symbols.js +75 -0
  242. package/node_modules/undici/lib/core/tree.js +160 -0
  243. package/node_modules/undici/lib/core/util.js +992 -0
  244. package/node_modules/undici/lib/dispatcher/agent.js +158 -0
  245. package/node_modules/undici/lib/dispatcher/balanced-pool.js +219 -0
  246. package/node_modules/undici/lib/dispatcher/client-h1.js +1722 -0
  247. package/node_modules/undici/lib/dispatcher/client-h2.js +995 -0
  248. package/node_modules/undici/lib/dispatcher/client.js +664 -0
  249. package/node_modules/undici/lib/dispatcher/dispatcher-base.js +184 -0
  250. package/node_modules/undici/lib/dispatcher/dispatcher.js +48 -0
  251. package/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +146 -0
  252. package/node_modules/undici/lib/dispatcher/fixed-queue.js +135 -0
  253. package/node_modules/undici/lib/dispatcher/h2c-client.js +51 -0
  254. package/node_modules/undici/lib/dispatcher/pool-base.js +214 -0
  255. package/node_modules/undici/lib/dispatcher/pool.js +118 -0
  256. package/node_modules/undici/lib/dispatcher/proxy-agent.js +319 -0
  257. package/node_modules/undici/lib/dispatcher/retry-agent.js +35 -0
  258. package/node_modules/undici/lib/dispatcher/round-robin-pool.js +137 -0
  259. package/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +260 -0
  260. package/node_modules/undici/lib/encoding/index.js +33 -0
  261. package/node_modules/undici/lib/global.js +59 -0
  262. package/node_modules/undici/lib/handler/cache-handler.js +578 -0
  263. package/node_modules/undici/lib/handler/cache-revalidation-handler.js +124 -0
  264. package/node_modules/undici/lib/handler/decorator-handler.js +67 -0
  265. package/node_modules/undici/lib/handler/deduplication-handler.js +460 -0
  266. package/node_modules/undici/lib/handler/redirect-handler.js +238 -0
  267. package/node_modules/undici/lib/handler/retry-handler.js +394 -0
  268. package/node_modules/undici/lib/handler/unwrap-handler.js +106 -0
  269. package/node_modules/undici/lib/handler/wrap-handler.js +105 -0
  270. package/node_modules/undici/lib/interceptor/cache.js +495 -0
  271. package/node_modules/undici/lib/interceptor/decompress.js +259 -0
  272. package/node_modules/undici/lib/interceptor/deduplicate.js +117 -0
  273. package/node_modules/undici/lib/interceptor/dns.js +571 -0
  274. package/node_modules/undici/lib/interceptor/dump.js +112 -0
  275. package/node_modules/undici/lib/interceptor/redirect.js +21 -0
  276. package/node_modules/undici/lib/interceptor/response-error.js +95 -0
  277. package/node_modules/undici/lib/interceptor/retry.js +19 -0
  278. package/node_modules/undici/lib/llhttp/.gitkeep +0 -0
  279. package/node_modules/undici/lib/llhttp/constants.d.ts +195 -0
  280. package/node_modules/undici/lib/llhttp/constants.js +531 -0
  281. package/node_modules/undici/lib/llhttp/llhttp-wasm.js +15 -0
  282. package/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +15 -0
  283. package/node_modules/undici/lib/llhttp/utils.d.ts +2 -0
  284. package/node_modules/undici/lib/llhttp/utils.js +12 -0
  285. package/node_modules/undici/lib/mock/mock-agent.js +232 -0
  286. package/node_modules/undici/lib/mock/mock-call-history.js +248 -0
  287. package/node_modules/undici/lib/mock/mock-client.js +68 -0
  288. package/node_modules/undici/lib/mock/mock-errors.js +29 -0
  289. package/node_modules/undici/lib/mock/mock-interceptor.js +209 -0
  290. package/node_modules/undici/lib/mock/mock-pool.js +68 -0
  291. package/node_modules/undici/lib/mock/mock-symbols.js +32 -0
  292. package/node_modules/undici/lib/mock/mock-utils.js +486 -0
  293. package/node_modules/undici/lib/mock/pending-interceptors-formatter.js +43 -0
  294. package/node_modules/undici/lib/mock/snapshot-agent.js +353 -0
  295. package/node_modules/undici/lib/mock/snapshot-recorder.js +588 -0
  296. package/node_modules/undici/lib/mock/snapshot-utils.js +158 -0
  297. package/node_modules/undici/lib/util/cache.js +414 -0
  298. package/node_modules/undici/lib/util/date.js +653 -0
  299. package/node_modules/undici/lib/util/promise.js +28 -0
  300. package/node_modules/undici/lib/util/runtime-features.js +124 -0
  301. package/node_modules/undici/lib/util/stats.js +32 -0
  302. package/node_modules/undici/lib/util/timers.js +425 -0
  303. package/node_modules/undici/lib/web/cache/cache.js +864 -0
  304. package/node_modules/undici/lib/web/cache/cachestorage.js +152 -0
  305. package/node_modules/undici/lib/web/cache/util.js +45 -0
  306. package/node_modules/undici/lib/web/cookies/constants.js +12 -0
  307. package/node_modules/undici/lib/web/cookies/index.js +199 -0
  308. package/node_modules/undici/lib/web/cookies/parse.js +314 -0
  309. package/node_modules/undici/lib/web/cookies/util.js +282 -0
  310. package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +399 -0
  311. package/node_modules/undici/lib/web/eventsource/eventsource.js +501 -0
  312. package/node_modules/undici/lib/web/eventsource/util.js +29 -0
  313. package/node_modules/{has-tostringtag → undici/lib/web/fetch}/LICENSE +1 -1
  314. package/node_modules/undici/lib/web/fetch/body.js +509 -0
  315. package/node_modules/undici/lib/web/fetch/constants.js +131 -0
  316. package/node_modules/undici/lib/web/fetch/data-url.js +596 -0
  317. package/node_modules/undici/lib/web/fetch/formdata-parser.js +586 -0
  318. package/node_modules/undici/lib/web/fetch/formdata.js +259 -0
  319. package/node_modules/undici/lib/web/fetch/global.js +40 -0
  320. package/node_modules/undici/lib/web/fetch/headers.js +719 -0
  321. package/node_modules/undici/lib/web/fetch/index.js +2413 -0
  322. package/node_modules/undici/lib/web/fetch/request.js +1115 -0
  323. package/node_modules/undici/lib/web/fetch/response.js +641 -0
  324. package/node_modules/undici/lib/web/fetch/util.js +1522 -0
  325. package/node_modules/undici/lib/web/infra/index.js +229 -0
  326. package/node_modules/undici/lib/web/subresource-integrity/Readme.md +9 -0
  327. package/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +307 -0
  328. package/node_modules/undici/lib/web/webidl/index.js +1006 -0
  329. package/node_modules/undici/lib/web/websocket/connection.js +329 -0
  330. package/node_modules/undici/lib/web/websocket/constants.js +126 -0
  331. package/node_modules/undici/lib/web/websocket/events.js +331 -0
  332. package/node_modules/undici/lib/web/websocket/frame.js +133 -0
  333. package/node_modules/undici/lib/web/websocket/permessage-deflate.js +100 -0
  334. package/node_modules/undici/lib/web/websocket/receiver.js +507 -0
  335. package/node_modules/undici/lib/web/websocket/sender.js +109 -0
  336. package/node_modules/undici/lib/web/websocket/stream/websocketerror.js +104 -0
  337. package/node_modules/undici/lib/web/websocket/stream/websocketstream.js +498 -0
  338. package/node_modules/undici/lib/web/websocket/util.js +347 -0
  339. package/node_modules/undici/lib/web/websocket/websocket.js +758 -0
  340. package/node_modules/undici/package.json +152 -0
  341. package/node_modules/undici/scripts/strip-comments.js +10 -0
  342. package/node_modules/undici/types/README.md +6 -0
  343. package/node_modules/undici/types/agent.d.ts +32 -0
  344. package/node_modules/undici/types/api.d.ts +43 -0
  345. package/node_modules/undici/types/balanced-pool.d.ts +30 -0
  346. package/node_modules/undici/types/cache-interceptor.d.ts +179 -0
  347. package/node_modules/undici/types/cache.d.ts +36 -0
  348. package/node_modules/undici/types/client-stats.d.ts +15 -0
  349. package/node_modules/undici/types/client.d.ts +139 -0
  350. package/node_modules/undici/types/connector.d.ts +36 -0
  351. package/node_modules/undici/types/content-type.d.ts +21 -0
  352. package/node_modules/undici/types/cookies.d.ts +30 -0
  353. package/node_modules/undici/types/diagnostics-channel.d.ts +74 -0
  354. package/node_modules/undici/types/dispatcher.d.ts +275 -0
  355. package/node_modules/undici/types/env-http-proxy-agent.d.ts +22 -0
  356. package/node_modules/undici/types/errors.d.ts +177 -0
  357. package/node_modules/undici/types/eventsource.d.ts +66 -0
  358. package/node_modules/undici/types/fetch.d.ts +231 -0
  359. package/node_modules/undici/types/formdata.d.ts +114 -0
  360. package/node_modules/undici/types/global-dispatcher.d.ts +9 -0
  361. package/node_modules/undici/types/global-origin.d.ts +7 -0
  362. package/node_modules/undici/types/h2c-client.d.ts +73 -0
  363. package/node_modules/undici/types/handlers.d.ts +14 -0
  364. package/node_modules/undici/types/header.d.ts +160 -0
  365. package/node_modules/undici/types/index.d.ts +91 -0
  366. package/node_modules/undici/types/interceptors.d.ts +80 -0
  367. package/node_modules/undici/types/mock-agent.d.ts +68 -0
  368. package/node_modules/undici/types/mock-call-history.d.ts +111 -0
  369. package/node_modules/undici/types/mock-client.d.ts +27 -0
  370. package/node_modules/undici/types/mock-errors.d.ts +12 -0
  371. package/node_modules/undici/types/mock-interceptor.d.ts +94 -0
  372. package/node_modules/undici/types/mock-pool.d.ts +27 -0
  373. package/node_modules/undici/types/patch.d.ts +29 -0
  374. package/node_modules/undici/types/pool-stats.d.ts +19 -0
  375. package/node_modules/undici/types/pool.d.ts +41 -0
  376. package/node_modules/undici/types/proxy-agent.d.ts +29 -0
  377. package/node_modules/undici/types/readable.d.ts +68 -0
  378. package/node_modules/undici/types/retry-agent.d.ts +8 -0
  379. package/node_modules/undici/types/retry-handler.d.ts +125 -0
  380. package/node_modules/undici/types/round-robin-pool.d.ts +41 -0
  381. package/node_modules/undici/types/snapshot-agent.d.ts +109 -0
  382. package/node_modules/undici/types/socks5-proxy-agent.d.ts +25 -0
  383. package/node_modules/undici/types/util.d.ts +18 -0
  384. package/node_modules/undici/types/utility.d.ts +7 -0
  385. package/node_modules/undici/types/webidl.d.ts +347 -0
  386. package/node_modules/undici/types/websocket.d.ts +188 -0
  387. package/openclaw.plugin.json +8 -38
  388. package/package.json +11 -8
  389. package/dist/action-runtime.runtime-9-17zvKH.js +0 -2
  390. package/dist/doctor-contract-U6oVntbM.js +0 -173
  391. package/dist/interactive-replies-C3ffk6oN.js +0 -197
  392. package/dist/interactive-replies-api.js +0 -2
  393. package/node_modules/@slack/bolt/dist/WorkflowStep.d.ts +0 -159
  394. package/node_modules/@slack/bolt/dist/WorkflowStep.d.ts.map +0 -1
  395. package/node_modules/@slack/bolt/dist/WorkflowStep.js +0 -217
  396. package/node_modules/@slack/bolt/dist/WorkflowStep.js.map +0 -1
  397. package/node_modules/@slack/bolt/dist/types/actions/workflow-step-edit.d.ts +0 -49
  398. package/node_modules/@slack/bolt/dist/types/actions/workflow-step-edit.d.ts.map +0 -1
  399. package/node_modules/@slack/bolt/dist/types/actions/workflow-step-edit.js +0 -3
  400. package/node_modules/@slack/bolt/dist/types/actions/workflow-step-edit.js.map +0 -1
  401. package/node_modules/@types/ws/LICENSE +0 -21
  402. package/node_modules/@types/ws/README.md +0 -15
  403. package/node_modules/@types/ws/index.d.mts +0 -451
  404. package/node_modules/@types/ws/index.d.ts +0 -445
  405. package/node_modules/@types/ws/package.json +0 -72
  406. package/node_modules/agent-base/README.md +0 -145
  407. package/node_modules/agent-base/dist/src/index.d.ts +0 -78
  408. package/node_modules/agent-base/dist/src/index.js +0 -203
  409. package/node_modules/agent-base/dist/src/index.js.map +0 -1
  410. package/node_modules/agent-base/dist/src/promisify.d.ts +0 -4
  411. package/node_modules/agent-base/dist/src/promisify.js +0 -18
  412. package/node_modules/agent-base/dist/src/promisify.js.map +0 -1
  413. package/node_modules/agent-base/package.json +0 -64
  414. package/node_modules/agent-base/src/index.ts +0 -345
  415. package/node_modules/agent-base/src/promisify.ts +0 -33
  416. package/node_modules/asynckit/LICENSE +0 -21
  417. package/node_modules/asynckit/README.md +0 -233
  418. package/node_modules/asynckit/bench.js +0 -76
  419. package/node_modules/asynckit/index.js +0 -6
  420. package/node_modules/asynckit/lib/abort.js +0 -29
  421. package/node_modules/asynckit/lib/async.js +0 -34
  422. package/node_modules/asynckit/lib/defer.js +0 -26
  423. package/node_modules/asynckit/lib/iterate.js +0 -75
  424. package/node_modules/asynckit/lib/readable_asynckit.js +0 -91
  425. package/node_modules/asynckit/lib/readable_parallel.js +0 -25
  426. package/node_modules/asynckit/lib/readable_serial.js +0 -25
  427. package/node_modules/asynckit/lib/readable_serial_ordered.js +0 -29
  428. package/node_modules/asynckit/lib/state.js +0 -37
  429. package/node_modules/asynckit/lib/streamify.js +0 -141
  430. package/node_modules/asynckit/lib/terminator.js +0 -29
  431. package/node_modules/asynckit/package.json +0 -63
  432. package/node_modules/asynckit/parallel.js +0 -43
  433. package/node_modules/asynckit/serial.js +0 -17
  434. package/node_modules/asynckit/serialOrdered.js +0 -75
  435. package/node_modules/asynckit/stream.js +0 -21
  436. package/node_modules/axios/CHANGELOG.md +0 -1872
  437. package/node_modules/axios/LICENSE +0 -7
  438. package/node_modules/axios/MIGRATION_GUIDE.md +0 -877
  439. package/node_modules/axios/README.md +0 -2559
  440. package/node_modules/axios/dist/axios.js +0 -5249
  441. package/node_modules/axios/dist/axios.min.js +0 -5
  442. package/node_modules/axios/dist/axios.min.js.map +0 -1
  443. package/node_modules/axios/dist/browser/axios.cjs +0 -5146
  444. package/node_modules/axios/dist/esm/axios.js +0 -5167
  445. package/node_modules/axios/dist/esm/axios.min.js +0 -3
  446. package/node_modules/axios/dist/esm/axios.min.js.map +0 -1
  447. package/node_modules/axios/dist/node/axios.cjs +0 -5996
  448. package/node_modules/axios/index.d.cts +0 -738
  449. package/node_modules/axios/index.d.ts +0 -755
  450. package/node_modules/axios/index.js +0 -45
  451. package/node_modules/axios/lib/adapters/README.md +0 -36
  452. package/node_modules/axios/lib/adapters/adapters.js +0 -132
  453. package/node_modules/axios/lib/adapters/fetch.js +0 -643
  454. package/node_modules/axios/lib/adapters/http.js +0 -1417
  455. package/node_modules/axios/lib/adapters/xhr.js +0 -228
  456. package/node_modules/axios/lib/axios.js +0 -89
  457. package/node_modules/axios/lib/cancel/CancelToken.js +0 -135
  458. package/node_modules/axios/lib/cancel/CanceledError.js +0 -22
  459. package/node_modules/axios/lib/cancel/isCancel.js +0 -5
  460. package/node_modules/axios/lib/core/Axios.js +0 -283
  461. package/node_modules/axios/lib/core/AxiosError.js +0 -188
  462. package/node_modules/axios/lib/core/AxiosHeaders.js +0 -351
  463. package/node_modules/axios/lib/core/InterceptorManager.js +0 -72
  464. package/node_modules/axios/lib/core/README.md +0 -8
  465. package/node_modules/axios/lib/core/buildFullPath.js +0 -50
  466. package/node_modules/axios/lib/core/dispatchRequest.js +0 -89
  467. package/node_modules/axios/lib/core/mergeConfig.js +0 -159
  468. package/node_modules/axios/lib/core/settle.js +0 -27
  469. package/node_modules/axios/lib/core/transformData.js +0 -28
  470. package/node_modules/axios/lib/defaults/index.js +0 -177
  471. package/node_modules/axios/lib/defaults/transitional.js +0 -10
  472. package/node_modules/axios/lib/env/README.md +0 -3
  473. package/node_modules/axios/lib/env/classes/FormData.js +0 -2
  474. package/node_modules/axios/lib/env/data.js +0 -1
  475. package/node_modules/axios/lib/helpers/AxiosTransformStream.js +0 -156
  476. package/node_modules/axios/lib/helpers/AxiosURLSearchParams.js +0 -59
  477. package/node_modules/axios/lib/helpers/Http2Sessions.js +0 -119
  478. package/node_modules/axios/lib/helpers/HttpStatusCode.js +0 -77
  479. package/node_modules/axios/lib/helpers/README.md +0 -7
  480. package/node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js +0 -29
  481. package/node_modules/axios/lib/helpers/bind.js +0 -14
  482. package/node_modules/axios/lib/helpers/buildURL.js +0 -69
  483. package/node_modules/axios/lib/helpers/callbackify.js +0 -18
  484. package/node_modules/axios/lib/helpers/combineURLs.js +0 -15
  485. package/node_modules/axios/lib/helpers/composeSignals.js +0 -57
  486. package/node_modules/axios/lib/helpers/cookies.js +0 -64
  487. package/node_modules/axios/lib/helpers/deprecatedMethod.js +0 -31
  488. package/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js +0 -105
  489. package/node_modules/axios/lib/helpers/formDataToJSON.js +0 -119
  490. package/node_modules/axios/lib/helpers/formDataToStream.js +0 -119
  491. package/node_modules/axios/lib/helpers/fromDataURI.js +0 -68
  492. package/node_modules/axios/lib/helpers/isAbsoluteURL.js +0 -19
  493. package/node_modules/axios/lib/helpers/isAxiosError.js +0 -14
  494. package/node_modules/axios/lib/helpers/isURLSameOrigin.js +0 -16
  495. package/node_modules/axios/lib/helpers/null.js +0 -2
  496. package/node_modules/axios/lib/helpers/parseHeaders.js +0 -69
  497. package/node_modules/axios/lib/helpers/parseProtocol.js +0 -6
  498. package/node_modules/axios/lib/helpers/progressEventReducer.js +0 -54
  499. package/node_modules/axios/lib/helpers/readBlob.js +0 -15
  500. package/node_modules/axios/lib/helpers/resolveConfig.js +0 -119
  501. package/node_modules/axios/lib/helpers/sanitizeHeaderValue.js +0 -60
  502. package/node_modules/axios/lib/helpers/shouldBypassProxy.js +0 -210
  503. package/node_modules/axios/lib/helpers/speedometer.js +0 -55
  504. package/node_modules/axios/lib/helpers/spread.js +0 -28
  505. package/node_modules/axios/lib/helpers/throttle.js +0 -44
  506. package/node_modules/axios/lib/helpers/toFormData.js +0 -285
  507. package/node_modules/axios/lib/helpers/toURLEncodedForm.js +0 -19
  508. package/node_modules/axios/lib/helpers/trackStream.js +0 -89
  509. package/node_modules/axios/lib/helpers/validator.js +0 -112
  510. package/node_modules/axios/lib/platform/browser/classes/Blob.js +0 -3
  511. package/node_modules/axios/lib/platform/browser/classes/FormData.js +0 -3
  512. package/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js +0 -4
  513. package/node_modules/axios/lib/platform/browser/index.js +0 -13
  514. package/node_modules/axios/lib/platform/common/utils.js +0 -52
  515. package/node_modules/axios/lib/platform/index.js +0 -7
  516. package/node_modules/axios/lib/platform/node/classes/FormData.js +0 -3
  517. package/node_modules/axios/lib/platform/node/classes/URLSearchParams.js +0 -4
  518. package/node_modules/axios/lib/platform/node/index.js +0 -37
  519. package/node_modules/axios/lib/utils.js +0 -1017
  520. package/node_modules/axios/package.json +0 -201
  521. package/node_modules/combined-stream/License +0 -19
  522. package/node_modules/combined-stream/Readme.md +0 -138
  523. package/node_modules/combined-stream/lib/combined_stream.js +0 -208
  524. package/node_modules/combined-stream/package.json +0 -25
  525. package/node_modules/delayed-stream/.npmignore +0 -1
  526. package/node_modules/delayed-stream/License +0 -19
  527. package/node_modules/delayed-stream/Makefile +0 -7
  528. package/node_modules/delayed-stream/Readme.md +0 -141
  529. package/node_modules/delayed-stream/lib/delayed_stream.js +0 -107
  530. package/node_modules/delayed-stream/package.json +0 -27
  531. package/node_modules/es-set-tostringtag/.eslintrc +0 -13
  532. package/node_modules/es-set-tostringtag/.nycrc +0 -9
  533. package/node_modules/es-set-tostringtag/CHANGELOG.md +0 -67
  534. package/node_modules/es-set-tostringtag/README.md +0 -53
  535. package/node_modules/es-set-tostringtag/index.d.ts +0 -10
  536. package/node_modules/es-set-tostringtag/index.js +0 -35
  537. package/node_modules/es-set-tostringtag/package.json +0 -78
  538. package/node_modules/es-set-tostringtag/test/index.js +0 -85
  539. package/node_modules/es-set-tostringtag/tsconfig.json +0 -9
  540. package/node_modules/follow-redirects/LICENSE +0 -18
  541. package/node_modules/follow-redirects/README.md +0 -157
  542. package/node_modules/follow-redirects/debug.js +0 -15
  543. package/node_modules/follow-redirects/http.js +0 -1
  544. package/node_modules/follow-redirects/https.js +0 -1
  545. package/node_modules/follow-redirects/index.js +0 -709
  546. package/node_modules/follow-redirects/package.json +0 -58
  547. package/node_modules/form-data/CHANGELOG.md +0 -669
  548. package/node_modules/form-data/License +0 -19
  549. package/node_modules/form-data/README.md +0 -350
  550. package/node_modules/form-data/index.d.ts +0 -51
  551. package/node_modules/form-data/lib/browser.js +0 -4
  552. package/node_modules/form-data/lib/form_data.js +0 -514
  553. package/node_modules/form-data/lib/populate.js +0 -10
  554. package/node_modules/form-data/node_modules/mime-db/HISTORY.md +0 -507
  555. package/node_modules/form-data/node_modules/mime-db/LICENSE +0 -23
  556. package/node_modules/form-data/node_modules/mime-db/README.md +0 -100
  557. package/node_modules/form-data/node_modules/mime-db/db.json +0 -8519
  558. package/node_modules/form-data/node_modules/mime-db/index.js +0 -12
  559. package/node_modules/form-data/node_modules/mime-db/package.json +0 -60
  560. package/node_modules/form-data/node_modules/mime-types/HISTORY.md +0 -397
  561. package/node_modules/form-data/node_modules/mime-types/LICENSE +0 -23
  562. package/node_modules/form-data/node_modules/mime-types/README.md +0 -113
  563. package/node_modules/form-data/node_modules/mime-types/index.js +0 -188
  564. package/node_modules/form-data/node_modules/mime-types/package.json +0 -44
  565. package/node_modules/form-data/package.json +0 -83
  566. package/node_modules/has-tostringtag/.eslintrc +0 -5
  567. package/node_modules/has-tostringtag/.github/FUNDING.yml +0 -12
  568. package/node_modules/has-tostringtag/.nycrc +0 -13
  569. package/node_modules/has-tostringtag/CHANGELOG.md +0 -42
  570. package/node_modules/has-tostringtag/README.md +0 -46
  571. package/node_modules/has-tostringtag/index.d.ts +0 -3
  572. package/node_modules/has-tostringtag/index.js +0 -8
  573. package/node_modules/has-tostringtag/package.json +0 -108
  574. package/node_modules/has-tostringtag/shams.d.ts +0 -3
  575. package/node_modules/has-tostringtag/shams.js +0 -8
  576. package/node_modules/has-tostringtag/test/index.js +0 -21
  577. package/node_modules/has-tostringtag/test/shams/core-js.js +0 -31
  578. package/node_modules/has-tostringtag/test/shams/get-own-property-symbols.js +0 -30
  579. package/node_modules/has-tostringtag/test/tests.js +0 -15
  580. package/node_modules/has-tostringtag/tsconfig.json +0 -49
  581. package/node_modules/https-proxy-agent/README.md +0 -137
  582. package/node_modules/https-proxy-agent/dist/agent.d.ts +0 -30
  583. package/node_modules/https-proxy-agent/dist/agent.js +0 -177
  584. package/node_modules/https-proxy-agent/dist/agent.js.map +0 -1
  585. package/node_modules/https-proxy-agent/dist/index.d.ts +0 -23
  586. package/node_modules/https-proxy-agent/dist/index.js +0 -14
  587. package/node_modules/https-proxy-agent/dist/index.js.map +0 -1
  588. package/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts +0 -7
  589. package/node_modules/https-proxy-agent/dist/parse-proxy-response.js +0 -66
  590. package/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map +0 -1
  591. package/node_modules/https-proxy-agent/package.json +0 -56
  592. package/node_modules/is-electron/LICENSE +0 -21
  593. package/node_modules/is-electron/README.md +0 -25
  594. package/node_modules/is-electron/index.d.ts +0 -2
  595. package/node_modules/is-electron/index.js +0 -21
  596. package/node_modules/is-electron/package.json +0 -34
  597. package/node_modules/is-stream/index.d.ts +0 -79
  598. package/node_modules/is-stream/index.js +0 -28
  599. package/node_modules/is-stream/license +0 -9
  600. package/node_modules/is-stream/package.json +0 -42
  601. package/node_modules/is-stream/readme.md +0 -60
  602. package/node_modules/proxy-from-env/LICENSE +0 -20
  603. package/node_modules/proxy-from-env/README.md +0 -163
  604. package/node_modules/proxy-from-env/index.cjs +0 -105
  605. package/node_modules/proxy-from-env/index.js +0 -103
  606. package/node_modules/proxy-from-env/package.json +0 -43
  607. package/npm-shrinkwrap.json +0 -1467
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slack/oauth",
3
- "version": "3.0.5",
3
+ "version": "4.0.0",
4
4
  "description": "Official library for interacting with Slack's Oauth endpoints",
5
5
  "author": "Slack Technologies, LLC",
6
6
  "license": "MIT",
@@ -16,8 +16,8 @@
16
16
  "dist/**/*"
17
17
  ],
18
18
  "engines": {
19
- "node": ">=18",
20
- "npm": ">=8.6.0"
19
+ "node": ">=20",
20
+ "npm": ">=9.6.4"
21
21
  },
22
22
  "repository": {
23
23
  "type": "git",
@@ -35,16 +35,15 @@
35
35
  "build:clean": "shx rm -rf ./dist",
36
36
  "docs": "npx typedoc --plugin typedoc-plugin-markdown",
37
37
  "prepack": "npm run build",
38
- "test": "npm run test:unit",
39
- "test:node18": "npm run build && bash -O globstar -c 'node --test --test-reporter=spec --import tsx src/**/*.test.ts'",
40
- "test:unit": "npm run build && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/**/*.test.ts",
38
+ "test": "npm run build && bash -c 'node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/**/*.test.ts'",
39
+ "test:coverage": "npm run build && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/**/*.test.ts",
41
40
  "watch": "npx nodemon --watch 'src' --ext 'ts' --exec npm run build"
42
41
  },
43
42
  "dependencies": {
44
- "@slack/logger": "^4.0.1",
45
- "@slack/web-api": "^7.15.0",
43
+ "@slack/logger": "^5.0.0",
44
+ "@slack/web-api": "^8.0.0",
46
45
  "@types/jsonwebtoken": "^9",
47
- "@types/node": ">=18",
46
+ "@types/node": ">=20",
48
47
  "jsonwebtoken": "^9"
49
48
  },
50
49
  "devDependencies": {
@@ -6,7 +6,7 @@ This package is designed to support [**Socket Mode**][socket-mode], which allows
6
6
 
7
7
  ## Requirements
8
8
 
9
- This package supports Node v18 and higher. It's highly recommended to use [the latest LTS version of
9
+ This package supports Node v20 and higher. It's highly recommended to use [the latest LTS version of
10
10
  node](https://github.com/nodejs/Release#release-schedule), and the documentation is written using syntax and features from that version.
11
11
 
12
12
  ## Installation
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slack/socket-mode",
3
- "version": "2.0.7",
3
+ "version": "3.0.0",
4
4
  "description": "Official library for using the Slack Platform's Socket Mode API",
5
5
  "author": "Slack Technologies, LLC",
6
6
  "license": "MIT",
@@ -24,8 +24,8 @@
24
24
  "dist/**/*"
25
25
  ],
26
26
  "engines": {
27
- "node": ">= 18",
28
- "npm": ">= 8.6.0"
27
+ "node": ">=20",
28
+ "npm": ">=9.6.4"
29
29
  },
30
30
  "repository": {
31
31
  "type": "git",
@@ -44,24 +44,32 @@
44
44
  "docs": "npx typedoc --plugin typedoc-plugin-markdown",
45
45
  "prepack": "npm run build",
46
46
  "test": "npm run test:unit && npm run test:integration",
47
- "test:node18": "npm run build && bash -c 'node --test --test-reporter=spec --import tsx src/*.test.ts' && npm run test:integration",
48
- "test:integration": "npm run build && node --import tsx --test test/integration.test.js",
49
- "test:unit": "npm run build && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/*.test.ts",
47
+ "test:coverage": "npm run build && bash -c 'node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/*.test.ts test/integrations/*.test.js'",
48
+ "test:integration": "npm run build && bash -c 'node --import tsx --test test/integrations/*.test.js'",
49
+ "test:types": "tsd",
50
+ "test:unit": "npm run build && bash -c 'node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/*.test.ts'",
50
51
  "watch": "npx nodemon --watch 'src' --ext 'ts' --exec npm test"
51
52
  },
52
53
  "dependencies": {
53
- "@slack/logger": "^4.0.1",
54
- "@slack/web-api": "^7.15.0",
55
- "@types/node": ">=18",
56
- "@types/ws": "^8",
57
- "eventemitter3": "^5",
58
- "ws": "^8"
54
+ "@slack/logger": "^5.0.0",
55
+ "@slack/web-api": "^8.0.0",
56
+ "@types/node": ">=20",
57
+ "eventemitter3": "^5"
58
+ },
59
+ "peerDependencies": {
60
+ "undici": "^7.0.0"
59
61
  },
60
62
  "devDependencies": {
61
63
  "@types/proxyquire": "^1.3.31",
62
64
  "@types/sinon": "^21",
63
65
  "nodemon": "^3.1.0",
64
66
  "proxyquire": "^2.1.3",
65
- "sinon": "^21"
67
+ "sinon": "^21",
68
+ "tsd": "^0.33.0",
69
+ "undici": "^7.25.0",
70
+ "ws": "^8"
71
+ },
72
+ "tsd": {
73
+ "directory": "test/types"
66
74
  }
67
75
  }
@@ -1,6 +1,6 @@
1
- import type { Agent } from 'node:http';
2
1
  import type { EventEmitter } from 'eventemitter3';
3
2
  import { type Logger, LogLevel } from './logger';
3
+ import type { SocketModeDispatcher } from './SocketModeOptions';
4
4
  export declare const WS_READY_STATES: string[];
5
5
  export interface SlackWebSocketOptions {
6
6
  /** @description The Slack WebSocket URL to connect to. */
@@ -13,8 +13,8 @@ export interface SlackWebSocketOptions {
13
13
  logger?: Logger;
14
14
  /** @description Delay between this client sending a `ping` message, in milliseconds. */
15
15
  pingInterval?: number;
16
- /** @description The HTTP Agent to use when establishing a WebSocket connection. */
17
- httpAgent?: Agent;
16
+ /** @description An undici Dispatcher used to establish the WebSocket connection (e.g. ProxyAgent). */
17
+ dispatcher?: SocketModeDispatcher;
18
18
  /** @description Whether this WebSocket should DEBUG log ping and pong events. `false` by default. */
19
19
  pingPongLoggingEnabled?: boolean;
20
20
  /**
@@ -23,7 +23,7 @@ export interface SlackWebSocketOptions {
23
23
  */
24
24
  serverPingTimeoutMS: number;
25
25
  /**
26
- * @description How many milliseconds to wait between ping events from the server before deeming the connection
26
+ * @description How many milliseconds to wait for a pong response after sending a ping before deeming the connection
27
27
  * stale. Defaults to 5,000.
28
28
  */
29
29
  clientPingTimeoutMS: number;
@@ -54,7 +54,15 @@ export declare class SlackWebSocket {
54
54
  * Reference to the timeout timer we use to listen to pongs from the server
55
55
  */
56
56
  private clientPingTimeout;
57
- constructor({ url, client, httpAgent, logger, logLevel, pingInterval, pingPongLoggingEnabled, serverPingTimeoutMS, clientPingTimeoutMS, }: SlackWebSocketOptions);
57
+ private openHandler;
58
+ private errorHandler;
59
+ private messageHandler;
60
+ private closeHandler;
61
+ private pingHandler;
62
+ private pongHandler;
63
+ private static pingChannel;
64
+ private static pongChannel;
65
+ constructor({ url, client, dispatcher, logger, logLevel, pingInterval, pingPongLoggingEnabled, serverPingTimeoutMS, clientPingTimeoutMS, }: SlackWebSocketOptions);
58
66
  /**
59
67
  * Establishes a connection with the Slack backend
60
68
  */
@@ -66,16 +74,14 @@ export declare class SlackWebSocket {
66
74
  /**
67
75
  * Clean up any underlying intervals, timeouts and the WebSocket.
68
76
  */
69
- private terminate;
77
+ private cleanup;
70
78
  /**
71
79
  * Returns true if the underlying WebSocket connection is active, meaning the underlying
72
- * {@link https://github.com/websockets/ws/blob/master/doc/ws.md#ready-state-constants WebSocket ready state is "OPEN"}.
73
80
  */
74
81
  isActive(): boolean;
75
82
  /**
76
83
  * Retrieve the underlying WebSocket readyState. Returns `undefined` if the WebSocket has not been instantiated,
77
84
  * otherwise will return a number between 0 and 3 inclusive representing the ready states.
78
- * The ready state constants are documented in the {@link https://github.com/websockets/ws/blob/master/doc/ws.md#ready-state-constants `ws` API docs }
79
85
  */
80
86
  get readyState(): number | undefined;
81
87
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SlackWebSocket.d.ts","sourceRoot":"","sources":["../../src/SlackWebSocket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAIlD,OAAY,EAAE,KAAK,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGtD,eAAO,MAAM,eAAe,UAA8C,CAAC;AAE3E,MAAM,WAAW,qBAAqB;IACpC,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAC;IACZ,8FAA8F;IAC9F,MAAM,EAAE,YAAY,CAAC;IACrB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wFAAwF;IACxF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,qGAAqG;IACrG,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,qBAAa,cAAc;IAEzB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAoB;IAE7C,OAAO,CAAC,OAAO,CAAwB;IAEvC,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,SAAS,CAAmB;IAEpC;;OAEG;IACH,OAAO,CAAC,yBAAyB,CAAqB;IAEtD;;;OAGG;IACH,OAAO,CAAC,kBAAkB,CAAU;IAEpC;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAA6B;IAEtD;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAA6B;gBAEnC,EACjB,GAAG,EACH,MAAM,EACN,SAAS,EACT,MAAM,EACN,QAAwB,EACxB,YAAmB,EACnB,sBAA8B,EAC9B,mBAA2B,EAC3B,mBAA0B,GAC3B,EAAE,qBAAqB;IAoBxB;;OAEG;IACI,OAAO,IAAI,IAAI;IA6CtB;;OAEG;IACI,UAAU,IAAI,IAAI;IAwBzB;;OAEG;IACH,OAAO,CAAC,SAAS;IAWjB;;;OAGG;IACI,QAAQ,IAAI,OAAO;IAU1B;;;;OAIG;IACH,IAAW,UAAU,IAAI,MAAM,GAAG,SAAS,CAE1C;IAED;;OAEG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,GAAG,IAAI;IAIrE;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAwC3B"}
1
+ {"version":3,"file":"SlackWebSocket.d.ts","sourceRoot":"","sources":["../../src/SlackWebSocket.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAIlD,OAAY,EAAE,KAAK,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,eAAO,MAAM,eAAe,UAA8C,CAAC;AAoB3E,MAAM,WAAW,qBAAqB;IACpC,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAC;IACZ,8FAA8F;IAC9F,MAAM,EAAE,YAAY,CAAC;IACrB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wFAAwF;IACxF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sGAAsG;IACtG,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,qGAAqG;IACrG,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,qBAAa,cAAc;IAEzB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAoB;IAE7C,OAAO,CAAC,OAAO,CAAwB;IAEvC,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,SAAS,CAAmB;IAEpC;;OAEG;IACH,OAAO,CAAC,yBAAyB,CAAqB;IAEtD;;;OAGG;IACH,OAAO,CAAC,kBAAkB,CAAU;IAEpC;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAA6B;IAEtD;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAA6B;IAEtD,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,YAAY,CAAyC;IAC7D,OAAO,CAAC,cAAc,CAAyC;IAC/D,OAAO,CAAC,YAAY,CAAyC;IAE7D,OAAO,CAAC,WAAW,CAA6C;IAChE,OAAO,CAAC,WAAW,CAA6C;IAEhE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAoC;IAC9D,OAAO,CAAC,MAAM,CAAC,WAAW,CAAoC;gBAE3C,EACjB,GAAG,EACH,MAAM,EACN,UAAU,EACV,MAAM,EACN,QAAwB,EACxB,YAAmB,EACnB,sBAA8B,EAC9B,mBAA2B,EAC3B,mBAA0B,GAC3B,EAAE,qBAAqB;IAoBxB;;OAEG;IACI,OAAO,IAAI,IAAI;IAwEtB;;OAEG;IACI,UAAU,IAAI,IAAI;IAwBzB;;OAEG;IACH,OAAO,CAAC,OAAO;IAuBf;;OAEG;IACI,QAAQ,IAAI,OAAO;IAU1B;;;OAGG;IACH,IAAW,UAAU,IAAI,MAAM,GAAG,SAAS,CAE1C;IAED;;OAEG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,GAAG,IAAI;IASrE;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CA4C3B"}
@@ -34,21 +34,63 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.SlackWebSocket = exports.WS_READY_STATES = void 0;
37
- const ws_1 = require("ws");
37
+ const node_diagnostics_channel_1 = require("node:diagnostics_channel");
38
+ const undici_1 = require("undici");
38
39
  const errors_1 = require("./errors");
39
40
  const logger_1 = __importStar(require("./logger"));
40
- // Maps ws `readyState` to human readable labels https://github.com/websockets/ws/blob/HEAD/doc/ws.md#ready-state-constants
41
41
  exports.WS_READY_STATES = ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'];
42
+ function isPingPongMessage(message) {
43
+ if (typeof message !== 'object' || message === null) {
44
+ return false;
45
+ }
46
+ if (!('websocket' in message && message.websocket instanceof undici_1.WebSocket)) {
47
+ return false;
48
+ }
49
+ if (!('payload' in message && Buffer.isBuffer(message.payload))) {
50
+ return false;
51
+ }
52
+ return true;
53
+ }
42
54
  /**
43
55
  * Encapsulates the Slack-specific details around establishing a WebSocket connection with the Slack backend.
44
56
  * Manages the ping/pong heartbeat of the connection.
45
57
  */
46
58
  class SlackWebSocket {
47
- constructor({ url, client, httpAgent, logger, logLevel = logger_1.LogLevel.INFO, pingInterval = 5000, pingPongLoggingEnabled = false, serverPingTimeoutMS = 30000, clientPingTimeoutMS = 5000, }) {
59
+ // python equiv: Connection
60
+ static loggerName = 'SlackWebSocket';
61
+ options;
62
+ logger;
63
+ websocket;
64
+ /**
65
+ * The last timetamp that this WebSocket received pong from the server
66
+ */
67
+ lastPongReceivedTimestamp;
68
+ /**
69
+ * Sentinel checking if Slack sent us a close frame or not, in order to be able
70
+ * to terminate underlying socket gracefully.
71
+ */
72
+ closeFrameReceived;
73
+ /**
74
+ * Reference to the timeout timer we use to listen to pings from the server
75
+ */
76
+ serverPingTimeout;
77
+ /**
78
+ * Reference to the timeout timer we use to listen to pongs from the server
79
+ */
80
+ clientPingTimeout;
81
+ openHandler = null;
82
+ errorHandler = null;
83
+ messageHandler = null;
84
+ closeHandler = null;
85
+ pingHandler = null;
86
+ pongHandler = null;
87
+ static pingChannel = (0, node_diagnostics_channel_1.channel)('undici:websocket:ping');
88
+ static pongChannel = (0, node_diagnostics_channel_1.channel)('undici:websocket:pong');
89
+ constructor({ url, client, dispatcher, logger, logLevel = logger_1.LogLevel.INFO, pingInterval = 5000, pingPongLoggingEnabled = false, serverPingTimeoutMS = 30000, clientPingTimeoutMS = 5000, }) {
48
90
  this.options = {
49
91
  url,
50
92
  client,
51
- httpAgent,
93
+ dispatcher,
52
94
  logLevel,
53
95
  pingInterval,
54
96
  pingPongLoggingEnabled,
@@ -69,43 +111,69 @@ class SlackWebSocket {
69
111
  */
70
112
  connect() {
71
113
  this.logger.debug('Initiating new WebSocket connection.');
72
- const options = {
73
- perMessageDeflate: false,
74
- agent: this.options.httpAgent,
75
- };
76
- this.websocket = new ws_1.WebSocket(this.options.url, options);
77
- this.websocket.addEventListener('open', (_event) => {
114
+ this.websocket = new undici_1.WebSocket(this.options.url, { dispatcher: this.options.dispatcher });
115
+ this.openHandler = () => {
78
116
  this.logger.debug('WebSocket open event received (connection established)!');
79
117
  this.monitorPingToSlack();
80
- });
81
- this.websocket.addEventListener('error', (event) => {
118
+ };
119
+ this.websocket.addEventListener('open', this.openHandler);
120
+ this.errorHandler = (event) => {
121
+ if (!(event instanceof undici_1.ErrorEvent)) {
122
+ this.logger.warn(`Expected ErrorEvent but received ${event.constructor.name} (type: ${event.type})`);
123
+ return;
124
+ }
82
125
  this.logger.error(`WebSocket error occurred: ${event.message}`);
83
126
  this.disconnect();
84
- this.options.client.emit('error', (0, errors_1.websocketErrorWithOriginal)(event.error));
85
- });
86
- this.websocket.on('message', (msg, isBinary) => {
87
- this.options.client.emit('ws_message', msg, isBinary);
88
- });
89
- this.websocket.on('close', (code, data) => {
90
- this.logger.debug(`WebSocket close frame received (code: ${code}, reason: ${data.toString()})`);
127
+ this.options.client.emit('error', new errors_1.SMWebsocketError(event.error ?? new Error(event.message)));
128
+ };
129
+ this.websocket.addEventListener('error', this.errorHandler);
130
+ this.messageHandler = (event) => {
131
+ if (!(event instanceof undici_1.MessageEvent)) {
132
+ this.logger.warn(`Expected MessageEvent but received ${event.constructor.name} (type: ${event.type})`);
133
+ return;
134
+ }
135
+ const isBinary = typeof event.data !== 'string';
136
+ this.options.client.emit('ws_message', event.data, isBinary);
137
+ };
138
+ this.websocket.addEventListener('message', this.messageHandler);
139
+ this.closeHandler = (event) => {
140
+ if (!(event instanceof undici_1.CloseEvent)) {
141
+ this.logger.warn(`Expected CloseEvent but received ${event.constructor.name} (type: ${event.type})`);
142
+ return;
143
+ }
144
+ this.logger.debug(`WebSocket close frame received (code: ${event.code}, reason: ${event.reason})`);
91
145
  this.closeFrameReceived = true;
92
146
  this.disconnect();
93
- });
94
- // Confirm WebSocket connection is still active
95
- this.websocket.on('ping', (data) => {
96
- // Note that ws' `autoPong` option is true by default, so no need to respond to ping.
97
- // see https://github.com/websockets/ws/blob/2aa0405a5e96754b296fef6bd6ebdfb2f11967fc/doc/ws.md#new-websocketaddress-protocols-options
147
+ };
148
+ this.websocket.addEventListener('close', this.closeHandler);
149
+ // Subscribe to undici diagnostics_channel for WebSocket ping/pong frame events.
150
+ // These channels fire for ALL undici WebSocket instances, so we filter by matching instance.
151
+ this.pingHandler = (message) => {
152
+ if (!isPingPongMessage(message)) {
153
+ this.logger.warn('Received unexpected ping diagnostics message format');
154
+ return;
155
+ }
156
+ if (message.websocket !== this.websocket)
157
+ return;
98
158
  if (this.options.pingPongLoggingEnabled) {
99
- this.logger.debug(`WebSocket received ping from Slack server (data: ${data.toString()})`);
159
+ this.logger.debug(`WebSocket received ping from Slack server (data: ${message.payload?.toString()})`);
100
160
  }
101
161
  this.monitorPingFromSlack();
102
- });
103
- this.websocket.on('pong', (data) => {
162
+ };
163
+ SlackWebSocket.pingChannel.subscribe(this.pingHandler);
164
+ this.pongHandler = (message) => {
165
+ if (!isPingPongMessage(message)) {
166
+ this.logger.warn('Received unexpected pong diagnostics message format');
167
+ return;
168
+ }
169
+ if (message.websocket !== this.websocket)
170
+ return;
104
171
  if (this.options.pingPongLoggingEnabled) {
105
- this.logger.debug(`WebSocket received pong from Slack server (data: ${data.toString()})`);
172
+ this.logger.debug(`WebSocket received pong from Slack server (data: ${message.payload?.toString()})`);
106
173
  }
107
174
  this.lastPongReceivedTimestamp = Date.now();
108
- });
175
+ };
176
+ SlackWebSocket.pongChannel.subscribe(this.pongHandler);
109
177
  }
110
178
  /**
111
179
  * Disconnects the WebSocket connection with Slack, if connected.
@@ -116,13 +184,13 @@ class SlackWebSocket {
116
184
  // If so, we can terminate the underlying socket connection and let the client know.
117
185
  if (this.closeFrameReceived) {
118
186
  this.logger.debug('Terminating WebSocket (close frame received).');
119
- this.terminate();
187
+ this.cleanup();
120
188
  }
121
- else if (this.websocket.readyState === ws_1.WebSocket.CLOSING) {
189
+ else if (this.websocket.readyState === undici_1.WebSocket.CLOSING) {
122
190
  // A close frame was already sent but the peer hasn't responded. Force-terminate rather than
123
191
  // waiting for the ws library's closeTimeout (~30s) while the ping monitor logs repeated warnings.
124
192
  this.logger.debug('Terminating WebSocket (close frame sent but no response, force-terminating).');
125
- this.terminate();
193
+ this.cleanup();
126
194
  }
127
195
  else {
128
196
  // If we haven't received a close frame yet, then we send one to the peer, expecting to receive a close frame
@@ -133,16 +201,33 @@ class SlackWebSocket {
133
201
  }
134
202
  else {
135
203
  this.logger.debug('WebSocket already disconnected, flushing remainder.');
136
- this.terminate();
204
+ this.cleanup();
137
205
  }
138
206
  }
139
207
  /**
140
208
  * Clean up any underlying intervals, timeouts and the WebSocket.
141
209
  */
142
- terminate() {
143
- var _a, _b;
144
- (_a = this.websocket) === null || _a === void 0 ? void 0 : _a.removeAllListeners();
145
- (_b = this.websocket) === null || _b === void 0 ? void 0 : _b.terminate();
210
+ cleanup() {
211
+ if (this.websocket) {
212
+ if (this.openHandler)
213
+ this.websocket.removeEventListener('open', this.openHandler);
214
+ if (this.errorHandler)
215
+ this.websocket.removeEventListener('error', this.errorHandler);
216
+ if (this.messageHandler)
217
+ this.websocket.removeEventListener('message', this.messageHandler);
218
+ if (this.closeHandler)
219
+ this.websocket.removeEventListener('close', this.closeHandler);
220
+ }
221
+ this.openHandler = null;
222
+ this.errorHandler = null;
223
+ this.messageHandler = null;
224
+ this.closeHandler = null;
225
+ if (this.pingHandler)
226
+ SlackWebSocket.pingChannel.unsubscribe(this.pingHandler);
227
+ if (this.pongHandler)
228
+ SlackWebSocket.pongChannel.unsubscribe(this.pongHandler);
229
+ this.pingHandler = null;
230
+ this.pongHandler = null;
146
231
  this.websocket = null;
147
232
  clearTimeout(this.serverPingTimeout);
148
233
  clearInterval(this.clientPingTimeout);
@@ -152,7 +237,6 @@ class SlackWebSocket {
152
237
  }
153
238
  /**
154
239
  * Returns true if the underlying WebSocket connection is active, meaning the underlying
155
- * {@link https://github.com/websockets/ws/blob/master/doc/ws.md#ready-state-constants WebSocket ready state is "OPEN"}.
156
240
  */
157
241
  isActive() {
158
242
  // python equiv: SocketModeClient.is_connected
@@ -161,23 +245,26 @@ class SlackWebSocket {
161
245
  return false;
162
246
  }
163
247
  this.logger.debug(`isActive(): websocket ready state is ${exports.WS_READY_STATES[this.websocket.readyState]}`);
164
- return this.websocket.readyState === 1; // readyState=1 is "OPEN"
248
+ return this.websocket.readyState === undici_1.WebSocket.OPEN;
165
249
  }
166
250
  /**
167
251
  * Retrieve the underlying WebSocket readyState. Returns `undefined` if the WebSocket has not been instantiated,
168
252
  * otherwise will return a number between 0 and 3 inclusive representing the ready states.
169
- * The ready state constants are documented in the {@link https://github.com/websockets/ws/blob/master/doc/ws.md#ready-state-constants `ws` API docs }
170
253
  */
171
254
  get readyState() {
172
- var _a;
173
- return (_a = this.websocket) === null || _a === void 0 ? void 0 : _a.readyState;
255
+ return this.websocket?.readyState;
174
256
  }
175
257
  /**
176
258
  * Sends data via the underlying WebSocket. Accepts an errorback argument.
177
259
  */
178
260
  send(data, cb) {
179
- var _a;
180
- (_a = this.websocket) === null || _a === void 0 ? void 0 : _a.send(data, cb);
261
+ try {
262
+ this.websocket?.send(data);
263
+ cb(undefined);
264
+ }
265
+ catch (err) {
266
+ cb(err);
267
+ }
181
268
  }
182
269
  /**
183
270
  * Confirms WebSocket connection is still active; fires whenever a ping event is received
@@ -199,11 +286,14 @@ class SlackWebSocket {
199
286
  let pingAttemptCount = 0;
200
287
  clearInterval(this.clientPingTimeout);
201
288
  this.clientPingTimeout = setInterval(() => {
202
- var _a;
203
289
  const now = Date.now();
204
290
  try {
205
291
  const pingMessage = `Ping from client (${now})`;
206
- (_a = this.websocket) === null || _a === void 0 ? void 0 : _a.ping(pingMessage);
292
+ if (!this.websocket) {
293
+ this.logger.error('WebSocket not available, skipping ping.');
294
+ return;
295
+ }
296
+ (0, undici_1.ping)(this.websocket, Buffer.from(pingMessage));
207
297
  if (this.lastPongReceivedTimestamp === undefined) {
208
298
  pingAttemptCount += 1;
209
299
  }
@@ -237,6 +327,4 @@ class SlackWebSocket {
237
327
  }
238
328
  }
239
329
  exports.SlackWebSocket = SlackWebSocket;
240
- // python equiv: Connection
241
- SlackWebSocket.loggerName = 'SlackWebSocket';
242
330
  //# sourceMappingURL=SlackWebSocket.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SlackWebSocket.js","sourceRoot":"","sources":["../../src/SlackWebSocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SlackWebSocket.js","sourceRoot":"","sources":["../../src/SlackWebSocket.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { type AppsConnectionsOpenResponse } from '@slack/web-api';
2
2
  import { EventEmitter } from 'eventemitter3';
3
- import type WebSocket from 'ws';
4
3
  import { SlackWebSocket } from './SlackWebSocket';
5
4
  import type { SocketModeOptions } from './SocketModeOptions';
6
5
  /**
@@ -27,13 +26,16 @@ export declare class SocketModeClient extends EventEmitter {
27
26
  */
28
27
  private webClient;
29
28
  /**
30
- * WebClient options we pass to our WebClient instance
31
- * We also reuse agent and tls for our WebSocket connection
29
+ * WebClient options we pass to our WebClient instance.
32
30
  */
33
31
  private webClientOptions;
34
32
  /**
35
- * The underlying WebSocket client instance
33
+ * The undici Dispatcher used for WebSocket connections. Also wrapped into a custom fetch for HTTP calls
34
+ * unless `clientOptions.fetch` was provided by the user.
36
35
  */
36
+ private dispatcher?;
37
+ /** The most recent response from `apps.connections.open`, used to establish the WebSocket URL. */
38
+ private connectionResponse?;
37
39
  websocket?: SlackWebSocket;
38
40
  /**
39
41
  * Enables ping-pong detailed logging if true
@@ -57,7 +59,11 @@ export declare class SocketModeClient extends EventEmitter {
57
59
  * even if `autoReconnectEnabled` is `true`.
58
60
  */
59
61
  private shuttingDown;
60
- constructor({ logger, logLevel, autoReconnectEnabled, pingPongLoggingEnabled, clientPingTimeout, serverPingTimeout, appToken, clientOptions, }?: SocketModeOptions);
62
+ /**
63
+ * Timer handle for scheduling automatic reconnection attempts after a disconnect.
64
+ */
65
+ private reconnectionTimer;
66
+ constructor({ logger, logLevel, autoReconnectEnabled, pingPongLoggingEnabled, clientPingTimeout, serverPingTimeout, appToken, clientOptions, dispatcher, }?: SocketModeOptions);
61
67
  /**
62
68
  * Start a Socket Mode session app.
63
69
  * This method must be called before any messages can be sent or received,
@@ -85,7 +91,7 @@ export declare class SocketModeClient extends EventEmitter {
85
91
  * - raising the State.Connected event (when Slack sends a type:hello message)
86
92
  * - disconnecting the underlying socket (when Slack sends a type:disconnect message)
87
93
  */
88
- protected onWebSocketMessage(data: WebSocket.RawData, isBinary: boolean): Promise<void>;
94
+ protected onWebSocketMessage(data: string | ArrayBuffer, isBinary: boolean): Promise<void>;
89
95
  /**
90
96
  * Method for sending an outgoing message of an arbitrary type over the WebSocket connection.
91
97
  * Primarily used to send acknowledgements back to slack for incoming events
@@ -1 +1 @@
1
- {"version":3,"file":"SocketModeClient.d.ts","sourceRoot":"","sources":["../../src/SocketModeClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,2BAA2B,EAKjC,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,IAAI,CAAC;AAKhC,OAAO,EAAE,cAAc,EAAmB,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAa7D;;;;;GAKG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAAU;IAEtC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAS;IAEvB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU,CAAsB;IAE/C;;OAEG;IACH,OAAO,CAAC,SAAS,CAAY;IAE7B;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAAmB;IAE3C;;OAEG;IACI,SAAS,CAAC,EAAE,cAAc,CAAC;IAElC;;OAEG;IACH,OAAO,CAAC,sBAAsB,CAAU;IAExC;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAAS;IAEpC;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAAS;IAEpC;;OAEG;IACH,OAAO,CAAC,oCAAoC,CAAK;IAEjD,OAAO,CAAC,oBAAoB,CAAS;IAErC;;;OAGG;IACH,OAAO,CAAC,YAAY,CAAS;gBAG3B,EACE,MAAkB,EAClB,QAAoB,EACpB,oBAA2B,EAC3B,sBAA8B,EAC9B,iBAAwB,EACxB,iBAAyB,EACzB,QAAa,EACb,aAAkB,GACnB,GAAE,iBAAoC;IAmDzC;;;;OAIG;IACU,KAAK,IAAI,OAAO,CAAC,2BAA2B,CAAC;IAuC1D;;;OAGG;IACI,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBlC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;OAEG;YACW,cAAc;IAmC5B;;;;;;OAMG;cACa,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAwF7F;;;;;OAKG;IACH,OAAO,CAAC,IAAI;CA8Bb;AAKD,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"SocketModeClient.d.ts","sourceRoot":"","sources":["../../src/SocketModeClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,2BAA2B,EAOjC,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAM7C,OAAO,EAAE,cAAc,EAAmB,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAwB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAanF;;;;;GAKG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAAU;IAEtC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAS;IAEvB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU,CAAsB;IAE/C;;OAEG;IACH,OAAO,CAAC,SAAS,CAAY;IAE7B;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAAmB;IAE3C;;;OAGG;IACH,OAAO,CAAC,UAAU,CAAC,CAAuB;IAE1C,kGAAkG;IAClG,OAAO,CAAC,kBAAkB,CAAC,CAA8B;IAElD,SAAS,CAAC,EAAE,cAAc,CAAC;IAElC;;OAEG;IACH,OAAO,CAAC,sBAAsB,CAAU;IAExC;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAAS;IAEpC;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAAS;IAEpC;;OAEG;IACH,OAAO,CAAC,oCAAoC,CAAK;IAEjD,OAAO,CAAC,oBAAoB,CAAS;IAErC;;;OAGG;IACH,OAAO,CAAC,YAAY,CAAS;IAE7B;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAA4C;gBAGnE,EACE,MAAkB,EAClB,QAAoB,EACpB,oBAA2B,EAC3B,sBAA8B,EAC9B,iBAAwB,EACxB,iBAAyB,EACzB,QAAa,EACb,aAAkB,EAClB,UAAsB,GACvB,GAAE,iBAAoC;IAuDzC;;;;OAIG;IACU,KAAK,IAAI,OAAO,CAAC,2BAA2B,CAAC;IAuC1D;;;OAGG;IACI,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBlC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAkB7B;;OAEG;YACW,cAAc;IAmC5B;;;;;;OAMG;cACa,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAwFhG;;;;;OAKG;IACH,OAAO,CAAC,IAAI;CA8Bb;AAKD,eAAe,gBAAgB,CAAC"}