@openclaw/matrix 2026.9.3 → 2026.9.5

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 (938) hide show
  1. package/assets/activity.svg +40 -0
  2. package/assets/icon.png +0 -0
  3. package/dist/{account-selection-Bbtc483D.js → .setup/account-selection-5koohRSQ.mjs} +2 -2
  4. package/dist/{accounts-GwSAk9vY.js → .setup/accounts-BF5hyc-1.mjs} +3 -3
  5. package/dist/{approval-handler.runtime-tJLn5JFB.js → .setup/approval-handler.runtime-CoZCYGUH.mjs} +14 -13
  6. package/dist/{approval-ids-DJZ9ZTuS.js → .setup/approval-ids-CZOcdJ-5.mjs} +1 -1
  7. package/dist/{approval-reaction-auth-Cd0sKHFc.js → .setup/approval-reaction-auth-B51E4ZDa.mjs} +2 -2
  8. package/dist/{approval-reactions-1fwEhoK9.js → .setup/approval-reactions-B0hfA6qz.mjs} +6 -6
  9. package/dist/{channel-BpYiqmx-.js → .setup/channel-q6TBKEiG.mjs} +28 -180
  10. package/dist/{channel.runtime-dfEvRdLQ.js → .setup/channel.runtime-DcDBdxe6.mjs} +6 -6
  11. package/dist/{channel.setup-oxd8RsIr.js → .setup/channel.setup-DZQ5rf9k.mjs} +9 -5
  12. package/dist/{cli-_49Vsqs4.js → .setup/cli-Cx_cNaXN.mjs} +16 -16
  13. package/dist/{cli-metadata-D19lmKmz.js → .setup/cli-metadata-DHU1H-Vr.mjs} +1 -1
  14. package/dist/{client-BXQCQDfY.js → .setup/client-By2B3Wz4.mjs} +5 -3
  15. package/dist/{client-COLiUdWe.js → .setup/client-DsJUnWlV.mjs} +95 -93
  16. package/dist/{client-bootstrap-CQwf9qrm.js → .setup/client-bootstrap-DGX0f-4x.mjs} +17 -8
  17. package/dist/{client-support-DLj4vDeu.js → .setup/client-support-Bn9Bk0-H.mjs} +1 -1
  18. package/dist/{config-update-BnX26jCO.js → .setup/config-update-B_4qZ5bV.mjs} +3 -3
  19. package/dist/.setup/create-client-DQXAZjTw.mjs +61 -0
  20. package/dist/{credentials-DysXbkv2.js → .setup/credentials-CeRipapZ.mjs} +40 -17
  21. package/dist/{credentials-read-WWpqi88V.js → .setup/credentials-read-Dp7BoEdm.mjs} +22 -9
  22. package/dist/{credentials-write.runtime-D22lPwRO.js → .setup/credentials-write.runtime-M_bUf3rL.mjs} +1 -1
  23. package/dist/{crypto-runtime-BvunIYVn.js → .setup/crypto-runtime-9oxuU30y.mjs} +6 -29
  24. package/dist/{crypto-snapshot-doctor.runtime-DxgUMXUy.js → .setup/crypto-snapshot-doctor.runtime-DXpLbQ7y.mjs} +3 -3
  25. package/dist/{device-health-B4-YXtJR.js → .setup/device-health-CWOuIirq.mjs} +1 -1
  26. package/dist/.setup/direct-management-B2Bno2xL.mjs +346 -0
  27. package/dist/{directory-live-DABCxf8j.js → .setup/directory-live-CatwztQc.mjs} +8 -6
  28. package/dist/{doctor-CJE8wO6y.js → .setup/doctor-BLCvdOFo.mjs} +1 -1
  29. package/dist/{draft-stream-DSwgyyBi.js → .setup/draft-stream-DIFZDNrb.mjs} +2 -2
  30. package/dist/{encryption-guidance-mDyxJV9U.js → .setup/encryption-guidance-DYEbeYj-.mjs} +2 -2
  31. package/dist/{http-client-BfPeF4CE.js → .setup/http-client-BJjo-iw5.mjs} +75 -9
  32. package/dist/{idb-persistence-DBdwHSWg.js → .setup/idb-persistence-CIfFUjP3.mjs} +12 -8
  33. package/dist/{inbound-dedupe-Ch33GU06.js → .setup/inbound-dedupe-BSlv35xl.mjs} +1 -1
  34. package/dist/.setup/joined-room-encryption-BCtxQ3hR.mjs +67 -0
  35. package/dist/{logger-B_71hN6W.js → .setup/logger-xBjiRIp1.mjs} +1 -1
  36. package/dist/{logging-DRjvUOIh.js → .setup/logging-rgm8ep9H.mjs} +2 -2
  37. package/dist/{messages-H4mi9Cap.js → .setup/messages-SW0NPYnR.mjs} +4 -4
  38. package/dist/{monitor-3Fw96uiE.js → .setup/monitor-DQfYX5rA.mjs} +118 -264
  39. package/dist/{outbound-UPI45TD_.js → .setup/outbound-DRWtSUe-.mjs} +12 -4
  40. package/dist/.setup/probe.runtime-qPRZE3Yf.mjs +2 -0
  41. package/dist/{profile-vmjsmhh4.js → .setup/profile-ClrB3IgR.mjs} +1 -1
  42. package/dist/{profile-update-DWEg8Ylt.js → .setup/profile-update-DPttQz3-.mjs} +4 -4
  43. package/dist/{reaction-events-D-iSW0iM.js → .setup/reaction-events-CdAk_rh_.mjs} +7 -7
  44. package/dist/{resolve-targets-BpnALDzR.js → .setup/resolve-targets-drjgAdIe.mjs} +3 -3
  45. package/dist/{resolver.runtime-B83WkznZ.js → .setup/resolver.runtime-Ci6ddcPh.mjs} +1 -1
  46. package/dist/{room-info-CjnbX52D.js → .setup/room-info-DHd1j3qM.mjs} +4 -4
  47. package/dist/.setup/runtime-1kn1P6io.mjs +29 -0
  48. package/dist/.setup/runtime-setter-api-DtxDAM-x.mjs +3 -0
  49. package/dist/{sdk-CX9b0N8Q.js → .setup/sdk-BkKE4ANj.mjs} +524 -285
  50. package/dist/{secret-contract-CufozuyJ.js → .setup/secret-contract-JlB6VmI3.mjs} +1 -1
  51. package/dist/.setup/secret-contract-api-B-iJoQEv.mjs +3 -0
  52. package/dist/{reaction-common-DkrQdBSZ.js → .setup/send-currentness-BrGXL7b8.mjs} +20 -1
  53. package/dist/{send-B9l1lKau.js → .setup/send-h0gZ_-qk.mjs} +212 -462
  54. package/dist/{setup-bootstrap-CSI1L1lm.js → .setup/setup-bootstrap-BYgBD504.mjs} +3 -3
  55. package/dist/{setup-core-DuTlyqRz.js → .setup/setup-core-BUcDAM7q.mjs} +18 -33
  56. package/dist/.setup/setup-plugin-api-DoTm4v2q.mjs +3 -0
  57. package/dist/{setup-surface-fZing1WZ.js → .setup/setup-surface-V_Q-enq-.mjs} +14 -23
  58. package/dist/{startup-verification-BTSf31hS.js → .setup/startup-verification-Bq5qeEGn.mjs} +3 -3
  59. package/dist/{storage-CV-pfV_2.js → .setup/storage-DJ-oUgmX.mjs} +42 -27
  60. package/dist/{storage-metadata-DYArLcq1.js → .setup/storage-metadata-BQJjHC_i.mjs} +58 -51
  61. package/dist/{subagent-hooks-DeICLbU5.js → .setup/subagent-hooks-jFgft_Mr.mjs} +1 -1
  62. package/dist/{sync-cache-state-C-mhj3xb.js → .setup/sync-cache-state-CFiZIPhA.mjs} +2 -2
  63. package/dist/{thread-binding-api-CzkeLZCU.js → .setup/thread-binding-api-DRMC62cs.mjs} +1 -1
  64. package/dist/{thread-bindings-CRyf5on_.js → .setup/thread-bindings-Hy96ujd3.mjs} +6 -6
  65. package/dist/{tool-actions.runtime-D5-hTkDu.js → .setup/tool-actions.runtime-Dckttu43.mjs} +306 -260
  66. package/dist/{verification-B_aqtbx-.js → .setup/verification-CKqBZ9mI.mjs} +4 -3
  67. package/dist/api.js +8 -8
  68. package/dist/auth-presence.js +1 -1
  69. package/dist/channel-plugin-api.js +1 -1
  70. package/dist/cli-metadata.js +1 -1
  71. package/dist/contract-api.js +2 -2
  72. package/dist/doctor-contract-api.js +8 -8
  73. package/dist/helper-api.js +3 -3
  74. package/dist/index.js +4 -1
  75. package/dist/plugin-entry.handlers.runtime.js +1 -1
  76. package/dist/runtime-api.js +6 -6
  77. package/dist/runtime-setter-api.js +2 -2
  78. package/dist/secret-contract-api.js +1 -1
  79. package/dist/session-binding-contract-api.js +2 -2
  80. package/dist/setup-entry.js +4 -3
  81. package/dist/setup-plugin-api.js +1 -1
  82. package/dist/subagent-hooks-api.js +1 -1
  83. package/dist/thread-binding-api.js +1 -1
  84. package/dist/thread-bindings-runtime.js +1 -1
  85. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/package.json +1 -1
  86. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.cjs +17 -17
  87. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.js +17 -17
  88. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm +0 -0
  89. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm.d.ts +5 -5
  90. package/node_modules/markdown-it/dist/browser/markdown-it.esm.min.mjs +442 -434
  91. package/node_modules/markdown-it/dist/browser/markdown-it.esm.min.mjs.map +1 -1
  92. package/node_modules/markdown-it/dist/browser/markdown-it.umd.min.js +2 -2
  93. package/node_modules/markdown-it/dist/browser/markdown-it.umd.min.js.map +1 -1
  94. package/node_modules/markdown-it/dist/markdown-it.cjs.js +32 -16
  95. package/node_modules/markdown-it/dist/markdown-it.cjs.js.map +1 -1
  96. package/node_modules/markdown-it/dist/markdown-it.mjs +32 -16
  97. package/node_modules/markdown-it/dist/markdown-it.mjs.map +1 -1
  98. package/node_modules/markdown-it/node_modules/argparse/LICENSE +1 -208
  99. package/node_modules/markdown-it/node_modules/argparse/package.json +2 -2
  100. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.d.ts +23 -3
  101. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.d.ts.map +1 -1
  102. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.js +52 -37
  103. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.js.map +1 -1
  104. package/node_modules/markdown-it/node_modules/entities/dist/decode.d.ts +61 -28
  105. package/node_modules/markdown-it/node_modules/entities/dist/decode.d.ts.map +1 -1
  106. package/node_modules/markdown-it/node_modules/entities/dist/decode.js +789 -201
  107. package/node_modules/markdown-it/node_modules/entities/dist/decode.js.map +1 -1
  108. package/node_modules/markdown-it/node_modules/entities/dist/encode.d.ts +4 -2
  109. package/node_modules/markdown-it/node_modules/entities/dist/encode.d.ts.map +1 -1
  110. package/node_modules/markdown-it/node_modules/entities/dist/encode.js +249 -44
  111. package/node_modules/markdown-it/node_modules/entities/dist/encode.js.map +1 -1
  112. package/node_modules/markdown-it/node_modules/entities/dist/escape.d.ts +19 -7
  113. package/node_modules/markdown-it/node_modules/entities/dist/escape.d.ts.map +1 -1
  114. package/node_modules/markdown-it/node_modules/entities/dist/escape.js +104 -64
  115. package/node_modules/markdown-it/node_modules/entities/dist/escape.js.map +1 -1
  116. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.d.ts.map +1 -1
  117. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.js +2 -2
  118. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.js.map +1 -1
  119. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.d.ts.map +1 -1
  120. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.js +4 -2
  121. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.js.map +1 -1
  122. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.d.ts +2 -4
  123. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.d.ts.map +1 -1
  124. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.js +1 -10
  125. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.js.map +1 -1
  126. package/node_modules/markdown-it/node_modules/entities/dist/index.d.ts +2 -2
  127. package/node_modules/markdown-it/node_modules/entities/dist/index.d.ts.map +1 -1
  128. package/node_modules/markdown-it/node_modules/entities/dist/index.js +2 -6
  129. package/node_modules/markdown-it/node_modules/entities/dist/index.js.map +1 -1
  130. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.d.ts +39 -8
  131. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.d.ts.map +1 -1
  132. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.js +37 -6
  133. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.js.map +1 -1
  134. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.d.ts +35 -4
  135. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.d.ts.map +1 -1
  136. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.js +189 -11
  137. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.js.map +1 -1
  138. package/node_modules/markdown-it/node_modules/entities/package.json +14 -14
  139. package/node_modules/markdown-it/node_modules/entities/src/decode-codepoint.ts +58 -39
  140. package/node_modules/markdown-it/node_modules/entities/src/decode.ts +942 -245
  141. package/node_modules/markdown-it/node_modules/entities/src/encode.ts +289 -47
  142. package/node_modules/markdown-it/node_modules/entities/src/escape.ts +110 -83
  143. package/node_modules/markdown-it/node_modules/entities/src/generated/decode-data-html.ts +8 -3
  144. package/node_modules/markdown-it/node_modules/entities/src/generated/decode-data-xml.ts +4 -4
  145. package/node_modules/markdown-it/node_modules/entities/src/generated/encode-html.ts +1 -16
  146. package/node_modules/markdown-it/node_modules/entities/src/index.ts +6 -8
  147. package/node_modules/markdown-it/node_modules/entities/src/internal/bin-trie-flags.ts +38 -7
  148. package/node_modules/markdown-it/node_modules/entities/src/internal/decode-shared.ts +203 -12
  149. package/node_modules/markdown-it/package.json +1 -1
  150. package/node_modules/matrix-js-sdk/CHANGELOG.md +15 -0
  151. package/node_modules/matrix-js-sdk/lib/client.d.ts +1 -2
  152. package/node_modules/matrix-js-sdk/lib/client.d.ts.map +1 -1
  153. package/node_modules/matrix-js-sdk/lib/client.js +16 -8
  154. package/node_modules/matrix-js-sdk/lib/client.js.map +1 -1
  155. package/node_modules/matrix-js-sdk/lib/http-api/errors.d.ts +8 -0
  156. package/node_modules/matrix-js-sdk/lib/http-api/errors.d.ts.map +1 -1
  157. package/node_modules/matrix-js-sdk/lib/http-api/errors.js +12 -0
  158. package/node_modules/matrix-js-sdk/lib/http-api/errors.js.map +1 -1
  159. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.d.ts +5 -0
  160. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -1
  161. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.js +2 -1
  162. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.js.map +1 -1
  163. package/node_modules/matrix-js-sdk/lib/oauth/authorize.d.ts +2 -4
  164. package/node_modules/matrix-js-sdk/lib/oauth/authorize.d.ts.map +1 -1
  165. package/node_modules/matrix-js-sdk/lib/oauth/authorize.js.map +1 -1
  166. package/node_modules/matrix-js-sdk/lib/oauth/error.d.ts +44 -0
  167. package/node_modules/matrix-js-sdk/lib/oauth/error.d.ts.map +1 -1
  168. package/node_modules/matrix-js-sdk/lib/oauth/error.js +53 -0
  169. package/node_modules/matrix-js-sdk/lib/oauth/error.js.map +1 -1
  170. package/node_modules/matrix-js-sdk/lib/oauth/index.d.ts.map +1 -1
  171. package/node_modules/matrix-js-sdk/lib/oauth/index.js +19 -2
  172. package/node_modules/matrix-js-sdk/lib/oauth/index.js.map +1 -1
  173. package/node_modules/matrix-js-sdk/lib/oauth/tokenRefresher.d.ts.map +1 -1
  174. package/node_modules/matrix-js-sdk/lib/oauth/tokenRefresher.js +4 -2
  175. package/node_modules/matrix-js-sdk/lib/oauth/tokenRefresher.js.map +1 -1
  176. package/node_modules/matrix-js-sdk/lib/secret-storage.d.ts +1 -1
  177. package/node_modules/matrix-js-sdk/lib/secret-storage.d.ts.map +1 -1
  178. package/node_modules/matrix-js-sdk/lib/secret-storage.js +9 -32
  179. package/node_modules/matrix-js-sdk/lib/secret-storage.js.map +1 -1
  180. package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.d.ts.map +1 -1
  181. package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.js +54 -1
  182. package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.js.map +1 -1
  183. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/dist/api.js +556 -311
  184. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/dist/api.min.js +1 -1
  185. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/ClientWidgetApi.d.ts +2 -0
  186. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/ClientWidgetApi.js +221 -129
  187. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/ClientWidgetApi.js.map +1 -1
  188. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/Symbols.js.map +1 -1
  189. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/WidgetApi.d.ts +37 -0
  190. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/WidgetApi.js +182 -63
  191. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/WidgetApi.js.map +1 -1
  192. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/driver/WidgetDriver.d.ts +20 -1
  193. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/driver/WidgetDriver.js +49 -20
  194. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/driver/WidgetDriver.js.map +1 -1
  195. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/index.d.ts +1 -0
  196. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/index.js.map +1 -1
  197. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ApiVersion.d.ts +2 -1
  198. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ApiVersion.js +3 -2
  199. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ApiVersion.js.map +1 -1
  200. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/Capabilities.d.ts +9 -1
  201. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/Capabilities.js +2 -0
  202. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/Capabilities.js.map +1 -1
  203. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/CapabilitiesAction.js.map +1 -1
  204. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ContentLoadedAction.js.map +1 -1
  205. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/DownloadFileAction.js.map +1 -1
  206. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/GetMediaConfigAction.js.map +1 -1
  207. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/GetOpenIDAction.js.map +1 -1
  208. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ICustomWidgetData.js.map +1 -1
  209. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IJitsiWidgetData.js.map +1 -1
  210. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IRoomAccountData.js.map +1 -1
  211. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IRoomEvent.js.map +1 -1
  212. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IStickerpickerWidgetData.js.map +1 -1
  213. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IToDeviceMessage.js.map +1 -1
  214. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IWidget.js.map +1 -1
  215. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IWidgetApiErrorResponse.js +1 -1
  216. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IWidgetApiErrorResponse.js.map +1 -1
  217. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IWidgetApiRequest.js.map +1 -1
  218. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IWidgetApiResponse.js.map +1 -1
  219. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/LanguageChangeAction.js.map +1 -1
  220. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ModalButtonKind.js.map +1 -1
  221. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ModalWidgetActions.js.map +1 -1
  222. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/NavigateAction.js.map +1 -1
  223. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/OpenIDCredentialsAction.js.map +1 -1
  224. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ReadEventAction.js.map +1 -1
  225. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ReadRelationsAction.js.map +1 -1
  226. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ReadRoomAccountDataAction.js.map +1 -1
  227. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/RtcLivekitActions.d.ts +53 -0
  228. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/RtcLivekitActions.js +6 -0
  229. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/RtcLivekitActions.js.map +1 -0
  230. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/RtcTransportsAction.js.map +1 -1
  231. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ScreenshotAction.js.map +1 -1
  232. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/SendEventAction.js.map +1 -1
  233. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/SendToDeviceAction.js.map +1 -1
  234. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/SetModalButtonEnabledAction.js.map +1 -1
  235. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/StickerAction.js.map +1 -1
  236. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/StickyAction.js.map +1 -1
  237. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/SupportedVersionsAction.js.map +1 -1
  238. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ThemeChangeAction.js.map +1 -1
  239. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/TurnServerActions.js.map +1 -1
  240. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/UpdateDelayedEventAction.js.map +1 -1
  241. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/UpdateStateAction.js.map +1 -1
  242. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/UploadFileAction.js.map +1 -1
  243. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/UserDirectorySearchAction.js.map +1 -1
  244. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/VisibilityAction.js.map +1 -1
  245. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetApiAction.d.ts +9 -1
  246. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetApiAction.js +2 -0
  247. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetApiAction.js.map +1 -1
  248. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetApiDirection.js.map +1 -1
  249. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetConfigAction.js.map +1 -1
  250. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetKind.js.map +1 -1
  251. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetType.js.map +1 -1
  252. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/Widget.js +20 -20
  253. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/Widget.js.map +1 -1
  254. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/WidgetEventCapability.js +9 -9
  255. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/WidgetEventCapability.js.map +1 -1
  256. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/WidgetParser.js +23 -23
  257. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/WidgetParser.js.map +1 -1
  258. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/validation/url.js.map +1 -1
  259. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/validation/utils.js.map +1 -1
  260. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/templating/url-template.js.map +1 -1
  261. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/transport/ITransport.js.map +1 -1
  262. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/transport/PostmessageTransport.js +32 -32
  263. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/transport/PostmessageTransport.js.map +1 -1
  264. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/util/SimpleObservable.js +10 -10
  265. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/util/SimpleObservable.js.map +1 -1
  266. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/package.json +2 -2
  267. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/ClientWidgetApi.ts +48 -0
  268. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/WidgetApi.ts +75 -1
  269. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/driver/WidgetDriver.ts +33 -0
  270. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/index.ts +1 -0
  271. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/ApiVersion.ts +2 -0
  272. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/Capabilities.ts +8 -0
  273. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/RtcLivekitActions.ts +80 -0
  274. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/WidgetApiAction.ts +10 -0
  275. package/node_modules/matrix-js-sdk/node_modules/p-retry/index.d.ts +1 -1
  276. package/node_modules/matrix-js-sdk/node_modules/p-retry/index.js +4 -0
  277. package/node_modules/matrix-js-sdk/node_modules/p-retry/package.json +1 -1
  278. package/node_modules/matrix-js-sdk/node_modules/p-retry/readme.md +1 -1
  279. package/node_modules/matrix-js-sdk/package.json +2 -2
  280. package/node_modules/matrix-js-sdk/src/client.ts +19 -11
  281. package/node_modules/matrix-js-sdk/src/http-api/errors.ts +16 -0
  282. package/node_modules/matrix-js-sdk/src/matrixrtc/MatrixRTCSession.ts +8 -1
  283. package/node_modules/matrix-js-sdk/src/oauth/authorize.ts +2 -5
  284. package/node_modules/matrix-js-sdk/src/oauth/error.ts +69 -0
  285. package/node_modules/matrix-js-sdk/src/oauth/index.ts +19 -2
  286. package/node_modules/matrix-js-sdk/src/oauth/tokenRefresher.ts +9 -2
  287. package/node_modules/matrix-js-sdk/src/secret-storage.ts +8 -31
  288. package/node_modules/matrix-js-sdk/src/sliding-sync-sdk.ts +74 -0
  289. package/node_modules/typebox/build/compile/validator.d.mts +1 -1
  290. package/node_modules/typebox/build/compile/validator.mjs +1 -1
  291. package/node_modules/typebox/build/format/idna/idn-hostname.mjs +7 -5
  292. package/node_modules/typebox/build/format/iri.mjs +5 -1
  293. package/node_modules/typebox/build/guard/emit.mjs +2 -4
  294. package/node_modules/typebox/build/guard/guard.mjs +6 -18
  295. package/node_modules/typebox/build/guard/string.mjs +16 -24
  296. package/node_modules/typebox/build/schema/build.mjs +2 -2
  297. package/node_modules/typebox/build/schema/check.mjs +1 -1
  298. package/node_modules/typebox/build/schema/compile.d.mts +3 -2
  299. package/node_modules/typebox/build/schema/compile.mjs +8 -8
  300. package/node_modules/typebox/build/schema/engine/_context.d.mts +6 -7
  301. package/node_modules/typebox/build/schema/engine/_context.mjs +23 -15
  302. package/node_modules/typebox/build/schema/engine/_functions.d.mts +2 -2
  303. package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -1
  304. package/node_modules/typebox/build/schema/engine/_reducer.d.mts +3 -3
  305. package/node_modules/typebox/build/schema/engine/_refine.d.mts +5 -5
  306. package/node_modules/typebox/build/schema/engine/_refine.mjs +4 -7
  307. package/node_modules/typebox/build/schema/engine/_stack.d.mts +34 -16
  308. package/node_modules/typebox/build/schema/engine/_stack.mjs +148 -104
  309. package/node_modules/typebox/build/schema/engine/additionalItems.d.mts +4 -4
  310. package/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +8 -8
  311. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +26 -18
  312. package/node_modules/typebox/build/schema/engine/allOf.d.mts +4 -4
  313. package/node_modules/typebox/build/schema/engine/allOf.mjs +3 -3
  314. package/node_modules/typebox/build/schema/engine/anyOf.d.mts +4 -4
  315. package/node_modules/typebox/build/schema/engine/anyOf.mjs +5 -10
  316. package/node_modules/typebox/build/schema/engine/boolean.d.mts +4 -4
  317. package/node_modules/typebox/build/schema/engine/boolean.mjs +2 -6
  318. package/node_modules/typebox/build/schema/engine/const.d.mts +4 -4
  319. package/node_modules/typebox/build/schema/engine/const.mjs +2 -6
  320. package/node_modules/typebox/build/schema/engine/contains.d.mts +4 -4
  321. package/node_modules/typebox/build/schema/engine/contains.mjs +2 -6
  322. package/node_modules/typebox/build/schema/engine/dependencies.d.mts +4 -4
  323. package/node_modules/typebox/build/schema/engine/dependencies.mjs +3 -6
  324. package/node_modules/typebox/build/schema/engine/dependentRequired.d.mts +4 -4
  325. package/node_modules/typebox/build/schema/engine/dependentRequired.mjs +2 -6
  326. package/node_modules/typebox/build/schema/engine/dependentSchemas.d.mts +4 -4
  327. package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +4 -4
  328. package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +11 -7
  329. package/node_modules/typebox/build/schema/engine/enum.d.mts +4 -4
  330. package/node_modules/typebox/build/schema/engine/enum.mjs +2 -6
  331. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.d.mts +4 -4
  332. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.mjs +2 -6
  333. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.d.mts +4 -4
  334. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.mjs +2 -6
  335. package/node_modules/typebox/build/schema/engine/format.d.mts +4 -4
  336. package/node_modules/typebox/build/schema/engine/format.mjs +2 -6
  337. package/node_modules/typebox/build/schema/engine/if.d.mts +4 -4
  338. package/node_modules/typebox/build/schema/engine/if.mjs +7 -15
  339. package/node_modules/typebox/build/schema/engine/items.d.mts +4 -4
  340. package/node_modules/typebox/build/schema/engine/items.mjs +1 -1
  341. package/node_modules/typebox/build/schema/engine/maxContains.d.mts +4 -4
  342. package/node_modules/typebox/build/schema/engine/maxContains.mjs +2 -6
  343. package/node_modules/typebox/build/schema/engine/maxItems.d.mts +4 -4
  344. package/node_modules/typebox/build/schema/engine/maxItems.mjs +2 -6
  345. package/node_modules/typebox/build/schema/engine/maxLength.d.mts +4 -4
  346. package/node_modules/typebox/build/schema/engine/maxLength.mjs +2 -6
  347. package/node_modules/typebox/build/schema/engine/maxProperties.d.mts +4 -4
  348. package/node_modules/typebox/build/schema/engine/maxProperties.mjs +2 -6
  349. package/node_modules/typebox/build/schema/engine/maximum.d.mts +4 -4
  350. package/node_modules/typebox/build/schema/engine/maximum.mjs +2 -6
  351. package/node_modules/typebox/build/schema/engine/minContains.d.mts +4 -4
  352. package/node_modules/typebox/build/schema/engine/minContains.mjs +2 -6
  353. package/node_modules/typebox/build/schema/engine/minItems.d.mts +5 -5
  354. package/node_modules/typebox/build/schema/engine/minItems.mjs +2 -6
  355. package/node_modules/typebox/build/schema/engine/minLength.d.mts +4 -4
  356. package/node_modules/typebox/build/schema/engine/minLength.mjs +2 -6
  357. package/node_modules/typebox/build/schema/engine/minProperties.d.mts +4 -4
  358. package/node_modules/typebox/build/schema/engine/minProperties.mjs +2 -6
  359. package/node_modules/typebox/build/schema/engine/minimum.d.mts +4 -4
  360. package/node_modules/typebox/build/schema/engine/minimum.mjs +2 -6
  361. package/node_modules/typebox/build/schema/engine/multipleOf.d.mts +4 -4
  362. package/node_modules/typebox/build/schema/engine/multipleOf.mjs +2 -6
  363. package/node_modules/typebox/build/schema/engine/not.d.mts +4 -4
  364. package/node_modules/typebox/build/schema/engine/not.mjs +4 -8
  365. package/node_modules/typebox/build/schema/engine/oneOf.d.mts +4 -4
  366. package/node_modules/typebox/build/schema/engine/oneOf.mjs +6 -11
  367. package/node_modules/typebox/build/schema/engine/pattern.d.mts +4 -4
  368. package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -7
  369. package/node_modules/typebox/build/schema/engine/patternProperties.d.mts +4 -4
  370. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +1 -1
  371. package/node_modules/typebox/build/schema/engine/prefixItems.d.mts +4 -4
  372. package/node_modules/typebox/build/schema/engine/prefixItems.mjs +1 -1
  373. package/node_modules/typebox/build/schema/engine/properties.d.mts +4 -4
  374. package/node_modules/typebox/build/schema/engine/properties.mjs +1 -1
  375. package/node_modules/typebox/build/schema/engine/propertyNames.d.mts +4 -4
  376. package/node_modules/typebox/build/schema/engine/propertyNames.mjs +4 -10
  377. package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +4 -4
  378. package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +11 -7
  379. package/node_modules/typebox/build/schema/engine/ref.d.mts +4 -4
  380. package/node_modules/typebox/build/schema/engine/ref.mjs +19 -15
  381. package/node_modules/typebox/build/schema/engine/required.d.mts +4 -4
  382. package/node_modules/typebox/build/schema/engine/required.mjs +2 -6
  383. package/node_modules/typebox/build/schema/engine/schema.d.mts +7 -7
  384. package/node_modules/typebox/build/schema/engine/schema.mjs +137 -133
  385. package/node_modules/typebox/build/schema/engine/type.d.mts +4 -4
  386. package/node_modules/typebox/build/schema/engine/type.mjs +2 -6
  387. package/node_modules/typebox/build/schema/engine/unevaluatedItems.d.mts +4 -4
  388. package/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +5 -9
  389. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.d.mts +4 -4
  390. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +5 -9
  391. package/node_modules/typebox/build/schema/engine/uniqueItems.d.mts +4 -4
  392. package/node_modules/typebox/build/schema/engine/uniqueItems.mjs +2 -6
  393. package/node_modules/typebox/build/schema/errors.d.mts +2 -2
  394. package/node_modules/typebox/build/schema/errors.mjs +8 -14
  395. package/node_modules/typebox/build/schema/intern/index.d.mts +1 -0
  396. package/node_modules/typebox/build/schema/intern/index.mjs +1 -0
  397. package/node_modules/typebox/build/schema/intern/intern.d.mts +11 -0
  398. package/node_modules/typebox/build/schema/intern/intern.mjs +293 -0
  399. package/node_modules/typebox/build/schema/meta/draft_2019_09.d.mts +2 -0
  400. package/node_modules/typebox/build/schema/meta/draft_2019_09.mjs +288 -0
  401. package/node_modules/typebox/build/schema/meta/draft_2020_12.d.mts +2 -0
  402. package/node_modules/typebox/build/schema/meta/draft_2020_12.mjs +300 -0
  403. package/node_modules/typebox/build/schema/meta/draft_3.d.mts +2 -0
  404. package/node_modules/typebox/build/schema/meta/draft_3.mjs +143 -0
  405. package/node_modules/typebox/build/schema/meta/draft_4.d.mts +2 -0
  406. package/node_modules/typebox/build/schema/meta/draft_4.mjs +149 -0
  407. package/node_modules/typebox/build/schema/meta/draft_6.d.mts +2 -0
  408. package/node_modules/typebox/build/schema/meta/draft_6.mjs +155 -0
  409. package/node_modules/typebox/build/schema/meta/draft_7.d.mts +2 -0
  410. package/node_modules/typebox/build/schema/meta/draft_7.mjs +172 -0
  411. package/node_modules/typebox/build/schema/meta/index.d.mts +2 -0
  412. package/node_modules/typebox/build/schema/meta/index.mjs +2 -0
  413. package/node_modules/typebox/build/schema/meta/meta.d.mts +9 -0
  414. package/node_modules/typebox/build/schema/meta/meta.mjs +15 -0
  415. package/node_modules/typebox/build/schema/meta/schema.d.mts +6 -0
  416. package/node_modules/typebox/build/schema/meta/schema.mjs +1 -0
  417. package/node_modules/typebox/build/schema/parse.d.mts +1 -0
  418. package/node_modules/typebox/build/schema/parse.mjs +10 -5
  419. package/node_modules/typebox/build/schema/resolve/resolve.d.mts +8 -3
  420. package/node_modules/typebox/build/schema/resolve/resolve.mjs +268 -139
  421. package/node_modules/typebox/build/schema/schema.d.mts +2 -0
  422. package/node_modules/typebox/build/schema/schema.mjs +2 -0
  423. package/node_modules/typebox/build/value/errors/errors.d.mts +2 -12
  424. package/node_modules/typebox/build/value/errors/errors.mjs +2 -7
  425. package/node_modules/typebox/package.json +1 -1
  426. package/node_modules/typebox/readme.md +59 -89
  427. package/node_modules/zod/README.md +27 -0
  428. package/node_modules/zod/compile.cjs +77 -0
  429. package/node_modules/zod/compile.d.cts +1 -0
  430. package/node_modules/zod/compile.d.ts +1 -0
  431. package/node_modules/zod/compile.js +52 -0
  432. package/node_modules/zod/index.cjs +2 -2
  433. package/node_modules/zod/index.d.cts +1 -2
  434. package/node_modules/zod/index.d.ts +1 -2
  435. package/node_modules/zod/index.js +5 -2
  436. package/node_modules/zod/package.json +13 -2
  437. package/node_modules/zod/src/compile.ts +56 -0
  438. package/node_modules/zod/src/index.ts +5 -2
  439. package/node_modules/zod/src/v3/ZodError.ts +22 -12
  440. package/node_modules/zod/src/v3/tests/error.test.ts +35 -0
  441. package/node_modules/zod/src/v3/tests/intersection.test.ts +18 -0
  442. package/node_modules/zod/src/v3/tests/language-server.test.ts +1 -2
  443. package/node_modules/zod/src/v3/tests/object.test.ts +3 -6
  444. package/node_modules/zod/src/v3/tests/readonly.test.ts +0 -80
  445. package/node_modules/zod/src/v3/tests/string.test.ts +6 -0
  446. package/node_modules/zod/src/v3/types.ts +5 -5
  447. package/node_modules/zod/src/v4/classic/checks.ts +1 -0
  448. package/node_modules/zod/src/v4/classic/compat.ts +26 -18
  449. package/node_modules/zod/src/v4/classic/deep-partial.ts +76 -0
  450. package/node_modules/zod/src/v4/classic/errors.ts +59 -44
  451. package/node_modules/zod/src/v4/classic/external.ts +12 -9
  452. package/node_modules/zod/src/v4/classic/from-json-schema.ts +140 -78
  453. package/node_modules/zod/src/v4/classic/in-out.ts +45 -0
  454. package/node_modules/zod/src/v4/classic/index.ts +2 -2
  455. package/node_modules/zod/src/v4/classic/iso.ts +2 -72
  456. package/node_modules/zod/src/v4/classic/parse.ts +10 -4
  457. package/node_modules/zod/src/v4/classic/schemas.ts +452 -262
  458. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +27 -0
  459. package/node_modules/zod/src/v4/classic/tests/array.test.ts +2 -2
  460. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +135 -0
  461. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +30 -1
  462. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +278 -0
  463. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +1 -2
  464. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +2 -1
  465. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +2 -2
  466. package/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +76 -0
  467. package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +720 -0
  468. package/node_modules/zod/src/v4/classic/tests/date.test.ts +30 -0
  469. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +32 -18
  470. package/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +380 -0
  471. package/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +32 -0
  472. package/node_modules/zod/src/v4/classic/tests/default.test.ts +46 -0
  473. package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +31 -7
  474. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +155 -13
  475. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +11 -0
  476. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +112 -2
  477. package/node_modules/zod/src/v4/classic/tests/error.test.ts +274 -6
  478. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +425 -10
  479. package/node_modules/zod/src/v4/classic/tests/function.test.ts +31 -0
  480. package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +2 -9
  481. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +1 -2
  482. package/node_modules/zod/src/v4/classic/tests/in-out.test.ts +159 -0
  483. package/node_modules/zod/src/v4/classic/tests/index.test.ts +21 -2
  484. package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +281 -0
  485. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +47 -0
  486. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +136 -0
  487. package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +183 -0
  488. package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +3 -10
  489. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +36 -1
  490. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +12 -1
  491. package/node_modules/zod/src/v4/classic/tests/map.test.ts +12 -0
  492. package/node_modules/zod/src/v4/classic/tests/number.test.ts +46 -9
  493. package/node_modules/zod/src/v4/classic/tests/object.test.ts +245 -12
  494. package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +234 -0
  495. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +49 -16
  496. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +51 -4
  497. package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +20 -2
  498. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -68
  499. package/node_modules/zod/src/v4/classic/tests/record.test.ts +186 -18
  500. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +33 -2
  501. package/node_modules/zod/src/v4/classic/tests/redos.test.ts +68 -0
  502. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +60 -0
  503. package/node_modules/zod/src/v4/classic/tests/set.test.ts +9 -0
  504. package/node_modules/zod/src/v4/classic/tests/string.test.ts +127 -5
  505. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +18 -0
  506. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +11 -2
  507. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +1585 -173
  508. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +45 -30
  509. package/node_modules/zod/src/v4/classic/tests/union.test.ts +39 -2
  510. package/node_modules/zod/src/v4/classic/tests/validate.test.ts +76 -0
  511. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +2 -2
  512. package/node_modules/zod/src/v4/core/api.ts +48 -12
  513. package/node_modules/zod/src/v4/core/checks.ts +57 -44
  514. package/node_modules/zod/src/v4/core/compile.ts +2188 -0
  515. package/node_modules/zod/src/v4/core/core.ts +98 -19
  516. package/node_modules/zod/src/v4/core/doc.ts +11 -7
  517. package/node_modules/zod/src/v4/core/errors.ts +115 -24
  518. package/node_modules/zod/src/v4/core/index.ts +3 -0
  519. package/node_modules/zod/src/v4/core/json-schema-generator.ts +6 -1
  520. package/node_modules/zod/src/v4/core/json-schema-processors.ts +257 -93
  521. package/node_modules/zod/src/v4/core/json-schema.ts +2 -1
  522. package/node_modules/zod/src/v4/core/memoizer.ts +284 -0
  523. package/node_modules/zod/src/v4/core/parse.ts +131 -38
  524. package/node_modules/zod/src/v4/core/regexes.ts +30 -13
  525. package/node_modules/zod/src/v4/core/registries.ts +2 -2
  526. package/node_modules/zod/src/v4/core/schemas.ts +759 -461
  527. package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +969 -0
  528. package/node_modules/zod/src/v4/core/tests/compile-global.test.ts +89 -0
  529. package/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +26 -0
  530. package/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +34 -0
  531. package/node_modules/zod/src/v4/core/tests/compile.test.ts +1639 -0
  532. package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +1 -2
  533. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +1 -2
  534. package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +3 -3
  535. package/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +42 -0
  536. package/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +69 -0
  537. package/node_modules/zod/src/v4/core/tests/treeshake.test.ts +51 -0
  538. package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +31 -0
  539. package/node_modules/zod/src/v4/core/to-json-schema.ts +275 -42
  540. package/node_modules/zod/src/v4/core/util.ts +268 -42
  541. package/node_modules/zod/src/v4/core/versions.ts +2 -2
  542. package/node_modules/zod/src/v4/core/visit.ts +193 -0
  543. package/node_modules/zod/src/v4/index.ts +3 -3
  544. package/node_modules/zod/src/v4/locales/ar.ts +3 -0
  545. package/node_modules/zod/src/v4/locales/az.ts +3 -0
  546. package/node_modules/zod/src/v4/locales/be.ts +10 -0
  547. package/node_modules/zod/src/v4/locales/bg.ts +3 -0
  548. package/node_modules/zod/src/v4/locales/bn.ts +121 -0
  549. package/node_modules/zod/src/v4/locales/ca.ts +3 -0
  550. package/node_modules/zod/src/v4/locales/ckb.ts +138 -0
  551. package/node_modules/zod/src/v4/locales/cs.ts +3 -0
  552. package/node_modules/zod/src/v4/locales/da.ts +5 -2
  553. package/node_modules/zod/src/v4/locales/de.ts +3 -0
  554. package/node_modules/zod/src/v4/locales/el.ts +1 -0
  555. package/node_modules/zod/src/v4/locales/en.ts +15 -4
  556. package/node_modules/zod/src/v4/locales/eo.ts +3 -0
  557. package/node_modules/zod/src/v4/locales/es.ts +2 -0
  558. package/node_modules/zod/src/v4/locales/fa.ts +3 -0
  559. package/node_modules/zod/src/v4/locales/fi.ts +3 -0
  560. package/node_modules/zod/src/v4/locales/fr-CA.ts +3 -0
  561. package/node_modules/zod/src/v4/locales/fr.ts +19 -14
  562. package/node_modules/zod/src/v4/locales/gu.ts +121 -0
  563. package/node_modules/zod/src/v4/locales/he.ts +6 -1
  564. package/node_modules/zod/src/v4/locales/hi.ts +124 -0
  565. package/node_modules/zod/src/v4/locales/hr.ts +2 -0
  566. package/node_modules/zod/src/v4/locales/hu.ts +3 -0
  567. package/node_modules/zod/src/v4/locales/hy.ts +9 -0
  568. package/node_modules/zod/src/v4/locales/id.ts +3 -0
  569. package/node_modules/zod/src/v4/locales/index.ts +10 -0
  570. package/node_modules/zod/src/v4/locales/is.ts +3 -0
  571. package/node_modules/zod/src/v4/locales/it.ts +3 -0
  572. package/node_modules/zod/src/v4/locales/ja.ts +3 -0
  573. package/node_modules/zod/src/v4/locales/ka.ts +3 -0
  574. package/node_modules/zod/src/v4/locales/km.ts +3 -0
  575. package/node_modules/zod/src/v4/locales/kn.ts +124 -0
  576. package/node_modules/zod/src/v4/locales/ko.ts +3 -0
  577. package/node_modules/zod/src/v4/locales/lt.ts +2 -0
  578. package/node_modules/zod/src/v4/locales/mk.ts +3 -0
  579. package/node_modules/zod/src/v4/locales/ms.ts +3 -0
  580. package/node_modules/zod/src/v4/locales/ne.ts +126 -0
  581. package/node_modules/zod/src/v4/locales/nl.ts +3 -0
  582. package/node_modules/zod/src/v4/locales/nn.ts +119 -0
  583. package/node_modules/zod/src/v4/locales/no.ts +5 -2
  584. package/node_modules/zod/src/v4/locales/ota.ts +3 -0
  585. package/node_modules/zod/src/v4/locales/pl.ts +3 -0
  586. package/node_modules/zod/src/v4/locales/ps.ts +3 -0
  587. package/node_modules/zod/src/v4/locales/pt-BR.ts +159 -0
  588. package/node_modules/zod/src/v4/locales/pt.ts +99 -58
  589. package/node_modules/zod/src/v4/locales/ro.ts +1 -0
  590. package/node_modules/zod/src/v4/locales/ru.ts +10 -0
  591. package/node_modules/zod/src/v4/locales/sk.ts +121 -0
  592. package/node_modules/zod/src/v4/locales/sl.ts +3 -0
  593. package/node_modules/zod/src/v4/locales/sv.ts +5 -2
  594. package/node_modules/zod/src/v4/locales/ta.ts +3 -0
  595. package/node_modules/zod/src/v4/locales/th.ts +3 -0
  596. package/node_modules/zod/src/v4/locales/tk.ts +111 -0
  597. package/node_modules/zod/src/v4/locales/tr.ts +3 -0
  598. package/node_modules/zod/src/v4/locales/uk.ts +3 -0
  599. package/node_modules/zod/src/v4/locales/ur.ts +3 -0
  600. package/node_modules/zod/src/v4/locales/uz.ts +1 -0
  601. package/node_modules/zod/src/v4/locales/vi.ts +3 -0
  602. package/node_modules/zod/src/v4/locales/yo.ts +3 -0
  603. package/node_modules/zod/src/v4/locales/zh-CN.ts +3 -0
  604. package/node_modules/zod/src/v4/locales/zh-TW.ts +3 -0
  605. package/node_modules/zod/src/v4/mini/checks.ts +1 -0
  606. package/node_modules/zod/src/v4/mini/deep-partial.ts +73 -0
  607. package/node_modules/zod/src/v4/mini/external.ts +10 -1
  608. package/node_modules/zod/src/v4/mini/in-out.ts +45 -0
  609. package/node_modules/zod/src/v4/mini/parse.ts +2 -0
  610. package/node_modules/zod/src/v4/mini/schemas.ts +135 -56
  611. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +33 -0
  612. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +62 -1
  613. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +14 -0
  614. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +35 -1
  615. package/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +84 -0
  616. package/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +54 -0
  617. package/node_modules/zod/src/v4/mini/tests/error.test.ts +23 -4
  618. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +9 -0
  619. package/node_modules/zod/src/v4/mini/tests/index.test.ts +72 -5
  620. package/node_modules/zod/src/v4/mini/tests/number.test.ts +14 -0
  621. package/node_modules/zod/src/v4/mini/tests/object.test.ts +65 -0
  622. package/node_modules/zod/src/v4/mini/tests/string.test.ts +21 -0
  623. package/node_modules/zod/v3/ZodError.cjs +22 -12
  624. package/node_modules/zod/v3/ZodError.d.cts +1 -1
  625. package/node_modules/zod/v3/ZodError.d.ts +1 -1
  626. package/node_modules/zod/v3/ZodError.js +22 -12
  627. package/node_modules/zod/v3/types.cjs +7 -5
  628. package/node_modules/zod/v3/types.js +7 -5
  629. package/node_modules/zod/v4/classic/checks.cjs +2 -1
  630. package/node_modules/zod/v4/classic/checks.d.cts +1 -1
  631. package/node_modules/zod/v4/classic/checks.d.ts +1 -1
  632. package/node_modules/zod/v4/classic/checks.js +1 -1
  633. package/node_modules/zod/v4/classic/compat.d.cts +9 -11
  634. package/node_modules/zod/v4/classic/compat.d.ts +9 -11
  635. package/node_modules/zod/v4/classic/deep-partial.cjs +39 -0
  636. package/node_modules/zod/v4/classic/deep-partial.d.cts +14 -0
  637. package/node_modules/zod/v4/classic/deep-partial.d.ts +14 -0
  638. package/node_modules/zod/v4/classic/deep-partial.js +13 -0
  639. package/node_modules/zod/v4/classic/errors.cjs +43 -34
  640. package/node_modules/zod/v4/classic/errors.d.cts +3 -4
  641. package/node_modules/zod/v4/classic/errors.d.ts +3 -4
  642. package/node_modules/zod/v4/classic/errors.js +43 -34
  643. package/node_modules/zod/v4/classic/external.cjs +30 -27
  644. package/node_modules/zod/v4/classic/external.d.cts +5 -2
  645. package/node_modules/zod/v4/classic/external.d.ts +5 -2
  646. package/node_modules/zod/v4/classic/external.js +5 -8
  647. package/node_modules/zod/v4/classic/from-json-schema.cjs +136 -75
  648. package/node_modules/zod/v4/classic/from-json-schema.js +136 -75
  649. package/node_modules/zod/v4/classic/in-out.cjs +63 -0
  650. package/node_modules/zod/v4/classic/in-out.d.cts +8 -0
  651. package/node_modules/zod/v4/classic/in-out.d.ts +8 -0
  652. package/node_modules/zod/v4/classic/in-out.js +36 -0
  653. package/node_modules/zod/v4/classic/index.cjs +2 -2
  654. package/node_modules/zod/v4/classic/index.d.cts +1 -2
  655. package/node_modules/zod/v4/classic/index.d.ts +1 -2
  656. package/node_modules/zod/v4/classic/index.js +2 -2
  657. package/node_modules/zod/v4/classic/iso.cjs +11 -22
  658. package/node_modules/zod/v4/classic/iso.d.cts +2 -17
  659. package/node_modules/zod/v4/classic/iso.d.ts +2 -17
  660. package/node_modules/zod/v4/classic/iso.js +2 -17
  661. package/node_modules/zod/v4/classic/parse.cjs +4 -1
  662. package/node_modules/zod/v4/classic/parse.d.cts +17 -4
  663. package/node_modules/zod/v4/classic/parse.d.ts +17 -4
  664. package/node_modules/zod/v4/classic/parse.js +1 -0
  665. package/node_modules/zod/v4/classic/schemas.cjs +498 -398
  666. package/node_modules/zod/v4/classic/schemas.d.cts +53 -18
  667. package/node_modules/zod/v4/classic/schemas.d.ts +53 -18
  668. package/node_modules/zod/v4/classic/schemas.js +492 -396
  669. package/node_modules/zod/v4/core/api.cjs +23 -4
  670. package/node_modules/zod/v4/core/api.d.cts +13 -9
  671. package/node_modules/zod/v4/core/api.d.ts +13 -9
  672. package/node_modules/zod/v4/core/api.js +21 -4
  673. package/node_modules/zod/v4/core/checks.cjs +37 -31
  674. package/node_modules/zod/v4/core/checks.d.cts +13 -13
  675. package/node_modules/zod/v4/core/checks.d.ts +13 -13
  676. package/node_modules/zod/v4/core/checks.js +37 -31
  677. package/node_modules/zod/v4/core/compile.cjs +1813 -0
  678. package/node_modules/zod/v4/core/compile.d.cts +51 -0
  679. package/node_modules/zod/v4/core/compile.d.ts +51 -0
  680. package/node_modules/zod/v4/core/compile.js +1783 -0
  681. package/node_modules/zod/v4/core/core.cjs +81 -18
  682. package/node_modules/zod/v4/core/core.d.cts +16 -4
  683. package/node_modules/zod/v4/core/core.d.ts +16 -4
  684. package/node_modules/zod/v4/core/core.js +82 -19
  685. package/node_modules/zod/v4/core/doc.cjs +5 -7
  686. package/node_modules/zod/v4/core/doc.d.cts +3 -1
  687. package/node_modules/zod/v4/core/doc.d.ts +3 -1
  688. package/node_modules/zod/v4/core/doc.js +5 -7
  689. package/node_modules/zod/v4/core/errors.cjs +110 -25
  690. package/node_modules/zod/v4/core/errors.d.cts +4 -0
  691. package/node_modules/zod/v4/core/errors.d.ts +4 -0
  692. package/node_modules/zod/v4/core/errors.js +110 -25
  693. package/node_modules/zod/v4/core/index.cjs +5 -1
  694. package/node_modules/zod/v4/core/index.d.cts +3 -0
  695. package/node_modules/zod/v4/core/index.d.ts +3 -0
  696. package/node_modules/zod/v4/core/index.js +3 -0
  697. package/node_modules/zod/v4/core/json-schema-generator.cjs +4 -0
  698. package/node_modules/zod/v4/core/json-schema-generator.d.cts +2 -2
  699. package/node_modules/zod/v4/core/json-schema-generator.d.ts +2 -2
  700. package/node_modules/zod/v4/core/json-schema-generator.js +4 -0
  701. package/node_modules/zod/v4/core/json-schema-processors.cjs +264 -95
  702. package/node_modules/zod/v4/core/json-schema-processors.js +243 -97
  703. package/node_modules/zod/v4/core/json-schema.d.cts +2 -1
  704. package/node_modules/zod/v4/core/json-schema.d.ts +2 -1
  705. package/node_modules/zod/v4/core/memoizer.cjs +272 -0
  706. package/node_modules/zod/v4/core/memoizer.d.cts +15 -0
  707. package/node_modules/zod/v4/core/memoizer.d.ts +15 -0
  708. package/node_modules/zod/v4/core/memoizer.js +265 -0
  709. package/node_modules/zod/v4/core/parse.cjs +96 -34
  710. package/node_modules/zod/v4/core/parse.d.cts +14 -11
  711. package/node_modules/zod/v4/core/parse.d.ts +14 -11
  712. package/node_modules/zod/v4/core/parse.js +94 -33
  713. package/node_modules/zod/v4/core/regexes.cjs +27 -15
  714. package/node_modules/zod/v4/core/regexes.d.cts +2 -0
  715. package/node_modules/zod/v4/core/regexes.d.ts +2 -0
  716. package/node_modules/zod/v4/core/regexes.js +24 -13
  717. package/node_modules/zod/v4/core/registries.js +2 -2
  718. package/node_modules/zod/v4/core/schemas.cjs +537 -326
  719. package/node_modules/zod/v4/core/schemas.d.cts +100 -31
  720. package/node_modules/zod/v4/core/schemas.d.ts +100 -31
  721. package/node_modules/zod/v4/core/schemas.js +526 -325
  722. package/node_modules/zod/v4/core/to-json-schema.cjs +242 -39
  723. package/node_modules/zod/v4/core/to-json-schema.d.cts +42 -3
  724. package/node_modules/zod/v4/core/to-json-schema.d.ts +42 -3
  725. package/node_modules/zod/v4/core/to-json-schema.js +241 -39
  726. package/node_modules/zod/v4/core/util.cjs +212 -31
  727. package/node_modules/zod/v4/core/util.d.cts +58 -1
  728. package/node_modules/zod/v4/core/util.d.ts +58 -1
  729. package/node_modules/zod/v4/core/util.js +202 -30
  730. package/node_modules/zod/v4/core/versions.cjs +2 -2
  731. package/node_modules/zod/v4/core/versions.d.cts +1 -1
  732. package/node_modules/zod/v4/core/versions.d.ts +1 -1
  733. package/node_modules/zod/v4/core/versions.js +2 -2
  734. package/node_modules/zod/v4/core/visit.cjs +195 -0
  735. package/node_modules/zod/v4/core/visit.d.cts +30 -0
  736. package/node_modules/zod/v4/core/visit.d.ts +30 -0
  737. package/node_modules/zod/v4/core/visit.js +169 -0
  738. package/node_modules/zod/v4/index.cjs +15 -5
  739. package/node_modules/zod/v4/index.d.cts +2 -2
  740. package/node_modules/zod/v4/index.d.ts +2 -2
  741. package/node_modules/zod/v4/index.js +3 -2
  742. package/node_modules/zod/v4/locales/ar.cjs +3 -0
  743. package/node_modules/zod/v4/locales/ar.js +3 -0
  744. package/node_modules/zod/v4/locales/az.cjs +3 -0
  745. package/node_modules/zod/v4/locales/az.js +3 -0
  746. package/node_modules/zod/v4/locales/be.cjs +10 -0
  747. package/node_modules/zod/v4/locales/be.js +10 -0
  748. package/node_modules/zod/v4/locales/bg.cjs +3 -0
  749. package/node_modules/zod/v4/locales/bg.js +3 -0
  750. package/node_modules/zod/v4/locales/bn.cjs +138 -0
  751. package/node_modules/zod/v4/locales/bn.d.cts +5 -0
  752. package/node_modules/zod/v4/locales/bn.d.ts +4 -0
  753. package/node_modules/zod/v4/locales/bn.js +111 -0
  754. package/node_modules/zod/v4/locales/ca.cjs +3 -0
  755. package/node_modules/zod/v4/locales/ca.js +3 -0
  756. package/node_modules/zod/v4/locales/ckb.cjs +158 -0
  757. package/node_modules/zod/v4/locales/ckb.d.cts +5 -0
  758. package/node_modules/zod/v4/locales/ckb.d.ts +4 -0
  759. package/node_modules/zod/v4/locales/ckb.js +131 -0
  760. package/node_modules/zod/v4/locales/cs.cjs +3 -0
  761. package/node_modules/zod/v4/locales/cs.js +3 -0
  762. package/node_modules/zod/v4/locales/da.cjs +5 -2
  763. package/node_modules/zod/v4/locales/da.js +5 -2
  764. package/node_modules/zod/v4/locales/de.cjs +3 -0
  765. package/node_modules/zod/v4/locales/de.js +3 -0
  766. package/node_modules/zod/v4/locales/el.cjs +1 -0
  767. package/node_modules/zod/v4/locales/el.js +1 -0
  768. package/node_modules/zod/v4/locales/en.cjs +14 -4
  769. package/node_modules/zod/v4/locales/en.js +14 -4
  770. package/node_modules/zod/v4/locales/eo.cjs +3 -0
  771. package/node_modules/zod/v4/locales/eo.js +3 -0
  772. package/node_modules/zod/v4/locales/es.cjs +2 -0
  773. package/node_modules/zod/v4/locales/es.js +2 -0
  774. package/node_modules/zod/v4/locales/fa.cjs +3 -0
  775. package/node_modules/zod/v4/locales/fa.js +3 -0
  776. package/node_modules/zod/v4/locales/fi.cjs +3 -0
  777. package/node_modules/zod/v4/locales/fi.js +3 -0
  778. package/node_modules/zod/v4/locales/fr-CA.cjs +3 -0
  779. package/node_modules/zod/v4/locales/fr-CA.js +3 -0
  780. package/node_modules/zod/v4/locales/fr.cjs +16 -14
  781. package/node_modules/zod/v4/locales/fr.js +16 -14
  782. package/node_modules/zod/v4/locales/gu.cjs +138 -0
  783. package/node_modules/zod/v4/locales/gu.d.cts +5 -0
  784. package/node_modules/zod/v4/locales/gu.d.ts +4 -0
  785. package/node_modules/zod/v4/locales/gu.js +111 -0
  786. package/node_modules/zod/v4/locales/he.cjs +5 -0
  787. package/node_modules/zod/v4/locales/he.js +5 -0
  788. package/node_modules/zod/v4/locales/hi.cjs +136 -0
  789. package/node_modules/zod/v4/locales/hi.d.cts +5 -0
  790. package/node_modules/zod/v4/locales/hi.d.ts +4 -0
  791. package/node_modules/zod/v4/locales/hi.js +109 -0
  792. package/node_modules/zod/v4/locales/hr.cjs +2 -0
  793. package/node_modules/zod/v4/locales/hr.js +2 -0
  794. package/node_modules/zod/v4/locales/hu.cjs +3 -0
  795. package/node_modules/zod/v4/locales/hu.js +3 -0
  796. package/node_modules/zod/v4/locales/hy.cjs +9 -0
  797. package/node_modules/zod/v4/locales/hy.js +9 -0
  798. package/node_modules/zod/v4/locales/id.cjs +3 -0
  799. package/node_modules/zod/v4/locales/id.js +3 -0
  800. package/node_modules/zod/v4/locales/index.cjs +22 -2
  801. package/node_modules/zod/v4/locales/index.d.cts +10 -0
  802. package/node_modules/zod/v4/locales/index.d.ts +10 -0
  803. package/node_modules/zod/v4/locales/index.js +10 -0
  804. package/node_modules/zod/v4/locales/is.cjs +3 -0
  805. package/node_modules/zod/v4/locales/is.js +3 -0
  806. package/node_modules/zod/v4/locales/it.cjs +3 -0
  807. package/node_modules/zod/v4/locales/it.js +3 -0
  808. package/node_modules/zod/v4/locales/ja.cjs +3 -0
  809. package/node_modules/zod/v4/locales/ja.js +3 -0
  810. package/node_modules/zod/v4/locales/ka.cjs +3 -0
  811. package/node_modules/zod/v4/locales/ka.js +3 -0
  812. package/node_modules/zod/v4/locales/km.cjs +3 -0
  813. package/node_modules/zod/v4/locales/km.js +3 -0
  814. package/node_modules/zod/v4/locales/kn.cjs +141 -0
  815. package/node_modules/zod/v4/locales/kn.d.cts +5 -0
  816. package/node_modules/zod/v4/locales/kn.d.ts +4 -0
  817. package/node_modules/zod/v4/locales/kn.js +114 -0
  818. package/node_modules/zod/v4/locales/ko.cjs +3 -0
  819. package/node_modules/zod/v4/locales/ko.js +3 -0
  820. package/node_modules/zod/v4/locales/lt.cjs +2 -0
  821. package/node_modules/zod/v4/locales/lt.js +2 -0
  822. package/node_modules/zod/v4/locales/mk.cjs +3 -0
  823. package/node_modules/zod/v4/locales/mk.js +3 -0
  824. package/node_modules/zod/v4/locales/ms.cjs +3 -0
  825. package/node_modules/zod/v4/locales/ms.js +3 -0
  826. package/node_modules/zod/v4/locales/ne.cjs +136 -0
  827. package/node_modules/zod/v4/locales/ne.d.cts +5 -0
  828. package/node_modules/zod/v4/locales/ne.d.ts +4 -0
  829. package/node_modules/zod/v4/locales/ne.js +109 -0
  830. package/node_modules/zod/v4/locales/nl.cjs +3 -0
  831. package/node_modules/zod/v4/locales/nl.js +3 -0
  832. package/node_modules/zod/v4/locales/nn.cjs +138 -0
  833. package/node_modules/zod/v4/locales/nn.d.cts +5 -0
  834. package/node_modules/zod/v4/locales/nn.d.ts +4 -0
  835. package/node_modules/zod/v4/locales/nn.js +111 -0
  836. package/node_modules/zod/v4/locales/no.cjs +5 -2
  837. package/node_modules/zod/v4/locales/no.js +5 -2
  838. package/node_modules/zod/v4/locales/ota.cjs +3 -0
  839. package/node_modules/zod/v4/locales/ota.js +3 -0
  840. package/node_modules/zod/v4/locales/pl.cjs +3 -0
  841. package/node_modules/zod/v4/locales/pl.js +3 -0
  842. package/node_modules/zod/v4/locales/ps.cjs +3 -0
  843. package/node_modules/zod/v4/locales/ps.js +3 -0
  844. package/node_modules/zod/v4/locales/pt-BR.cjs +168 -0
  845. package/node_modules/zod/v4/locales/pt-BR.d.cts +5 -0
  846. package/node_modules/zod/v4/locales/pt-BR.d.ts +4 -0
  847. package/node_modules/zod/v4/locales/pt-BR.js +141 -0
  848. package/node_modules/zod/v4/locales/pt.cjs +87 -55
  849. package/node_modules/zod/v4/locales/pt.js +87 -55
  850. package/node_modules/zod/v4/locales/ro.cjs +1 -0
  851. package/node_modules/zod/v4/locales/ro.js +1 -0
  852. package/node_modules/zod/v4/locales/ru.cjs +10 -0
  853. package/node_modules/zod/v4/locales/ru.js +10 -0
  854. package/node_modules/zod/v4/locales/sk.cjs +141 -0
  855. package/node_modules/zod/v4/locales/sk.d.cts +5 -0
  856. package/node_modules/zod/v4/locales/sk.d.ts +4 -0
  857. package/node_modules/zod/v4/locales/sk.js +114 -0
  858. package/node_modules/zod/v4/locales/sl.cjs +3 -0
  859. package/node_modules/zod/v4/locales/sl.js +3 -0
  860. package/node_modules/zod/v4/locales/sv.cjs +5 -2
  861. package/node_modules/zod/v4/locales/sv.js +5 -2
  862. package/node_modules/zod/v4/locales/ta.cjs +3 -0
  863. package/node_modules/zod/v4/locales/ta.js +3 -0
  864. package/node_modules/zod/v4/locales/th.cjs +3 -0
  865. package/node_modules/zod/v4/locales/th.js +3 -0
  866. package/node_modules/zod/v4/locales/tk.cjs +132 -0
  867. package/node_modules/zod/v4/locales/tk.d.cts +5 -0
  868. package/node_modules/zod/v4/locales/tk.d.ts +4 -0
  869. package/node_modules/zod/v4/locales/tk.js +105 -0
  870. package/node_modules/zod/v4/locales/tr.cjs +3 -0
  871. package/node_modules/zod/v4/locales/tr.js +3 -0
  872. package/node_modules/zod/v4/locales/uk.cjs +3 -0
  873. package/node_modules/zod/v4/locales/uk.js +3 -0
  874. package/node_modules/zod/v4/locales/ur.cjs +3 -0
  875. package/node_modules/zod/v4/locales/ur.js +3 -0
  876. package/node_modules/zod/v4/locales/uz.cjs +1 -0
  877. package/node_modules/zod/v4/locales/uz.js +1 -0
  878. package/node_modules/zod/v4/locales/vi.cjs +3 -0
  879. package/node_modules/zod/v4/locales/vi.js +3 -0
  880. package/node_modules/zod/v4/locales/yo.cjs +3 -0
  881. package/node_modules/zod/v4/locales/yo.js +3 -0
  882. package/node_modules/zod/v4/locales/zh-CN.cjs +3 -0
  883. package/node_modules/zod/v4/locales/zh-CN.js +3 -0
  884. package/node_modules/zod/v4/locales/zh-TW.cjs +3 -0
  885. package/node_modules/zod/v4/locales/zh-TW.js +3 -0
  886. package/node_modules/zod/v4/mini/checks.cjs +2 -1
  887. package/node_modules/zod/v4/mini/checks.d.cts +1 -1
  888. package/node_modules/zod/v4/mini/checks.d.ts +1 -1
  889. package/node_modules/zod/v4/mini/checks.js +1 -1
  890. package/node_modules/zod/v4/mini/deep-partial.cjs +39 -0
  891. package/node_modules/zod/v4/mini/deep-partial.d.cts +14 -0
  892. package/node_modules/zod/v4/mini/deep-partial.d.ts +14 -0
  893. package/node_modules/zod/v4/mini/deep-partial.js +13 -0
  894. package/node_modules/zod/v4/mini/external.cjs +12 -1
  895. package/node_modules/zod/v4/mini/external.d.cts +5 -2
  896. package/node_modules/zod/v4/mini/external.d.ts +5 -2
  897. package/node_modules/zod/v4/mini/external.js +3 -1
  898. package/node_modules/zod/v4/mini/in-out.cjs +63 -0
  899. package/node_modules/zod/v4/mini/in-out.d.cts +8 -0
  900. package/node_modules/zod/v4/mini/in-out.d.ts +8 -0
  901. package/node_modules/zod/v4/mini/in-out.js +36 -0
  902. package/node_modules/zod/v4/mini/parse.cjs +3 -1
  903. package/node_modules/zod/v4/mini/parse.d.cts +1 -1
  904. package/node_modules/zod/v4/mini/parse.d.ts +1 -1
  905. package/node_modules/zod/v4/mini/parse.js +1 -1
  906. package/node_modules/zod/v4/mini/schemas.cjs +75 -47
  907. package/node_modules/zod/v4/mini/schemas.d.cts +43 -13
  908. package/node_modules/zod/v4/mini/schemas.d.ts +43 -13
  909. package/node_modules/zod/v4/mini/schemas.js +71 -45
  910. package/openclaw.plugin.json +224 -43
  911. package/package.json +12 -10
  912. package/dist/direct-room-RinHjtqX.js +0 -71
  913. package/dist/probe.runtime-DdXTrrmo.js +0 -2
  914. package/dist/runtime-6S3DNFNv.js +0 -8
  915. package/dist/types-DzSc7Sqm.js +0 -32
  916. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.d.ts +0 -33
  917. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.d.ts.map +0 -1
  918. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.js +0 -93
  919. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.js.map +0 -1
  920. package/node_modules/markdown-it/node_modules/entities/src/internal/encode-shared.ts +0 -123
  921. package/node_modules/zod/src/v4/core/config.ts +0 -15
  922. /package/dist/{account-config-CRsKoMqJ.js → .setup/account-config-CRsKoMqJ.mjs} +0 -0
  923. /package/dist/{backup-health-Dm_YMVFT.js → .setup/backup-health-Dm_YMVFT.mjs} +0 -0
  924. /package/dist/{config-paths-CnREYb1Y.js → .setup/config-paths-CnREYb1Y.mjs} +0 -0
  925. /package/dist/{config-secret-input.runtime-CwsP3--c.js → .setup/config-secret-input.runtime-CwsP3--c.mjs} +0 -0
  926. /package/dist/{credentials-state-B3cuUFwZ.js → .setup/credentials-state-B3cuUFwZ.mjs} +0 -0
  927. /package/dist/{crypto-node.runtime-6Aj_ltHQ.js → .setup/crypto-node.runtime-6Aj_ltHQ.mjs} +0 -0
  928. /package/dist/{deps-mtxF2mHI.js → .setup/deps-mtxF2mHI.mjs} +0 -0
  929. /package/dist/{doctor-contract-HyWFZQVG.js → .setup/doctor-contract-HyWFZQVG.mjs} +0 -0
  930. /package/dist/{env-vars-dGqak9dN.js → .setup/env-vars-dGqak9dN.mjs} +0 -0
  931. /package/dist/{errors-DKVS3_DO.js → .setup/errors-DKVS3_DO.mjs} +0 -0
  932. /package/dist/{event-helpers-CspuhE9k.js → .setup/event-helpers-CspuhE9k.mjs} +0 -0
  933. /package/dist/{idb-persistence-lock-B3fZXyF_.js → .setup/idb-persistence-lock-B3fZXyF_.mjs} +0 -0
  934. /package/dist/{rolldown-runtime-8H4AJuhK.js → .setup/rolldown-runtime-8H4AJuhK.mjs} +0 -0
  935. /package/dist/{storage-paths-DVCANXTc.js → .setup/storage-paths-DVCANXTc.mjs} +0 -0
  936. /package/dist/{target-ids-Nwx7cMVE.js → .setup/target-ids-Nwx7cMVE.mjs} +0 -0
  937. /package/dist/{thread-bindings-shared-oNPiyMWY.js → .setup/thread-bindings-shared-oNPiyMWY.mjs} +0 -0
  938. /package/dist/{url-validation-GRHde6lq.js → .setup/url-validation-GRHde6lq.mjs} +0 -0
@@ -1,20 +1,18 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { a as resolveMatrixAccountConfig } from "./account-config-CRsKoMqJ.js";
3
- import { t as getMatrixRuntime } from "./runtime-6S3DNFNv.js";
4
- import { i as normalizeMatrixResolvableTarget, t as isMatrixQualifiedUserId } from "./target-ids-Nwx7cMVE.js";
5
- import { a as isStrictDirectRoom, r as inspectMatrixDirectRoomEvidence } from "./direct-room-RinHjtqX.js";
6
- import { r as buildMatrixReactionContent } from "./reaction-common-DkrQdBSZ.js";
7
- import { a as RelationType, i as MsgType, r as MSC4357_LIVE_KEY, t as EventType } from "./types-DzSc7Sqm.js";
8
- import { n as getMatrixEventProjection } from "./event-helpers-CspuhE9k.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.mjs";
2
+ import { t as getMatrixRuntime } from "./runtime-1kn1P6io.mjs";
3
+ import { a as resolveMatrixAccountConfig } from "./account-config-CRsKoMqJ.mjs";
4
+ import { i as normalizeMatrixResolvableTarget, t as isMatrixQualifiedUserId } from "./target-ids-Nwx7cMVE.mjs";
5
+ import { n as withMatrixSendCurrentness, o as buildMatrixReactionContent, t as captureMatrixSendCurrentness } from "./send-currentness-BrGXL7b8.mjs";
6
+ import { _ as MsgType, d as buildMatrixMessageRelation, f as resolveMatrixReplyToEventId, g as MSC4357_LIVE_KEY, l as isStrictDirectRoom, m as EventType, n as inspectMatrixDirectRooms, p as resolveMatrixThreadRootId, r as persistMatrixDirectRoomMapping, v as RelationType } from "./direct-management-B2Bno2xL.mjs";
7
+ import { n as getMatrixEventProjection } from "./event-helpers-CspuhE9k.mjs";
9
8
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
10
9
  import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-outbound";
