@openclaw/discord 2026.9.5 → 2026.9.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (517) hide show
  1. package/assets/icon.png +0 -0
  2. package/dist/.setup/{account-inspect-BwQj24ht.mjs → account-inspect-De8hOUxG.mjs} +1 -1
  3. package/dist/.setup/{accounts-CwJQoLjM.mjs → accounts-ChaMcixG.mjs} +1 -4
  4. package/dist/.setup/{activities-api-DBwRt5ES.mjs → activities-api-tvbsU2e3.mjs} +38 -66
  5. package/dist/.setup/{api-CBK9zcq5.mjs → api-DVbJwZVt.mjs} +10 -2
  6. package/dist/.setup/{approval-handler.runtime-Du3n5ypX.mjs → approval-handler.runtime-DxCK2Rux.mjs} +49 -125
  7. package/dist/.setup/{approval-message-updates-BN7JtScm.mjs → approval-message-updates-BKFqavHZ.mjs} +2 -2
  8. package/dist/.setup/{audit-C8uaKoa9.mjs → audit-CLg9I71N.mjs} +5 -5
  9. package/dist/.setup/{channel-ChKdlBgH.mjs → channel-DxlUVU9t.mjs} +125 -228
  10. package/dist/.setup/{channel-type-DKnjV1XW.mjs → channel-type-DRCrEMss.mjs} +22 -22
  11. package/dist/.setup/{channel.setup-BlC3-Kzz.mjs → channel.setup-CRo1GjV7.mjs} +6 -9
  12. package/dist/.setup/{components-MqMWUWnE.mjs → components-Cq1PvIpN.mjs} +42 -71
  13. package/dist/.setup/{config-schema-CiZz-mtA.mjs → config-schema-oxELUSDx.mjs} +19 -44
  14. package/dist/.setup/{conversation-binding-route-_rz33QHO.mjs → conversation-binding-route-Caz_XuFH.mjs} +14 -6
  15. package/dist/.setup/{directory-config-BytTftz-.mjs → directory-config-esqNn0Eo.mjs} +6 -9
  16. package/dist/.setup/{directory-live--EGTH0DC.mjs → directory-live-DtKRHuGV.mjs} +6 -12
  17. package/dist/.setup/{discord-BXpHW-cu.mjs → discord-0xJYfdDD.mjs} +82 -386
  18. package/dist/.setup/{doctor-DxcdkXzz.mjs → doctor-BCl1H5tl.mjs} +21 -36
  19. package/dist/.setup/{doctor-contract-Co5vRCZ6.mjs → doctor-contract-CvvgwrrG.mjs} +41 -50
  20. package/dist/.setup/{channel-actions.runtime-CJmiFfps.mjs → handle-action-CUvQWnE7.mjs} +74 -105
  21. package/dist/.setup/{handle-action.guild-admin-DAFyh_yV.mjs → handle-action.guild-admin-Df-8gVle.mjs} +63 -121
  22. package/dist/.setup/{live-policy-config-eKQ-PLdy.mjs → live-policy-config-8Pv20CHc.mjs} +2 -3
  23. package/dist/.setup/{message-handler-DnUrDpaU.mjs → message-handler-B-Jk4oDk.mjs} +18 -93
  24. package/dist/.setup/message-handler.preflight-pluralkit-CWLUBVcx.mjs +141 -0
  25. package/dist/.setup/{message-handler.preflight-CtqaF_fb.mjs → message-handler.preflight-v-__NSDq.mjs} +73 -287
  26. package/dist/.setup/{message-handler.process-Dz1xvuQU.mjs → message-handler.process-BNFFuChn.mjs} +423 -374
  27. package/dist/.setup/{outbound-adapter-C8v79z9Z.mjs → outbound-adapter-BobT-kse.mjs} +105 -19
  28. package/dist/.setup/{outbound-session-route-CqWbuMOm.mjs → outbound-session-route-zVGxxceg.mjs} +142 -109
  29. package/dist/.setup/{pluralkit-CdAt1G0P.mjs → pluralkit-a6_NLfH9.mjs} +1 -1
  30. package/dist/.setup/{preflight-audio-DrnqFA8U.mjs → preflight-audio-DHGIHEpv.mjs} +2 -1
  31. package/dist/.setup/{presence-cache-dYSHPWMx.mjs → presence-cache-Di3H3DIU.mjs} +0 -4
  32. package/dist/.setup/{probe-CupW4we4.mjs → probe-LYrIHlBF.mjs} +13 -4
  33. package/dist/.setup/{provider-72zIvN-i.mjs → provider-B_G5hASF.mjs} +1112 -1668
  34. package/dist/.setup/provider-session.runtime-BYlTBFD2.mjs +6 -0
  35. package/dist/.setup/provider.runtime-CUE3UxER.mjs +2 -0
  36. package/dist/.setup/{realtime-session.runtime-DTccTgTM.mjs → realtime-session.runtime-oUd9DOcz.mjs} +372 -345
  37. package/dist/.setup/receive-recovery-CHPOsnLc.mjs +514 -0
  38. package/dist/.setup/{resolve-allowlist-common-CwMBzbx9.mjs → resolve-allowlist-common-DPdRggu5.mjs} +4 -7
  39. package/dist/.setup/{resolve-channels-BbvsLQOZ.mjs → resolve-channels-BFPNRmVv.mjs} +21 -40
  40. package/dist/.setup/{resolve-users-ByFlR7LQ.mjs → resolve-users-0-aBuCy3.mjs} +4 -4
  41. package/dist/.setup/{retry-DBfcEgmO.mjs → retry-pz_cSha2.mjs} +81 -16
  42. package/dist/.setup/rolldown-runtime-B4FMCO8f.mjs +28 -0
  43. package/dist/.setup/{runtime-SchNfUsQ.mjs → runtime-FN000lxA.mjs} +83 -166
  44. package/dist/.setup/runtime-doctor-migrations-CshUGl36.mjs +159 -0
  45. package/dist/.setup/{runtime-BVoa7hhx.mjs → runtime-sUksZ--Q.mjs} +2 -5
  46. package/dist/.setup/{secret-config-contract-DFu9hfU8.mjs → secret-config-contract-uOE2J7yM.mjs} +15 -85
  47. package/dist/.setup/{security-audit-s5w50-Ly.mjs → security-audit-Cdaegq7C.mjs} +3 -1
  48. package/dist/.setup/{send-CKDczUNL.mjs → send-CrfEI6Bs.mjs} +73 -114
  49. package/dist/.setup/{send.components-DWQjXhPV.mjs → send.components-DxQAMfES.mjs} +62 -107
  50. package/dist/.setup/{send.outbound-D0hQ7s50.mjs → send.outbound-BISKnb-a.mjs} +79 -154
  51. package/dist/.setup/{send.shared-Zwx6BxQ5.mjs → send.shared-DGFkbkQR.mjs} +10 -25
  52. package/dist/.setup/{sender-identity-0Ymgvmaj.mjs → sender-identity-B9X5Vb9R.mjs} +2 -3
  53. package/dist/.setup/setup-plugin-api-BQUBxbhe.mjs +3 -0
  54. package/dist/.setup/{shared-CaA3Vv4n.mjs → shared-B3wZ4hN-.mjs} +25 -32
  55. package/dist/.setup/{subagent-hooks-Bired9q6.mjs → subagent-hooks-nlUE9ow7.mjs} +5 -6
  56. package/dist/.setup/system-events-CdeZnvPV.mjs +33 -0
  57. package/dist/.setup/{target-resolver-B6MrxbYv.mjs → target-resolver-BuLapkhy.mjs} +9 -12
  58. package/dist/.setup/targets-0KUcEIYx.mjs +3 -0
  59. package/dist/.setup/{thread-bindings-CK5272V3.mjs → thread-bindings-D7TfgjR_.mjs} +33 -35
  60. package/dist/.setup/thread-bindings.manager-DN-NissX.mjs +819 -0
  61. package/dist/.setup/thread-bindings.session-updates-CshfKghV.mjs +359 -0
  62. package/dist/.setup/{thread-bindings.state-BThFQEga.mjs → thread-bindings.state-g6v9zAym.mjs} +21 -62
  63. package/dist/.setup/{transcripts-source-CuWYgayu.mjs → transcripts-source-p8EV179h.mjs} +133 -238
  64. package/dist/.setup/{typing-BKZL5fGj.mjs → typing-BiHCzBRu.mjs} +2 -1
  65. package/dist/.setup/{voice-runtime-DHVQ2mFz.mjs → voice-runtime-B46rcwrG.mjs} +633 -1085
  66. package/dist/account-inspect-api.js +1 -1
  67. package/dist/action-runtime-api.js +1 -1
  68. package/dist/activities-api.js +1 -1
  69. package/dist/api.js +18 -18
  70. package/dist/channel-config-api.js +1 -1
  71. package/dist/channel-plugin-api.js +1 -1
  72. package/dist/directory-contract-api.js +1 -1
  73. package/dist/doctor-contract-api.js +4 -4
  74. package/dist/index.js +1 -1
  75. package/dist/runtime-api.js +20 -20
  76. package/dist/secret-contract-api.js +1 -1
  77. package/dist/security-audit-contract-api.js +1 -1
  78. package/dist/setup-entry.js +1 -1
  79. package/dist/setup-plugin-api.js +1 -1
  80. package/dist/src/voice/audio-worker.runtime.js +1056 -0
  81. package/dist/subagent-hooks-api.js +3 -4
  82. package/dist/transcripts-source-api.js +1 -1
  83. package/node_modules/@napi-rs/wasm-runtime/dist/emnapi-plugins.cjs +8 -4
  84. package/node_modules/@napi-rs/wasm-runtime/dist/emnapi-plugins.js +8 -4
  85. package/node_modules/@napi-rs/wasm-runtime/dist/fs-proxy.cjs +1 -1
  86. package/node_modules/@napi-rs/wasm-runtime/dist/fs.js +770 -695
  87. package/node_modules/@napi-rs/wasm-runtime/fs-proxy.js +3 -2
  88. package/node_modules/@napi-rs/wasm-runtime/package.json +1 -1
  89. package/node_modules/@tybys/wasm-util/LICENSE +21 -0
  90. package/node_modules/@tybys/wasm-util/package.json +1 -1
  91. package/node_modules/@types/node/README.md +2 -2
  92. package/node_modules/@types/node/child_process.d.ts +1 -1
  93. package/node_modules/@types/node/crypto.d.ts +20 -8
  94. package/node_modules/@types/node/ffi.d.ts +14 -0
  95. package/node_modules/@types/node/http2.d.ts +3 -2
  96. package/node_modules/@types/node/net.d.ts +16 -4
  97. package/node_modules/@types/node/package.json +2 -17
  98. package/node_modules/@types/node/process.d.ts +1 -0
  99. package/node_modules/@types/node/quic.d.ts +39 -1
  100. package/node_modules/@types/node/stream/iter.d.ts +9 -12
  101. package/node_modules/@types/node/test/reporters.d.ts +1 -0
  102. package/node_modules/@types/node/test.d.ts +72 -0
  103. package/node_modules/@types/node/tls.d.ts +14 -10
  104. package/node_modules/@types/node/vm.d.ts +2 -1
  105. package/node_modules/@types/node/web-globals/streams.d.ts +4 -0
  106. package/node_modules/@types/node/worker_threads.d.ts +4 -1
  107. package/node_modules/typebox/build/compile/code.mjs +1 -2
  108. package/node_modules/typebox/build/compile/validator.mjs +5 -1
  109. package/node_modules/typebox/build/format/iri.mjs +16 -9
  110. package/node_modules/typebox/build/guard/emit.mjs +2 -2
  111. package/node_modules/typebox/build/guard/guard.d.mts +7 -5
  112. package/node_modules/typebox/build/guard/guard.mjs +14 -9
  113. package/node_modules/typebox/build/guard/index.mjs +6 -0
  114. package/node_modules/typebox/build/guard/unicode/unicode.d.mts +6 -0
  115. package/node_modules/typebox/build/guard/unicode/unicode.mjs +35 -0
  116. package/node_modules/typebox/build/guard/{string.mjs → unicode/unicode_segment.mjs} +16 -19
  117. package/node_modules/typebox/build/schema/build.mjs +2 -3
  118. package/node_modules/typebox/build/schema/engine/_pathing.d.mts +1 -0
  119. package/node_modules/typebox/build/schema/engine/_pathing.mjs +11 -0
  120. package/node_modules/typebox/build/schema/engine/_refine.mjs +13 -5
  121. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +2 -1
  122. package/node_modules/typebox/build/schema/engine/dependencies.mjs +2 -1
  123. package/node_modules/typebox/build/schema/engine/dependentSchemas.mjs +2 -1
  124. package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +1 -1
  125. package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +2 -2
  126. package/node_modules/typebox/build/schema/engine/format.mjs +9 -2
  127. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +3 -2
  128. package/node_modules/typebox/build/schema/engine/properties.mjs +3 -2
  129. package/node_modules/typebox/build/schema/engine/propertyNames.mjs +2 -1
  130. package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +1 -1
  131. package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +2 -2
  132. package/node_modules/typebox/build/schema/engine/ref.d.mts +1 -1
  133. package/node_modules/typebox/build/schema/engine/ref.mjs +2 -2
  134. package/node_modules/typebox/build/schema/engine/schema.mjs +24 -24
  135. package/node_modules/typebox/build/schema/parse.mjs +3 -0
  136. package/node_modules/typebox/build/schema/pointer/pointer.d.mts +1 -6
  137. package/node_modules/typebox/build/schema/pointer/pointer.mjs +47 -64
  138. package/node_modules/typebox/build/system/settings/internal.d.mts +2 -0
  139. package/node_modules/typebox/build/system/settings/internal.mjs +20 -0
  140. package/node_modules/typebox/build/system/settings/settings.d.mts +11 -0
  141. package/node_modules/typebox/build/system/settings/settings.mjs +14 -0
  142. package/node_modules/typebox/build/type/extends/inference.d.mts +1 -1
  143. package/node_modules/typebox/build/type/extends/inference.mjs +15 -2
  144. package/node_modules/typebox/build/type/extends/tuple.d.mts +2 -1
  145. package/node_modules/typebox/build/type/extends/tuple.mjs +21 -1
  146. package/node_modules/typebox/build/value/parse/parse.mjs +10 -4
  147. package/node_modules/typebox/package.json +1 -1
  148. package/node_modules/typebox/readme.md +3 -1
  149. package/node_modules/zod/README.md +2 -2
  150. package/node_modules/zod/compile.cjs +19 -0
  151. package/node_modules/zod/index.cjs +19 -0
  152. package/node_modules/zod/locales/index.cjs +19 -0
  153. package/node_modules/zod/mini/index.cjs +19 -0
  154. package/node_modules/zod/package.json +8 -7
  155. package/node_modules/zod/src/v3/helpers/errorUtil.ts +1 -1
  156. package/node_modules/zod/src/v4/classic/external.ts +2 -0
  157. package/node_modules/zod/src/v4/classic/from-json-schema.ts +248 -25
  158. package/node_modules/zod/src/v4/classic/schemas.ts +243 -168
  159. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +60 -9
  160. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +6 -0
  161. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +2 -2
  162. package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +265 -0
  163. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +112 -6
  164. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +9 -0
  165. package/node_modules/zod/src/v4/classic/tests/error.test.ts +130 -1
  166. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +157 -0
  167. package/node_modules/zod/src/v4/classic/tests/iban.test.ts +81 -0
  168. package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +40 -2
  169. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +27 -7
  170. package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +88 -56
  171. package/node_modules/zod/src/v4/classic/tests/number.test.ts +39 -0
  172. package/node_modules/zod/src/v4/classic/tests/object.test.ts +56 -0
  173. package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +3 -2
  174. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +70 -0
  175. package/node_modules/zod/src/v4/classic/tests/properties.test.ts +141 -0
  176. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +46 -1
  177. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +19 -0
  178. package/node_modules/zod/src/v4/classic/tests/string.test.ts +95 -1
  179. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +33 -1
  180. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +234 -38
  181. package/node_modules/zod/src/v4/classic/tests/validate.test.ts +569 -0
  182. package/node_modules/zod/src/v4/core/api.ts +44 -28
  183. package/node_modules/zod/src/v4/core/checks.ts +62 -102
  184. package/node_modules/zod/src/v4/core/compile.ts +218 -93
  185. package/node_modules/zod/src/v4/core/core.ts +1 -3
  186. package/node_modules/zod/src/v4/core/doc.ts +6 -2
  187. package/node_modules/zod/src/v4/core/errors.ts +3 -6
  188. package/node_modules/zod/src/v4/core/json-schema-generator.ts +2 -2
  189. package/node_modules/zod/src/v4/core/json-schema-processors.ts +185 -81
  190. package/node_modules/zod/src/v4/core/memoizer.ts +75 -28
  191. package/node_modules/zod/src/v4/core/parse.ts +37 -16
  192. package/node_modules/zod/src/v4/core/regexes.ts +14 -4
  193. package/node_modules/zod/src/v4/core/schemas.ts +296 -132
  194. package/node_modules/zod/src/v4/core/tests/cached.test.ts +54 -0
  195. package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +35 -0
  196. package/node_modules/zod/src/v4/core/tests/compile-generative.test.ts +445 -0
  197. package/node_modules/zod/src/v4/core/tests/compile.test.ts +399 -2
  198. package/node_modules/zod/src/v4/core/tests/email-regex.test.ts +140 -0
  199. package/node_modules/zod/src/v4/core/tests/locales/tg.test.ts +85 -0
  200. package/node_modules/zod/src/v4/core/tests/polyfill-collision.test.ts +46 -0
  201. package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +118 -16
  202. package/node_modules/zod/src/v4/core/to-json-schema.ts +9 -7
  203. package/node_modules/zod/src/v4/core/util.ts +218 -147
  204. package/node_modules/zod/src/v4/core/versions.ts +2 -2
  205. package/node_modules/zod/src/v4/locales/ar.ts +2 -0
  206. package/node_modules/zod/src/v4/locales/az.ts +2 -0
  207. package/node_modules/zod/src/v4/locales/be.ts +2 -0
  208. package/node_modules/zod/src/v4/locales/bg.ts +2 -0
  209. package/node_modules/zod/src/v4/locales/bn.ts +2 -0
  210. package/node_modules/zod/src/v4/locales/ca.ts +2 -0
  211. package/node_modules/zod/src/v4/locales/ckb.ts +2 -0
  212. package/node_modules/zod/src/v4/locales/cs.ts +2 -0
  213. package/node_modules/zod/src/v4/locales/da.ts +2 -0
  214. package/node_modules/zod/src/v4/locales/de.ts +2 -0
  215. package/node_modules/zod/src/v4/locales/el.ts +2 -0
  216. package/node_modules/zod/src/v4/locales/en.ts +2 -0
  217. package/node_modules/zod/src/v4/locales/eo.ts +2 -0
  218. package/node_modules/zod/src/v4/locales/es.ts +2 -0
  219. package/node_modules/zod/src/v4/locales/fa.ts +2 -0
  220. package/node_modules/zod/src/v4/locales/fi.ts +2 -0
  221. package/node_modules/zod/src/v4/locales/fr-CA.ts +2 -0
  222. package/node_modules/zod/src/v4/locales/fr.ts +2 -0
  223. package/node_modules/zod/src/v4/locales/gu.ts +2 -0
  224. package/node_modules/zod/src/v4/locales/he.ts +2 -0
  225. package/node_modules/zod/src/v4/locales/hi.ts +2 -0
  226. package/node_modules/zod/src/v4/locales/hr.ts +2 -0
  227. package/node_modules/zod/src/v4/locales/hu.ts +2 -0
  228. package/node_modules/zod/src/v4/locales/hy.ts +2 -0
  229. package/node_modules/zod/src/v4/locales/id.ts +2 -0
  230. package/node_modules/zod/src/v4/locales/index.ts +1 -0
  231. package/node_modules/zod/src/v4/locales/is.ts +2 -0
  232. package/node_modules/zod/src/v4/locales/it.ts +2 -0
  233. package/node_modules/zod/src/v4/locales/ja.ts +2 -0
  234. package/node_modules/zod/src/v4/locales/ka.ts +2 -0
  235. package/node_modules/zod/src/v4/locales/km.ts +2 -0
  236. package/node_modules/zod/src/v4/locales/kn.ts +2 -0
  237. package/node_modules/zod/src/v4/locales/ko.ts +2 -0
  238. package/node_modules/zod/src/v4/locales/lt.ts +2 -0
  239. package/node_modules/zod/src/v4/locales/mk.ts +2 -0
  240. package/node_modules/zod/src/v4/locales/ms.ts +2 -0
  241. package/node_modules/zod/src/v4/locales/ne.ts +2 -0
  242. package/node_modules/zod/src/v4/locales/nl.ts +2 -0
  243. package/node_modules/zod/src/v4/locales/nn.ts +2 -0
  244. package/node_modules/zod/src/v4/locales/no.ts +2 -0
  245. package/node_modules/zod/src/v4/locales/ota.ts +2 -0
  246. package/node_modules/zod/src/v4/locales/pl.ts +2 -0
  247. package/node_modules/zod/src/v4/locales/ps.ts +2 -0
  248. package/node_modules/zod/src/v4/locales/pt-BR.ts +2 -0
  249. package/node_modules/zod/src/v4/locales/pt.ts +2 -0
  250. package/node_modules/zod/src/v4/locales/ro.ts +2 -0
  251. package/node_modules/zod/src/v4/locales/ru.ts +2 -0
  252. package/node_modules/zod/src/v4/locales/sk.ts +2 -0
  253. package/node_modules/zod/src/v4/locales/sl.ts +2 -0
  254. package/node_modules/zod/src/v4/locales/sv.ts +2 -0
  255. package/node_modules/zod/src/v4/locales/ta.ts +2 -0
  256. package/node_modules/zod/src/v4/locales/tg.ts +135 -0
  257. package/node_modules/zod/src/v4/locales/th.ts +2 -0
  258. package/node_modules/zod/src/v4/locales/tk.ts +2 -0
  259. package/node_modules/zod/src/v4/locales/tr.ts +2 -0
  260. package/node_modules/zod/src/v4/locales/uk.ts +2 -0
  261. package/node_modules/zod/src/v4/locales/ur.ts +2 -0
  262. package/node_modules/zod/src/v4/locales/uz.ts +2 -0
  263. package/node_modules/zod/src/v4/locales/vi.ts +2 -0
  264. package/node_modules/zod/src/v4/locales/yo.ts +2 -0
  265. package/node_modules/zod/src/v4/locales/zh-CN.ts +2 -0
  266. package/node_modules/zod/src/v4/locales/zh-TW.ts +2 -0
  267. package/node_modules/zod/src/v4/mini/external.ts +2 -0
  268. package/node_modules/zod/src/v4/mini/schemas.ts +32 -7
  269. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +1 -1
  270. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +11 -17
  271. package/node_modules/zod/src/v4/mini/tests/index.test.ts +86 -0
  272. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +16 -0
  273. package/node_modules/zod/src/v4/mini/tests/string.test.ts +23 -0
  274. package/node_modules/zod/v3/ZodError.cjs +19 -0
  275. package/node_modules/zod/v3/errors.cjs +19 -0
  276. package/node_modules/zod/v3/external.cjs +19 -0
  277. package/node_modules/zod/v3/helpers/enumUtil.cjs +19 -0
  278. package/node_modules/zod/v3/helpers/errorUtil.cjs +20 -1
  279. package/node_modules/zod/v3/helpers/errorUtil.js +1 -1
  280. package/node_modules/zod/v3/helpers/parseUtil.cjs +19 -0
  281. package/node_modules/zod/v3/helpers/partialUtil.cjs +19 -0
  282. package/node_modules/zod/v3/helpers/typeAliases.cjs +19 -0
  283. package/node_modules/zod/v3/helpers/util.cjs +19 -0
  284. package/node_modules/zod/v3/index.cjs +19 -0
  285. package/node_modules/zod/v3/standard-schema.cjs +19 -0
  286. package/node_modules/zod/v3/types.cjs +19 -0
  287. package/node_modules/zod/v4/classic/checks.cjs +19 -0
  288. package/node_modules/zod/v4/classic/coerce.cjs +19 -0
  289. package/node_modules/zod/v4/classic/compat.cjs +19 -0
  290. package/node_modules/zod/v4/classic/deep-partial.cjs +19 -0
  291. package/node_modules/zod/v4/classic/errors.cjs +19 -0
  292. package/node_modules/zod/v4/classic/external.cjs +22 -1
  293. package/node_modules/zod/v4/classic/external.d.cts +1 -1
  294. package/node_modules/zod/v4/classic/external.d.ts +1 -1
  295. package/node_modules/zod/v4/classic/external.js +1 -1
  296. package/node_modules/zod/v4/classic/from-json-schema.cjs +264 -24
  297. package/node_modules/zod/v4/classic/from-json-schema.js +245 -24
  298. package/node_modules/zod/v4/classic/in-out.cjs +19 -0
  299. package/node_modules/zod/v4/classic/index.cjs +19 -0
  300. package/node_modules/zod/v4/classic/iso.cjs +19 -0
  301. package/node_modules/zod/v4/classic/parse.cjs +19 -0
  302. package/node_modules/zod/v4/classic/schemas.cjs +100 -35
  303. package/node_modules/zod/v4/classic/schemas.d.cts +15 -1
  304. package/node_modules/zod/v4/classic/schemas.d.ts +15 -1
  305. package/node_modules/zod/v4/classic/schemas.js +77 -33
  306. package/node_modules/zod/v4/core/api.cjs +45 -22
  307. package/node_modules/zod/v4/core/api.d.cts +12 -6
  308. package/node_modules/zod/v4/core/api.d.ts +12 -6
  309. package/node_modules/zod/v4/core/api.js +25 -22
  310. package/node_modules/zod/v4/core/checks.cjs +51 -97
  311. package/node_modules/zod/v4/core/checks.d.cts +17 -1
  312. package/node_modules/zod/v4/core/checks.d.ts +17 -1
  313. package/node_modules/zod/v4/core/checks.js +31 -96
  314. package/node_modules/zod/v4/core/compile.cjs +173 -78
  315. package/node_modules/zod/v4/core/compile.d.cts +18 -4
  316. package/node_modules/zod/v4/core/compile.d.ts +18 -4
  317. package/node_modules/zod/v4/core/compile.js +154 -79
  318. package/node_modules/zod/v4/core/core.cjs +20 -1
  319. package/node_modules/zod/v4/core/core.js +1 -1
  320. package/node_modules/zod/v4/core/doc.cjs +26 -2
  321. package/node_modules/zod/v4/core/doc.js +7 -2
  322. package/node_modules/zod/v4/core/errors.cjs +21 -5
  323. package/node_modules/zod/v4/core/errors.js +2 -5
  324. package/node_modules/zod/v4/core/index.cjs +19 -0
  325. package/node_modules/zod/v4/core/json-schema-generator.cjs +20 -1
  326. package/node_modules/zod/v4/core/json-schema-generator.js +2 -2
  327. package/node_modules/zod/v4/core/json-schema-processors.cjs +188 -72
  328. package/node_modules/zod/v4/core/json-schema-processors.d.cts +16 -0
  329. package/node_modules/zod/v4/core/json-schema-processors.d.ts +16 -0
  330. package/node_modules/zod/v4/core/json-schema-processors.js +170 -74
  331. package/node_modules/zod/v4/core/json-schema.cjs +19 -0
  332. package/node_modules/zod/v4/core/memoizer.cjs +111 -23
  333. package/node_modules/zod/v4/core/memoizer.js +69 -23
  334. package/node_modules/zod/v4/core/parse.cjs +56 -16
  335. package/node_modules/zod/v4/core/parse.js +37 -16
  336. package/node_modules/zod/v4/core/regexes.cjs +31 -6
  337. package/node_modules/zod/v4/core/regexes.d.cts +3 -0
  338. package/node_modules/zod/v4/core/regexes.d.ts +3 -0
  339. package/node_modules/zod/v4/core/regexes.js +10 -4
  340. package/node_modules/zod/v4/core/registries.cjs +19 -0
  341. package/node_modules/zod/v4/core/schemas.cjs +302 -114
  342. package/node_modules/zod/v4/core/schemas.d.cts +28 -8
  343. package/node_modules/zod/v4/core/schemas.d.ts +28 -8
  344. package/node_modules/zod/v4/core/schemas.js +279 -113
  345. package/node_modules/zod/v4/core/standard-schema.cjs +19 -0
  346. package/node_modules/zod/v4/core/to-json-schema.cjs +28 -7
  347. package/node_modules/zod/v4/core/to-json-schema.d.cts +4 -3
  348. package/node_modules/zod/v4/core/to-json-schema.d.ts +4 -3
  349. package/node_modules/zod/v4/core/to-json-schema.js +7 -6
  350. package/node_modules/zod/v4/core/util.cjs +177 -143
  351. package/node_modules/zod/v4/core/util.d.cts +25 -4
  352. package/node_modules/zod/v4/core/util.d.ts +25 -4
  353. package/node_modules/zod/v4/core/util.js +156 -143
  354. package/node_modules/zod/v4/core/versions.cjs +21 -2
  355. package/node_modules/zod/v4/core/versions.d.cts +1 -1
  356. package/node_modules/zod/v4/core/versions.d.ts +1 -1
  357. package/node_modules/zod/v4/core/versions.js +2 -2
  358. package/node_modules/zod/v4/core/visit.cjs +19 -0
  359. package/node_modules/zod/v4/index.cjs +19 -0
  360. package/node_modules/zod/v4/locales/ar.cjs +2 -0
  361. package/node_modules/zod/v4/locales/ar.js +2 -0
  362. package/node_modules/zod/v4/locales/az.cjs +2 -0
  363. package/node_modules/zod/v4/locales/az.js +2 -0
  364. package/node_modules/zod/v4/locales/be.cjs +2 -0
  365. package/node_modules/zod/v4/locales/be.js +2 -0
  366. package/node_modules/zod/v4/locales/bg.cjs +2 -0
  367. package/node_modules/zod/v4/locales/bg.js +2 -0
  368. package/node_modules/zod/v4/locales/bn.cjs +2 -0
  369. package/node_modules/zod/v4/locales/bn.js +2 -0
  370. package/node_modules/zod/v4/locales/ca.cjs +2 -0
  371. package/node_modules/zod/v4/locales/ca.js +2 -0
  372. package/node_modules/zod/v4/locales/ckb.cjs +2 -0
  373. package/node_modules/zod/v4/locales/ckb.js +2 -0
  374. package/node_modules/zod/v4/locales/cs.cjs +2 -0
  375. package/node_modules/zod/v4/locales/cs.js +2 -0
  376. package/node_modules/zod/v4/locales/da.cjs +2 -0
  377. package/node_modules/zod/v4/locales/da.js +2 -0
  378. package/node_modules/zod/v4/locales/de.cjs +2 -0
  379. package/node_modules/zod/v4/locales/de.js +2 -0
  380. package/node_modules/zod/v4/locales/el.cjs +2 -0
  381. package/node_modules/zod/v4/locales/el.js +2 -0
  382. package/node_modules/zod/v4/locales/en.cjs +2 -0
  383. package/node_modules/zod/v4/locales/en.js +2 -0
  384. package/node_modules/zod/v4/locales/eo.cjs +2 -0
  385. package/node_modules/zod/v4/locales/eo.js +2 -0
  386. package/node_modules/zod/v4/locales/es.cjs +2 -0
  387. package/node_modules/zod/v4/locales/es.js +2 -0
  388. package/node_modules/zod/v4/locales/fa.cjs +2 -0
  389. package/node_modules/zod/v4/locales/fa.js +2 -0
  390. package/node_modules/zod/v4/locales/fi.cjs +2 -0
  391. package/node_modules/zod/v4/locales/fi.js +2 -0
  392. package/node_modules/zod/v4/locales/fr-CA.cjs +2 -0
  393. package/node_modules/zod/v4/locales/fr-CA.js +2 -0
  394. package/node_modules/zod/v4/locales/fr.cjs +2 -0
  395. package/node_modules/zod/v4/locales/fr.js +2 -0
  396. package/node_modules/zod/v4/locales/gu.cjs +2 -0
  397. package/node_modules/zod/v4/locales/gu.js +2 -0
  398. package/node_modules/zod/v4/locales/he.cjs +2 -0
  399. package/node_modules/zod/v4/locales/he.js +2 -0
  400. package/node_modules/zod/v4/locales/hi.cjs +2 -0
  401. package/node_modules/zod/v4/locales/hi.js +2 -0
  402. package/node_modules/zod/v4/locales/hr.cjs +2 -0
  403. package/node_modules/zod/v4/locales/hr.js +2 -0
  404. package/node_modules/zod/v4/locales/hu.cjs +2 -0
  405. package/node_modules/zod/v4/locales/hu.js +2 -0
  406. package/node_modules/zod/v4/locales/hy.cjs +2 -0
  407. package/node_modules/zod/v4/locales/hy.js +2 -0
  408. package/node_modules/zod/v4/locales/id.cjs +2 -0
  409. package/node_modules/zod/v4/locales/id.js +2 -0
  410. package/node_modules/zod/v4/locales/index.cjs +22 -1
  411. package/node_modules/zod/v4/locales/index.d.cts +1 -0
  412. package/node_modules/zod/v4/locales/index.d.ts +1 -0
  413. package/node_modules/zod/v4/locales/index.js +1 -0
  414. package/node_modules/zod/v4/locales/is.cjs +2 -0
  415. package/node_modules/zod/v4/locales/is.js +2 -0
  416. package/node_modules/zod/v4/locales/it.cjs +2 -0
  417. package/node_modules/zod/v4/locales/it.js +2 -0
  418. package/node_modules/zod/v4/locales/ja.cjs +2 -0
  419. package/node_modules/zod/v4/locales/ja.js +2 -0
  420. package/node_modules/zod/v4/locales/ka.cjs +2 -0
  421. package/node_modules/zod/v4/locales/ka.js +2 -0
  422. package/node_modules/zod/v4/locales/km.cjs +2 -0
  423. package/node_modules/zod/v4/locales/km.js +2 -0
  424. package/node_modules/zod/v4/locales/kn.cjs +2 -0
  425. package/node_modules/zod/v4/locales/kn.js +2 -0
  426. package/node_modules/zod/v4/locales/ko.cjs +2 -0
  427. package/node_modules/zod/v4/locales/ko.js +2 -0
  428. package/node_modules/zod/v4/locales/lt.cjs +2 -0
  429. package/node_modules/zod/v4/locales/lt.js +2 -0
  430. package/node_modules/zod/v4/locales/mk.cjs +2 -0
  431. package/node_modules/zod/v4/locales/mk.js +2 -0
  432. package/node_modules/zod/v4/locales/ms.cjs +2 -0
  433. package/node_modules/zod/v4/locales/ms.js +2 -0
  434. package/node_modules/zod/v4/locales/ne.cjs +2 -0
  435. package/node_modules/zod/v4/locales/ne.js +2 -0
  436. package/node_modules/zod/v4/locales/nl.cjs +2 -0
  437. package/node_modules/zod/v4/locales/nl.js +2 -0
  438. package/node_modules/zod/v4/locales/nn.cjs +2 -0
  439. package/node_modules/zod/v4/locales/nn.js +2 -0
  440. package/node_modules/zod/v4/locales/no.cjs +2 -0
  441. package/node_modules/zod/v4/locales/no.js +2 -0
  442. package/node_modules/zod/v4/locales/ota.cjs +2 -0
  443. package/node_modules/zod/v4/locales/ota.js +2 -0
  444. package/node_modules/zod/v4/locales/pl.cjs +2 -0
  445. package/node_modules/zod/v4/locales/pl.js +2 -0
  446. package/node_modules/zod/v4/locales/ps.cjs +2 -0
  447. package/node_modules/zod/v4/locales/ps.js +2 -0
  448. package/node_modules/zod/v4/locales/pt-BR.cjs +2 -0
  449. package/node_modules/zod/v4/locales/pt-BR.js +2 -0
  450. package/node_modules/zod/v4/locales/pt.cjs +2 -0
  451. package/node_modules/zod/v4/locales/pt.js +2 -0
  452. package/node_modules/zod/v4/locales/ro.cjs +2 -0
  453. package/node_modules/zod/v4/locales/ro.js +2 -0
  454. package/node_modules/zod/v4/locales/ru.cjs +2 -0
  455. package/node_modules/zod/v4/locales/ru.js +2 -0
  456. package/node_modules/zod/v4/locales/sk.cjs +2 -0
  457. package/node_modules/zod/v4/locales/sk.js +2 -0
  458. package/node_modules/zod/v4/locales/sl.cjs +2 -0
  459. package/node_modules/zod/v4/locales/sl.js +2 -0
  460. package/node_modules/zod/v4/locales/sv.cjs +2 -0
  461. package/node_modules/zod/v4/locales/sv.js +2 -0
  462. package/node_modules/zod/v4/locales/ta.cjs +2 -0
  463. package/node_modules/zod/v4/locales/ta.js +2 -0
  464. package/node_modules/zod/v4/locales/tg.cjs +144 -0
  465. package/node_modules/zod/v4/locales/tg.d.cts +5 -0
  466. package/node_modules/zod/v4/locales/tg.d.ts +4 -0
  467. package/node_modules/zod/v4/locales/tg.js +117 -0
  468. package/node_modules/zod/v4/locales/th.cjs +2 -0
  469. package/node_modules/zod/v4/locales/th.js +2 -0
  470. package/node_modules/zod/v4/locales/tk.cjs +2 -0
  471. package/node_modules/zod/v4/locales/tk.js +2 -0
  472. package/node_modules/zod/v4/locales/tr.cjs +2 -0
  473. package/node_modules/zod/v4/locales/tr.js +2 -0
  474. package/node_modules/zod/v4/locales/uk.cjs +2 -0
  475. package/node_modules/zod/v4/locales/uk.js +2 -0
  476. package/node_modules/zod/v4/locales/ur.cjs +2 -0
  477. package/node_modules/zod/v4/locales/ur.js +2 -0
  478. package/node_modules/zod/v4/locales/uz.cjs +2 -0
  479. package/node_modules/zod/v4/locales/uz.js +2 -0
  480. package/node_modules/zod/v4/locales/vi.cjs +2 -0
  481. package/node_modules/zod/v4/locales/vi.js +2 -0
  482. package/node_modules/zod/v4/locales/yo.cjs +2 -0
  483. package/node_modules/zod/v4/locales/yo.js +2 -0
  484. package/node_modules/zod/v4/locales/zh-CN.cjs +2 -0
  485. package/node_modules/zod/v4/locales/zh-CN.js +2 -0
  486. package/node_modules/zod/v4/locales/zh-TW.cjs +2 -0
  487. package/node_modules/zod/v4/locales/zh-TW.js +2 -0
  488. package/node_modules/zod/v4/mini/checks.cjs +19 -0
  489. package/node_modules/zod/v4/mini/coerce.cjs +19 -0
  490. package/node_modules/zod/v4/mini/deep-partial.cjs +19 -0
  491. package/node_modules/zod/v4/mini/external.cjs +22 -1
  492. package/node_modules/zod/v4/mini/external.d.cts +1 -1
  493. package/node_modules/zod/v4/mini/external.d.ts +1 -1
  494. package/node_modules/zod/v4/mini/external.js +1 -1
  495. package/node_modules/zod/v4/mini/in-out.cjs +19 -0
  496. package/node_modules/zod/v4/mini/index.cjs +19 -0
  497. package/node_modules/zod/v4/mini/iso.cjs +19 -0
  498. package/node_modules/zod/v4/mini/parse.cjs +19 -0
  499. package/node_modules/zod/v4/mini/schemas.cjs +44 -8
  500. package/node_modules/zod/v4/mini/schemas.d.cts +6 -1
  501. package/node_modules/zod/v4/mini/schemas.d.ts +6 -1
  502. package/node_modules/zod/v4/mini/schemas.js +21 -6
  503. package/node_modules/zod/v4-mini/index.cjs +19 -0
  504. package/openclaw.plugin.json +21 -1
  505. package/package.json +9 -6
  506. package/dist/.setup/agent-components.runtime-CEPrf2SY.mjs +0 -4
  507. package/dist/.setup/message-handler.history-CJOsN9w5.mjs +0 -28
  508. package/dist/.setup/probe.runtime-DBQ_AGPe.mjs +0 -2
  509. package/dist/.setup/provider-session.runtime-BW7QrF5C.mjs +0 -6
  510. package/dist/.setup/provider.runtime-DuhmKdDU.mjs +0 -2
  511. package/dist/.setup/security-audit.runtime-DHtYenx9.mjs +0 -2
  512. package/dist/.setup/setup-plugin-api-CINIEBLa.mjs +0 -3
  513. package/dist/.setup/system-events-B2YEEMbS.mjs +0 -34
  514. package/dist/.setup/targets-D1mAB5yO.mjs +0 -3
  515. package/dist/.setup/thread-bindings.manager-eexkKyrG.mjs +0 -678
  516. package/dist/.setup/thread-bindings.session-updates-DCQq1WZ5.mjs +0 -55
  517. /package/node_modules/typebox/build/guard/{string.d.mts → unicode/unicode_segment.d.mts} +0 -0
