@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,13 +1,6 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { i as setMatrixConsoleLogging, n as LogService, t as ConsoleLogger } from "./logger-D0GCSDQq.js";
1
+ import { i as setMatrixConsoleLogging, n as LogService, t as ConsoleLogger } from "./logger-DpoogOgz.mjs";
3
2
  import { logger } from "matrix-js-sdk/lib/logger.js";
4
3
  //#region extensions/matrix/src/matrix/client/logging.ts
5
- var logging_exports = /* @__PURE__ */ __exportAll({
6
- createMatrixJsSdkClientLogger: () => createMatrixJsSdkClientLogger,
7
- ensureMatrixSdkLoggingConfigured: () => ensureMatrixSdkLoggingConfigured,
8
- setMatrixSdkConsoleLogging: () => setMatrixSdkConsoleLogging,
9
- setMatrixSdkLogMode: () => setMatrixSdkLogMode
10
- });
11
4
  let matrixSdkLoggingConfigured = false;
12
5
  let matrixSdkLogMode = "default";
13
6
  const matrixSdkBaseLogger = new ConsoleLogger();
@@ -96,4 +89,4 @@ function createMatrixJsSdkLoggerInstance(prefix) {
96
89
  };
97
90
  }
98
91
  //#endregion
99
- export { setMatrixSdkLogMode as i, logging_exports as n, setMatrixSdkConsoleLogging as r, createMatrixJsSdkClientLogger as t };
92
+ export { createMatrixJsSdkClientLogger, ensureMatrixSdkLoggingConfigured, setMatrixSdkConsoleLogging, setMatrixSdkLogMode };
@@ -0,0 +1,530 @@
1
+ import { a as resolveMatrixDefaultOrOnlyAccountId, i as resolveMatrixChannelConfig, n as requiresExplicitMatrixDefaultAccount, r as resolveConfiguredMatrixAccountIds, s as resolveMatrixAccountStringValues, t as findMatrixAccountEntry } from "./account-selection-BOQeTqax.mjs";
2
+ import { r as resolveScopedMatrixEnvConfig, t as resolveGlobalMatrixEnvConfig } from "./env-auth-CYJL1jNl.mjs";
3
+ import { a as resolveMatrixCredentialsPath, n as resolveMatrixAccountStorageRoot, s as resolveMatrixLegacyFlatStoragePaths } from "./storage-paths-BWo_ZEMC.mjs";
4
+ import { t as formatMatrixErrorMessage } from "./errors-C47hvAF8.mjs";
5
+ import { C as writeMatrixLegacyCryptoMigrationState, T as writeMatrixRecoveryKeyState, _ as readMatrixLegacyCryptoMigrationState, l as migrateLegacyMatrixRecoveryKeyFileToStore, s as migrateLegacyMatrixLegacyCryptoMigrationFileToStore, v as readMatrixRecoveryKeyState } from "./crypto-state-store-B43k3z3W.mjs";
6
+ import "./migration-snapshot-backup-CpgYhiUp.mjs";
7
+ import { fileURLToPath } from "node:url";
8
+ import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
9
+ import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-id";
10
+ import fs from "node:fs";
11
+ import os from "node:os";
12
+ import path from "node:path";
13
+ import { resolveStateDir } from "openclaw/plugin-sdk/state-paths";
14
+ import { loadJsonFile } from "openclaw/plugin-sdk/json-store";
15
+ //#region extensions/matrix/src/migration-config.ts
16
+ function clean(value) {
17
+ return normalizeOptionalString(value) ?? "";
18
+ }
19
+ function resolveMatrixAccountConfigEntry(cfg, accountId) {
20
+ return findMatrixAccountEntry(cfg, accountId);
21
+ }
22
+ function resolveMatrixFlatStoreSelectionNote(cfg, accountId) {
23
+ if (resolveConfiguredMatrixAccountIds(cfg).length <= 1) return;
24
+ return `Legacy Matrix flat store uses one shared on-disk state, so it will be migrated into account "${accountId}".`;
25
+ }
26
+ function resolveMatrixMigrationConfigFields(params) {
27
+ const channel = resolveMatrixChannelConfig(params.cfg);
28
+ const account = resolveMatrixAccountConfigEntry(params.cfg, params.accountId);
29
+ const scopedEnv = resolveScopedMatrixEnvConfig(params.accountId, params.env);
30
+ const globalEnv = resolveGlobalMatrixEnvConfig(params.env);
31
+ const normalizedAccountId = normalizeAccountId(params.accountId);
32
+ const resolvedStrings = resolveMatrixAccountStringValues({
33
+ accountId: normalizedAccountId,
34
+ account: {
35
+ homeserver: clean(account?.homeserver),
36
+ userId: clean(account?.userId),
37
+ accessToken: clean(account?.accessToken)
38
+ },
39
+ scopedEnv,
40
+ channel: {
41
+ homeserver: clean(channel?.homeserver),
42
+ userId: clean(channel?.userId),
43
+ accessToken: clean(channel?.accessToken)
44
+ },
45
+ globalEnv
46
+ });
47
+ return {
48
+ homeserver: resolvedStrings.homeserver,
49
+ userId: resolvedStrings.userId,
50
+ accessToken: resolvedStrings.accessToken
51
+ };
52
+ }
53
+ function loadStoredMatrixCredentials(env, accountId) {
54
+ const stateDir = resolveStateDir(env, os.homedir);
55
+ const credentialsPath = resolveMatrixCredentialsPath({
56
+ stateDir,
57
+ accountId: normalizeAccountId(accountId)
58
+ });
59
+ try {
60
+ if (!fs.existsSync(credentialsPath)) return null;
61
+ const parsed = JSON.parse(fs.readFileSync(credentialsPath, "utf8"));
62
+ if (typeof parsed.homeserver !== "string" || typeof parsed.userId !== "string" || typeof parsed.accessToken !== "string") return null;
63
+ return {
64
+ homeserver: parsed.homeserver,
65
+ userId: parsed.userId,
66
+ accessToken: parsed.accessToken,
67
+ deviceId: typeof parsed.deviceId === "string" ? parsed.deviceId : void 0
68
+ };
69
+ } catch {
70
+ return null;
71
+ }
72
+ }
73
+ function credentialsMatchResolvedIdentity(stored, identity) {
74
+ if (!stored || !identity.homeserver) return false;
75
+ if (!identity.userId) {
76
+ if (!identity.accessToken) return false;
77
+ return stored.homeserver === identity.homeserver && stored.accessToken === identity.accessToken;
78
+ }
79
+ return stored.homeserver === identity.homeserver && stored.userId === identity.userId;
80
+ }
81
+ function resolveMatrixMigrationAccountTarget(params) {
82
+ const stored = loadStoredMatrixCredentials(params.env, params.accountId);
83
+ const resolved = resolveMatrixMigrationConfigFields(params);
84
+ const matchingStored = credentialsMatchResolvedIdentity(stored, {
85
+ homeserver: resolved.homeserver,
86
+ userId: resolved.userId,
87
+ accessToken: resolved.accessToken
88
+ }) ? stored : null;
89
+ const homeserver = resolved.homeserver;
90
+ const userId = resolved.userId || matchingStored?.userId || "";
91
+ const accessToken = resolved.accessToken || matchingStored?.accessToken || "";
92
+ if (!homeserver || !userId || !accessToken) return null;
93
+ const stateDir = resolveStateDir(params.env, os.homedir);
94
+ const { rootDir } = resolveMatrixAccountStorageRoot({
95
+ stateDir,
96
+ homeserver,
97
+ userId,
98
+ accessToken,
99
+ accountId: params.accountId
100
+ });
101
+ return {
102
+ accountId: params.accountId,
103
+ homeserver,
104
+ userId,
105
+ accessToken,
106
+ rootDir,
107
+ storedDeviceId: matchingStored?.deviceId ?? null
108
+ };
109
+ }
110
+ function resolveLegacyMatrixFlatStoreTarget(params) {
111
+ if (!resolveMatrixChannelConfig(params.cfg)) return { warning: `Legacy Matrix ${params.detectedKind} detected at ${params.detectedPath}, but channels.matrix is not configured yet. Configure Matrix, then rerun "openclaw doctor --fix" or restart the gateway.` };
112
+ if (requiresExplicitMatrixDefaultAccount(params.cfg)) return { warning: `Legacy Matrix ${params.detectedKind} detected at ${params.detectedPath}, but multiple Matrix accounts are configured and channels.matrix.defaultAccount is not set. Set "channels.matrix.defaultAccount" to the intended target account before rerunning "openclaw doctor --fix" or restarting the gateway.` };
113
+ const accountId = resolveMatrixDefaultOrOnlyAccountId(params.cfg);
114
+ const target = resolveMatrixMigrationAccountTarget({
115
+ cfg: params.cfg,
116
+ env: params.env,
117
+ accountId
118
+ });
119
+ if (!target) {
120
+ const targetDescription = params.detectedKind === "state" ? "the new account-scoped target" : "the account-scoped target";
121
+ return { warning: `Legacy Matrix ${params.detectedKind} detected at ${params.detectedPath}, but ${targetDescription} could not be resolved yet (need homeserver, userId, and access token for channels.matrix${accountId === DEFAULT_ACCOUNT_ID ? "" : `.accounts.${accountId}`}). Start the gateway once with a working Matrix login, or rerun "openclaw doctor --fix" after cached credentials are available.` };
122
+ }
123
+ return {
124
+ ...target,
125
+ selectionNote: resolveMatrixFlatStoreSelectionNote(params.cfg, accountId)
126
+ };
127
+ }
128
+ //#endregion
129
+ //#region extensions/matrix/src/legacy-state.ts
130
+ function resolveLegacyMatrixPaths(env) {
131
+ const stateDir = resolveStateDir(env, os.homedir);
132
+ return resolveMatrixLegacyFlatStoragePaths(stateDir);
133
+ }
134
+ function resolveMatrixMigrationPlan(params) {
135
+ const legacy = resolveLegacyMatrixPaths(params.env);
136
+ if (!fs.existsSync(legacy.storagePath) && !fs.existsSync(legacy.cryptoPath)) return null;
137
+ const target = resolveLegacyMatrixFlatStoreTarget({
138
+ cfg: params.cfg,
139
+ env: params.env,
140
+ detectedPath: legacy.rootDir,
141
+ detectedKind: "state"
142
+ });
143
+ if ("warning" in target) return target;
144
+ return {
145
+ accountId: target.accountId,
146
+ legacyStoragePath: legacy.storagePath,
147
+ legacyCryptoPath: legacy.cryptoPath,
148
+ targetRootDir: target.rootDir,
149
+ targetStoragePath: path.join(target.rootDir, "bot-storage.json"),
150
+ targetCryptoPath: path.join(target.rootDir, "crypto"),
151
+ selectionNote: target.selectionNote
152
+ };
153
+ }
154
+ function detectLegacyMatrixState(params) {
155
+ return resolveMatrixMigrationPlan({
156
+ cfg: params.cfg,
157
+ env: params.env ?? process.env
158
+ });
159
+ }
160
+ function moveLegacyPath(params) {
161
+ if (!fs.existsSync(params.sourcePath)) return;
162
+ if (fs.existsSync(params.targetPath)) {
163
+ params.warnings.push(`Matrix legacy ${params.label} not migrated because the target already exists (${params.targetPath}).`);
164
+ return;
165
+ }
166
+ try {
167
+ fs.mkdirSync(path.dirname(params.targetPath), { recursive: true });
168
+ fs.renameSync(params.sourcePath, params.targetPath);
169
+ params.changes.push(`Migrated Matrix legacy ${params.label}: ${params.sourcePath} -> ${params.targetPath}`);
170
+ } catch (err) {
171
+ params.warnings.push(`Failed migrating Matrix legacy ${params.label} (${params.sourcePath} -> ${params.targetPath}): ${String(err)}`);
172
+ }
173
+ }
174
+ async function autoMigrateLegacyMatrixState(params) {
175
+ const env = params.env ?? process.env;
176
+ const detection = detectLegacyMatrixState({
177
+ cfg: params.cfg,
178
+ env
179
+ });
180
+ if (!detection) return {
181
+ migrated: false,
182
+ changes: [],
183
+ warnings: []
184
+ };
185
+ if ("warning" in detection) {
186
+ params.log?.warn?.(`matrix: ${detection.warning}`);
187
+ return {
188
+ migrated: false,
189
+ changes: [],
190
+ warnings: [detection.warning]
191
+ };
192
+ }
193
+ const changes = [];
194
+ const warnings = [];
195
+ moveLegacyPath({
196
+ sourcePath: detection.legacyStoragePath,
197
+ targetPath: detection.targetStoragePath,
198
+ label: "sync store",
199
+ changes,
200
+ warnings
201
+ });
202
+ moveLegacyPath({
203
+ sourcePath: detection.legacyCryptoPath,
204
+ targetPath: detection.targetCryptoPath,
205
+ label: "crypto store",
206
+ changes,
207
+ warnings
208
+ });
209
+ if (changes.length > 0) {
210
+ const details = [
211
+ ...changes.map((entry) => `- ${entry}`),
212
+ ...detection.selectionNote ? [`- ${detection.selectionNote}`] : [],
213
+ "- No user action required."
214
+ ];
215
+ params.log?.info?.(`matrix: plugin upgraded in place for account "${detection.accountId}".\n${details.join("\n")}`);
216
+ }
217
+ if (warnings.length > 0) params.log?.warn?.(`matrix: legacy state migration warnings:\n${warnings.map((entry) => `- ${entry}`).join("\n")}`);
218
+ return {
219
+ migrated: changes.length > 0,
220
+ changes,
221
+ warnings
222
+ };
223
+ }
224
+ //#endregion
225
+ //#region extensions/matrix/src/legacy-crypto-inspector-availability.ts
226
+ const LEGACY_CRYPTO_INSPECTOR_FILE = "legacy-crypto-inspector.js";
227
+ const LEGACY_CRYPTO_INSPECTOR_CHUNK_PREFIX = "legacy-crypto-inspector-";
228
+ const LEGACY_CRYPTO_INSPECTOR_HELPER_CHUNK_PREFIX = "availability-";
229
+ const JAVASCRIPT_MODULE_SUFFIX = ".js";
230
+ function isLegacyCryptoInspectorArtifactName(name) {
231
+ if (name === LEGACY_CRYPTO_INSPECTOR_FILE) return true;
232
+ if (!name.startsWith(LEGACY_CRYPTO_INSPECTOR_CHUNK_PREFIX) || !name.endsWith(JAVASCRIPT_MODULE_SUFFIX)) return false;
233
+ const chunkSuffix = name.slice(24, -3);
234
+ return chunkSuffix.length > 0 && chunkSuffix !== "availability" && !chunkSuffix.startsWith(LEGACY_CRYPTO_INSPECTOR_HELPER_CHUNK_PREFIX);
235
+ }
236
+ function hasSourceInspectorArtifact(currentDir) {
237
+ return [path.resolve(currentDir, "matrix", "legacy-crypto-inspector.ts"), path.resolve(currentDir, "matrix", "legacy-crypto-inspector.js")].some((candidate) => fs.existsSync(candidate));
238
+ }
239
+ function hasBuiltInspectorArtifact(currentDir) {
240
+ if (fs.existsSync(path.join(currentDir, "legacy-crypto-inspector.js"))) return true;
241
+ if (fs.existsSync(path.join(currentDir, "extensions", "matrix", "legacy-crypto-inspector.js"))) return true;
242
+ return fs.readdirSync(currentDir, { withFileTypes: true }).some((entry) => entry.isFile() && isLegacyCryptoInspectorArtifactName(entry.name));
243
+ }
244
+ function isMatrixLegacyCryptoInspectorAvailable() {
245
+ const currentDir = path.dirname(fileURLToPath(import.meta.url));
246
+ if (hasSourceInspectorArtifact(currentDir)) return true;
247
+ try {
248
+ return hasBuiltInspectorArtifact(currentDir);
249
+ } catch {
250
+ return false;
251
+ }
252
+ }
253
+ //#endregion
254
+ //#region extensions/matrix/src/legacy-crypto.ts
255
+ const MATRIX_LEGACY_CRYPTO_INSPECTOR_UNAVAILABLE_MESSAGE = "Legacy Matrix encrypted state was detected, but the Matrix crypto inspector is unavailable.";
256
+ async function loadMatrixLegacyCryptoInspector() {
257
+ return (await import("./legacy-crypto-inspector-Byp8LCys.mjs")).inspectLegacyMatrixCryptoStore;
258
+ }
259
+ function detectLegacyBotSdkCryptoStore(cryptoRootDir) {
260
+ try {
261
+ if (!fs.statSync(cryptoRootDir).isDirectory()) return {
262
+ detected: false,
263
+ warning: `Legacy Matrix encrypted state path exists but is not a directory: ${cryptoRootDir}. OpenClaw skipped automatic crypto migration for that path.`
264
+ };
265
+ } catch (err) {
266
+ return {
267
+ detected: false,
268
+ warning: `Failed reading legacy Matrix encrypted state path (${cryptoRootDir}): ${String(err)}. OpenClaw skipped automatic crypto migration for that path.`
269
+ };
270
+ }
271
+ try {
272
+ return { detected: fs.existsSync(path.join(cryptoRootDir, "bot-sdk.json")) || fs.existsSync(path.join(cryptoRootDir, "matrix-sdk-crypto.sqlite3")) || fs.readdirSync(cryptoRootDir, { withFileTypes: true }).some((entry) => entry.isDirectory() && fs.existsSync(path.join(cryptoRootDir, entry.name, "matrix-sdk-crypto.sqlite3"))) };
273
+ } catch (err) {
274
+ return {
275
+ detected: false,
276
+ warning: `Failed scanning legacy Matrix encrypted state path (${cryptoRootDir}): ${String(err)}. OpenClaw skipped automatic crypto migration for that path.`
277
+ };
278
+ }
279
+ }
280
+ function resolveMatrixAccountIds(cfg) {
281
+ return resolveConfiguredMatrixAccountIds(cfg);
282
+ }
283
+ function resolveLegacyMatrixFlatStorePlan(params) {
284
+ const legacy = resolveMatrixLegacyFlatStoragePaths(resolveStateDir(params.env, os.homedir));
285
+ if (!fs.existsSync(legacy.cryptoPath)) return null;
286
+ const legacyStore = detectLegacyBotSdkCryptoStore(legacy.cryptoPath);
287
+ if (legacyStore.warning) return { warning: legacyStore.warning };
288
+ if (!legacyStore.detected) return null;
289
+ const target = resolveLegacyMatrixFlatStoreTarget({
290
+ cfg: params.cfg,
291
+ env: params.env,
292
+ detectedPath: legacy.cryptoPath,
293
+ detectedKind: "encrypted state"
294
+ });
295
+ if ("warning" in target) return target;
296
+ const metadata = loadLegacyBotSdkMetadata(legacy.cryptoPath);
297
+ return {
298
+ accountId: target.accountId,
299
+ rootDir: target.rootDir,
300
+ recoveryKeyPath: path.join(target.rootDir, "recovery-key.json"),
301
+ statePath: path.join(target.rootDir, "legacy-crypto-migration.json"),
302
+ legacyCryptoPath: legacy.cryptoPath,
303
+ homeserver: target.homeserver,
304
+ userId: target.userId,
305
+ accessToken: target.accessToken,
306
+ deviceId: metadata.deviceId ?? target.storedDeviceId
307
+ };
308
+ }
309
+ function loadLegacyBotSdkMetadata(cryptoRootDir) {
310
+ const metadataPath = path.join(cryptoRootDir, "bot-sdk.json");
311
+ const fallback = { deviceId: null };
312
+ const parsed = loadJsonFile(metadataPath);
313
+ return { deviceId: typeof parsed?.deviceId === "string" && parsed.deviceId.trim() ? parsed.deviceId : fallback.deviceId };
314
+ }
315
+ function resolveMatrixLegacyCryptoPlans(params) {
316
+ const warnings = [];
317
+ const plans = [];
318
+ const flatPlan = resolveLegacyMatrixFlatStorePlan(params);
319
+ if (flatPlan) {
320
+ if ("warning" in flatPlan) warnings.push(flatPlan.warning);
321
+ else plans.push(flatPlan);
322
+ }
323
+ for (const accountId of resolveMatrixAccountIds(params.cfg)) {
324
+ const target = resolveMatrixMigrationAccountTarget({
325
+ cfg: params.cfg,
326
+ env: params.env,
327
+ accountId
328
+ });
329
+ if (!target) continue;
330
+ const legacyCryptoPath = path.join(target.rootDir, "crypto");
331
+ if (!fs.existsSync(legacyCryptoPath)) continue;
332
+ const detectedStore = detectLegacyBotSdkCryptoStore(legacyCryptoPath);
333
+ if (detectedStore.warning) {
334
+ warnings.push(detectedStore.warning);
335
+ continue;
336
+ }
337
+ if (!detectedStore.detected) continue;
338
+ if (plans.some((plan) => plan.accountId === accountId && path.resolve(plan.legacyCryptoPath) === path.resolve(legacyCryptoPath))) continue;
339
+ const metadata = loadLegacyBotSdkMetadata(legacyCryptoPath);
340
+ plans.push({
341
+ accountId: target.accountId,
342
+ rootDir: target.rootDir,
343
+ recoveryKeyPath: path.join(target.rootDir, "recovery-key.json"),
344
+ statePath: path.join(target.rootDir, "legacy-crypto-migration.json"),
345
+ legacyCryptoPath,
346
+ homeserver: target.homeserver,
347
+ userId: target.userId,
348
+ accessToken: target.accessToken,
349
+ deviceId: metadata.deviceId ?? target.storedDeviceId
350
+ });
351
+ }
352
+ return {
353
+ plans,
354
+ warnings
355
+ };
356
+ }
357
+ function detectLegacyMatrixCrypto(params) {
358
+ const detection = resolveMatrixLegacyCryptoPlans({
359
+ cfg: params.cfg,
360
+ env: params.env ?? process.env
361
+ });
362
+ const inspectorAvailable = detection.plans.length === 0 || isMatrixLegacyCryptoInspectorAvailable();
363
+ if (!inspectorAvailable && detection.plans.length > 0) return {
364
+ inspectorAvailable,
365
+ plans: detection.plans,
366
+ warnings: [...detection.warnings, MATRIX_LEGACY_CRYPTO_INSPECTOR_UNAVAILABLE_MESSAGE]
367
+ };
368
+ return {
369
+ inspectorAvailable,
370
+ plans: detection.plans,
371
+ warnings: detection.warnings
372
+ };
373
+ }
374
+ async function autoPrepareLegacyMatrixCrypto(params) {
375
+ const env = params.env ?? process.env;
376
+ const detection = params.deps?.inspectLegacyStore ? resolveMatrixLegacyCryptoPlans({
377
+ cfg: params.cfg,
378
+ env
379
+ }) : detectLegacyMatrixCrypto({
380
+ cfg: params.cfg,
381
+ env
382
+ });
383
+ const inspectorAvailable = "inspectorAvailable" in detection ? detection.inspectorAvailable : true;
384
+ const warnings = [...detection.warnings];
385
+ const changes = [];
386
+ if (detection.plans.length === 0) {
387
+ if (warnings.length > 0) params.log?.warn?.(`matrix: legacy encrypted-state warnings:\n${warnings.map((entry) => `- ${entry}`).join("\n")}`);
388
+ return {
389
+ migrated: false,
390
+ changes,
391
+ warnings
392
+ };
393
+ }
394
+ if (!params.deps?.inspectLegacyStore && !inspectorAvailable) {
395
+ if (warnings.length > 0) params.log?.warn?.(`matrix: legacy encrypted-state warnings:\n${warnings.map((entry) => `- ${entry}`).join("\n")}`);
396
+ return {
397
+ migrated: false,
398
+ changes,
399
+ warnings
400
+ };
401
+ }
402
+ let inspectLegacyStore = params.deps?.inspectLegacyStore;
403
+ if (!inspectLegacyStore) try {
404
+ inspectLegacyStore = await loadMatrixLegacyCryptoInspector();
405
+ } catch (err) {
406
+ const message = formatMatrixErrorMessage(err);
407
+ if (!warnings.includes(message)) warnings.push(message);
408
+ if (warnings.length > 0) params.log?.warn?.(`matrix: legacy encrypted-state warnings:\n${warnings.map((entry) => `- ${entry}`).join("\n")}`);
409
+ return {
410
+ migrated: false,
411
+ changes,
412
+ warnings
413
+ };
414
+ }
415
+ if (!inspectLegacyStore) return {
416
+ migrated: false,
417
+ changes,
418
+ warnings
419
+ };
420
+ for (const plan of detection.plans) {
421
+ try {
422
+ migrateLegacyMatrixLegacyCryptoMigrationFileToStore(plan.rootDir);
423
+ migrateLegacyMatrixRecoveryKeyFileToStore(plan.rootDir);
424
+ } catch (err) {
425
+ warnings.push(`Failed migrating Matrix crypto sidecar state for account "${plan.accountId}" (${plan.rootDir}): ${String(err)}`);
426
+ }
427
+ if (readMatrixLegacyCryptoMigrationState(plan.rootDir)?.version === 1) continue;
428
+ if (!plan.deviceId) {
429
+ warnings.push(`Legacy Matrix encrypted state detected at ${plan.legacyCryptoPath}, but no device ID was found for account "${plan.accountId}". OpenClaw will continue, but old encrypted history cannot be recovered automatically.`);
430
+ continue;
431
+ }
432
+ let summary;
433
+ try {
434
+ summary = await inspectLegacyStore({
435
+ cryptoRootDir: plan.legacyCryptoPath,
436
+ userId: plan.userId,
437
+ deviceId: plan.deviceId,
438
+ log: params.log?.info
439
+ });
440
+ } catch (err) {
441
+ warnings.push(`Failed inspecting legacy Matrix encrypted state for account "${plan.accountId}" (${plan.legacyCryptoPath}): ${String(err)}`);
442
+ continue;
443
+ }
444
+ let decryptionKeyImported = false;
445
+ if (summary.decryptionKeyBase64) {
446
+ const existingRecoveryKey = readMatrixRecoveryKeyState(plan.rootDir);
447
+ if (existingRecoveryKey?.privateKeyBase64 && existingRecoveryKey.privateKeyBase64 !== summary.decryptionKeyBase64) warnings.push(`Legacy Matrix backup key was found for account "${plan.accountId}", but Matrix SQLite state already contains a different recovery key. Leaving the existing state unchanged.`);
448
+ else if (!existingRecoveryKey?.privateKeyBase64) {
449
+ const payload = {
450
+ version: 1,
451
+ createdAt: (/* @__PURE__ */ new Date()).toISOString(),
452
+ keyId: null,
453
+ privateKeyBase64: summary.decryptionKeyBase64
454
+ };
455
+ try {
456
+ writeMatrixRecoveryKeyState({
457
+ storageRootDir: plan.rootDir,
458
+ payload
459
+ });
460
+ changes.push(`Imported Matrix legacy backup key for account "${plan.accountId}" into SQLite`);
461
+ decryptionKeyImported = true;
462
+ } catch (err) {
463
+ warnings.push(`Failed writing Matrix recovery key for account "${plan.accountId}" to SQLite: ${String(err)}`);
464
+ }
465
+ } else decryptionKeyImported = true;
466
+ }
467
+ const localOnlyKeys = summary.roomKeyCounts && summary.roomKeyCounts.total > summary.roomKeyCounts.backedUp ? summary.roomKeyCounts.total - summary.roomKeyCounts.backedUp : 0;
468
+ if (localOnlyKeys > 0) warnings.push(`Legacy Matrix encrypted state for account "${plan.accountId}" contains ${localOnlyKeys} room key(s) that were never backed up. Backed-up keys can be restored automatically, but local-only encrypted history may remain unavailable after upgrade.`);
469
+ if (!summary.decryptionKeyBase64 && (summary.roomKeyCounts?.backedUp ?? 0) > 0) warnings.push(`Legacy Matrix encrypted state for account "${plan.accountId}" has backed-up room keys, but no local backup decryption key was found. Ask the operator to run "openclaw matrix verify backup restore --recovery-key <key>" after upgrade if they have the recovery key.`);
470
+ if (!summary.decryptionKeyBase64 && (summary.roomKeyCounts?.total ?? 0) > 0) warnings.push(`Legacy Matrix encrypted state for account "${plan.accountId}" cannot be fully converted automatically because the old rust crypto store does not expose all local room keys for export.`);
471
+ if (summary.decryptionKeyBase64 && !decryptionKeyImported && !readMatrixRecoveryKeyState(plan.rootDir)) continue;
472
+ const state = {
473
+ version: 1,
474
+ source: "matrix-bot-sdk-rust",
475
+ accountId: plan.accountId,
476
+ deviceId: summary.deviceId,
477
+ roomKeyCounts: summary.roomKeyCounts,
478
+ backupVersion: summary.backupVersion,
479
+ decryptionKeyImported,
480
+ restoreStatus: decryptionKeyImported ? "pending" : "manual-action-required",
481
+ detectedAt: (/* @__PURE__ */ new Date()).toISOString(),
482
+ lastError: null
483
+ };
484
+ try {
485
+ writeMatrixLegacyCryptoMigrationState({
486
+ storageRootDir: plan.rootDir,
487
+ state
488
+ });
489
+ changes.push(`Prepared Matrix legacy encrypted-state migration for account "${plan.accountId}" in SQLite`);
490
+ } catch (err) {
491
+ warnings.push(`Failed writing Matrix legacy encrypted-state migration record for account "${plan.accountId}" to SQLite: ${String(err)}`);
492
+ }
493
+ }
494
+ if (changes.length > 0) params.log?.info?.(`matrix: prepared encrypted-state upgrade.\n${changes.map((entry) => `- ${entry}`).join("\n")}`);
495
+ if (warnings.length > 0) params.log?.warn?.(`matrix: legacy encrypted-state warnings:\n${warnings.map((entry) => `- ${entry}`).join("\n")}`);
496
+ return {
497
+ migrated: changes.length > 0,
498
+ changes,
499
+ warnings
500
+ };
501
+ }
502
+ //#endregion
503
+ //#region extensions/matrix/src/migration-snapshot.ts
504
+ function resolveMatrixMigrationStatus(params) {
505
+ const env = params.env ?? process.env;
506
+ const legacyState = detectLegacyMatrixState({
507
+ cfg: params.cfg,
508
+ env
509
+ });
510
+ const legacyCrypto = detectLegacyMatrixCrypto({
511
+ cfg: params.cfg,
512
+ env
513
+ });
514
+ const actionableLegacyState = legacyState !== null && !("warning" in legacyState);
515
+ const actionableLegacyCrypto = legacyCrypto.plans.length > 0 && legacyCrypto.inspectorAvailable;
516
+ return {
517
+ legacyState,
518
+ legacyCrypto,
519
+ pending: legacyState !== null || legacyCrypto.plans.length > 0 || legacyCrypto.warnings.length > 0,
520
+ actionable: actionableLegacyState || actionableLegacyCrypto
521
+ };
522
+ }
523
+ function hasPendingMatrixMigration(params) {
524
+ return resolveMatrixMigrationStatus(params).pending;
525
+ }
526
+ function hasActionableMatrixMigration(params) {
527
+ return resolveMatrixMigrationStatus(params).actionable;
528
+ }
529
+ //#endregion
530
+ export { detectLegacyMatrixCrypto as a, autoPrepareLegacyMatrixCrypto as i, hasPendingMatrixMigration as n, autoMigrateLegacyMatrixState as o, resolveMatrixMigrationStatus as r, detectLegacyMatrixState as s, hasActionableMatrixMigration as t };
@@ -1,4 +1,4 @@
1
- import { C as formatPollResultsAsText, D as parsePollStartContent, O as resolvePollReferenceEventId, S as formatPollAsText, T as isPollStartType, w as isPollEventType, x as buildPollResultsSummary } from "./send-BldGYG8g.js";
1
+ import { C as formatPollResultsAsText, D as parsePollStartContent, O as resolvePollReferenceEventId, S as formatPollAsText, T as isPollStartType, w as isPollEventType, x as buildPollResultsSummary } from "./send-CGgl0uTn.mjs";
2
2
  import path from "node:path";
3
3
  //#region extensions/matrix/src/matrix/poll-summary.ts
4
4
  function resolveMatrixPollRootEventId(event) {