@openclaw/slack 2026.8.1-beta.3 → 2026.8.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 (237) hide show
  1. package/dist/account-configured-sUohAxZr.js +33 -0
  2. package/dist/account-inspect-CN2hBsim.js +87 -0
  3. package/dist/account-inspect-api.js +1 -1
  4. package/dist/{accounts-BlzxuYle.js → accounts-Dm_H77gH.js} +7 -10
  5. package/dist/{accounts.runtime-CbabBL8x.js → accounts.runtime-DRuEK6mL.js} +1 -1
  6. package/dist/{action-runtime-D6jg2CQd.js → action-runtime-044ldvNL.js} +53 -48
  7. package/dist/action-runtime.runtime-BL3KzX13.js +2 -0
  8. package/dist/{actions-DFk0ANVB.js → actions-BI7JkfVm.js} +266 -96
  9. package/dist/api.js +12 -12
  10. package/dist/{approval-handler.runtime-BNvAoKdK.js → approval-handler.runtime-DYv0UIZS.js} +53 -176
  11. package/dist/{channel-CA5w7qDF.js → channel-1vIJOzPx.js} +77 -142
  12. package/dist/channel-config-api.js +1 -1
  13. package/dist/channel-plugin-api.js +1 -1
  14. package/dist/{channel-type-CZWv55Wu.js → channel-type-DlFSKeIZ.js} +3 -3
  15. package/dist/{channel.setup-CpyYsEXH.js → channel.setup-ofDi3_Pu.js} +34 -49
  16. package/dist/{config-schema-CN3XZRX5.js → config-schema-BVIMyiDN.js} +19 -12
  17. package/dist/configured-state.js +34 -0
  18. package/dist/{directory-config-BGYyuzWh.js → directory-config-DqfQ42OV.js} +1 -1
  19. package/dist/directory-contract-api.js +1 -1
  20. package/dist/{directory-live-DjUJQLbq.js → directory-live-BPaNHjmP.js} +2 -2
  21. package/dist/{group-policy-DyfB_ZIE.js → group-policy-BdwszjYn.js} +581 -743
  22. package/dist/{message-tool-api-CqMr5Rmc.js → message-tool-api-CJ0kjcg5.js} +23 -5
  23. package/dist/message-tool-api.js +1 -1
  24. package/dist/{monitor-Chrecrb9.js → monitor-Dq5Cmrvp.js} +3 -3
  25. package/dist/{outbound-adapter-DuRqAQXK.js → outbound-adapter-DYaI8ThX.js} +93 -68
  26. package/dist/{pipeline.runtime-Bbfd5VFW.js → pipeline.runtime-Bd22U0ga.js} +128 -160
  27. package/dist/{policy-BKXSxrIS.js → policy-CtQVbde1.js} +2 -1
  28. package/dist/{probe-BVA65leh.js → probe-0usmAb0i.js} +209 -22
  29. package/dist/{provider-CUUiwsg2.js → provider-CN_8hFv2.js} +243 -146
  30. package/dist/{relay-source-mhpMMRG-.js → relay-source-BNGpsdwV.js} +1 -1
  31. package/dist/{replies-SnWyXcsL.js → replies-BSiRQOJ1.js} +15 -5
  32. package/dist/{resolve-channels-BSpqC8jU.js → resolve-channels-Czheznc8.js} +1 -1
  33. package/dist/{resolve-users-Dvz9pDe0.js → resolve-users-BAOlNimr.js} +1 -1
  34. package/dist/runtime-api.js +11 -11
  35. package/dist/{scopes-BSk4GZvZ.js → scopes-COSlmhnH.js} +1 -1
  36. package/dist/{send-CtnOxKCc.js → send-DS9ICrBI.js} +39 -31
  37. package/dist/send-results-eeOu_HYm.js +23 -0
  38. package/dist/{send.runtime-kYctMHSd.js → send.runtime-D_Bb6IuH.js} +1 -1
  39. package/dist/setup-plugin-api.js +1 -1
  40. package/dist/{setup-surface-BPFfp6So.js → setup-surface-BGnd2pSe.js} +6 -6
  41. package/dist/{shared-DJBaslN7.js → shared-D5B-5hBg.js} +26 -6
  42. package/dist/{slash-dispatch.runtime-Cf2FTrnf.js → slash-dispatch.runtime-CilDmI0c.js} +3 -3
  43. package/node_modules/@slack/bolt/node_modules/@types/node/README.md +1 -1
  44. package/node_modules/@slack/bolt/node_modules/@types/node/child_process.d.ts +0 -1
  45. package/node_modules/@slack/bolt/node_modules/@types/node/crypto.d.ts +6 -6
  46. package/node_modules/@slack/bolt/node_modules/@types/node/dns/promises.d.ts +5 -5
  47. package/node_modules/@slack/bolt/node_modules/@types/node/dns.d.ts +5 -5
  48. package/node_modules/@slack/bolt/node_modules/@types/node/fs.d.ts +7 -0
  49. package/node_modules/@slack/bolt/node_modules/@types/node/http.d.ts +30 -0
  50. package/node_modules/@slack/bolt/node_modules/@types/node/http2.d.ts +4 -4
  51. package/node_modules/@slack/bolt/node_modules/@types/node/os.d.ts +30 -30
  52. package/node_modules/@slack/bolt/node_modules/@types/node/package.json +2 -2
  53. package/node_modules/@slack/bolt/node_modules/@types/node/perf_hooks.d.ts +2 -1
  54. package/node_modules/@slack/bolt/node_modules/@types/node/process.d.ts +42 -43
  55. package/node_modules/@slack/bolt/node_modules/@types/node/quic.d.ts +1049 -84
  56. package/node_modules/@slack/bolt/node_modules/@types/node/sqlite.d.ts +14 -1
  57. package/node_modules/@slack/bolt/node_modules/@types/node/stream/iter.d.ts +3 -2
  58. package/node_modules/@slack/bolt/node_modules/@types/node/test.d.ts +61 -0
  59. package/node_modules/@slack/bolt/node_modules/@types/node/v8.d.ts +20 -23
  60. package/node_modules/@slack/bolt/node_modules/body-parser/node_modules/content-type/README.md +2 -0
  61. package/node_modules/@slack/bolt/node_modules/body-parser/node_modules/content-type/dist/index.d.ts +20 -0
  62. package/node_modules/@slack/bolt/node_modules/body-parser/node_modules/content-type/dist/index.js +20 -14
  63. package/node_modules/@slack/bolt/node_modules/body-parser/node_modules/content-type/dist/index.js.map +1 -1
  64. package/node_modules/@slack/bolt/node_modules/body-parser/node_modules/content-type/package.json +1 -1
  65. package/node_modules/@slack/bolt/node_modules/type-is/node_modules/content-type/README.md +2 -0
  66. package/node_modules/@slack/bolt/node_modules/type-is/node_modules/content-type/dist/index.d.ts +20 -0
  67. package/node_modules/@slack/bolt/node_modules/type-is/node_modules/content-type/dist/index.js +20 -14
  68. package/node_modules/@slack/bolt/node_modules/type-is/node_modules/content-type/dist/index.js.map +1 -1
  69. package/node_modules/@slack/bolt/node_modules/type-is/node_modules/content-type/package.json +1 -1
  70. package/node_modules/@slack/socket-mode/node_modules/@types/node/README.md +1 -1
  71. package/node_modules/@slack/socket-mode/node_modules/@types/node/child_process.d.ts +0 -1
  72. package/node_modules/@slack/socket-mode/node_modules/@types/node/crypto.d.ts +6 -6
  73. package/node_modules/@slack/socket-mode/node_modules/@types/node/dns/promises.d.ts +5 -5
  74. package/node_modules/@slack/socket-mode/node_modules/@types/node/dns.d.ts +5 -5
  75. package/node_modules/@slack/socket-mode/node_modules/@types/node/fs.d.ts +7 -0
  76. package/node_modules/@slack/socket-mode/node_modules/@types/node/http.d.ts +30 -0
  77. package/node_modules/@slack/socket-mode/node_modules/@types/node/http2.d.ts +4 -4
  78. package/node_modules/@slack/socket-mode/node_modules/@types/node/os.d.ts +30 -30
  79. package/node_modules/@slack/socket-mode/node_modules/@types/node/package.json +2 -2
  80. package/node_modules/@slack/socket-mode/node_modules/@types/node/perf_hooks.d.ts +2 -1
  81. package/node_modules/@slack/socket-mode/node_modules/@types/node/process.d.ts +42 -43
  82. package/node_modules/@slack/socket-mode/node_modules/@types/node/quic.d.ts +1049 -84
  83. package/node_modules/@slack/socket-mode/node_modules/@types/node/sqlite.d.ts +14 -1
  84. package/node_modules/@slack/socket-mode/node_modules/@types/node/stream/iter.d.ts +3 -2
  85. package/node_modules/@slack/socket-mode/node_modules/@types/node/test.d.ts +61 -0
  86. package/node_modules/@slack/socket-mode/node_modules/@types/node/v8.d.ts +20 -23
  87. package/node_modules/@slack/web-api/node_modules/@types/node/README.md +1 -1
  88. package/node_modules/@slack/web-api/node_modules/@types/node/child_process.d.ts +0 -1
  89. package/node_modules/@slack/web-api/node_modules/@types/node/crypto.d.ts +6 -6
  90. package/node_modules/@slack/web-api/node_modules/@types/node/dns/promises.d.ts +5 -5
  91. package/node_modules/@slack/web-api/node_modules/@types/node/dns.d.ts +5 -5
  92. package/node_modules/@slack/web-api/node_modules/@types/node/fs.d.ts +7 -0
  93. package/node_modules/@slack/web-api/node_modules/@types/node/http.d.ts +30 -0
  94. package/node_modules/@slack/web-api/node_modules/@types/node/http2.d.ts +4 -4
  95. package/node_modules/@slack/web-api/node_modules/@types/node/os.d.ts +30 -30
  96. package/node_modules/@slack/web-api/node_modules/@types/node/package.json +2 -2
  97. package/node_modules/@slack/web-api/node_modules/@types/node/perf_hooks.d.ts +2 -1
  98. package/node_modules/@slack/web-api/node_modules/@types/node/process.d.ts +42 -43
  99. package/node_modules/@slack/web-api/node_modules/@types/node/quic.d.ts +1049 -84
  100. package/node_modules/@slack/web-api/node_modules/@types/node/sqlite.d.ts +14 -1
  101. package/node_modules/@slack/web-api/node_modules/@types/node/stream/iter.d.ts +3 -2
  102. package/node_modules/@slack/web-api/node_modules/@types/node/test.d.ts +61 -0
  103. package/node_modules/@slack/web-api/node_modules/@types/node/v8.d.ts +20 -23
  104. package/node_modules/typebox/build/format/date.d.mts +1 -1
  105. package/node_modules/typebox/build/format/date.mjs +1 -1
  106. package/node_modules/typebox/build/format/date_time.d.mts +2 -2
  107. package/node_modules/typebox/build/format/date_time.mjs +3 -3
  108. package/node_modules/typebox/build/format/email.d.mts +1 -1
  109. package/node_modules/typebox/build/format/email.mjs +2 -2
  110. package/node_modules/typebox/build/format/hostname.mjs +2 -10
  111. package/node_modules/typebox/build/format/idn_email.d.mts +1 -1
  112. package/node_modules/typebox/build/format/idn_email.mjs +3 -3
  113. package/node_modules/typebox/build/format/idn_hostname.d.mts +1 -0
  114. package/node_modules/typebox/build/format/idn_hostname.mjs +3 -11
  115. package/node_modules/typebox/build/format/idna/format/bidi.d.mts +3 -0
  116. package/node_modules/typebox/build/format/idna/format/bidi.mjs +98 -0
  117. package/node_modules/typebox/build/format/idna/format/puny.d.mts +3 -0
  118. package/node_modules/typebox/build/format/idna/format/puny.mjs +144 -0
  119. package/node_modules/typebox/build/format/idna/hostname.d.mts +1 -0
  120. package/node_modules/typebox/build/format/idna/hostname.mjs +16 -0
  121. package/node_modules/typebox/build/format/idna/idn-hostname.d.mts +1 -0
  122. package/node_modules/typebox/build/format/idna/idn-hostname.mjs +23 -0
  123. package/node_modules/typebox/build/format/idna/index.d.mts +2 -0
  124. package/node_modules/typebox/build/format/idna/index.mjs +2 -0
  125. package/node_modules/typebox/build/format/idna/label/ascii.d.mts +1 -0
  126. package/node_modules/typebox/build/format/idna/label/ascii.mjs +9 -0
  127. package/node_modules/typebox/build/format/idna/label/puny.d.mts +1 -0
  128. package/node_modules/typebox/build/format/idna/label/puny.mjs +28 -0
  129. package/node_modules/typebox/build/format/idna/label/unicode.d.mts +1 -0
  130. package/node_modules/typebox/build/format/idna/label/unicode.mjs +106 -0
  131. package/node_modules/typebox/build/format/idna/pattern/pattern.d.mts +30 -0
  132. package/node_modules/typebox/build/format/idna/pattern/pattern.mjs +70 -0
  133. package/node_modules/typebox/build/format/ipv4.d.mts +0 -1
  134. package/node_modules/typebox/build/format/ipv4.mjs +2 -32
  135. package/node_modules/typebox/build/format/ipv6.mjs +2 -61
  136. package/node_modules/typebox/build/format/iri.d.mts +2 -2
  137. package/node_modules/typebox/build/format/iri.mjs +26 -8
  138. package/node_modules/typebox/build/format/iri_reference.d.mts +2 -2
  139. package/node_modules/typebox/build/format/iri_reference.mjs +9 -55
  140. package/node_modules/typebox/build/format/regex.d.mts +1 -2
  141. package/node_modules/typebox/build/format/regex.mjs +2 -6
  142. package/node_modules/typebox/build/format/time.d.mts +2 -2
  143. package/node_modules/typebox/build/format/time.mjs +19 -14
  144. package/node_modules/typebox/build/format/uri.d.mts +1 -1
  145. package/node_modules/typebox/build/format/uri.mjs +3 -130
  146. package/node_modules/typebox/build/format/uri_reference.d.mts +1 -1
  147. package/node_modules/typebox/build/format/uri_reference.mjs +2 -3
  148. package/node_modules/typebox/build/format/uri_template.d.mts +2 -3
  149. package/node_modules/typebox/build/format/uri_template.mjs +4 -5
  150. package/node_modules/typebox/build/format/url.d.mts +3 -3
  151. package/node_modules/typebox/build/format/url.mjs +4 -5
  152. package/node_modules/typebox/build/guard/emit.d.mts +3 -1
  153. package/node_modules/typebox/build/guard/emit.mjs +12 -5
  154. package/node_modules/typebox/build/guard/guard.d.mts +8 -2
  155. package/node_modules/typebox/build/guard/guard.mjs +25 -4
  156. package/node_modules/typebox/build/guard/string.d.mts +2 -2
  157. package/node_modules/typebox/build/guard/string.mjs +7 -7
  158. package/node_modules/typebox/build/schema/engine/_context.mjs +3 -3
  159. package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -2
  160. package/node_modules/typebox/build/schema/engine/_regexp.d.mts +2 -0
  161. package/node_modules/typebox/build/schema/engine/_regexp.mjs +4 -0
  162. package/node_modules/typebox/build/schema/engine/_stack.mjs +12 -13
  163. package/node_modules/typebox/build/schema/engine/additionalItems.mjs +17 -7
  164. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +4 -3
  165. package/node_modules/typebox/build/schema/engine/contains.mjs +18 -6
  166. package/node_modules/typebox/build/schema/engine/enum.mjs +1 -1
  167. package/node_modules/typebox/build/schema/engine/items.mjs +26 -6
  168. package/node_modules/typebox/build/schema/engine/maxContains.mjs +3 -3
  169. package/node_modules/typebox/build/schema/engine/minContains.mjs +14 -4
  170. package/node_modules/typebox/build/schema/engine/not.mjs +4 -2
  171. package/node_modules/typebox/build/schema/engine/oneOf.mjs +7 -6
  172. package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -2
  173. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +4 -3
  174. package/node_modules/typebox/build/schema/engine/ref.mjs +1 -7
  175. package/node_modules/typebox/build/schema/engine/schema.mjs +13 -4
  176. package/node_modules/typebox/build/schema/engine/type.mjs +1 -1
  177. package/node_modules/typebox/build/schema/resolve/resolve.d.mts +4 -1
  178. package/node_modules/typebox/build/schema/resolve/resolve.mjs +202 -1
  179. package/node_modules/typebox/build/schema/static/propertyNames.d.mts +5 -0
  180. package/node_modules/typebox/build/schema/static/propertyNames.mjs +3 -0
  181. package/node_modules/typebox/build/schema/static/schema.d.mts +3 -0
  182. package/node_modules/typebox/build/schema/types/index.d.mts +0 -2
  183. package/node_modules/typebox/build/schema/types/index.mjs +0 -2
  184. package/node_modules/typebox/build/system/memory/clone.mjs +14 -11
  185. package/node_modules/typebox/build/system/memory/discard.mjs +6 -5
  186. package/node_modules/typebox/build/system/settings/settings.d.mts +9 -0
  187. package/node_modules/typebox/build/system/settings/settings.mjs +2 -0
  188. package/node_modules/typebox/build/type/engine/call/distribute_arguments.d.mts +6 -1
  189. package/node_modules/typebox/build/type/engine/call/distribute_arguments.mjs +16 -3
  190. package/node_modules/typebox/build/type/engine/call/instantiate.mjs +34 -4
  191. package/node_modules/typebox/build/type/engine/evaluate/broaden.d.mts +5 -5
  192. package/node_modules/typebox/build/type/engine/evaluate/broaden.mjs +20 -26
  193. package/node_modules/typebox/build/type/engine/evaluate/compare.d.mts +6 -10
  194. package/node_modules/typebox/build/type/engine/evaluate/compare.mjs +9 -13
  195. package/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +7 -4
  196. package/node_modules/typebox/build/type/engine/evaluate/composite.mjs +12 -19
  197. package/node_modules/typebox/build/type/engine/evaluate/distribute.d.mts +4 -20
  198. package/node_modules/typebox/build/type/engine/evaluate/distribute.mjs +8 -20
  199. package/node_modules/typebox/build/type/engine/evaluate/evaluate.d.mts +4 -4
  200. package/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs +11 -8
  201. package/node_modules/typebox/build/type/engine/evaluate/flatten.d.mts +1 -1
  202. package/node_modules/typebox/build/type/engine/evaluate/flatten.mjs +3 -4
  203. package/node_modules/typebox/build/type/engine/evaluate/narrow.d.mts +17 -2
  204. package/node_modules/typebox/build/type/engine/evaluate/narrow.mjs +26 -6
  205. package/node_modules/typebox/build/type/engine/exclude/operation.mjs +3 -4
  206. package/node_modules/typebox/build/type/engine/extract/operation.d.mts +1 -1
  207. package/node_modules/typebox/build/type/engine/extract/operation.mjs +3 -4
  208. package/node_modules/typebox/build/type/engine/priority/priority.d.mts +2 -2
  209. package/node_modules/typebox/build/type/engine/priority/priority.mjs +3 -4
  210. package/node_modules/typebox/build/type/script/mapping.d.mts +32 -29
  211. package/node_modules/typebox/build/type/script/mapping.mjs +18 -25
  212. package/node_modules/typebox/build/type/script/parser.d.mts +19 -25
  213. package/node_modules/typebox/build/type/script/parser.mjs +27 -23
  214. package/node_modules/typebox/build/value/errors/errors.d.mts +2 -2
  215. package/node_modules/typebox/build/value/errors/errors.mjs +1 -1
  216. package/node_modules/typebox/package.json +27 -27
  217. package/node_modules/typebox/readme.md +79 -82
  218. package/node_modules/ws/lib/permessage-deflate.js +3 -1
  219. package/node_modules/ws/package.json +1 -1
  220. package/openclaw.plugin.json +14 -6
  221. package/package.json +9 -7
  222. package/dist/account-configured-BwfXBo_F.js +0 -14
  223. package/dist/account-inspect-YJvFBbCR.js +0 -89
  224. package/dist/action-runtime.runtime-JtoOK9l5.js +0 -2
  225. package/dist/actions.runtime-CYLsYRai.js +0 -2
  226. package/dist/runtime-api-DBi7xc_g.js +0 -10
  227. package/dist/slack-client-kind-BXyOOICI.js +0 -94
  228. package/node_modules/typebox/build/format/_idna.d.mts +0 -2
  229. package/node_modules/typebox/build/format/_idna.mjs +0 -246
  230. package/node_modules/typebox/build/format/_puny.d.mts +0 -1
  231. package/node_modules/typebox/build/format/_puny.mjs +0 -77
  232. package/node_modules/typebox/build/schema/resolve/ref.d.mts +0 -3
  233. package/node_modules/typebox/build/schema/resolve/ref.mjs +0 -146
  234. package/node_modules/typebox/build/schema/types/contentEncoding.d.mts +0 -9
  235. package/node_modules/typebox/build/schema/types/contentEncoding.mjs +0 -13
  236. package/node_modules/typebox/build/schema/types/contentMediaType.d.mts +0 -9
  237. package/node_modules/typebox/build/schema/types/contentMediaType.mjs +0 -13
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
2
  import { a as parseSlackTarget, n as formatSlackTarget } from "./target-parsing-BnMD2ZqZ.js";
