@openclaw/matrix 2026.7.2-beta.7 → 2026.7.34

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 (368) hide show
  1. package/README.md +1 -1
  2. package/dist/{account-selection-kqquRzCf.js → .setup/account-selection-BOQeTqax.mjs} +18 -17
  3. package/dist/{approval-handler.runtime-DSeaIsGa.js → .setup/approval-handler.runtime-CEXm9_-p.mjs} +18 -28
  4. package/dist/{approval-ids-BdJGPAJT.js → .setup/approval-ids-DdFnDB3h.mjs} +1 -1
  5. package/dist/{approval-reaction-auth-BjOpELxu.js → .setup/approval-reaction-auth-CREvd7S7.mjs} +2 -2
  6. package/dist/.setup/approval-reactions-Cltyp8nL.mjs +113 -0
  7. package/dist/.setup/async-lock-BcLS4KOc.mjs +19 -0
  8. package/dist/{channel-vj788dNZ.js → .setup/channel-an4umty1.mjs} +186 -144
  9. package/dist/{channel.runtime-CLoF2S9T.js → .setup/channel.runtime-GHcIBJ7H.mjs} +51 -45
  10. package/dist/{cli-DMqfDE-q.js → .setup/cli-B3WYmv5U.mjs} +882 -901
  11. package/dist/{cli-metadata-C7D53SND.js → .setup/cli-metadata-RUKCn0wJ.mjs} +1 -1
  12. package/dist/{client-6eRENr7k.js → .setup/client-Ct0bUHCo.mjs} +5 -5
  13. package/dist/{shared-CUMWxcMz.js → .setup/client-DFBQtzCe.mjs} +422 -179
  14. package/dist/.setup/client-bootstrap-Be8jvNle.mjs +74 -0
  15. package/dist/{config-schema-Djxw3C6b.js → .setup/config-schema-D9J_vUF6.mjs} +89 -70
  16. package/dist/.setup/credentials-BhZlA0kL.mjs +56 -0
  17. package/dist/.setup/credentials-read-CRHg6XPm.mjs +114 -0
  18. package/dist/{credentials-write.runtime-Be9zNSUw.js → .setup/credentials-write.runtime-dWuLafsk.mjs} +1 -1
  19. package/dist/{crypto-runtime-D9_6J5tZ.js → .setup/crypto-runtime-D-cZa8P0.mjs} +81 -35
  20. package/dist/.setup/crypto-state-store-B43k3z3W.mjs +352 -0
  21. package/dist/{deps-CcVJfvRM.js → .setup/deps-Dy6yreL4.mjs} +92 -25
  22. package/dist/{device-health-B4-YXtJR.js → .setup/device-health-D4LBxuPq.mjs} +1 -6
  23. package/dist/{directory-live-C8dVBiCc.js → .setup/directory-live-BTEYxMwy.mjs} +10 -9
  24. package/dist/.setup/doctor-BGnvMzOR.mjs +169 -0
  25. package/dist/.setup/doctor-contract-DNJw0fdq.mjs +246 -0
  26. package/dist/{draft-stream-CtvOXq0Z.js → .setup/draft-stream-C-_OhpE8.mjs} +1 -6
  27. package/dist/{encryption-guidance-CbEFe38F.js → .setup/encryption-guidance-CpuuwmjL.mjs} +4 -3
  28. package/dist/{env-auth-CQsYbz-p.js → .setup/env-auth-CYJL1jNl.mjs} +2 -2
  29. package/dist/{env-vars-B0NxQnPk.js → .setup/env-vars-KzaYveuy.mjs} +1 -3
  30. package/dist/{exec-approval-resolver-BCgqRtZS.js → .setup/exec-approval-resolver-f9j6staN.mjs} +1 -2
  31. package/dist/{file-sync-store-DiiFsayX.js → .setup/file-sync-store-DU0cnYAz.mjs} +30 -25
  32. package/dist/{http-client-CycYxU9-.js → .setup/http-client-C954In2D.mjs} +45 -25
  33. package/dist/{idb-persistence-B6x7dMsF.js → .setup/idb-persistence-_HKTXkVC.mjs} +76 -78
  34. package/dist/{idb-persistence-lock-DAJ49nZX.js → .setup/idb-persistence-lock-B3fZXyF_.mjs} +1 -1
  35. package/dist/.setup/legacy-crypto-inspector-Byp8LCys.mjs +42 -0
  36. package/dist/.setup/legacy-crypto-restore-YQVoK1B2.mjs +93 -0
  37. package/dist/{logger-D0GCSDQq.js → .setup/logger-DpoogOgz.mjs} +1 -1
  38. package/dist/{logging-DV-p52N0.js → .setup/logging-CgxQOJJP.mjs} +2 -9
  39. package/dist/.setup/matrix-migration.runtime-BDH5c3fN.mjs +530 -0
  40. package/dist/{media-text-BTwzADS_.js → .setup/media-text-Cib-dxkn.mjs} +1 -1
  41. package/dist/{messages-DxQJkhxs.js → .setup/messages-D4DYGHYX.mjs} +15 -67
  42. package/dist/.setup/migration-snapshot-backup-CpgYhiUp.mjs +70 -0
  43. package/dist/.setup/migration-snapshot.runtime-O8qkMVaC.mjs +2 -0
  44. package/dist/{monitor-VyWlSLwo.js → .setup/monitor-DNcW_oAN.mjs} +2525 -2361
  45. package/dist/.setup/probe.runtime-CMPh0mFk.mjs +2 -0
  46. package/dist/{profile-update-CffmyW_4.js → .setup/profile-update-DzOL3Wiw.mjs} +5 -4
  47. package/dist/{reaction-events-B00WSi98.js → .setup/reaction-events-BcvgXxHb.mjs} +14 -64
  48. package/dist/{resolve-targets-nm2L48sh.js → .setup/resolve-targets-Bq80X9Sn.mjs} +3 -3
  49. package/dist/{resolver.runtime-DS6uPaEe.js → .setup/resolver.runtime-CeBHR9-T.mjs} +1 -1
  50. package/dist/{runtime-api-D1xI_cvh.js → .setup/runtime-api-CEsWNdil.mjs} +4 -4
  51. package/dist/.setup/runtime-setter-api-DGMubGUq.mjs +3 -0
  52. package/dist/{sdk-bUytQHx7.js → .setup/sdk-He1quVAq.mjs} +592 -261
  53. package/dist/.setup/secret-contract-api-CiTJ7pd5.mjs +3 -0
  54. package/dist/{secret-contract-M3hRmGO-.js → .setup/secret-contract-phPvlNfV.mjs} +53 -28
  55. package/dist/{send-BldGYG8g.js → .setup/send-CGgl0uTn.mjs} +133 -660
  56. package/dist/{setup-bootstrap-Deleiibz.js → .setup/setup-bootstrap-DUXBC8X2.mjs} +4 -4
  57. package/dist/{setup-core-BVfBv2ai.js → .setup/setup-core-bhdcEo7v.mjs} +239 -189
  58. package/dist/.setup/setup-plugin-api-CAwZ_Bi7.mjs +43 -0
  59. package/dist/.setup/setup-plugin-api-DIFVsOs3.mjs +2 -0
  60. package/dist/{setup-surface-BBq3WeqX.js → .setup/setup-surface-05_G-MnT.mjs} +149 -92
  61. package/dist/{startup-verification-wm3_i88s.js → .setup/startup-verification-BTwIGu1J.mjs} +7 -6
  62. package/dist/.setup/storage-NGZq5zet.mjs +432 -0
  63. package/dist/{storage-paths-gUmSydsW.js → .setup/storage-paths-BWo_ZEMC.mjs} +13 -2
  64. package/dist/{subagent-hooks-dkPAF6Et.js → .setup/subagent-hooks-BSWPJEmo.mjs} +2 -2
  65. package/dist/{thread-binding-api-DRbBZlhS.js → .setup/thread-binding-api-B7UaOoKv.mjs} +1 -1
  66. package/dist/{thread-bindings-DGbl3vDW.js → .setup/thread-bindings-DqmjG2on.mjs} +8 -8
  67. package/dist/{tool-actions.runtime-uu9blSqO.js → .setup/tool-actions.runtime-CXDLk2jg.mjs} +196 -332
  68. package/dist/{verification-DYMQ1QpI.js → .setup/verification-DeWOtZJr.mjs} +4 -3
  69. package/dist/api.js +9 -9
  70. package/dist/auth-presence.js +21 -13
  71. package/dist/channel-plugin-api.js +1 -1
  72. package/dist/cli-metadata.js +1 -1
  73. package/dist/contract-api.js +2 -2
  74. package/dist/doctor-contract-api.js +99 -524
  75. package/dist/helper-api.js +4 -4
  76. package/dist/index.js +1 -1
  77. package/dist/plugin-entry.handlers.runtime.js +2 -2
  78. package/dist/runtime-api.js +8 -8
  79. package/dist/runtime-heavy-api.js +3 -0
  80. package/dist/runtime-setter-api.js +1 -1
  81. package/dist/secret-contract-api.js +1 -1
  82. package/dist/session-binding-contract-api.js +3 -3
  83. package/dist/setup-entry.js +4 -3
  84. package/dist/setup-plugin-api.js +1 -44
  85. package/dist/subagent-hooks-api.js +1 -1
  86. package/dist/thread-binding-api.js +1 -1
  87. package/dist/thread-bindings-runtime.js +1 -1
  88. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/package.json +1 -1
  89. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm.d.ts +2 -14
  90. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.cjs +384 -409
  91. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.js +224 -246
  92. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm +0 -0
  93. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm.d.ts +58 -59
  94. package/node_modules/markdown-it/README.md +18 -294
  95. package/node_modules/markdown-it/bin/markdown-it.mjs +2 -2
  96. package/node_modules/markdown-it/dist/browser/markdown-it.esm.min.mjs +3013 -0
  97. package/node_modules/markdown-it/dist/browser/markdown-it.esm.min.mjs.map +1 -0
  98. package/node_modules/markdown-it/dist/browser/markdown-it.umd.min.js +14 -0
  99. package/node_modules/markdown-it/dist/browser/markdown-it.umd.min.js.map +1 -0
  100. package/node_modules/markdown-it/dist/markdown-it.cjs.js +4420 -0
  101. package/node_modules/markdown-it/dist/markdown-it.cjs.js.map +1 -0
  102. package/node_modules/markdown-it/dist/markdown-it.d.cts +19 -0
  103. package/node_modules/markdown-it/dist/markdown-it.d.mts +950 -0
  104. package/node_modules/markdown-it/dist/{index.cjs.js → markdown-it.mjs} +1504 -1525
  105. package/node_modules/markdown-it/dist/markdown-it.mjs.map +1 -0
  106. package/node_modules/markdown-it/node_modules/argparse/LICENSE +1 -208
  107. package/node_modules/markdown-it/node_modules/argparse/README.md +46 -41
  108. package/node_modules/markdown-it/node_modules/argparse/lib/_colorize.js +72 -0
  109. package/node_modules/markdown-it/node_modules/argparse/lib/argparse.d.ts +292 -0
  110. package/node_modules/markdown-it/node_modules/argparse/{argparse.js → lib/argparse.js} +1142 -1029
  111. package/node_modules/markdown-it/node_modules/argparse/lib/difflib.js +190 -0
  112. package/node_modules/markdown-it/node_modules/argparse/lib/sub.js +4 -4
  113. package/node_modules/markdown-it/node_modules/argparse/lib/textwrap.js +28 -28
  114. package/node_modules/markdown-it/node_modules/argparse/package.json +18 -11
  115. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.d.ts +8 -0
  116. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.d.ts.map +1 -0
  117. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.js +46 -0
  118. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.js.map +1 -0
  119. package/node_modules/markdown-it/node_modules/entities/{lib → dist}/decode.d.ts +28 -45
  120. package/node_modules/markdown-it/node_modules/entities/dist/decode.d.ts.map +1 -0
  121. package/node_modules/markdown-it/node_modules/entities/{lib/esm → dist}/decode.js +189 -141
  122. package/node_modules/markdown-it/node_modules/entities/dist/decode.js.map +1 -0
  123. package/node_modules/markdown-it/node_modules/entities/{lib/esm → dist}/encode.d.ts +4 -2
  124. package/node_modules/markdown-it/node_modules/entities/dist/encode.d.ts.map +1 -0
  125. package/node_modules/markdown-it/node_modules/entities/dist/encode.js +90 -0
  126. package/node_modules/markdown-it/node_modules/entities/dist/encode.js.map +1 -0
  127. package/node_modules/markdown-it/node_modules/entities/{lib → dist}/escape.d.ts +15 -10
  128. package/node_modules/markdown-it/node_modules/entities/dist/escape.d.ts.map +1 -0
  129. package/node_modules/markdown-it/node_modules/entities/dist/escape.js +132 -0
  130. package/node_modules/markdown-it/node_modules/entities/dist/escape.js.map +1 -0
  131. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.d.ts +3 -0
  132. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.d.ts.map +1 -0
  133. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.js +5 -0
  134. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.js.map +1 -0
  135. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.d.ts +3 -0
  136. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.d.ts.map +1 -0
  137. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.js +5 -0
  138. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.js.map +1 -0
  139. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.d.ts +5 -0
  140. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.d.ts.map +1 -0
  141. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.js +12 -0
  142. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.js.map +1 -0
  143. package/node_modules/markdown-it/node_modules/entities/{lib/esm → dist}/index.d.ts +14 -21
  144. package/node_modules/markdown-it/node_modules/entities/dist/index.d.ts.map +1 -0
  145. package/node_modules/markdown-it/node_modules/entities/dist/index.js +91 -0
  146. package/node_modules/markdown-it/node_modules/entities/dist/index.js.map +1 -0
  147. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.d.ts +17 -0
  148. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.d.ts.map +1 -0
  149. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.js +18 -0
  150. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.js.map +1 -0
  151. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.d.ts +7 -0
  152. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.d.ts.map +1 -0
  153. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.js +17 -0
  154. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.js.map +1 -0
  155. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.d.ts +33 -0
  156. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.d.ts.map +1 -0
  157. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.js +93 -0
  158. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.js.map +1 -0
  159. package/node_modules/markdown-it/node_modules/entities/package.json +63 -70
  160. package/node_modules/markdown-it/node_modules/entities/readme.md +54 -45
  161. package/node_modules/markdown-it/node_modules/entities/src/decode-codepoint.ts +50 -0
  162. package/node_modules/markdown-it/node_modules/entities/src/decode.ts +671 -0
  163. package/node_modules/markdown-it/node_modules/entities/src/encode.ts +95 -0
  164. package/node_modules/markdown-it/node_modules/entities/src/escape.ts +160 -0
  165. package/node_modules/markdown-it/node_modules/entities/src/generated/decode-data-html.ts +7 -0
  166. package/node_modules/markdown-it/node_modules/entities/src/generated/decode-data-xml.ts +7 -0
  167. package/node_modules/markdown-it/node_modules/entities/src/generated/encode-html.ts +18 -0
  168. package/node_modules/markdown-it/node_modules/entities/src/index.ts +162 -0
  169. package/node_modules/markdown-it/node_modules/entities/src/internal/bin-trie-flags.ts +16 -0
  170. package/node_modules/markdown-it/node_modules/entities/src/internal/decode-shared.ts +18 -0
  171. package/node_modules/markdown-it/node_modules/entities/src/internal/encode-shared.ts +123 -0
  172. package/node_modules/markdown-it/node_modules/linkify-it/README.md +49 -86
  173. package/node_modules/markdown-it/node_modules/linkify-it/build/index.cjs.js +636 -825
  174. package/node_modules/markdown-it/node_modules/linkify-it/build/index.cjs.js.map +1 -0
  175. package/node_modules/markdown-it/node_modules/linkify-it/build/index.d.ts +236 -0
  176. package/node_modules/markdown-it/node_modules/linkify-it/build/index.mjs +538 -0
  177. package/node_modules/markdown-it/node_modules/linkify-it/build/index.mjs.map +1 -0
  178. package/node_modules/markdown-it/node_modules/linkify-it/package.json +23 -20
  179. package/node_modules/markdown-it/node_modules/uc.micro/README.md +18 -1
  180. package/node_modules/markdown-it/node_modules/uc.micro/build/index.cjs.js +13 -18
  181. package/node_modules/markdown-it/node_modules/uc.micro/build/index.d.ts +6 -0
  182. package/node_modules/markdown-it/node_modules/uc.micro/build/index.mjs +8 -0
  183. package/node_modules/markdown-it/node_modules/uc.micro/package.json +12 -17
  184. package/node_modules/markdown-it/package.json +47 -30
  185. package/node_modules/matrix-js-sdk/CHANGELOG.md +0 -11
  186. package/node_modules/matrix-js-sdk/package.json +1 -1
  187. package/node_modules/music-metadata/lib/common/Util.d.ts +1 -1
  188. package/node_modules/music-metadata/lib/common/Util.js +1 -7
  189. package/node_modules/music-metadata/lib/id3v2/FrameHeader.js +3 -23
  190. package/node_modules/music-metadata/lib/id3v2/FrameParser.js +2 -2
  191. package/node_modules/music-metadata/lib/id3v2/ID3v2Token.js +1 -1
  192. package/node_modules/music-metadata/lib/mp4/AtomToken.js +13 -38
  193. package/node_modules/music-metadata/lib/mpeg/MpegParser.js +1 -1
  194. package/node_modules/music-metadata/package.json +6 -6
  195. package/node_modules/typebox/build/compile/validator.d.mts +4 -1
  196. package/node_modules/typebox/build/guard/guard.d.mts +1 -1
  197. package/node_modules/typebox/build/guard/guard.mjs +2 -5
  198. package/node_modules/typebox/build/guard/string.mjs +4 -16
  199. package/node_modules/typebox/build/schema/engine/_functions.mjs +15 -34
  200. package/node_modules/typebox/build/type/action/readonly_object.d.mts +0 -5
  201. package/node_modules/typebox/build/type/action/readonly_object.mjs +0 -8
  202. package/node_modules/typebox/build/typebox.d.mts +1 -1
  203. package/node_modules/typebox/build/typebox.mjs +1 -1
  204. package/node_modules/typebox/package.json +1 -1
  205. package/node_modules/typebox/readme.md +32 -29
  206. package/openclaw.plugin.json +146 -152
  207. package/package.json +31 -114
  208. package/dist/accounts-DfngqebB.js +0 -130
  209. package/dist/active-client-DXvz2gCo.js +0 -20
  210. package/dist/approval-reactions-D-BxBK_L.js +0 -202
  211. package/dist/client-Dbso3-0V.js +0 -30
  212. package/dist/client-bootstrap-XsIkHNt0.js +0 -110
  213. package/dist/create-client-BmSU-q-D.js +0 -61
  214. package/dist/credentials-W2EmwRhu.js +0 -65
  215. package/dist/credentials-read-DVmFCm7X.js +0 -77
  216. package/dist/doctor-CM8ijNpW.js +0 -64
  217. package/dist/doctor-contract-BMSJkkAE.js +0 -167
  218. package/dist/inbound-dedupe-CaBLblef.js +0 -48
  219. package/dist/probe.runtime-BuieqmS3.js +0 -3
  220. package/dist/record-shared-CWWx6fvI.js +0 -2
  221. package/dist/recovery-key-store-BNnHvXdk.js +0 -275
  222. package/dist/room-info-CAFZ3Z9J.js +0 -87
  223. package/dist/route-DY6at4qJ.js +0 -161
  224. package/dist/storage-BvAkgzvT.js +0 -685
  225. package/node_modules/markdown-it/dist/index.cjs.js.map +0 -1
  226. package/node_modules/markdown-it/dist/markdown-it.js +0 -3975
  227. package/node_modules/markdown-it/dist/markdown-it.js.map +0 -1
  228. package/node_modules/markdown-it/dist/markdown-it.min.js +0 -3
  229. package/node_modules/markdown-it/dist/markdown-it.min.js.map +0 -1
  230. package/node_modules/markdown-it/index.mjs +0 -1
  231. package/node_modules/markdown-it/lib/common/html_blocks.mjs +0 -67
  232. package/node_modules/markdown-it/lib/common/html_re.mjs +0 -25
  233. package/node_modules/markdown-it/lib/common/utils.mjs +0 -324
  234. package/node_modules/markdown-it/lib/helpers/index.mjs +0 -11
  235. package/node_modules/markdown-it/lib/helpers/parse_link_destination.mjs +0 -77
  236. package/node_modules/markdown-it/lib/helpers/parse_link_label.mjs +0 -49
  237. package/node_modules/markdown-it/lib/helpers/parse_link_title.mjs +0 -66
  238. package/node_modules/markdown-it/lib/index.mjs +0 -565
  239. package/node_modules/markdown-it/lib/parser_block.mjs +0 -134
  240. package/node_modules/markdown-it/lib/parser_core.mjs +0 -62
  241. package/node_modules/markdown-it/lib/parser_inline.mjs +0 -197
  242. package/node_modules/markdown-it/lib/presets/commonmark.mjs +0 -88
  243. package/node_modules/markdown-it/lib/presets/default.mjs +0 -47
  244. package/node_modules/markdown-it/lib/presets/zero.mjs +0 -70
  245. package/node_modules/markdown-it/lib/renderer.mjs +0 -322
  246. package/node_modules/markdown-it/lib/ruler.mjs +0 -340
  247. package/node_modules/markdown-it/lib/rules_block/blockquote.mjs +0 -209
  248. package/node_modules/markdown-it/lib/rules_block/code.mjs +0 -30
  249. package/node_modules/markdown-it/lib/rules_block/fence.mjs +0 -94
  250. package/node_modules/markdown-it/lib/rules_block/heading.mjs +0 -51
  251. package/node_modules/markdown-it/lib/rules_block/hr.mjs +0 -40
  252. package/node_modules/markdown-it/lib/rules_block/html_block.mjs +0 -80
  253. package/node_modules/markdown-it/lib/rules_block/lheading.mjs +0 -85
  254. package/node_modules/markdown-it/lib/rules_block/list.mjs +0 -331
  255. package/node_modules/markdown-it/lib/rules_block/paragraph.mjs +0 -48
  256. package/node_modules/markdown-it/lib/rules_block/reference.mjs +0 -212
  257. package/node_modules/markdown-it/lib/rules_block/state_block.mjs +0 -220
  258. package/node_modules/markdown-it/lib/rules_block/table.mjs +0 -228
  259. package/node_modules/markdown-it/lib/rules_core/block.mjs +0 -13
  260. package/node_modules/markdown-it/lib/rules_core/inline.mjs +0 -11
  261. package/node_modules/markdown-it/lib/rules_core/linkify.mjs +0 -134
  262. package/node_modules/markdown-it/lib/rules_core/normalize.mjs +0 -17
  263. package/node_modules/markdown-it/lib/rules_core/replacements.mjs +0 -101
  264. package/node_modules/markdown-it/lib/rules_core/smartquotes.mjs +0 -209
  265. package/node_modules/markdown-it/lib/rules_core/state_core.mjs +0 -17
  266. package/node_modules/markdown-it/lib/rules_core/text_join.mjs +0 -43
  267. package/node_modules/markdown-it/lib/rules_inline/autolink.mjs +0 -72
  268. package/node_modules/markdown-it/lib/rules_inline/backticks.mjs +0 -60
  269. package/node_modules/markdown-it/lib/rules_inline/balance_pairs.mjs +0 -124
  270. package/node_modules/markdown-it/lib/rules_inline/emphasis.mjs +0 -123
  271. package/node_modules/markdown-it/lib/rules_inline/entity.mjs +0 -51
  272. package/node_modules/markdown-it/lib/rules_inline/escape.mjs +0 -83
  273. package/node_modules/markdown-it/lib/rules_inline/fragments_join.mjs +0 -38
  274. package/node_modules/markdown-it/lib/rules_inline/html_inline.mjs +0 -50
  275. package/node_modules/markdown-it/lib/rules_inline/image.mjs +0 -138
  276. package/node_modules/markdown-it/lib/rules_inline/link.mjs +0 -139
  277. package/node_modules/markdown-it/lib/rules_inline/linkify.mjs +0 -63
  278. package/node_modules/markdown-it/lib/rules_inline/newline.mjs +0 -42
  279. package/node_modules/markdown-it/lib/rules_inline/state_inline.mjs +0 -154
  280. package/node_modules/markdown-it/lib/rules_inline/strikethrough.mjs +0 -127
  281. package/node_modules/markdown-it/lib/rules_inline/text.mjs +0 -86
  282. package/node_modules/markdown-it/lib/token.mjs +0 -191
  283. package/node_modules/markdown-it/node_modules/argparse/CHANGELOG.md +0 -216
  284. package/node_modules/markdown-it/node_modules/entities/lib/decode.d.ts.map +0 -1
  285. package/node_modules/markdown-it/node_modules/entities/lib/decode.js +0 -536
  286. package/node_modules/markdown-it/node_modules/entities/lib/decode.js.map +0 -1
  287. package/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.d.ts +0 -19
  288. package/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.d.ts.map +0 -1
  289. package/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.js +0 -76
  290. package/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.js.map +0 -1
  291. package/node_modules/markdown-it/node_modules/entities/lib/encode.d.ts +0 -22
  292. package/node_modules/markdown-it/node_modules/entities/lib/encode.d.ts.map +0 -1
  293. package/node_modules/markdown-it/node_modules/entities/lib/encode.js +0 -77
  294. package/node_modules/markdown-it/node_modules/entities/lib/encode.js.map +0 -1
  295. package/node_modules/markdown-it/node_modules/entities/lib/escape.d.ts.map +0 -1
  296. package/node_modules/markdown-it/node_modules/entities/lib/escape.js +0 -122
  297. package/node_modules/markdown-it/node_modules/entities/lib/escape.js.map +0 -1
  298. package/node_modules/markdown-it/node_modules/entities/lib/esm/decode.d.ts +0 -211
  299. package/node_modules/markdown-it/node_modules/entities/lib/esm/decode.d.ts.map +0 -1
  300. package/node_modules/markdown-it/node_modules/entities/lib/esm/decode.js.map +0 -1
  301. package/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.d.ts +0 -19
  302. package/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.d.ts.map +0 -1
  303. package/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.js +0 -71
  304. package/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.js.map +0 -1
  305. package/node_modules/markdown-it/node_modules/entities/lib/esm/encode.d.ts.map +0 -1
  306. package/node_modules/markdown-it/node_modules/entities/lib/esm/encode.js +0 -69
  307. package/node_modules/markdown-it/node_modules/entities/lib/esm/encode.js.map +0 -1
  308. package/node_modules/markdown-it/node_modules/entities/lib/esm/escape.d.ts +0 -43
  309. package/node_modules/markdown-it/node_modules/entities/lib/esm/escape.d.ts.map +0 -1
  310. package/node_modules/markdown-it/node_modules/entities/lib/esm/escape.js +0 -116
  311. package/node_modules/markdown-it/node_modules/entities/lib/esm/escape.js.map +0 -1
  312. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.d.ts +0 -3
  313. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.d.ts.map +0 -1
  314. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.js +0 -7
  315. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.js.map +0 -1
  316. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts +0 -3
  317. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts.map +0 -1
  318. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.js +0 -7
  319. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +0 -1
  320. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.d.ts +0 -8
  321. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.d.ts.map +0 -1
  322. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.js +0 -10
  323. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.js.map +0 -1
  324. package/node_modules/markdown-it/node_modules/entities/lib/esm/index.d.ts.map +0 -1
  325. package/node_modules/markdown-it/node_modules/entities/lib/esm/index.js +0 -99
  326. package/node_modules/markdown-it/node_modules/entities/lib/esm/index.js.map +0 -1
  327. package/node_modules/markdown-it/node_modules/entities/lib/esm/package.json +0 -1
  328. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.d.ts +0 -3
  329. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.d.ts.map +0 -1
  330. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.js +0 -9
  331. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.js.map +0 -1
  332. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.d.ts +0 -3
  333. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.d.ts.map +0 -1
  334. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.js +0 -9
  335. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.js.map +0 -1
  336. package/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.d.ts +0 -8
  337. package/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.d.ts.map +0 -1
  338. package/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.js +0 -12
  339. package/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.js.map +0 -1
  340. package/node_modules/markdown-it/node_modules/entities/lib/index.d.ts +0 -96
  341. package/node_modules/markdown-it/node_modules/entities/lib/index.d.ts.map +0 -1
  342. package/node_modules/markdown-it/node_modules/entities/lib/index.js +0 -126
  343. package/node_modules/markdown-it/node_modules/entities/lib/index.js.map +0 -1
  344. package/node_modules/markdown-it/node_modules/linkify-it/index.mjs +0 -646
  345. package/node_modules/markdown-it/node_modules/linkify-it/lib/re.mjs +0 -193
  346. package/node_modules/markdown-it/node_modules/uc.micro/categories/Cc/regex.mjs +0 -1
  347. package/node_modules/markdown-it/node_modules/uc.micro/categories/Cf/regex.mjs +0 -1
  348. package/node_modules/markdown-it/node_modules/uc.micro/categories/P/regex.mjs +0 -1
  349. package/node_modules/markdown-it/node_modules/uc.micro/categories/S/regex.mjs +0 -1
  350. package/node_modules/markdown-it/node_modules/uc.micro/categories/Z/regex.mjs +0 -1
  351. package/node_modules/markdown-it/node_modules/uc.micro/index.mjs +0 -8
  352. package/node_modules/markdown-it/node_modules/uc.micro/properties/Any/regex.mjs +0 -1
  353. /package/dist/{account-config-BZWN9tGS.js → .setup/account-config-BZWN9tGS.mjs} +0 -0
  354. /package/dist/{backup-health-Dm_YMVFT.js → .setup/backup-health-Dm_YMVFT.mjs} +0 -0
  355. /package/dist/{config-paths-CnREYb1Y.js → .setup/config-paths-CnREYb1Y.mjs} +0 -0
  356. /package/dist/{config-secret-input.runtime-CwsP3--c.js → .setup/config-secret-input.runtime-CwsP3--c.mjs} +0 -0
  357. /package/dist/{crypto-node.runtime-6Aj_ltHQ.js → .setup/crypto-node.runtime-6Aj_ltHQ.mjs} +0 -0
  358. /package/dist/{errors-C47hvAF8.js → .setup/errors-C47hvAF8.mjs} +0 -0
  359. /package/dist/{preflight-audio.runtime-BZxxQsxY.js → .setup/preflight-audio.runtime-BZxxQsxY.mjs} +0 -0
  360. /package/dist/{reaction-common-DkrQdBSZ.js → .setup/reaction-common-DkrQdBSZ.mjs} +0 -0
  361. /package/dist/{rolldown-runtime-8H4AJuhK.js → .setup/rolldown-runtime-8H4AJuhK.mjs} +0 -0
  362. /package/dist/{runtime-6S3DNFNv.js → .setup/runtime-6S3DNFNv.mjs} +0 -0
  363. /package/dist/{runtime-BefyhPWv.js → .setup/runtime-BefyhPWv.mjs} +0 -0
  364. /package/dist/{sync-state-CWbp0QSY.js → .setup/sync-state-CWbp0QSY.mjs} +0 -0
  365. /package/dist/{target-ids-B-5aQxwn.js → .setup/target-ids-B-5aQxwn.mjs} +0 -0
  366. /package/dist/{thread-bindings-shared-CKnY4LSd.js → .setup/thread-bindings-shared-CKnY4LSd.mjs} +0 -0
  367. /package/dist/{timeout-abort-signal-DMrgRFIy.js → .setup/timeout-abort-signal-DMrgRFIy.mjs} +0 -0
  368. /package/dist/{url-validation-GRHde6lq.js → .setup/url-validation-GRHde6lq.mjs} +0 -0