@@ -1,6 +1,6 @@
1
- import { t as createDiscordActionGate } from "./accounts-CwJQoLjM.mjs";
2
- import { c as createDiscordSendReceiptFromResults, i as hasDiscordMessageCreateAmbiguity, o as chunkDiscordTextWithMode, p as resolveDiscordReplyReference, s as createDiscordSendReceipt, t as canFallbackDiscordWebhookSend, u as toDiscordOutboundDeliveryResult, v as normalizeDiscordOutboundTarget } from "./retry-DBfcEgmO.mjs";
3
- import { a as resolveDiscordComponentSpec, b as discordInboundEventDelivery, c as formatDiscordApprovalDisplayValue, n as DISCORD_PRESENTATION_CAPABILITIES, o as sendDiscordComponentMessageLazy, r as buildDiscordPresentationPayload, x as notifyDiscordInboundEventOutboundPayloadSuccess } from "./outbound-session-route-CqWbuMOm.mjs";
1
+ import { t as createDiscordActionGate } from "./accounts-ChaMcixG.mjs";
2
+ import { b as parseDiscordTarget, c as createDiscordSendReceipt, d as toDiscordOutboundDeliveryResult, i as hasDiscordMessageCreateAmbiguity, l as createDiscordSendReceiptFromResults, m as resolveDiscordReplyReference, o as chunkDiscordTextWithMode, t as canFallbackDiscordWebhookSend, v as normalizeDiscordMessagingTarget, y as normalizeDiscordOutboundTarget } from "./retry-pz_cSha2.mjs";
3
+ import { a as resolveDiscordComponentSpec, b as discordInboundEventDelivery, c as formatDiscordApprovalDisplayValue, g as resolveDiscordCurrentConversationIdentity, n as DISCORD_PRESENTATION_CAPABILITIES, o as sendDiscordComponentMessageLazy, r as buildDiscordPresentationPayload, x as notifyDiscordInboundEventOutboundPayloadSuccess } from "./outbound-session-route-zVGxxceg.mjs";
4
4
  import { expectDefined } from "openclaw/plugin-sdk/expect-runtime";
