@openclaw/matrix 2026.9.8 → 2026.10.1-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/dist/.setup/{account-selection-B7axQ80R.mjs → account-selection-BDeeqwwR.mjs} +1 -1
  2. package/dist/.setup/{accounts-WkgrIxMt.mjs → accounts-C_r0UlEm.mjs} +2 -2
  3. package/dist/.setup/{approval-handler.runtime-C-pw3NvY.mjs → approval-handler.runtime-QkHLH2az.mjs} +14 -19
  4. package/dist/.setup/{approval-reactions-BrS5ECU0.mjs → approval-reactions-DhB6gNPU.mjs} +11 -25
  5. package/dist/.setup/{channel-DXenXmj0.mjs → channel-CeRXEAEP.mjs} +17 -46
  6. package/dist/.setup/{channel.runtime-BXUawOno.mjs → channel.runtime-DBQA2y1F.mjs} +6 -6
  7. package/dist/.setup/{channel.setup-DWfLaXqT.mjs → channel.setup-DC2t7_PK.mjs} +12 -26
  8. package/dist/.setup/{cli-IhZO2OEj.mjs → cli-Be8tdNw8.mjs} +24 -45
  9. package/dist/.setup/{cli-metadata-nowEgdY0.mjs → cli-metadata-CtcjBFhc.mjs} +1 -1
  10. package/dist/.setup/{client-BXATebyo.mjs → client-DY3HExqI.mjs} +3 -3
  11. package/dist/.setup/{client-bootstrap-BiHX55is.mjs → client-bootstrap-CZvJjr29.mjs} +1 -1
  12. package/dist/.setup/{client-Ccv77kwh.mjs → client-kmih04ng.mjs} +21 -40
  13. package/dist/.setup/{client-support-Bn9Bk0-H.mjs → client-support-D7BlioUb.mjs} +14 -23
  14. package/dist/.setup/{config-update-5m1Un5gJ.mjs → config-update-CZndPxNd.mjs} +29 -72
  15. package/dist/.setup/{create-client-DRZ580E3.mjs → create-client-CbJVyFDy.mjs} +5 -5
  16. package/dist/.setup/{credentials-C9qDO5-2.mjs → credentials-C2dvc_kB.mjs} +1 -1
  17. package/dist/.setup/{credentials-read-KD4o5biZ.mjs → credentials-read-CqRiEAQa.mjs} +1 -1
  18. package/dist/.setup/{crypto-runtime-DPjIDF8H.mjs → crypto-runtime-B2AjWo-i.mjs} +223 -79
  19. package/dist/.setup/{deps-CLQ4EOq7.mjs → deps-CFNl7tQo.mjs} +14 -39
  20. package/dist/.setup/{device-health-U-yoVjPw.mjs → device-health-Be60VF1w.mjs} +1 -1
  21. package/dist/.setup/{direct-management-Cn2t8n1V.mjs → direct-management-DJtQhLKH.mjs} +4 -8
  22. package/dist/.setup/{directory-live-_sw-Q7KO.mjs → directory-live-DW5UykLL.mjs} +3 -3
  23. package/dist/.setup/{doctor-contract-De6geW0h.mjs → doctor-contract-CsTNmbMa.mjs} +10 -133
  24. package/dist/.setup/{draft-stream-CdVMstpR.mjs → draft-stream-B87DfA6a.mjs} +4 -8
  25. package/dist/.setup/{encryption-guidance-B6797jNA.mjs → encryption-guidance-BEjKbiMR.mjs} +1 -1
  26. package/dist/.setup/{exec-approvals-fsiMQ1ce.mjs → exec-approvals-BLDAMyHs.mjs} +6 -19
  27. package/dist/.setup/{file-sync-store-B-9bMb_O.mjs → file-sync-store-Clc9iEdn.mjs} +3 -3
  28. package/dist/.setup/{http-client-C1XvVD3K.mjs → http-client-DfJY5Ck0.mjs} +8 -29
  29. package/dist/.setup/{inbound-dedupe-BGrMrTTu.mjs → inbound-dedupe-C-EBGY0B.mjs} +1 -1
  30. package/dist/.setup/{joined-room-encryption-TZoOKXgh.mjs → joined-room-encryption-BAD70N5n.mjs} +1 -1
  31. package/dist/.setup/logger-CXQnpXCt.mjs +44 -0
  32. package/dist/.setup/{logging-mhnFQGzB.mjs → logging-BKV8TYQq.mjs} +7 -32
  33. package/dist/.setup/{messages-Buz27pi5.mjs → messages-uCbwLRKS.mjs} +5 -8
  34. package/dist/.setup/{monitor-BBg5qgov.mjs → monitor-skIntQVG.mjs} +109 -180
  35. package/dist/.setup/{onboarding-hJaieQj5.mjs → onboarding-Cm_tOJxs.mjs} +12 -19
  36. package/dist/.setup/{outbound-C9vBijaH.mjs → outbound-CqQou3ny.mjs} +16 -22
  37. package/dist/.setup/{profile-B3DD2jYa.mjs → profile-DS0xdJAi.mjs} +11 -31
  38. package/dist/.setup/{profile-update-CmxIAd4c.mjs → profile-update-C1n8SRqH.mjs} +3 -3
  39. package/dist/.setup/{reaction-events-mnzc_JvP.mjs → reaction-events-Cqq46xsG.mjs} +5 -5
  40. package/dist/.setup/{resolve-targets-BFq3q4c9.mjs → resolve-targets-DFeU1Ww6.mjs} +2 -2
  41. package/dist/.setup/retired-state-BXUQ2I-C.mjs +91 -0
  42. package/dist/.setup/{room-info-BbTGRJcR.mjs → room-info-BPMbwe8I.mjs} +33 -50
  43. package/dist/.setup/{sdk-DmRVM0VA.mjs → sdk-CgQGkCsS.mjs} +226 -182
  44. package/dist/.setup/{send-GOF64QRc.mjs → send-B1Y2L4wj.mjs} +19 -68
  45. package/dist/.setup/{setup-bootstrap-AzalcuCW.mjs → setup-bootstrap-UNIGyKnk.mjs} +2 -2
  46. package/dist/.setup/{setup-core-BeifoeL4.mjs → setup-core-6DppLENo.mjs} +5 -5
  47. package/dist/.setup/{setup-plugin-api-Bsbdw41x.mjs → setup-plugin-api-BRs9bcp4.mjs} +1 -1
  48. package/dist/.setup/startup-verification-D00eUt74.mjs +122 -0
  49. package/dist/.setup/storage-D7agewjH.mjs +464 -0
  50. package/dist/.setup/{sync-cache-state-C6sEmvJK.mjs → sync-cache-state-C2z64uyk.mjs} +10 -24
  51. package/dist/.setup/{thread-bindings-jXu_9cHE.mjs → thread-bindings-DveHVZqN.mjs} +13 -71
  52. package/dist/.setup/{tool-actions-Ce7Okg6m.mjs → tool-actions-BqlK2ilM.mjs} +51 -73
  53. package/dist/.setup/{verification-C45rOZkM.mjs → verification-kMlFYUn0.mjs} +10 -27
  54. package/dist/api.js +5 -5
  55. package/dist/channel-plugin-api.js +1 -1
  56. package/dist/cli-metadata.js +1 -1
  57. package/dist/contract-api.js +2 -2
  58. package/dist/doctor-contract-api.js +47 -201
  59. package/dist/helper-api.js +1 -1
  60. package/dist/index.js +1 -1
  61. package/dist/plugin-entry.handlers.runtime.js +1 -1
  62. package/dist/runtime-api.js +3 -3
  63. package/dist/session-binding-contract-api.js +1 -1
  64. package/dist/setup-entry.js +1 -1
  65. package/dist/setup-plugin-api.js +1 -1
  66. package/node_modules/@openclaw/fs-safe/CHANGELOG.md +95 -0
  67. package/node_modules/@openclaw/fs-safe/README.md +70 -379
  68. package/node_modules/@openclaw/fs-safe/dist/absolute-path.js +35 -51
  69. package/node_modules/@openclaw/fs-safe/dist/advanced.d.ts +2 -0
  70. package/node_modules/@openclaw/fs-safe/dist/advanced.js +1 -0
  71. package/node_modules/@openclaw/fs-safe/dist/archive-input.js +2 -0
  72. package/node_modules/@openclaw/fs-safe/dist/archive-parser.wasm +0 -0
  73. package/node_modules/@openclaw/fs-safe/dist/archive-staging.d.ts +1 -1
  74. package/node_modules/@openclaw/fs-safe/dist/archive-staging.js +9 -10
  75. package/node_modules/@openclaw/fs-safe/dist/archive.js +2 -5
  76. package/node_modules/@openclaw/fs-safe/dist/atomic-io.d.ts +51 -0
  77. package/node_modules/@openclaw/fs-safe/dist/atomic-io.js +242 -0
  78. package/node_modules/@openclaw/fs-safe/dist/config.d.ts +1 -1
  79. package/node_modules/@openclaw/fs-safe/dist/config.js +1 -1
  80. package/node_modules/@openclaw/fs-safe/dist/copy-file-input.d.ts +1 -1
  81. package/node_modules/@openclaw/fs-safe/dist/copy-file-input.js +2 -2
  82. package/node_modules/@openclaw/fs-safe/dist/copy-tree-portable.js +2 -0
  83. package/node_modules/@openclaw/fs-safe/dist/create.js +12 -5
  84. package/node_modules/@openclaw/fs-safe/dist/directory-guard.d.ts +11 -0
  85. package/node_modules/@openclaw/fs-safe/dist/directory-guard.js +4 -7
  86. package/node_modules/@openclaw/fs-safe/dist/entry-publication-types.d.ts +55 -0
  87. package/node_modules/@openclaw/fs-safe/dist/entry-publication-types.js +1 -0
  88. package/node_modules/@openclaw/fs-safe/dist/entry-publication.d.ts +8 -0
  89. package/node_modules/@openclaw/fs-safe/dist/entry-publication.js +262 -0
  90. package/node_modules/@openclaw/fs-safe/dist/exclusive-create.d.ts +3 -0
  91. package/node_modules/@openclaw/fs-safe/dist/exclusive-create.js +22 -0
  92. package/node_modules/@openclaw/fs-safe/dist/file-cleanup.d.ts +1 -6
  93. package/node_modules/@openclaw/fs-safe/dist/file-cleanup.js +3 -6
  94. package/node_modules/@openclaw/fs-safe/dist/file-identity.js +3 -6
  95. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-io.js +2 -2
  96. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-mutation.js +9 -0
  97. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root.js +4 -6
  98. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-stale-admission.js +1 -1
  99. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync.js +8 -0
  100. package/node_modules/@openclaw/fs-safe/dist/file-store-boundary.js +2 -0
  101. package/node_modules/@openclaw/fs-safe/dist/file-store-sync-write.js +20 -18
  102. package/node_modules/@openclaw/fs-safe/dist/file-store.js +4 -10
  103. package/node_modules/@openclaw/fs-safe/dist/fs.d.ts +2 -10
  104. package/node_modules/@openclaw/fs-safe/dist/fs.js +2 -10
  105. package/node_modules/@openclaw/fs-safe/dist/guarded-mkdir.d.ts +3 -4
  106. package/node_modules/@openclaw/fs-safe/dist/guarded-mkdir.js +6 -18
  107. package/node_modules/@openclaw/fs-safe/dist/guest-dispatch-python.js +1 -1
  108. package/node_modules/@openclaw/fs-safe/dist/guest-native-python.js +0 -2
  109. package/node_modules/@openclaw/fs-safe/dist/guest.js +3 -9
  110. package/node_modules/@openclaw/fs-safe/dist/index.d.ts +1 -1
  111. package/node_modules/@openclaw/fs-safe/dist/index.js +1 -1
  112. package/node_modules/@openclaw/fs-safe/dist/json-durable-queue-directory.js +1 -5
  113. package/node_modules/@openclaw/fs-safe/dist/json.js +19 -37
  114. package/node_modules/@openclaw/fs-safe/dist/move-path.js +2 -0
  115. package/node_modules/@openclaw/fs-safe/dist/mutation-authority.d.ts +1 -0
  116. package/node_modules/@openclaw/fs-safe/dist/mutation-authority.js +9 -1
  117. package/node_modules/@openclaw/fs-safe/dist/native-binding.d.ts +47 -2
  118. package/node_modules/@openclaw/fs-safe/dist/native-config.d.ts +1 -9
  119. package/node_modules/@openclaw/fs-safe/dist/native-config.js +6 -40
  120. package/node_modules/@openclaw/fs-safe/dist/native-parent-admission.d.ts +2 -0
  121. package/node_modules/@openclaw/fs-safe/dist/native-parent-admission.js +5 -2
  122. package/node_modules/@openclaw/fs-safe/dist/native-pinned-write.js +11 -316
  123. package/node_modules/@openclaw/fs-safe/dist/native-policy-parent-windows.d.ts +7 -7
  124. package/node_modules/@openclaw/fs-safe/dist/native-policy-parent-windows.js +28 -175
  125. package/node_modules/@openclaw/fs-safe/dist/native-policy-parent.d.ts +15 -0
  126. package/node_modules/@openclaw/fs-safe/dist/native-policy-parent.js +418 -0
  127. package/node_modules/@openclaw/fs-safe/dist/native-rename-outcome.js +9 -4
  128. package/node_modules/@openclaw/fs-safe/dist/native-staged-file.js +17 -13
  129. package/node_modules/@openclaw/fs-safe/dist/native-staged-symlink.js +6 -24
  130. package/node_modules/@openclaw/fs-safe/dist/native.js +5 -1
  131. package/node_modules/@openclaw/fs-safe/dist/path-case.js +10 -9
  132. package/node_modules/@openclaw/fs-safe/dist/path-scope-lexical.js +4 -1
  133. package/node_modules/@openclaw/fs-safe/dist/path-segment-route.d.ts +1 -0
  134. package/node_modules/@openclaw/fs-safe/dist/path-segment-route.js +3 -0
  135. package/node_modules/@openclaw/fs-safe/dist/path.js +4 -1
  136. package/node_modules/@openclaw/fs-safe/dist/permissions-windows.d.ts +0 -1
  137. package/node_modules/@openclaw/fs-safe/dist/pinned-mutation-admission.js +1 -3
  138. package/node_modules/@openclaw/fs-safe/dist/pinned-write-staged.js +2 -0
  139. package/node_modules/@openclaw/fs-safe/dist/pinned-write.js +9 -10
  140. package/node_modules/@openclaw/fs-safe/dist/private-producer-handoff.js +3 -6
  141. package/node_modules/@openclaw/fs-safe/dist/publish-copy-stage.js +2 -2
  142. package/node_modules/@openclaw/fs-safe/dist/publish-file.js +4 -3
  143. package/node_modules/@openclaw/fs-safe/dist/replace-file-buffer.d.ts +3 -4
  144. package/node_modules/@openclaw/fs-safe/dist/replace-file-buffer.js +18 -32
  145. package/node_modules/@openclaw/fs-safe/dist/replace-file-copy-fallback.d.ts +5 -17
  146. package/node_modules/@openclaw/fs-safe/dist/replace-file-copy-fallback.js +92 -230
  147. package/node_modules/@openclaw/fs-safe/dist/replace-file-copy-source.d.ts +4 -15
  148. package/node_modules/@openclaw/fs-safe/dist/replace-file-copy-source.js +22 -63
  149. package/node_modules/@openclaw/fs-safe/dist/replace-file-descriptor.d.ts +9 -34
  150. package/node_modules/@openclaw/fs-safe/dist/replace-file-descriptor.js +78 -83
  151. package/node_modules/@openclaw/fs-safe/dist/replace-file-destination.d.ts +18 -20
  152. package/node_modules/@openclaw/fs-safe/dist/replace-file-destination.js +64 -98
  153. package/node_modules/@openclaw/fs-safe/dist/replace-file-temp-owner.d.ts +16 -33
  154. package/node_modules/@openclaw/fs-safe/dist/replace-file-temp-owner.js +61 -200
  155. package/node_modules/@openclaw/fs-safe/dist/replace-file-types.d.ts +1 -6
  156. package/node_modules/@openclaw/fs-safe/dist/replace-file.js +76 -216
  157. package/node_modules/@openclaw/fs-safe/dist/root-boundary.js +14 -24
  158. package/node_modules/@openclaw/fs-safe/dist/root-context.d.ts +1 -4
  159. package/node_modules/@openclaw/fs-safe/dist/root-context.js +4 -19
  160. package/node_modules/@openclaw/fs-safe/dist/root-create-native.d.ts +52 -0
  161. package/node_modules/@openclaw/fs-safe/dist/root-create-native.js +350 -0
  162. package/node_modules/@openclaw/fs-safe/dist/root-directory-list-types.d.ts +35 -0
  163. package/node_modules/@openclaw/fs-safe/dist/root-directory-list-types.js +1 -0
  164. package/node_modules/@openclaw/fs-safe/dist/root-directory-list.d.ts +2 -27
  165. package/node_modules/@openclaw/fs-safe/dist/root-directory-list.js +31 -28
  166. package/node_modules/@openclaw/fs-safe/dist/root-directory.js +1 -4
  167. package/node_modules/@openclaw/fs-safe/dist/root-errors.js +34 -0
  168. package/node_modules/@openclaw/fs-safe/dist/root-file.js +9 -21
  169. package/node_modules/@openclaw/fs-safe/dist/root-impl.js +105 -37
  170. package/node_modules/@openclaw/fs-safe/dist/root-move-noreplace.d.ts +7 -2
  171. package/node_modules/@openclaw/fs-safe/dist/root-move-noreplace.js +67 -38
  172. package/node_modules/@openclaw/fs-safe/dist/root-observed-path.d.ts +1 -1
  173. package/node_modules/@openclaw/fs-safe/dist/root-observed-path.js +0 -2
  174. package/node_modules/@openclaw/fs-safe/dist/root-options.d.ts +2 -3
  175. package/node_modules/@openclaw/fs-safe/dist/root-path-existing.js +3 -1
  176. package/node_modules/@openclaw/fs-safe/dist/root-path-stat.js +68 -85
  177. package/node_modules/@openclaw/fs-safe/dist/root-path.js +6 -1
  178. package/node_modules/@openclaw/fs-safe/dist/root-paths-lexical.d.ts +4 -0
  179. package/node_modules/@openclaw/fs-safe/dist/root-paths-lexical.js +1 -1
  180. package/node_modules/@openclaw/fs-safe/dist/root-paths.js +4 -9
  181. package/node_modules/@openclaw/fs-safe/dist/root-remove-native.d.ts +4 -0
  182. package/node_modules/@openclaw/fs-safe/dist/root-remove-native.js +311 -0
  183. package/node_modules/@openclaw/fs-safe/dist/root-remove.d.ts +11 -0
  184. package/node_modules/@openclaw/fs-safe/dist/root-remove.js +3 -1
  185. package/node_modules/@openclaw/fs-safe/dist/root-walk.d.ts +2 -2
  186. package/node_modules/@openclaw/fs-safe/dist/root-walk.js +1 -3
  187. package/node_modules/@openclaw/fs-safe/dist/root-write-admission.d.ts +3 -3
  188. package/node_modules/@openclaw/fs-safe/dist/root-write-admission.js +8 -10
  189. package/node_modules/@openclaw/fs-safe/dist/safe-path-segment.d.ts +0 -1
  190. package/node_modules/@openclaw/fs-safe/dist/safe-path-segment.js +0 -4
  191. package/node_modules/@openclaw/fs-safe/dist/secret-file.js +12 -9
  192. package/node_modules/@openclaw/fs-safe/dist/secure-temp-dir.d.ts +0 -2
  193. package/node_modules/@openclaw/fs-safe/dist/sibling-staged-file.js +2 -0
  194. package/node_modules/@openclaw/fs-safe/dist/sibling-temp.js +7 -4
  195. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-acquire.js +13 -6
  196. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-reclaim.d.ts +0 -3
  197. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-reclaim.js +5 -23
  198. package/node_modules/@openclaw/fs-safe/dist/staged-file-settlement.d.ts +2 -1
  199. package/node_modules/@openclaw/fs-safe/dist/staged-file-settlement.js +11 -6
  200. package/node_modules/@openclaw/fs-safe/dist/temp-cleanup.js +1 -8
  201. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-child-admission.d.ts +1 -1
  202. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-child-admission.js +2 -9
  203. package/node_modules/@openclaw/fs-safe/dist/text-atomic.d.ts +1 -6
  204. package/node_modules/@openclaw/fs-safe/dist/trash.js +6 -2
  205. package/node_modules/@openclaw/fs-safe/dist/walk.js +100 -46
  206. package/node_modules/@openclaw/fs-safe/dist/watch-hints.d.ts +7 -0
  207. package/node_modules/@openclaw/fs-safe/dist/watch-hints.js +235 -19
  208. package/node_modules/@openclaw/fs-safe/dist/watch-native.d.ts +21 -2
  209. package/node_modules/@openclaw/fs-safe/dist/watch-native.js +21 -3
  210. package/node_modules/@openclaw/fs-safe/dist/watch-rescan.d.ts +6 -0
  211. package/node_modules/@openclaw/fs-safe/dist/watch-rescan.js +111 -0
  212. package/node_modules/@openclaw/fs-safe/dist/watch-scan.d.ts +13 -0
  213. package/node_modules/@openclaw/fs-safe/dist/watch-scan.js +27 -4
  214. package/node_modules/@openclaw/fs-safe/dist/watch-stream.js +2 -0
  215. package/node_modules/@openclaw/fs-safe/dist/watch.js +131 -40
  216. package/node_modules/@openclaw/fs-safe/dist/windows-path-alias.d.ts +8 -0
  217. package/node_modules/@openclaw/fs-safe/dist/windows-path-alias.js +24 -6
  218. package/node_modules/@openclaw/fs-safe/dist/windows-path-syntax.d.ts +13 -0
  219. package/node_modules/@openclaw/fs-safe/dist/windows-path-syntax.js +51 -0
  220. package/node_modules/@openclaw/fs-safe/docs/advanced.md +4 -0
  221. package/node_modules/@openclaw/fs-safe/docs/atomic.md +4 -1
  222. package/node_modules/@openclaw/fs-safe/docs/config.md +6 -14
  223. package/node_modules/@openclaw/fs-safe/docs/contributing.md +4 -14
  224. package/node_modules/@openclaw/fs-safe/docs/durability.md +6 -29
  225. package/node_modules/@openclaw/fs-safe/docs/entry-publication.md +146 -0
  226. package/node_modules/@openclaw/fs-safe/docs/errors.md +16 -0
  227. package/node_modules/@openclaw/fs-safe/docs/file-store.md +28 -5
  228. package/node_modules/@openclaw/fs-safe/docs/index.md +2 -31
  229. package/node_modules/@openclaw/fs-safe/docs/install.md +10 -31
  230. package/node_modules/@openclaw/fs-safe/docs/json.md +1 -1
  231. package/node_modules/@openclaw/fs-safe/docs/local-roots.md +0 -1
  232. package/node_modules/@openclaw/fs-safe/docs/migrating-to-0.5.md +12 -12
  233. package/node_modules/@openclaw/fs-safe/docs/native-helper.md +35 -96
  234. package/node_modules/@openclaw/fs-safe/docs/native.md +22 -20
  235. package/node_modules/@openclaw/fs-safe/docs/path.md +1 -1
  236. package/node_modules/@openclaw/fs-safe/docs/permissions.md +1 -2
  237. package/node_modules/@openclaw/fs-safe/docs/public-api.md +1 -2
  238. package/node_modules/@openclaw/fs-safe/docs/reading.md +1 -2
  239. package/node_modules/@openclaw/fs-safe/docs/root.md +26 -184
  240. package/node_modules/@openclaw/fs-safe/docs/secret-file.md +1 -1
  241. package/node_modules/@openclaw/fs-safe/docs/security-model.md +115 -3
  242. package/node_modules/@openclaw/fs-safe/docs/store.md +2 -2
  243. package/node_modules/@openclaw/fs-safe/docs/temp.md +29 -65
  244. package/node_modules/@openclaw/fs-safe/docs/testing.md +90 -58
  245. package/node_modules/@openclaw/fs-safe/docs/types.md +3 -16
  246. package/node_modules/@openclaw/fs-safe/docs/walk.md +33 -5
  247. package/node_modules/@openclaw/fs-safe/docs/watch.md +96 -14
  248. package/node_modules/@openclaw/fs-safe/docs/writing.md +172 -16
  249. package/node_modules/@openclaw/fs-safe/package.json +10 -10
  250. package/node_modules/@openclaw/fs-safe-darwin-arm64/fs-safe-native.node +0 -0
  251. package/node_modules/@openclaw/fs-safe-darwin-arm64/package.json +1 -1
  252. package/node_modules/@openclaw/fs-safe-darwin-x64/fs-safe-native.node +0 -0
  253. package/node_modules/@openclaw/fs-safe-darwin-x64/package.json +1 -1
  254. package/node_modules/@openclaw/fs-safe-linux-arm64-gnu/fs-safe-native.node +0 -0
  255. package/node_modules/@openclaw/fs-safe-linux-arm64-gnu/package.json +1 -1
  256. package/node_modules/@openclaw/fs-safe-linux-arm64-musl/fs-safe-native.node +0 -0
  257. package/node_modules/@openclaw/fs-safe-linux-arm64-musl/package.json +1 -1
  258. package/node_modules/@openclaw/fs-safe-linux-x64-gnu/fs-safe-native.node +0 -0
  259. package/node_modules/@openclaw/fs-safe-linux-x64-gnu/package.json +1 -1
  260. package/node_modules/@openclaw/fs-safe-linux-x64-musl/fs-safe-native.node +0 -0
  261. package/node_modules/@openclaw/fs-safe-linux-x64-musl/package.json +1 -1
  262. package/node_modules/@openclaw/fs-safe-win32-x64-msvc/fs-safe-native.node +0 -0
  263. package/node_modules/@openclaw/fs-safe-win32-x64-msvc/package.json +1 -1
  264. package/openclaw.plugin.json +0 -9
  265. package/package.json +5 -5
  266. package/dist/.setup/crypto-snapshot-doctor.runtime-44FrCPR7.mjs +0 -91
  267. package/dist/.setup/doctor-DMvEBx6o.mjs +0 -49
  268. package/dist/.setup/idb-persistence-DBvfre1X.mjs +0 -227
  269. package/dist/.setup/idb-persistence-lock-D_mDu4Cf.mjs +0 -27
  270. package/dist/.setup/logger-CVv56jzH.mjs +0 -74
  271. package/dist/.setup/startup-verification-Aiy_xVdI.mjs +0 -204
  272. package/dist/.setup/storage-BXS2cB2i.mjs +0 -288
  273. package/dist/.setup/storage-metadata-BDRZ7vpX.mjs +0 -371
  274. package/node_modules/@openclaw/fs-safe/dist/watch-alias.d.ts +0 -6
  275. package/node_modules/@openclaw/fs-safe/dist/watch-alias.js +0 -88
  276. package/node_modules/@openclaw/fs-safe/docs/mutation-policy-proof.md +0 -69
  277. package/node_modules/@openclaw/fs-safe/docs/private-file-store.md +0 -68
  278. package/node_modules/@openclaw/fs-safe/docs/test-hooks.md +0 -110
@@ -1,4 +1,4 @@
1
- import { i as __exportAll } from "./doctor-contract-De6geW0h.mjs";
1
+ import { i as __exportAll } from "./doctor-contract-CsTNmbMa.mjs";
2
2
  import { n as listMatrixEnvAccountIds, t as getMatrixScopedEnvVarNames } from "./env-vars-dGqak9dN.mjs";
3
3
  import { DEFAULT_ACCOUNT_ID, normalizeAccountId, normalizeOptionalAccountId } from "openclaw/plugin-sdk/account-id";
4
4
  import { isRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -1,6 +1,6 @@
1
- import { a as resolveConfiguredMatrixAccountIds, d as resolveScopedMatrixEnvConfig, f as resolveMatrixAccountStringValues, l as resolveGlobalMatrixEnvConfig, s as resolveMatrixDefaultOrOnlyAccountId } from "./account-selection-B7axQ80R.mjs";
1
+ import { a as resolveConfiguredMatrixAccountIds, d as resolveScopedMatrixEnvConfig, f as resolveMatrixAccountStringValues, l as resolveGlobalMatrixEnvConfig, s as resolveMatrixDefaultOrOnlyAccountId } from "./account-selection-BDeeqwwR.mjs";
2
2
  import { a as resolveMatrixAccountConfig, o as resolveMatrixBaseConfig, t as findMatrixAccountConfig } from "./account-config-CRsKoMqJ.mjs";
3
- import { a as loadMatrixCredentials, o as loadMatrixCredentialsAsync, r as credentialsMatchConfig, t as captureMatrixCredentialsEnv } from "./credentials-read-KD4o5biZ.mjs";
3
+ import { a as loadMatrixCredentials, o as loadMatrixCredentialsAsync, r as credentialsMatchConfig, t as captureMatrixCredentialsEnv } from "./credentials-read-CqRiEAQa.mjs";
4
4
  import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-id";
5
5
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { hasConfiguredSecretInput } from "openclaw/plugin-sdk/secret-input";
@@ -1,10 +1,10 @@
1
1
  import { a as resolveMatrixAccountConfig } from "./account-config-CRsKoMqJ.mjs";
2
- import { c as shouldHandleMatrixApprovalRequest, r as isMatrixAnyApprovalClientEnabled } from "./exec-approvals-fsiMQ1ce.mjs";
2
+ import { c as shouldHandleMatrixApprovalRequest, r as isMatrixAnyApprovalClientEnabled } from "./exec-approvals-BLDAMyHs.mjs";
3
3
  import { o as resolveMatrixTargetIdentity } from "./target-ids-Nwx7cMVE.mjs";
4
- import { a as repairMatrixDirectRooms } from "./direct-management-Cn2t8n1V.mjs";
5
- import { a as sendSingleTextMessageMatrix, n as reactMatrixMessage, r as sendMessageMatrix } from "./send-GOF64QRc.mjs";
6
- import { a as unregisterMatrixApprovalReactionTarget, n as listMatrixApprovalReactionBindings, r as registerMatrixApprovalReactionTarget, t as buildMatrixApprovalReactionHint } from "./approval-reactions-BrS5ECU0.mjs";
7
- import { n as editMatrixMessage, t as deleteMatrixMessage } from "./messages-Buz27pi5.mjs";
4
+ import { a as repairMatrixDirectRooms } from "./direct-management-DJtQhLKH.mjs";
5
+ import { a as sendSingleTextMessageMatrix, n as reactMatrixMessage, r as sendMessageMatrix } from "./send-B1Y2L4wj.mjs";
6
+ import { a as unregisterMatrixApprovalReactionTarget, n as listMatrixApprovalReactionBindings, r as registerMatrixApprovalReactionTarget, t as buildMatrixApprovalReactionHint } from "./approval-reactions-DhB6gNPU.mjs";
7
+ import { n as editMatrixMessage, t as deleteMatrixMessage } from "./messages-uCbwLRKS.mjs";
8
8
  import { listMessageReceiptPlatformIds, resolveMessageReceiptPrimaryId } from "openclaw/plugin-sdk/channel-outbound";
9
9
  import { normalizeUniqueStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
10
10
  import { buildChannelApprovalNativeTargetKey } from "openclaw/plugin-sdk/approval-native-runtime";
@@ -278,25 +278,20 @@ const matrixApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapter({
278
278
  if (!resolved) return null;
279
279
  const sendSingleTextMessage = resolved.context.deps?.sendSingleTextMessage ?? sendSingleTextMessageMatrix;
280
280
  const reactMessage = resolved.context.deps?.reactMessage ?? reactMatrixMessage;
281
+ const sendOptions = {
282
+ cfg,
283
+ accountId: resolved.accountId,
284
+ client: resolved.context.client,
285
+ threadId: preparedTarget.threadId,
286
+ extraContent: pendingPayload.extraContent
287
+ };
281
288
  let result;
282
289
  try {
283
- result = await retryMatrixApprovalDelivery(async () => await sendSingleTextMessage(preparedTarget.to, pendingPayload.text, {
284
- cfg,
285
- accountId: resolved.accountId,
286
- client: resolved.context.client,
287
- threadId: preparedTarget.threadId,
288
- extraContent: pendingPayload.extraContent
289
- }), { shouldRetry: (error) => !isSingleMatrixMessageLimitError(error) });
290
+ result = await retryMatrixApprovalDelivery(async () => await sendSingleTextMessage(preparedTarget.to, pendingPayload.text, sendOptions), { shouldRetry: (error) => !isSingleMatrixMessageLimitError(error) });
290
291
  } catch (error) {
291
292
  if (!isSingleMatrixMessageLimitError(error)) throw error;
292
293
  const sendMessage = resolved.context.deps?.sendMessage ?? sendMessageMatrix;
293
- result = await retryMatrixApprovalDelivery(async () => await sendMessage(preparedTarget.to, pendingPayload.text, {
294
- cfg,
295
- accountId: resolved.accountId,
296
- client: resolved.context.client,
297
- threadId: preparedTarget.threadId,
298
- extraContent: pendingPayload.extraContent
299
- }));
294
+ result = await retryMatrixApprovalDelivery(async () => await sendMessage(preparedTarget.to, pendingPayload.text, sendOptions));
300
295
  }
301
296
  const receiptMessageIds = listMessageReceiptPlatformIds(result.receipt);
302
297
  const platformMessageIds = receiptMessageIds.length ? receiptMessageIds : [result.messageId.trim()].filter(Boolean);
@@ -1,26 +1,25 @@
1
1
  import { r as getOptionalMatrixRuntime } from "./runtime-1kn1P6io.mjs";
2
2
  import { normalizeAccountId, normalizeOptionalAccountId } from "openclaw/plugin-sdk/routing";
3
3
  import { createApprovalReactionTargetStore } from "openclaw/plugin-sdk/approval-reaction-runtime";
4
+ import { pruneMapToMaxSize } from "openclaw/plugin-sdk/collection-runtime";
4
5
  import { createPluginStateErrorReporter } from "openclaw/plugin-sdk/plugin-state-runtime";
5
6
  //#region extensions/matrix/src/approval-reactions.ts
6
- const MATRIX_APPROVAL_REACTION_META = {
7
- "allow-once": {
7
+ const MATRIX_APPROVAL_REACTION_BINDINGS = [
8
+ {
9
+ decision: "allow-once",
8
10
  emoji: "✅",
9
11
  label: "Allow once"
10
12
  },
11
- "allow-always": {
13
+ {
14
+ decision: "allow-always",
12
15
  emoji: "♾️",
13
16
  label: "Allow always"
14
17
  },
15
- deny: {
18
+ {
19
+ decision: "deny",
16
20
  emoji: "❌",
17
21
  label: "Deny"
18
22
  }
19
- };
20
- const MATRIX_APPROVAL_REACTION_ORDER = [
21
- "allow-once",
22
- "allow-always",
23
- "deny"
24
23
  ];
25
24
  const PERSISTENT_NAMESPACE = "matrix.approval-reactions";
26
25
  const PERSISTENT_MAX_ENTRIES = 1e3;
@@ -61,11 +60,7 @@ const matrixApprovalReactionTargetIndex = /* @__PURE__ */ new Map();
61
60
  function pruneMatrixApprovalReactionTargetIndex() {
62
61
  const nowMs = Date.now();
63
62
  for (const [key, entry] of matrixApprovalReactionTargetIndex) if (entry.expiresAtMs <= nowMs) matrixApprovalReactionTargetIndex.delete(key);
64
- while (matrixApprovalReactionTargetIndex.size > PERSISTENT_MAX_ENTRIES) {
65
- const oldestKey = matrixApprovalReactionTargetIndex.keys().next().value;
66
- if (!oldestKey) return;
67
- matrixApprovalReactionTargetIndex.delete(oldestKey);
68
- }
63
+ pruneMapToMaxSize(matrixApprovalReactionTargetIndex, PERSISTENT_MAX_ENTRIES);
69
64
  }
70
65
  function buildReactionTargetKey(accountId, roomId, eventId) {
71
66
  const normalizedAccountId = normalizeAccountId(accountId);
@@ -80,11 +75,7 @@ function buildReactionTargetKey(accountId, roomId, eventId) {
80
75
  }
81
76
  function listMatrixApprovalReactionBindings(allowedDecisions) {
82
77
  const allowed = new Set(allowedDecisions);
83
- return MATRIX_APPROVAL_REACTION_ORDER.filter((decision) => allowed.has(decision)).map((decision) => ({
84
- decision,
85
- emoji: MATRIX_APPROVAL_REACTION_META[decision].emoji,
86
- label: MATRIX_APPROVAL_REACTION_META[decision].label
87
- }));
78
+ return MATRIX_APPROVAL_REACTION_BINDINGS.filter(({ decision }) => allowed.has(decision)).map((binding) => Object.assign({}, binding));
88
79
  }
89
80
  function buildMatrixApprovalReactionHint(allowedDecisions) {
90
81
  const bindings = listMatrixApprovalReactionBindings(allowedDecisions);
@@ -94,12 +85,7 @@ function buildMatrixApprovalReactionHint(allowedDecisions) {
94
85
  function resolveMatrixApprovalReactionDecision(reactionKey, allowedDecisions) {
95
86
  const normalizedReaction = reactionKey.trim();
96
87
  if (!normalizedReaction) return null;
97
- const allowed = new Set(allowedDecisions);
98
- for (const decision of MATRIX_APPROVAL_REACTION_ORDER) {
99
- if (!allowed.has(decision)) continue;
100
- if (MATRIX_APPROVAL_REACTION_META[decision].emoji === normalizedReaction) return decision;
101
- }
102
- return null;
88
+ return listMatrixApprovalReactionBindings(allowedDecisions).find(({ emoji }) => emoji === normalizedReaction)?.decision ?? null;
103
89
  }
104
90
  async function registerMatrixApprovalReactionTarget(params) {
105
91
  const accountId = normalizeAccountId(params.accountId);
@@ -1,9 +1,9 @@
1
- import { i as __exportAll, n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-De6geW0h.mjs";
2
- import { i as requiresExplicitMatrixDefaultAccount, n as findMatrixAccountEntry, r as hasImplicitMatrixAccountConfig } from "./account-selection-B7axQ80R.mjs";
1
+ import { i as __exportAll, n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-CsTNmbMa.mjs";
2
+ import { i as requiresExplicitMatrixDefaultAccount, n as findMatrixAccountEntry, r as hasImplicitMatrixAccountConfig } from "./account-selection-BDeeqwwR.mjs";
3
3
  import { a as resolveMatrixAccountConfig } from "./account-config-CRsKoMqJ.mjs";
4
- import { a as resolveMatrixAccountAsync, i as resolveMatrixAccount, r as resolveDefaultMatrixAccountId, t as listMatrixAccountIds } from "./accounts-WkgrIxMt.mjs";
5
- import { i as normalizeMatrixUserId, t as matrixPluginBase } from "./channel.setup-DWfLaXqT.mjs";
6
- import { a as isMatrixExecApprovalAuthorizedSender, c as shouldHandleMatrixApprovalRequest, d as matrixApprovalAuth, f as normalizeMatrixApproverId, i as isMatrixApprovalClientEnabled, l as shouldSuppressLocalMatrixExecApprovalPrompt, n as getMatrixExecApprovalApprovers, o as isMatrixExecApprovalClientEnabled, r as isMatrixAnyApprovalClientEnabled, s as resolveMatrixExecApprovalTarget, t as getMatrixApprovalApprovers, u as getMatrixApprovalAuthApprovers } from "./exec-approvals-fsiMQ1ce.mjs";
4
+ import { a as resolveMatrixAccountAsync, i as resolveMatrixAccount, r as resolveDefaultMatrixAccountId, t as listMatrixAccountIds } from "./accounts-C_r0UlEm.mjs";
5
+ import { i as normalizeMatrixUserId, t as matrixPluginBase } from "./channel.setup-DC2t7_PK.mjs";
6
+ import { a as isMatrixExecApprovalAuthorizedSender, c as shouldHandleMatrixApprovalRequest, d as matrixApprovalAuth, f as normalizeMatrixApproverId, i as isMatrixApprovalClientEnabled, l as shouldSuppressLocalMatrixExecApprovalPrompt, n as getMatrixExecApprovalApprovers, o as isMatrixExecApprovalClientEnabled, r as isMatrixAnyApprovalClientEnabled, s as resolveMatrixExecApprovalTarget, t as getMatrixApprovalApprovers, u as getMatrixApprovalAuthApprovers } from "./exec-approvals-BLDAMyHs.mjs";
7
7
  import { a as resolveMatrixDirectUserId, i as normalizeMatrixResolvableTarget, n as isMatrixRoomId, o as resolveMatrixTargetIdentity, r as normalizeMatrixMessagingTarget, t as isMatrixQualifiedUserId } from "./target-ids-Nwx7cMVE.mjs";
8
8
  import { d as setMatrixThreadBindingMaxAgeBySessionKey, l as setMatrixThreadBindingIdleTimeoutBySessionKey } from "./thread-bindings-shared-hxKkYC1W.mjs";
9
9
  import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-JlB6VmI3.mjs";
@@ -154,7 +154,7 @@ const matrixMessageActions = {
154
154
  return account.enabled && account.configured && createActionGate(account.config.actions)("messages") ? payload : null;
155
155
  },
156
156
  handleAction: async (ctx) => {
157
- const { handleMatrixAction } = await import("./tool-actions-Ce7Okg6m.mjs");
157
+ const { handleMatrixAction } = await import("./tool-actions-BqlK2ilM.mjs");
158
158
  return await handleMatrixAction(ctx);
159
159
  }
160
160
  };
@@ -209,11 +209,7 @@ function availabilityState(enabled) {
209
209
  return enabled ? { kind: "enabled" } : { kind: "disabled" };
210
210
  }
211
211
  function hasMatrixApprovalApprovers(params) {
212
- return getMatrixApprovalApprovers({
213
- cfg: params.cfg,
214
- accountId: params.accountId,
215
- approvalKind: params.approvalKind
216
- }).length > 0;
212
+ return getMatrixApprovalApprovers(params).length > 0;
217
213
  }
218
214
  function hasAnyMatrixApprovalApprovers(params) {
219
215
  return getMatrixExecApprovalApprovers(params).length > 0 || getMatrixApprovalAuthApprovers(params).length > 0;
@@ -266,25 +262,15 @@ const matrixNativeApprovalCapability = createApproverRestrictedNativeApprovalCap
266
262
  cfg,
267
263
  accountId
268
264
  }),
269
- isExecAuthorizedSender: ({ cfg, accountId, senderId }) => isMatrixExecApprovalAuthorizedSender({
270
- cfg,
271
- accountId,
272
- senderId
273
- }),
265
+ isExecAuthorizedSender: isMatrixExecApprovalAuthorizedSender,
274
266
  isPluginAuthorizedSender: ({ cfg, accountId, senderId }) => isMatrixApprovalReactionAuthorizedSender({
275
267
  cfg,
276
268
  accountId,
277
269
  senderId,
278
270
  approvalKind: "plugin"
279
271
  }),
280
- isNativeDeliveryEnabled: ({ cfg, accountId }) => isMatrixExecApprovalClientEnabled({
281
- cfg,
282
- accountId
283
- }),
284
- resolveNativeDeliveryMode: ({ cfg, accountId }) => resolveMatrixExecApprovalTarget({
285
- cfg,
286
- accountId
287
- }),
272
+ isNativeDeliveryEnabled: isMatrixExecApprovalClientEnabled,
273
+ resolveNativeDeliveryMode: resolveMatrixExecApprovalTarget,
288
274
  requireMatchingTurnSourceChannel: true,
289
275
  resolveSuppressionAccountId,
290
276
  resolveOriginTarget: resolveMatrixOriginTarget,
@@ -297,17 +283,9 @@ const matrixNativeApprovalCapability = createApproverRestrictedNativeApprovalCap
297
283
  "plugin",
298
284
  "system-agent"
299
285
  ],
300
- isConfigured: ({ cfg, accountId }) => isMatrixAnyApprovalClientEnabled({
301
- cfg,
302
- accountId
303
- }),
304
- shouldHandle: ({ cfg, accountId, approvalKind, request }) => shouldHandleMatrixApprovalRequest({
305
- cfg,
306
- accountId,
307
- approvalKind,
308
- request
309
- }),
310
- load: async () => (await import("./approval-handler.runtime-C-pw3NvY.mjs")).matrixApprovalNativeRuntime
286
+ isConfigured: isMatrixAnyApprovalClientEnabled,
287
+ shouldHandle: shouldHandleMatrixApprovalRequest,
288
+ load: async () => (await import("./approval-handler.runtime-QkHLH2az.mjs")).matrixApprovalNativeRuntime
311
289
  })
312
290
  });
313
291
  const splitMatrixApprovalCapability = splitChannelApprovalCapability(matrixNativeApprovalCapability);
@@ -697,7 +675,7 @@ const matrixPresentationCapabilities = {
697
675
  };
698
676
  //#endregion
699
677
  //#region extensions/matrix/src/resolver.ts
700
- const loadMatrixResolver = createLazyRuntimeNamedExport(() => import("./resolve-targets-BFq3q4c9.mjs").then((n) => n.n), "resolveMatrixTargets");
678
+ const loadMatrixResolver = createLazyRuntimeNamedExport(() => import("./resolve-targets-DFeU1Ww6.mjs").then((n) => n.n), "resolveMatrixTargets");
701
679
  const matrixResolverAdapter = { resolveTargets: async (params) => (await loadMatrixResolver())(params) };
702
680
  //#endregion
703
681
  //#region extensions/matrix/src/matrix/session-store-metadata.ts
@@ -809,9 +787,8 @@ function resolveMatrixOutboundSessionRoute(params) {
809
787
  }
810
788
  //#endregion
811
789
  //#region extensions/matrix/src/channel.ts
812
- const loadMatrixChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-BXUawOno.mjs"), "matrixChannelRuntime");
813
- const loadMatrixDoctorModule = createLazyRuntimeModule(() => import("./doctor-DMvEBx6o.mjs"));
814
- const loadMatrixMonitorModule = createLazyRuntimeModule(() => import("./monitor-BBg5qgov.mjs").catch((error) => {
790
+ const loadMatrixChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-DBQA2y1F.mjs"), "matrixChannelRuntime");
791
+ const loadMatrixMonitorModule = createLazyRuntimeModule(() => import("./monitor-skIntQVG.mjs").catch((error) => {
815
792
  loadMatrixMonitorModule.clear();
816
793
  throw error;
817
794
  }));
@@ -821,13 +798,7 @@ const matrixDoctor = {
821
798
  groupAllowFromFallbackToAllowFrom: false,
822
799
  warnOnEmptyGroupSenderAllowlist: true,
823
800
  legacyConfigRules,
824
- normalizeCompatibilityConfig,
825
- runConfigSequence: async ({ cfg, env, shouldRepair }) => await (await loadMatrixDoctorModule()).runMatrixDoctorSequence({
826
- cfg,
827
- env,
828
- shouldRepair
829
- }),
830
- cleanStaleConfig: async ({ cfg }) => await (await loadMatrixDoctorModule()).cleanStaleMatrixPluginConfig(cfg)
801
+ normalizeCompatibilityConfig
831
802
  };
832
803
  const listMatrixDirectoryPeersFromConfig = createResolvedDirectoryEntriesLister({
833
804
  kind: "user",
@@ -1,14 +1,14 @@
1
- import { T as reconcileMatrixUnknownSend, o as sendTypingMatrix, r as sendMessageMatrix, w as cleanupMatrixDeliveryPlans } from "./send-GOF64QRc.mjs";
2
- import { u as resolveMatrixAuth } from "./client-Ccv77kwh.mjs";
3
- import { n as listMatrixDirectoryGroupsLive, r as listMatrixDirectoryPeersLive } from "./directory-live-_sw-Q7KO.mjs";
4
- import { t as matrixOutbound } from "./outbound-C9vBijaH.mjs";
5
- import { t as resolveMatrixTargets } from "./resolve-targets-BFq3q4c9.mjs";
1
+ import { S as reconcileMatrixUnknownSend, o as sendTypingMatrix, r as sendMessageMatrix, x as cleanupMatrixDeliveryPlans } from "./send-B1Y2L4wj.mjs";
2
+ import { u as resolveMatrixAuth } from "./client-kmih04ng.mjs";
3
+ import { n as listMatrixDirectoryGroupsLive, r as listMatrixDirectoryPeersLive } from "./directory-live-DW5UykLL.mjs";
4
+ import { t as matrixOutbound } from "./outbound-CqQou3ny.mjs";
5
+ import { t as resolveMatrixTargets } from "./resolve-targets-DFeU1Ww6.mjs";
6
6
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
7
7
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
8
8
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
9
9
  import { runChannelProbe } from "openclaw/plugin-sdk/text-utility-runtime";
10
10
  //#region extensions/matrix/src/matrix/probe.ts
11
- const loadMatrixProbeRuntimeDeps = createLazyRuntimeModule(() => import("./client-Ccv77kwh.mjs").then((n) => n.t));
11
+ const loadMatrixProbeRuntimeDeps = createLazyRuntimeModule(() => import("./client-kmih04ng.mjs").then((n) => n.t));
12
12
  async function probeMatrix(params) {
13
13
  return await runChannelProbe(void 0, async () => {
14
14
  const result = {
@@ -1,6 +1,6 @@
1
1
  import { a as resolveMatrixAccountConfig } from "./account-config-CRsKoMqJ.mjs";
2
- import { a as resolveMatrixAccountAsync, i as resolveMatrixAccount, r as resolveDefaultMatrixAccountId, t as listMatrixAccountIds } from "./accounts-WkgrIxMt.mjs";
3
- import { r as matrixSetupContract, t as createMatrixSetupWizardProxy } from "./setup-core-BeifoeL4.mjs";
2
+ import { a as resolveMatrixAccountAsync, i as resolveMatrixAccount, r as resolveDefaultMatrixAccountId, t as listMatrixAccountIds } from "./accounts-C_r0UlEm.mjs";
3
+ import { r as matrixSetupContract, t as createMatrixSetupWizardProxy } from "./setup-core-6DppLENo.mjs";
4
4
  import { adaptScopedAccountAccessor, createScopedChannelConfigAdapter } from "openclaw/plugin-sdk/channel-config-helpers";
5
5
  import { createChannelConfigUiHints } from "openclaw/plugin-sdk/channel-core";
6
6
  import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -8,7 +8,7 @@ import { buildSecretInputSchema } from "openclaw/plugin-sdk/secret-input";
8
8
  import { resolveAllowlistMatchByCandidates } from "openclaw/plugin-sdk/allow-from";
9
9
  import { normalizeStringEntries as normalizeStringEntries$1 } from "openclaw/plugin-sdk/string-normalization-runtime";
10
10
  import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
11
- import { AllowFromListSchema, BlockStreamingCoalesceSchema, ContextVisibilityModeSchema, GroupPolicySchema, MarkdownConfigSchema, MentionPatternsPolicySchema, buildChannelConfigSchema, buildGroupEntrySchema, buildNestedDmConfigSchema } from "openclaw/plugin-sdk/channel-config-schema";
11
+ import { AllowFromListSchema, ChannelBotLoopProtectionSchema, ChannelDeliveryStreamingConfigSchema, ChannelStreamingPreviewSchema, ChannelStreamingProgressSchema, ContextVisibilityModeSchema, GroupPolicySchema, MarkdownConfigSchema, MentionPatternsPolicySchema, buildChannelConfigSchema, buildGroupEntrySchema, buildNestedDmConfigSchema } from "openclaw/plugin-sdk/channel-config-schema";
12
12
  import { z } from "zod";
13
13
  //#region extensions/matrix/src/matrix/monitor/allowlist.ts
14
14
  function normalizeMatrixUser(raw) {
@@ -181,17 +181,11 @@ const matrixExecApprovalsSchema = z.object({
181
181
  "both"
182
182
  ]).optional()
183
183
  }).optional();
184
- const botLoopProtectionSchema = z.object({
185
- enabled: z.boolean().optional(),
186
- maxEventsPerWindow: z.number().int().positive().optional(),
187
- windowSeconds: z.number().int().positive().optional(),
188
- cooldownSeconds: z.number().int().positive().optional()
189
- }).strict().optional();
190
184
  const matrixRoomSchema = buildGroupEntrySchema({
191
185
  requireMentionInBotThreads: z.boolean().optional(),
192
186
  account: z.string().optional(),
193
187
  allowBots: z.union([z.boolean(), z.literal("mentions")]).optional(),
194
- botLoopProtection: botLoopProtectionSchema,
188
+ botLoopProtection: ChannelBotLoopProtectionSchema.optional(),
195
189
  autoReply: z.boolean().optional(),
196
190
  users: AllowFromListSchema
197
191
  }).omit({
@@ -206,20 +200,12 @@ const matrixStreamingSchema = z.object({
206
200
  "progress",
207
201
  "off"
208
202
  ]).optional(),
209
- chunkMode: z.enum(["length", "newline"]).optional(),
210
- block: z.object({
211
- enabled: z.boolean().optional(),
212
- coalesce: BlockStreamingCoalesceSchema.optional()
213
- }).strict().optional(),
214
- progress: z.object({
215
- label: z.union([z.string(), z.literal(false)]).optional(),
216
- labels: z.array(z.string()).optional(),
217
- maxLines: z.number().int().positive().optional(),
218
- maxLineChars: z.number().int().positive().optional(),
219
- toolProgress: z.boolean().optional(),
220
- commandText: z.enum(["raw", "status"]).optional()
221
- }).strict().optional(),
222
- preview: z.object({ toolProgress: z.boolean().optional() }).strict().optional()
203
+ ...ChannelDeliveryStreamingConfigSchema.shape,
204
+ progress: ChannelStreamingProgressSchema.omit({
205
+ commentary: true,
206
+ narration: true
207
+ }).optional(),
208
+ preview: ChannelStreamingPreviewSchema.pick({ toolProgress: true }).optional()
223
209
  }).strict();
224
210
  const retiredMatrixAccountStreamingKeys = [
225
211
  "streamMode",
@@ -262,7 +248,7 @@ const MatrixConfigSchema = z.object({
262
248
  allowlistOnly: z.boolean().optional(),
263
249
  dangerouslyAllowNameMatching: z.boolean().optional(),
264
250
  allowBots: z.union([z.boolean(), z.literal("mentions")]).optional(),
265
- botLoopProtection: botLoopProtectionSchema,
251
+ botLoopProtection: ChannelBotLoopProtectionSchema.optional(),
266
252
  groupPolicy: GroupPolicySchema.optional(),
267
253
  requireMentionInBotThreads: z.boolean().optional(),
268
254
  mentionPatterns: MentionPatternsPolicySchema.optional(),
@@ -329,7 +315,7 @@ const matrixPluginBase = {
329
315
  order: 70,
330
316
  quickstartAllowFrom: true
331
317
  },
332
- setupWizard: createMatrixSetupWizardProxy(async () => ({ matrixSetupWizard: (await import("./onboarding-hJaieQj5.mjs").then((n) => n.n)).matrixOnboardingAdapter })),
318
+ setupWizard: createMatrixSetupWizardProxy(async () => ({ matrixSetupWizard: (await import("./onboarding-Cm_tOJxs.mjs").then((n) => n.n)).matrixOnboardingAdapter })),
333
319
  setupContract: matrixSetupContract,
334
320
  capabilities: {
335
321
  chatTypes: [
@@ -1,16 +1,17 @@
1
1
  import { t as getMatrixRuntime } from "./runtime-1kn1P6io.mjs";
2
2
  import { a as resolveMatrixAccountConfig, n as hasExplicitMatrixAccountConfig } from "./account-config-CRsKoMqJ.mjs";
3
- import { a as resolveMatrixAccountAsync } from "./accounts-WkgrIxMt.mjs";
3
+ import { a as resolveMatrixAccountAsync } from "./accounts-C_r0UlEm.mjs";
4
4
  import { n as resolveMatrixConfigPath } from "./config-paths-CnREYb1Y.mjs";
5
- import { n as updateMatrixAccountConfig } from "./config-update-5m1Un5gJ.mjs";
6
- import { n as matrixSetupAdapter } from "./setup-core-BeifoeL4.mjs";
7
- import { n as withResolvedActionClient } from "./client-BXATebyo.mjs";
8
- import { d as resolveMatrixAuthContext } from "./client-Ccv77kwh.mjs";
5
+ import { n as updateMatrixAccountConfig } from "./config-update-CZndPxNd.mjs";
6
+ import { n as matrixSetupAdapter } from "./setup-core-6DppLENo.mjs";
7
+ import { n as withResolvedActionClient } from "./client-DY3HExqI.mjs";
8
+ import { d as resolveMatrixAuthContext } from "./client-kmih04ng.mjs";
9
9
  import { t as resolveMatrixRoomKeyBackupIssue } from "./backup-health-Dm_YMVFT.mjs";
10
- import { i as setMatrixSdkLogMode, r as setMatrixSdkConsoleLogging } from "./logging-mhnFQGzB.mjs";
11
- import { n as isOpenClawManagedMatrixDevice, r as summarizeMatrixDeviceHealth } from "./device-health-U-yoVjPw.mjs";
12
- import { n as updateMatrixOwnProfile, t as applyMatrixProfileUpdate } from "./profile-update-CmxIAd4c.mjs";
13
- import { a as confirmMatrixVerificationSas, b as verifyMatrixRecoveryKey, c as getMatrixRoomKeyBackupStatus, d as listMatrixVerifications, f as mismatchMatrixVerificationSas, g as runMatrixSelfVerification, h as restoreMatrixRoomKeyBackup, l as getMatrixVerificationSas, m as resetMatrixRoomKeyBackup, n as bootstrapMatrixVerification, p as requestMatrixVerification, r as cancelMatrixVerification, t as acceptMatrixVerification, u as getMatrixVerificationStatus, v as startMatrixVerification } from "./verification-C45rOZkM.mjs";
10
+ import { i as setMatrixConsoleLogging } from "./logger-CXQnpXCt.mjs";
11
+ import { r as setMatrixSdkLogMode } from "./logging-BKV8TYQq.mjs";
12
+ import { n as isOpenClawManagedMatrixDevice, r as summarizeMatrixDeviceHealth } from "./device-health-Be60VF1w.mjs";
13
+ import { n as updateMatrixOwnProfile, t as applyMatrixProfileUpdate } from "./profile-update-C1n8SRqH.mjs";
14
+ import { a as confirmMatrixVerificationSas, b as verifyMatrixRecoveryKey, c as getMatrixRoomKeyBackupStatus, d as listMatrixVerifications, f as mismatchMatrixVerificationSas, g as runMatrixSelfVerification, h as restoreMatrixRoomKeyBackup, l as getMatrixVerificationSas, m as resetMatrixRoomKeyBackup, n as bootstrapMatrixVerification, p as requestMatrixVerification, r as cancelMatrixVerification, t as acceptMatrixVerification, u as getMatrixVerificationStatus, v as startMatrixVerification } from "./verification-kMlFYUn0.mjs";
14
15
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
15
16
  import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
16
17
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
@@ -139,7 +140,7 @@ async function runMatrixCliCommand(options, config) {
139
140
  const verbose = options.verbose === true;
140
141
  const json = options.json === true;
141
142
  setMatrixSdkLogMode(verbose ? "default" : "quiet");
142
- setMatrixSdkConsoleLogging(verbose);
143
+ setMatrixConsoleLogging(verbose);
143
144
  try {
144
145
  const result = await config.run();
145
146
  if (json) printJson(config.onJson ? config.onJson(result) : result);
@@ -161,16 +162,18 @@ function sanitizeMatrixCliText(value) {
161
162
  let withoutAnsi = "";
162
163
  for (let index = 0; index < value.length; index++) {
163
164
  const code = value.charCodeAt(index);
164
- if (code === 155) {
165
- index++;
165
+ const marker = code === 27 ? value[index + 1] : void 0;
166
+ if (code === 155 || marker === "[") {
167
+ index += code === 155 ? 1 : 2;
166
168
  while (index < value.length && !isAnsiFinalByte(value.charCodeAt(index))) index++;
167
169
  continue;
168
170
  }
169
- if (code === 144 || code === 157 || code === 158 || code === 159) {
170
- index++;
171
+ const isC1String = code === 144 || code === 157 || code === 158 || code === 159;
172
+ if (isC1String || marker === "]") {
173
+ index += isC1String ? 1 : 2;
171
174
  while (index < value.length) {
172
175
  const current = value.charCodeAt(index);
173
- if (current === 7 || current === 156) break;
176
+ if (current === 7 || isC1String && current === 156) break;
174
177
  if (current === 27 && value[index + 1] === "\\") {
175
178
  index++;
176
179
  break;
@@ -179,30 +182,8 @@ function sanitizeMatrixCliText(value) {
179
182
  }
180
183
  continue;
181
184
  }
182
- if (code !== 27) {
183
- withoutAnsi += value[index];
184
- continue;
185
- }
186
- const marker = value[index + 1];
187
- if (marker === "[") {
188
- index += 2;
189
- while (index < value.length && !isAnsiFinalByte(value.charCodeAt(index))) index++;
190
- continue;
191
- }
192
- if (marker === "]") {
193
- index += 2;
194
- while (index < value.length) {
195
- const current = value.charCodeAt(index);
196
- if (current === 7) break;
197
- if (current === 27 && value[index + 1] === "\\") {
198
- index++;
199
- break;
200
- }
201
- index++;
202
- }
203
- continue;
204
- }
205
- index++;
185
+ if (code === 27) index++;
186
+ else withoutAnsi += value[index];
206
187
  }
207
188
  return withoutAnsi.replace(/[\p{Cc}\u202a-\u202e\u2066-\u2069]/gu, "");
208
189
  }
@@ -221,9 +202,7 @@ function resolveBackupStatus(status) {
221
202
  };
222
203
  }
223
204
  function yesNoUnknown(value) {
224
- if (value === true) return "yes";
225
- if (value === false) return "no";
226
- return "unknown";
205
+ return value === true ? "yes" : value === false ? "no" : "unknown";
227
206
  }
228
207
  function printBackupStatus(backup) {
229
208
  console.log(`Backup server version: ${formatMatrixCliText(backup.serverVersion, "none")}`);
@@ -426,7 +405,7 @@ async function addMatrixAccount(params) {
426
405
  backupVersion: null
427
406
  };
428
407
  if (accountConfig.encryption === true) {
429
- const { maybeBootstrapNewEncryptedMatrixAccount } = await import("./setup-bootstrap-AzalcuCW.mjs");
408
+ const { maybeBootstrapNewEncryptedMatrixAccount } = await import("./setup-bootstrap-UNIGyKnk.mjs");
430
409
  verificationBootstrap = await maybeBootstrapNewEncryptedMatrixAccount({
431
410
  previousCfg: cfg,
432
411
  cfg: updated,
@@ -604,8 +583,8 @@ function registerMatrixDeviceCommands(root) {
604
583
  }
605
584
  //#endregion
606
585
  //#region extensions/matrix/src/cli-direct.ts
607
- const loadMatrixActionClientModule = createLazyRuntimeModule(() => import("./client-BXATebyo.mjs").then((n) => n.t));
608
- const loadMatrixDirectManagementModule = createLazyRuntimeModule(() => import("./direct-management-Cn2t8n1V.mjs").then((n) => n.t));
586
+ const loadMatrixActionClientModule = createLazyRuntimeModule(() => import("./client-DY3HExqI.mjs").then((n) => n.t));
587
+ const loadMatrixDirectManagementModule = createLazyRuntimeModule(() => import("./direct-management-DJtQhLKH.mjs").then((n) => n.t));
609
588
  function printDirectRoomCandidate(room) {
610
589
  const members = room.joinedMembers === null ? "unavailable" : room.joinedMembers.map((member) => formatMatrixCliText(member)).join(", ") || "none";
611
590
  console.log(`- ${formatMatrixCliText(room.roomId)} [${room.source}] strict=${room.strict ? "yes" : "no"} joined=${members}`);
@@ -2,7 +2,7 @@ import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
2
2
  //#region extensions/matrix/src/cli-metadata.ts
3
3
  function registerMatrixCliMetadata(api) {
4
4
  api.registerCli(async ({ program }) => {
5
- const { registerMatrixCli } = await import("./cli-IhZO2OEj.mjs");
5
+ const { registerMatrixCli } = await import("./cli-Be8tdNw8.mjs");
6
6
  registerMatrixCli({ program });
7
7
  }, { descriptors: [{
8
8
  name: "matrix",
@@ -1,5 +1,5 @@
1
- import { i as __exportAll } from "./doctor-contract-De6geW0h.mjs";
2
- import { E as resolveMatrixRoomId } from "./send-GOF64QRc.mjs";
1
+ import { i as __exportAll } from "./doctor-contract-CsTNmbMa.mjs";
2
+ import { C as resolveMatrixRoomId } from "./send-B1Y2L4wj.mjs";
3
3
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
4
4
  //#region extensions/matrix/src/matrix/actions/client.ts
5
5
  var client_exports = /* @__PURE__ */ __exportAll({
@@ -7,7 +7,7 @@ var client_exports = /* @__PURE__ */ __exportAll({
7
7
  withResolvedRoomAction: () => withResolvedRoomAction,
8
8
  withStartedActionClient: () => withStartedActionClient
9
9
  });
10
- const loadMatrixActionClientRuntime = createLazyRuntimeModule(() => import("./client-bootstrap-BiHX55is.mjs"));
10
+ const loadMatrixActionClientRuntime = createLazyRuntimeModule(() => import("./client-bootstrap-CZvJjr29.mjs"));
11
11
  async function withResolvedActionClient(opts, run, mode = "stop") {
12
12
  const { withResolvedRuntimeMatrixClient } = await loadMatrixActionClientRuntime();
13
13
  return await withResolvedRuntimeMatrixClient(opts, run, mode);
@@ -2,7 +2,7 @@ import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
2
2
  import { requireRuntimeConfig } from "openclaw/plugin-sdk/plugin-config-runtime";
3
3
  import { captureChannelReadAuthority } from "openclaw/plugin-sdk/fetch-runtime";
4
4
  //#region extensions/matrix/src/matrix/client-bootstrap.ts
5
- const loadMatrixSharedClientRuntimeDeps = createLazyRuntimeModule(() => import("./client-Ccv77kwh.mjs").then((n) => n.t));
5
+ const loadMatrixSharedClientRuntimeDeps = createLazyRuntimeModule(() => import("./client-kmih04ng.mjs").then((n) => n.t));
6
6
  async function ensureResolvedClientReadiness(params) {
7
7
  if (params.readiness === "started") {
8
8
  if (params.lease) await params.lease.start();