3
- import { i as createSlackLookupClient } from "./probe-BVA65leh.js";
3
+ import { h as createSlackLookupClient } from "./probe-0usmAb0i.js";
4
4
  import { t as collectSlackCursorPages } from "./cursor-pages-eX7p8Wwt.js";
5
5
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { resolveDirectoryAllowlistEntries } from "openclaw/plugin-sdk/directory-runtime";
@@ -1,14 +1,14 @@
1
1
  import { t as registerSlackPluginHttpRoutes } from "./plugin-routes-CLp4obpN.js";
2
- import { a as resolveSlackAccount, d as resolveSlackAppToken, f as resolveSlackBotToken, i as resolveDefaultSlackAccountId, n as listSlackAccountIds, t as listEnabledSlackAccounts } from "./accounts-BlzxuYle.js";
3
- import { i as resolveSlackGroupToolPolicy, r as resolveSlackGroupRequireMention } from "./group-policy-DyfB_ZIE.js";
4
- import { t as probeSlack } from "./probe-BVA65leh.js";
2
+ import { a as resolveSlackAccount, d as resolveSlackAppToken, f as resolveSlackBotToken, i as resolveDefaultSlackAccountId, n as listSlackAccountIds, t as listEnabledSlackAccounts } from "./accounts-Dm_H77gH.js";
3
+ import { i as resolveSlackGroupToolPolicy, r as resolveSlackGroupRequireMention } from "./group-policy-BdwszjYn.js";
4
+ import { t as probeSlack } from "./probe-0usmAb0i.js";
5
5
  import { r as setSlackRuntime } from "./runtime-JSVZSWAj.js";