5
5
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { getReplyPayloadTtsSupplement, resolvePayloadMediaUrls, sendPayloadMediaSequenceOrFallback, sendTextMediaPayload } from "openclaw/plugin-sdk/reply-payload";
@@ -10,6 +10,98 @@ import { createReplyToFanout, resolveOutboundSendDep } from "openclaw/plugin-sdk
10
10
  import { attachChannelToResult, createAttachedChannelResultAdapter } from "openclaw/plugin-sdk/channel-send-result";
11
11
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
12
12
  import { questionGatewayRuntime } from "openclaw/plugin-sdk/question-gateway-runtime";
13
+ //#region extensions/discord/src/channel.conversation.ts
14
+ function resolveDiscordAttachedOutboundTarget(params) {
15
+ if (params.threadId == null) return params.to;
16
+ const threadId = normalizeOptionalStringifiedId(params.threadId) ?? "";
17
+ return threadId ? `channel:${threadId}` : params.to;
18
+ }
19
+ function buildDiscordCrossContextPresentation(params) {
20
+ return {
21
+ tone: "neutral",
22
+ blocks: [...params.message.trim() ? [{
23
+ type: "text",
24
+ text: params.message
25
+ }, { type: "divider" }] : [], {
26
+ type: "context",
27
+ text: `From ${params.originLabel}`
28
+ }]
29
+ };
30
+ }
31
+ function normalizeDiscordAcpConversationId(conversationId) {
32
+ const normalized = conversationId.trim();
33
+ return normalized ? { conversationId: normalized } : null;
34
+ }
35
+ function matchDiscordAcpConversation(params) {
36
+ if (params.bindingConversationId === params.conversationId) return {
37
+ conversationId: params.conversationId,
38
+ matchPriority: 2
39
+ };
40
+ if (params.parentConversationId && params.parentConversationId !== params.conversationId && params.bindingConversationId === params.parentConversationId) return {
41
+ conversationId: params.parentConversationId,
42
+ matchPriority: 1
43
+ };
44
+ return null;
45
+ }
46
+ function resolveDiscordConversationIdFromTargets(targets) {
47
+ for (const raw of targets) {
48
+ const trimmed = raw?.trim();
49
+ if (!trimmed) continue;
50
+ try {
51
+ const target = parseDiscordTarget(trimmed, { defaultKind: "channel" });
52
+ if (target?.normalized) return target.normalized;
53
+ } catch {}
54
+ }
55
+ }
56
+ function parseDiscordParentChannelFromSessionKey(raw) {
57
+ const sessionKey = normalizeLowercaseStringOrEmpty(raw);
58
+ if (!sessionKey) return;
59
+ const match = sessionKey.match(/(?:^|:)channel:([^:]+)$/);
60
+ return match?.[1] ? `channel:${match[1]}` : void 0;
61
+ }
62
+ function resolveDiscordCommandConversation(params) {
63
+ const threadConversation = resolveDiscordThreadConversationRef(params);
64
+ if (threadConversation) return threadConversation;
65
+ const conversationId = resolveDiscordCurrentConversationIdentity({
66
+ from: params.from,
67
+ chatType: params.chatType,
68
+ originatingTo: params.originatingTo,
69
+ commandTo: params.commandTo,
70
+ fallbackTo: params.fallbackTo
71
+ });
72
+ return conversationId ? { conversationId } : null;
73
+ }
74
+ function resolveDiscordThreadConversationRef(params) {
75
+ const threadId = normalizeOptionalStringifiedId(params.threadId);
76
+ if (!threadId) return null;
77
+ const targets = [
78
+ params.originatingTo ?? params.to,
79
+ params.commandTo,
80
+ params.fallbackTo ?? params.conversationId
81
+ ];
82
+ const parentConversationId = normalizeDiscordMessagingTarget(normalizeOptionalStringifiedId(params.threadParentId) ?? "") || parseDiscordParentChannelFromSessionKey(params.parentSessionKey) || resolveDiscordConversationIdFromTargets(targets);
83
+ return {
84
+ conversationId: threadId,
85
+ ...parentConversationId && parentConversationId !== threadId ? { parentConversationId } : {}
86
+ };
87
+ }
88
+ function resolveDiscordInboundConversation(params) {
89
+ const threadConversation = resolveDiscordThreadConversationRef({
90
+ to: params.to,
91
+ conversationId: params.conversationId,
92
+ threadId: params.threadId,
93
+ threadParentId: params.threadParentId
94
+ });
95
+ if (threadConversation) return threadConversation;
96
+ const conversationId = resolveDiscordCurrentConversationIdentity({
97
+ from: params.from,
98
+ chatType: params.isGroup ? "group" : "direct",
99
+ originatingTo: params.to,
100
+ fallbackTo: params.conversationId
101
+ });
102
+ return conversationId ? { conversationId } : null;
103
+ }
104
+ //#endregion
13
105
  //#region extensions/discord/src/media-detection.ts