@@ -1,21 +1,22 @@
1
- import { n as requiresExplicitMatrixDefaultAccount } from "./account-selection-kqquRzCf.js";
2
- import { a as resolveMatrixAccountConfig } from "./account-config-BZWN9tGS.js";
3
- import { i as resolveMatrixAccount, r as resolveDefaultMatrixAccountId, t as listMatrixAccountIds } from "./accounts-DfngqebB.js";
4
- import { a as normalizeMatrixUserId, n as DEFAULT_ACCOUNT_ID$2, r as matrixConfigAdapter, t as MatrixChannelConfigSchema } from "./config-schema-Djxw3C6b.js";
5
- import { t as normalizeMatrixApproverId } from "./approval-ids-BdJGPAJT.js";
6
- import { a as resolveMatrixTargetIdentity, i as resolveMatrixDirectUserId, n as normalizeMatrixMessagingTarget, r as normalizeMatrixResolvableTarget, t as isMatrixQualifiedUserId } from "./target-ids-B-5aQxwn.js";
7
- import { t as formatMatrixErrorMessage } from "./errors-C47hvAF8.js";
8
- import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-BMSJkkAE.js";
9
- import { d as setMatrixThreadBindingIdleTimeoutBySessionKey, p as setMatrixThreadBindingMaxAgeBySessionKey } from "./thread-bindings-shared-CKnY4LSd.js";
10
- import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-M3hRmGO-.js";
11
- import { d as namedAccountPromotionKeys, f as resolveSingleAccountPromotionTarget, n as matrixSetupAdapter, p as singleAccountKeysToMove, r as matrixSetupContract, t as createMatrixSetupWizardProxy } from "./setup-core-BVfBv2ai.js";
12
- import { n as resolveMatrixInboundConversation, t as defaultTopLevelPlacement } from "./thread-binding-api-DRbBZlhS.js";
1
+ import { n as requiresExplicitMatrixDefaultAccount } from "./account-selection-BOQeTqax.mjs";
2
+ import { a as resolveMatrixAccountConfig } from "./account-config-BZWN9tGS.mjs";
3
+ import { d as resolveSingleAccountPromotionTarget, f as singleAccountKeysToMove, g as resolveMatrixAccount, h as resolveDefaultMatrixAccountId, n as matrixSetupAdapter, p as listMatrixAccountIds, t as createMatrixSetupWizardProxy, u as namedAccountPromotionKeys } from "./setup-core-bhdcEo7v.mjs";
4
+ import { a as normalizeMatrixUserId, n as DEFAULT_ACCOUNT_ID$2, r as matrixConfigAdapter, t as MatrixChannelConfigSchema } from "./config-schema-D9J_vUF6.mjs";
5
+ import { t as normalizeMatrixApproverId } from "./approval-ids-DdFnDB3h.mjs";
6
+ import { a as resolveMatrixTargetIdentity, i as resolveMatrixDirectUserId, n as normalizeMatrixMessagingTarget, r as normalizeMatrixResolvableTarget, t as isMatrixQualifiedUserId } from "./target-ids-B-5aQxwn.mjs";
7
+ import { t as formatMatrixErrorMessage } from "./errors-C47hvAF8.mjs";
8
+ import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-DNJw0fdq.mjs";
9
+ import { d as setMatrixThreadBindingIdleTimeoutBySessionKey, p as setMatrixThreadBindingMaxAgeBySessionKey } from "./thread-bindings-shared-CKnY4LSd.mjs";
10
+ import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-phPvlNfV.mjs";
11
+ import { i as autoPrepareLegacyMatrixCrypto, o as autoMigrateLegacyMatrixState, r as resolveMatrixMigrationStatus } from "./matrix-migration.runtime-BDH5c3fN.mjs";
12
+ import { t as maybeCreateMatrixMigrationSnapshot } from "./migration-snapshot-backup-CpgYhiUp.mjs";
13
+ import { n as resolveMatrixInboundConversation } from "./thread-binding-api-B7UaOoKv.mjs";
13
14
  import { createLazyRuntimeModule, createLazyRuntimeNamedExport } from "openclaw/plugin-sdk/lazy-runtime";