6
- import { a as getSlackMemberInfo, c as listSlackReactions, d as readSlackMessages, f as removeOwnSlackReactions, g as unpinSlackMessage, h as sendSlackMessage, l as pinSlackMessage, o as listSlackEmojis, p as removeSlackReaction, r as editSlackMessage, s as listSlackPins, t as deleteSlackMessage, u as reactSlackMessage } from "./actions-DFk0ANVB.js";
7
- import { r as sendMessageSlack } from "./send-CtnOxKCc.js";
8
- import { t as resolveSlackChannelAllowlist } from "./resolve-channels-BSpqC8jU.js";
9
- import { t as resolveSlackUserAllowlist } from "./resolve-users-Dvz9pDe0.js";
10
- import { t as monitorSlackProvider } from "./provider-CUUiwsg2.js";
11
- import { n as slackActionRuntime, t as handleSlackAction } from "./action-runtime-D6jg2CQd.js";
12
- import { n as listSlackDirectoryGroupsLive, r as listSlackDirectoryPeersLive } from "./directory-live-DjUJQLbq.js";
13
- import "./monitor-Chrecrb9.js";
6
+ import { c as listSlackPins, d as reactSlackMessage, f as readSlackMessages, g as unpinSlackMessage, h as sendSlackMessage, i as editSlackMessage, l as listSlackReactions, m as removeSlackReaction, n as deleteSlackMessage, o as getSlackMemberInfo, p as removeOwnSlackReactions, s as listSlackEmojis, u as pinSlackMessage } from "./actions-BI7JkfVm.js";
7
+ import { r as sendMessageSlack } from "./send-DS9ICrBI.js";
8
+ import { t as resolveSlackChannelAllowlist } from "./resolve-channels-Czheznc8.js";
9
+ import { t as resolveSlackUserAllowlist } from "./resolve-users-BAOlNimr.js";
10
+ import { t as monitorSlackProvider } from "./provider-CN_8hFv2.js";
11
+ import { n as slackActionRuntime, t as handleSlackAction } from "./action-runtime-044ldvNL.js";
12
+ import { n as listSlackDirectoryGroupsLive, r as listSlackDirectoryPeersLive } from "./directory-live-BPaNHjmP.js";
13
+ import "./monitor-Dq5Cmrvp.js";
14
14
  export { deleteSlackMessage, editSlackMessage, getSlackMemberInfo, handleSlackAction, listEnabledSlackAccounts, listSlackAccountIds, listSlackDirectoryGroupsLive, listSlackDirectoryPeersLive, listSlackEmojis, listSlackPins, listSlackReactions, monitorSlackProvider, pinSlackMessage, probeSlack, reactSlackMessage, readSlackMessages, registerSlackPluginHttpRoutes, removeOwnSlackReactions, removeSlackReaction, resolveDefaultSlackAccountId, resolveSlackAccount, resolveSlackAppToken, resolveSlackBotToken, resolveSlackChannelAllowlist, resolveSlackGroupRequireMention, resolveSlackGroupToolPolicy, resolveSlackUserAllowlist, sendMessageSlack, sendSlackMessage, setSlackRuntime, slackActionRuntime, unpinSlackMessage };