14
106
  const DISCORD_VIDEO_MEDIA_EXTENSIONS = /* @__PURE__ */ new Set([
15
107
  ".avi",
@@ -59,13 +151,7 @@ function normalizeDiscordApprovalPayload(payload) {
59
151
  }
60
152
  //#endregion
61
153
  //#region extensions/discord/src/outbound-send-context.ts
62
- const loadDiscordSendRuntime = createLazyRuntimeModule(() => import("./send-CKDczUNL.mjs").then((n) => n.t));
63
- function resolveDiscordOutboundTarget(params) {
64
- if (params.threadId == null) return params.to;
65
- const threadId = normalizeOptionalStringifiedId(params.threadId) ?? "";
66
- if (!threadId) return params.to;
67
- return `channel:${threadId}`;
68
- }
154
+ const loadDiscordSendRuntime = createLazyRuntimeModule(() => import("./send-CrfEI6Bs.mjs").then((n) => n.t));
69
155
  function resolveDiscordFormattingOptions(ctx) {
70
156
  const formatting = ctx.formatting;
71
157
  return {
@@ -79,7 +165,7 @@ async function createDiscordPayloadSendContext(ctx) {
79
165
  const runtime = await loadDiscordSendRuntime();
80
166
  const nextReplyToId = createReplyToFanout(ctx);
81
167
  return {
82
- target: resolveDiscordOutboundTarget({
168
+ target: resolveDiscordAttachedOutboundTarget({
83
169
  to: ctx.to,
84
170
  threadId: ctx.threadId
85
171
  }),
@@ -280,8 +366,8 @@ async function sendDiscordOutboundPayload(params) {
280
366
  const DISCORD_TEXT_CHUNK_LIMIT = 2e3;
281
367
  const DISCORD_PRECHUNK_MAX_LINES = Number.MAX_SAFE_INTEGER;
282
368
  const log = createSubsystemLogger("discord/outbound");
283
- const loadDiscordThreadBindings = createLazyRuntimeModule(() => import("./thread-bindings-CK5272V3.mjs").then((n) => n.t));
284
- const loadDiscordComponentSendRuntime = createLazyRuntimeModule(() => import("./send.components-DWQjXhPV.mjs").then((n) => n.i));
369
+ const loadDiscordThreadBindings = createLazyRuntimeModule(() => import("./thread-bindings-D7TfgjR_.mjs").then((n) => n.i));
370
+ const loadDiscordComponentSendRuntime = createLazyRuntimeModule(() => import("./send.components-DxQAMfES.mjs").then((n) => n.i));
285
371
  function resolveDiscordDeliveryOptions(params) {
286
372
  return {
287
373
  onPlatformSendDispatch: params.onPlatformSendDispatch,
@@ -323,7 +409,7 @@ async function resolveDiscordOutboundMessageSend(params) {
323
409
  });
324
410
  return {
325
411
  send,
326
- target: resolveDiscordOutboundTarget({
412
+ target: resolveDiscordAttachedOutboundTarget({
327
413
  to: params.to,
328
414
  threadId: params.threadId
329
415
  }),
@@ -427,7 +513,7 @@ const discordOutbound = {
427
513
  cfg,
428
514
  accountId
429
515
  })("polls")) throw new Error("Discord polls are disabled.");
430
- const outboundTo = resolveDiscordOutboundTarget({
516
+ const outboundTo = resolveDiscordAttachedOutboundTarget({
431
517
  to,
432
518
  threadId
433
519
  });
@@ -456,7 +542,7 @@ const discordOutbound = {
456
542
  afterDeliverPayload: async ({ cfg, target, payload, results }) => {
457
543
  notifyDiscordInboundEventOutboundPayloadSuccess({
458
544
  payload,
459
- to: resolveDiscordOutboundTarget({
545
+ to: resolveDiscordAttachedOutboundTarget({
460
546
  to: target.to,
461
547
  threadId: target.threadId
462
548
  }),
@@ -466,7 +552,7 @@ const discordOutbound = {
466
552
  const result = results.find((candidate) => candidate.channel === "discord" && candidate.messageId);
467
553
  const componentSpec = questionId ? await resolveDiscordComponentSpec(payload) : void 0;
468
554
  if (questionId && result && componentSpec) {
469
- const to = resolveDiscordOutboundTarget({
555
+ const to = resolveDiscordAttachedOutboundTarget({
470
556
  to: target.to,
471
557
  threadId: target.threadId
472
558
  });
@@ -495,8 +581,8 @@ const discordOutbound = {
495
581
  const { getThreadBindingManager } = await loadDiscordThreadBindings();
496
582
  const manager = getThreadBindingManager(target.accountId ?? void 0);
497
583
  if (!manager?.getByThreadId(threadId)) return;
498
- manager.touchThread({ threadId });
584
+ await manager.touchThread({ threadId });
499
585
  }
500
586
  };
501
587
  //#endregion
502
- export { discordOutbound as n, DISCORD_TEXT_CHUNK_LIMIT as t };
588
+ export { normalizeDiscordAcpConversationId as a, resolveDiscordInboundConversation as c, matchDiscordAcpConversation as i, discordOutbound as n, resolveDiscordAttachedOutboundTarget as o, buildDiscordCrossContextPresentation as r, resolveDiscordCommandConversation as s, DISCORD_TEXT_CHUNK_LIMIT as t };
@@ -1,9 +1,9 @@
1
- import { h as readDiscordComponentSpec, m as coerceDiscordComponentParam } from "./components-MqMWUWnE.mjs";
2
- import { t as isDiscordThreadChannelType } from "./channel-type-DKnjV1XW.mjs";
3
- import { c as resolveDiscordAccount, r as listDiscordAccountIds, t as createDiscordActionGate } from "./accounts-CwJQoLjM.mjs";
4
- import { _ as normalizeDiscordMessagingTarget, g as matchesDiscordToolContextTarget, y as parseDiscordTarget } from "./retry-DBfcEgmO.mjs";
1
+ import { h as readDiscordComponentSpec, m as coerceDiscordComponentParam } from "./components-Cq1PvIpN.mjs";
2
+ import { t as isDiscordThreadChannelType } from "./channel-type-DRCrEMss.mjs";
3
+ import { c as resolveDiscordAccount, r as listDiscordAccountIds, t as createDiscordActionGate } from "./accounts-ChaMcixG.mjs";
4
+ import { _ as matchesDiscordToolContextTarget, b as parseDiscordTarget, v as normalizeDiscordMessagingTarget } from "./retry-pz_cSha2.mjs";
5
5
  import { n as resolveDiscordCommandOwnerEntries } from "./command-owners-D78sAoOz.mjs";
6
- import { t as inspectDiscordAccount } from "./account-inspect-BwQj24ht.mjs";
6
+ import { t as inspectDiscordAccount } from "./account-inspect-De8hOUxG.mjs";
7
7
  import { ChannelType } from "discord-api-types/v10";
8
8
  import { Type } from "typebox";
9
9
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
@@ -13,10 +13,8 @@ import { resolveAskUserQuestionOptionIndices } from "openclaw/plugin-sdk/reply-p
13
13
  import { createLazyRuntimeModule, createLazyRuntimeNamedExport } from "openclaw/plugin-sdk/lazy-runtime";
14
14
  import { createUnionActionGate } from "openclaw/plugin-sdk/channel-actions";
15
15
  import { buildThreadAwareOutboundSessionRoute } from "openclaw/plugin-sdk/channel-core";
16
- import { createChannelApproverDmTargetResolver, createChannelNativeOriginTargetResolver } from "openclaw/plugin-sdk/approval-native-runtime";
17
16
  import { getExecApprovalReplyMetadata, isChannelExecApprovalClientEnabledFromConfig, matchesApprovalRequestFilters } from "openclaw/plugin-sdk/approval-client-runtime";
18
17
  import { resolveApprovalApprovers } from "openclaw/plugin-sdk/approval-auth-runtime";
19
- import { createApproverRestrictedNativeApprovalCapability } from "openclaw/plugin-sdk/approval-delivery-runtime";
20
18
  import { extractToolSend } from "openclaw/plugin-sdk/tool-send";
21
19
  import { createInboundEventDeliveryCorrelation } from "openclaw/plugin-sdk/inbound-event-delivery";
22
20
  //#region extensions/discord/src/exec-approvals.ts
@@ -91,11 +89,6 @@ function resolveRequiredDiscordChannelPermissions(channelType) {
91
89
  if (channelType === ChannelType.GuildVoice || channelType === ChannelType.GuildStageVoice) return [...REQUIRED_VOICE_CHANNEL_PERMISSIONS];
92
90
  return [...REQUIRED_TEXT_CHANNEL_PERMISSIONS];
93
91
  }
94
- function shouldAuditChannelConfig(config) {
95
- if (!config) return true;
96
- if (config.enabled === false) return false;
97
- return true;
98
- }
99
92
  function listConfiguredGuildChannelKeys(guilds) {
100
93
  if (!guilds) return [];
101
94
  const ids = /* @__PURE__ */ new Set();
@@ -107,7 +100,7 @@ function listConfiguredGuildChannelKeys(guilds) {
107
100
  const channelId = normalizeOptionalString(key) ?? "";
108
101
  if (!channelId) continue;
109
102
  if (channelId === "*") continue;
110
- if (!shouldAuditChannelConfig(value)) continue;
103
+ if (value?.enabled === false) continue;
111
104
  ids.add(channelId);
112
105
  }
113
106
  }
@@ -271,103 +264,133 @@ function matchesCurrentDiscordThread(params) {
271
264
  toolContext: params.toolContext
272
265
  });
273
266
  }
274
- const loadDiscordChannelActionsRuntime = createLazyRuntimeModule(() => import("./channel-actions.runtime-CJmiFfps.mjs"));
275
- function listDiscoverableDiscordAccounts(cfg) {
276
- return listDiscordAccountIds(cfg).map((accountId) => inspectDiscordAccount({
277
- cfg,
278
- accountId
279
- })).filter((account) => account.enabled && account.configured);
280
- }
281
- function resolveDiscordActionDiscovery(cfg) {
282
- const accounts = listDiscoverableDiscordAccounts(cfg);
283
- if (accounts.length === 0) return null;
284
- const unionGate = createUnionActionGate(accounts, (account) => createDiscordActionGate({
285
- cfg,
286
- accountId: account.accountId
287
- }));
288
- return { isEnabled: (key, defaultValue = true) => unionGate(key, defaultValue) };
289
- }
290
- function resolveScopedDiscordActionDiscovery(params) {
291
- if (!params.accountId) return resolveDiscordActionDiscovery(params.cfg);
292
- const account = inspectDiscordAccount({
293
- cfg: params.cfg,
294
- accountId: params.accountId
295
- });
296
- if (!account.enabled || !account.configured) return null;
297
- const gate = createDiscordActionGate({
298
- cfg: params.cfg,
299
- accountId: account.accountId
300
- });
301
- return { isEnabled: (key, defaultValue = true) => gate(key, defaultValue) };
302
- }
267
+ const loadDiscordChannelActionsRuntime = createLazyRuntimeModule(() => import("./handle-action-CUvQWnE7.mjs"));
268
+ const discordActionGroups = [
269
+ {
270
+ gate: "polls",
271
+ actions: ["poll"]
272
+ },
273
+ {
274
+ gate: "reactions",
275
+ actions: [
276
+ "react",
277
+ "reactions",
278
+ "emoji-list"
279
+ ]
280
+ },
281
+ {
282
+ gate: "messages",
283
+ actions: [
284
+ "upload-file",
285
+ "read",
286
+ "edit",
287
+ "delete"
288
+ ]
289
+ },
290
+ {
291
+ gate: "pins",
292
+ actions: [
293
+ "pin",
294
+ "unpin",
295
+ "list-pins"
296
+ ]
297
+ },
298
+ {
299
+ gate: "permissions",
300
+ actions: ["permissions"]
301
+ },
302
+ {
303
+ gate: "threads",
304
+ actions: [
305
+ "thread-create",
306
+ "thread-list",
307
+ "thread-reply"
308
+ ]
309
+ },
310
+ {
311
+ gate: "search",
312
+ actions: ["search"]
313
+ },
314
+ {
315
+ gate: "stickers",
316
+ actions: ["sticker"]
317
+ },
318
+ {
319
+ gate: "memberInfo",
320
+ actions: ["member-info"]
321
+ },
322
+ {
323
+ gate: "roleInfo",
324
+ actions: ["role-info"]
325
+ },
326
+ {
327
+ gate: "emojiUploads",
328
+ actions: ["emoji-upload"]
329
+ },
330
+ {
331
+ gate: "stickerUploads",
332
+ actions: ["sticker-upload"]
333
+ },
334
+ {
335
+ gate: "roles",
336
+ actions: ["role-add", "role-remove"],
337
+ defaultEnabled: false
338
+ },
339
+ {
340
+ gate: "channelInfo",
341
+ actions: ["channel-info", "channel-list"]
342
+ },
343
+ {
344
+ gate: "channels",
345
+ actions: [
346
+ "channel-create",
347
+ "channel-edit",
348
+ "channel-delete",
349
+ "channel-move",
350
+ "category-create",
351
+ "category-edit",
352
+ "category-delete"
353
+ ]
354
+ },
355
+ {
356
+ gate: "voiceStatus",
357
+ actions: ["voice-status"]
358
+ },
359
+ {
360
+ gate: "events",
361
+ actions: ["event-list", "event-create"]
362
+ },
363
+ {
364
+ gate: "moderation",
365
+ actions: [
366
+ "timeout",
367
+ "kick",
368
+ "ban"
369
+ ],
370
+ defaultEnabled: false
371
+ },
372
+ {
373
+ gate: "presence",
374
+ actions: ["set-presence"],
375
+ defaultEnabled: false
376
+ }
377
+ ];
303
378
  function describeDiscordMessageTool({ cfg, accountId }) {
304
- const discovery = resolveScopedDiscordActionDiscovery({
379
+ const accounts = (accountId ? [accountId] : listDiscordAccountIds(cfg)).map((id) => inspectDiscordAccount({
305
380
  cfg,
306
- accountId
307
- });
308
- if (!discovery) return {
381
+ accountId: id
382
+ })).filter((account) => account.enabled && account.configured);
383
+ if (accounts.length === 0) return {
309
384
  actions: [],
310
385
  capabilities: [],
311
386
  schema: null
312
387
  };
388
+ const isEnabled = createUnionActionGate(accounts, (account) => createDiscordActionGate({
389
+ cfg,
390
+ accountId: account.accountId
391
+ }));
313
392
  const actions = /* @__PURE__ */ new Set(["send"]);
314
- if (discovery.isEnabled("polls")) actions.add("poll");
315
- if (discovery.isEnabled("reactions")) {
316
- actions.add("react");
317
- actions.add("reactions");
318
- actions.add("emoji-list");
319
- }
320
- if (discovery.isEnabled("messages")) {
321
- actions.add("upload-file");
322
- actions.add("read");
323
- actions.add("edit");
324
- actions.add("delete");
325
- }
326
- if (discovery.isEnabled("pins")) {
327
- actions.add("pin");
328
- actions.add("unpin");
329
- actions.add("list-pins");
330
- }
331
- if (discovery.isEnabled("permissions")) actions.add("permissions");
332
- if (discovery.isEnabled("threads")) {
333
- actions.add("thread-create");
334
- actions.add("thread-list");
335
- actions.add("thread-reply");
336
- }
337
- if (discovery.isEnabled("search")) actions.add("search");
338
- if (discovery.isEnabled("stickers")) actions.add("sticker");
339
- if (discovery.isEnabled("memberInfo")) actions.add("member-info");
340
- if (discovery.isEnabled("roleInfo")) actions.add("role-info");
341
- if (discovery.isEnabled("emojiUploads")) actions.add("emoji-upload");
342
- if (discovery.isEnabled("stickerUploads")) actions.add("sticker-upload");
343
- if (discovery.isEnabled("roles", false)) {
344
- actions.add("role-add");
345
- actions.add("role-remove");
346
- }
347
- if (discovery.isEnabled("channelInfo")) {
348
- actions.add("channel-info");
349
- actions.add("channel-list");
350
- }
351
- if (discovery.isEnabled("channels")) {
352
- actions.add("channel-create");
353
- actions.add("channel-edit");
354
- actions.add("channel-delete");
355
- actions.add("channel-move");
356
- actions.add("category-create");
357
- actions.add("category-edit");
358
- actions.add("category-delete");
359
- }
360
- if (discovery.isEnabled("voiceStatus")) actions.add("voice-status");
361
- if (discovery.isEnabled("events")) {
362
- actions.add("event-list");
363
- actions.add("event-create");
364
- }
365
- if (discovery.isEnabled("moderation", false)) {
366
- actions.add("timeout");
367
- actions.add("kick");
368
- actions.add("ban");
369
- }
370
- if (discovery.isEnabled("presence", false)) actions.add("set-presence");
393
+ for (const group of discordActionGroups) if (isEnabled(group.gate, group.defaultEnabled ?? true)) for (const action of group.actions) actions.add(action);
371
394
  const schema = [];
372
395
  if (actions.has("react")) schema.push({
373
396
  actions: ["react", "reactions"],
@@ -468,7 +491,7 @@ const discordMessageActions = {
468
491
  }
469
492
  };
470
493
  },
471
- handleAction: async ({ action, params, cfg, accountId, requesterAccountId, requesterSenderId, senderIsOwner, toolContext, mediaAccess, mediaLocalRoots, mediaReadFile, sessionKey, inboundEventKind, conversationReadOrigin, reply, assertDirectAdapterHandoff }) => {
494
+ handleAction: async ({ action, params, cfg, accountId, requesterAccountId, requesterSenderId, senderIsOwner, toolContext, mediaAccess, mediaLocalRoots, mediaReadFile, sessionKey, inboundEventKind, conversationReadOrigin, reply, progressSnapshot, assertDirectAdapterHandoff }) => {
472
495
  return await (await loadDiscordChannelActionsRuntime()).handleDiscordMessageAction({
473
496
  action,
474
497
  params,
@@ -485,6 +508,7 @@ const discordMessageActions = {
485
508
  ...requesterAccountId ? { requesterAccountId } : {},
486
509
  ...conversationReadOrigin ? { conversationReadOrigin } : {},
487
510
  ...reply ? { reply } : {},
511
+ ...progressSnapshot ? { progressSnapshot } : {},
488
512
  ...assertDirectAdapterHandoff ? { assertDirectAdapterHandoff } : {}
489
513
  });
490
514
  }
@@ -540,7 +564,7 @@ function buildDiscordConversationRouteContext(params) {
540
564
  };
541
565
  }
542
566
  function resolveDiscordConversationRoute(params) {
543
- return resolveAgentRoute({
567
+ const input = {
544
568
  cfg: params.cfg,
545
569
  channel: "discord",
546
570
  accountId: params.accountId,
@@ -551,7 +575,16 @@ function resolveDiscordConversationRoute(params) {
551
575
  kind: "channel",
552
576
  id: params.parentConversationId
553
577
  } : void 0
554
- });
578
+ };
579
+ try {
580
+ return resolveAgentRoute(input);
581
+ } catch (error) {
582
+ if (!params.defaultAgentId || !(error instanceof Error) || !("code" in error) || error.code !== "AGENT_SELECTION_REQUIRED") throw error;
583
+ return resolveAgentRoute({
584
+ ...input,
585
+ defaultAgentId: params.defaultAgentId
586
+ });
587
+ }
555
588
  }
556
589
  function resolveDiscordBoundConversationRoute(params) {
557
590
  return resolveDiscordEffectiveRoute({
@@ -680,11 +713,11 @@ const DISCORD_PRESENTATION_CAPABILITIES = {
680
713
  }
681
714
  }
682
715
  };
683
- const loadDiscordComponentSend = createLazyRuntimeNamedExport(() => import("./send.components-DWQjXhPV.mjs").then((n) => n.i), "sendDiscordComponentMessage");
716
+ const loadDiscordComponentSend = createLazyRuntimeNamedExport(() => import("./send.components-DxQAMfES.mjs").then((n) => n.i), "sendDiscordComponentMessage");
684
717
  async function sendDiscordComponentMessageLazy(...args) {
685
718
  return await (await loadDiscordComponentSend())(...args);
686
719
  }
687
- const loadDiscordSharedInteractive = createLazyRuntimeModule(() => import("./components-MqMWUWnE.mjs").then((n) => n.a));
720
+ const loadDiscordSharedInteractive = createLazyRuntimeModule(() => import("./components-Cq1PvIpN.mjs").then((n) => n.a));
688
721
  function addPayloadTextFallback(spec, payload) {
689
722
  return spec.text ? spec : {
690
723
  ...spec,
@@ -790,4 +823,4 @@ function resolveDiscordOutboundTargetKindHint(params) {
790
823
  return "channel";
791
824
  }
792
825
  //#endregion
793
- export { createChannelApproverDmTargetResolver as A, collectDiscordAuditChannelIdsForAccount as C, isDiscordExecApprovalClientEnabled as D, isDiscordExecApprovalApprover as E, isChannelExecApprovalClientEnabledFromConfig as M, matchesApprovalRequestFilters as N, shouldSuppressLocalDiscordExecApprovalPrompt as O, auditDiscordChannelPermissionsWithFetcher as S, getDiscordExecApprovalApprovers as T, resolveDiscordRuntimeBindingConversationId as _, resolveDiscordComponentSpec as a, discordInboundEventDelivery as b, formatDiscordApprovalDisplayValue as c, resolveDiscordBoundConversationRoute as d, resolveDiscordConversationRoute as f, resolveDiscordCurrentConversationIdentity as g, resolveDiscordConversationIdentity as h, isDiscordComponentSpecWithinMessageLimit as i, createChannelNativeOriginTargetResolver as j, createApproverRestrictedNativeApprovalCapability as k, buildDiscordConversationRouteContext as l, shouldIgnoreStaleDiscordRouteBinding as m, DISCORD_PRESENTATION_CAPABILITIES as n, sendDiscordComponentMessageLazy as o, resolveDiscordEffectiveRoute as p, buildDiscordPresentationPayload as r, DISCORD_APPROVAL_ALLOWED_MENTIONS as s, resolveDiscordOutboundSessionRoute as t, buildDiscordRoutePeer as u, discordMessageActions as v, resolveRequiredDiscordChannelPermissions as w, notifyDiscordInboundEventOutboundPayloadSuccess as x, isTrustedRequesterGuildAdminAction as y };
826
+ export { collectDiscordAuditChannelIdsForAccount as C, isDiscordExecApprovalClientEnabled as D, isDiscordExecApprovalApprover as E, shouldSuppressLocalDiscordExecApprovalPrompt as O, auditDiscordChannelPermissionsWithFetcher as S, getDiscordExecApprovalApprovers as T, resolveDiscordRuntimeBindingConversationId as _, resolveDiscordComponentSpec as a, discordInboundEventDelivery as b, formatDiscordApprovalDisplayValue as c, resolveDiscordBoundConversationRoute as d, resolveDiscordConversationRoute as f, resolveDiscordCurrentConversationIdentity as g, resolveDiscordConversationIdentity as h, isDiscordComponentSpecWithinMessageLimit as i, buildDiscordConversationRouteContext as l, shouldIgnoreStaleDiscordRouteBinding as m, DISCORD_PRESENTATION_CAPABILITIES as n, sendDiscordComponentMessageLazy as o, resolveDiscordEffectiveRoute as p, buildDiscordPresentationPayload as r, DISCORD_APPROVAL_ALLOWED_MENTIONS as s, resolveDiscordOutboundSessionRoute as t, buildDiscordRoutePeer as u, discordMessageActions as v, resolveRequiredDiscordChannelPermissions as w, notifyDiscordInboundEventOutboundPayloadSuccess as x, isTrustedRequesterGuildAdminAction as y };
@@ -1,4 +1,4 @@
1
- import { Ut as __exportAll } from "./discord-BXpHW-cu.mjs";
1
+ import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
2
2
  import { resolveFetch } from "openclaw/plugin-sdk/fetch-runtime";
3
3
  import { readProviderJsonObjectResponse, readResponseTextLimited } from "openclaw/plugin-sdk/provider-http";
4
4
  import { buildTimeoutAbortSignal } from "openclaw/plugin-sdk/extension-shared";
@@ -16,7 +16,8 @@ const AUDIO_ATTACHMENT_MIME_BY_EXT = /* @__PURE__ */ new Map([
16
16
  function inferAudioAttachmentMime(attachment) {
17
17
  const contentType = normalizeOptionalString(attachment.content_type);
18
18
  if (contentType?.startsWith("audio/")) return contentType;
19
- if (typeof attachment.duration_secs === "number" || typeof normalizeOptionalString(attachment.waveform) === "string") return "audio/ogg";
19
+ if (typeof normalizeOptionalString(attachment.waveform) === "string") return "audio/ogg";
20
+ if (!(contentType?.startsWith("video/") === true || contentType?.startsWith("image/") === true) && typeof attachment.duration_secs === "number") return "audio/ogg";
20
21
  const ext = getFileExtension(attachment.filename ?? attachment.url);
21
22
  return ext ? AUDIO_ATTACHMENT_MIME_BY_EXT.get(ext) : void 0;
22
23
  }
@@ -9,7 +9,6 @@ const presenceCache = /* @__PURE__ */ new Map();
9
9
  function resolveAccountKey(accountId) {
10
10
  return accountId ?? "default";
11
11
  }
12
- /** Update cached presence for a user. */
13
12
  function setPresence(accountId, userId, data) {
14
13
  const accountKey = resolveAccountKey(accountId);
15
14
  let accountCache = presenceCache.get(accountKey);
@@ -23,11 +22,9 @@ function setPresence(accountId, userId, data) {
23
22
  if (oldest !== void 0) accountCache.delete(oldest);
24
23
  }
25
24
  }
26
- /** Get cached presence for a user. Returns undefined if not cached. */
27
25
  function getPresence(accountId, userId) {
28
26
  return presenceCache.get(resolveAccountKey(accountId))?.get(userId);
29
27
  }
30
- /** Clear cached presence data. */
31
28
  function clearPresences(accountId) {
32
29
  if (accountId) {
33
30
  presenceCache.delete(resolveAccountKey(accountId));
@@ -35,7 +32,6 @@ function clearPresences(accountId) {
35
32
  }
36
33
  presenceCache.clear();
37
34
  }
38
- /** Get the number of cached presence entries. */
39
35
  function presenceCacheSize() {
40
36
  let total = 0;
41
37
  for (const accountCache of presenceCache.values()) total += accountCache.size;
@@ -1,11 +1,20 @@
1
- import { E as getDiscordEndpointRuntime } from "./channel-type-DKnjV1XW.mjs";
2
- import { m as normalizeDiscordToken } from "./accounts-CwJQoLjM.mjs";
3
- import { n as DiscordApiError, r as fetchDiscord } from "./api-CBK9zcq5.mjs";
1
+ import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
2
+ import { D as getDiscordEndpointRuntime } from "./channel-type-DRCrEMss.mjs";
3
+ import { m as normalizeDiscordToken } from "./accounts-ChaMcixG.mjs";
4
+ import { n as DiscordApiError, r as fetchDiscord } from "./api-DVbJwZVt.mjs";
4
5
  import { resolveFetch } from "openclaw/plugin-sdk/fetch-runtime";
5
6
  import { readResponseWithLimit } from "openclaw/plugin-sdk/response-limit-runtime";
6
7
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
7
8
  import { fetchWithTimeout, runChannelProbe } from "openclaw/plugin-sdk/text-utility-runtime";
8
9
  //#region extensions/discord/src/probe.ts
10
+ var probe_exports = /* @__PURE__ */ __exportAll({
11
+ fetchDiscordApplicationId: () => fetchDiscordApplicationId,
12
+ fetchDiscordApplicationSummary: () => fetchDiscordApplicationSummary,
13
+ parseApplicationIdFromToken: () => parseApplicationIdFromToken,
14
+ probeDiscord: () => probeDiscord,
15
+ probeDiscordApplicationId: () => probeDiscordApplicationId,
16
+ resolveDiscordPrivilegedIntentsFromFlags: () => resolveDiscordPrivilegedIntentsFromFlags
17
+ });
9
18
  const DISCORD_API_BASE = "https://discord.com/api/v10";
10
19
  const DISCORD_PROBE_GET_ME_LABEL = "discord.probe.getMe";
11
20
  const DISCORD_PROBE_JSON_MAX_BYTES = 16777216;
@@ -181,4 +190,4 @@ async function fetchDiscordApplicationId(token, timeoutMs, fetcher = fetch) {
181
190
  if (result.kind === "unavailable" && result.status === 429) throw result.error;
182
191
  }
183
192
  //#endregion
184
- export { probeDiscordApplicationId as a, probeDiscord as i, fetchDiscordApplicationSummary as n, resolveDiscordPrivilegedIntentsFromFlags as o, parseApplicationIdFromToken as r, fetchDiscordApplicationId as t };
193
+ export { probeDiscordApplicationId as a, probeDiscord as i, fetchDiscordApplicationSummary as n, probe_exports as o, parseApplicationIdFromToken as r, resolveDiscordPrivilegedIntentsFromFlags as s, fetchDiscordApplicationId as t };