14
15
  import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
15
16
  import { adaptScopedAccountAccessor, createScopedDmSecurityResolver } from "openclaw/plugin-sdk/channel-config-helpers";
16
17
  import { buildChannelOutboundSessionRoute, buildThreadAwareOutboundSessionRoute, createChatChannelPlugin } from "openclaw/plugin-sdk/channel-core";
17
18
  import { createChannelMessageAdapterFromOutbound, createReplyPrefixOptions, createRuntimeOutboundDelegates, createTypingCallbacks, logTypingFailure } from "openclaw/plugin-sdk/channel-outbound";
18
- import { createAllowlistProviderOpenWarningCollector, projectAccountConfigWarningCollector, resolveScopeRequireMention, resolveScopeToolsPolicy } from "openclaw/plugin-sdk/channel-policy";
19
+ import { createAllowlistProviderOpenWarningCollector, projectAccountConfigWarningCollector } from "openclaw/plugin-sdk/channel-policy";
19
20
  import { createScopedAccountReplyToModeResolver } from "openclaw/plugin-sdk/conversation-runtime";
20
21
  import { createChannelDirectoryAdapter, createResolvedDirectoryEntriesLister, createRuntimeDirectoryLiveAdapter } from "openclaw/plugin-sdk/directory-runtime";
21
22
  import { buildProbeChannelStatusSummary, collectStatusIssuesFromLastError, createComputedAccountStatusAdapter, createDefaultChannelRuntimeState } from "openclaw/plugin-sdk/status-helpers";
@@ -28,16 +29,16 @@ import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
28
29
  import { createApproverRestrictedNativeApprovalCapability, createChannelApprovalCapability, splitChannelApprovalCapability } from "openclaw/plugin-sdk/approval-delivery-runtime";
29
30
  import { createLazyChannelApprovalNativeRuntimeAdapter } from "openclaw/plugin-sdk/approval-handler-adapter-runtime";
30
31
  import { createChannelNativeOriginTargetResolver, resolveApprovalRequestChannelAccountId, resolveApprovalRequestSessionConversation } from "openclaw/plugin-sdk/approval-native-runtime";
31
- import { createChannelApprovalAuth, resolveApprovalApprovers } from "openclaw/plugin-sdk/approval-auth-runtime";
32
+ import { createResolvedApproverActionAuthAdapter, resolveApprovalApprovers } from "openclaw/plugin-sdk/approval-auth-runtime";
32
33
  import { addAllowlistUserEntriesFromConfigEntry, buildAllowlistResolutionSummary, canonicalizeAllowlistWithResolvedIds, patchAllowlistUsersInConfigEntries, summarizeMapping } from "openclaw/plugin-sdk/allow-from";