@@ -1,4 +1,4 @@
1
- import { a as createSlackReadClient, r as formatSlackError } from "./probe-BVA65leh.js";
1
+ import { g as createSlackReadClient, o as formatSlackError } from "./probe-0usmAb0i.js";
2
2
  import { isRecord, normalizeOptionalString, normalizeStringEntries, sortUniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
3
3
  //#region extensions/slack/src/scopes.ts
4
4
  function collectScopes(value, into) {
@@ -1,27 +1,27 @@
1
- import { a as resolveSlackAccount, l as resolveSlackOperationToken } from "./accounts-BlzxuYle.js";
1
+ import { a as resolveSlackAccount, l as resolveSlackOperationToken } from "./accounts-Dm_H77gH.js";
2
2
  import { a as parseSlackTarget, t as canonicalizeSlackApiTargetId } from "./target-parsing-BnMD2ZqZ.js";
3
- import { B as SLACK_EDIT_TEXT_MAX_BYTES, D as createSlackNativeDataBaseTextConsumer, E as buildSlackNativeDataAccessibilityText, H as SLACK_MESSAGE_TEXT_RECOMMENDED_LIMIT, J as truncateSlackText, L as buildSlackCompleteBlocksFallbackText, M as stripSlackNativeDataBlocks, N as chunkSlackMrkdwnText, O as hasSlackNativeDataBlock, P as markdownToSlackMrkdwnChunks, R as renderSlackBlockFallbackText, T as appendSlackNativeDataPlainTextFallback, U as SLACK_TEXT_LIMIT, V as SLACK_MESSAGE_TEXT_HARD_LIMIT, X as SLACK_QUESTION_FINALIZATION_BLOCKS, Y as truncateSlackTextByUtf8Bytes, g as assertSlackDetachedTargetAllowed, it as resolveSlackQuestionActionIds, k as isSlackInvalidBlocksError, mt as validateSlackBlocksArray } from "./group-policy-DyfB_ZIE.js";
3
+ import { A as SLACK_MESSAGE_TEXT_HARD_LIMIT, D as renderSlackBlockFallbackText, E as buildSlackCompleteBlocksFallbackText, L as truncateSlackText, M as SLACK_TEXT_LIMIT, R as truncateSlackTextByUtf8Bytes, X as chunkSlackMrkdwnText, Z as markdownToSlackMrkdwnChunks, _ as appendSlackNativeDataPlainTextFallback, b as hasSlackNativeDataBlock, c as assertSlackDetachedTargetAllowed, j as SLACK_MESSAGE_TEXT_RECOMMENDED_LIMIT, k as SLACK_EDIT_TEXT_MAX_BYTES, q as resolveSlackQuestionActionIds, st as validateSlackBlocksArray, v as buildSlackNativeDataAccessibilityText, w as stripSlackNativeDataBlocks, x as isSlackInvalidBlocksError, y as createSlackNativeDataBaseTextConsumer, z as SLACK_QUESTION_FINALIZATION_BLOCKS } from "./group-policy-BdwszjYn.js";
4
4
  import { n as resolveSlackThreadTsValue, t as normalizeSlackThreadTsCandidate } from "./thread-ts-DUGhaYKq.js";
5
- import { a as createSlackReadClient, d as getSlackWriteClient, r as formatSlackError, s as createSlackTokenCacheKey } from "./probe-BVA65leh.js";
5
+ import { S as getSlackWriteClient, g as createSlackReadClient, o as formatSlackError, v as createSlackTokenCacheKey } from "./probe-0usmAb0i.js";
6
6
  import { t as getOptionalSlackRuntime } from "./runtime-JSVZSWAj.js";
7
- import { i as loadOutboundMediaFromUrl } from "./runtime-api-DBi7xc_g.js";
8
- import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeTrimmedStringList } from "openclaw/plugin-sdk/string-coerce-runtime";
7
+ import { isRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeTrimmedStringList } from "openclaw/plugin-sdk/string-coerce-runtime";
9
8
  import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-outbound";
10
9
  import { logVerbose, sleepWithAbort } from "openclaw/plugin-sdk/runtime-env";
11
10
  import { chunkTextForOutbound } from "openclaw/plugin-sdk/text-chunking";
12
11
  import { resolveGlobalSingleton } from "openclaw/plugin-sdk/global-singleton";
12
+ import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/markdown-table-runtime";
13
+ import { resolveTextChunksWithFallback } from "openclaw/plugin-sdk/reply-payload";
13
14
  import { sliceUtf16Safe, truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
14
15
  import { createHash, createHmac } from "node:crypto";
15
16
  import { withTrustedEnvProxyGuardedFetchMode } from "openclaw/plugin-sdk/fetch-runtime";
16
17
  import { requireRuntimeConfig } from "openclaw/plugin-sdk/plugin-config-runtime";
17
18
  import { PlatformMessageNotDispatchedError, extractErrorCode, readErrorName } from "openclaw/plugin-sdk/error-runtime";
18
19
  import { KeyedAsyncQueue } from "openclaw/plugin-sdk/keyed-async-queue";
19
- import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/markdown-table-runtime";
20
20
  import { chunkMarkdownTextWithMode, resolveChunkMode, resolveTextChunkLimit } from "openclaw/plugin-sdk/reply-chunking";
21
- import { resolveTextChunksWithFallback } from "openclaw/plugin-sdk/reply-payload";
22
21
  import { safeEqualSecret } from "openclaw/plugin-sdk/security-runtime";
23
22
  import { buildTimeoutAbortSignal } from "openclaw/plugin-sdk/extension-shared";
24
23
  import { extensionForMime } from "openclaw/plugin-sdk/media-mime";
24
+ import { loadOutboundMediaFromUrl } from "openclaw/plugin-sdk/outbound-media";
25
25
  import { retryAsync } from "openclaw/plugin-sdk/retry-runtime";
26
26
  import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/ssrf-runtime";
27
27
  import { createPersistentDedupeCache } from "openclaw/plugin-sdk/dedupe-runtime";
@@ -231,6 +231,16 @@ const SLACK_DNS_RETRY_CODES = /* @__PURE__ */ new Set([
231
231
  ]);
232
232
  const SLACK_DNS_RETRY_ATTEMPTS = 2;
233
233
  const SLACK_DNS_RETRY_BASE_DELAY_MS = 250;
234
+ function rethrowSlackPermanentOutboundApiRejection(err) {
235
+ const rawData = isRecord(err) && err.code === "slack_webapi_platform_error" ? err.data : void 0;
236
+ const data = isRecord(rawData) ? rawData : void 0;
237
+ const code = data?.error;
238
+ if (data?.ok === false && (code === "messages_tab_disabled" || code === "account_inactive")) throw new PlatformMessageNotDispatchedError(`Slack outbound delivery rejected: ${code}`, {
239
+ cause: err,
240
+ retryable: false
241
+ });
242
+ throw err;
243
+ }
234
244
  function readSlackRequestErrorCode(value) {
235
245
  if (!value || typeof value !== "object") return;
236
246
  const code = value.code;
@@ -348,7 +358,7 @@ async function postSlackMessageBestEffort(params) {
348
358
  const basePayload = buildSlackPostMessagePayload(params);
349
359
  const postChatMessage = params.client.chat.postMessage.bind(params.client.chat);
350
360
  const post = async (payload, identity) => ({
351
- response: await withSlackDnsRequestRetry("chat.postMessage", () => postChatMessage(payload)),
361
+ response: await withSlackDnsRequestRetry("chat.postMessage", () => postChatMessage(payload)).catch(rethrowSlackPermanentOutboundApiRejection),
352
362
  identity
353
363
  });
354
364
  const posted = await postSlackMessageWithIdentityFallback({
@@ -378,7 +388,7 @@ async function uploadSlackFile(params) {
378
388
  const uploadUrlResp = await withSlackDnsRequestRetry("files.getUploadURLExternal", () => params.client.files.getUploadURLExternal({
379
389
  filename: uploadFileName,
380
390
  length: buffer.length
381
- }));
391
+ })).catch(rethrowSlackPermanentOutboundApiRejection);
382
392
  if (!uploadUrlResp.ok || !uploadUrlResp.upload_url || !uploadUrlResp.file_id) throw new Error(`Failed to get upload URL: ${uploadUrlResp.error ?? "unknown error"}`);
383
393
  const uploadFileId = uploadUrlResp.file_id;
384
394
  const uploadTransport = resolveSlackUploadTransportPolicy({
@@ -620,6 +630,18 @@ function createSlackSendReceipt(params) {
620
630
  threadId: params.threadTs
621
631
  });
622
632
  }
633
+ function createSlackSendReceiptFromResults(results, threadTs) {
634
+ const receipt = createMessageReceiptFromOutboundResults({
635
+ results,
636
+ threadId: threadTs
637
+ });
638
+ const thread = threadTs ? { threadId: threadTs } : {};
639
+ for (const [index, part] of receipt.parts.entries()) Object.assign(part, {
640
+ index,
641
+ ...thread
642
+ });
643
+ return Object.assign(receipt, thread);
644
+ }
623
645
  function resolveToken(params) {
624
646
  const explicit = normalizeOptionalString(params.explicit);
625
647
  if (explicit) return explicit;
@@ -766,7 +788,7 @@ async function resolveChannelId(client, recipient, params) {
766
788
  isDm: true,
767
789
  cacheHit: true
768
790
  };
769
- const channelId = (await withSlackDnsRequestRetry("conversations.open", () => client.conversations.open({ users: recipient.id }))).channel?.id;
791
+ const channelId = (await withSlackDnsRequestRetry("conversations.open", () => client.conversations.open({ users: recipient.id })).catch(rethrowSlackPermanentOutboundApiRejection)).channel?.id;
770
792
  if (!channelId) throw new Error("Failed to open Slack DM channel");
771
793
  setSlackDmChannelCache(cache, cacheKey, channelId);
772
794
  return {
@@ -1101,6 +1123,7 @@ async function sendMessageSlackQueuedInner(params) {
1101
1123
  accountId: account.accountId,
1102
1124
  token: delivery.credential
1103
1125
  });
1126
+ const deliveredResults = [];
1104
1127
  const reportDelivery = async (result, deliveredBlocks) => {
1105
1128
  const slackQuestionActionIds = resolveSlackQuestionActionIds(deliveredBlocks);
1106
1129
  const deliveryResult = slackQuestionActionIds.length ? {
@@ -1111,6 +1134,7 @@ async function sendMessageSlackQueuedInner(params) {
1111
1134
  [SLACK_QUESTION_FINALIZATION_BLOCKS]: deliveredBlocks.filter((block) => block.type !== "actions")
1112
1135
  }
1113
1136
  } : result;
1137
+ deliveredResults.push(deliveryResult);
1114
1138
  await opts.onDeliveryResult?.(deliveryResult);
1115
1139
  return deliveryResult;
1116
1140
  };
@@ -1140,7 +1164,6 @@ async function sendMessageSlackQueuedInner(params) {
1140
1164
  const rawBlockAccessibilityText = trimmedMessage ? [trimmedMessage, ...completeBlockFallbackText.includes(trimmedMessage) ? [] : [completeBlockFallbackText]].join("\n\n") : completeBlockFallbackText;
1141
1165
  const blockAccessibilityText = blocks ? orderedBlockAccessibilityText ?? rawBlockAccessibilityText : void 0;
1142
1166
  let pendingBlockFallback = (hasNativeData || opts.authoredTextPlacement !== void 0) && orderedBlockDeliveryPlan?.skipOriginalBlocks ? orderedBlockDeliveryPlan : void 0;
1143
- const sentMessageIds = [];
1144
1167
  let lastMessageId = "";
1145
1168
  let deliveredChannelId = channelId;
1146
1169
  let canonicalDeliveredThreadTs;
@@ -1220,7 +1243,6 @@ async function sendMessageSlackQueuedInner(params) {
1220
1243
  lastMessageId = response.ts;
1221
1244
  deliveredChannelId = resolvePostedMessageChannelId(response, deliveredChannelId);
1222
1245
  canonicalDeliveredThreadTs ??= resolvePostedMessageThreadTs(response);
1223
- sentMessageIds.push(response.ts);
1224
1246
  const deliveredThreadTs = resolvePostedMessageThreadTs(response) ?? normalizeSlackThreadTsCandidate(opts.threadTs);
1225
1247
  const fallbackDelivery = await reportDelivery({
1226
1248
  messageId: response.ts,
@@ -1235,22 +1257,16 @@ async function sendMessageSlackQueuedInner(params) {
1235
1257
  }, fallback.blocks);
1236
1258
  if (fallbackDelivery.meta?.slackQuestionActionIds.length) questionDelivery = fallbackDelivery;
1237
1259
  }
1238
- const messageId = lastMessageId;
1239
1260
  const deliveredThreadTs = canonicalDeliveredThreadTs ?? normalizeSlackThreadTsCandidate(opts.threadTs);
1240
1261
  return {
1241
- messageId,
1262
+ messageId: lastMessageId,
1242
1263
  channelId: deliveredChannelId,
1243
1264
  threadTs: deliveredThreadTs,
1244
1265
  ...questionDelivery?.meta ? { meta: {
1245
1266
  ...questionDelivery.meta,
1246
1267
  slackQuestionMessageId: questionDelivery.messageId
1247
1268
  } } : {},
1248
- receipt: createSlackSendReceipt({
1249
- platformMessageIds: sentMessageIds,
1250
- channelId: deliveredChannelId,
1251
- kind: fallbackMessages.some((message) => message.blocks) ? "card" : "text",
1252
- threadTs: deliveredThreadTs
1253
- })
1269
+ receipt: createSlackSendReceiptFromResults(deliveredResults, deliveredThreadTs)
1254
1270
  };
1255
1271
  }
1256
1272
  }
@@ -1283,7 +1299,6 @@ async function sendMessageSlackQueuedInner(params) {
1283
1299
  onPlatformSendDispatch: dispatchOnce,
1284
1300
  ...delivery.upload ? { auditContext: delivery.upload.auditContext } : {}
1285
1301
  });
1286
- sentMessageIds.push(lastMessageId);
1287
1302
  await reportDelivery({
1288
1303
  messageId: lastMessageId,
1289
1304
  channelId,
@@ -1298,7 +1313,7 @@ async function sendMessageSlackQueuedInner(params) {
1298
1313
  chunksToPost = rest;
1299
1314
  } else chunksToPost = resolvedChunks.length ? resolvedChunks : [""];
1300
1315
  for (const [partIndex, chunk] of chunksToPost.entries()) {
1301
- const carriesPrimaryMessageOptions = partIndex === 0 && !opts.mediaUrl && sentMessageIds.length === 0;
1316
+ const carriesPrimaryMessageOptions = partIndex === 0 && !opts.mediaUrl;
1302
1317
  const baseMetadata = carriesPrimaryMessageOptions ? opts.metadata : void 0;
1303
1318
  const metadata = opts.mediaUrl ? baseMetadata : withSlackDeliveryMetadata(baseMetadata, {
1304
1319
  queueId: opts.deliveryQueueId,
@@ -1324,7 +1339,6 @@ async function sendMessageSlackQueuedInner(params) {
1324
1339
  lastMessageId = response.ts;
1325
1340
  deliveredChannelId = resolvePostedMessageChannelId(response, deliveredChannelId);
1326
1341
  canonicalDeliveredThreadTs ??= resolvePostedMessageThreadTs(response);
1327
- sentMessageIds.push(response.ts);
1328
1342
  await reportDelivery({
1329
1343
  messageId: response.ts,
1330
1344
  channelId: deliveredChannelId,
@@ -1337,18 +1351,12 @@ async function sendMessageSlackQueuedInner(params) {
1337
1351
  })
1338
1352
  });
1339
1353
  }
1340
- const messageId = lastMessageId;
1341
1354
  const deliveredThreadTs = canonicalDeliveredThreadTs ?? normalizeSlackThreadTsCandidate(opts.threadTs);
1342
1355
  return {
1343
- messageId,
1356
+ messageId: lastMessageId,
1344
1357
  channelId: deliveredChannelId,
1345
1358
  threadTs: deliveredThreadTs,
1346
- receipt: createSlackSendReceipt({
1347
- platformMessageIds: sentMessageIds,
1348
- channelId: deliveredChannelId,
1349
- kind: opts.mediaUrl ? "media" : "text",
1350
- threadTs: deliveredThreadTs
1351
- })
1359
+ receipt: createSlackSendReceiptFromResults(deliveredResults, deliveredThreadTs)
1352
1360
  };
1353
1361
  }
1354
1362
  //#endregion
@@ -0,0 +1,23 @@
1
+ import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-outbound";
2
+ //#region extensions/slack/src/send-results.ts
3
+ function mergeSlackSendResults(results) {
4
+ const lastResult = results.at(-1);
5
+ if (!lastResult) throw new Error("Slack send plan produced no delivery.");
6
+ if (results.length === 1) return lastResult;
7
+ const receipt = createMessageReceiptFromOutboundResults({ results });
8
+ receipt.parts = receipt.parts.map((part, index) => ({
9
+ ...part,
10
+ index
11
+ }));
12
+ const questionResult = results.find((result) => result.meta?.slackQuestionActionIds.length);
13
+ return {
14
+ ...lastResult,
15
+ receipt,
16
+ ...questionResult?.meta ? { meta: {
17
+ ...questionResult.meta,
18
+ slackQuestionMessageId: questionResult.meta.slackQuestionMessageId ?? questionResult.messageId
19
+ } } : {}
20
+ };
21
+ }
22
+ //#endregion
23
+ export { mergeSlackSendResults as t };
@@ -1,2 +1,2 @@
1
- import { a as updateMessageSlack, n as resolveSlackDmChannelId, r as sendMessageSlack, t as reconcileSlackUnknownSend } from "./send-CtnOxKCc.js";
1
+ import { a as updateMessageSlack, n as resolveSlackDmChannelId, r as sendMessageSlack, t as reconcileSlackUnknownSend } from "./send-DS9ICrBI.js";
2
2
  export { reconcileSlackUnknownSend, resolveSlackDmChannelId, sendMessageSlack, updateMessageSlack };
@@ -1,2 +1,2 @@
1
- import { t as slackSetupPlugin } from "./channel.setup-CpyYsEXH.js";
1
+ import { t as slackSetupPlugin } from "./channel.setup-ofDi3_Pu.js";
2
2
  export { slackSetupPlugin };
@@ -1,9 +1,9 @@
1
- import { i as resolveDefaultSlackAccountId, o as resolveSlackAccountAllowFrom } from "./accounts-BlzxuYle.js";
2
- import { t as inspectSlackAccount } from "./account-inspect-YJvFBbCR.js";
3
- import "./shared-DJBaslN7.js";
4
- import { o as SLACK_CHANNEL, r as createSlackSetupWizardBase } from "./channel.setup-CpyYsEXH.js";
5
- import { t as resolveSlackChannelAllowlist } from "./resolve-channels-BSpqC8jU.js";
6
- import { t as resolveSlackUserAllowlist } from "./resolve-users-Dvz9pDe0.js";
1
+ import { i as resolveDefaultSlackAccountId, o as resolveSlackAccountAllowFrom } from "./accounts-Dm_H77gH.js";
2
+ import { t as inspectSlackAccount } from "./account-inspect-CN2hBsim.js";
3
+ import "./shared-D5B-5hBg.js";
4
+ import { o as SLACK_CHANNEL, r as createSlackSetupWizardBase } from "./channel.setup-ofDi3_Pu.js";
5
+ import { t as resolveSlackChannelAllowlist } from "./resolve-channels-Czheznc8.js";
6
+ import { t as resolveSlackUserAllowlist } from "./resolve-users-BAOlNimr.js";
7
7
  import { normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
8
8
  import { resolveBasicAllowFromEntries } from "openclaw/plugin-sdk/allow-from";
9
9
  import { createSetupTranslator, noteChannelLookupFailure, noteChannelLookupSummary, parseMentionOrPrefixedId, patchChannelConfigForAccount, promptResolvedAllowFrom, resolveEntriesWithOptionalToken, resolveSetupAccountId, splitSetupEntries } from "openclaw/plugin-sdk/setup-runtime";
@@ -1,16 +1,35 @@
1
- import { n as listSlackAccountIds, o as resolveSlackAccountAllowFrom, r as mergeSlackAccountConfig, s as resolveSlackAccountDmPolicy } from "./accounts-BlzxuYle.js";
2
- import { t as inspectSlackAccount } from "./account-inspect-YJvFBbCR.js";
1
+ import { n as isSlackPluginAccountConfigured } from "./account-configured-sUohAxZr.js";
2
+ import { n as listSlackAccountIds, o as resolveSlackAccountAllowFrom, r as mergeSlackAccountConfig, s as resolveSlackAccountDmPolicy } from "./accounts-Dm_H77gH.js";
3
+ import { t as inspectSlackAccount } from "./account-inspect-CN2hBsim.js";
3
4
  import { a as parseSlackTarget } from "./target-parsing-BnMD2ZqZ.js";
4
- import { t as isSlackPluginAccountConfigured } from "./account-configured-BwfXBo_F.js";
5
- import { b as getChatChannelMeta, t as probeSlack } from "./probe-BVA65leh.js";
6
- import { n as slackBaseConfigAdapter, t as slackSetupPlugin } from "./channel.setup-CpyYsEXH.js";
5
+ import { a as slackIngressIdentity, t as probeSlack } from "./probe-0usmAb0i.js";
6
+ import { n as slackBaseConfigAdapter, t as slackSetupPlugin } from "./channel.setup-ofDi3_Pu.js";
7
7
  import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-BAy7-EUQ.js";
8
8
  import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-DxmvbxBF.js";
9
+ import { DEFAULT_ACCOUNT_ID as DEFAULT_ACCOUNT_ID$1 } from "openclaw/plugin-sdk/account-id";
9
10
  import { adaptScopedAccountAccessor, createScopedDmSecurityResolver } from "openclaw/plugin-sdk/channel-config-helpers";
10
11
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
12
+ import { PAIRING_APPROVED_MESSAGE, projectCredentialSnapshotFields, resolveConfiguredFromRequiredCredentialStatuses } from "openclaw/plugin-sdk/channel-status";
11
13
  import { buildMutableAllowEntryDetector, collectStandardAllowlistLists, createConditionalWarningCollector, createDangerousNameMatchingMutableAllowlistWarningCollector, createOpenProviderConfiguredRouteWarningCollector } from "openclaw/plugin-sdk/channel-policy";
14
+ import { identityEntryAuthenticationClassifier } from "openclaw/plugin-sdk/channel-ingress-runtime";
12
15
  import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
13
16
  import { asObjectRecord } from "openclaw/plugin-sdk/runtime-doctor-migrations";
17
+ //#region extensions/slack/src/channel-api.ts
18
+ const SLACK_CHANNEL_META = {
19
+ id: "slack",
20
+ label: "Slack",
21
+ selectionLabel: "Slack",
22
+ docsPath: "/channels/slack",
23
+ docsLabel: "slack",
24
+ blurb: "supports bot + app tokens, channels, threads, and interactive replies.",
25
+ systemImage: "number.square",
26
+ markdownCapable: true
27
+ };
28
+ function getChatChannelMeta(id) {
29
+ if (id !== SLACK_CHANNEL_META.id) throw new Error(`Unsupported Slack channel meta lookup: ${id}`);
30
+ return SLACK_CHANNEL_META;
31
+ }
32
+ //#endregion
14
33
  //#region extensions/slack/src/security.ts
15
34
  const resolveSlackDmPolicy = createScopedDmSecurityResolver({
16
35
  channelKey: "slack",
@@ -27,6 +46,7 @@ const resolveSlackDmPolicy = createScopedDmSecurityResolver({
27
46
  })
28
47
  }),
29
48
  policyPathSuffix: "dmPolicy",
49
+ classifyEntryAuthentication: identityEntryAuthenticationClassifier(slackIngressIdentity),
30
50
  normalizeEntry: (raw) => raw.trim().replace(/^(slack|user):/i, "").trim()
31
51
  });
32
52
  const collectSlackSecurityWarnings = createOpenProviderConfiguredRouteWarningCollector({
@@ -265,4 +285,4 @@ function createSlackPluginBase(params) {
265
285
  };
266
286
  }
267
287
  //#endregion
268
- export { slackConfigAdapter as n, slackSecurityAdapter as r, createSlackPluginBase as t };
288
+ export { PAIRING_APPROVED_MESSAGE as a, DEFAULT_ACCOUNT_ID$1 as i, slackConfigAdapter as n, projectCredentialSnapshotFields as o, slackSecurityAdapter as r, resolveConfiguredFromRequiredCredentialStatuses as s, createSlackPluginBase as t };
@@ -1,7 +1,7 @@
1
- import { r as deliverSlackSlashReplies$1 } from "./replies-SnWyXcsL.js";
1
+ import { r as deliverSlackSlashReplies$1, s as sanitizeSlackMonitorReplyPayload } from "./replies-BSiRQOJ1.js";
2
2
  import { resolveAgentRoute as resolveAgentRoute$1 } from "openclaw/plugin-sdk/routing";
3
- import { resolveConversationLabel as resolveConversationLabel$1 } from "openclaw/plugin-sdk/conversation-runtime";
4
3
  import { resolveMarkdownTableMode as resolveMarkdownTableMode$1 } from "openclaw/plugin-sdk/markdown-table-runtime";
4
+ import { resolveConversationLabel as resolveConversationLabel$1 } from "openclaw/plugin-sdk/conversation-runtime";
5
5
  import { dispatchChannelInboundTurn as dispatchChannelInboundTurn$1, isChannelPartialDeliveryError as isChannelPartialDeliveryError$1 } from "openclaw/plugin-sdk/channel-inbound";
6
6
  import { finalizeInboundContext as finalizeInboundContext$1, resolveChunkMode as resolveChunkMode$1 } from "openclaw/plugin-sdk/reply-runtime";
7
7
  //#region extensions/slack/src/monitor/slash-dispatch.runtime.ts
@@ -30,4 +30,4 @@ function deliverSlackSlashReplies(...args) {
30
30
  return deliverSlackSlashReplies$1(...args);
31
31
  }
32
32
  //#endregion
33
- export { deliverSlackSlashReplies, dispatchChannelInboundTurn, finalizeInboundContext, isChannelPartialDeliveryError, resolveAgentRoute, resolveChunkMode, resolveConversationLabel, resolveMarkdownTableMode };
33
+ export { deliverSlackSlashReplies, dispatchChannelInboundTurn, finalizeInboundContext, isChannelPartialDeliveryError, resolveAgentRoute, resolveChunkMode, resolveConversationLabel, resolveMarkdownTableMode, sanitizeSlackMonitorReplyPayload };
@@ -8,7 +8,7 @@ This package contains type definitions for node (https://nodejs.org/).
8
8
  Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.
9
9
 
10
10
  ### Additional Details
11
- * Last updated: Mon, 27 Jul 2026 17:32:10 GMT
11
+ * Last updated: Fri, 07 Aug 2026 17:46:44 GMT
12
12
  * Dependencies: [undici-types](https://npmjs.com/package/undici-types)
13
13
 
14
14
  # Credits
@@ -227,7 +227,6 @@ declare module "node:child_process" {
227
227
  * new process in a shell or with the use of the `shell` option of `ChildProcess`:
228
228
  *
229
229
  * ```js
230
- * 'use strict';
231
230
  * import { spawn } from 'node:child_process';
232
231
  *
233
232
  * const subprocess = spawn(
@@ -2698,12 +2698,12 @@ declare module "node:crypto" {
2698
2698
  */
2699
2699
  function sign(
2700
2700
  algorithm: string | null | undefined,
2701
- data: ArrayBufferLike | NodeJS.ArrayBufferView,
2701
+ data: BinaryLike,
2702
2702
  key: KeyLike | SignKeyObjectInput | SignPrivateKeyInput | SignJsonWebKeyInput,
2703
2703
  ): NonSharedBuffer;
2704
2704
  function sign(
2705
2705
  algorithm: string | null | undefined,
2706
- data: ArrayBufferLike | NodeJS.ArrayBufferView,
2706
+ data: BinaryLike,
2707
2707
  key: KeyLike | SignKeyObjectInput | SignPrivateKeyInput | SignJsonWebKeyInput,
2708
2708
  callback: (error: Error | null, data: NonSharedBuffer) => void,
2709
2709
  ): void;
@@ -2729,15 +2729,15 @@ declare module "node:crypto" {
2729
2729
  */
2730
2730
  function verify(
2731
2731
  algorithm: string | null | undefined,
2732
- data: ArrayBufferLike | NodeJS.ArrayBufferView,
2732
+ data: BinaryLike,
2733
2733
  key: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput | VerifyJsonWebKeyInput,
2734
- signature: ArrayBufferLike | NodeJS.ArrayBufferView,
2734
+ signature: BinaryLike,
2735
2735
  ): boolean;
2736
2736
  function verify(
2737
2737
  algorithm: string | null | undefined,
2738
- data: ArrayBufferLike | NodeJS.ArrayBufferView,
2738
+ data: BinaryLike,
2739
2739
  key: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput | VerifyJsonWebKeyInput,
2740
- signature: ArrayBufferLike | NodeJS.ArrayBufferView,
2740
+ signature: BinaryLike,
2741
2741
  callback: (error: Error | null, result: boolean) => void,
2742
2742
  ): void;
2743
2743
  /**
@@ -183,7 +183,7 @@ declare module "node:dns/promises" {
183
183
  * refresh: 900,
184
184
  * retry: 900,
185
185
  * expire: 1800,
186
- * minttl: 60 } ]
186
+ * minttl: 60 } ];
187
187
  * ```
188
188
  * @since v10.6.0
189
189
  */
@@ -226,7 +226,7 @@ declare module "node:dns/promises" {
226
226
  * regexp: '',
227
227
  * replacement: '_sip._udp.example.com',
228
228
  * order: 30,
229
- * preference: 100
229
+ * preference: 100,
230
230
  * }
231
231
  * ```
232
232
  * @since v10.6.0
@@ -265,7 +265,7 @@ declare module "node:dns/promises" {
265
265
  * refresh: 10000,
266
266
  * retry: 2400,
267
267
  * expire: 604800,
268
- * minttl: 3600
268
+ * minttl: 3600,
269
269
  * }
270
270
  * ```
271
271
  * @since v10.6.0
@@ -285,7 +285,7 @@ declare module "node:dns/promises" {
285
285
  * priority: 10,
286
286
  * weight: 5,
287
287
  * port: 21223,
288
- * name: 'service.example.com'
288
+ * name: 'service.example.com',
289
289
  * }
290
290
  * ```
291
291
  * @since v10.6.0
@@ -306,7 +306,7 @@ declare module "node:dns/promises" {
306
306
  * certUsage: 3,
307
307
  * selector: 1,
308
308
  * match: 1,
309
- * data: [ArrayBuffer]
309
+ * data: [ArrayBuffer],
310
310
  * }
311
311
  * ```
312
312
  * @since v23.9.0, v22.15.0
@@ -490,7 +490,7 @@ declare module "node:dns" {
490
490
  * regexp: '',
491
491
  * replacement: '_sip._udp.example.com',
492
492
  * order: 30,
493
- * preference: 100
493
+ * preference: 100,
494
494
  * }
495
495
  * ```
496
496
  * @since v0.9.12
@@ -547,7 +547,7 @@ declare module "node:dns" {
547
547
  * refresh: 10000,
548
548
  * retry: 2400,
549
549
  * expire: 604800,
550
- * minttl: 3600
550
+ * minttl: 3600,
551
551
  * }
552
552
  * ```
553
553
  * @since v0.11.10
@@ -573,7 +573,7 @@ declare module "node:dns" {
573
573
  * priority: 10,
574
574
  * weight: 5,
575
575
  * port: 21223,
576
- * name: 'service.example.com'
576
+ * name: 'service.example.com',
577
577
  * }
578
578
  * ```
579
579
  * @since v0.1.27
@@ -600,7 +600,7 @@ declare module "node:dns" {
600
600
  * certUsage: 3,
601
601
  * selector: 1,
602
602
  * match: 1,
603
- * data: [ArrayBuffer]
603
+ * data: [ArrayBuffer],
604
604
  * }
605
605
  * ```
606
606
  * @since v23.9.0, v22.15.0
@@ -650,7 +650,7 @@ declare module "node:dns" {
650
650
  * refresh: 900,
651
651
  * retry: 900,
652
652
  * expire: 1800,
653
- * minttl: 60 } ]
653
+ * minttl: 60 } ];
654
654
  * ```
655
655
  *
656
656
  * DNS server operators may choose not to respond to `ANY` queries. It may be better to call individual methods like {@link resolve4}, {@link resolveMx}, and so on. For more details, see
@@ -48,6 +48,13 @@ declare module "node:fs" {
48
48
  mtime: Date;
49
49
  ctime: Date;
50
50
  birthtime: Date;
51
+ // Deliberately not defining a type alias here... it'd be exported, and something in the ecosystem would inevitably start using it.
52
+ // TODO: replace with Temporal builtins once @types/node no longer supports TS <6.0.
53
+ atimeInstant: typeof globalThis extends { Temporal: { Instant: new(...args: any[]) => infer T } } ? T : unknown;
54
+ mtimeInstant: typeof globalThis extends { Temporal: { Instant: new(...args: any[]) => infer T } } ? T : unknown;
55
+ ctimeInstant: typeof globalThis extends { Temporal: { Instant: new(...args: any[]) => infer T } } ? T : unknown;
56
+ birthtimeInstant: typeof globalThis extends { Temporal: { Instant: new(...args: any[]) => infer T } } ? T
57
+ : unknown;
51
58
  }
52
59
  interface Stats extends StatsBase<number> {}
53
60
  /**
@@ -922,6 +922,36 @@ declare module "node:http" {
922
922
  headers?: OutgoingHttpHeaders | OutgoingHttpHeader[],
923
923
  ): this;
924
924
  writeHead(statusCode: number, headers?: OutgoingHttpHeaders | OutgoingHttpHeader[]): this;
925
+ /**
926
+ * Sends an arbitrary HTTP/1.1 1xx informational response to the client. This
927
+ * is a generic equivalent of `response.writeContinue()`,
928
+ * `response.writeProcessing()` and `response.writeEarlyHints()`, and
929
+ * can be called multiple times before the final response. After the final
930
+ * response headers have been sent (via `response.writeHead()` or an
931
+ * implicit header), calling this method throws `ERR_HTTP_HEADERS_SENT`.
932
+ *
933
+ * Clients receive these responses via the [`'information'`](https://nodejs.org/docs/latest-v26.x/api/http.html#event-information)
934
+ * event on `http.ClientRequest`.
935
+ *
936
+ * ```js
937
+ * response.writeInformation(110, { 'X-Progress': '50%' });
938
+ * ```
939
+ * @since v26.2.0
940
+ * @param statusCode An HTTP 1xx informational status code, between `100`
941
+ * and `199` inclusive, excluding `101` (Switching Protocols) which is only
942
+ * available through the [`'upgrade'`](https://nodejs.org/docs/latest-v26.x/api/http.html#event-upgrade) event.
943
+ * @param headers An optional set of headers to send with the
944
+ * informational response. Accepts the same shapes as
945
+ * `response.writeHead()`.
946
+ * @param callback Optional, called once the message has been written
947
+ * to the socket.
948
+ */
949
+ writeInformation(
950
+ statusCode: number,
951
+ headers?: OutgoingHttpHeaders | readonly string[],
952
+ callback?: () => void,
953
+ ): void;
954
+ writeInformation(statusCode: number, callback: () => void): void;
925
955
  /**
926
956
  * Sends a HTTP/1.1 102 Processing message to the client, indicating that
927
957
  * the request body should be sent.
@@ -59,7 +59,7 @@ declare module "node:http2" {
59
59
  "ready": [];
60
60
  "streamClosed": [code: number];
61
61
  "timeout": [];
62
- "trailers": [trailers: IncomingHttpHeaders, flags: number];
62
+ "trailers": [headers: IncomingHttpHeaders, flags: number, rawHeaders: string[]];
63
63
  "wantTrailers": [];
64
64
  }
65
65
  interface Http2Stream extends stream.Duplex {
@@ -245,7 +245,7 @@ declare module "node:http2" {
245
245
  interface ClientHttp2StreamEventMap extends Http2StreamEventMap {
246
246
  "continue": [];
247
247
  "headers": [headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number, rawHeaders: string[]];
248
- "push": [headers: IncomingHttpHeaders, flags: number];
248
+ "push": [headers: IncomingHttpHeaders, flags: number, rawHeaders: string[]];
249
249
  "response": [headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number, rawHeaders: string[]];
250
250
  }
251
251
  interface ClientHttp2Stream extends Http2Stream {
@@ -1644,8 +1644,8 @@ declare module "node:http2" {
1644
1644
  *
1645
1645
  * Then `request.url` will be:
1646
1646
  *
1647
- * ```js
1648
- * '/status?name=ryan'
1647
+ * ```json
1648
+ * "/status?name=ryan"
1649
1649
  * ```
1650
1650
  *
1651
1651
  * To parse the url into its parts, `new URL()` can be used: