@openclaw/matrix 2026.9.4 → 2026.9.6

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 (986) 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-BHkfU1eC.mjs} +12 -3
  4. package/dist/{accounts-GwSAk9vY.js → .setup/accounts-iThMol10.mjs} +39 -38
  5. package/dist/{approval-handler.runtime-6I3IpyeX.js → .setup/approval-handler.runtime-9W7R2ZMq.mjs} +16 -15
  6. package/dist/{approval-ids-C4NdeXNz.js → .setup/approval-ids-j08q8LEG.mjs} +1 -1
  7. package/dist/{approval-reaction-auth-cbltZAUQ.js → .setup/approval-reaction-auth-DMVE7VSp.mjs} +7 -3
  8. package/dist/{approval-reactions-1fwEhoK9.js → .setup/approval-reactions-B0hfA6qz.mjs} +6 -6
  9. package/dist/{channel-Cg97H4c1.js → .setup/channel-ConuJfxT.mjs} +59 -38
  10. package/dist/{channel.runtime-Bhpfa1qc.js → .setup/channel.runtime-CnxR2JUK.mjs} +6 -6
  11. package/dist/{channel.setup-DmS7m7aT.js → .setup/channel.setup-C6KvBV8l.mjs} +9 -5
  12. package/dist/{cli-CLexRrQw.js → .setup/cli-O196sg8g.mjs} +19 -19
  13. package/dist/{cli-metadata-zRyVmUOL.js → .setup/cli-metadata-DFHQj5XR.mjs} +1 -1
  14. package/dist/{client-C0nZFCTj.js → .setup/client-C2yVkVdw.mjs} +5 -3
  15. package/dist/{client-CPcRv6ab.js → .setup/client-ChrXpxos.mjs} +170 -109
  16. package/dist/{client-bootstrap-DLN-K8Xb.js → .setup/client-bootstrap-BSnUAoz1.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-CHxcron_.mjs +67 -0
  20. package/dist/{credentials-DysXbkv2.js → .setup/credentials-BGKfiaJW.mjs} +40 -17
  21. package/dist/{credentials-read-WWpqi88V.js → .setup/credentials-read-Q5sHkkHv.mjs} +30 -9
  22. package/dist/{credentials-write.runtime-D22lPwRO.js → .setup/credentials-write.runtime-DxbXh-pK.mjs} +1 -1
  23. package/dist/{crypto-runtime-DiyH4R3D.js → .setup/crypto-runtime-D9qn_Pbj.mjs} +6 -7
  24. package/dist/{crypto-snapshot-doctor.runtime-DxgUMXUy.js → .setup/crypto-snapshot-doctor.runtime-CMWa1d9Y.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-B8-GAVcc.js → .setup/directory-live-CxqkcYbT.mjs} +8 -6
  28. package/dist/{doctor-CJE8wO6y.js → .setup/doctor-BLCvdOFo.mjs} +1 -1
  29. package/dist/{draft-stream--NdEtnZ8.js → .setup/draft-stream-y0Vq5f38.mjs} +22 -6
  30. package/dist/{encryption-guidance-mDyxJV9U.js → .setup/encryption-guidance-CMWXiBzJ.mjs} +2 -2
  31. package/dist/.setup/file-sync-store-CsalA4yI.mjs +213 -0
  32. package/dist/{http-client-BfPeF4CE.js → .setup/http-client-Bi6uKmzh.mjs} +90 -9
  33. package/dist/{idb-persistence-DBdwHSWg.js → .setup/idb-persistence-c8uxcofH.mjs} +12 -8
  34. package/dist/{inbound-dedupe-Ch33GU06.js → .setup/inbound-dedupe-BSlv35xl.mjs} +1 -1
  35. package/dist/.setup/joined-room-encryption-BCtxQ3hR.mjs +67 -0
  36. package/dist/{logger-B_71hN6W.js → .setup/logger-xBjiRIp1.mjs} +1 -1
  37. package/dist/{logging-DRjvUOIh.js → .setup/logging-rgm8ep9H.mjs} +2 -2
  38. package/dist/{messages-CpZfiQO0.js → .setup/messages-COuAcrz-.mjs} +12 -5
  39. package/dist/{monitor-BUek91SW.js → .setup/monitor-CzE3myC_.mjs} +224 -476
  40. package/dist/{outbound-D91JinYa.js → .setup/outbound-B508VPBM.mjs} +12 -4
  41. package/dist/.setup/probe.runtime-C-NMeYk2.mjs +2 -0
  42. package/dist/{profile-vmjsmhh4.js → .setup/profile-ClrB3IgR.mjs} +1 -1
  43. package/dist/{profile-update-vnhxwjEt.js → .setup/profile-update-DrblJttE.mjs} +4 -4
  44. package/dist/{reaction-events-2WM2nJe_.js → .setup/reaction-events-BvZmhjLC.mjs} +8 -7
  45. package/dist/{resolve-targets-K8D0HWPX.js → .setup/resolve-targets-BLz748lX.mjs} +3 -3
  46. package/dist/{resolver.runtime-C88GwQCx.js → .setup/resolver.runtime-CuLQ2uHe.mjs} +1 -1
  47. package/dist/{room-info-BPVJkXnp.js → .setup/room-info-DTyP1k5g.mjs} +4 -4
  48. package/dist/.setup/runtime-1kn1P6io.mjs +29 -0
  49. package/dist/.setup/runtime-setter-api-DtxDAM-x.mjs +3 -0
  50. package/dist/{sdk-B4By16Bt.js → .setup/sdk-rqFjgltR.mjs} +523 -503
  51. package/dist/{secret-contract-CufozuyJ.js → .setup/secret-contract-JlB6VmI3.mjs} +1 -1
  52. package/dist/.setup/secret-contract-api-B-iJoQEv.mjs +3 -0
  53. package/dist/{send-UWLIQ0bG.js → .setup/send-aVdC5NJO.mjs} +218 -439
  54. package/dist/{reaction-common-DkrQdBSZ.js → .setup/send-currentness-BrGXL7b8.mjs} +20 -1
  55. package/dist/{setup-bootstrap-sVqkwtSY.js → .setup/setup-bootstrap-A_WGFq1Y.mjs} +3 -3
  56. package/dist/{setup-core-8keb-Yre.js → .setup/setup-core-D2hMbIi3.mjs} +7 -7
  57. package/dist/.setup/setup-plugin-api-JiRgm8s6.mjs +3 -0
  58. package/dist/{setup-surface-bcluelBI.js → .setup/setup-surface-BL3ha1l-.mjs} +12 -12
  59. package/dist/{startup-verification-BTSf31hS.js → .setup/startup-verification-Cp1Gf7pM.mjs} +8 -8
  60. package/dist/{storage-CV-pfV_2.js → .setup/storage-BXaFc0S4.mjs} +97 -93
  61. package/dist/{storage-metadata-DYArLcq1.js → .setup/storage-metadata-fHN6Df2m.mjs} +74 -83
  62. package/dist/{subagent-hooks-DeICLbU5.js → .setup/subagent-hooks-jFgft_Mr.mjs} +1 -1
  63. package/dist/{sync-cache-state-C-mhj3xb.js → .setup/sync-cache-state-BMtGMxU1.mjs} +31 -44
  64. package/dist/{thread-binding-api-CzkeLZCU.js → .setup/thread-binding-api-DRMC62cs.mjs} +1 -1
  65. package/dist/{thread-bindings-Bwv87Gve.js → .setup/thread-bindings-JlnLDfPM.mjs} +8 -8
  66. package/dist/{tool-actions.runtime-Bf98Juk6.js → .setup/tool-actions.runtime-REzYTNxm.mjs} +29 -14
  67. package/dist/{verification-BbG-VC9S.js → .setup/verification-0o8MOW9T.mjs} +4 -3
  68. package/dist/api.js +8 -8
  69. package/dist/auth-presence.js +1 -1
  70. package/dist/channel-plugin-api.js +1 -1
  71. package/dist/cli-metadata.js +1 -1
  72. package/dist/contract-api.js +2 -2
  73. package/dist/doctor-contract-api.js +10 -10
  74. package/dist/helper-api.js +4 -4
  75. package/dist/index.js +4 -1
  76. package/dist/plugin-entry.handlers.runtime.js +1 -1
  77. package/dist/runtime-api.js +6 -6
  78. package/dist/runtime-setter-api.js +2 -2
  79. package/dist/secret-contract-api.js +1 -1
  80. package/dist/session-binding-contract-api.js +2 -2
  81. package/dist/setup-entry.js +4 -3
  82. package/dist/setup-plugin-api.js +1 -1
  83. package/dist/subagent-hooks-api.js +1 -1
  84. package/dist/thread-binding-api.js +1 -1
  85. package/dist/thread-bindings-runtime.js +1 -1
  86. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/package.json +1 -1
  87. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.cjs +17 -17
  88. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.js +17 -17
  89. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm +0 -0
  90. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm.d.ts +5 -5
  91. package/node_modules/markdown-it/dist/browser/markdown-it.esm.min.mjs +442 -434
  92. package/node_modules/markdown-it/dist/browser/markdown-it.esm.min.mjs.map +1 -1
  93. package/node_modules/markdown-it/dist/browser/markdown-it.umd.min.js +2 -2
  94. package/node_modules/markdown-it/dist/browser/markdown-it.umd.min.js.map +1 -1
  95. package/node_modules/markdown-it/dist/markdown-it.cjs.js +32 -16
  96. package/node_modules/markdown-it/dist/markdown-it.cjs.js.map +1 -1
  97. package/node_modules/markdown-it/dist/markdown-it.mjs +32 -16
  98. package/node_modules/markdown-it/dist/markdown-it.mjs.map +1 -1
  99. package/node_modules/markdown-it/node_modules/argparse/LICENSE +1 -208
  100. package/node_modules/markdown-it/node_modules/argparse/lib/argparse.js +18 -2
  101. package/node_modules/markdown-it/node_modules/argparse/package.json +2 -2
  102. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.d.ts +23 -3
  103. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.d.ts.map +1 -1
  104. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.js +52 -37
  105. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.js.map +1 -1
  106. package/node_modules/markdown-it/node_modules/entities/dist/decode.d.ts +61 -28
  107. package/node_modules/markdown-it/node_modules/entities/dist/decode.d.ts.map +1 -1
  108. package/node_modules/markdown-it/node_modules/entities/dist/decode.js +789 -201
  109. package/node_modules/markdown-it/node_modules/entities/dist/decode.js.map +1 -1
  110. package/node_modules/markdown-it/node_modules/entities/dist/encode.d.ts +4 -2
  111. package/node_modules/markdown-it/node_modules/entities/dist/encode.d.ts.map +1 -1
  112. package/node_modules/markdown-it/node_modules/entities/dist/encode.js +249 -44
  113. package/node_modules/markdown-it/node_modules/entities/dist/encode.js.map +1 -1
  114. package/node_modules/markdown-it/node_modules/entities/dist/escape.d.ts +19 -7
  115. package/node_modules/markdown-it/node_modules/entities/dist/escape.d.ts.map +1 -1
  116. package/node_modules/markdown-it/node_modules/entities/dist/escape.js +104 -64
  117. package/node_modules/markdown-it/node_modules/entities/dist/escape.js.map +1 -1
  118. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.d.ts.map +1 -1
  119. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.js +2 -2
  120. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.js.map +1 -1
  121. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.d.ts.map +1 -1
  122. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.js +4 -2
  123. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.js.map +1 -1
  124. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.d.ts +2 -4
  125. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.d.ts.map +1 -1
  126. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.js +1 -10
  127. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.js.map +1 -1
  128. package/node_modules/markdown-it/node_modules/entities/dist/index.d.ts +2 -2
  129. package/node_modules/markdown-it/node_modules/entities/dist/index.d.ts.map +1 -1
  130. package/node_modules/markdown-it/node_modules/entities/dist/index.js +2 -6
  131. package/node_modules/markdown-it/node_modules/entities/dist/index.js.map +1 -1
  132. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.d.ts +39 -8
  133. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.d.ts.map +1 -1
  134. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.js +37 -6
  135. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.js.map +1 -1
  136. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.d.ts +35 -4
  137. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.d.ts.map +1 -1
  138. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.js +189 -11
  139. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.js.map +1 -1
  140. package/node_modules/markdown-it/node_modules/entities/package.json +14 -14
  141. package/node_modules/markdown-it/node_modules/entities/src/decode-codepoint.ts +58 -39
  142. package/node_modules/markdown-it/node_modules/entities/src/decode.ts +942 -245
  143. package/node_modules/markdown-it/node_modules/entities/src/encode.ts +289 -47
  144. package/node_modules/markdown-it/node_modules/entities/src/escape.ts +110 -83
  145. package/node_modules/markdown-it/node_modules/entities/src/generated/decode-data-html.ts +8 -3
  146. package/node_modules/markdown-it/node_modules/entities/src/generated/decode-data-xml.ts +4 -4
  147. package/node_modules/markdown-it/node_modules/entities/src/generated/encode-html.ts +1 -16
  148. package/node_modules/markdown-it/node_modules/entities/src/index.ts +6 -8
  149. package/node_modules/markdown-it/node_modules/entities/src/internal/bin-trie-flags.ts +38 -7
  150. package/node_modules/markdown-it/node_modules/entities/src/internal/decode-shared.ts +203 -12
  151. package/node_modules/markdown-it/package.json +1 -1
  152. package/node_modules/matrix-js-sdk/CHANGELOG.md +15 -0
  153. package/node_modules/matrix-js-sdk/lib/client.d.ts +1 -2
  154. package/node_modules/matrix-js-sdk/lib/client.d.ts.map +1 -1
  155. package/node_modules/matrix-js-sdk/lib/client.js +16 -8
  156. package/node_modules/matrix-js-sdk/lib/client.js.map +1 -1
  157. package/node_modules/matrix-js-sdk/lib/http-api/errors.d.ts +8 -0
  158. package/node_modules/matrix-js-sdk/lib/http-api/errors.d.ts.map +1 -1
  159. package/node_modules/matrix-js-sdk/lib/http-api/errors.js +12 -0
  160. package/node_modules/matrix-js-sdk/lib/http-api/errors.js.map +1 -1
  161. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.d.ts +5 -0
  162. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -1
  163. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.js +2 -1
  164. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.js.map +1 -1
  165. package/node_modules/matrix-js-sdk/lib/oauth/authorize.d.ts +2 -4
  166. package/node_modules/matrix-js-sdk/lib/oauth/authorize.d.ts.map +1 -1
  167. package/node_modules/matrix-js-sdk/lib/oauth/authorize.js.map +1 -1
  168. package/node_modules/matrix-js-sdk/lib/oauth/error.d.ts +44 -0
  169. package/node_modules/matrix-js-sdk/lib/oauth/error.d.ts.map +1 -1
  170. package/node_modules/matrix-js-sdk/lib/oauth/error.js +53 -0
  171. package/node_modules/matrix-js-sdk/lib/oauth/error.js.map +1 -1
  172. package/node_modules/matrix-js-sdk/lib/oauth/index.d.ts.map +1 -1
  173. package/node_modules/matrix-js-sdk/lib/oauth/index.js +19 -2
  174. package/node_modules/matrix-js-sdk/lib/oauth/index.js.map +1 -1
  175. package/node_modules/matrix-js-sdk/lib/oauth/tokenRefresher.d.ts.map +1 -1
  176. package/node_modules/matrix-js-sdk/lib/oauth/tokenRefresher.js +4 -2
  177. package/node_modules/matrix-js-sdk/lib/oauth/tokenRefresher.js.map +1 -1
  178. package/node_modules/matrix-js-sdk/lib/secret-storage.d.ts +1 -1
  179. package/node_modules/matrix-js-sdk/lib/secret-storage.d.ts.map +1 -1
  180. package/node_modules/matrix-js-sdk/lib/secret-storage.js +9 -32
  181. package/node_modules/matrix-js-sdk/lib/secret-storage.js.map +1 -1
  182. package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.d.ts.map +1 -1
  183. package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.js +54 -1
  184. package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.js.map +1 -1
  185. package/node_modules/matrix-js-sdk/node_modules/@babel/runtime/package.json +1 -1
  186. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/dist/api.js +556 -311
  187. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/dist/api.min.js +1 -1
  188. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/ClientWidgetApi.d.ts +2 -0
  189. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/ClientWidgetApi.js +221 -129
  190. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/ClientWidgetApi.js.map +1 -1
  191. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/Symbols.js.map +1 -1
  192. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/WidgetApi.d.ts +37 -0
  193. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/WidgetApi.js +182 -63
  194. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/WidgetApi.js.map +1 -1
  195. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/driver/WidgetDriver.d.ts +20 -1
  196. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/driver/WidgetDriver.js +49 -20
  197. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/driver/WidgetDriver.js.map +1 -1
  198. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/index.d.ts +1 -0
  199. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/index.js.map +1 -1
  200. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ApiVersion.d.ts +2 -1
  201. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ApiVersion.js +3 -2
  202. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ApiVersion.js.map +1 -1
  203. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/Capabilities.d.ts +9 -1
  204. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/Capabilities.js +2 -0
  205. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/Capabilities.js.map +1 -1
  206. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/CapabilitiesAction.js.map +1 -1
  207. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ContentLoadedAction.js.map +1 -1
  208. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/DownloadFileAction.js.map +1 -1
  209. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/GetMediaConfigAction.js.map +1 -1
  210. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/GetOpenIDAction.js.map +1 -1
  211. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ICustomWidgetData.js.map +1 -1
  212. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IJitsiWidgetData.js.map +1 -1
  213. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IRoomAccountData.js.map +1 -1
  214. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IRoomEvent.js.map +1 -1
  215. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IStickerpickerWidgetData.js.map +1 -1
  216. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IToDeviceMessage.js.map +1 -1
  217. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IWidget.js.map +1 -1
  218. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IWidgetApiErrorResponse.js +1 -1
  219. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IWidgetApiErrorResponse.js.map +1 -1
  220. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IWidgetApiRequest.js.map +1 -1
  221. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IWidgetApiResponse.js.map +1 -1
  222. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/LanguageChangeAction.js.map +1 -1
  223. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ModalButtonKind.js.map +1 -1
  224. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ModalWidgetActions.js.map +1 -1
  225. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/NavigateAction.js.map +1 -1
  226. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/OpenIDCredentialsAction.js.map +1 -1
  227. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ReadEventAction.js.map +1 -1
  228. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ReadRelationsAction.js.map +1 -1
  229. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ReadRoomAccountDataAction.js.map +1 -1
  230. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/RtcLivekitActions.d.ts +53 -0
  231. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/RtcLivekitActions.js +6 -0
  232. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/RtcLivekitActions.js.map +1 -0
  233. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/RtcTransportsAction.js.map +1 -1
  234. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ScreenshotAction.js.map +1 -1
  235. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/SendEventAction.js.map +1 -1
  236. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/SendToDeviceAction.js.map +1 -1
  237. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/SetModalButtonEnabledAction.js.map +1 -1
  238. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/StickerAction.js.map +1 -1
  239. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/StickyAction.js.map +1 -1
  240. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/SupportedVersionsAction.js.map +1 -1
  241. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ThemeChangeAction.js.map +1 -1
  242. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/TurnServerActions.js.map +1 -1
  243. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/UpdateDelayedEventAction.js.map +1 -1
  244. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/UpdateStateAction.js.map +1 -1
  245. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/UploadFileAction.js.map +1 -1
  246. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/UserDirectorySearchAction.js.map +1 -1
  247. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/VisibilityAction.js.map +1 -1
  248. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetApiAction.d.ts +9 -1
  249. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetApiAction.js +2 -0
  250. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetApiAction.js.map +1 -1
  251. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetApiDirection.js.map +1 -1
  252. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetConfigAction.js.map +1 -1
  253. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetKind.js.map +1 -1
  254. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetType.js.map +1 -1
  255. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/Widget.js +20 -20
  256. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/Widget.js.map +1 -1
  257. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/WidgetEventCapability.js +9 -9
  258. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/WidgetEventCapability.js.map +1 -1
  259. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/WidgetParser.js +23 -23
  260. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/WidgetParser.js.map +1 -1
  261. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/validation/url.js.map +1 -1
  262. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/validation/utils.js.map +1 -1
  263. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/templating/url-template.js.map +1 -1
  264. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/transport/ITransport.js.map +1 -1
  265. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/transport/PostmessageTransport.js +32 -32
  266. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/transport/PostmessageTransport.js.map +1 -1
  267. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/util/SimpleObservable.js +10 -10
  268. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/util/SimpleObservable.js.map +1 -1
  269. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/package.json +2 -2
  270. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/ClientWidgetApi.ts +48 -0
  271. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/WidgetApi.ts +75 -1
  272. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/driver/WidgetDriver.ts +33 -0
  273. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/index.ts +1 -0
  274. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/ApiVersion.ts +2 -0
  275. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/Capabilities.ts +8 -0
  276. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/RtcLivekitActions.ts +80 -0
  277. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/WidgetApiAction.ts +10 -0
  278. package/node_modules/matrix-js-sdk/node_modules/p-retry/index.d.ts +1 -1
  279. package/node_modules/matrix-js-sdk/node_modules/p-retry/index.js +4 -0
  280. package/node_modules/matrix-js-sdk/node_modules/p-retry/package.json +1 -1
  281. package/node_modules/matrix-js-sdk/node_modules/p-retry/readme.md +1 -1
  282. package/node_modules/matrix-js-sdk/package.json +2 -2
  283. package/node_modules/matrix-js-sdk/src/client.ts +19 -11
  284. package/node_modules/matrix-js-sdk/src/http-api/errors.ts +16 -0
  285. package/node_modules/matrix-js-sdk/src/matrixrtc/MatrixRTCSession.ts +8 -1
  286. package/node_modules/matrix-js-sdk/src/oauth/authorize.ts +2 -5
  287. package/node_modules/matrix-js-sdk/src/oauth/error.ts +69 -0
  288. package/node_modules/matrix-js-sdk/src/oauth/index.ts +19 -2
  289. package/node_modules/matrix-js-sdk/src/oauth/tokenRefresher.ts +9 -2
  290. package/node_modules/matrix-js-sdk/src/secret-storage.ts +8 -31
  291. package/node_modules/matrix-js-sdk/src/sliding-sync-sdk.ts +74 -0
  292. package/node_modules/music-metadata/node_modules/file-type/package.json +3 -2
  293. package/node_modules/music-metadata/node_modules/file-type/readme.md +3 -0
  294. package/node_modules/music-metadata/node_modules/file-type/source/index.js +28 -1
  295. package/node_modules/music-metadata/node_modules/file-type/source/supported.js +2 -0
  296. package/node_modules/typebox/build/compile/validator.d.mts +1 -1
  297. package/node_modules/typebox/build/compile/validator.mjs +1 -1
  298. package/node_modules/typebox/build/format/idna/idn-hostname.mjs +7 -5
  299. package/node_modules/typebox/build/format/iri.mjs +5 -1
  300. package/node_modules/typebox/build/guard/emit.mjs +2 -4
  301. package/node_modules/typebox/build/guard/guard.mjs +6 -18
  302. package/node_modules/typebox/build/guard/string.mjs +16 -24
  303. package/node_modules/typebox/build/schema/build.mjs +2 -2
  304. package/node_modules/typebox/build/schema/check.mjs +1 -1
  305. package/node_modules/typebox/build/schema/compile.d.mts +3 -2
  306. package/node_modules/typebox/build/schema/compile.mjs +8 -8
  307. package/node_modules/typebox/build/schema/engine/_context.d.mts +6 -7
  308. package/node_modules/typebox/build/schema/engine/_context.mjs +23 -15
  309. package/node_modules/typebox/build/schema/engine/_functions.d.mts +2 -2
  310. package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -1
  311. package/node_modules/typebox/build/schema/engine/_reducer.d.mts +3 -3
  312. package/node_modules/typebox/build/schema/engine/_refine.d.mts +5 -5
  313. package/node_modules/typebox/build/schema/engine/_refine.mjs +4 -7
  314. package/node_modules/typebox/build/schema/engine/_stack.d.mts +34 -16
  315. package/node_modules/typebox/build/schema/engine/_stack.mjs +148 -104
  316. package/node_modules/typebox/build/schema/engine/additionalItems.d.mts +4 -4
  317. package/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +8 -8
  318. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +26 -18
  319. package/node_modules/typebox/build/schema/engine/allOf.d.mts +4 -4
  320. package/node_modules/typebox/build/schema/engine/allOf.mjs +3 -3
  321. package/node_modules/typebox/build/schema/engine/anyOf.d.mts +4 -4
  322. package/node_modules/typebox/build/schema/engine/anyOf.mjs +5 -10
  323. package/node_modules/typebox/build/schema/engine/boolean.d.mts +4 -4
  324. package/node_modules/typebox/build/schema/engine/boolean.mjs +2 -6
  325. package/node_modules/typebox/build/schema/engine/const.d.mts +4 -4
  326. package/node_modules/typebox/build/schema/engine/const.mjs +2 -6
  327. package/node_modules/typebox/build/schema/engine/contains.d.mts +4 -4
  328. package/node_modules/typebox/build/schema/engine/contains.mjs +2 -6
  329. package/node_modules/typebox/build/schema/engine/dependencies.d.mts +4 -4
  330. package/node_modules/typebox/build/schema/engine/dependencies.mjs +3 -6
  331. package/node_modules/typebox/build/schema/engine/dependentRequired.d.mts +4 -4
  332. package/node_modules/typebox/build/schema/engine/dependentRequired.mjs +2 -6
  333. package/node_modules/typebox/build/schema/engine/dependentSchemas.d.mts +4 -4
  334. package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +4 -4
  335. package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +11 -7
  336. package/node_modules/typebox/build/schema/engine/enum.d.mts +4 -4
  337. package/node_modules/typebox/build/schema/engine/enum.mjs +2 -6
  338. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.d.mts +4 -4
  339. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.mjs +2 -6
  340. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.d.mts +4 -4
  341. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.mjs +2 -6
  342. package/node_modules/typebox/build/schema/engine/format.d.mts +4 -4
  343. package/node_modules/typebox/build/schema/engine/format.mjs +2 -6
  344. package/node_modules/typebox/build/schema/engine/if.d.mts +4 -4
  345. package/node_modules/typebox/build/schema/engine/if.mjs +7 -15
  346. package/node_modules/typebox/build/schema/engine/items.d.mts +4 -4
  347. package/node_modules/typebox/build/schema/engine/items.mjs +1 -1
  348. package/node_modules/typebox/build/schema/engine/maxContains.d.mts +4 -4
  349. package/node_modules/typebox/build/schema/engine/maxContains.mjs +2 -6
  350. package/node_modules/typebox/build/schema/engine/maxItems.d.mts +4 -4
  351. package/node_modules/typebox/build/schema/engine/maxItems.mjs +2 -6
  352. package/node_modules/typebox/build/schema/engine/maxLength.d.mts +4 -4
  353. package/node_modules/typebox/build/schema/engine/maxLength.mjs +2 -6
  354. package/node_modules/typebox/build/schema/engine/maxProperties.d.mts +4 -4
  355. package/node_modules/typebox/build/schema/engine/maxProperties.mjs +2 -6
  356. package/node_modules/typebox/build/schema/engine/maximum.d.mts +4 -4
  357. package/node_modules/typebox/build/schema/engine/maximum.mjs +2 -6
  358. package/node_modules/typebox/build/schema/engine/minContains.d.mts +4 -4
  359. package/node_modules/typebox/build/schema/engine/minContains.mjs +2 -6
  360. package/node_modules/typebox/build/schema/engine/minItems.d.mts +5 -5
  361. package/node_modules/typebox/build/schema/engine/minItems.mjs +2 -6
  362. package/node_modules/typebox/build/schema/engine/minLength.d.mts +4 -4
  363. package/node_modules/typebox/build/schema/engine/minLength.mjs +2 -6
  364. package/node_modules/typebox/build/schema/engine/minProperties.d.mts +4 -4
  365. package/node_modules/typebox/build/schema/engine/minProperties.mjs +2 -6
  366. package/node_modules/typebox/build/schema/engine/minimum.d.mts +4 -4
  367. package/node_modules/typebox/build/schema/engine/minimum.mjs +2 -6
  368. package/node_modules/typebox/build/schema/engine/multipleOf.d.mts +4 -4
  369. package/node_modules/typebox/build/schema/engine/multipleOf.mjs +2 -6
  370. package/node_modules/typebox/build/schema/engine/not.d.mts +4 -4
  371. package/node_modules/typebox/build/schema/engine/not.mjs +4 -8
  372. package/node_modules/typebox/build/schema/engine/oneOf.d.mts +4 -4
  373. package/node_modules/typebox/build/schema/engine/oneOf.mjs +6 -11
  374. package/node_modules/typebox/build/schema/engine/pattern.d.mts +4 -4
  375. package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -7
  376. package/node_modules/typebox/build/schema/engine/patternProperties.d.mts +4 -4
  377. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +1 -1
  378. package/node_modules/typebox/build/schema/engine/prefixItems.d.mts +4 -4
  379. package/node_modules/typebox/build/schema/engine/prefixItems.mjs +1 -1
  380. package/node_modules/typebox/build/schema/engine/properties.d.mts +4 -4
  381. package/node_modules/typebox/build/schema/engine/properties.mjs +1 -1
  382. package/node_modules/typebox/build/schema/engine/propertyNames.d.mts +4 -4
  383. package/node_modules/typebox/build/schema/engine/propertyNames.mjs +4 -10
  384. package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +4 -4
  385. package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +11 -7
  386. package/node_modules/typebox/build/schema/engine/ref.d.mts +4 -4
  387. package/node_modules/typebox/build/schema/engine/ref.mjs +19 -15
  388. package/node_modules/typebox/build/schema/engine/required.d.mts +4 -4
  389. package/node_modules/typebox/build/schema/engine/required.mjs +2 -6
  390. package/node_modules/typebox/build/schema/engine/schema.d.mts +7 -7
  391. package/node_modules/typebox/build/schema/engine/schema.mjs +137 -133
  392. package/node_modules/typebox/build/schema/engine/type.d.mts +4 -4
  393. package/node_modules/typebox/build/schema/engine/type.mjs +2 -6
  394. package/node_modules/typebox/build/schema/engine/unevaluatedItems.d.mts +4 -4
  395. package/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +5 -9
  396. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.d.mts +4 -4
  397. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +5 -9
  398. package/node_modules/typebox/build/schema/engine/uniqueItems.d.mts +4 -4
  399. package/node_modules/typebox/build/schema/engine/uniqueItems.mjs +2 -6
  400. package/node_modules/typebox/build/schema/errors.d.mts +2 -2
  401. package/node_modules/typebox/build/schema/errors.mjs +8 -14
  402. package/node_modules/typebox/build/schema/intern/index.d.mts +1 -0
  403. package/node_modules/typebox/build/schema/intern/index.mjs +1 -0
  404. package/node_modules/typebox/build/schema/intern/intern.d.mts +11 -0
  405. package/node_modules/typebox/build/schema/intern/intern.mjs +293 -0
  406. package/node_modules/typebox/build/schema/meta/draft_2019_09.d.mts +2 -0
  407. package/node_modules/typebox/build/schema/meta/draft_2019_09.mjs +288 -0
  408. package/node_modules/typebox/build/schema/meta/draft_2020_12.d.mts +2 -0
  409. package/node_modules/typebox/build/schema/meta/draft_2020_12.mjs +300 -0
  410. package/node_modules/typebox/build/schema/meta/draft_3.d.mts +2 -0
  411. package/node_modules/typebox/build/schema/meta/draft_3.mjs +143 -0
  412. package/node_modules/typebox/build/schema/meta/draft_4.d.mts +2 -0
  413. package/node_modules/typebox/build/schema/meta/draft_4.mjs +149 -0
  414. package/node_modules/typebox/build/schema/meta/draft_6.d.mts +2 -0
  415. package/node_modules/typebox/build/schema/meta/draft_6.mjs +155 -0
  416. package/node_modules/typebox/build/schema/meta/draft_7.d.mts +2 -0
  417. package/node_modules/typebox/build/schema/meta/draft_7.mjs +172 -0
  418. package/node_modules/typebox/build/schema/meta/index.d.mts +2 -0
  419. package/node_modules/typebox/build/schema/meta/index.mjs +2 -0
  420. package/node_modules/typebox/build/schema/meta/meta.d.mts +9 -0
  421. package/node_modules/typebox/build/schema/meta/meta.mjs +15 -0
  422. package/node_modules/typebox/build/schema/meta/schema.d.mts +6 -0
  423. package/node_modules/typebox/build/schema/meta/schema.mjs +1 -0
  424. package/node_modules/typebox/build/schema/parse.d.mts +1 -0
  425. package/node_modules/typebox/build/schema/parse.mjs +10 -5
  426. package/node_modules/typebox/build/schema/resolve/resolve.d.mts +8 -3
  427. package/node_modules/typebox/build/schema/resolve/resolve.mjs +268 -139
  428. package/node_modules/typebox/build/schema/schema.d.mts +2 -0
  429. package/node_modules/typebox/build/schema/schema.mjs +2 -0
  430. package/node_modules/typebox/build/value/errors/errors.d.mts +2 -12
  431. package/node_modules/typebox/build/value/errors/errors.mjs +2 -7
  432. package/node_modules/typebox/package.json +1 -1
  433. package/node_modules/typebox/readme.md +59 -89
  434. package/node_modules/zod/README.md +29 -2
  435. package/node_modules/zod/compile.cjs +96 -0
  436. package/node_modules/zod/compile.d.cts +1 -0
  437. package/node_modules/zod/compile.d.ts +1 -0
  438. package/node_modules/zod/compile.js +52 -0
  439. package/node_modules/zod/index.cjs +21 -2
  440. package/node_modules/zod/index.d.cts +1 -2
  441. package/node_modules/zod/index.d.ts +1 -2
  442. package/node_modules/zod/index.js +5 -2
  443. package/node_modules/zod/locales/index.cjs +19 -0
  444. package/node_modules/zod/mini/index.cjs +19 -0
  445. package/node_modules/zod/package.json +20 -8
  446. package/node_modules/zod/src/compile.ts +56 -0
  447. package/node_modules/zod/src/index.ts +5 -2
  448. package/node_modules/zod/src/v3/ZodError.ts +22 -12
  449. package/node_modules/zod/src/v3/helpers/errorUtil.ts +1 -1
  450. package/node_modules/zod/src/v3/tests/error.test.ts +35 -0
  451. package/node_modules/zod/src/v3/tests/intersection.test.ts +18 -0
  452. package/node_modules/zod/src/v3/tests/language-server.test.ts +1 -2
  453. package/node_modules/zod/src/v3/tests/object.test.ts +3 -6
  454. package/node_modules/zod/src/v3/tests/readonly.test.ts +0 -80
  455. package/node_modules/zod/src/v3/tests/string.test.ts +6 -0
  456. package/node_modules/zod/src/v3/types.ts +5 -5
  457. package/node_modules/zod/src/v4/classic/checks.ts +1 -0
  458. package/node_modules/zod/src/v4/classic/compat.ts +26 -18
  459. package/node_modules/zod/src/v4/classic/deep-partial.ts +76 -0
  460. package/node_modules/zod/src/v4/classic/errors.ts +59 -44
  461. package/node_modules/zod/src/v4/classic/external.ts +14 -9
  462. package/node_modules/zod/src/v4/classic/from-json-schema.ts +363 -78
  463. package/node_modules/zod/src/v4/classic/in-out.ts +45 -0
  464. package/node_modules/zod/src/v4/classic/index.ts +2 -2
  465. package/node_modules/zod/src/v4/classic/iso.ts +2 -72
  466. package/node_modules/zod/src/v4/classic/parse.ts +10 -4
  467. package/node_modules/zod/src/v4/classic/schemas.ts +640 -375
  468. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +27 -0
  469. package/node_modules/zod/src/v4/classic/tests/array.test.ts +2 -2
  470. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +186 -0
  471. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +36 -1
  472. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +278 -0
  473. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +1 -2
  474. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +2 -1
  475. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +3 -3
  476. package/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +76 -0
  477. package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +985 -0
  478. package/node_modules/zod/src/v4/classic/tests/date.test.ts +30 -0
  479. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +32 -18
  480. package/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +380 -0
  481. package/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +32 -0
  482. package/node_modules/zod/src/v4/classic/tests/default.test.ts +46 -0
  483. package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +31 -7
  484. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +261 -13
  485. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +20 -0
  486. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +112 -2
  487. package/node_modules/zod/src/v4/classic/tests/error.test.ts +403 -6
  488. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +582 -10
  489. package/node_modules/zod/src/v4/classic/tests/function.test.ts +31 -0
  490. package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +2 -9
  491. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +1 -2
  492. package/node_modules/zod/src/v4/classic/tests/iban.test.ts +81 -0
  493. package/node_modules/zod/src/v4/classic/tests/in-out.test.ts +159 -0
  494. package/node_modules/zod/src/v4/classic/tests/index.test.ts +21 -2
  495. package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +319 -0
  496. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +67 -0
  497. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +136 -0
  498. package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +215 -0
  499. package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +3 -10
  500. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +36 -1
  501. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +12 -1
  502. package/node_modules/zod/src/v4/classic/tests/map.test.ts +12 -0
  503. package/node_modules/zod/src/v4/classic/tests/number.test.ts +85 -9
  504. package/node_modules/zod/src/v4/classic/tests/object.test.ts +301 -12
  505. package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +235 -0
  506. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +49 -16
  507. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +51 -4
  508. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +70 -0
  509. package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +20 -2
  510. package/node_modules/zod/src/v4/classic/tests/properties.test.ts +141 -0
  511. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -68
  512. package/node_modules/zod/src/v4/classic/tests/record.test.ts +186 -18
  513. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +79 -3
  514. package/node_modules/zod/src/v4/classic/tests/redos.test.ts +68 -0
  515. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +60 -0
  516. package/node_modules/zod/src/v4/classic/tests/set.test.ts +9 -0
  517. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +19 -0
  518. package/node_modules/zod/src/v4/classic/tests/string.test.ts +222 -6
  519. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +18 -0
  520. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +44 -3
  521. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +1812 -204
  522. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +45 -30
  523. package/node_modules/zod/src/v4/classic/tests/union.test.ts +39 -2
  524. package/node_modules/zod/src/v4/classic/tests/validate.test.ts +645 -0
  525. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +2 -2
  526. package/node_modules/zod/src/v4/core/api.ts +87 -35
  527. package/node_modules/zod/src/v4/core/checks.ts +119 -146
  528. package/node_modules/zod/src/v4/core/compile.ts +2313 -0
  529. package/node_modules/zod/src/v4/core/core.ts +99 -22
  530. package/node_modules/zod/src/v4/core/doc.ts +17 -9
  531. package/node_modules/zod/src/v4/core/errors.ts +113 -25
  532. package/node_modules/zod/src/v4/core/index.ts +3 -0
  533. package/node_modules/zod/src/v4/core/json-schema-generator.ts +8 -3
  534. package/node_modules/zod/src/v4/core/json-schema-processors.ts +424 -156
  535. package/node_modules/zod/src/v4/core/json-schema.ts +2 -1
  536. package/node_modules/zod/src/v4/core/memoizer.ts +331 -0
  537. package/node_modules/zod/src/v4/core/parse.ts +164 -50
  538. package/node_modules/zod/src/v4/core/regexes.ts +42 -15
  539. package/node_modules/zod/src/v4/core/registries.ts +2 -2
  540. package/node_modules/zod/src/v4/core/schemas.ts +1000 -538
  541. package/node_modules/zod/src/v4/core/tests/cached.test.ts +54 -0
  542. package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +1004 -0
  543. package/node_modules/zod/src/v4/core/tests/compile-generative.test.ts +445 -0
  544. package/node_modules/zod/src/v4/core/tests/compile-global.test.ts +89 -0
  545. package/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +26 -0
  546. package/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +34 -0
  547. package/node_modules/zod/src/v4/core/tests/compile.test.ts +2036 -0
  548. package/node_modules/zod/src/v4/core/tests/email-regex.test.ts +140 -0
  549. package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +1 -2
  550. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +1 -2
  551. package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +3 -3
  552. package/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +42 -0
  553. package/node_modules/zod/src/v4/core/tests/locales/tg.test.ts +85 -0
  554. package/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +69 -0
  555. package/node_modules/zod/src/v4/core/tests/polyfill-collision.test.ts +46 -0
  556. package/node_modules/zod/src/v4/core/tests/treeshake.test.ts +51 -0
  557. package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +133 -0
  558. package/node_modules/zod/src/v4/core/to-json-schema.ts +283 -48
  559. package/node_modules/zod/src/v4/core/util.ts +454 -157
  560. package/node_modules/zod/src/v4/core/versions.ts +2 -2
  561. package/node_modules/zod/src/v4/core/visit.ts +193 -0
  562. package/node_modules/zod/src/v4/index.ts +3 -3
  563. package/node_modules/zod/src/v4/locales/ar.ts +5 -0
  564. package/node_modules/zod/src/v4/locales/az.ts +5 -0
  565. package/node_modules/zod/src/v4/locales/be.ts +12 -0
  566. package/node_modules/zod/src/v4/locales/bg.ts +5 -0
  567. package/node_modules/zod/src/v4/locales/bn.ts +123 -0
  568. package/node_modules/zod/src/v4/locales/ca.ts +5 -0
  569. package/node_modules/zod/src/v4/locales/ckb.ts +140 -0
  570. package/node_modules/zod/src/v4/locales/cs.ts +5 -0
  571. package/node_modules/zod/src/v4/locales/da.ts +7 -2
  572. package/node_modules/zod/src/v4/locales/de.ts +5 -0
  573. package/node_modules/zod/src/v4/locales/el.ts +3 -0
  574. package/node_modules/zod/src/v4/locales/en.ts +17 -4
  575. package/node_modules/zod/src/v4/locales/eo.ts +5 -0
  576. package/node_modules/zod/src/v4/locales/es.ts +4 -0
  577. package/node_modules/zod/src/v4/locales/fa.ts +5 -0
  578. package/node_modules/zod/src/v4/locales/fi.ts +5 -0
  579. package/node_modules/zod/src/v4/locales/fr-CA.ts +5 -0
  580. package/node_modules/zod/src/v4/locales/fr.ts +21 -14
  581. package/node_modules/zod/src/v4/locales/gu.ts +123 -0
  582. package/node_modules/zod/src/v4/locales/he.ts +8 -1
  583. package/node_modules/zod/src/v4/locales/hi.ts +126 -0
  584. package/node_modules/zod/src/v4/locales/hr.ts +4 -0
  585. package/node_modules/zod/src/v4/locales/hu.ts +5 -0
  586. package/node_modules/zod/src/v4/locales/hy.ts +11 -0
  587. package/node_modules/zod/src/v4/locales/id.ts +5 -0
  588. package/node_modules/zod/src/v4/locales/index.ts +11 -0
  589. package/node_modules/zod/src/v4/locales/is.ts +5 -0
  590. package/node_modules/zod/src/v4/locales/it.ts +5 -0
  591. package/node_modules/zod/src/v4/locales/ja.ts +5 -0
  592. package/node_modules/zod/src/v4/locales/ka.ts +5 -0
  593. package/node_modules/zod/src/v4/locales/km.ts +5 -0
  594. package/node_modules/zod/src/v4/locales/kn.ts +126 -0
  595. package/node_modules/zod/src/v4/locales/ko.ts +5 -0
  596. package/node_modules/zod/src/v4/locales/lt.ts +4 -0
  597. package/node_modules/zod/src/v4/locales/mk.ts +5 -0
  598. package/node_modules/zod/src/v4/locales/ms.ts +5 -0
  599. package/node_modules/zod/src/v4/locales/ne.ts +128 -0
  600. package/node_modules/zod/src/v4/locales/nl.ts +5 -0
  601. package/node_modules/zod/src/v4/locales/nn.ts +121 -0
  602. package/node_modules/zod/src/v4/locales/no.ts +7 -2
  603. package/node_modules/zod/src/v4/locales/ota.ts +5 -0
  604. package/node_modules/zod/src/v4/locales/pl.ts +5 -0
  605. package/node_modules/zod/src/v4/locales/ps.ts +5 -0
  606. package/node_modules/zod/src/v4/locales/pt-BR.ts +161 -0
  607. package/node_modules/zod/src/v4/locales/pt.ts +101 -58
  608. package/node_modules/zod/src/v4/locales/ro.ts +3 -0
  609. package/node_modules/zod/src/v4/locales/ru.ts +12 -0
  610. package/node_modules/zod/src/v4/locales/sk.ts +123 -0
  611. package/node_modules/zod/src/v4/locales/sl.ts +5 -0
  612. package/node_modules/zod/src/v4/locales/sv.ts +7 -2
  613. package/node_modules/zod/src/v4/locales/ta.ts +5 -0
  614. package/node_modules/zod/src/v4/locales/tg.ts +135 -0
  615. package/node_modules/zod/src/v4/locales/th.ts +5 -0
  616. package/node_modules/zod/src/v4/locales/tk.ts +113 -0
  617. package/node_modules/zod/src/v4/locales/tr.ts +5 -0
  618. package/node_modules/zod/src/v4/locales/uk.ts +5 -0
  619. package/node_modules/zod/src/v4/locales/ur.ts +5 -0
  620. package/node_modules/zod/src/v4/locales/uz.ts +3 -0
  621. package/node_modules/zod/src/v4/locales/vi.ts +5 -0
  622. package/node_modules/zod/src/v4/locales/yo.ts +5 -0
  623. package/node_modules/zod/src/v4/locales/zh-CN.ts +5 -0
  624. package/node_modules/zod/src/v4/locales/zh-TW.ts +5 -0
  625. package/node_modules/zod/src/v4/mini/checks.ts +1 -0
  626. package/node_modules/zod/src/v4/mini/deep-partial.ts +73 -0
  627. package/node_modules/zod/src/v4/mini/external.ts +12 -1
  628. package/node_modules/zod/src/v4/mini/in-out.ts +45 -0
  629. package/node_modules/zod/src/v4/mini/parse.ts +2 -0
  630. package/node_modules/zod/src/v4/mini/schemas.ts +167 -63
  631. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +33 -0
  632. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +62 -1
  633. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +14 -0
  634. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +35 -1
  635. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +11 -17
  636. package/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +84 -0
  637. package/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +54 -0
  638. package/node_modules/zod/src/v4/mini/tests/error.test.ts +23 -4
  639. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +9 -0
  640. package/node_modules/zod/src/v4/mini/tests/index.test.ts +158 -5
  641. package/node_modules/zod/src/v4/mini/tests/number.test.ts +14 -0
  642. package/node_modules/zod/src/v4/mini/tests/object.test.ts +65 -0
  643. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +16 -0
  644. package/node_modules/zod/src/v4/mini/tests/string.test.ts +44 -0
  645. package/node_modules/zod/v3/ZodError.cjs +41 -12
  646. package/node_modules/zod/v3/ZodError.d.cts +1 -1
  647. package/node_modules/zod/v3/ZodError.d.ts +1 -1
  648. package/node_modules/zod/v3/ZodError.js +22 -12
  649. package/node_modules/zod/v3/errors.cjs +19 -0
  650. package/node_modules/zod/v3/external.cjs +19 -0
  651. package/node_modules/zod/v3/helpers/enumUtil.cjs +19 -0
  652. package/node_modules/zod/v3/helpers/errorUtil.cjs +20 -1
  653. package/node_modules/zod/v3/helpers/errorUtil.js +1 -1
  654. package/node_modules/zod/v3/helpers/parseUtil.cjs +19 -0
  655. package/node_modules/zod/v3/helpers/partialUtil.cjs +19 -0
  656. package/node_modules/zod/v3/helpers/typeAliases.cjs +19 -0
  657. package/node_modules/zod/v3/helpers/util.cjs +19 -0
  658. package/node_modules/zod/v3/index.cjs +19 -0
  659. package/node_modules/zod/v3/standard-schema.cjs +19 -0
  660. package/node_modules/zod/v3/types.cjs +26 -5
  661. package/node_modules/zod/v3/types.js +7 -5
  662. package/node_modules/zod/v4/classic/checks.cjs +21 -1
  663. package/node_modules/zod/v4/classic/checks.d.cts +1 -1
  664. package/node_modules/zod/v4/classic/checks.d.ts +1 -1
  665. package/node_modules/zod/v4/classic/checks.js +1 -1
  666. package/node_modules/zod/v4/classic/coerce.cjs +19 -0
  667. package/node_modules/zod/v4/classic/compat.cjs +19 -0
  668. package/node_modules/zod/v4/classic/compat.d.cts +9 -11
  669. package/node_modules/zod/v4/classic/compat.d.ts +9 -11
  670. package/node_modules/zod/v4/classic/deep-partial.cjs +58 -0
  671. package/node_modules/zod/v4/classic/deep-partial.d.cts +14 -0
  672. package/node_modules/zod/v4/classic/deep-partial.d.ts +14 -0
  673. package/node_modules/zod/v4/classic/deep-partial.js +13 -0
  674. package/node_modules/zod/v4/classic/errors.cjs +62 -34
  675. package/node_modules/zod/v4/classic/errors.d.cts +3 -4
  676. package/node_modules/zod/v4/classic/errors.d.ts +3 -4
  677. package/node_modules/zod/v4/classic/errors.js +43 -34
  678. package/node_modules/zod/v4/classic/external.cjs +51 -27
  679. package/node_modules/zod/v4/classic/external.d.cts +5 -2
  680. package/node_modules/zod/v4/classic/external.d.ts +5 -2
  681. package/node_modules/zod/v4/classic/external.js +5 -8
  682. package/node_modules/zod/v4/classic/from-json-schema.cjs +376 -75
  683. package/node_modules/zod/v4/classic/from-json-schema.js +357 -75
  684. package/node_modules/zod/v4/classic/in-out.cjs +82 -0
  685. package/node_modules/zod/v4/classic/in-out.d.cts +8 -0
  686. package/node_modules/zod/v4/classic/in-out.d.ts +8 -0
  687. package/node_modules/zod/v4/classic/in-out.js +36 -0
  688. package/node_modules/zod/v4/classic/index.cjs +21 -2
  689. package/node_modules/zod/v4/classic/index.d.cts +1 -2
  690. package/node_modules/zod/v4/classic/index.d.ts +1 -2
  691. package/node_modules/zod/v4/classic/index.js +2 -2
  692. package/node_modules/zod/v4/classic/iso.cjs +30 -22
  693. package/node_modules/zod/v4/classic/iso.d.cts +2 -17
  694. package/node_modules/zod/v4/classic/iso.d.ts +2 -17
  695. package/node_modules/zod/v4/classic/iso.js +2 -17
  696. package/node_modules/zod/v4/classic/parse.cjs +23 -1
  697. package/node_modules/zod/v4/classic/parse.d.cts +17 -4
  698. package/node_modules/zod/v4/classic/parse.d.ts +17 -4
  699. package/node_modules/zod/v4/classic/parse.js +1 -0
  700. package/node_modules/zod/v4/classic/schemas.cjs +591 -426
  701. package/node_modules/zod/v4/classic/schemas.d.cts +68 -19
  702. package/node_modules/zod/v4/classic/schemas.d.ts +68 -19
  703. package/node_modules/zod/v4/classic/schemas.js +564 -424
  704. package/node_modules/zod/v4/core/api.cjs +66 -24
  705. package/node_modules/zod/v4/core/api.d.cts +22 -12
  706. package/node_modules/zod/v4/core/api.d.ts +22 -12
  707. package/node_modules/zod/v4/core/api.js +44 -24
  708. package/node_modules/zod/v4/core/checks.cjs +88 -128
  709. package/node_modules/zod/v4/core/checks.d.cts +29 -13
  710. package/node_modules/zod/v4/core/checks.d.ts +29 -13
  711. package/node_modules/zod/v4/core/checks.js +68 -127
  712. package/node_modules/zod/v4/core/compile.cjs +1908 -0
  713. package/node_modules/zod/v4/core/compile.d.cts +65 -0
  714. package/node_modules/zod/v4/core/compile.d.ts +65 -0
  715. package/node_modules/zod/v4/core/compile.js +1858 -0
  716. package/node_modules/zod/v4/core/core.cjs +101 -19
  717. package/node_modules/zod/v4/core/core.d.cts +16 -4
  718. package/node_modules/zod/v4/core/core.d.ts +16 -4
  719. package/node_modules/zod/v4/core/core.js +83 -20
  720. package/node_modules/zod/v4/core/doc.cjs +31 -9
  721. package/node_modules/zod/v4/core/doc.d.cts +3 -1
  722. package/node_modules/zod/v4/core/doc.d.ts +3 -1
  723. package/node_modules/zod/v4/core/doc.js +12 -9
  724. package/node_modules/zod/v4/core/errors.cjs +126 -25
  725. package/node_modules/zod/v4/core/errors.d.cts +4 -0
  726. package/node_modules/zod/v4/core/errors.d.ts +4 -0
  727. package/node_modules/zod/v4/core/errors.js +107 -25
  728. package/node_modules/zod/v4/core/index.cjs +24 -1
  729. package/node_modules/zod/v4/core/index.d.cts +3 -0
  730. package/node_modules/zod/v4/core/index.d.ts +3 -0
  731. package/node_modules/zod/v4/core/index.js +3 -0
  732. package/node_modules/zod/v4/core/json-schema-generator.cjs +24 -1
  733. package/node_modules/zod/v4/core/json-schema-generator.d.cts +2 -2
  734. package/node_modules/zod/v4/core/json-schema-generator.d.ts +2 -2
  735. package/node_modules/zod/v4/core/json-schema-generator.js +6 -2
  736. package/node_modules/zod/v4/core/json-schema-processors.cjs +441 -156
  737. package/node_modules/zod/v4/core/json-schema-processors.d.cts +16 -0
  738. package/node_modules/zod/v4/core/json-schema-processors.d.ts +16 -0
  739. package/node_modules/zod/v4/core/json-schema-processors.js +400 -158
  740. package/node_modules/zod/v4/core/json-schema.cjs +19 -0
  741. package/node_modules/zod/v4/core/json-schema.d.cts +2 -1
  742. package/node_modules/zod/v4/core/json-schema.d.ts +2 -1
  743. package/node_modules/zod/v4/core/memoizer.cjs +360 -0
  744. package/node_modules/zod/v4/core/memoizer.d.cts +15 -0
  745. package/node_modules/zod/v4/core/memoizer.d.ts +15 -0
  746. package/node_modules/zod/v4/core/memoizer.js +311 -0
  747. package/node_modules/zod/v4/core/parse.cjs +148 -46
  748. package/node_modules/zod/v4/core/parse.d.cts +14 -11
  749. package/node_modules/zod/v4/core/parse.d.ts +14 -11
  750. package/node_modules/zod/v4/core/parse.js +127 -45
  751. package/node_modules/zod/v4/core/regexes.cjs +54 -17
  752. package/node_modules/zod/v4/core/regexes.d.cts +5 -0
  753. package/node_modules/zod/v4/core/regexes.d.ts +5 -0
  754. package/node_modules/zod/v4/core/regexes.js +32 -15
  755. package/node_modules/zod/v4/core/registries.cjs +19 -0
  756. package/node_modules/zod/v4/core/registries.js +2 -2
  757. package/node_modules/zod/v4/core/schemas.cjs +785 -386
  758. package/node_modules/zod/v4/core/schemas.d.cts +123 -34
  759. package/node_modules/zod/v4/core/schemas.d.ts +123 -34
  760. package/node_modules/zod/v4/core/schemas.js +753 -386
  761. package/node_modules/zod/v4/core/standard-schema.cjs +19 -0
  762. package/node_modules/zod/v4/core/to-json-schema.cjs +269 -45
  763. package/node_modules/zod/v4/core/to-json-schema.d.cts +45 -5
  764. package/node_modules/zod/v4/core/to-json-schema.d.ts +45 -5
  765. package/node_modules/zod/v4/core/to-json-schema.js +247 -44
  766. package/node_modules/zod/v4/core/util.cjs +372 -157
  767. package/node_modules/zod/v4/core/util.d.cts +79 -1
  768. package/node_modules/zod/v4/core/util.d.ts +79 -1
  769. package/node_modules/zod/v4/core/util.js +341 -156
  770. package/node_modules/zod/v4/core/versions.cjs +21 -2
  771. package/node_modules/zod/v4/core/versions.d.cts +1 -1
  772. package/node_modules/zod/v4/core/versions.d.ts +1 -1
  773. package/node_modules/zod/v4/core/versions.js +2 -2
  774. package/node_modules/zod/v4/core/visit.cjs +214 -0
  775. package/node_modules/zod/v4/core/visit.d.cts +30 -0
  776. package/node_modules/zod/v4/core/visit.d.ts +30 -0
  777. package/node_modules/zod/v4/core/visit.js +169 -0
  778. package/node_modules/zod/v4/index.cjs +34 -5
  779. package/node_modules/zod/v4/index.d.cts +2 -2
  780. package/node_modules/zod/v4/index.d.ts +2 -2
  781. package/node_modules/zod/v4/index.js +3 -2
  782. package/node_modules/zod/v4/locales/ar.cjs +5 -0
  783. package/node_modules/zod/v4/locales/ar.js +5 -0
  784. package/node_modules/zod/v4/locales/az.cjs +5 -0
  785. package/node_modules/zod/v4/locales/az.js +5 -0
  786. package/node_modules/zod/v4/locales/be.cjs +12 -0
  787. package/node_modules/zod/v4/locales/be.js +12 -0
  788. package/node_modules/zod/v4/locales/bg.cjs +5 -0
  789. package/node_modules/zod/v4/locales/bg.js +5 -0
  790. package/node_modules/zod/v4/locales/bn.cjs +140 -0
  791. package/node_modules/zod/v4/locales/bn.d.cts +5 -0
  792. package/node_modules/zod/v4/locales/bn.d.ts +4 -0
  793. package/node_modules/zod/v4/locales/bn.js +113 -0
  794. package/node_modules/zod/v4/locales/ca.cjs +5 -0
  795. package/node_modules/zod/v4/locales/ca.js +5 -0
  796. package/node_modules/zod/v4/locales/ckb.cjs +160 -0
  797. package/node_modules/zod/v4/locales/ckb.d.cts +5 -0
  798. package/node_modules/zod/v4/locales/ckb.d.ts +4 -0
  799. package/node_modules/zod/v4/locales/ckb.js +133 -0
  800. package/node_modules/zod/v4/locales/cs.cjs +5 -0
  801. package/node_modules/zod/v4/locales/cs.js +5 -0
  802. package/node_modules/zod/v4/locales/da.cjs +7 -2
  803. package/node_modules/zod/v4/locales/da.js +7 -2
  804. package/node_modules/zod/v4/locales/de.cjs +5 -0
  805. package/node_modules/zod/v4/locales/de.js +5 -0
  806. package/node_modules/zod/v4/locales/el.cjs +3 -0
  807. package/node_modules/zod/v4/locales/el.js +3 -0
  808. package/node_modules/zod/v4/locales/en.cjs +16 -4
  809. package/node_modules/zod/v4/locales/en.js +16 -4
  810. package/node_modules/zod/v4/locales/eo.cjs +5 -0
  811. package/node_modules/zod/v4/locales/eo.js +5 -0
  812. package/node_modules/zod/v4/locales/es.cjs +4 -0
  813. package/node_modules/zod/v4/locales/es.js +4 -0
  814. package/node_modules/zod/v4/locales/fa.cjs +5 -0
  815. package/node_modules/zod/v4/locales/fa.js +5 -0
  816. package/node_modules/zod/v4/locales/fi.cjs +5 -0
  817. package/node_modules/zod/v4/locales/fi.js +5 -0
  818. package/node_modules/zod/v4/locales/fr-CA.cjs +5 -0
  819. package/node_modules/zod/v4/locales/fr-CA.js +5 -0
  820. package/node_modules/zod/v4/locales/fr.cjs +18 -14
  821. package/node_modules/zod/v4/locales/fr.js +18 -14
  822. package/node_modules/zod/v4/locales/gu.cjs +140 -0
  823. package/node_modules/zod/v4/locales/gu.d.cts +5 -0
  824. package/node_modules/zod/v4/locales/gu.d.ts +4 -0
  825. package/node_modules/zod/v4/locales/gu.js +113 -0
  826. package/node_modules/zod/v4/locales/he.cjs +7 -0
  827. package/node_modules/zod/v4/locales/he.js +7 -0
  828. package/node_modules/zod/v4/locales/hi.cjs +138 -0
  829. package/node_modules/zod/v4/locales/hi.d.cts +5 -0
  830. package/node_modules/zod/v4/locales/hi.d.ts +4 -0
  831. package/node_modules/zod/v4/locales/hi.js +111 -0
  832. package/node_modules/zod/v4/locales/hr.cjs +4 -0
  833. package/node_modules/zod/v4/locales/hr.js +4 -0
  834. package/node_modules/zod/v4/locales/hu.cjs +5 -0
  835. package/node_modules/zod/v4/locales/hu.js +5 -0
  836. package/node_modules/zod/v4/locales/hy.cjs +11 -0
  837. package/node_modules/zod/v4/locales/hy.js +11 -0
  838. package/node_modules/zod/v4/locales/id.cjs +5 -0
  839. package/node_modules/zod/v4/locales/id.js +5 -0
  840. package/node_modules/zod/v4/locales/index.cjs +43 -2
  841. package/node_modules/zod/v4/locales/index.d.cts +11 -0
  842. package/node_modules/zod/v4/locales/index.d.ts +11 -0
  843. package/node_modules/zod/v4/locales/index.js +11 -0
  844. package/node_modules/zod/v4/locales/is.cjs +5 -0
  845. package/node_modules/zod/v4/locales/is.js +5 -0
  846. package/node_modules/zod/v4/locales/it.cjs +5 -0
  847. package/node_modules/zod/v4/locales/it.js +5 -0
  848. package/node_modules/zod/v4/locales/ja.cjs +5 -0
  849. package/node_modules/zod/v4/locales/ja.js +5 -0
  850. package/node_modules/zod/v4/locales/ka.cjs +5 -0
  851. package/node_modules/zod/v4/locales/ka.js +5 -0
  852. package/node_modules/zod/v4/locales/km.cjs +5 -0
  853. package/node_modules/zod/v4/locales/km.js +5 -0
  854. package/node_modules/zod/v4/locales/kn.cjs +143 -0
  855. package/node_modules/zod/v4/locales/kn.d.cts +5 -0
  856. package/node_modules/zod/v4/locales/kn.d.ts +4 -0
  857. package/node_modules/zod/v4/locales/kn.js +116 -0
  858. package/node_modules/zod/v4/locales/ko.cjs +5 -0
  859. package/node_modules/zod/v4/locales/ko.js +5 -0
  860. package/node_modules/zod/v4/locales/lt.cjs +4 -0
  861. package/node_modules/zod/v4/locales/lt.js +4 -0
  862. package/node_modules/zod/v4/locales/mk.cjs +5 -0
  863. package/node_modules/zod/v4/locales/mk.js +5 -0
  864. package/node_modules/zod/v4/locales/ms.cjs +5 -0
  865. package/node_modules/zod/v4/locales/ms.js +5 -0
  866. package/node_modules/zod/v4/locales/ne.cjs +138 -0
  867. package/node_modules/zod/v4/locales/ne.d.cts +5 -0
  868. package/node_modules/zod/v4/locales/ne.d.ts +4 -0
  869. package/node_modules/zod/v4/locales/ne.js +111 -0
  870. package/node_modules/zod/v4/locales/nl.cjs +5 -0
  871. package/node_modules/zod/v4/locales/nl.js +5 -0
  872. package/node_modules/zod/v4/locales/nn.cjs +140 -0
  873. package/node_modules/zod/v4/locales/nn.d.cts +5 -0
  874. package/node_modules/zod/v4/locales/nn.d.ts +4 -0
  875. package/node_modules/zod/v4/locales/nn.js +113 -0
  876. package/node_modules/zod/v4/locales/no.cjs +7 -2
  877. package/node_modules/zod/v4/locales/no.js +7 -2
  878. package/node_modules/zod/v4/locales/ota.cjs +5 -0
  879. package/node_modules/zod/v4/locales/ota.js +5 -0
  880. package/node_modules/zod/v4/locales/pl.cjs +5 -0
  881. package/node_modules/zod/v4/locales/pl.js +5 -0
  882. package/node_modules/zod/v4/locales/ps.cjs +5 -0
  883. package/node_modules/zod/v4/locales/ps.js +5 -0
  884. package/node_modules/zod/v4/locales/pt-BR.cjs +170 -0
  885. package/node_modules/zod/v4/locales/pt-BR.d.cts +5 -0
  886. package/node_modules/zod/v4/locales/pt-BR.d.ts +4 -0
  887. package/node_modules/zod/v4/locales/pt-BR.js +143 -0
  888. package/node_modules/zod/v4/locales/pt.cjs +89 -55
  889. package/node_modules/zod/v4/locales/pt.js +89 -55
  890. package/node_modules/zod/v4/locales/ro.cjs +3 -0
  891. package/node_modules/zod/v4/locales/ro.js +3 -0
  892. package/node_modules/zod/v4/locales/ru.cjs +12 -0
  893. package/node_modules/zod/v4/locales/ru.js +12 -0
  894. package/node_modules/zod/v4/locales/sk.cjs +143 -0
  895. package/node_modules/zod/v4/locales/sk.d.cts +5 -0
  896. package/node_modules/zod/v4/locales/sk.d.ts +4 -0
  897. package/node_modules/zod/v4/locales/sk.js +116 -0
  898. package/node_modules/zod/v4/locales/sl.cjs +5 -0
  899. package/node_modules/zod/v4/locales/sl.js +5 -0
  900. package/node_modules/zod/v4/locales/sv.cjs +7 -2
  901. package/node_modules/zod/v4/locales/sv.js +7 -2
  902. package/node_modules/zod/v4/locales/ta.cjs +5 -0
  903. package/node_modules/zod/v4/locales/ta.js +5 -0
  904. package/node_modules/zod/v4/locales/tg.cjs +144 -0
  905. package/node_modules/zod/v4/locales/tg.d.cts +5 -0
  906. package/node_modules/zod/v4/locales/tg.d.ts +4 -0
  907. package/node_modules/zod/v4/locales/tg.js +117 -0
  908. package/node_modules/zod/v4/locales/th.cjs +5 -0
  909. package/node_modules/zod/v4/locales/th.js +5 -0
  910. package/node_modules/zod/v4/locales/tk.cjs +134 -0
  911. package/node_modules/zod/v4/locales/tk.d.cts +5 -0
  912. package/node_modules/zod/v4/locales/tk.d.ts +4 -0
  913. package/node_modules/zod/v4/locales/tk.js +107 -0
  914. package/node_modules/zod/v4/locales/tr.cjs +5 -0
  915. package/node_modules/zod/v4/locales/tr.js +5 -0
  916. package/node_modules/zod/v4/locales/uk.cjs +5 -0
  917. package/node_modules/zod/v4/locales/uk.js +5 -0
  918. package/node_modules/zod/v4/locales/ur.cjs +5 -0
  919. package/node_modules/zod/v4/locales/ur.js +5 -0
  920. package/node_modules/zod/v4/locales/uz.cjs +3 -0
  921. package/node_modules/zod/v4/locales/uz.js +3 -0
  922. package/node_modules/zod/v4/locales/vi.cjs +5 -0
  923. package/node_modules/zod/v4/locales/vi.js +5 -0
  924. package/node_modules/zod/v4/locales/yo.cjs +5 -0
  925. package/node_modules/zod/v4/locales/yo.js +5 -0
  926. package/node_modules/zod/v4/locales/zh-CN.cjs +5 -0
  927. package/node_modules/zod/v4/locales/zh-CN.js +5 -0
  928. package/node_modules/zod/v4/locales/zh-TW.cjs +5 -0
  929. package/node_modules/zod/v4/locales/zh-TW.js +5 -0
  930. package/node_modules/zod/v4/mini/checks.cjs +21 -1
  931. package/node_modules/zod/v4/mini/checks.d.cts +1 -1
  932. package/node_modules/zod/v4/mini/checks.d.ts +1 -1
  933. package/node_modules/zod/v4/mini/checks.js +1 -1
  934. package/node_modules/zod/v4/mini/coerce.cjs +19 -0
  935. package/node_modules/zod/v4/mini/deep-partial.cjs +58 -0
  936. package/node_modules/zod/v4/mini/deep-partial.d.cts +14 -0
  937. package/node_modules/zod/v4/mini/deep-partial.d.ts +14 -0
  938. package/node_modules/zod/v4/mini/deep-partial.js +13 -0
  939. package/node_modules/zod/v4/mini/external.cjs +33 -1
  940. package/node_modules/zod/v4/mini/external.d.cts +5 -2
  941. package/node_modules/zod/v4/mini/external.d.ts +5 -2
  942. package/node_modules/zod/v4/mini/external.js +3 -1
  943. package/node_modules/zod/v4/mini/in-out.cjs +82 -0
  944. package/node_modules/zod/v4/mini/in-out.d.cts +8 -0
  945. package/node_modules/zod/v4/mini/in-out.d.ts +8 -0
  946. package/node_modules/zod/v4/mini/in-out.js +36 -0
  947. package/node_modules/zod/v4/mini/index.cjs +19 -0
  948. package/node_modules/zod/v4/mini/iso.cjs +19 -0
  949. package/node_modules/zod/v4/mini/parse.cjs +22 -1
  950. package/node_modules/zod/v4/mini/parse.d.cts +1 -1
  951. package/node_modules/zod/v4/mini/parse.d.ts +1 -1
  952. package/node_modules/zod/v4/mini/parse.js +1 -1
  953. package/node_modules/zod/v4/mini/schemas.cjs +117 -53
  954. package/node_modules/zod/v4/mini/schemas.d.cts +49 -14
  955. package/node_modules/zod/v4/mini/schemas.d.ts +49 -14
  956. package/node_modules/zod/v4/mini/schemas.js +92 -51
  957. package/node_modules/zod/v4-mini/index.cjs +19 -0
  958. package/openclaw.plugin.json +222 -45
  959. package/package.json +14 -11
  960. package/dist/direct-room-RinHjtqX.js +0 -71
  961. package/dist/probe.runtime-DWdw74_H.js +0 -2
  962. package/dist/runtime-6S3DNFNv.js +0 -8
  963. package/dist/types-DzSc7Sqm.js +0 -32
  964. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.d.ts +0 -33
  965. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.d.ts.map +0 -1
  966. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.js +0 -93
  967. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.js.map +0 -1
  968. package/node_modules/markdown-it/node_modules/entities/src/internal/encode-shared.ts +0 -123
  969. package/node_modules/zod/src/v4/core/config.ts +0 -15
  970. /package/dist/{account-config-CRsKoMqJ.js → .setup/account-config-CRsKoMqJ.mjs} +0 -0
  971. /package/dist/{backup-health-Dm_YMVFT.js → .setup/backup-health-Dm_YMVFT.mjs} +0 -0
  972. /package/dist/{config-paths-CnREYb1Y.js → .setup/config-paths-CnREYb1Y.mjs} +0 -0
  973. /package/dist/{config-secret-input.runtime-CwsP3--c.js → .setup/config-secret-input.runtime-CwsP3--c.mjs} +0 -0
  974. /package/dist/{credentials-state-B3cuUFwZ.js → .setup/credentials-state-B3cuUFwZ.mjs} +0 -0
  975. /package/dist/{crypto-node.runtime-6Aj_ltHQ.js → .setup/crypto-node.runtime-6Aj_ltHQ.mjs} +0 -0
  976. /package/dist/{deps-mtxF2mHI.js → .setup/deps-mtxF2mHI.mjs} +0 -0
  977. /package/dist/{doctor-contract-HyWFZQVG.js → .setup/doctor-contract-HyWFZQVG.mjs} +0 -0
  978. /package/dist/{env-vars-dGqak9dN.js → .setup/env-vars-dGqak9dN.mjs} +0 -0
  979. /package/dist/{errors-DKVS3_DO.js → .setup/errors-DKVS3_DO.mjs} +0 -0
  980. /package/dist/{event-helpers-CspuhE9k.js → .setup/event-helpers-CspuhE9k.mjs} +0 -0
  981. /package/dist/{idb-persistence-lock-B3fZXyF_.js → .setup/idb-persistence-lock-B3fZXyF_.mjs} +0 -0
  982. /package/dist/{rolldown-runtime-8H4AJuhK.js → .setup/rolldown-runtime-8H4AJuhK.mjs} +0 -0
  983. /package/dist/{storage-paths-DVCANXTc.js → .setup/storage-paths-DVCANXTc.mjs} +0 -0
  984. /package/dist/{target-ids-Nwx7cMVE.js → .setup/target-ids-Nwx7cMVE.mjs} +0 -0
  985. /package/dist/{thread-bindings-shared-oNPiyMWY.js → .setup/thread-bindings-shared-oNPiyMWY.mjs} +0 -0
  986. /package/dist/{url-validation-GRHde6lq.js → .setup/url-validation-GRHde6lq.mjs} +0 -0
@@ -1,47 +1,46 @@
1
- import { a as resolveMatrixAccountConfig, i as resolveMatrixAccountAllowlistConfig } from "./account-config-CRsKoMqJ.js";
2
- import { t as getMatrixRuntime } from "./runtime-6S3DNFNv.js";
3
- import { n as resolveConfiguredMatrixBotUserIds } from "./accounts-GwSAk9vY.js";
4
- import { _ as toLocationContext, a as resolveMatrixRoomConfig, c as canonicalizeAllowlistWithResolvedIds, d as formatLocationText, f as getAgentScopedMediaLocalRoots, g as summarizeMapping, h as patchAllowlistUsersInConfigEntries, i as resolveMatrixThreadRouting, l as createReplyPrefixOptions, m as logTypingFailure, n as resolveMatrixStoredSessionMeta, o as addAllowlistUserEntriesFromConfigEntry, p as logInboundDrop, r as resolveMatrixInboundRoute, s as buildAllowlistResolutionSummary, u as createTypingCallbacks } from "./channel-Cg97H4c1.js";
5
- import { a as normalizeMatrixUserId, i as normalizeMatrixAllowList, o as resolveMatrixAllowListMatch } from "./channel.setup-DmS7m7aT.js";
6
- import { n as isMatrixRoomId, t as isMatrixQualifiedUserId } from "./target-ids-Nwx7cMVE.js";
7
- import { A as promoteMatrixDirectRoomCandidate, S as isPollStartType, c as formatMatrixMediaTooLargeText, d as isLikelyBareFilename, g as resolveMatrixThreadRootId, h as resolveMatrixReplyToEventId, l as formatMatrixMediaUnavailableText, p as resolveMatrixReplacementContent, r as sendMessageMatrix, u as formatMatrixMessageText, w as parsePollStartContent, x as isPollEventType, y as formatPollAsText } from "./send-UWLIQ0bG.js";
8
- import { i as isStrictDirectMembership, n as hasDirectMatrixMemberFlag, o as readJoinedMatrixMembers } from "./direct-room-RinHjtqX.js";
9
- import { n as MATRIX_REACTION_EVENT_TYPE } from "./reaction-common-DkrQdBSZ.js";
10
- import { n as MATRIX_OPENCLAW_FINALIZED_PREVIEW_KEY } from "./types-DzSc7Sqm.js";
11
- import { t as createMatrixThreadBindingManager } from "./thread-bindings-Bwv87Gve.js";
12
- import { l as fetchMatrixPollSnapshot, r as readMatrixMessages } from "./messages-CpZfiQO0.js";
13
- import { a as throwIfMatrixStartupAborted, c as backfillMatrixAuthDeviceIdAfterStartup, i as isMatrixStartupAbortError, l as resolveMatrixAuth, n as acquireSharedMatrixClient, o as createMatrixMonitorTaskRunner, u as resolveMatrixAuthContext } from "./client-CPcRv6ab.js";
14
- import { i as isMatrixMediaSizeLimitError, r as MatrixMediaSizeLimitError } from "./http-client-BfPeF4CE.js";
15
- import { n as prepareMatrixReplyPayload, r as resolveMatrixExtraContent } from "./outbound-D91JinYa.js";
16
- import { t as resolveMatrixTargets } from "./resolve-targets-K8D0HWPX.js";
17
- import { t as formatMatrixEncryptedEventDisabledWarning } from "./encryption-guidance-mDyxJV9U.js";
18
- import { createMatrixInboundEventDeduper } from "./inbound-dedupe-Ch33GU06.js";
19
- import { a as isMatrixAccessTokenInvalidatedError, d as isMatrixDisconnectedSyncState, f as isMatrixReadySyncState, p as isMatrixTerminalSyncState } from "./client-support-DLj4vDeu.js";
20
- import { i as setBoundedMap, r as getMatrixRoomInfo, t as createMatrixRoomInfoResolver } from "./room-info-BPVJkXnp.js";
1
+ import { t as getMatrixRuntime } from "./runtime-1kn1P6io.mjs";
2
+ import { a as resolveMatrixAccountConfig, i as resolveMatrixAccountAllowlistConfig } from "./account-config-CRsKoMqJ.mjs";
3
+ import { n as resolveConfiguredMatrixBotUserIds } from "./accounts-iThMol10.mjs";
4
+ import { _ as toLocationContext, a as resolveMatrixRoomConfig, c as canonicalizeAllowlistWithResolvedIds, d as formatLocationText, f as getAgentScopedMediaLocalRoots, g as summarizeMapping, h as patchAllowlistUsersInConfigEntries, i as resolveMatrixThreadRouting, l as createReplyPrefixOptions, m as logTypingFailure, n as resolveMatrixStoredSessionMeta, o as addAllowlistUserEntriesFromConfigEntry, p as logInboundDrop, r as resolveMatrixInboundRoute, s as buildAllowlistResolutionSummary, u as createTypingCallbacks } from "./channel-ConuJfxT.mjs";
5
+ import { a as normalizeMatrixUserId, i as normalizeMatrixAllowList, o as resolveMatrixAllowListMatch } from "./channel.setup-C6KvBV8l.mjs";
6
+ import { n as isMatrixRoomId, t as isMatrixQualifiedUserId } from "./target-ids-Nwx7cMVE.mjs";
7
+ import { a as MATRIX_REACTION_EVENT_TYPE } from "./send-currentness-BrGXL7b8.mjs";
8
+ import { c as isStrictDirectMembership, f as resolveMatrixReplyToEventId, h as MATRIX_OPENCLAW_FINALIZED_PREVIEW_KEY, i as promoteMatrixDirectRoomCandidate, p as resolveMatrixThreadRootId, s as hasDirectMatrixMemberFlag, u as readJoinedMatrixMembers } from "./direct-management-B2Bno2xL.mjs";
9
+ import { S as parsePollStartContent, _ as formatPollAsText, b as isPollStartType, c as formatMatrixMediaTooLargeText, d as isLikelyBareFilename, l as formatMatrixMediaUnavailableText, p as resolveMatrixReplacementContent, r as sendMessageMatrix, u as formatMatrixMessageText, y as isPollEventType } from "./send-aVdC5NJO.mjs";
10
+ import { t as createMatrixThreadBindingManager } from "./thread-bindings-JlnLDfPM.mjs";
11
+ import { i as readMatrixMessages, u as fetchMatrixPollSnapshot } from "./messages-COuAcrz-.mjs";
12
+ import { c as createMatrixMonitorTaskRunner, d as resolveMatrixAuth, f as resolveMatrixAuthContext, l as getMatrixMonitorTaskSignal, o as isMatrixStartupAbortError, r as acquireSharedMatrixClient, s as throwIfMatrixStartupAborted, u as backfillMatrixAuthDeviceIdAfterStartup } from "./client-ChrXpxos.mjs";
13
+ import { i as isMatrixMediaSizeLimitError, r as MatrixMediaSizeLimitError } from "./http-client-Bi6uKmzh.mjs";
14
+ import { n as prepareMatrixReplyPayload, r as resolveMatrixExtraContent } from "./outbound-B508VPBM.mjs";
15
+ import { t as resolveMatrixTargets } from "./resolve-targets-BLz748lX.mjs";
16
+ import { t as formatMatrixEncryptedEventDisabledWarning } from "./encryption-guidance-CMWXiBzJ.mjs";
17
+ import { createMatrixInboundEventDeduper } from "./inbound-dedupe-BSlv35xl.mjs";
18
+ import { a as isMatrixAccessTokenInvalidatedError, d as isMatrixDisconnectedSyncState, f as isMatrixReadySyncState, p as isMatrixTerminalSyncState } from "./client-support-Bn9Bk0-H.mjs";
19
+ import { i as setBoundedMap, r as getMatrixRoomInfo, t as createMatrixRoomInfoResolver } from "./room-info-DTyP1k5g.mjs";
21
20
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
22
- import { createChannelProgressDraftCompositor, createPreviewMessageReceipt, defineFinalizableLivePreviewAdapter, deliverWithFinalizableLivePreviewAdapter, resolveChannelStreamingBlockEnabled, waitUntilAbort } from "openclaw/plugin-sdk/channel-outbound";
21
+ import { createChannelProgressDraftCompositor, createLivePreviewLifecycle, createPreviewMessageReceipt, resolveChannelStreamingBlockEnabled, waitUntilAbort } from "openclaw/plugin-sdk/channel-outbound";
23
22
  import { normalizeLowercaseStringOrEmpty, normalizeNullableString, normalizeOptionalString, normalizeStringifiedEntries, readStringValue, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
24
23
  import { stripReasoningTagsFromText } from "openclaw/plugin-sdk/text-chunking";
25
24
  import { CHANNEL_APPROVAL_NATIVE_RUNTIME_CONTEXT_CAPABILITY } from "openclaw/plugin-sdk/approval-handler-adapter-runtime";
26
25
  import { extractErrorCode, formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
27
- import { isFutureDateTimestampMs, parseStrictFiniteNumber, resolveExpiresAtMsFromDurationMs, resolveOptionalIntegerOption } from "openclaw/plugin-sdk/number-runtime";
26
+ import { isFutureDateTimestampMs, parseStrictFiniteNumber, resolveExpiresAtMsFromDurationMs, resolveOptionalIntegerOption, resolvePromptHistoryLimit } from "openclaw/plugin-sdk/number-runtime";
28
27
  import { resolveAgentRoute, resolveInboundLastRouteSessionKey } from "openclaw/plugin-sdk/routing";
29
28
  import { createAcceptedChannelDeliveryResult, createChannelInboundEnvelopeBuilder, createChannelPartialDeliveryError, hasFinalInboundReplyDispatch, isChannelPartialDeliveryError, resolveInboundMentionDecision, resolveInboundReplyDispatchCounts, toInboundMediaFactsWithMetadata } from "openclaw/plugin-sdk/channel-inbound";
30
29
  import { getSessionEntry, resolveStorePath } from "openclaw/plugin-sdk/session-store-runtime";
31
30
  import { KeyedAsyncQueue } from "openclaw/plugin-sdk/keyed-async-queue";
32
31
  import { escapeRegExp, sliceUtf16Safe, truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
32
+ import { buildTtsSupplementMediaPayload, getReplyPayloadTtsSupplement, resolveSendableOutboundReplyParts } from "openclaw/plugin-sdk/reply-payload";
33
33
  import { format } from "node:util";
34
34
  import { resolvePinnedMainDmOwnerFromAllowlist } from "openclaw/plugin-sdk/security-runtime";
35
- import { buildTtsSupplementMediaPayload, getReplyPayloadTtsSupplement, resolveSendableOutboundReplyParts } from "openclaw/plugin-sdk/reply-payload";
36
35
  import { registerChannelRuntimeContext } from "openclaw/plugin-sdk/channel-runtime-context";
37
36
  import { GROUP_POLICY_BLOCKED_LABEL, resolveAllowlistProviderRuntimeGroupPolicy, resolveDefaultGroupPolicy, warnMissingProviderGroupPolicyFallbackOnce } from "openclaw/plugin-sdk/runtime-group-policy";
38
37
  import { resolveThreadBindingIdleTimeoutMsForChannel, resolveThreadBindingMaxAgeMsForChannel } from "openclaw/plugin-sdk/thread-bindings-runtime";
39
38
  import { isDangerousNameMatchingEnabled } from "openclaw/plugin-sdk/dangerous-name-runtime";
40
39
  import { reportChannelRoomJoin } from "openclaw/plugin-sdk/channel-join-intro-runtime";
41
- import { createChannelIngressResolver, defineStableChannelIngressIdentity } from "openclaw/plugin-sdk/channel-ingress-runtime";
40
+ import { defineStableChannelIngressIdentity } from "openclaw/plugin-sdk/channel-ingress-runtime";
42
41
  import { resolveHumanDelayConfig } from "openclaw/plugin-sdk/agent-runtime";
43
- import { evaluateSupplementalContextVisibility, resolveChannelContextVisibilityMode } from "openclaw/plugin-sdk/context-visibility-runtime";
44
42
  import { getGlobalHookRunner } from "openclaw/plugin-sdk/plugin-runtime";
43
+ import { evaluateSupplementalContextVisibility, resolveChannelContextVisibilityMode } from "openclaw/plugin-sdk/context-visibility-runtime";
45
44
  import { resolveAckReaction } from "openclaw/plugin-sdk/channel-feedback";
46
45
  import { createChannelPreflightAudio, formatAudioTranscriptForAgent } from "openclaw/plugin-sdk/media-understanding-runtime";
47
46
  import { mergePairLoopGuardConfig } from "openclaw/plugin-sdk/pair-loop-guard-runtime";
@@ -739,7 +738,7 @@ async function resolveMatrixMonitorAccessState(params) {
739
738
  });
740
739
  const accountId = params.accountId ?? "default";
741
740
  const eventKind = params.eventKind ?? "message";
742
- const ingress = createChannelIngressResolver({
741
+ const ingress = getMatrixRuntime().channel.inbound.ingress.createResolver({
743
742
  channelId: "matrix",
744
743
  accountId,
745
744
  identity: matrixIngressIdentity,
@@ -776,7 +775,7 @@ async function resolveMatrixMonitorAccessState(params) {
776
775
  async function resolveMatrixMonitorCommandAccess(state, params) {
777
776
  const commandAllowFrom = state.isRoom ? [] : state.messageIngress.senderAccess.effectiveAllowFrom;
778
777
  const commandGroupAllowFrom = state.effectiveRoomUsers.length > 0 ? state.effectiveRoomUsers : state.effectiveGroupAllowFrom;
779
- return (await createChannelIngressResolver({
778
+ return (await getMatrixRuntime().channel.inbound.ingress.createResolver({
780
779
  channelId: "matrix",
781
780
  accountId: state.accountId,
782
781
  identity: matrixIngressIdentity
@@ -837,7 +836,7 @@ const matrixVerificationConstants = {
837
836
  const MAX_TRACKED_VERIFICATION_EVENTS = 1024;
838
837
  const SAS_NOTICE_RETRY_DELAY_MS = 750;
839
838
  const VERIFICATION_EVENT_STARTUP_GRACE_MS = 3e4;
840
- const loadMatrixDirectRoomDeps = createLazyRuntimeModule(() => Promise.all([import("./send-UWLIQ0bG.js").then((n) => n.k), import("./direct-room-RinHjtqX.js").then((n) => n.t)]).then(([directManagementModule, directRoomModule]) => ({
839
+ const loadMatrixDirectRoomDeps = createLazyRuntimeModule(() => Promise.all([import("./direct-management-B2Bno2xL.mjs").then((n) => n.t), import("./direct-management-B2Bno2xL.mjs").then((n) => n.o)]).then(([directManagementModule, directRoomModule]) => ({
841
840
  inspectMatrixDirectRooms: directManagementModule.inspectMatrixDirectRooms,
842
841
  isStrictDirectRoom: directRoomModule.isStrictDirectRoom
843
842
  })));
@@ -1649,17 +1648,14 @@ function formatMatrixToolProgressMarkdownCode(text) {
1649
1648
  }
1650
1649
  //#endregion
1651
1650
  //#region extensions/matrix/src/matrix/monitor/handler-runtime.ts
1652
- async function redactMatrixDraftEvent(client, roomId, draftEventId) {
1653
- return await client.redactEvent(roomId, draftEventId).then(() => true, () => false);
1654
- }
1655
1651
  function buildMatrixFinalizedPreviewContent() {
1656
1652
  return { [MATRIX_OPENCLAW_FINALIZED_PREVIEW_KEY]: true };
1657
1653
  }
1658
- const loadMatrixSendModule = createLazyRuntimeModule(() => import("./send-UWLIQ0bG.js").then((n) => n.s));
1654
+ const loadMatrixSendModule = createLazyRuntimeModule(() => import("./send-aVdC5NJO.mjs").then((n) => n.s));
1659
1655
  const loadAcpBindingRuntime = createLazyRuntimeModule(() => import("openclaw/plugin-sdk/acp-binding-runtime"));
1660
1656
  const loadSessionBindingRuntime = createLazyRuntimeModule(() => import("openclaw/plugin-sdk/session-binding-runtime"));
1661
- const loadMatrixReactionEvents = createLazyRuntimeModule(() => import("./reaction-events-2WM2nJe_.js"));
1662
- const loadMatrixDraftStream = createLazyRuntimeModule(() => import("./draft-stream--NdEtnZ8.js"));
1657
+ const loadMatrixReactionEvents = createLazyRuntimeModule(() => import("./reaction-events-BvZmhjLC.mjs"));
1658
+ const loadMatrixDraftStream = createLazyRuntimeModule(() => import("./draft-stream-y0Vq5f38.mjs"));
1663
1659
  async function matrixTextWouldActivateMentions(client, text) {
1664
1660
  const { resolveMatrixMentionsForBody } = await loadMatrixSendModule();
1665
1661
  const mentions = await resolveMatrixMentionsForBody({
@@ -1670,6 +1666,11 @@ async function matrixTextWouldActivateMentions(client, text) {
1670
1666
  }
1671
1667
  //#endregion
1672
1668
  //#region extensions/matrix/src/matrix/monitor/context-summary.ts
1669
+ const MAX_CONTEXT_BODY_LENGTH = 500;
1670
+ function truncateMatrixContextBody(value) {
1671
+ if (value.length <= MAX_CONTEXT_BODY_LENGTH) return value;
1672
+ return `${sliceUtf16Safe(value, 0, 497)}...`;
1673
+ }
1673
1674
  function summarizeMatrixMessageContextEvent(event) {
1674
1675
  if (isPollStartType(event.type)) {
1675
1676
  const pollSummary = parsePollStartContent(event.content);
@@ -1685,14 +1686,9 @@ function summarizeMatrixMessageContextEvent(event) {
1685
1686
  //#endregion
1686
1687
  //#region extensions/matrix/src/matrix/monitor/reply-context.ts
1687
1688
  const MAX_CACHED_REPLY_CONTEXTS = 256;
1688
- const MAX_REPLY_BODY_LENGTH = 500;
1689
- function truncateReplyBody(value) {
1690
- if (value.length <= MAX_REPLY_BODY_LENGTH) return value;
1691
- return `${sliceUtf16Safe(value, 0, 497)}...`;
1692
- }
1693
1689
  function summarizeMatrixReplyEvent(event) {
1694
1690
  const body = summarizeMatrixMessageContextEvent(event);
1695
- return body ? truncateReplyBody(body) : void 0;
1691
+ return body ? truncateMatrixContextBody(body) : void 0;
1696
1692
  }
1697
1693
  /**
1698
1694
  * Creates a cached resolver that fetches the body and sender of a replied-to
@@ -1702,11 +1698,7 @@ function summarizeMatrixReplyEvent(event) {
1702
1698
  function createMatrixReplyContextResolver(params) {
1703
1699
  const cache = /* @__PURE__ */ new Map();
1704
1700
  const remember = (key, value) => {
1705
- cache.set(key, value);
1706
- if (cache.size > MAX_CACHED_REPLY_CONTEXTS) {
1707
- const oldest = cache.keys().next().value;
1708
- if (typeof oldest === "string") cache.delete(oldest);
1709
- }
1701
+ setBoundedMap(cache, key, value, MAX_CACHED_REPLY_CONTEXTS);
1710
1702
  return value;
1711
1703
  };
1712
1704
  return async (input) => {
@@ -1738,14 +1730,9 @@ function createMatrixReplyContextResolver(params) {
1738
1730
  //#endregion
1739
1731
  //#region extensions/matrix/src/matrix/monitor/thread-context.ts
1740
1732
  const MAX_TRACKED_THREAD_STARTERS = 256;
1741
- const MAX_THREAD_STARTER_BODY_LENGTH = 500;
1742
- function truncateThreadStarterBody(value) {
1743
- if (value.length <= MAX_THREAD_STARTER_BODY_LENGTH) return value;
1744
- return `${sliceUtf16Safe(value, 0, 497)}...`;
1745
- }
1746
1733
  function summarizeMatrixThreadStarterEvent(event) {
1747
1734
  const body = summarizeMatrixMessageContextEvent(event);
1748
- if (body) return truncateThreadStarterBody(body);
1735
+ if (body) return truncateMatrixContextBody(body);
1749
1736
  const content = event.content;
1750
1737
  const msgtype = normalizeOptionalString(content.msgtype);
1751
1738
  if (msgtype) return `Matrix ${msgtype} message`;
@@ -1761,11 +1748,7 @@ function formatMatrixThreadStarterBody(params) {
1761
1748
  function createMatrixThreadContextResolver(params) {
1762
1749
  const cache = /* @__PURE__ */ new Map();
1763
1750
  const remember = (key, value) => {
1764
- cache.set(key, value);
1765
- if (cache.size > MAX_TRACKED_THREAD_STARTERS) {
1766
- const oldest = cache.keys().next().value;
1767
- if (typeof oldest === "string") cache.delete(oldest);
1768
- }
1751
+ setBoundedMap(cache, key, value, MAX_TRACKED_THREAD_STARTERS);
1769
1752
  return value;
1770
1753
  };
1771
1754
  return async (input) => {
@@ -1798,7 +1781,14 @@ function createMatrixThreadContextResolver(params) {
1798
1781
  //#endregion
1799
1782
  //#region extensions/matrix/src/matrix/monitor/handler-context.ts
1800
1783
  async function resolveMatrixInboundContext(config) {
1801
- const { client, core, cfg, accountId, resolveMessageIngress, runtime, logVerboseMessage, roomId, event, eventTs, route: _route, isDirectMessage, isRoom, effectiveRoomUsers, groupPolicy, effectiveGroupAllowFrom, contextVisibilityMode, resolveThreadContext, resolveReplyContext, threadRootId, thread, getRoomInfo, senderId, senderName, bodyText, commandBodyText, roomConfig, messageId, inboundHistory, wasMentioned, effectiveWasMentioned, shouldBypassMention, canDetectMention, shouldRequireMention, commandAuthorized, locationPayload, media, preflightAudioTranscript, historyLimit, hasExplicitSessionBinding, dmSessionScope, sharedDmContextNoticeRooms, resolveStorePath: resolveStorePathImpl, createChannelInboundEnvelopeBuilder: createChannelInboundEnvelopeBuilderImpl, finalizeInboundContext } = config;
1784
+ const { handler, ingress, roomId, event, eventTs, resolveThreadContext, resolveReplyContext, senderId, sharedDmContextNoticeRooms } = config;
1785
+ const { client, core, accountId, runtime, logVerboseMessage, groupPolicy, getRoomInfo, historyLimit, dmSessionScope, resolveStorePath: resolveStorePathImpl, createChannelInboundEnvelopeBuilder: createChannelInboundEnvelopeBuilderImpl, finalizeInboundContext } = handler;
1786
+ const { cfg, resolveMessageIngress, route: _route, isDirectMessage, isRoom, effectiveRoomUsers, effectiveGroupAllowFrom, threadRootId, thread, senderName, bodyText, commandBodyText, roomConfig, messageId, inboundHistory, wasMentioned, effectiveWasMentioned, shouldBypassMention, canDetectMention, shouldRequireMention, commandAuthorized, locationPayload, media, preflightAudioTranscript, hasExplicitSessionBinding } = ingress;
1787
+ const contextVisibilityMode = resolveChannelContextVisibilityMode({
1788
+ cfg,
1789
+ channel: "matrix",
1790
+ accountId
1791
+ });
1802
1792
  const replyToEventId = resolveMatrixReplyToEventId(event.content);
1803
1793
  const threadTarget = thread.threadId;
1804
1794
  const isRoomContextSenderAllowed = (contextSenderId) => {
@@ -1870,6 +1860,7 @@ async function resolveMatrixInboundContext(config) {
1870
1860
  const channelIngress = await resolveMessageIngress({
1871
1861
  agentId: _route.agentId,
1872
1862
  sessionKey: _route.sessionKey,
1863
+ nativeChannelId: roomId,
1873
1864
  messageId,
1874
1865
  inboundEventKind: "user_request"
1875
1866
  }, {
@@ -1917,9 +1908,7 @@ async function resolveMatrixInboundContext(config) {
1917
1908
  threadId: threadTarget
1918
1909
  },
1919
1910
  route: {
1920
- agentId: _route.agentId,
1921
- dmScope: _route.dmScope,
1922
- accountId: _route.accountId,
1911
+ ..._route,
1923
1912
  routeSessionKey: _route.sessionKey,
1924
1913
  parentSessionKey: threadTarget && _route.matchedBy !== "binding.channel" ? _route.mainSessionKey : void 0
1925
1914
  },
@@ -1993,7 +1982,6 @@ async function resolveMatrixInboundContext(config) {
1993
1982
  //#region extensions/matrix/src/matrix/monitor/handler-draft-controller.ts
1994
1983
  async function createMatrixDraftController(params) {
1995
1984
  const { streaming, previewToolProgressEnabled, replyToMode, messageId, threadTarget, accountConfig, cfg, accountId, roomId, client, logVerboseMessage } = params;
1996
- let draftDisposition = "active";
1997
1985
  const draftStreamingEnabled = streaming !== "off";
1998
1986
  const quietDraftStreaming = streaming === "quiet" || streaming === "progress";
1999
1987
  const progressDraftStreaming = streaming === "progress";
@@ -2019,6 +2007,7 @@ async function createMatrixDraftController(params) {
2019
2007
  const progressConfigEntry = accountConfig ?? cfg.channels?.matrix;
2020
2008
  const progressSeed = `${accountId}:${roomId}`;
2021
2009
  const progressDraft = createChannelProgressDraftCompositor({
2010
+ preparedItems: true,
2022
2011
  entry: progressConfigEntry,
2023
2012
  mode: streaming === "quiet" ? "partial" : streaming,
2024
2013
  active: Boolean(draftStream),
@@ -2033,10 +2022,25 @@ async function createMatrixDraftController(params) {
2033
2022
  },
2034
2023
  deleteCurrent: () => draftStream?.deleteCurrentMessage()
2035
2024
  });
2025
+ const previewLifecycle = createLivePreviewLifecycle({
2026
+ draft: draftStream ? {
2027
+ flush: draftStream.flush,
2028
+ id: draftStream.eventId,
2029
+ seal: draftStream.seal,
2030
+ discardPending: draftStream.discardPending,
2031
+ clear: draftStream.clear
2032
+ } : void 0,
2033
+ cleanupUndelivered: true,
2034
+ onFinalStarted: () => progressDraft.markFinalReplyStarted(),
2035
+ onFinalDelivered: () => progressDraft.markFinalReplyDelivered(),
2036
+ onCleanupFailure: (err) => logVerboseMessage(`matrix draft preview cleanup failed: ${String(err)}`)
2037
+ });
2036
2038
  const buildPreviewToolProgressReplyOptions = () => {
2037
2039
  if (!shouldSuppressDefaultToolProgressMessages) return {};
2038
2040
  return {
2039
2041
  suppressDefaultToolProgressMessages: true,
2042
+ progressPreambleEnabled: true,
2043
+ commentaryProgressEnabled: progressDraft.commentaryProgressEnabled,
2040
2044
  onToolStart: async (payload) => {
2041
2045
  return await progressDraft.pushToolEvent(payload);
2042
2046
  },
@@ -2045,16 +2049,13 @@ async function createMatrixDraftController(params) {
2045
2049
  },
2046
2050
  onPlanUpdate: async (payload) => {
2047
2051
  if (payload.phase !== "update") return false;
2048
- return await progressDraft.pushPlanProgress(payload.steps, { explanation: payload.explanation });
2052
+ return await progressDraft.pushPlanProgress(payload.steps, {
2053
+ explanation: payload.explanation,
2054
+ explanationFormat: payload.explanationFormat
2055
+ });
2049
2056
  },
2050
2057
  onApprovalEvent: async (payload) => {
2051
2058
  return await progressDraft.pushApprovalEvent(payload);
2052
- },
2053
- onCommandOutput: async (payload) => {
2054
- return await progressDraft.pushCommandOutputEvent(payload);
2055
- },
2056
- onPatchSummary: async (payload) => {
2057
- return await progressDraft.pushPatchEvent(payload);
2058
2059
  }
2059
2060
  };
2060
2061
  };
@@ -2094,7 +2095,7 @@ async function createMatrixDraftController(params) {
2094
2095
  const resetDraftDeliveryState = async () => {
2095
2096
  await draftStream?.discardPending();
2096
2097
  draftStream?.reset();
2097
- draftDisposition = "active";
2098
+ previewLifecycle.reset();
2098
2099
  currentDraftMessageGeneration = 0;
2099
2100
  currentDraftBlockOffset = 0;
2100
2101
  latestDraftFullText = "";
@@ -2105,6 +2106,7 @@ async function createMatrixDraftController(params) {
2105
2106
  };
2106
2107
  return {
2107
2108
  draftStream,
2109
+ previewLifecycle,
2108
2110
  cancelProgressDraft: () => progressDraft.cancel(),
2109
2111
  buildPreviewToolProgressReplyOptions,
2110
2112
  queueDraftBlockBoundary,
@@ -2113,16 +2115,9 @@ async function createMatrixDraftController(params) {
2113
2115
  beginAssistantMessage: () => progressDraft.beginAssistantMessage(),
2114
2116
  resetDraftDeliveryState,
2115
2117
  updateDraftFromLatestFullText,
2116
- draftDisposition: () => draftDisposition,
2117
2118
  beginDraftGeneration: () => {
2118
- draftDisposition = "active";
2119
- progressDraft.resetActivity();
2120
- },
2121
- markDraftConsumed: () => {
2122
- draftDisposition = "consumed";
2123
- },
2124
- markDraftRetained: () => {
2125
- draftDisposition = "retained";
2119
+ previewLifecycle.reset();
2120
+ progressDraft.beginNewTurn({ force: true });
2126
2121
  },
2127
2122
  currentReplyToId: () => currentDraftReplyToId,
2128
2123
  setCurrentReplyToId: (replyToId) => {
@@ -2152,7 +2147,7 @@ const MAX_WATERMARK_ENTRIES = 5e3;
2152
2147
  const MAX_PREPARED_TRIGGER_ENTRIES = 500;
2153
2148
  /** Maximum thread queues retained per room (FIFO eviction beyond this). */
2154
2149
  const MAX_THREAD_QUEUES_PER_ROOM = 200;
2155
- function createRoomHistoryTrackerInternal(maxQueueSize = DEFAULT_MAX_QUEUE_SIZE, maxRoomQueues = DEFAULT_MAX_ROOM_QUEUES, maxWatermarkEntries = MAX_WATERMARK_ENTRIES, maxPreparedTriggerEntries = MAX_PREPARED_TRIGGER_ENTRIES) {
2150
+ function createRoomHistoryTracker(maxQueueSize = DEFAULT_MAX_QUEUE_SIZE, maxRoomQueues = DEFAULT_MAX_ROOM_QUEUES, maxWatermarkEntries = MAX_WATERMARK_ENTRIES, maxPreparedTriggerEntries = MAX_PREPARED_TRIGGER_ENTRIES) {
2156
2151
  const roomQueues = /* @__PURE__ */ new Map();
2157
2152
  /** Maps `{agentId, roomId, scope}` → absolute consumed-up-to index */
2158
2153
  const agentWatermarks = /* @__PURE__ */ new Map();
@@ -2368,18 +2363,6 @@ function createRoomHistoryTrackerInternal(maxQueueSize = DEFAULT_MAX_QUEUE_SIZE,
2368
2363
  }
2369
2364
  };
2370
2365
  }
2371
- function createRoomHistoryTracker(maxQueueSize = DEFAULT_MAX_QUEUE_SIZE, maxRoomQueues = DEFAULT_MAX_ROOM_QUEUES, maxWatermarkEntries = MAX_WATERMARK_ENTRIES, maxPreparedTriggerEntries = MAX_PREPARED_TRIGGER_ENTRIES) {
2372
- const tracker = createRoomHistoryTrackerInternal(maxQueueSize, maxRoomQueues, maxWatermarkEntries, maxPreparedTriggerEntries);
2373
- return {
2374
- recordPending: tracker.recordPending,
2375
- reservePending: tracker.reservePending,
2376
- finalizePending: tracker.finalizePending,
2377
- discardPending: tracker.discardPending,
2378
- prepareTrigger: tracker.prepareTrigger,
2379
- prepareReservedTrigger: tracker.prepareReservedTrigger,
2380
- consumeHistory: tracker.consumeHistory
2381
- };
2382
- }
2383
2366
  //#endregion
2384
2367
  //#region extensions/matrix/src/matrix/monitor/handler-ingress-access.ts
2385
2368
  async function resolveMatrixIngressAccess(config) {
@@ -2586,46 +2569,24 @@ async function resolveMatrixIngressAccess(config) {
2586
2569
  //#endregion
2587
2570
  //#region extensions/matrix/src/matrix/monitor/media.ts
2588
2571
  const MATRIX_MEDIA_DOWNLOAD_IDLE_TIMEOUT_MS = 3e4;
2589
- async function fetchMatrixMediaBuffer(params) {
2590
- try {
2591
- return { buffer: await params.client.downloadContent(params.mxcUrl, {
2592
- maxBytes: params.maxBytes,
2593
- readIdleTimeoutMs: MATRIX_MEDIA_DOWNLOAD_IDLE_TIMEOUT_MS
2594
- }) };
2572
+ async function downloadMatrixMedia(params) {
2573
+ if (typeof params.sizeBytes === "number" && params.sizeBytes > params.maxBytes) throw new MatrixMediaSizeLimitError();
2574
+ const options = {
2575
+ maxBytes: params.maxBytes,
2576
+ readIdleTimeoutMs: MATRIX_MEDIA_DOWNLOAD_IDLE_TIMEOUT_MS
2577
+ };
2578
+ let buffer;
2579
+ if (params.file) {
2580
+ if (!params.client.crypto) throw new Error("Cannot decrypt media: crypto not enabled");
2581
+ buffer = await params.client.crypto.decryptMedia(params.file, options);
2582
+ if (buffer.byteLength > params.maxBytes) throw new MatrixMediaSizeLimitError();
2583
+ } else try {
2584
+ buffer = await params.client.downloadContent(params.mxcUrl, options);
2595
2585
  } catch (err) {
2596
2586
  if (isMatrixMediaSizeLimitError(err)) throw err;
2597
2587
  throw new Error(`Matrix media download failed: ${String(err)}`, { cause: err });
2598
2588
  }
2599
- }
2600
- /**
2601
- * Download and decrypt encrypted media from a Matrix room.
2602
- * Uses the Matrix crypto adapter's decryptMedia helper.
2603
- */
2604
- async function fetchEncryptedMediaBuffer(params) {
2605
- if (!params.client.crypto) throw new Error("Cannot decrypt media: crypto not enabled");
2606
- const decrypted = await params.client.crypto.decryptMedia(params.file, {
2607
- maxBytes: params.maxBytes,
2608
- readIdleTimeoutMs: MATRIX_MEDIA_DOWNLOAD_IDLE_TIMEOUT_MS
2609
- });
2610
- if (decrypted.byteLength > params.maxBytes) throw new MatrixMediaSizeLimitError();
2611
- return { buffer: decrypted };
2612
- }
2613
- async function downloadMatrixMedia(params) {
2614
- let fetched;
2615
- if (typeof params.sizeBytes === "number" && params.sizeBytes > params.maxBytes) throw new MatrixMediaSizeLimitError();
2616
- if (params.file) fetched = await fetchEncryptedMediaBuffer({
2617
- client: params.client,
2618
- file: params.file,
2619
- maxBytes: params.maxBytes
2620
- });
2621
- else fetched = await fetchMatrixMediaBuffer({
2622
- client: params.client,
2623
- mxcUrl: params.mxcUrl,
2624
- maxBytes: params.maxBytes
2625
- });
2626
- if (!fetched) return null;
2627
- const headerType = params.contentType ?? void 0;
2628
- const saved = await getMatrixRuntime().channel.media.saveMediaBuffer(fetched.buffer, headerType, "inbound", params.maxBytes, params.originalFilename);
2589
+ const saved = await getMatrixRuntime().channel.media.saveMediaBuffer(buffer, params.contentType, "inbound", params.maxBytes, params.originalFilename);
2629
2590
  return {
2630
2591
  path: saved.path,
2631
2592
  contentType: saved.contentType,
@@ -2803,9 +2764,35 @@ async function resolveMatrixIngressContent(config) {
2803
2764
  return;
2804
2765
  }
2805
2766
  let preflightMedia = null;
2806
- let preflightMediaDownloadFailed = false;
2807
- let preflightMediaSizeLimitExceeded = false;
2767
+ let mediaDownloadFailed = false;
2768
+ let mediaSizeLimitExceeded = false;
2808
2769
  let preflightAudioTranscript;
2770
+ const downloadMedia = async (mxcUrl) => {
2771
+ try {
2772
+ return await downloadMatrixMedia({
2773
+ client,
2774
+ mxcUrl,
2775
+ contentType: mediaContent.contentType,
2776
+ sizeBytes: mediaContent.sizeBytes,
2777
+ maxBytes: mediaMaxBytes,
2778
+ file: mediaContent.file,
2779
+ originalFilename: mediaContent.originalFilename
2780
+ });
2781
+ } catch (err) {
2782
+ mediaDownloadFailed = true;
2783
+ mediaSizeLimitExceeded = isMatrixMediaSizeLimitError(err);
2784
+ const errorText = formatErrorMessage(err);
2785
+ logVerboseMessage(`matrix: media download failed room=${roomId} id=${event.event_id ?? "unknown"} type=${content.msgtype} error=${errorText}`);
2786
+ logger.warn("matrix media download failed", {
2787
+ roomId,
2788
+ eventId: event.event_id,
2789
+ msgtype: content.msgtype,
2790
+ encrypted: Boolean(mediaContent.file),
2791
+ error: errorText
2792
+ });
2793
+ return null;
2794
+ }
2795
+ };
2809
2796
  const { route: _route, configuredBinding: _configuredBinding, runtimeBindingId: _runtimeBindingId } = resolveMatrixInboundRoute({
2810
2797
  cfg,
2811
2798
  accountId,
@@ -2836,29 +2823,7 @@ async function resolveMatrixIngressContent(config) {
2836
2823
  } };
2837
2824
  }
2838
2825
  if (shouldRunMatrixAudioPreflight) {
2839
- try {
2840
- preflightMedia = await downloadMatrixMedia({
2841
- client,
2842
- mxcUrl: preflightAudioMediaUrl,
2843
- contentType: mediaContent.contentType,
2844
- sizeBytes: mediaContent.sizeBytes,
2845
- maxBytes: mediaMaxBytes,
2846
- file: mediaContent.file,
2847
- originalFilename: mediaContent.originalFilename
2848
- });
2849
- } catch (err) {
2850
- preflightMediaDownloadFailed = true;
2851
- if (isMatrixMediaSizeLimitError(err)) preflightMediaSizeLimitExceeded = true;
2852
- const errorText = formatErrorMessage(err);
2853
- logVerboseMessage(`matrix: media download failed room=${roomId} id=${event.event_id ?? "unknown"} type=${content.msgtype} error=${errorText}`);
2854
- logger.warn("matrix media download failed", {
2855
- roomId,
2856
- eventId: event.event_id,
2857
- msgtype: content.msgtype,
2858
- encrypted: Boolean(mediaContent.file),
2859
- error: errorText
2860
- });
2861
- }
2826
+ preflightMedia = await downloadMedia(preflightAudioMediaUrl);
2862
2827
  if (preflightMedia) preflightAudioTranscript = await resolveMatrixPreflightAudioTranscript({
2863
2828
  mediaPath: preflightMedia.path,
2864
2829
  mediaContentType: preflightMedia.contentType,
@@ -2975,32 +2940,8 @@ async function resolveMatrixIngressContent(config) {
2975
2940
  mediaContent = resolveMatrixInboundMediaContent(content);
2976
2941
  }
2977
2942
  let media = preflightMedia;
2978
- let mediaDownloadFailed = preflightMediaDownloadFailed;
2979
- let mediaSizeLimitExceeded = preflightMediaSizeLimitExceeded;
2980
2943
  const finalMediaUrl = mediaContent.url;
2981
- if (!media && !mediaDownloadFailed && finalMediaUrl?.startsWith("mxc://")) try {
2982
- media = await downloadMatrixMedia({
2983
- client,
2984
- mxcUrl: finalMediaUrl,
2985
- contentType: mediaContent.contentType,
2986
- sizeBytes: mediaContent.sizeBytes,
2987
- maxBytes: mediaMaxBytes,
2988
- file: mediaContent.file,
2989
- originalFilename: mediaContent.originalFilename
2990
- });
2991
- } catch (err) {
2992
- mediaDownloadFailed = true;
2993
- if (isMatrixMediaSizeLimitError(err)) mediaSizeLimitExceeded = true;
2994
- const errorText = formatErrorMessage(err);
2995
- logVerboseMessage(`matrix: media download failed room=${roomId} id=${event.event_id ?? "unknown"} type=${content.msgtype} error=${errorText}`);
2996
- logger.warn("matrix media download failed", {
2997
- roomId,
2998
- eventId: event.event_id,
2999
- msgtype: content.msgtype,
3000
- encrypted: Boolean(mediaContent.file),
3001
- error: errorText
3002
- });
3003
- }
2944
+ if (!media && !mediaDownloadFailed && finalMediaUrl?.startsWith("mxc://")) media = await downloadMedia(finalMediaUrl);
3004
2945
  let bodyText = resolveMatrixInboundBodyText({
3005
2946
  rawBody: locationPayload?.text ?? mediaContent.body,
3006
2947
  filename: typeof content.filename === "string" ? content.filename : void 0,
@@ -3204,6 +3145,8 @@ function joinMatrixVisibleContent(contents) {
3204
3145
  return contents.filter((content) => Boolean(content)).join("\n");
3205
3146
  }
3206
3147
  function mergeMatrixReplyDeliveryResults(results) {
3148
+ const single = results.length === 1 ? results[0] : void 0;
3149
+ if (single?.visibleReplySent) return single;
3207
3150
  const visibleResults = results.filter((result) => result.visibleReplySent);
3208
3151
  if (visibleResults.length === 0) return {
3209
3152
  visibleReplySent: false,
@@ -3320,7 +3263,20 @@ function createMatrixReplyDispatcher(config) {
3320
3263
  const { cfg, prefixOptions, humanDelay, typingCallbacks, streaming, draftStream, draftController, client, roomId, runtime, replyToMode, threadTarget, replyToEventId, accountId, mediaLocalRoots, logVerboseMessage } = config;
3321
3264
  const quietDraftStreaming = streaming === "quiet" || streaming === "progress";
3322
3265
  const hasRepliedRef = { value: false };
3323
- let finalReplyDeliveryFailed = false;
3266
+ const deliverPayload = (reply) => deliverMatrixReplies({
3267
+ cfg,
3268
+ replies: [reply],
3269
+ roomId,
3270
+ client,
3271
+ runtime,
3272
+ replyToMode,
3273
+ hasRepliedRef,
3274
+ threadId: threadTarget,
3275
+ replyToId: threadTarget ?? replyToEventId ?? void 0,
3276
+ accountId,
3277
+ mediaLocalRoots
3278
+ });
3279
+ const { previewLifecycle } = draftController;
3324
3280
  let nonFinalReplyDeliveryFailed = false;
3325
3281
  const beginNextBlockDraft = () => {
3326
3282
  draftController.beginDraftGeneration();
@@ -3354,247 +3310,75 @@ function createMatrixReplyDispatcher(config) {
3354
3310
  content
3355
3311
  };
3356
3312
  };
3357
- const settleDraftReplacement = async (params) => {
3358
- const draftDelivery = createDraftDeliveryResult(params.draftEventId, params.draftContent);
3359
- let replacement;
3360
- try {
3361
- replacement = await params.deliver();
3362
- } catch (error) {
3363
- draftController.markDraftRetained();
3364
- throw toMatrixPartialDeliveryError(error, [draftDelivery]);
3365
- }
3366
- if (!replacement.visibleReplySent) {
3367
- draftController.markDraftRetained();
3368
- return draftDelivery;
3369
- }
3370
- if (!await redactMatrixDraftEvent(client, roomId, params.draftEventId)) {
3371
- draftController.markDraftRetained();
3372
- return mergeMatrixReplyDeliveryResults([draftDelivery, replacement]);
3373
- }
3374
- draftController.markDraftConsumed();
3375
- return replacement;
3376
- };
3377
- if (draftStream && info.kind !== "tool" && !payload.isCompactionNotice) {
3378
- const { hasMedia } = resolveSendableOutboundReplyParts(payload);
3379
- const ttsSupplement = getReplyPayloadTtsSupplement(payload);
3380
- const fallbackPayload = ttsSupplement && ttsSupplement.visibleTextAlreadyDelivered !== true && !payload.text?.trim() ? {
3381
- ...payload,
3382
- text: ttsSupplement.spokenText
3383
- } : payload;
3384
- if (draftController.draftDisposition() !== "active") {
3385
- await draftStream.discardPending();
3386
- return await completeDelivery(await deliverMatrixReplies({
3387
- cfg,
3388
- replies: [fallbackPayload],
3389
- roomId,
3390
- client,
3391
- runtime,
3392
- replyToMode,
3393
- hasRepliedRef,
3394
- threadId: threadTarget,
3395
- replyToId: threadTarget ?? replyToEventId ?? void 0,
3396
- accountId,
3397
- mediaLocalRoots
3398
- }));
3399
- }
3400
- const payloadReplyMismatch = (!threadTarget && replyToMode !== "off" || payload.replyToTag || payload.replyToCurrent) && normalizeOptionalString(payload.replyToId) !== draftController.currentReplyToId();
3401
- let mustDeliverFinalNormally = draftStream.mustDeliverFinalNormally();
3402
- if (Boolean(payload.text?.trim()) && !payload.isError && !payloadReplyMismatch && !mustDeliverFinalNormally) {
3403
- await draftStream.stop();
3404
- mustDeliverFinalNormally = draftStream.mustDeliverFinalNormally();
3405
- } else await draftStream.discardPending();
3406
- const draftEventId = draftStream.eventId();
3407
- const draftFinalTextNeedsNormalMentionDelivery = Boolean(draftEventId) && typeof payload.text === "string" && Boolean(payload.text.trim()) && !payload.isError && !payloadReplyMismatch && !mustDeliverFinalNormally && await matrixTextWouldActivateMentions(client, payload.text);
3408
- if (draftEventId && payload.text && !payload.isError && !hasMedia && !payloadReplyMismatch && !mustDeliverFinalNormally && !draftFinalTextNeedsNormalMentionDelivery) {
3409
- const finalPreviewText = payload.text;
3410
- const { prepareMatrixSingleText } = await loadMatrixSendModule();
3411
- const preparedFinalPreviewContent = prepareMatrixSingleText(finalPreviewText, {
3412
- cfg,
3413
- accountId,
3414
- preserveWhitespace: true
3415
- }).convertedText;
3416
- let finalizedDraftContent = draftStream.content() ?? preparedFinalPreviewContent;
3417
- let fallbackResult;
3418
- const previewResult = await deliverWithFinalizableLivePreviewAdapter({
3419
- kind: "final",
3420
- payload,
3421
- adapter: defineFinalizableLivePreviewAdapter({
3422
- draft: {
3423
- flush: async () => {},
3424
- clear: async () => {},
3425
- discardPending: async () => {},
3426
- id: () => draftEventId
3427
- },
3428
- buildFinalEdit: () => {
3429
- const presentationContent = resolveMatrixExtraContent(payload);
3430
- const extraContent = {
3431
- ...quietDraftStreaming ? buildMatrixFinalizedPreviewContent() : {},
3432
- ...presentationContent
3433
- };
3434
- return {
3435
- text: finalPreviewText,
3436
- finalizeLive: !(quietDraftStreaming || Boolean(presentationContent) || !draftStream.matchesPreparedText(finalPreviewText)),
3437
- ...Object.keys(extraContent).length > 0 ? { extraContent } : {}
3438
- };
3439
- },
3440
- editFinal: async (_draftEventId, edit) => {
3441
- if (edit.finalizeLive) {
3442
- if (!await draftStream.finalizeLive()) throw new Error("Matrix draft live finalize failed");
3443
- finalizedDraftContent = draftStream.content() ?? preparedFinalPreviewContent;
3444
- return;
3445
- }
3446
- const { editMessageMatrix } = await loadMatrixSendModule();
3447
- await editMessageMatrix(roomId, _draftEventId, edit.text, {
3448
- client,
3449
- cfg,
3450
- threadId: threadTarget,
3451
- accountId,
3452
- extraContent: edit.extraContent
3453
- });
3454
- finalizedDraftContent = prepareMatrixSingleText(edit.text, {
3455
- cfg,
3456
- accountId,
3457
- preserveWhitespace: true
3458
- }).convertedText;
3459
- },
3460
- createPreviewReceipt: createDraftReceipt,
3461
- logPreviewEditFailure: (err) => {
3462
- logVerboseMessage(`matrix: preview final edit failed: ${String(err)}`);
3463
- }
3464
- }),
3465
- deliverNormally: async () => {
3466
- fallbackResult = await settleDraftReplacement({
3467
- draftEventId,
3468
- draftContent: draftStream.content() ?? preparedFinalPreviewContent,
3469
- deliver: async () => await deliverMatrixReplies({
3470
- cfg,
3471
- replies: [fallbackPayload],
3472
- roomId,
3473
- client,
3474
- runtime,
3475
- replyToMode,
3476
- hasRepliedRef,
3477
- threadId: threadTarget,
3478
- replyToId: threadTarget ?? replyToEventId ?? void 0,
3479
- accountId,
3480
- mediaLocalRoots
3481
- })
3313
+ const settlesPreview = Boolean(draftStream) && info.kind !== "tool" && !payload.isCompactionNotice;
3314
+ const ttsSupplement = getReplyPayloadTtsSupplement(payload);
3315
+ const fallbackPayload = settlesPreview && ttsSupplement && ttsSupplement.visibleTextAlreadyDelivered !== true && !payload.text?.trim() ? {
3316
+ ...payload,
3317
+ text: ttsSupplement.spokenText
3318
+ } : payload;
3319
+ const { hasMedia } = resolveSendableOutboundReplyParts(payload);
3320
+ const payloadText = payload.text ?? ttsSupplement?.spokenText;
3321
+ const payloadReplyMismatch = (!threadTarget && replyToMode !== "off" || payload.replyToTag || payload.replyToCurrent) && normalizeOptionalString(payload.replyToId) !== draftController.currentReplyToId();
3322
+ let retainedDraftDelivery;
3323
+ let deliveryResult;
3324
+ try {
3325
+ deliveryResult = (await previewLifecycle.deliver({
3326
+ kind: payload.isCompactionNotice ? "tool" : info.kind === "block" ? "final" : info.kind,
3327
+ payload,
3328
+ isError: payload.isError,
3329
+ adapter: draftStream ? {
3330
+ buildFinalEdit: () => payloadText?.trim() && !payload.isError && !payloadReplyMismatch && !draftStream.mustDeliverFinalNormally() ? { text: payloadText } : void 0,
3331
+ editFinal: async (draftEventId, edit) => {
3332
+ if (draftStream.mustDeliverFinalNormally() || await matrixTextWouldActivateMentions(client, edit.text)) return { visibleReplySent: false };
3333
+ const { editMessageMatrix, prepareMatrixSingleText } = await loadMatrixSendModule();
3334
+ const presentationContent = hasMedia ? void 0 : resolveMatrixExtraContent(payload);
3335
+ const extraContent = {
3336
+ ...quietDraftStreaming ? buildMatrixFinalizedPreviewContent() : {},
3337
+ ...presentationContent
3338
+ };
3339
+ if (!quietDraftStreaming && !presentationContent && draftStream.matchesPreparedText(edit.text)) {
3340
+ if (!await draftStream.finalizeLive()) return { visibleReplySent: false };
3341
+ } else await editMessageMatrix(roomId, draftEventId, edit.text, {
3342
+ client,
3343
+ cfg,
3344
+ threadId: threadTarget,
3345
+ accountId,
3346
+ ...Object.keys(extraContent).length > 0 ? { extraContent } : {}
3482
3347
  });
3483
- return fallbackResult.visibleReplySent;
3484
- }
3485
- });
3486
- if (previewResult.kind === "preview-finalized") draftController.markDraftConsumed();
3487
- return await completeDelivery(previewResult.kind === "preview-finalized" && previewResult.liveState?.receipt ? createDraftDeliveryResult(draftEventId, finalizedDraftContent ?? preparedFinalPreviewContent) : fallbackResult ?? mergeMatrixReplyDeliveryResults([]));
3488
- } else if (draftEventId && hasMedia && !payloadReplyMismatch) {
3489
- let textEditOk = !mustDeliverFinalNormally;
3490
- const payloadText = payload.text ?? ttsSupplement?.spokenText;
3491
- const preparedPayloadContent = typeof payloadText === "string" ? (await loadMatrixSendModule()).prepareMatrixSingleText(payloadText, {
3492
- cfg,
3493
- accountId,
3494
- preserveWhitespace: true
3495
- }).convertedText : void 0;
3496
- let finalizedDraftContent = draftStream.content() ?? preparedPayloadContent;
3497
- const payloadTextMatchesDraft = typeof payloadText === "string" && draftStream.matchesPreparedText(payloadText);
3498
- const reusesDraftTextUnchanged = typeof payloadText === "string" && Boolean(payloadText.trim()) && payloadTextMatchesDraft;
3499
- const mediaTextNeedsNormalMentionDelivery = typeof payloadText === "string" && Boolean(payloadText.trim()) && await matrixTextWouldActivateMentions(client, payloadText);
3500
- const requiresFinalTextEdit = quietDraftStreaming || typeof payloadText === "string" && !payloadTextMatchesDraft;
3501
- if (textEditOk && mediaTextNeedsNormalMentionDelivery) textEditOk = false;
3502
- else if (textEditOk && payloadText && requiresFinalTextEdit) {
3503
- const { editMessageMatrix, prepareMatrixSingleText } = await loadMatrixSendModule();
3504
- textEditOk = await editMessageMatrix(roomId, draftEventId, payloadText, {
3505
- client,
3506
- cfg,
3507
- threadId: threadTarget,
3508
- accountId,
3509
- extraContent: quietDraftStreaming ? buildMatrixFinalizedPreviewContent() : void 0
3510
- }).then(() => {
3511
- finalizedDraftContent = prepareMatrixSingleText(payloadText, {
3348
+ return createDraftDeliveryResult(draftEventId, prepareMatrixSingleText(edit.text, {
3512
3349
  cfg,
3513
3350
  accountId,
3514
3351
  preserveWhitespace: true
3515
- }).convertedText;
3516
- return true;
3517
- }, () => false);
3518
- } else if (textEditOk && reusesDraftTextUnchanged) {
3519
- textEditOk = await draftStream.finalizeLive();
3520
- finalizedDraftContent = draftStream.content();
3521
- }
3522
- const reusesDraftAsFinalText = Boolean(payloadText?.trim()) && textEditOk;
3523
- const draftContent = draftStream.content();
3524
- const mediaPayload = ttsSupplement && reusesDraftAsFinalText ? buildTtsSupplementMediaPayload(payload) : {
3525
- ...payload,
3526
- text: reusesDraftAsFinalText ? void 0 : payload.text ?? (ttsSupplement?.visibleTextAlreadyDelivered === true ? void 0 : ttsSupplement?.spokenText)
3527
- };
3528
- const providerDraftContent = finalizedDraftContent ?? preparedPayloadContent;
3529
- const previewDelivery = reusesDraftAsFinalText && providerDraftContent ? createDraftDeliveryResult(draftEventId, providerDraftContent) : draftContent ? createDraftDeliveryResult(draftEventId, draftContent) : mergeMatrixReplyDeliveryResults([]);
3530
- const deliverMedia = async () => await deliverMatrixReplies({
3531
- cfg,
3532
- replies: [mediaPayload],
3533
- roomId,
3534
- client,
3535
- runtime,
3536
- replyToMode,
3537
- hasRepliedRef,
3538
- threadId: threadTarget,
3539
- replyToId: threadTarget ?? replyToEventId ?? void 0,
3540
- accountId,
3541
- mediaLocalRoots
3542
- });
3543
- if (reusesDraftAsFinalText) {
3544
- draftController.markDraftConsumed();
3545
- let mediaDelivery;
3546
- try {
3547
- mediaDelivery = await deliverMedia();
3548
- } catch (error) {
3549
- throw toMatrixPartialDeliveryError(error, [previewDelivery]);
3352
+ }).convertedText);
3353
+ },
3354
+ createPreviewReceipt: createDraftReceipt,
3355
+ buildSupplementalPayload: () => hasMedia ? ttsSupplement ? buildTtsSupplementMediaPayload(payload) : {
3356
+ ...payload,
3357
+ text: void 0
3358
+ } : void 0,
3359
+ deliverSupplemental: deliverPayload,
3360
+ logPreviewEditFailure: (err) => {
3361
+ logVerboseMessage(`matrix: preview final edit failed: ${String(err)}`);
3362
+ }
3363
+ } : void 0,
3364
+ deliverNormally: async (normalPayload) => {
3365
+ if (settlesPreview && !previewLifecycle.previewFinalized && (hasMedia || payloadText?.trim() || payload.isError || payloadReplyMismatch || draftStream?.mustDeliverFinalNormally())) {
3366
+ const id = draftStream?.eventId();
3367
+ const content = draftStream?.content();
3368
+ if (id && content) retainedDraftDelivery = createDraftDeliveryResult(id, content);
3550
3369
  }
3551
- return await completeDelivery(mergeMatrixReplyDeliveryResults([previewDelivery, mediaDelivery]));
3370
+ return await deliverPayload(normalPayload === payload ? fallbackPayload : normalPayload);
3552
3371
  }
3553
- if (draftContent) return await completeDelivery(await settleDraftReplacement({
3554
- draftEventId,
3555
- draftContent,
3556
- deliver: deliverMedia
3557
- }));
3558
- return await completeDelivery(await deliverMedia());
3559
- }
3560
- const shouldRedactDraft = Boolean(draftEventId) && (payload.isError || payloadReplyMismatch || mustDeliverFinalNormally || draftFinalTextNeedsNormalMentionDelivery);
3561
- const deliverFallback = async () => await deliverMatrixReplies({
3562
- cfg,
3563
- replies: [fallbackPayload],
3564
- roomId,
3565
- client,
3566
- runtime,
3567
- replyToMode,
3568
- hasRepliedRef,
3569
- threadId: threadTarget,
3570
- replyToId: threadTarget ?? replyToEventId ?? void 0,
3571
- accountId,
3572
- mediaLocalRoots
3573
- });
3574
- const draftContent = draftStream.content();
3575
- if (shouldRedactDraft && draftEventId && draftContent) return await completeDelivery(await settleDraftReplacement({
3576
- draftEventId,
3577
- draftContent,
3578
- deliver: deliverFallback
3579
- }));
3580
- return await completeDelivery(await deliverFallback());
3372
+ })).deliveryResult;
3373
+ } catch (error) {
3374
+ if (retainedDraftDelivery) previewLifecycle.retainPreview();
3375
+ throw toMatrixPartialDeliveryError(error, retainedDraftDelivery ? [retainedDraftDelivery] : []);
3581
3376
  }
3582
- return await completeDelivery(await deliverMatrixReplies({
3583
- cfg,
3584
- replies: [payload],
3585
- roomId,
3586
- client,
3587
- runtime,
3588
- replyToMode,
3589
- hasRepliedRef,
3590
- threadId: threadTarget,
3591
- replyToId: threadTarget ?? replyToEventId ?? void 0,
3592
- accountId,
3593
- mediaLocalRoots
3594
- }));
3377
+ if (retainedDraftDelivery && !deliveryResult?.visibleReplySent) previewLifecycle.retainPreview();
3378
+ return await completeDelivery(mergeMatrixReplyDeliveryResults([retainedDraftDelivery?.messageIds?.includes(draftStream?.eventId() ?? "") ? retainedDraftDelivery : void 0, deliveryResult].filter((result) => result !== void 0)));
3595
3379
  },
3596
3380
  onError: (err, info) => {
3597
- if (info.kind === "final") finalReplyDeliveryFailed = true;
3381
+ if (info.kind === "final") previewLifecycle.observeFailure();
3598
3382
  else nonFinalReplyDeliveryFailed = true;
3599
3383
  if (info.kind === "block") beginNextBlockDraft();
3600
3384
  runtime.error?.(`matrix ${info.kind} reply failed: ${String(err)}`);
@@ -3606,7 +3390,6 @@ function createMatrixReplyDispatcher(config) {
3606
3390
  deliverReply,
3607
3391
  onReplyError,
3608
3392
  turnDispatcherOptions,
3609
- finalReplyDeliveryFailed: () => finalReplyDeliveryFailed,
3610
3393
  nonFinalReplyDeliveryFailed: () => nonFinalReplyDeliveryFailed
3611
3394
  };
3612
3395
  }
@@ -3718,7 +3501,7 @@ function createMatrixHandlerState(config) {
3718
3501
  const SESSION_RESTART_RECOVERY_TOMBSTONE_ERROR_CODE = "SESSION_RESTART_RECOVERY_TOMBSTONE";
3719
3502
  const RESTART_RECOVERY_TOMBSTONE_NOTICE = "This session ended during gateway restart recovery and cannot accept more messages. Send /new or /reset to start a replacement session.";
3720
3503
  function createMatrixRoomMessageHandler(params) {
3721
- const { client, core, cfg: startupConfig, accountId, runtime, logger, logVerboseMessage, allowFromResolvedEntries = [], groupAllowFromResolvedEntries = [], configuredBotUserIds = /* @__PURE__ */ new Set(), groupPolicy, replyToMode, dmSessionScope, streaming, previewToolProgressEnabled, blockStreamingEnabled, historyLimit, startupMs, startupGraceMs, dropPreStartupMessages, inboundDeduper, directTracker, getRoomInfo, getMemberDisplayName, resolveLiveUserAllowlist = resolveMatrixMonitorLiveUserAllowlist, resolveStorePath: resolveStorePathImpl = resolveStorePath, createChannelInboundEnvelopeBuilder: createChannelInboundEnvelopeBuilderImpl = createChannelInboundEnvelopeBuilder, finalizeInboundContext, resolveHumanDelayConfig: resolveHumanDelayConfigImpl = resolveHumanDelayConfig } = params;
3504
+ const { client, core, cfg: startupConfig, accountId, runtime, logger, logVerboseMessage, allowFromResolvedEntries = [], groupAllowFromResolvedEntries = [], configuredBotUserIds = /* @__PURE__ */ new Set(), replyToMode, streaming, previewToolProgressEnabled, blockStreamingEnabled, historyLimit, startupMs, startupGraceMs, dropPreStartupMessages, inboundDeduper, directTracker, getMemberDisplayName, resolveLiveUserAllowlist = resolveMatrixMonitorLiveUserAllowlist, resolveStorePath: resolveStorePathImpl = resolveStorePath, createChannelInboundEnvelopeBuilder: createChannelInboundEnvelopeBuilderImpl = createChannelInboundEnvelopeBuilder, resolveHumanDelayConfig: resolveHumanDelayConfigImpl = resolveHumanDelayConfig } = params;
3722
3505
  const handlerConfig = {
3723
3506
  ...params,
3724
3507
  allowFromResolvedEntries,
@@ -3846,58 +3629,17 @@ function createMatrixRoomMessageHandler(params) {
3846
3629
  })();
3847
3630
  if (!resolvedIngressResult) return;
3848
3631
  if ("deferredPrefix" in resolvedIngressResult) return;
3849
- const { cfg, liveDmAllowFrom, route: _route, hasExplicitSessionBinding, roomConfig, isDirectMessage, isRoom, shouldRequireMention, wasMentioned, effectiveWasMentioned, shouldBypassMention, canDetectMention, commandAuthorized, inboundHistory, senderName, bodyText, commandBodyText, media, preflightAudioTranscript, locationPayload, messageId, triggerSnapshot, threadRootId, thread, botLoopProtection, effectiveGroupAllowFrom, effectiveRoomUsers, resolveMessageIngress } = resolvedIngressResult;
3850
- const contextVisibilityMode = resolveChannelContextVisibilityMode({
3851
- cfg,
3852
- channel: "matrix",
3853
- accountId
3854
- });
3632
+ const { cfg, liveDmAllowFrom, route: _route, roomConfig, isDirectMessage, isRoom, bodyText, messageId, triggerSnapshot, threadRootId, thread, botLoopProtection } = resolvedIngressResult;
3855
3633
  const inboundContext = await resolveMatrixInboundContext({
3856
- resolveMessageIngress,
3857
- client,
3858
- core,
3859
- cfg,
3860
- accountId,
3861
- runtime,
3862
- logVerboseMessage,
3634
+ handler: handlerConfig,
3635
+ ingress: resolvedIngressResult,
3863
3636
  roomId,
3864
3637
  event,
3865
3638
  eventTs: eventTs ?? void 0,
3866
- route: _route,
3867
- isDirectMessage,
3868
- isRoom,
3869
- effectiveRoomUsers,
3870
- groupPolicy,
3871
- effectiveGroupAllowFrom,
3872
- contextVisibilityMode,
3873
3639
  resolveThreadContext,
3874
3640
  resolveReplyContext,
3875
- threadRootId,
3876
- thread,
3877
- getRoomInfo,
3878
3641
  senderId,
3879
- senderName,
3880
- bodyText,
3881
- commandBodyText,
3882
- roomConfig,
3883
- messageId,
3884
- inboundHistory,
3885
- wasMentioned,
3886
- effectiveWasMentioned,
3887
- shouldBypassMention,
3888
- canDetectMention,
3889
- shouldRequireMention,
3890
- commandAuthorized,
3891
- locationPayload,
3892
- media,
3893
- preflightAudioTranscript,
3894
- historyLimit,
3895
- hasExplicitSessionBinding,
3896
- dmSessionScope,
3897
- sharedDmContextNoticeRooms,
3898
- resolveStorePath: resolveStorePathImpl,
3899
- createChannelInboundEnvelopeBuilder: createChannelInboundEnvelopeBuilderImpl,
3900
- finalizeInboundContext
3642
+ sharedDmContextNoticeRooms
3901
3643
  });
3902
3644
  if (!inboundContext) return;
3903
3645
  const { replyToEventId, threadTarget, storePath, ctxPayload, replyTarget, sharedDmContextNotice } = inboundContext;
@@ -4078,6 +3820,7 @@ function createMatrixRoomMessageHandler(params) {
4078
3820
  } : void 0,
4079
3821
  onQueuedFollowupAdmitted: draftStream ? draftController.resetDraftDeliveryState : void 0,
4080
3822
  ...draftController.buildPreviewToolProgressReplyOptions(),
3823
+ onObservedReplyDelivery: draftStream ? () => draftController.previewLifecycle.observeDelivery({ visibleReplySent: true }) : void 0,
4081
3824
  onModelSelected
4082
3825
  }
4083
3826
  })
@@ -4114,7 +3857,7 @@ function createMatrixRoomMessageHandler(params) {
4114
3857
  }
4115
3858
  const { dispatchResult } = turnResult;
4116
3859
  const { queuedFinal } = dispatchResult;
4117
- if (replyDispatcher.finalReplyDeliveryFailed()) {
3860
+ if (draftController.previewLifecycle.finalFailed) {
4118
3861
  logVerboseMessage(`matrix: final reply delivery failed room=${roomId} id=${messageId}; keeping replay committed`);
4119
3862
  await commitInboundEventIfClaimed();
4120
3863
  return;
@@ -4134,13 +3877,14 @@ function createMatrixRoomMessageHandler(params) {
4134
3877
  await commitInboundEventIfClaimed();
4135
3878
  } catch (err) {
4136
3879
  const draftController = draftControllerRef;
4137
- if (draftController?.draftStream?.eventId() && draftController.draftDisposition() === "active") draftController.markDraftRetained();
3880
+ if (draftController?.draftStream?.eventId()) draftController.previewLifecycle.retainPreview();
4138
3881
  runtime.error?.(`matrix handler failed: ${String(err)}`);
4139
3882
  } finally {
4140
3883
  const draftStream = draftControllerRef?.draftStream;
4141
3884
  if (draftStream) {
4142
- const draftEventId = await draftStream.stop().catch(() => void 0);
4143
- if (draftEventId && draftControllerRef?.draftDisposition() === "active") await redactMatrixDraftEvent(client, roomId, draftEventId);
3885
+ await draftStream.stop().catch(() => void 0);
3886
+ await draftControllerRef?.previewLifecycle.cleanup();
3887
+ await draftStream.cleanupPending();
4144
3888
  }
4145
3889
  inboundReplayClaim?.release();
4146
3890
  }
@@ -4161,10 +3905,10 @@ function shouldPromoteRecentInviteRoom(params) {
4161
3905
  //#endregion
4162
3906
  //#region extensions/matrix/src/matrix/monitor/startup.ts
4163
3907
  const loadMatrixStartupMaintenanceDeps = createLazyRuntimeModule(() => Promise.all([
4164
- import("./config-update-BnX26jCO.js").then((n) => n.t),
4165
- import("./device-health-B4-YXtJR.js").then((n) => n.t),
4166
- import("./profile-vmjsmhh4.js").then((n) => n.n),
4167
- import("./startup-verification-BTSf31hS.js")
3908
+ import("./config-update-B_4qZ5bV.mjs").then((n) => n.t),
3909
+ import("./device-health-CWOuIirq.mjs").then((n) => n.t),
3910
+ import("./profile-ClrB3IgR.mjs").then((n) => n.n),
3911
+ import("./startup-verification-Cp1Gf7pM.mjs")
4168
3912
  ]).then(([configUpdateModule, deviceHealthModule, profileModule, startupVerificationModule]) => ({
4169
3913
  updateMatrixAccountConfig: configUpdateModule.updateMatrixAccountConfig,
4170
3914
  summarizeMatrixDeviceHealth: deviceHealthModule.summarizeMatrixDeviceHealth,
@@ -4437,10 +4181,6 @@ async function monitorMatrixProvider(opts = {}) {
4437
4181
  let needsRoomAliasesForConfig = false;
4438
4182
  const initialAllowFrom = (accountConfig.dm?.allowFrom ?? []).map(String);
4439
4183
  const initialGroupAllowFrom = (accountConfig.groupAllowFrom ?? []).map(String);
4440
- const configuredBotUserIds = resolveConfiguredMatrixBotUserIds({
4441
- cfg,
4442
- accountId: effectiveAccountId
4443
- });
4444
4184
  const { allowFrom, allowFromResolvedEntries, groupAllowFrom, groupAllowFromResolvedEntries, roomsConfig: resolvedRoomsConfig } = await resolveMatrixMonitorConfig({
4445
4185
  cfg,
4446
4186
  accountId: effectiveAccountId,
@@ -4470,6 +4210,13 @@ async function monitorMatrixProvider(opts = {}) {
4470
4210
  cfg,
4471
4211
  accountId: effectiveAccountId
4472
4212
  });
4213
+ if (opts.abortSignal?.aborted) return;
4214
+ const configuredBotUserIds = await resolveConfiguredMatrixBotUserIds({
4215
+ cfg,
4216
+ accountId: effectiveAccountId,
4217
+ abortSignal: opts.abortSignal
4218
+ });
4219
+ if (opts.abortSignal?.aborted) return;
4473
4220
  const resolvedInitialSyncLimit = resolveOptionalIntegerOption(opts.initialSyncLimit, { min: 0 }) ?? auth.initialSyncLimit;
4474
4221
  const authWithLimit = resolvedInitialSyncLimit === auth.initialSyncLimit ? auth : {
4475
4222
  ...auth,
@@ -4539,7 +4286,7 @@ async function monitorMatrixProvider(opts = {}) {
4539
4286
  const dmPolicy = allowlistOnly && dmPolicyRaw !== "disabled" ? "allowlist" : dmPolicyRaw;
4540
4287
  const dmSessionScope = dmConfig?.sessionScope ?? "per-user";
4541
4288
  const globalGroupChatHistoryLimit = cfg.messages?.groupChat?.historyLimit;
4542
- const historyLimit = Math.max(0, accountConfig.historyLimit ?? globalGroupChatHistoryLimit ?? 0);
4289
+ const historyLimit = resolvePromptHistoryLimit(accountConfig.historyLimit ?? globalGroupChatHistoryLimit, 0);
4543
4290
  const mediaMaxMb = opts.mediaMaxMb ?? accountConfig.mediaMaxMb ?? DEFAULT_MEDIA_MAX_MB;
4544
4291
  const mediaMaxBytes = Math.max(1, mediaMaxMb) * 1024 * 1024;
4545
4292
  const streaming = resolveMatrixStreamingMode(accountConfig.streaming);
@@ -4731,12 +4478,13 @@ async function monitorMatrixProvider(opts = {}) {
4731
4478
  }
4732
4479
  logVerboseMessage("matrix: client started");
4733
4480
  logger.info(`matrix: logged in as ${auth.userId}`);
4734
- backfillMatrixAuthDeviceIdAfterStartup({
4735
- auth,
4736
- env: process.env,
4737
- abortSignal: monitorLifecycleSignal
4738
- }).catch((err) => {
4739
- logVerboseMessage(`matrix: failed to backfill deviceId after startup (${String(err)})`);
4481
+ monitorTaskRunner.runDetachedTask("deviceId backfill", async () => {
4482
+ const taskSignal = getMatrixMonitorTaskSignal();
4483
+ await backfillMatrixAuthDeviceIdAfterStartup({
4484
+ auth,
4485
+ env: process.env,
4486
+ abortSignal: taskSignal && monitorLifecycleSignal ? AbortSignal.any([taskSignal, monitorLifecycleSignal]) : taskSignal ?? monitorLifecycleSignal
4487
+ });
4740
4488
  });
4741
4489
  registerChannelRuntimeContext({
4742
4490
  channelRuntime: opts.channelRuntime,