33
34
  import { createChannelExecApprovalProfile, getExecApprovalReplyMetadata, isChannelExecApprovalClientEnabledFromConfig, isChannelExecApprovalTargetRecipient, matchesApprovalRequestFilters } from "openclaw/plugin-sdk/approval-client-runtime";
34
35
  import { normalizeAccountId as normalizeAccountId$1, parseThreadSessionSuffix } from "openclaw/plugin-sdk/routing";
35
36
  import { createPairingPrefixStripper } from "openclaw/plugin-sdk/channel-pairing";
36
37
  import { PAIRING_APPROVED_MESSAGE } from "openclaw/plugin-sdk/channel-status";
37
38
  import { formatLocationText, logInboundDrop, toLocationContext } from "openclaw/plugin-sdk/channel-inbound";
38
- import { getAgentScopedMediaLocalRoots } from "openclaw/plugin-sdk/media-local-roots";
39
- import { buildChannelKeyCandidates } from "openclaw/plugin-sdk/channel-targets";
40
- import { deliveryContextFromSession, getSessionEntry, resolveStorePath, sessionDeliveryOrigin } from "openclaw/plugin-sdk/session-store-runtime";
39
+ import { getAgentScopedMediaLocalRoots } from "openclaw/plugin-sdk/agent-media-payload";
40
+ import { buildChannelKeyCandidates, resolveChannelEntryMatch } from "openclaw/plugin-sdk/channel-targets";
41
+ import { getSessionEntry, resolveStorePath } from "openclaw/plugin-sdk/session-store-runtime";
41
42
  //#region extensions/matrix/src/actions.ts
