@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,685 +0,0 @@
1
- import { t as isRecord } from "./record-shared-CWWx6fvI.js";
2
- import { t as getMatrixRuntime } from "./runtime-6S3DNFNv.js";
3
- import { n as resolveMatrixAccountStorageRoot } from "./storage-paths-gUmSydsW.js";
4
- import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
5
- import { createHash, randomUUID } from "node:crypto";
6
- import path from "node:path";
7
- import fs from "node:fs";
8
- import { loadJsonFile } from "openclaw/plugin-sdk/json-store";
9
- import os from "node:os";
10
- //#region extensions/matrix/src/matrix/sqlite-state.ts
11
- function resolveStateDirOverride(options) {
12
- if (!options) return;
13
- if (options.stateDir) return options.stateDir;
14
- if (options.stateRootDir) return options.stateRootDir;
15
- return getMatrixRuntime().state.resolveStateDir(options.env ?? process.env, os.homedir);
16
- }
17
- function resolveMatrixSqliteStateKey(options) {
18
- return resolveStateDirOverride(options) ?? "";
19
- }
20
- function resolveMatrixSqliteStateEnv(options) {
21
- const stateDir = resolveStateDirOverride(options);
22
- if (!stateDir) return options?.env;
23
- return {
24
- ...options?.env ?? process.env,
25
- OPENCLAW_STATE_DIR: stateDir
26
- };
27
- }
28
- //#endregion
29
- //#region extensions/matrix/src/matrix/crypto-state-store.ts
30
- const STATE_KEY = "current";
31
- const RECOVERY_KEY_NAMESPACE = "recovery-key";
32
- const LEGACY_CRYPTO_MIGRATION_NAMESPACE = "legacy-crypto-migration";
33
- const IDB_SNAPSHOT_NAMESPACE = "idb-snapshot";
34
- const SMALL_STATE_MAX_ENTRIES = 10;
35
- const IDB_SNAPSHOT_MAX_ENTRIES = 2e4;
36
- const IDB_SNAPSHOT_MAX_CHUNKS = Math.floor((IDB_SNAPSHOT_MAX_ENTRIES - 1) / 2);
37
- const IDB_SNAPSHOT_CHUNK_BYTES = 24e3;
38
- const MATRIX_RECOVERY_KEY_FILENAME = "recovery-key.json";
39
- const MATRIX_LEGACY_CRYPTO_MIGRATION_FILENAME = "legacy-crypto-migration.json";
40
- const MATRIX_IDB_SNAPSHOT_FILENAME = "crypto-idb-snapshot.json";
41
- function openMatrixRecoveryKeyStoreOptions(storageRootDir) {
42
- return {
43
- namespace: RECOVERY_KEY_NAMESPACE,
44
- maxEntries: SMALL_STATE_MAX_ENTRIES,
45
- env: resolveMatrixSqliteStateEnv({ stateDir: storageRootDir })
46
- };
47
- }
48
- function openMatrixLegacyCryptoMigrationStoreOptions(storageRootDir) {
49
- return {
50
- namespace: LEGACY_CRYPTO_MIGRATION_NAMESPACE,
51
- maxEntries: SMALL_STATE_MAX_ENTRIES,
52
- env: resolveMatrixSqliteStateEnv({ stateDir: storageRootDir })
53
- };
54
- }
55
- function openMatrixIdbSnapshotStoreOptions(storageRootDir) {
56
- return {
57
- namespace: IDB_SNAPSHOT_NAMESPACE,
58
- maxEntries: IDB_SNAPSHOT_MAX_ENTRIES,
59
- env: resolveMatrixSqliteStateEnv({ stateDir: storageRootDir })
60
- };
61
- }
62
- function readMatrixRecoveryKeyState(storageRootDir) {
63
- return readMatrixRecoveryKeyStateWithKey({
64
- storageRootDir,
65
- stateKey: STATE_KEY
66
- });
67
- }
68
- function readMatrixRecoveryKeyStateForPath(recoveryKeyPath) {
69
- return readMatrixRecoveryKeyStateWithKey({
70
- storageRootDir: path.dirname(recoveryKeyPath),
71
- stateKey: resolveRecoveryKeyStateKeyForPath(recoveryKeyPath)
72
- });
73
- }
74
- function readMatrixRecoveryKeyStateWithKey(params) {
75
- return normalizeMatrixStoredRecoveryKey(openSyncStore(openMatrixRecoveryKeyStoreOptions(params.storageRootDir)).lookup(params.stateKey));
76
- }
77
- function writeMatrixRecoveryKeyStateForPath(params) {
78
- writeMatrixRecoveryKeyStateWithKey({
79
- storageRootDir: path.dirname(params.recoveryKeyPath),
80
- stateKey: resolveRecoveryKeyStateKeyForPath(params.recoveryKeyPath),
81
- payload: params.payload
82
- });
83
- }
84
- function writeMatrixRecoveryKeyStateWithKey(params) {
85
- const payload = normalizeMatrixStoredRecoveryKey(params.payload);
86
- if (!payload) throw new Error("Invalid Matrix recovery key state");
87
- openSyncStore(openMatrixRecoveryKeyStoreOptions(params.storageRootDir)).register(params.stateKey, payload);
88
- }
89
- async function hasMatrixRecoveryKeyStateInStore(params) {
90
- return normalizeMatrixStoredRecoveryKey(await params.store.lookup(STATE_KEY)) !== null;
91
- }
92
- async function writeMatrixRecoveryKeyStateToStore(params) {
93
- const payload = normalizeMatrixStoredRecoveryKey(params.payload);
94
- if (!payload) throw new Error("Invalid Matrix recovery key state");
95
- await params.store.register(STATE_KEY, payload);
96
- }
97
- function readMatrixLegacyCryptoMigrationState(storageRootDir) {
98
- return normalizeMatrixLegacyCryptoMigrationState(openSyncStore(openMatrixLegacyCryptoMigrationStoreOptions(storageRootDir)).lookup(STATE_KEY));
99
- }
100
- function writeMatrixLegacyCryptoMigrationState(params) {
101
- const state = normalizeMatrixLegacyCryptoMigrationState(params.state);
102
- if (!state) throw new Error("Invalid Matrix legacy crypto migration state");
103
- openSyncStore(openMatrixLegacyCryptoMigrationStoreOptions(params.storageRootDir)).register(STATE_KEY, state);
104
- }
105
- async function hasMatrixLegacyCryptoMigrationStateInStore(params) {
106
- return normalizeMatrixLegacyCryptoMigrationState(await params.store.lookup(STATE_KEY)) !== null;
107
- }
108
- async function writeMatrixLegacyCryptoMigrationStateToStore(params) {
109
- const state = normalizeMatrixLegacyCryptoMigrationState(params.state);
110
- if (!state) throw new Error("Invalid Matrix legacy crypto migration state");
111
- await params.store.register(STATE_KEY, state);
112
- }
113
- function readMatrixIdbSnapshotJson(storageRootDir) {
114
- return readIdbSnapshotJsonFromStore(openSyncStore(openMatrixIdbSnapshotStoreOptions(storageRootDir)));
115
- }
116
- function hasMatrixIdbSnapshotState(storageRootDir) {
117
- return isIdbSnapshotMeta(openSyncStore(openMatrixIdbSnapshotStoreOptions(storageRootDir)).lookup(idbMetaKey()));
118
- }
119
- function writeMatrixIdbSnapshotJson(params) {
120
- writeIdbSnapshotJsonToStore({
121
- snapshotJson: params.snapshotJson,
122
- databaseCount: params.databaseCount,
123
- store: openSyncStore(openMatrixIdbSnapshotStoreOptions(params.storageRootDir))
124
- });
125
- }
126
- async function readMatrixIdbSnapshotJsonFromStore(params) {
127
- return await readIdbSnapshotJsonFromAsyncStore(params.store);
128
- }
129
- async function writeMatrixIdbSnapshotJsonToStore(params) {
130
- const rows = buildIdbSnapshotRows(params.snapshotJson, params.databaseCount);
131
- for (const row of rows.chunks) await params.store.register(row.key, row.value);
132
- await params.store.register(rows.meta.key, rows.meta.value);
133
- for (const row of await params.store.entries()) if (row.key.startsWith(idbChunkKeyPrefix()) && !rows.nextChunkKeys.has(row.key)) await params.store.delete(row.key);
134
- }
135
- function migrateLegacyMatrixRecoveryKeyFileToStore(storageRootDir) {
136
- return migrateLegacyMatrixRecoveryKeyFilePathToStore(path.join(storageRootDir, MATRIX_RECOVERY_KEY_FILENAME));
137
- }
138
- function migrateLegacyMatrixRecoveryKeyFilePathToStore(recoveryKeyPath) {
139
- const existing = readMatrixRecoveryKeyStateForPath(recoveryKeyPath);
140
- const legacy = readLegacyMatrixRecoveryKeyFile(recoveryKeyPath);
141
- if (!existing && legacy) writeMatrixRecoveryKeyStateForPath({
142
- recoveryKeyPath,
143
- payload: legacy
144
- });
145
- return archiveLegacyStateFileIfPossible(recoveryKeyPath);
146
- }
147
- function migrateLegacyMatrixLegacyCryptoMigrationFileToStore(storageRootDir) {
148
- const existing = readMatrixLegacyCryptoMigrationState(storageRootDir);
149
- const legacy = readLegacyMatrixLegacyCryptoMigrationState(storageRootDir);
150
- if (!existing && legacy) writeMatrixLegacyCryptoMigrationState({
151
- storageRootDir,
152
- state: legacy
153
- });
154
- return archiveLegacyStateFileIfPossible(path.join(storageRootDir, MATRIX_LEGACY_CRYPTO_MIGRATION_FILENAME));
155
- }
156
- function readLegacyMatrixRecoveryKeyState(storageRootDir) {
157
- return readLegacyMatrixRecoveryKeyFile(path.join(storageRootDir, MATRIX_RECOVERY_KEY_FILENAME));
158
- }
159
- function readLegacyMatrixRecoveryKeyFile(filePath) {
160
- return readJsonFileSync(filePath, normalizeMatrixStoredRecoveryKey);
161
- }
162
- function readLegacyMatrixLegacyCryptoMigrationState(storageRootDir) {
163
- return readJsonFileSync(path.join(storageRootDir, MATRIX_LEGACY_CRYPTO_MIGRATION_FILENAME), normalizeMatrixLegacyCryptoMigrationState);
164
- }
165
- function scoreMatrixCryptoStateInStore(storageRootDir) {
166
- if (!matrixCryptoStateDatabaseExists(storageRootDir)) return 0;
167
- let score = 0;
168
- try {
169
- if (readMatrixLegacyCryptoMigrationState(storageRootDir)) score += 3;
170
- } catch {}
171
- try {
172
- if (readMatrixRecoveryKeyState(storageRootDir)) score += 2;
173
- } catch {}
174
- try {
175
- if (hasMatrixIdbSnapshotState(storageRootDir)) score += 2;
176
- } catch {}
177
- return score;
178
- }
179
- function matrixCryptoStateDatabaseExists(storageRootDir) {
180
- return fs.existsSync(path.join(storageRootDir, "state", "openclaw.sqlite"));
181
- }
182
- function resolveRecoveryKeyStateKeyForPath(recoveryKeyPath) {
183
- const basename = path.basename(recoveryKeyPath);
184
- if (basename === "recovery-key.json") return STATE_KEY;
185
- return `file:${createHash("sha256").update(basename, "utf8").digest("hex").slice(0, 32)}`;
186
- }
187
- function normalizeMatrixStoredRecoveryKey(value) {
188
- if (!isRecord(value) || value.version !== 1 || typeof value.createdAt !== "string" || typeof value.privateKeyBase64 !== "string" || !value.privateKeyBase64.trim()) return null;
189
- return {
190
- version: 1,
191
- createdAt: value.createdAt,
192
- keyId: typeof value.keyId === "string" ? value.keyId : null,
193
- ...typeof value.encodedPrivateKey === "string" ? { encodedPrivateKey: value.encodedPrivateKey } : {},
194
- privateKeyBase64: value.privateKeyBase64,
195
- ...isRecord(value.keyInfo) ? { keyInfo: {
196
- ...value.keyInfo.passphrase !== void 0 ? { passphrase: value.keyInfo.passphrase } : {},
197
- ...typeof value.keyInfo.name === "string" ? { name: value.keyInfo.name } : {}
198
- } } : {}
199
- };
200
- }
201
- function normalizeMatrixLegacyCryptoMigrationState(value) {
202
- if (!isRecord(value) || value.version !== 1 || typeof value.accountId !== "string") return null;
203
- if (value.restoreStatus !== "pending" && value.restoreStatus !== "completed" && value.restoreStatus !== "manual-action-required") return null;
204
- const roomKeyCounts = isRecord(value.roomKeyCounts) && typeof value.roomKeyCounts.total === "number" && typeof value.roomKeyCounts.backedUp === "number" ? {
205
- total: value.roomKeyCounts.total,
206
- backedUp: value.roomKeyCounts.backedUp
207
- } : null;
208
- return {
209
- version: 1,
210
- ...value.source === "matrix-bot-sdk-rust" ? { source: value.source } : {},
211
- accountId: value.accountId,
212
- ...typeof value.deviceId === "string" || value.deviceId === null ? { deviceId: value.deviceId } : {},
213
- roomKeyCounts,
214
- ...typeof value.backupVersion === "string" || value.backupVersion === null ? { backupVersion: value.backupVersion } : {},
215
- ...typeof value.decryptionKeyImported === "boolean" ? { decryptionKeyImported: value.decryptionKeyImported } : {},
216
- restoreStatus: value.restoreStatus,
217
- ...typeof value.detectedAt === "string" ? { detectedAt: value.detectedAt } : {},
218
- ...typeof value.restoredAt === "string" ? { restoredAt: value.restoredAt } : {},
219
- ...typeof value.importedCount === "number" ? { importedCount: value.importedCount } : {},
220
- ...typeof value.totalCount === "number" ? { totalCount: value.totalCount } : {},
221
- ...typeof value.lastError === "string" || value.lastError === null ? { lastError: value.lastError } : {}
222
- };
223
- }
224
- function openSyncStore(options) {
225
- return getMatrixRuntime().state.openSyncKeyedStore(options);
226
- }
227
- function readJsonFileSync(filePath, normalize) {
228
- try {
229
- return normalize(JSON.parse(fs.readFileSync(filePath, "utf8")));
230
- } catch {
231
- return null;
232
- }
233
- }
234
- function archiveLegacyStateFileIfPossible(filePath) {
235
- if (!fs.existsSync(filePath)) return false;
236
- const archivedPath = `${filePath}.migrated`;
237
- if (fs.existsSync(archivedPath)) return false;
238
- fs.renameSync(filePath, archivedPath);
239
- return true;
240
- }
241
- function readIdbSnapshotJsonFromStore(store) {
242
- const meta = store.lookup(idbMetaKey());
243
- if (!isIdbSnapshotMeta(meta)) return null;
244
- const chunks = readIdbSnapshotChunks(meta, (key) => store.lookup(key));
245
- return chunks ? chunks.join("") : null;
246
- }
247
- async function readIdbSnapshotJsonFromAsyncStore(store) {
248
- const meta = await store.lookup(idbMetaKey());
249
- if (!isIdbSnapshotMeta(meta)) return null;
250
- const chunks = await readIdbSnapshotChunksAsync(meta, (key) => store.lookup(key));
251
- return chunks ? chunks.join("") : null;
252
- }
253
- function readIdbSnapshotChunks(meta, lookup) {
254
- const chunks = [];
255
- for (let index = 0; index < meta.chunkCount; index += 1) {
256
- const chunk = lookup(idbChunkKey(meta.generation, index));
257
- if (!isIdbSnapshotChunk(chunk) || chunk.index !== index) return null;
258
- chunks.push(chunk.data);
259
- }
260
- const snapshotJson = chunks.join("");
261
- if (meta.digest !== digestText(snapshotJson)) return null;
262
- return chunks;
263
- }
264
- async function readIdbSnapshotChunksAsync(meta, lookup) {
265
- const chunks = [];
266
- for (let index = 0; index < meta.chunkCount; index += 1) {
267
- const chunk = await lookup(idbChunkKey(meta.generation, index));
268
- if (!isIdbSnapshotChunk(chunk) || chunk.index !== index) return null;
269
- chunks.push(chunk.data);
270
- }
271
- const snapshotJson = chunks.join("");
272
- if (meta.digest !== digestText(snapshotJson)) return null;
273
- return chunks;
274
- }
275
- function writeIdbSnapshotJsonToStore(params) {
276
- const rows = buildIdbSnapshotRows(params.snapshotJson, params.databaseCount);
277
- for (const row of rows.chunks) params.store.register(row.key, row.value);
278
- params.store.register(rows.meta.key, rows.meta.value);
279
- for (const row of params.store.entries()) if (row.key.startsWith(idbChunkKeyPrefix()) && !rows.nextChunkKeys.has(row.key)) params.store.delete(row.key);
280
- }
281
- function buildIdbSnapshotRows(snapshotJson, databaseCount) {
282
- const generation = randomUUID().replaceAll("-", "");
283
- const chunks = chunkText(snapshotJson).map((data, index) => ({
284
- key: idbChunkKey(generation, index),
285
- value: {
286
- kind: "snapshot-chunk",
287
- index,
288
- data
289
- }
290
- }));
291
- return {
292
- chunks,
293
- nextChunkKeys: new Set(chunks.map((chunk) => chunk.key)),
294
- meta: {
295
- key: idbMetaKey(),
296
- value: {
297
- kind: "meta",
298
- version: 1,
299
- generation,
300
- chunkCount: chunks.length,
301
- digest: digestText(snapshotJson),
302
- databaseCount,
303
- persistedAt: (/* @__PURE__ */ new Date()).toISOString()
304
- }
305
- }
306
- };
307
- }
308
- function idbMetaKey() {
309
- return `${STATE_KEY}:meta`;
310
- }
311
- function idbChunkKeyPrefix() {
312
- return `${STATE_KEY}:snapshot:`;
313
- }
314
- function idbChunkKey(generation, index) {
315
- return `${idbChunkKeyPrefix()}${generation}:${index}`;
316
- }
317
- function chunkText(value) {
318
- const chunks = [];
319
- let current = "";
320
- let currentBytes = 0;
321
- for (const char of value) {
322
- const charBytes = Buffer.byteLength(char, "utf8");
323
- if (current && currentBytes + charBytes > IDB_SNAPSHOT_CHUNK_BYTES) {
324
- pushChunk(chunks, current);
325
- current = "";
326
- currentBytes = 0;
327
- }
328
- current += char;
329
- currentBytes += charBytes;
330
- }
331
- if (current) pushChunk(chunks, current);
332
- return chunks;
333
- }
334
- function pushChunk(chunks, chunk) {
335
- if (chunks.length >= IDB_SNAPSHOT_MAX_CHUNKS) throw new Error("Matrix IndexedDB snapshot exceeds SQLite chunk limit");
336
- chunks.push(chunk);
337
- }
338
- function digestText(value) {
339
- return createHash("sha256").update(value, "utf8").digest("hex");
340
- }
341
- function isIdbSnapshotMeta(value) {
342
- return isRecord(value) && value.kind === "meta" && value.version === 1 && typeof value.generation === "string" && value.generation.trim() !== "" && typeof value.chunkCount === "number" && Number.isSafeInteger(value.chunkCount) && value.chunkCount >= 0 && value.chunkCount <= IDB_SNAPSHOT_MAX_CHUNKS && typeof value.digest === "string" && typeof value.databaseCount === "number" && Number.isSafeInteger(value.databaseCount) && value.databaseCount >= 0 && typeof value.persistedAt === "string";
343
- }
344
- function isIdbSnapshotChunk(value) {
345
- return isRecord(value) && value.kind === "snapshot-chunk" && typeof value.index === "number" && Number.isSafeInteger(value.index) && value.index >= 0 && typeof value.data === "string";
346
- }
347
- //#endregion
348
- //#region extensions/matrix/src/matrix/client/storage.ts
349
- const DEFAULT_ACCOUNT_KEY = "default";
350
- const STORAGE_META_FILENAME = "storage-meta.json";
351
- const THREAD_BINDINGS_FILENAME = "thread-bindings.json";
352
- const STORAGE_META_NAMESPACE = "storage-meta";
353
- const STORAGE_META_STATE_KEY = "current";
354
- const STORAGE_META_MAX_ENTRIES = 10;
355
- function openMatrixStorageMetaStoreOptions(storageRootDir) {
356
- return {
357
- namespace: STORAGE_META_NAMESPACE,
358
- maxEntries: STORAGE_META_MAX_ENTRIES,
359
- env: resolveMatrixSqliteStateEnv({ stateDir: storageRootDir })
360
- };
361
- }
362
- function openStorageMetaStore(rootDir) {
363
- return getMatrixRuntime().state.openSyncKeyedStore(openMatrixStorageMetaStoreOptions(rootDir));
364
- }
365
- function scoreStorageRoot(rootDir, metadata = readStoredRootMetadata(rootDir)) {
366
- let score = 0;
367
- if (Object.keys(metadata).length > 0) score += 1;
368
- if (metadata.currentTokenStateClaimed === true) score += 8;
369
- if (fs.existsSync(path.join(rootDir, "crypto"))) score += 8;
370
- if (fs.existsSync(path.join(rootDir, THREAD_BINDINGS_FILENAME))) score += 4;
371
- if (fs.existsSync(path.join(rootDir, "legacy-crypto-migration.json"))) score += 3;
372
- if (fs.existsSync(path.join(rootDir, "recovery-key.json"))) score += 2;
373
- if (fs.existsSync(path.join(rootDir, "crypto-idb-snapshot.json"))) score += 2;
374
- score += scoreMatrixCryptoStateInStore(rootDir);
375
- return score;
376
- }
377
- function resolveStorageRootMtimeMs(rootDir) {
378
- try {
379
- return fs.statSync(rootDir).mtimeMs;
380
- } catch {
381
- return 0;
382
- }
383
- }
384
- function normalizeMatrixStorageMetadata(value) {
385
- if (!isRecord(value)) return null;
386
- const metadata = {};
387
- if (typeof value.homeserver === "string" && value.homeserver.trim()) metadata.homeserver = value.homeserver.trim();
388
- if (typeof value.userId === "string" && value.userId.trim()) metadata.userId = value.userId.trim();
389
- if (typeof value.accountId === "string" && value.accountId.trim()) metadata.accountId = value.accountId.trim();
390
- if (typeof value.accessTokenHash === "string" && value.accessTokenHash.trim()) metadata.accessTokenHash = value.accessTokenHash.trim();
391
- if (typeof value.deviceId === "string" && value.deviceId.trim()) metadata.deviceId = value.deviceId.trim();
392
- if (value.currentTokenStateClaimed === true) metadata.currentTokenStateClaimed = true;
393
- if (typeof value.createdAt === "string" && value.createdAt.trim()) metadata.createdAt = value.createdAt.trim();
394
- return Object.keys(metadata).length > 0 ? metadata : null;
395
- }
396
- async function hasMatrixStorageMetaStateInStore(params) {
397
- return normalizeMatrixStorageMetadata(await params.store.lookup(STORAGE_META_STATE_KEY)) !== null;
398
- }
399
- async function writeMatrixStorageMetaStateToStore(params) {
400
- await params.store.register(STORAGE_META_STATE_KEY, params.payload);
401
- }
402
- function readStoredRootMetadata(rootDir) {
403
- if (fs.existsSync(path.join(rootDir, "state", "openclaw.sqlite"))) try {
404
- const stored = normalizeMatrixStorageMetadata(openStorageMetaStore(rootDir).lookup(STORAGE_META_STATE_KEY));
405
- if (stored) return stored;
406
- } catch {}
407
- return normalizeMatrixStorageMetadata(loadJsonFile(path.join(rootDir, STORAGE_META_FILENAME))) ?? {};
408
- }
409
- function isCompatibleStorageRoot(params) {
410
- const metadata = readStoredRootMetadata(params.candidateRootDir);
411
- if (metadata.homeserver && metadata.homeserver !== params.homeserver) return false;
412
- if (metadata.userId && metadata.userId !== params.userId) return false;
413
- if (metadata.accountId && normalizeAccountId(metadata.accountId) !== normalizeAccountId(params.accountKey)) return false;
414
- if (params.deviceId && metadata.deviceId && metadata.deviceId.trim() && metadata.deviceId.trim() !== params.deviceId.trim()) return false;
415
- if (params.requireExplicitDeviceMatch && params.deviceId && (!metadata.deviceId || metadata.deviceId.trim() !== params.deviceId.trim())) return false;
416
- return true;
417
- }
418
- function resolvePreferredMatrixStorageRoot(params) {
419
- const canonical = {
420
- rootDir: params.canonicalRootDir,
421
- tokenHash: params.canonicalTokenHash
422
- };
423
- const deviceId = params.deviceId?.trim();
424
- if (!deviceId) return canonical;
425
- const canonicalMetadata = readStoredRootMetadata(params.canonicalRootDir);
426
- if (canonicalMetadata.accessTokenHash === params.canonicalTokenHash && canonicalMetadata.deviceId?.trim() === deviceId && canonicalMetadata.currentTokenStateClaimed === true) return canonical;
427
- const parentDir = path.dirname(params.canonicalRootDir);
428
- const bestCurrentScore = scoreStorageRoot(params.canonicalRootDir, canonicalMetadata);
429
- const bestCurrentMtimeMs = resolveStorageRootMtimeMs(params.canonicalRootDir);
430
- let best = {
431
- rootDir: params.canonicalRootDir,
432
- tokenHash: params.canonicalTokenHash,
433
- score: bestCurrentScore,
434
- mtimeMs: bestCurrentMtimeMs
435
- };
436
- let siblingEntries;
437
- try {
438
- siblingEntries = fs.readdirSync(parentDir, { withFileTypes: true });
439
- } catch {
440
- return {
441
- rootDir: best.rootDir,
442
- tokenHash: best.tokenHash
443
- };
444
- }
445
- const compatiblePopulatedSiblings = [];
446
- const populatedTokenHashes = bestCurrentScore > 0 ? [params.canonicalTokenHash] : [];
447
- for (const entry of siblingEntries.toSorted((a, b) => a.name.localeCompare(b.name))) {
448
- if (!entry.isDirectory()) continue;
449
- if (entry.name === params.canonicalTokenHash) continue;
450
- const candidateRootDir = path.join(parentDir, entry.name);
451
- if (!isCompatibleStorageRoot({
452
- candidateRootDir,
453
- homeserver: params.homeserver,
454
- userId: params.userId,
455
- accountKey: params.accountKey,
456
- deviceId,
457
- requireExplicitDeviceMatch: true
458
- })) continue;
459
- const candidateScore = scoreStorageRoot(candidateRootDir);
460
- if (candidateScore <= 0) continue;
461
- populatedTokenHashes.push(entry.name);
462
- compatiblePopulatedSiblings.push({
463
- rootDir: candidateRootDir,
464
- tokenHash: entry.name,
465
- score: candidateScore,
466
- mtimeMs: resolveStorageRootMtimeMs(candidateRootDir)
467
- });
468
- }
469
- for (const candidate of compatiblePopulatedSiblings) if (candidate.score > best.score || best.rootDir !== params.canonicalRootDir && candidate.score === best.score && candidate.mtimeMs > best.mtimeMs) best = {
470
- rootDir: candidate.rootDir,
471
- tokenHash: candidate.tokenHash,
472
- score: candidate.score,
473
- mtimeMs: candidate.mtimeMs
474
- };
475
- if (populatedTokenHashes.length > 1) getMatrixRuntime().logging.getChildLogger({ module: "matrix-storage" }).warn("matrix: multiple populated token-hash storage roots detected", {
476
- parentDir,
477
- canonicalTokenHash: params.canonicalTokenHash,
478
- selectedTokenHash: best.tokenHash,
479
- populatedTokenHashes,
480
- populatedSiblingTokenHashes: compatiblePopulatedSiblings.map((root) => root.tokenHash),
481
- populatedRootCount: populatedTokenHashes.length
482
- });
483
- return {
484
- rootDir: best.rootDir,
485
- tokenHash: best.tokenHash
486
- };
487
- }
488
- function resolveMatrixStoragePaths(params) {
489
- const env = params.env ?? process.env;
490
- const canonical = resolveMatrixAccountStorageRoot({
491
- stateDir: params.stateDir ?? getMatrixRuntime().state.resolveStateDir(env, os.homedir),
492
- homeserver: params.homeserver,
493
- userId: params.userId,
494
- accessToken: params.accessToken,
495
- accountId: params.accountId
496
- });
497
- const { rootDir, tokenHash } = resolvePreferredMatrixStorageRoot({
498
- canonicalRootDir: canonical.rootDir,
499
- canonicalTokenHash: canonical.tokenHash,
500
- homeserver: params.homeserver,
501
- userId: params.userId,
502
- accountKey: canonical.accountKey,
503
- deviceId: params.deviceId
504
- });
505
- return {
506
- rootDir,
507
- storagePath: path.join(rootDir, "bot-storage.json"),
508
- cryptoPath: path.join(rootDir, "crypto"),
509
- recoveryKeyPath: path.join(rootDir, MATRIX_RECOVERY_KEY_FILENAME),
510
- idbSnapshotPath: path.join(rootDir, MATRIX_IDB_SNAPSHOT_FILENAME),
511
- accountKey: canonical.accountKey,
512
- tokenHash
513
- };
514
- }
515
- function resolveMatrixStateFilePath(params) {
516
- const storagePaths = resolveMatrixStoragePaths({
517
- homeserver: params.auth.homeserver,
518
- userId: params.auth.userId,
519
- accessToken: params.auth.accessToken,
520
- accountId: params.accountId ?? params.auth.accountId,
521
- deviceId: params.auth.deviceId,
522
- env: params.env,
523
- stateDir: params.stateDir
524
- });
525
- return path.join(storagePaths.rootDir, params.filename);
526
- }
527
- async function maybeMigrateLegacyStorage(params) {
528
- const hasAccountScopedLegacyStorageFile = fs.existsSync(params.storagePaths.storagePath);
529
- const syncCache = hasAccountScopedLegacyStorageFile ? await import("./file-sync-store-DiiFsayX.js").then((n) => n.n) : null;
530
- const hasAccountScopedLegacyStorage = hasAccountScopedLegacyStorageFile && await syncCache?.readLegacyMatrixSyncCacheState(params.storagePaths.rootDir) !== null;
531
- const hasAccountScopedRecoveryKey = fs.existsSync(params.storagePaths.recoveryKeyPath);
532
- const hasAccountScopedLegacyCryptoMigration = fs.existsSync(path.join(params.storagePaths.rootDir, MATRIX_LEGACY_CRYPTO_MIGRATION_FILENAME));
533
- if (!hasAccountScopedLegacyStorage && !hasAccountScopedRecoveryKey && !hasAccountScopedLegacyCryptoMigration) return;
534
- const logger = getMatrixRuntime().logging.getChildLogger({ module: "matrix-storage" });
535
- fs.mkdirSync(params.storagePaths.rootDir, { recursive: true });
536
- const moved = [];
537
- const pendingArchives = [];
538
- const skippedExistingTargets = [];
539
- try {
540
- if (hasAccountScopedLegacyStorage) await migrateLegacySyncCacheToSqlite({
541
- sourceRootDir: params.storagePaths.rootDir,
542
- sourcePath: params.storagePaths.storagePath,
543
- targetRootDir: params.storagePaths.rootDir,
544
- label: "account sync cache",
545
- moved,
546
- pendingArchives
547
- });
548
- if (hasAccountScopedRecoveryKey) {
549
- migrateLegacyMatrixRecoveryKeyFileToStore(params.storagePaths.rootDir);
550
- moved.push({
551
- sourcePath: params.storagePaths.recoveryKeyPath,
552
- targetPath: `${params.storagePaths.rootDir} SQLite recovery key state`,
553
- label: "recovery key"
554
- });
555
- }
556
- if (hasAccountScopedLegacyCryptoMigration) {
557
- migrateLegacyMatrixLegacyCryptoMigrationFileToStore(params.storagePaths.rootDir);
558
- moved.push({
559
- sourcePath: path.join(params.storagePaths.rootDir, MATRIX_LEGACY_CRYPTO_MIGRATION_FILENAME),
560
- targetPath: `${params.storagePaths.rootDir} SQLite legacy crypto migration state`,
561
- label: "legacy crypto migration"
562
- });
563
- }
564
- } catch (err) {
565
- const rollbackError = rollbackLegacyMoves(moved);
566
- throw new Error(rollbackError ? `Failed migrating legacy Matrix client storage: ${String(err)}. Rollback also failed: ${rollbackError}` : `Failed migrating legacy Matrix client storage: ${String(err)}`, { cause: err });
567
- }
568
- for (const archive of pendingArchives) archiveLegacyStoragePath({
569
- ...archive,
570
- skippedExistingTargets
571
- });
572
- if (moved.length > 0) logger.info(`matrix: migrated legacy client storage into ${params.storagePaths.rootDir}\n${moved.map((entry) => `- ${entry.label}: ${entry.sourcePath} -> ${entry.targetPath}`).join("\n")}`);
573
- if (skippedExistingTargets.length > 0) logger.warn?.(`matrix: legacy client storage files were left in place because their migrated targets already existed.\n${skippedExistingTargets.join("\n")}`);
574
- }
575
- async function migrateLegacySyncCacheToSqlite(params) {
576
- const syncCache = await import("./file-sync-store-DiiFsayX.js").then((n) => n.n);
577
- const persisted = await syncCache.readLegacyMatrixSyncCacheState(params.sourceRootDir);
578
- if (!persisted) return;
579
- const store = getMatrixRuntime().state.openKeyedStore(syncCache.openMatrixSyncCacheStoreOptions(params.targetRootDir));
580
- if (!await syncCache.hasMatrixSyncCacheStateInStore({
581
- storageRootDir: params.targetRootDir,
582
- store
583
- })) {
584
- await syncCache.writeMatrixSyncCacheStateToStore({
585
- storageRootDir: params.targetRootDir,
586
- payload: persisted,
587
- store
588
- });
589
- claimCurrentTokenStorageState({ rootDir: params.targetRootDir });
590
- params.moved.push({
591
- sourcePath: params.sourcePath,
592
- targetPath: `${params.targetRootDir} SQLite sync cache`,
593
- label: params.label
594
- });
595
- }
596
- params.pendingArchives.push({
597
- sourcePath: params.sourcePath,
598
- label: params.label
599
- });
600
- }
601
- function archiveLegacyStoragePath(params) {
602
- const archivedLegacyStoragePath = `${params.sourcePath}.migrated`;
603
- if (fs.existsSync(archivedLegacyStoragePath)) {
604
- params.skippedExistingTargets.push(`- ${params.label} remains at ${params.sourcePath} because ${archivedLegacyStoragePath} already exists`);
605
- return;
606
- }
607
- fs.renameSync(params.sourcePath, archivedLegacyStoragePath);
608
- }
609
- function rollbackLegacyMoves(moved) {
610
- for (const entry of moved.toReversed()) try {
611
- if (!fs.existsSync(entry.targetPath) || fs.existsSync(entry.sourcePath)) continue;
612
- fs.renameSync(entry.targetPath, entry.sourcePath);
613
- } catch (err) {
614
- return `${entry.label} (${entry.targetPath} -> ${entry.sourcePath}): ${String(err)}`;
615
- }
616
- return null;
617
- }
618
- function writeStoredRootMetadata(rootDir, payload) {
619
- try {
620
- const normalized = normalizeMatrixStorageMetadata(payload);
621
- if (!normalized) return false;
622
- openStorageMetaStore(rootDir).register(STORAGE_META_STATE_KEY, normalized);
623
- return true;
624
- } catch {
625
- return false;
626
- }
627
- }
628
- function writeStorageMeta(params) {
629
- const existing = readStoredRootMetadata(params.storagePaths.rootDir);
630
- return writeStoredRootMetadata(params.storagePaths.rootDir, {
631
- homeserver: params.homeserver,
632
- userId: params.userId,
633
- accountId: params.accountId ?? DEFAULT_ACCOUNT_KEY,
634
- accessTokenHash: params.storagePaths.tokenHash,
635
- deviceId: params.deviceId ?? null,
636
- currentTokenStateClaimed: params.currentTokenStateClaimed ?? existing.currentTokenStateClaimed === true,
637
- createdAt: existing.createdAt ?? (/* @__PURE__ */ new Date()).toISOString()
638
- });
639
- }
640
- function claimCurrentTokenStorageState(params) {
641
- const metadata = readStoredRootMetadata(params.rootDir);
642
- if (!metadata.accessTokenHash?.trim()) return false;
643
- return writeStoredRootMetadata(params.rootDir, {
644
- homeserver: metadata.homeserver,
645
- userId: metadata.userId,
646
- accountId: metadata.accountId ?? DEFAULT_ACCOUNT_KEY,
647
- accessTokenHash: metadata.accessTokenHash,
648
- deviceId: metadata.deviceId ?? null,
649
- currentTokenStateClaimed: true,
650
- createdAt: metadata.createdAt ?? (/* @__PURE__ */ new Date()).toISOString()
651
- });
652
- }
653
- function recordCurrentStorageMetaDeviceId(params) {
654
- const deviceId = params.deviceId.trim();
655
- if (!deviceId) return false;
656
- const metadata = readStoredRootMetadata(params.rootDir);
657
- if (!metadata.accessTokenHash?.trim()) return false;
658
- return writeStoredRootMetadata(params.rootDir, {
659
- homeserver: metadata.homeserver,
660
- userId: metadata.userId,
661
- accountId: metadata.accountId ?? DEFAULT_ACCOUNT_KEY,
662
- accessTokenHash: metadata.accessTokenHash,
663
- deviceId,
664
- currentTokenStateClaimed: metadata.currentTokenStateClaimed === true,
665
- createdAt: metadata.createdAt ?? (/* @__PURE__ */ new Date()).toISOString()
666
- });
667
- }
668
- function repairCurrentTokenStorageMetaDeviceId(params) {
669
- return writeStorageMeta({
670
- storagePaths: resolveMatrixStoragePaths({
671
- homeserver: params.homeserver,
672
- userId: params.userId,
673
- accessToken: params.accessToken,
674
- accountId: params.accountId,
675
- env: params.env,
676
- stateDir: params.stateDir
677
- }),
678
- homeserver: params.homeserver,
679
- userId: params.userId,
680
- accountId: params.accountId,
681
- deviceId: params.deviceId
682
- });
683
- }
684
- //#endregion
685
- export { writeMatrixRecoveryKeyStateForPath as A, readLegacyMatrixRecoveryKeyState as C, writeMatrixIdbSnapshotJson as D, readMatrixRecoveryKeyStateForPath as E, resolveMatrixSqliteStateEnv as M, resolveMatrixSqliteStateKey as N, writeMatrixIdbSnapshotJsonToStore as O, readLegacyMatrixRecoveryKeyFile as S, readMatrixIdbSnapshotJsonFromStore as T, migrateLegacyMatrixRecoveryKeyFilePathToStore as _, openMatrixStorageMetaStoreOptions as a, openMatrixRecoveryKeyStoreOptions as b, resolveMatrixStateFilePath as c, writeStorageMeta as d, MATRIX_IDB_SNAPSHOT_FILENAME as f, hasMatrixRecoveryKeyStateInStore as g, hasMatrixLegacyCryptoMigrationStateInStore as h, normalizeMatrixStorageMetadata as i, writeMatrixRecoveryKeyStateToStore as j, writeMatrixLegacyCryptoMigrationStateToStore as k, resolveMatrixStoragePaths as l, MATRIX_RECOVERY_KEY_FILENAME as m, hasMatrixStorageMetaStateInStore as n, recordCurrentStorageMetaDeviceId as o, MATRIX_LEGACY_CRYPTO_MIGRATION_FILENAME as p, maybeMigrateLegacyStorage as r, repairCurrentTokenStorageMetaDeviceId as s, claimCurrentTokenStorageState as t, writeMatrixStorageMetaStateToStore as u, openMatrixIdbSnapshotStoreOptions as v, readMatrixIdbSnapshotJson as w, readLegacyMatrixLegacyCryptoMigrationState as x, openMatrixLegacyCryptoMigrationStoreOptions as y };