11
- import { asNullableObjectRecord, asNullableRecord, asOptionalRecord, isRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
10
+ import { asNullableObjectRecord, asNullableRecord, isRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
12
11
  import { FormatCapabilityProfile, convertMarkdownTables, findCodeRegions, isInsideCode, markdownToIR, renderMarkdownWithMarkers, tokenizeHtmlTags } from "openclaw/plugin-sdk/text-chunking";
13
12
  import { createHash } from "node:crypto";
14
13
  import path from "node:path";
15
14
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
16
15
  import { requireRuntimeConfig } from "openclaw/plugin-sdk/plugin-config-runtime";
17
- import { KeyedAsyncQueue } from "openclaw/plugin-sdk/keyed-async-queue";
18
16
  import { loadOutboundMediaFromUrl } from "openclaw/plugin-sdk/outbound-media";
19
17
  import { M_POLL_KIND_DISCLOSED } from "matrix-js-sdk/lib/@types/polls.js";
20
18
  import { normalizePollInput } from "openclaw/plugin-sdk/poll-runtime";
@@ -23,7 +21,7 @@ import { isAutoLinkedFileRef } from "openclaw/plugin-sdk/text-autolink-runtime";
23
21
  import { isVoiceMessageCompatibleAudio } from "openclaw/plugin-sdk/media-runtime";
24
22
  import { parseBuffer } from "music-metadata";
25
23
  //#region extensions/matrix/src/matrix/send/client.ts
26
- const loadMatrixSendClientRuntime = createLazyRuntimeModule(() => import("./client-bootstrap-CQwf9qrm.js").then((n) => n.t));
24
+ const loadMatrixSendClientRuntime = createLazyRuntimeModule(() => import("./client-bootstrap-DGX0f-4x.mjs"));
27
25
  function resolveMediaMaxBytes(accountId, cfg) {
28
26
  if (!cfg) throw new Error("Matrix media limits requires a resolved runtime config. Load and resolve config at the command or gateway boundary, then pass cfg through the runtime path.");
29
27
  const resolvedCfg = requireRuntimeConfig(cfg, "Matrix media limits");
@@ -37,7 +35,14 @@ async function withResolvedMatrixSendClient(opts, run) {
37
35
  return await withResolvedMatrixClient({
38
36
  ...opts,
39
37
  readiness: "started"
40
- }, run, "persist");
38
+ }, (client, abortSignal) => {
39
+ if (!opts.signal && !opts.assertDirectAdapterHandoff) return run(client, abortSignal);
40
+ return withMatrixSendCurrentness(client, () => {
41
+ opts.assertDirectAdapterHandoff?.();
42
+ opts.signal?.throwIfAborted();
43
+ abortSignal?.throwIfAborted();
44
+ }, () => run(client, abortSignal));
45
+ }, "persist");
41
46
  }
42
47
  async function withResolvedMatrixControlClient(opts, run) {
43
48
  return await withResolvedMatrixClient({
@@ -51,218 +56,30 @@ async function withResolvedMatrixClient(opts, run, shutdownBehavior) {
51
56
  return await withResolvedRuntimeMatrixClient(opts, run, shutdownBehavior);
52
57
  }
53
58
  //#endregion
54
- //#region extensions/matrix/src/matrix/direct-management.ts
55
- var direct_management_exports = /* @__PURE__ */ __exportAll({
56
- inspectMatrixDirectRooms: () => inspectMatrixDirectRooms,
57
- persistMatrixDirectRoomMapping: () => persistMatrixDirectRoomMapping,
58
- promoteMatrixDirectRoomCandidate: () => promoteMatrixDirectRoomCandidate,
59
- repairMatrixDirectRooms: () => repairMatrixDirectRooms
60
- });
61
- const DIRECT_ACCOUNT_DATA_QUEUE_KEY = EventType.Direct;
62
- const directAccountDataWriteQueues = /* @__PURE__ */ new WeakMap();
63
- async function readMatrixDirectAccountData(client) {
64
- try {
65
- const direct = await client.getAccountData(EventType.Direct);
66
- return direct && typeof direct === "object" && !Array.isArray(direct) ? direct : {};
67
- } catch {
68
- return {};
69
- }
70
- }
71
- function normalizeRemoteUserId(remoteUserId) {
72
- const normalized = normalizeOptionalString(remoteUserId) ?? "";
73
- if (!isMatrixQualifiedUserId(normalized)) throw new Error(`Matrix user IDs must be fully qualified (got "${remoteUserId}")`);
74
- return normalized;
75
- }
76
- function normalizeMappedRoomIds(direct, remoteUserId) {
77
- const current = direct[remoteUserId];
78
- if (!Array.isArray(current)) return [];
79
- const seen = /* @__PURE__ */ new Set();
80
- const normalized = [];
81
- for (const value of current) {
82
- const roomId = normalizeOptionalString(value) ?? "";
83
- if (!roomId || seen.has(roomId)) continue;
84
- seen.add(roomId);
85
- normalized.push(roomId);
86
- }
87
- return normalized;
88
- }
89
- function normalizeRoomIdList(values) {
90
- const seen = /* @__PURE__ */ new Set();
91
- const normalized = [];
92
- for (const value of values) {
93
- const roomId = value.trim();
94
- if (!roomId || seen.has(roomId)) continue;
95
- seen.add(roomId);
96
- normalized.push(roomId);
97
- }
98
- return normalized;
99
- }
100
- function hasMatrixDirectRoomMappings(params) {
101
- const current = normalizeMappedRoomIds(params.directContent, params.remoteUserId);
102
- const next = normalizeRoomIdList([...params.roomIds, ...current]);
103
- return current.length === next.length && current.every((roomId, index) => roomId === next[index]);
104
- }
105
- function resolveDirectAccountDataWriteQueue(client) {
106
- const existing = directAccountDataWriteQueues.get(client);
107
- if (existing) return existing;
108
- const created = new KeyedAsyncQueue();
109
- directAccountDataWriteQueues.set(client, created);
110
- return created;
111
- }
112
- async function writeMatrixDirectRoomMappings(params) {
113
- return await resolveDirectAccountDataWriteQueue(params.client).enqueue(DIRECT_ACCOUNT_DATA_QUEUE_KEY, async () => {
114
- const directContentBefore = await readMatrixDirectAccountData(params.client);
115
- const directContentAfter = buildNextDirectContent({
116
- directContent: directContentBefore,
117
- remoteUserId: params.remoteUserId,
118
- roomIds: params.roomIds
119
- });
120
- const changed = !hasMatrixDirectRoomMappings({
121
- directContent: directContentBefore,
122
- remoteUserId: params.remoteUserId,
123
- roomIds: params.roomIds
124
- });
125
- if (changed) await params.client.setAccountData(EventType.Direct, directContentAfter);
126
- return {
127
- changed,
128
- directContentBefore,
129
- directContentAfter
130
- };
131
- });
132
- }
133
- async function classifyDirectRoomCandidate(params) {
134
- const evidence = await inspectMatrixDirectRoomEvidence({
135
- client: params.client,
136
- roomId: params.roomId,
137
- remoteUserId: params.remoteUserId,
138
- selfUserId: params.selfUserId
139
- });
140
- return {
141
- roomId: params.roomId,
142
- joinedMembers: evidence.joinedMembers,
143
- strict: evidence.strict && (params.source === "account-data" || evidence.memberStateFlag !== false),
144
- explicit: evidence.strict && (params.source === "account-data" || evidence.memberStateFlag !== false) && (params.source === "account-data" || evidence.viaMemberState),
145
- source: params.source
146
- };
147
- }
148
- function buildNextDirectContent(params) {
149
- const current = normalizeMappedRoomIds(params.directContent, params.remoteUserId);
150
- const nextRooms = normalizeRoomIdList([...params.roomIds, ...current]);
151
- return {
152
- ...params.directContent,
153
- [params.remoteUserId]: nextRooms
154
- };
155
- }
156
- async function persistMatrixDirectRoomMapping(params) {
157
- const remoteUserId = normalizeRemoteUserId(params.remoteUserId);
158
- return (await writeMatrixDirectRoomMappings({
159
- client: params.client,
160
- remoteUserId,
161
- roomIds: [params.roomId]
162
- })).changed;
163
- }
164
- async function promoteMatrixDirectRoomCandidate(params) {
165
- const remoteUserId = normalizeRemoteUserId(params.remoteUserId);
166
- const evidence = await inspectMatrixDirectRoomEvidence({
167
- client: params.client,
168
- roomId: params.roomId,
169
- remoteUserId,
170
- selfUserId: params.selfUserId
171
- });
172
- if (!evidence.strict) return {
173
- classifyAsDirect: false,
174
- repaired: false,
175
- reason: "not-strict"
176
- };
177
- if (evidence.memberStateFlag === false) return {
178
- classifyAsDirect: false,
179
- repaired: false,
180
- reason: "local-explicit-false"
181
- };
182
- try {
183
- const repaired = await persistMatrixDirectRoomMapping({
184
- client: params.client,
185
- remoteUserId,
59
+ //#region extensions/matrix/src/matrix/send/receipt.ts
60
+ function createMatrixSendReceipt(params) {
61
+ const firstEvent = params.events[0];
62
+ const receipt = createMessageReceiptFromOutboundResults({
63
+ kind: firstEvent?.kind ?? "text",
64
+ ...firstEvent?.replyToId ? { replyToId: firstEvent.replyToId } : {},
65
+ ...params.threadId ? { threadId: params.threadId } : {},
66
+ results: params.events.map(({ messageId }) => ({
67
+ channel: "matrix",
68
+ messageId,
186
69
  roomId: params.roomId
187
- });
188
- return {
189
- classifyAsDirect: true,
190
- repaired,
191
- roomId: params.roomId,
192
- reason: repaired ? "promoted" : "already-mapped"
193
- };
194
- } catch {
195
- return {
196
- classifyAsDirect: true,
197
- repaired: false,
198
- roomId: params.roomId,
199
- reason: "repair-failed"
200
- };
201
- }
202
- }
203
- async function inspectMatrixDirectRooms(params) {
204
- const remoteUserId = normalizeRemoteUserId(params.remoteUserId);
205
- const selfUserId = normalizeOptionalString(await params.client.getUserId().catch(() => null)) ?? null;
206
- const mappedRoomIds = normalizeMappedRoomIds(await readMatrixDirectAccountData(params.client), remoteUserId);
207
- const mappedRooms = await Promise.all(mappedRoomIds.map(async (roomId) => await classifyDirectRoomCandidate({
208
- client: params.client,
209
- roomId,
210
- remoteUserId,
211
- selfUserId,
212
- source: "account-data"
213
- })));
214
- const mappedStrict = mappedRooms.find((room) => room.strict);
215
- let joinedRooms = [];
216
- if (typeof params.client.getJoinedRooms === "function") try {
217
- const resolved = await params.client.getJoinedRooms();
218
- joinedRooms = Array.isArray(resolved) ? resolved : [];
219
- } catch {
220
- joinedRooms = [];
221
- }
222
- const discoveredStrictRooms = [];
223
- for (const roomId of normalizeRoomIdList(joinedRooms)) {
224
- if (mappedRoomIds.includes(roomId)) continue;
225
- const candidate = await classifyDirectRoomCandidate({
226
- client: params.client,
227
- roomId,
228
- remoteUserId,
229
- selfUserId,
230
- source: "joined"
231
- });
232
- if (candidate.strict) discoveredStrictRooms.push(candidate);
233
- }
234
- const discoveredStrictRoomIds = discoveredStrictRooms.map((room) => room.roomId);
235
- const discoveredExplicit = discoveredStrictRooms.find((room) => room.explicit);
236
- return {
237
- selfUserId,
238
- remoteUserId,
239
- mappedRoomIds,
240
- mappedRooms,
241
- discoveredStrictRoomIds,
242
- activeRoomId: mappedStrict?.roomId ?? discoveredExplicit?.roomId ?? discoveredStrictRoomIds[0] ?? null
243
- };
244
- }
245
- async function repairMatrixDirectRooms(params) {
246
- const remoteUserId = normalizeRemoteUserId(params.remoteUserId);
247
- const inspected = await inspectMatrixDirectRooms({
248
- client: params.client,
249
- remoteUserId
70
+ }))
250
71
  });
251
- const activeRoomId = inspected.activeRoomId ?? await params.client.createDirectRoom(remoteUserId, { encrypted: params.encrypted === true });
252
- const createdRoomId = inspected.activeRoomId ? null : activeRoomId;
253
- const mappingWrite = await writeMatrixDirectRoomMappings({
254
- client: params.client,
255
- remoteUserId,
256
- roomIds: [activeRoomId, ...inspected.discoveredStrictRoomIds]
72
+ receipt.parts = receipt.parts.map((part, index) => {
73
+ const event = params.events[index];
74
+ const actualPart = {
75
+ ...part,
76
+ kind: event.kind
77
+ };
78
+ if (event.replyToId) actualPart.replyToId = event.replyToId;
79
+ else delete actualPart.replyToId;
80
+ return actualPart;
257
81
  });
258
- return {
259
- ...inspected,
260
- activeRoomId,
261
- createdRoomId,
262
- changed: mappingWrite.changed,
263
- directContentBefore: mappingWrite.directContentBefore,
264
- directContentAfter: mappingWrite.directContentAfter
265
- };
82
+ return receipt;
266
83
  }
267
84
  //#endregion
268
85
  //#region extensions/matrix/src/matrix/send/targets.ts
@@ -291,38 +108,41 @@ function setDirectRoomCached(client, key, value) {
291
108
  if (oldest !== void 0) directRoomCache.delete(oldest);
292
109
  }
293
110
  }
294
- async function resolveDirectRoomId(client, userId) {
111
+ async function resolveDirectRoomId(client, userId, persistDirectMapping) {
295
112
  const trimmed = userId.trim();
296
113
  if (!isMatrixQualifiedUserId(trimmed)) throw new Error(`Matrix user IDs must be fully qualified (got "${trimmed}")`);
297
114
  const selfUserId = (await client.getUserId().catch(() => null))?.trim() || null;
298
115
  const directRoomCache = resolveDirectRoomCache(client);
299
- const cached = directRoomCache.get(trimmed);
116
+ const cacheKey = persistDirectMapping ? trimmed : `read:${trimmed}`;
117
+ const cached = directRoomCache.get(cacheKey);
300
118
  if (cached && await isStrictDirectRoom({
301
119
  client,
302
120
  roomId: cached,
303
121
  remoteUserId: trimmed,
304
122
  selfUserId
305
123
  })) return cached;
306
- if (cached) directRoomCache.delete(trimmed);
124
+ if (cached) directRoomCache.delete(cacheKey);
307
125
  const inspection = await inspectMatrixDirectRooms({
308
126
  client,
309
127
  remoteUserId: trimmed
310
128
  });
311
129
  if (inspection.activeRoomId) {
312
- setDirectRoomCached(client, trimmed, inspection.activeRoomId);
313
- if (inspection.mappedRoomIds[0] !== inspection.activeRoomId) await persistMatrixDirectRoomMapping({
130
+ if (persistDirectMapping && inspection.mappedRoomIds[0] !== inspection.activeRoomId) await persistMatrixDirectRoomMapping({
314
131
  client,
315
132
  remoteUserId: trimmed,
316
133
  roomId: inspection.activeRoomId
317
- }).catch(() => {});
134
+ }).catch(() => {
135
+ captureMatrixSendCurrentness(client)?.();
136
+ });
137
+ setDirectRoomCached(client, cacheKey, inspection.activeRoomId);
318
138
  return inspection.activeRoomId;
319
139
  }
320
140
  throw new Error(`No direct room found for ${trimmed} (m.direct missing)`);
321
141
  }
322
- async function resolveMatrixRoomId(client, raw) {
142
+ async function resolveMatrixRoomId(client, raw, opts = {}) {
323
143
  const target = normalizeMatrixResolvableTarget(normalizeTarget(raw));
324
- if (normalizeLowercaseStringOrEmpty(target).startsWith("user:")) return await resolveDirectRoomId(client, target.slice(5));
325
- if (isMatrixQualifiedUserId(target)) return await resolveDirectRoomId(client, target);
144
+ if (normalizeLowercaseStringOrEmpty(target).startsWith("user:")) return await resolveDirectRoomId(client, target.slice(5), opts.persistDirectMapping ?? true);
145
+ if (isMatrixQualifiedUserId(target)) return await resolveDirectRoomId(client, target, opts.persistDirectMapping ?? true);
326
146
  if (target.startsWith("#")) {
327
147
  const resolved = await client.resolveRoom(target);
328
148
  if (!resolved) throw new Error(`Matrix alias ${target} could not be resolved`);
@@ -458,7 +278,9 @@ async function persistMatrixDeliveryPlan(params) {
458
278
  }
459
279
  async function loadQueuePlans(queueId) {
460
280
  const store = createDeliveryPlanStore();
461
- const keys = (await store.entries()).filter((entry) => entry.key.startsWith(queuePrefix(queueId))).map((entry) => entry.key);
281
+ const entries = await store.entries();
282
+ const prefix = entries.length > 0 ? queuePrefix(queueId) : "";
283
+ const keys = entries.filter((entry) => entry.key.startsWith(prefix)).map((entry) => entry.key);
462
284
  return await Promise.all(keys.map(async (key) => {
463
285
  const entry = await store.lookup(key);
464
286
  if (!entry) throw new MatrixDeliveryPlanInvariantError("Matrix durable delivery plan disappeared during reconciliation");
@@ -474,27 +296,6 @@ function assertCompletePartTopology(plans) {
474
296
  const storedParts = new Set(plans.map((plan) => plan.partIndex));
475
297
  if (storedParts.size !== partCount || Array.from({ length: partCount }, (_, partIndex) => partIndex).some((partIndex) => !storedParts.has(partIndex))) throw new MatrixDeliveryPlanInvariantError("Matrix ambiguous delivery has an incomplete event plan");
476
298
  }
477
- function createReconciledMatrixReceipt(params) {
478
- const uniqueResults = params.results.filter((result, index, results) => results.findIndex((entry) => entry.eventId === result.eventId) === index);
479
- const platformMessageIds = uniqueResults.map((result) => result.eventId);
480
- return {
481
- ...platformMessageIds[0] ? { primaryPlatformMessageId: platformMessageIds[0] } : {},
482
- platformMessageIds,
483
- parts: uniqueResults.map((result, index) => {
484
- const part = {
485
- platformMessageId: result.eventId,
486
- kind: result.receiptKind,
487
- index
488
- };
489
- if (params.replyToId) part.replyToId = params.replyToId;
490
- if (params.threadId) part.threadId = params.threadId;
491
- return part;
492
- }),
493
- ...params.replyToId ? { replyToId: params.replyToId } : {},
494
- ...params.threadId ? { threadId: params.threadId } : {},
495
- sentAt: Date.now()
496
- };
497
- }
498
299
  async function requireTransactionScope(client) {
499
300
  const scope = (await client.getTransactionScopeId()).trim();
500
301
  if (!scope) throw new MatrixDeliveryPlanInvariantError("Matrix durable delivery requires a stable transaction scope");
@@ -514,7 +315,7 @@ async function reconcileMatrixUnknownSend(ctx) {
514
315
  const roomId = await resolveMatrixRoomId(client, ctx.to);
515
316
  const wireEventType = await client.getMessageWireEventType(roomId);
516
317
  const orderedPlans = [...plans].toSorted((left, right) => left.partIndex - right.partIndex);
517
- const results = [];
318
+ const results = /* @__PURE__ */ new Map();
518
319
  for (const plan of orderedPlans) {
519
320
  assertPlanIdentity(plan, {
520
321
  identity: plan,
@@ -523,8 +324,8 @@ async function reconcileMatrixUnknownSend(ctx) {
523
324
  transactionScopeId,
524
325
  wireEventType
525
326
  });
526
- for (const event of plan.events) results.push({
527
- eventId: await client.sendMessage(roomId, event.content, event.transactionId, async (dispatch) => {
327
+ for (const event of plan.events) {
328
+ const messageId = await client.sendMessage(roomId, event.content, event.transactionId, async (dispatch) => {
528
329
  await persistMatrixDeliveryPlan({
529
330
  identity: plan,
530
331
  accountId: ctx.accountId,
@@ -534,16 +335,21 @@ async function reconcileMatrixUnknownSend(ctx) {
534
335
  events: plan.events,
535
336
  dispatch
536
337
  });
537
- }),
538
- receiptKind: event.receiptKind
539
- });
338
+ });
339
+ if (!results.has(messageId)) {
340
+ const replyToId = resolveMatrixReplyToEventId(event.content);
341
+ results.set(messageId, {
342
+ messageId,
343
+ kind: event.receiptKind,
344
+ ...replyToId ? { replyToId } : {}
345
+ });
346
+ }
347
+ }
540
348
  }
541
- const replyToId = ctx.effectiveReplyToId !== void 0 ? ctx.effectiveReplyToId : ctx.replyToMode === "off" ? void 0 : ctx.replyToId;
542
- const threadId = ctx.threadId == null ? void 0 : String(ctx.threadId);
543
- const receipt = createReconciledMatrixReceipt({
544
- results,
545
- ...replyToId ? { replyToId } : {},
546
- ...threadId ? { threadId } : {}
349
+ const receipt = createMatrixSendReceipt({
350
+ roomId,
351
+ events: [...results.values()],
352
+ threadId: resolveMatrixThreadRootId(orderedPlans[0].events[0].content)
547
353
  });
548
354
  return {
549
355
  status: "sent",
@@ -570,7 +376,9 @@ async function reconcileMatrixUnknownSend(ctx) {
570
376
  async function cleanupMatrixDeliveryPlans(ctx) {
571
377
  const store = createDeliveryPlanStore();
572
378
  await store.deleteExpired();
573
- const keys = (await store.entries()).filter((entry) => entry.key.startsWith(queuePrefix(ctx.queueId))).map((entry) => entry.key);
379
+ const entries = await store.entries();
380
+ const prefix = entries.length > 0 ? queuePrefix(ctx.queueId) : "";
381
+ const keys = entries.filter((entry) => entry.key.startsWith(prefix)).map((entry) => entry.key);
574
382
  await Promise.all(keys.map(async (key) => await store.delete(key)));
575
383
  }
576
384
  //#endregion
@@ -790,34 +598,6 @@ function buildPollResponseContent(pollEventId, answerIds) {
790
598
  };
791
599
  }
792
600
  //#endregion
793
- //#region extensions/matrix/src/matrix/relations.ts
794
- function relatedReplyEventId(relation) {
795
- const reply = asOptionalRecord(relation?.["m.in_reply_to"]);
796
- return typeof reply?.event_id === "string" ? reply.event_id : void 0;
797
- }
798
- function buildMatrixMessageRelation(params) {
799
- const threadId = params.threadId?.trim();
800
- const replyToId = params.replyToId?.trim();
801
- const relatedId = replyToId || (threadId ? params.fallbackReplyToId?.trim() : void 0);
802
- const reply = relatedId ? { "m.in_reply_to": { event_id: relatedId } } : void 0;
803
- if (!threadId) return reply;
804
- return {
805
- rel_type: RelationType.Thread,
806
- event_id: threadId,
807
- ...reply,
808
- ...relatedId && !replyToId ? { is_falling_back: true } : {}
809
- };
810
- }
811
- function resolveMatrixReplyToEventId(content) {
812
- const relation = asOptionalRecord(content["m.relates_to"]);
813
- return relation?.rel_type === RelationType.Thread && relation.is_falling_back === true ? void 0 : relatedReplyEventId(relation);
814
- }
815
- function resolveMatrixThreadRootId(content) {
816
- const relation = asOptionalRecord(content["m.relates_to"]);
817
- if (relation?.rel_type !== RelationType.Thread) return;
818
- return typeof relation.event_id === "string" ? relation.event_id : relatedReplyEventId(relation);
819
- }
820
- //#endregion
821
601
  //#region extensions/matrix/src/matrix/format-profile.ts
822
602
  function createMatrixPrivateMarkers(markdown, exhaustedMessage) {
823
603
  const used = new Set(Array.from(markdown, (character) => character.charCodeAt(0)));
@@ -872,11 +652,14 @@ function findMatrixTableSourceRanges(markdown) {
872
652
  const lineStarts = [0];
873
653
  for (let index = 0; index < markdown.length; index += 1) if (markdown[index] === "\n") lineStarts.push(index + 1);
874
654
  lineStarts.push(markdown.length);
875
- return tableParser.parse(markdown, {}).flatMap((token) => {
655
+ return matrixTableSourceRangesFromTokens(tableParser.parse(markdown, {}), lineStarts, markdown.length);
656
+ }
657
+ function matrixTableSourceRangesFromTokens(tokens, lineStarts, sourceLength) {
658
+ return tokens.flatMap((token) => {
876
659
  if (token.type !== "table_open" || !token.map) return [];
877
660
  return [{
878
661
  start: lineStarts[token.map[0]] ?? 0,
879
- end: lineStarts[token.map[1]] ?? markdown.length
662
+ end: lineStarts[token.map[1]] ?? sourceLength
880
663
  }];
881
664
  });
882
665
  }
@@ -893,8 +676,14 @@ function findInlineMetadataRanges(markdown, references) {
893
676
  const labelStack = [];
894
677
  const codeRegions = findCodeRegions(markdown);
895
678
  const underlineTags = [...tokenizeHtmlTags(markdown)].filter((tag) => tag.name === "u" || tag.name === "ins");
679
+ let underlineIndex = 0;
896
680
  for (let index = 0; index < markdown.length - 1; index += 1) {
897
- const underlineTag = underlineTags.find((tag) => tag.start === index);
681
+ let nextUnderlineTag = underlineTags[underlineIndex];
682
+ while (nextUnderlineTag && nextUnderlineTag.start < index) {
683
+ underlineIndex += 1;
684
+ nextUnderlineTag = underlineTags[underlineIndex];
685
+ }
686
+ const underlineTag = nextUnderlineTag?.start === index ? nextUnderlineTag : void 0;
898
687
  if (underlineTag) {
899
688
  index = underlineTag.end - 1;
900
689
  continue;
@@ -945,42 +734,46 @@ function findInlineMetadataRanges(markdown, references) {
945
734
  continue;
946
735
  }
947
736
  if (markdown[index] === "]" && !isMarkdownEscaped(markdown, index)) labelStack.pop();
948
- const autolink = /^<[A-Za-z][A-Za-z0-9+.-]{1,31}:[^<>\s]*>/u.exec(markdown.slice(index));
949
- if (autolink && !isMarkdownEscaped(markdown, index)) {
950
- ranges.push({
951
- start: index,
952
- end: index + autolink[0].length
953
- });
954
- index += autolink[0].length - 1;
955
- continue;
956
- }
957
- const emailAutolink = /^<[^<>\s@]+@[^<>\s@]+>/u.exec(markdown.slice(index));
958
- if (emailAutolink && !isMarkdownEscaped(markdown, index)) {
959
- ranges.push({
960
- start: index,
961
- end: index + emailAutolink[0].length
962
- });
963
- index += emailAutolink[0].length - 1;
737
+ if (markdown[index] === "<") {
738
+ const autolink = /^<[A-Za-z][A-Za-z0-9+.-]{1,31}:[^<>\s]*>/u.exec(markdown.slice(index));
739
+ if (autolink && !isMarkdownEscaped(markdown, index)) {
740
+ ranges.push({
741
+ start: index,
742
+ end: index + autolink[0].length
743
+ });
744
+ index += autolink[0].length - 1;
745
+ continue;
746
+ }
747
+ const emailAutolink = /^<[^<>\s@]+@[^<>\s@]+>/u.exec(markdown.slice(index));
748
+ if (emailAutolink && !isMarkdownEscaped(markdown, index)) {
749
+ ranges.push({
750
+ start: index,
751
+ end: index + emailAutolink[0].length
752
+ });
753
+ index += emailAutolink[0].length - 1;
754
+ }
964
755
  }
965
756
  }
966
757
  return ranges;
967
758
  }
968
- function findMatrixMarkdownMetadataRanges(markdown) {
759
+ function prepareMatrixMarkdownSource(markdown) {
969
760
  const env = {};
970
761
  const tokens = spoilerParser.parse(markdown, env);
971
762
  const references = new Set(Object.keys(env.references ?? {}));
972
763
  const lineStarts = [0];
973
764
  for (let index = 0; index < markdown.length; index += 1) if (markdown[index] === "\n") lineStarts.push(index + 1);
974
765
  lineStarts.push(markdown.length);
975
- const ranges = tokens.flatMap((token) => {
766
+ const inlineRanges = tokens.flatMap((token) => {
976
767
  if (token.type !== "inline" || !token.map) return [];
977
- const start = lineStarts[token.map[0]] ?? 0;
978
- const end = lineStarts[token.map[1]] ?? markdown.length;
979
- return findInlineMetadataRanges(markdown.slice(start, end), references).map((range) => ({
980
- start: start + range.start,
981
- end: start + range.end
982
- }));
768
+ return [{
769
+ start: lineStarts[token.map[0]] ?? 0,
770
+ end: lineStarts[token.map[1]] ?? markdown.length
771
+ }];
983
772
  });
773
+ const ranges = inlineRanges.flatMap(({ start, end }) => findInlineMetadataRanges(markdown.slice(start, end), references).map((range) => ({
774
+ start: start + range.start,
775
+ end: start + range.end
776
+ })));
984
777
  for (const match of markdown.matchAll(/^\s*\[[^\]\n]+\]:\s*.+$/gmu)) {
985
778
  const start = match.index ?? 0;
986
779
  const labelEnd = match[0].indexOf("]:");
@@ -1000,33 +793,29 @@ function findMatrixMarkdownMetadataRanges(markdown) {
1000
793
  start: match.index,
1001
794
  end: match.lastIndex
1002
795
  });
1003
- return ranges;
796
+ return {
797
+ markdown,
798
+ inlineRanges,
799
+ tableRanges: matrixTableSourceRangesFromTokens(tokens, lineStarts, markdown.length),
800
+ metadataRanges: ranges,
801
+ codeRegions,
802
+ underlineTags: [...tokenizeHtmlTags(markdown)].filter((tag) => tag.name === "u" || tag.name === "ins")
803
+ };
1004
804
  }
1005
- function findMatrixSpoilerDelimiterOffsets(markdown) {
1006
- const projected = projectMatrixMarkdown(markdown);
1007
- if (!projected.includes("||")) return [];
1008
- const tokens = spoilerParser.parse(projected, {});
1009
- const lineStarts = [0];
1010
- for (let index = 0; index < projected.length; index += 1) if (projected[index] === "\n") lineStarts.push(index + 1);
1011
- lineStarts.push(projected.length);
805
+ function findMatrixSpoilerDelimiterOffsets(source) {
806
+ const { markdown, inlineRanges, codeRegions, metadataRanges, underlineTags } = source;
1012
807
  const excludedRanges = [
1013
- ...findCodeRegions(projected),
1014
- ...findMatrixMarkdownMetadataRanges(projected),
1015
- ...[...tokenizeHtmlTags(projected)].flatMap((tag) => tag.name === "u" || tag.name === "ins" ? [{
1016
- start: tag.start,
1017
- end: tag.end
1018
- }] : [])
808
+ ...codeRegions,
809
+ ...metadataRanges,
810
+ ...underlineTags
1019
811
  ];
1020
812
  const offsets = [];
1021
- for (const token of tokens) {
1022
- if (token.type !== "inline" || !token.map) continue;
1023
- const start = lineStarts[token.map[0]] ?? 0;
1024
- const end = lineStarts[token.map[1]] ?? projected.length;
813
+ for (const { start, end } of inlineRanges) {
1025
814
  const candidates = [];
1026
815
  for (let index = start; index < end - 1; index += 1) {
1027
- if (projected[index] !== "|" || projected[index + 1] !== "|") continue;
816
+ if (markdown[index] !== "|" || markdown[index + 1] !== "|") continue;
1028
817
  const excluded = excludedRanges.some((range) => index >= range.start && index < range.end);
1029
- if (isMarkdownEscaped(projected, index) || excluded) continue;
818
+ if (isMarkdownEscaped(markdown, index) || excluded) continue;
1030
819
  candidates.push(index);
1031
820
  index += 1;
1032
821
  }
@@ -1035,20 +824,34 @@ function findMatrixSpoilerDelimiterOffsets(markdown) {
1035
824
  }
1036
825
  return [...new Set(offsets)].toSorted((left, right) => left - right);
1037
826
  }
1038
- function hasMatrixSpoilerMetadataCollision(markdown) {
1039
- const projected = projectMatrixMarkdown(markdown);
1040
- if (!projected.includes("||")) return false;
1041
- const ordinary = new Set(findMatrixSpoilerDelimiterOffsets(projected));
1042
- const underlineTags = [...tokenizeHtmlTags(projected)].filter((tag) => (tag.name === "u" || tag.name === "ins") && !isMarkdownEscaped(projected, tag.start));
1043
- const literalRanges = [...findMatrixTableSourceRanges(projected), ...findCodeRegions(projected).filter((code) => !underlineTags.some((tag) => code.start > tag.start && code.start < tag.end))];
1044
- for (let index = 0; index < projected.length - 1; index += 1) {
1045
- if (projected[index] !== "|" || projected[index + 1] !== "|") continue;
1046
- if (ordinary.has(index) || isMarkdownEscaped(projected, index)) continue;
827
+ function hasMatrixSpoilerMetadataCollision(source, offsets) {
828
+ const { markdown, codeRegions } = source;
829
+ const ordinary = new Set(offsets);
830
+ const underlineTags = source.underlineTags.filter((tag) => !isMarkdownEscaped(markdown, tag.start));
831
+ const literalRanges = [...source.tableRanges, ...codeRegions.filter((code) => !underlineTags.some((tag) => code.start > tag.start && code.start < tag.end))];
832
+ for (let index = 0; index < markdown.length - 1; index += 1) {
833
+ if (markdown[index] !== "|" || markdown[index + 1] !== "|") continue;
834
+ if (ordinary.has(index) || isMarkdownEscaped(markdown, index)) continue;
1047
835
  if (literalRanges.some((range) => index >= range.start && index < range.end)) continue;
1048
836
  return true;
1049
837
  }
1050
838
  return false;
1051
839
  }
840
+ function analyzeMatrixSpoilers(markdown) {
841
+ const projected = projectMatrixMarkdown(markdown);
842
+ if (!projected.includes("||")) return {
843
+ markdown: projected,
844
+ delimiterOffsets: [],
845
+ metadataCollision: false
846
+ };
847
+ const source = prepareMatrixMarkdownSource(projected);
848
+ const delimiterOffsets = findMatrixSpoilerDelimiterOffsets(source);
849
+ return {
850
+ markdown: projected,
851
+ delimiterOffsets,
852
+ metadataCollision: hasMatrixSpoilerMetadataCollision(source, delimiterOffsets)
853
+ };
854
+ }
1052
855
  //#endregion
1053
856
  //#region extensions/matrix/src/matrix/format.ts
1054
857
  const MATRIX_STYLE_MARKERS = {
@@ -1108,48 +911,21 @@ md.renderer.rules.image = (tokens, idx, options, env, self) => {
1108
911
  md.renderer.rules.html_block = (tokens, idx) => escapeHtml(tokens[idx]?.content ?? "");
1109
912
  md.renderer.rules.html_inline = (tokens, idx) => escapeHtml(tokens[idx]?.content ?? "");
1110
913
  md.renderer.rules.text_special = (tokens, idx) => escapeHtml(tokens[idx]?.content ?? "");
914
+ md.renderer.rules.matrix_escaped_mention = () => "@";
915
+ md.core.ruler.before("text_join", "matrix_escaped_mentions", (state) => {
916
+ preserveEscapedMentionTokens(state.tokens);
917
+ });
1111
918
  md.renderer.rules.link_open = (tokens, idx, _options, _env, self) => shouldSuppressAutoLink(tokens, idx) ? "" : self.renderToken(tokens, idx, _options);
1112
919
  md.renderer.rules.link_close = (tokens, idx, _options, _env, self) => {
1113
920
  const openIdx = idx - 2;
1114
921
  if (openIdx >= 0 && shouldSuppressAutoLink(tokens, openIdx)) return "";
1115
922
  return self.renderToken(tokens, idx, _options);
1116
923
  };
1117
- function maskEscapedMentions(markdown) {
1118
- let masked = "";
1119
- let idx = 0;
1120
- let codeFenceLength = 0;
1121
- let marker;
1122
- const metadataRanges = markdown.includes("\\@") ? findMatrixMarkdownMetadataRanges(markdown) : [];
1123
- while (idx < markdown.length) {
1124
- if (markdown[idx] === "`" && !isMarkdownEscaped(markdown, idx)) {
1125
- let runLength = 1;
1126
- while (markdown[idx + runLength] === "`") runLength += 1;
1127
- if (codeFenceLength === 0) codeFenceLength = runLength;
1128
- else if (runLength === codeFenceLength) codeFenceLength = 0;
1129
- masked += markdown.slice(idx, idx + runLength);
1130
- idx += runLength;
1131
- continue;
1132
- }
1133
- if (codeFenceLength === 0 && markdown[idx] === "\\" && markdown[idx + 1] === "@" && !metadataRanges.some((range) => idx >= range.start && idx < range.end)) {
1134
- marker ??= createMatrixPrivateMarkers(markdown, "Matrix mention formatting exhausted its private marker pool").open;
1135
- masked += marker;
1136
- idx += 2;
1137
- continue;
1138
- }
1139
- masked += markdown[idx] ?? "";
1140
- idx += 1;
924
+ function preserveEscapedMentionTokens(tokens) {
925
+ for (const token of tokens) {
926
+ if (token.type === "text_special" && token.info === "escape" && token.content === "@") token.type = "matrix_escaped_mention";
927
+ if (token.children) preserveEscapedMentionTokens(token.children);
1141
928
  }
1142
- return {
1143
- markdown: masked,
1144
- ...marker ? { marker } : {}
1145
- };
1146
- }
1147
- function restoreEscapedMentions(text, marker, inCode = false) {
1148
- return marker ? text.replaceAll(marker, inCode ? "\\@" : "@") : text;
1149
- }
1150
- function restoreEscapedMentionsInBlockTokens(tokens, marker) {
1151
- if (!marker) return;
1152
- for (const token of tokens) if ((token.type === "fence" || token.type === "code_block") && token.content) token.content = restoreEscapedMentions(token.content, marker, true);
1153
929
  }
1154
930
  function isMentionStartBoundary(charBefore) {
1155
931
  return !charBefore || !/[A-Za-z0-9_]/.test(charBefore);
@@ -1292,7 +1068,6 @@ async function resolveMatrixSelfUserId(client) {
1292
1068
  }
1293
1069
  function mutateInlineTokensWithMentions(params) {
1294
1070
  const nextChildren = [];
1295
- const restoreMention = (text) => restoreEscapedMentions(text, params.escapedMentionMarker);
1296
1071
  let roomMentioned = false;
1297
1072
  let insideLinkDepth = 0;
1298
1073
  for (const child of params.children) {
@@ -1307,23 +1082,21 @@ function mutateInlineTokensWithMentions(params) {
1307
1082
  continue;
1308
1083
  }
1309
1084
  if (child.type !== "text" || !child.content) {
1310
- for (const nested of child.children ?? []) nested.content = restoreMention(nested.content);
1311
1085
  nextChildren.push(child);
1312
1086
  continue;
1313
1087
  }
1314
- const visibleContent = restoreMention(child.content);
1315
1088
  if (insideLinkDepth > 0) {
1316
- nextChildren.push(createTextToken(child, visibleContent));
1089
+ nextChildren.push(child);
1317
1090
  continue;
1318
1091
  }
1319
1092
  const matches = collectMentionCandidates(child.content);
1320
1093
  if (matches.length === 0) {
1321
- nextChildren.push(createTextToken(child, visibleContent));
1094
+ nextChildren.push(child);
1322
1095
  continue;
1323
1096
  }
1324
1097
  let cursor = 0;
1325
1098
  for (const match of matches) {
1326
- if (match.start > cursor) nextChildren.push(createTextToken(child, restoreMention(child.content.slice(cursor, match.start))));
1099
+ if (match.start > cursor) nextChildren.push(createTextToken(child, child.content.slice(cursor, match.start)));
1327
1100
  cursor = match.end;
1328
1101
  if (match.kind === "room") {
1329
1102
  roomMentioned = true;
@@ -1345,7 +1118,7 @@ function mutateInlineTokensWithMentions(params) {
1345
1118
  label: match.raw
1346
1119
  }));
1347
1120
  }
1348
- if (cursor < child.content.length) nextChildren.push(createTextToken(child, restoreMention(child.content.slice(cursor))));
1121
+ if (cursor < child.content.length) nextChildren.push(createTextToken(child, child.content.slice(cursor)));
1349
1122
  }
1350
1123
  return {
1351
1124
  children: nextChildren,
@@ -1380,13 +1153,14 @@ function compactLooseListTokens(tokens) {
1380
1153
  }
1381
1154
  }
1382
1155
  function markdownToMatrixHtml(markdown, options = {}) {
1383
- if (hasMatrixSpoilerMetadataCollision(markdown)) return renderMatrixFallbackHtml(markdown);
1384
- const tokens = parseMatrixMarkdown(projectMatrixMarkdown(markdown), options.tableMode);
1156
+ const analysis = analyzeMatrixSpoilers(markdown);
1157
+ if (analysis.metadataCollision) return renderMatrixFallbackHtml(analysis);
1158
+ const tokens = parseMatrixMarkdown(analysis, options.tableMode);
1385
1159
  compactLooseListTokens(tokens);
1386
1160
  return md.renderer.render(tokens, md.options, {}).trimEnd();
1387
1161
  }
1388
- function protectMatrixSpoilerDelimiters(markdown) {
1389
- const offsets = findMatrixSpoilerDelimiterOffsets(markdown);
1162
+ function protectMatrixSpoilerDelimiters(analysis) {
1163
+ const { markdown, delimiterOffsets: offsets } = analysis;
1390
1164
  if (offsets.length === 0) return { markdown };
1391
1165
  const markers = createMatrixPrivateMarkers(markdown, "Matrix spoiler formatting exhausted its private marker pool");
1392
1166
  let protectedMarkdown = "";
@@ -1402,8 +1176,8 @@ function protectMatrixSpoilerDelimiters(markdown) {
1402
1176
  markers
1403
1177
  };
1404
1178
  }
1405
- function parseMatrixMarkdown(markdown, tableMode) {
1406
- const protectedSpoilers = protectMatrixSpoilerDelimiters(markdown);
1179
+ function parseMatrixMarkdown(analysis, tableMode) {
1180
+ const protectedSpoilers = protectMatrixSpoilerDelimiters(analysis);
1407
1181
  if (tableMode === "off") md.disable("table");
1408
1182
  try {
1409
1183
  return md.parse(protectedSpoilers.markdown, { matrixSpoilerMarkers: protectedSpoilers.markers });
@@ -1412,9 +1186,10 @@ function parseMatrixMarkdown(markdown, tableMode) {
1412
1186
  }
1413
1187
  }
1414
1188
  function markdownToMatrixBody(markdown) {
1415
- const projected = projectMatrixMarkdown(markdown);
1416
- const offsets = findMatrixSpoilerDelimiterOffsets(projected);
1417
- const metadataCollision = hasMatrixSpoilerMetadataCollision(projected);
1189
+ return renderMatrixBody(analyzeMatrixSpoilers(markdown));
1190
+ }
1191
+ function renderMatrixBody(analysis) {
1192
+ const { markdown: projected, delimiterOffsets: offsets, metadataCollision } = analysis;
1418
1193
  if (offsets.length === 0 && !metadataCollision) return projected;
1419
1194
  let body = projected;
1420
1195
  if (metadataCollision) body = "[Spoiler]";
@@ -1433,13 +1208,11 @@ function markdownToMatrixBody(markdown) {
1433
1208
  escapeText: (text) => text
1434
1209
  }, MATRIX_FORMAT_PROFILE);
1435
1210
  }
1436
- function renderMatrixFallbackHtml(markdown) {
1437
- return `<p>${escapeHtml(markdownToMatrixBody(markdown)).replaceAll("\n", "<br>\n")}</p>`;
1211
+ function renderMatrixFallbackHtml(analysis) {
1212
+ return `<p>${escapeHtml(renderMatrixBody(analysis)).replaceAll("\n", "<br>\n")}</p>`;
1438
1213
  }
1439
1214
  async function resolveMarkdownMentionState(params) {
1440
- const { markdown, marker } = maskEscapedMentions(projectMatrixMarkdown(params.markdown));
1441
- const tokens = parseMatrixMarkdown(markdown, params.tableMode);
1442
- restoreEscapedMentionsInBlockTokens(tokens, marker);
1215
+ const tokens = parseMatrixMarkdown(params.analysis, params.tableMode);
1443
1216
  const selfUserId = await resolveMatrixSelfUserId(params.client);
1444
1217
  const userIds = [];
1445
1218
  const seenUserIds = /* @__PURE__ */ new Set();
@@ -1450,8 +1223,7 @@ async function resolveMarkdownMentionState(params) {
1450
1223
  children: token.children,
1451
1224
  userIds,
1452
1225
  seenUserIds,
1453
- selfUserId,
1454
- escapedMentionMarker: marker
1226
+ selfUserId
1455
1227
  });
1456
1228
  token.children = mutated.children;
1457
1229
  roomMentioned ||= mutated.roomMentioned;
@@ -1465,18 +1237,25 @@ async function resolveMarkdownMentionState(params) {
1465
1237
  };
1466
1238
  }
1467
1239
  async function resolveMatrixMentionsInMarkdown(params) {
1468
- return (await resolveMarkdownMentionState(params)).mentions;
1240
+ return (await resolveMarkdownMentionState({
1241
+ analysis: analyzeMatrixSpoilers(params.markdown),
1242
+ client: params.client
1243
+ })).mentions;
1469
1244
  }
1470
1245
  async function renderMarkdownToMatrixHtmlWithMentions(params) {
1471
- const state = await resolveMarkdownMentionState(params);
1472
- if (hasMatrixSpoilerMetadataCollision(params.markdown)) {
1473
- const redacted = markdownToMatrixBody(params.markdown);
1246
+ const analysis = analyzeMatrixSpoilers(params.markdown);
1247
+ const state = await resolveMarkdownMentionState({
1248
+ ...params,
1249
+ analysis
1250
+ });
1251
+ if (analysis.metadataCollision) {
1252
+ const redacted = renderMatrixBody(analysis);
1474
1253
  const redactedState = await resolveMarkdownMentionState({
1475
1254
  ...params,
1476
- markdown: redacted
1255
+ analysis: analyzeMatrixSpoilers(redacted)
1477
1256
  });
1478
1257
  return {
1479
- html: renderMatrixFallbackHtml(params.markdown),
1258
+ html: renderMatrixFallbackHtml(analysis),
1480
1259
  mentions: redactedState.mentions
1481
1260
  };
1482
1261
  }
@@ -1499,9 +1278,8 @@ function resolveMatrixChunkOverflow(chunk, limit) {
1499
1278
  return Math.max(0, renderedLength - limit);
1500
1279
  }
1501
1280
  function protectMatrixUnderlineTags(markdown) {
1502
- const codeRegions = findCodeRegions(markdown);
1503
- const metadataRanges = findMatrixMarkdownMetadataRanges(markdown);
1504
- const tags = [...tokenizeHtmlTags(markdown)].filter((tag) => (tag.name === "u" || tag.name === "ins") && !tag.selfClosing && !isInsideCode(tag.start, codeRegions) && !isMarkdownEscaped(markdown, tag.start) && !metadataRanges.some((range) => tag.start >= range.start && tag.start < range.end));
1281
+ const { codeRegions, metadataRanges, underlineTags } = prepareMatrixMarkdownSource(markdown);
1282
+ const tags = underlineTags.filter((tag) => !tag.selfClosing && !isInsideCode(tag.start, codeRegions) && !isMarkdownEscaped(markdown, tag.start) && !metadataRanges.some((range) => tag.start >= range.start && tag.start < range.end));
1505
1283
  if (tags.length === 0) return { markdown };
1506
1284
  const markers = createMatrixPrivateMarkers(markdown, "Matrix underline chunking exhausted its private marker pool");
1507
1285
  let depth = 0;
@@ -1528,24 +1306,23 @@ function protectMatrixUnderlineTags(markdown) {
1528
1306
  };
1529
1307
  }
1530
1308
  function restoreMatrixStyleChunks(chunks, spoiler, underline) {
1309
+ if (!spoiler && !underline) return chunks;
1531
1310
  const stack = [];
1532
1311
  const syntax = {
1533
1312
  spoiler: {
1534
1313
  open: "||",
1535
- close: "||",
1536
- markers: spoiler
1314
+ close: "||"
1537
1315
  },
1538
1316
  underline: {
1539
1317
  open: "<u>",
1540
- close: "</u>",
1541
- markers: underline
1318
+ close: "</u>"
1542
1319
  }
1543
1320
  };
1544
1321
  return chunks.map((chunk) => {
1545
1322
  let restored = stack.map((style) => syntax[style].open).join("");
1546
1323
  for (const character of chunk) {
1547
- const opening = Object.keys(syntax).find((style) => character === syntax[style].markers?.open);
1548
- const closing = Object.keys(syntax).find((style) => character === syntax[style].markers?.close);
1324
+ const opening = character === spoiler?.open ? "spoiler" : character === underline?.open ? "underline" : void 0;
1325
+ const closing = character === spoiler?.close ? "spoiler" : character === underline?.close ? "underline" : void 0;
1549
1326
  if (opening) {
1550
1327
  stack.push(opening);
1551
1328
  restored += syntax[opening].open;
@@ -1620,10 +1397,12 @@ function chunkMatrixText(text, opts) {
1620
1397
  };
1621
1398
  const cfg = requireRuntimeConfig(opts.cfg, "Matrix text chunking");
1622
1399
  const chunkMode = getMatrixRuntime().channel.text.resolveChunkMode(cfg, "matrix", opts.accountId);
1623
- const collisionRedacted = hasMatrixSpoilerMetadataCollision(preparedText.convertedText) ? markdownToMatrixBody(preparedText.convertedText) : void 0;
1400
+ const analysis = analyzeMatrixSpoilers(preparedText.convertedText);
1401
+ const collisionRedacted = analysis.metadataCollision ? renderMatrixBody(analysis) : void 0;
1624
1402
  const chunkSegment = (segmentText) => {
1625
- const protectedUnderline = protectMatrixUnderlineTags(hasMatrixSpoilerMetadataCollision(segmentText) ? markdownToMatrixBody(segmentText) : segmentText);
1626
- const protectedSpoilers = protectMatrixSpoilerDelimiters(protectedUnderline.markdown);
1403
+ const segmentAnalysis = analyzeMatrixSpoilers(segmentText);
1404
+ const protectedUnderline = protectMatrixUnderlineTags(segmentAnalysis.metadataCollision ? renderMatrixBody(segmentAnalysis) : segmentText);
1405
+ const protectedSpoilers = protectMatrixSpoilerDelimiters(analyzeMatrixSpoilers(protectedUnderline.markdown));
1627
1406
  const wrapperReserve = (protectedSpoilers.markers ? 4 : 0) + (protectedUnderline.markers ? 7 : 0);
1628
1407
  const privateMarkers = [protectedSpoilers.markers, protectedUnderline.markers].flatMap((markers) => markers ? [
1629
1408
  markers.open,
@@ -1661,7 +1440,8 @@ const MATRIX_MEDIA_KINDS = {
1661
1440
  "m.video": "video"
1662
1441
  };
1663
1442
  function resolveMatrixMediaKind(msgtype) {
1664
- return MATRIX_MEDIA_KINDS[msgtype ?? ""] ?? null;
1443
+ const key = msgtype ?? "";
1444
+ return Object.hasOwn(MATRIX_MEDIA_KINDS, key) ? MATRIX_MEDIA_KINDS[key] : void 0;
1665
1445
  }
1666
1446
  function resolveMatrixMediaLabel(kind, fallback = "media") {
1667
1447
  return `${kind ?? fallback} attachment`;
@@ -2040,30 +1820,6 @@ var send_exports = /* @__PURE__ */ __exportAll({
2040
1820
  sendSingleTextMessageMatrix: () => sendSingleTextMessageMatrix,
2041
1821
  sendTypingMatrix: () => sendTypingMatrix
2042
1822
  });
2043
- function createMatrixSendReceipt(params) {
2044
- const firstEvent = params.events[0];
2045
- const receipt = createMessageReceiptFromOutboundResults({
2046
- kind: firstEvent?.kind ?? "text",
2047
- ...firstEvent?.replyToId ? { replyToId: firstEvent.replyToId } : {},
2048
- ...params.threadId ? { threadId: params.threadId } : {},
2049
- results: params.events.map(({ messageId }) => ({
2050
- channel: "matrix",
2051
- messageId,
2052
- roomId: params.roomId
2053
- }))
2054
- });
2055
- receipt.parts = receipt.parts.map((part, index) => {
2056
- const event = params.events[index];
2057
- const actualPart = {
2058
- ...part,
2059
- kind: event.kind
2060
- };
2061
- if (event.replyToId) actualPart.replyToId = event.replyToId;
2062
- else delete actualPart.replyToId;
2063
- return actualPart;
2064
- });
2065
- return receipt;
2066
- }
2067
1823
  function isMatrixClient(value) {
2068
1824
  return typeof value.sendEvent === "function";
2069
1825
  }
@@ -2116,7 +1872,9 @@ async function sendMessageMatrix(to, message, opts) {
2116
1872
  client: opts.client,
2117
1873
  cfg: opts.cfg,
2118
1874
  timeoutMs: opts.timeoutMs,
2119
- accountId: opts.accountId
1875
+ accountId: opts.accountId,
1876
+ signal: opts.signal,
1877
+ assertDirectAdapterHandoff: opts.assertDirectAdapterHandoff
2120
1878
  }, async (client) => {
2121
1879
  const roomId = await resolveMatrixRoomId(client, to);
2122
1880
  const wireEventType = await client.prepareRoomForMessageSend(roomId);
@@ -2240,11 +1998,6 @@ async function sendMessageMatrix(to, message, opts) {
2240
1998
  }));
2241
1999
  }
2242
2000
  if (opts.mediaUrl) await client.prepareRoomForMessageSend(roomId, plannedEvents[0]?.content);
2243
- let platformDispatchStarted = false;
2244
- if (!durableIdentity) {
2245
- await opts.onPlatformSendDispatch?.();
2246
- platformDispatchStarted = true;
2247
- }
2248
2001
  const acceptedEvents = [];
2249
2002
  const acceptedContents = [];
2250
2003
  let lastMessageId = "";
@@ -2259,11 +2012,8 @@ async function sendMessageMatrix(to, message, opts) {
2259
2012
  events: plannedEvents,
2260
2013
  dispatch
2261
2014
  });
2262
- if (!platformDispatchStarted) {
2263
- await opts.onPlatformSendDispatch?.();
2264
- platformDispatchStarted = true;
2265
- }
2266
- } : void 0);
2015
+ await opts.onPlatformSendDispatch?.();
2016
+ } : opts.onPlatformSendDispatch);
2267
2017
  lastMessageId = eventId || lastMessageId;
2268
2018
  if (!eventId) continue;
2269
2019
  const eventReplyToId = resolveMatrixReplyToEventId(planned.content);
@@ -2466,4 +2216,4 @@ async function reactMatrixMessage(roomId, messageId, emoji, opts) {
2466
2216
  });
2467
2217
  }
2468
2218
  //#endregion
2469
- export { promoteMatrixDirectRoomCandidate as A, parsePollStart as C, reconcileMatrixUnknownSend as D, cleanupMatrixDeliveryPlans as E, resolveMatrixRoomId as O, isPollStartType as S, resolvePollReferenceEventId as T, buildPollResponseContent as _, sendSingleTextMessageMatrix as a, formatPollResultsAsText as b, formatMatrixMediaTooLargeText as c, isLikelyBareFilename as d, resolveMatrixMessageAttachment as f, resolveMatrixThreadRootId as g, resolveMatrixReplyToEventId as h, sendPollMatrix as i, repairMatrixDirectRooms as j, direct_management_exports as k, formatMatrixMediaUnavailableText as l, prepareMatrixSingleText as m, reactMatrixMessage as n, sendTypingMatrix as o, resolveMatrixReplacementContent as p, sendMessageMatrix as r, send_exports as s, editMessageMatrix as t, formatMatrixMessageText as u, buildPollResultsSummary as v, parsePollStartContent as w, isPollEventType as x, formatPollAsText as y };
2219
+ export { resolvePollReferenceEventId as C, resolveMatrixRoomId as E, parsePollStartContent as S, reconcileMatrixUnknownSend as T, formatPollAsText as _, sendSingleTextMessageMatrix as a, isPollStartType as b, formatMatrixMediaTooLargeText as c, isLikelyBareFilename as d, resolveMatrixMessageAttachment as f, buildPollResultsSummary as g, buildPollResponseContent as h, sendPollMatrix as i, formatMatrixMediaUnavailableText as l, prepareMatrixSingleText as m, reactMatrixMessage as n, sendTypingMatrix as o, resolveMatrixReplacementContent as p, sendMessageMatrix as r, send_exports as s, editMessageMatrix as t, formatMatrixMessageText as u, formatPollResultsAsText as v, cleanupMatrixDeliveryPlans as w, parsePollStart as x, isPollEventType as y };