42
43
  const MATRIX_PLUGIN_HANDLED_ACTIONS = /* @__PURE__ */ new Set([
43
44
  "send",
@@ -118,7 +119,7 @@ const matrixMessageActions = {
118
119
  const listedActions = Array.from(actions);
119
120
  return {
120
121
  actions: listedActions,
121
- capabilities: ["presentation"],
122
+ capabilities: [],
122
123
  schema: listedActions.includes("set-profile") ? buildMatrixProfileToolSchema() : null,
123
124
  mediaSourceParams: listedActions.includes("set-profile") ? { "set-profile": MATRIX_PROFILE_MEDIA_SOURCE_PARAMS } : null
124
125
  };
@@ -128,22 +129,12 @@ const matrixMessageActions = {
128
129
  return extractToolSend(args, "sendMessage");
129
130
  },
130
131
  handleAction: async (ctx) => {
131
- const { handleMatrixAction } = await import("./tool-actions.runtime-uu9blSqO.js");
132
+ const { handleMatrixAction } = await import("./tool-actions.runtime-CXDLk2jg.mjs");
132
133
  const { action, params, cfg, accountId, mediaLocalRoots } = ctx;
133
134
  const dispatch = async (actionParams) => await handleMatrixAction({
134
135
  ...actionParams,
135
136
  ...accountId ? { accountId } : {}
136
- }, cfg, {
137
- mediaLocalRoots,
138
- readContext: {
139
- accountId,
140
- requesterAccountId: ctx.requesterAccountId,
141
- currentChannelId: ctx.toolContext?.currentChannelId,
142
- currentChannelProvider: ctx.toolContext?.currentChannelProvider,
143
- currentChatType: ctx.toolContext?.currentChatType,
144
- conversationReadOrigin: ctx.conversationReadOrigin
145
- }
146
- });
137
+ }, cfg, { mediaLocalRoots });
147
138
  const resolveRoomId = () => readStringParam(params, "roomId") ?? readStringParam(params, "channelId") ?? readStringParam(params, "to", { required: true });
148
139
  if (action === "send") {
149
140
  const to = readStringParam(params, "to", { required: true });
@@ -241,7 +232,7 @@ const matrixMessageActions = {
241
232
  if (action === "member-info") return await dispatch({
242
233
  action: "memberInfo",
243
234
  userId: readStringParam(params, "userId", { required: true }),
244
- roomId: resolveRoomId()
235
+ roomId: readStringParam(params, "roomId") ?? readStringParam(params, "channelId")
245
236
  });
246
237
  if (action === "channel-info") return await dispatch({
247
238
  action: "channelInfo",
@@ -280,18 +271,21 @@ const matrixMessageActions = {
280
271
  };
281
272
  //#endregion
282
273
  //#region extensions/matrix/src/approval-auth.ts
283
- const matrixApproval = createChannelApprovalAuth({
274
+ function getMatrixApprovalAuthApprovers(params) {
275
+ const account = resolveMatrixAccount(params);
276
+ return resolveApprovalApprovers({
277
+ allowFrom: account.config.dm?.allowFrom,
278
+ normalizeApprover: normalizeMatrixApproverId
279
+ });
280
+ }
281
+ const matrixApprovalAuth = createResolvedApproverActionAuthAdapter({
284
282
  channelLabel: "Matrix",
285
- resolveInputs: ({ cfg, accountId }) => {
286
- return { allowFrom: resolveMatrixAccount({
287
- cfg,
288
- accountId
289
- }).config.dm?.allowFrom };
290
- },
291
- normalizeApprover: normalizeMatrixApproverId
283
+ resolveApprovers: ({ cfg, accountId }) => getMatrixApprovalAuthApprovers({
284
+ cfg,
285
+ accountId
286
+ }),
287
+ normalizeSenderId: (value) => normalizeMatrixApproverId(value)
292
288
  });
293
- const getMatrixApprovalAuthApprovers = matrixApproval.resolveApprovers;
294
- const matrixApprovalAuth = matrixApproval.approvalAuth;
295
289
  //#endregion
296
290
  //#region extensions/matrix/src/exec-approvals.ts
297
291
  function normalizeMatrixExecApproverId(value) {
@@ -361,6 +355,9 @@ function getMatrixExecApprovalApprovers(params) {
361
355
  normalizeApprover: normalizeMatrixExecApproverId
362
356
  });
363
357
  }
358
+ function resolveMatrixApprovalKind(request) {
359
+ return request.id.startsWith("plugin:") ? "plugin" : "exec";
360
+ }
364
361
  function getMatrixApprovalApprovers(params) {
365
362
  if (params.approvalKind === "plugin") return getMatrixApprovalAuthApprovers({
366
363
  cfg: params.cfg,
@@ -387,12 +384,15 @@ const matrixExecApprovalProfile = createChannelExecApprovalProfile({
387
384
  })
388
385
  });
389
386
  const isMatrixExecApprovalClientEnabled = matrixExecApprovalProfile.isClientEnabled;
387
+ matrixExecApprovalProfile.isApprover;
390
388
  const isMatrixExecApprovalAuthorizedSender = matrixExecApprovalProfile.isAuthorizedSender;
391
389
  const resolveMatrixExecApprovalTarget = matrixExecApprovalProfile.resolveTarget;
390
+ matrixExecApprovalProfile.shouldHandleRequest;
392
391
  function isMatrixApprovalClientEnabled(params) {
393
392
  if (params.approvalKind === "exec") return isMatrixExecApprovalClientEnabled(params);
393
+ const config = resolveMatrixExecApprovalConfig(params);
394
394
  return isChannelExecApprovalClientEnabledFromConfig({
395
- enabled: resolveMatrixExecApprovalConfig(params)?.enabled,
395
+ enabled: config?.enabled,
396
396
  approverCount: getMatrixApprovalApprovers(params).length
397
397
  });
398
398
  }
@@ -406,17 +406,17 @@ function isMatrixAnyApprovalClientEnabled(params) {
406
406
  });
407
407
  }
408
408
  function shouldHandleMatrixApprovalRequest(params) {
409
- if (params.approvalKind !== "exec" && params.approvalKind !== "plugin") return false;
409
+ const approvalKind = resolveMatrixApprovalKind(params.request);
410
410
  if (!matchesMatrixRequestAccount({
411
411
  ...params,
412
- approvalKind: params.approvalKind
412
+ approvalKind
413
413
  })) return false;
414
414
  const config = resolveMatrixExecApprovalConfig(params);
415
415
  if (!isChannelExecApprovalClientEnabledFromConfig({
416
416
  enabled: config?.enabled,
417
417
  approverCount: getMatrixApprovalApprovers({
418
418
  ...params,
419
- approvalKind: params.approvalKind
419
+ approvalKind
420
420
  }).length
421
421
  })) return false;
422
422
  return matchesApprovalRequestFilters({
@@ -456,7 +456,6 @@ function shouldSuppressLocalMatrixExecApprovalPrompt(params) {
456
456
  return shouldHandleMatrixApprovalRequest({
457
457
  cfg: params.cfg,
458
458
  accountId: params.accountId,
459
- approvalKind: metadata.approvalKind,
460
459
  request
461
460
  });
462
461
  }
@@ -522,15 +521,11 @@ function resolveSuppressionAccountId(params) {
522
521
  }
523
522
  const resolveMatrixOriginTarget = createChannelNativeOriginTargetResolver({
524
523
  channel: "matrix",
525
- shouldHandleRequest: ({ cfg, accountId, approvalKind, request }) => {
526
- if (approvalKind !== "exec" && approvalKind !== "plugin") return false;
527
- return shouldHandleMatrixApprovalRequest({
528
- cfg,
529
- accountId,
530
- approvalKind,
531
- request
532
- });
533
- },
524
+ shouldHandleRequest: ({ cfg, accountId, request }) => shouldHandleMatrixApprovalRequest({
525
+ cfg,
526
+ accountId,
527
+ request
528
+ }),
534
529
  resolveTurnSourceTarget: resolveTurnSourceMatrixOriginTarget,
535
530
  resolveSessionTarget: resolveSessionMatrixOriginTarget,
536
531
  normalizeTargetForMatch: normalizeMatrixOriginTarget,
@@ -596,13 +591,12 @@ const matrixNativeApprovalCapability = createApproverRestrictedNativeApprovalCap
596
591
  cfg,
597
592
  accountId
598
593
  }),
599
- shouldHandle: ({ cfg, accountId, approvalKind, request }) => shouldHandleMatrixApprovalRequest({
594
+ shouldHandle: ({ cfg, accountId, request }) => shouldHandleMatrixApprovalRequest({
600
595
  cfg,
601
596
  accountId,
602
- approvalKind,
603
597
  request
604
598
  }),
605
- load: async () => (await import("./approval-handler.runtime-DSeaIsGa.js")).matrixApprovalNativeRuntime
599
+ load: async () => (await import("./approval-handler.runtime-CEXm9_-p.mjs")).matrixApprovalNativeRuntime
606
600
  })
607
601
  });
608
602
  const splitMatrixApprovalCapability = splitChannelApprovalCapability(matrixNativeApprovalCapability);
@@ -617,16 +611,6 @@ const matrixDeliveryAdapter = matrixBaseDeliveryAdapter && {
617
611
  accountId,
618
612
  approvalKind: params.approvalKind
619
613
  })) return false;
620
- if (params.approvalKind === "plugin") {
621
- const targetChannel = normalizeLowercaseStringOrEmpty(params.target.channel);
622
- const turnSourceChannel = normalizeLowercaseStringOrEmpty(params.request.request.turnSourceChannel);
623
- return targetChannel === "matrix" && turnSourceChannel === "matrix" && shouldHandleMatrixApprovalRequest({
624
- cfg: params.cfg,
625
- accountId,
626
- approvalKind: "plugin",
627
- request: params.request
628
- });
629
- }
630
614
  return matrixBaseDeliveryAdapter.shouldSuppressForwardingFallback?.(params) ?? false;
631
615
  }
632
616
  };
@@ -645,7 +629,7 @@ const matrixNativeAdapter = matrixBaseNativeApprovalAdapter && {
645
629
  });
646
630
  return {
647
631
  ...capabilities,
648
- enabled: hasApprovers && clientEnabled
632
+ enabled: capabilities.enabled && hasApprovers && clientEnabled
649
633
  };
650
634
  },
651
635
  resolveOriginTarget: matrixBaseNativeApprovalAdapter.resolveOriginTarget,
@@ -725,63 +709,57 @@ function readLegacyRoomAllowAlias(room) {
725
709
  const rawRoom = room;
726
710
  return typeof rawRoom?.allow === "boolean" ? rawRoom.allow : void 0;
727
711
  }
728
- function buildMatrixRoomScopeTree(rooms) {
729
- const scopes = {};
730
- for (const [key, room] of Object.entries(rooms ?? {})) scopes[key] = {
731
- requireMention: typeof room.autoReply === "boolean" ? !room.autoReply : room.requireMention,
732
- tools: room.tools
733
- };
734
- return { scopes };
735
- }
736
- function resolveMatrixRoomScopePath(params) {
737
- const key = buildChannelKeyCandidates(params.roomId, `room:${params.roomId}`, ...params.aliases).find((candidate) => Object.hasOwn(params.tree.scopes, candidate)) ?? (Object.hasOwn(params.tree.scopes, "*") ? "*" : void 0);
738
- return key ? [key] : [];
739
- }
740
712
  function resolveMatrixRoomConfig(params) {
741
713
  const rooms = params.rooms ?? {};
742
- const tree = { scopes: rooms };
743
- const [matchKey] = resolveMatrixRoomScopePath({
744
- ...params,
745
- tree
714
+ const allowlistConfigured = Object.keys(rooms).length > 0;
715
+ const candidates = buildChannelKeyCandidates(params.roomId, `room:${params.roomId}`, ...params.aliases);
716
+ const { entry: matched, key: matchedKey, wildcardEntry, wildcardKey } = resolveChannelEntryMatch({
717
+ entries: rooms,
718
+ keys: candidates,
719
+ wildcardKey: "*"
746
720
  });
747
- const resolved = matchKey ? rooms[matchKey] : void 0;
721
+ const resolved = matched ?? wildcardEntry;
748
722
  const legacyAllow = readLegacyRoomAllowAlias(resolved);
749
723
  return {
750
724
  allowed: resolved ? resolved.enabled !== false && legacyAllow !== false : false,
751
- allowlistConfigured: Object.keys(rooms).length > 0,
725
+ allowlistConfigured,
752
726
  config: resolved,
753
- matchKey,
754
- matchSource: resolved ? matchKey === "*" ? "wildcard" : "direct" : void 0
727
+ matchKey: matchedKey ?? wildcardKey,
728
+ matchSource: matched ? "direct" : wildcardEntry ? "wildcard" : void 0
755
729
  };
756
730
  }
757
731
  //#endregion
758
732
  //#region extensions/matrix/src/group-mentions.ts
759
- function resolveMatrixGroupScope(params) {
733
+ function resolveMatrixRoomConfigForGroup(params) {
734
+ const roomId = normalizeMatrixResolvableTarget(params.groupId?.trim() ?? "");
735
+ const groupChannel = params.groupChannel?.trim() ?? "";
736
+ const aliases = groupChannel ? [normalizeMatrixResolvableTarget(groupChannel)] : [];
737
+ const cfg = params.cfg;
760
738
  const matrixConfig = resolveMatrixAccountConfig({
761
- cfg: params.cfg,
739
+ cfg,
762
740
  accountId: params.accountId
763
741
  });
764
- const tree = buildMatrixRoomScopeTree(matrixConfig.groups ?? matrixConfig.rooms);
765
- const roomId = normalizeMatrixResolvableTarget(params.groupId?.trim() ?? "");
766
- const groupChannel = normalizeMatrixResolvableTarget(params.groupChannel?.trim() ?? "");
767
- return {
768
- tree,
769
- path: resolveMatrixRoomScopePath({
770
- tree,
771
- roomId,
772
- aliases: groupChannel ? [groupChannel] : []
773
- })
774
- };
742
+ return resolveMatrixRoomConfig({
743
+ rooms: matrixConfig.groups ?? matrixConfig.rooms,
744
+ roomId,
745
+ aliases
746
+ }).config;
775
747
  }
776
748
  function resolveMatrixGroupRequireMention(params) {
777
- return resolveScopeRequireMention(resolveMatrixGroupScope(params));
749
+ const resolved = resolveMatrixRoomConfigForGroup(params);
750
+ if (resolved) {
751
+ if (resolved.autoReply === true) return false;
752
+ if (resolved.autoReply === false) return true;
753
+ if (typeof resolved.requireMention === "boolean") return resolved.requireMention;
754
+ }
755
+ return true;
778
756
  }
779
757
  function resolveMatrixGroupToolPolicy(params) {
780
- return resolveScopeToolsPolicy(resolveMatrixGroupScope(params));
758
+ return resolveMatrixRoomConfigForGroup(params)?.tools;
781
759
  }
782
760
  //#endregion
783
761
  //#region extensions/matrix/src/resolver.ts
784
- const loadMatrixChannelRuntime$1 = createLazyRuntimeNamedExport(() => import("./resolver.runtime-DS6uPaEe.js"), "matrixResolverRuntime");
762
+ const loadMatrixChannelRuntime$1 = createLazyRuntimeNamedExport(() => import("./resolver.runtime-CeBHR9-T.mjs"), "matrixResolverRuntime");
785
763
  const matrixResolverAdapter = { resolveTargets: async ({ cfg, accountId, inputs, kind, runtime }) => (await loadMatrixChannelRuntime$1()).resolveMatrixTargets({
786
764
  cfg,
787
765
  accountId,
@@ -791,34 +769,38 @@ const matrixResolverAdapter = { resolveTargets: async ({ cfg, accountId, inputs,
791
769
  }) };
792
770
  //#endregion
793
771
  //#region extensions/matrix/src/matrix/session-store-metadata.ts
772
+ function trimMaybeString(value) {
773
+ if (typeof value !== "string") return;
774
+ const trimmed = value.trim();
775
+ return trimmed.length > 0 ? trimmed : void 0;
776
+ }
794
777
  function resolveMatrixRoomTargetId(value) {
795
- const trimmed = normalizeOptionalString(value);
778
+ const trimmed = trimMaybeString(value);
796
779
  if (!trimmed) return;
797
780
  const target = resolveMatrixTargetIdentity(trimmed);
798
781
  return target?.kind === "room" && target.id.startsWith("!") ? target.id : void 0;
799
782
  }
800
783
  function resolveMatrixSessionAccountId(value) {
801
- const trimmed = normalizeOptionalString(value);
784
+ const trimmed = trimMaybeString(value);
802
785
  return trimmed ? normalizeAccountId(trimmed) : void 0;
803
786
  }
804
787
  function resolveMatrixStoredRoomId(params) {
805
- return resolveMatrixRoomTargetId(params.deliveryTo) ?? resolveMatrixRoomTargetId(params.originNativeChannelId) ?? resolveMatrixRoomTargetId(params.originTo);
788
+ return resolveMatrixRoomTargetId(params.deliveryTo) ?? resolveMatrixRoomTargetId(params.lastTo) ?? resolveMatrixRoomTargetId(params.originNativeChannelId) ?? resolveMatrixRoomTargetId(params.originTo);
806
789
  }
807
790
  function resolveMatrixStoredSessionMeta(entry) {
808
791
  if (!entry) return null;
809
- const deliveryContext = deliveryContextFromSession(entry);
810
- const origin = sessionDeliveryOrigin(entry);
811
- const channel = normalizeOptionalString(deliveryContext?.channel) ?? normalizeOptionalString(origin?.provider);
812
- const accountId = resolveMatrixSessionAccountId(deliveryContext?.accountId ?? origin?.accountId) ?? void 0;
792
+ const channel = trimMaybeString(entry.deliveryContext?.channel) ?? trimMaybeString(entry.lastChannel) ?? trimMaybeString(entry.origin?.provider);
793
+ const accountId = resolveMatrixSessionAccountId(entry.deliveryContext?.accountId ?? entry.lastAccountId ?? entry.origin?.accountId) ?? void 0;
813
794
  const roomId = resolveMatrixStoredRoomId({
814
- deliveryTo: deliveryContext?.to,
815
- originNativeChannelId: origin?.nativeChannelId,
816
- originTo: origin?.to
795
+ deliveryTo: entry.deliveryContext?.to,
796
+ lastTo: entry.lastTo,
797
+ originNativeChannelId: entry.origin?.nativeChannelId,
798
+ originTo: entry.origin?.to
817
799
  });
818
- const chatType = normalizeOptionalString(origin?.chatType) ?? normalizeOptionalString(entry.chatType);
819
- const directUserId = chatType === "direct" ? normalizeOptionalString(origin?.nativeDirectUserId) ?? resolveMatrixDirectUserId({
820
- from: normalizeOptionalString(origin?.from),
821
- to: (roomId ? `room:${roomId}` : void 0) ?? normalizeOptionalString(deliveryContext?.to) ?? normalizeOptionalString(origin?.to),
800
+ const chatType = trimMaybeString(entry.origin?.chatType) ?? trimMaybeString(entry.chatType) ?? void 0;
801
+ const directUserId = chatType === "direct" ? trimMaybeString(entry.origin?.nativeDirectUserId) ?? resolveMatrixDirectUserId({
802
+ from: trimMaybeString(entry.origin?.from),
803
+ to: (roomId ? `room:${roomId}` : void 0) ?? trimMaybeString(entry.deliveryContext?.to) ?? trimMaybeString(entry.lastTo) ?? trimMaybeString(entry.origin?.to),
822
804
  chatType
823
805
  }) : void 0;
824
806
  if (!channel && !accountId && !roomId && !directUserId) return null;
@@ -844,8 +826,9 @@ function resolveMatrixCurrentDmRoomId(params) {
844
826
  const sessionKey = parseThreadSessionSuffix(params.currentSessionKey).baseSessionKey ?? params.currentSessionKey?.trim();
845
827
  if (!sessionKey) return;
846
828
  try {
829
+ const storePath = resolveStorePath(params.cfg.session?.store, { agentId: params.agentId });
847
830
  const currentSession = resolveMatrixStoredSessionMeta(getSessionEntry({
848
- storePath: resolveStorePath(params.cfg.session?.store, { agentId: params.agentId }),
831
+ storePath,
849
832
  sessionKey
850
833
  }));
851
834
  if (!currentSession) return;
@@ -881,18 +864,19 @@ function resolveMatrixOutboundSessionRoute(params) {
881
864
  const chatType = target.kind === "user" ? "direct" : "channel";
882
865
  const from = target.kind === "user" ? `matrix:${target.id}` : `matrix:channel:${target.id}`;
883
866
  const to = `room:${roomScopedDmId ?? target.id}`;
867
+ const baseRoute = buildChannelOutboundSessionRoute({
868
+ cfg: params.cfg,
869
+ agentId: params.agentId,
870
+ channel: "matrix",
871
+ accountId: effectiveAccountId,
872
+ recipientSessionExact: target.kind === "room" ? dmSessionScope === "per-room" && target.id.startsWith("!") && target.id.includes(":") : dmSessionScope === "per-user" ? isMatrixQualifiedUserId(target.id) : roomScopedDmId !== void 0,
873
+ peer,
874
+ chatType,
875
+ from,
876
+ to
877
+ });
884
878
  return buildThreadAwareOutboundSessionRoute({
885
- route: buildChannelOutboundSessionRoute({
886
- cfg: params.cfg,
887
- agentId: params.agentId,
888
- channel: "matrix",
889
- accountId: effectiveAccountId,
890
- recipientSessionExact: target.kind === "room" ? dmSessionScope === "per-room" && target.id.startsWith("!") && target.id.includes(":") : dmSessionScope === "per-user" ? isMatrixQualifiedUserId(target.id) : roomScopedDmId !== void 0,
891
- peer,
892
- chatType,
893
- from,
894
- to
895
- }),
879
+ route: baseRoute,
896
880
  replyToId: params.replyToId,
897
881
  threadId: params.threadId,
898
882
  currentSessionKey: params.currentSessionKey,
@@ -901,11 +885,75 @@ function resolveMatrixOutboundSessionRoute(params) {
901
885
  });
902
886
  }
903
887
  //#endregion
888
+ //#region extensions/matrix/src/startup-maintenance.ts
889
+ function logWarningOnlyMatrixMigrationReasons(params) {
890
+ if (params.status.legacyState && "warning" in params.status.legacyState) params.log.warn?.(`matrix: ${params.status.legacyState.warning}`);
891
+ if (params.status.legacyCrypto.warnings.length > 0) params.log.warn?.(`matrix: legacy encrypted-state warnings:\n${params.status.legacyCrypto.warnings.map((entry) => `- ${entry}`).join("\n")}`);
892
+ }
893
+ async function runBestEffortMatrixMigrationStep(params) {
894
+ try {
895
+ await params.run();
896
+ } catch (err) {
897
+ params.log.warn?.(`${params.logPrefix?.trim() || "gateway"}: ${params.label} failed during Matrix migration; continuing startup: ${String(err)}`);
898
+ }
899
+ }
900
+ async function runMatrixStartupMaintenance(params) {
901
+ const env = params.env ?? process.env;
902
+ const createSnapshot = params.deps?.maybeCreateMatrixMigrationSnapshot ?? maybeCreateMatrixMigrationSnapshot;
903
+ const migrateLegacyState = params.deps?.autoMigrateLegacyMatrixState ?? autoMigrateLegacyMatrixState;
904
+ const prepareLegacyCrypto = params.deps?.autoPrepareLegacyMatrixCrypto ?? autoPrepareLegacyMatrixCrypto;
905
+ const trigger = params.trigger?.trim() || "gateway-startup";
906
+ const logPrefix = params.logPrefix?.trim() || "gateway";
907
+ const migrationStatus = resolveMatrixMigrationStatus({
908
+ cfg: params.cfg,
909
+ env
910
+ });
911
+ if (!migrationStatus.pending) return;
912
+ if (!migrationStatus.actionable) {
913
+ params.log.info?.("matrix: migration remains in a warning-only state; no pre-migration snapshot was needed yet");
914
+ logWarningOnlyMatrixMigrationReasons({
915
+ status: migrationStatus,
916
+ log: params.log
917
+ });
918
+ return;
919
+ }
920
+ try {
921
+ await createSnapshot({
922
+ trigger,
923
+ env,
924
+ log: params.log
925
+ });
926
+ } catch (err) {
927
+ params.log.warn?.(`${logPrefix}: failed creating a Matrix migration snapshot; skipping Matrix migration for now: ${String(err)}`);
928
+ return;
929
+ }
930
+ await runBestEffortMatrixMigrationStep({
931
+ label: "legacy Matrix state migration",
932
+ log: params.log,
933
+ logPrefix,
934
+ run: () => migrateLegacyState({
935
+ cfg: params.cfg,
936
+ env,
937
+ log: params.log
938
+ })
939
+ });
940
+ await runBestEffortMatrixMigrationStep({
941
+ label: "legacy Matrix encrypted-state preparation",
942
+ log: params.log,
943
+ logPrefix,
944
+ run: () => prepareLegacyCrypto({
945
+ cfg: params.cfg,
946
+ env,
947
+ log: params.log
948
+ })
949
+ });
950
+ }
951
+ //#endregion
904
952
  //#region extensions/matrix/src/channel.ts
905
953
  let matrixStartupLock = Promise.resolve();
906
- const loadMatrixSetupWizard = createLazyRuntimeNamedExport(() => import("./setup-surface-BBq3WeqX.js").then((n) => n.t), "matrixSetupWizard");
907
- const loadMatrixChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-CLoF2S9T.js"), "matrixChannelRuntime");
908
- const loadMatrixDoctorModule = createLazyRuntimeModule(() => import("./doctor-CM8ijNpW.js"));
954
+ const loadMatrixSetupWizard = createLazyRuntimeNamedExport(() => import("./setup-surface-05_G-MnT.mjs").then((n) => n.t), "matrixSetupWizard");
955
+ const loadMatrixChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-GHcIBJ7H.mjs"), "matrixChannelRuntime");
956
+ const loadMatrixDoctorModule = createLazyRuntimeModule(() => import("./doctor-BGnvMzOR.mjs"));
909
957
  const meta = {
910
958
  id: "matrix",
911
959
  label: "Matrix",
@@ -1158,7 +1206,7 @@ const matrixPlugin = createChatChannelPlugin({
1158
1206
  },
1159
1207
  conversationBindings: {
1160
1208
  supportsCurrentConversationBinding: true,
1161
- defaultTopLevelPlacement,
1209
+ defaultTopLevelPlacement: "child",
1162
1210
  setIdleTimeoutBySessionKey: ({ targetSessionKey, accountId, idleTimeoutMs }) => setMatrixThreadBindingIdleTimeoutBySessionKey({
1163
1211
  targetSessionKey,
1164
1212
  accountId: accountId ?? "",
@@ -1171,9 +1219,8 @@ const matrixPlugin = createChatChannelPlugin({
1171
1219
  }).map(projectMatrixConversationBinding)
1172
1220
  },
1173
1221
  messaging: {
1174
- defaultMarkdownTableMode: "block",
1222
+ defaultMarkdownTableMode: "bullets",
1175
1223
  targetPrefixes: ["matrix"],
1176
- targetIdComparison: "case-sensitive",
1177
1224
  normalizeTarget: normalizeMatrixMessagingTarget,
1178
1225
  resolveInboundConversation: ({ to, conversationId, threadId }) => resolveMatrixInboundConversation({
1179
1226
  to,
@@ -1222,12 +1269,6 @@ const matrixPlugin = createChatChannelPlugin({
1222
1269
  namedAccountPromotionKeys,
1223
1270
  resolveSingleAccountPromotionTarget
1224
1271
  },
1225
- setupContract: {
1226
- ...matrixSetupContract,
1227
- singleAccountKeysToMove,
1228
- namedAccountPromotionKeys,
1229
- resolveSingleAccountPromotionTarget
1230
- },
1231
1272
  bindings: {
1232
1273
  compileConfiguredBinding: ({ conversationId }) => normalizeMatrixAcpConversationId(conversationId),
1233
1274
  matchInboundConversation: ({ compiledBinding, conversationId, parentConversationId }) => matchMatrixAcpConversation({
@@ -1284,7 +1325,7 @@ const matrixPlugin = createChatChannelPlugin({
1284
1325
  await previousLock;
1285
1326
  let monitorMatrixProvider;
1286
1327
  try {
1287
- monitorMatrixProvider = (await import("./monitor-VyWlSLwo.js")).monitorMatrixProvider;
1328
+ monitorMatrixProvider = (await import("./monitor-DNcW_oAN.mjs")).monitorMatrixProvider;
1288
1329
  } finally {
1289
1330
  releaseLock();
1290
1331
  }
@@ -1300,6 +1341,7 @@ const matrixPlugin = createChatChannelPlugin({
1300
1341
  });
1301
1342
  } },
1302
1343
  doctor: matrixDoctor,
1344
+ lifecycle: { runStartupMaintenance: runMatrixStartupMaintenance },
1303
1345
  heartbeat: {
1304
1346
  sendTyping: async ({ cfg, to, accountId }) => {
1305
1347
  await (await loadMatrixChannelRuntime()).sendTypingMatrix(to, true, {