@openclaw/matrix 2026.9.3 → 2026.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (938) hide show
  1. package/assets/activity.svg +40 -0
  2. package/assets/icon.png +0 -0
  3. package/dist/{account-selection-Bbtc483D.js → .setup/account-selection-5koohRSQ.mjs} +2 -2
  4. package/dist/{accounts-GwSAk9vY.js → .setup/accounts-BF5hyc-1.mjs} +3 -3
  5. package/dist/{approval-handler.runtime-tJLn5JFB.js → .setup/approval-handler.runtime-CoZCYGUH.mjs} +14 -13
  6. package/dist/{approval-ids-DJZ9ZTuS.js → .setup/approval-ids-CZOcdJ-5.mjs} +1 -1
  7. package/dist/{approval-reaction-auth-Cd0sKHFc.js → .setup/approval-reaction-auth-B51E4ZDa.mjs} +2 -2
  8. package/dist/{approval-reactions-1fwEhoK9.js → .setup/approval-reactions-B0hfA6qz.mjs} +6 -6
  9. package/dist/{channel-BpYiqmx-.js → .setup/channel-q6TBKEiG.mjs} +28 -180
  10. package/dist/{channel.runtime-dfEvRdLQ.js → .setup/channel.runtime-DcDBdxe6.mjs} +6 -6
  11. package/dist/{channel.setup-oxd8RsIr.js → .setup/channel.setup-DZQ5rf9k.mjs} +9 -5
  12. package/dist/{cli-_49Vsqs4.js → .setup/cli-Cx_cNaXN.mjs} +16 -16
  13. package/dist/{cli-metadata-D19lmKmz.js → .setup/cli-metadata-DHU1H-Vr.mjs} +1 -1
  14. package/dist/{client-BXQCQDfY.js → .setup/client-By2B3Wz4.mjs} +5 -3
  15. package/dist/{client-COLiUdWe.js → .setup/client-DsJUnWlV.mjs} +95 -93
  16. package/dist/{client-bootstrap-CQwf9qrm.js → .setup/client-bootstrap-DGX0f-4x.mjs} +17 -8
  17. package/dist/{client-support-DLj4vDeu.js → .setup/client-support-Bn9Bk0-H.mjs} +1 -1
  18. package/dist/{config-update-BnX26jCO.js → .setup/config-update-B_4qZ5bV.mjs} +3 -3
  19. package/dist/.setup/create-client-DQXAZjTw.mjs +61 -0
  20. package/dist/{credentials-DysXbkv2.js → .setup/credentials-CeRipapZ.mjs} +40 -17
  21. package/dist/{credentials-read-WWpqi88V.js → .setup/credentials-read-Dp7BoEdm.mjs} +22 -9
  22. package/dist/{credentials-write.runtime-D22lPwRO.js → .setup/credentials-write.runtime-M_bUf3rL.mjs} +1 -1
  23. package/dist/{crypto-runtime-BvunIYVn.js → .setup/crypto-runtime-9oxuU30y.mjs} +6 -29
  24. package/dist/{crypto-snapshot-doctor.runtime-DxgUMXUy.js → .setup/crypto-snapshot-doctor.runtime-DXpLbQ7y.mjs} +3 -3
  25. package/dist/{device-health-B4-YXtJR.js → .setup/device-health-CWOuIirq.mjs} +1 -1
  26. package/dist/.setup/direct-management-B2Bno2xL.mjs +346 -0
  27. package/dist/{directory-live-DABCxf8j.js → .setup/directory-live-CatwztQc.mjs} +8 -6
  28. package/dist/{doctor-CJE8wO6y.js → .setup/doctor-BLCvdOFo.mjs} +1 -1
  29. package/dist/{draft-stream-DSwgyyBi.js → .setup/draft-stream-DIFZDNrb.mjs} +2 -2
  30. package/dist/{encryption-guidance-mDyxJV9U.js → .setup/encryption-guidance-DYEbeYj-.mjs} +2 -2
  31. package/dist/{http-client-BfPeF4CE.js → .setup/http-client-BJjo-iw5.mjs} +75 -9
  32. package/dist/{idb-persistence-DBdwHSWg.js → .setup/idb-persistence-CIfFUjP3.mjs} +12 -8
  33. package/dist/{inbound-dedupe-Ch33GU06.js → .setup/inbound-dedupe-BSlv35xl.mjs} +1 -1
  34. package/dist/.setup/joined-room-encryption-BCtxQ3hR.mjs +67 -0
  35. package/dist/{logger-B_71hN6W.js → .setup/logger-xBjiRIp1.mjs} +1 -1
  36. package/dist/{logging-DRjvUOIh.js → .setup/logging-rgm8ep9H.mjs} +2 -2
  37. package/dist/{messages-H4mi9Cap.js → .setup/messages-SW0NPYnR.mjs} +4 -4
  38. package/dist/{monitor-3Fw96uiE.js → .setup/monitor-DQfYX5rA.mjs} +118 -264
  39. package/dist/{outbound-UPI45TD_.js → .setup/outbound-DRWtSUe-.mjs} +12 -4
  40. package/dist/.setup/probe.runtime-qPRZE3Yf.mjs +2 -0
  41. package/dist/{profile-vmjsmhh4.js → .setup/profile-ClrB3IgR.mjs} +1 -1
  42. package/dist/{profile-update-DWEg8Ylt.js → .setup/profile-update-DPttQz3-.mjs} +4 -4
  43. package/dist/{reaction-events-D-iSW0iM.js → .setup/reaction-events-CdAk_rh_.mjs} +7 -7
  44. package/dist/{resolve-targets-BpnALDzR.js → .setup/resolve-targets-drjgAdIe.mjs} +3 -3
  45. package/dist/{resolver.runtime-B83WkznZ.js → .setup/resolver.runtime-Ci6ddcPh.mjs} +1 -1
  46. package/dist/{room-info-CjnbX52D.js → .setup/room-info-DHd1j3qM.mjs} +4 -4
  47. package/dist/.setup/runtime-1kn1P6io.mjs +29 -0
  48. package/dist/.setup/runtime-setter-api-DtxDAM-x.mjs +3 -0
  49. package/dist/{sdk-CX9b0N8Q.js → .setup/sdk-BkKE4ANj.mjs} +524 -285
  50. package/dist/{secret-contract-CufozuyJ.js → .setup/secret-contract-JlB6VmI3.mjs} +1 -1
  51. package/dist/.setup/secret-contract-api-B-iJoQEv.mjs +3 -0
  52. package/dist/{reaction-common-DkrQdBSZ.js → .setup/send-currentness-BrGXL7b8.mjs} +20 -1
  53. package/dist/{send-B9l1lKau.js → .setup/send-h0gZ_-qk.mjs} +212 -462
  54. package/dist/{setup-bootstrap-CSI1L1lm.js → .setup/setup-bootstrap-BYgBD504.mjs} +3 -3
  55. package/dist/{setup-core-DuTlyqRz.js → .setup/setup-core-BUcDAM7q.mjs} +18 -33
  56. package/dist/.setup/setup-plugin-api-DoTm4v2q.mjs +3 -0
  57. package/dist/{setup-surface-fZing1WZ.js → .setup/setup-surface-V_Q-enq-.mjs} +14 -23
  58. package/dist/{startup-verification-BTSf31hS.js → .setup/startup-verification-Bq5qeEGn.mjs} +3 -3
  59. package/dist/{storage-CV-pfV_2.js → .setup/storage-DJ-oUgmX.mjs} +42 -27
  60. package/dist/{storage-metadata-DYArLcq1.js → .setup/storage-metadata-BQJjHC_i.mjs} +58 -51
  61. package/dist/{subagent-hooks-DeICLbU5.js → .setup/subagent-hooks-jFgft_Mr.mjs} +1 -1
  62. package/dist/{sync-cache-state-C-mhj3xb.js → .setup/sync-cache-state-CFiZIPhA.mjs} +2 -2
  63. package/dist/{thread-binding-api-CzkeLZCU.js → .setup/thread-binding-api-DRMC62cs.mjs} +1 -1
  64. package/dist/{thread-bindings-CRyf5on_.js → .setup/thread-bindings-Hy96ujd3.mjs} +6 -6
  65. package/dist/{tool-actions.runtime-D5-hTkDu.js → .setup/tool-actions.runtime-Dckttu43.mjs} +306 -260
  66. package/dist/{verification-B_aqtbx-.js → .setup/verification-CKqBZ9mI.mjs} +4 -3
  67. package/dist/api.js +8 -8
  68. package/dist/auth-presence.js +1 -1
  69. package/dist/channel-plugin-api.js +1 -1
  70. package/dist/cli-metadata.js +1 -1
  71. package/dist/contract-api.js +2 -2
  72. package/dist/doctor-contract-api.js +8 -8
  73. package/dist/helper-api.js +3 -3
  74. package/dist/index.js +4 -1
  75. package/dist/plugin-entry.handlers.runtime.js +1 -1
  76. package/dist/runtime-api.js +6 -6
  77. package/dist/runtime-setter-api.js +2 -2
  78. package/dist/secret-contract-api.js +1 -1
  79. package/dist/session-binding-contract-api.js +2 -2
  80. package/dist/setup-entry.js +4 -3
  81. package/dist/setup-plugin-api.js +1 -1
  82. package/dist/subagent-hooks-api.js +1 -1
  83. package/dist/thread-binding-api.js +1 -1
  84. package/dist/thread-bindings-runtime.js +1 -1
  85. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/package.json +1 -1
  86. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.cjs +17 -17
  87. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.js +17 -17
  88. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm +0 -0
  89. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm.d.ts +5 -5
  90. package/node_modules/markdown-it/dist/browser/markdown-it.esm.min.mjs +442 -434
  91. package/node_modules/markdown-it/dist/browser/markdown-it.esm.min.mjs.map +1 -1
  92. package/node_modules/markdown-it/dist/browser/markdown-it.umd.min.js +2 -2
  93. package/node_modules/markdown-it/dist/browser/markdown-it.umd.min.js.map +1 -1
  94. package/node_modules/markdown-it/dist/markdown-it.cjs.js +32 -16
  95. package/node_modules/markdown-it/dist/markdown-it.cjs.js.map +1 -1
  96. package/node_modules/markdown-it/dist/markdown-it.mjs +32 -16
  97. package/node_modules/markdown-it/dist/markdown-it.mjs.map +1 -1
  98. package/node_modules/markdown-it/node_modules/argparse/LICENSE +1 -208
  99. package/node_modules/markdown-it/node_modules/argparse/package.json +2 -2
  100. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.d.ts +23 -3
  101. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.d.ts.map +1 -1
  102. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.js +52 -37
  103. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.js.map +1 -1
  104. package/node_modules/markdown-it/node_modules/entities/dist/decode.d.ts +61 -28
  105. package/node_modules/markdown-it/node_modules/entities/dist/decode.d.ts.map +1 -1
  106. package/node_modules/markdown-it/node_modules/entities/dist/decode.js +789 -201
  107. package/node_modules/markdown-it/node_modules/entities/dist/decode.js.map +1 -1
  108. package/node_modules/markdown-it/node_modules/entities/dist/encode.d.ts +4 -2
  109. package/node_modules/markdown-it/node_modules/entities/dist/encode.d.ts.map +1 -1
  110. package/node_modules/markdown-it/node_modules/entities/dist/encode.js +249 -44
  111. package/node_modules/markdown-it/node_modules/entities/dist/encode.js.map +1 -1
  112. package/node_modules/markdown-it/node_modules/entities/dist/escape.d.ts +19 -7
  113. package/node_modules/markdown-it/node_modules/entities/dist/escape.d.ts.map +1 -1
  114. package/node_modules/markdown-it/node_modules/entities/dist/escape.js +104 -64
  115. package/node_modules/markdown-it/node_modules/entities/dist/escape.js.map +1 -1
  116. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.d.ts.map +1 -1
  117. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.js +2 -2
  118. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.js.map +1 -1
  119. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.d.ts.map +1 -1
  120. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.js +4 -2
  121. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.js.map +1 -1
  122. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.d.ts +2 -4
  123. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.d.ts.map +1 -1
  124. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.js +1 -10
  125. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.js.map +1 -1
  126. package/node_modules/markdown-it/node_modules/entities/dist/index.d.ts +2 -2
  127. package/node_modules/markdown-it/node_modules/entities/dist/index.d.ts.map +1 -1
  128. package/node_modules/markdown-it/node_modules/entities/dist/index.js +2 -6
  129. package/node_modules/markdown-it/node_modules/entities/dist/index.js.map +1 -1
  130. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.d.ts +39 -8
  131. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.d.ts.map +1 -1
  132. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.js +37 -6
  133. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.js.map +1 -1
  134. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.d.ts +35 -4
  135. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.d.ts.map +1 -1
  136. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.js +189 -11
  137. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.js.map +1 -1
  138. package/node_modules/markdown-it/node_modules/entities/package.json +14 -14
  139. package/node_modules/markdown-it/node_modules/entities/src/decode-codepoint.ts +58 -39
  140. package/node_modules/markdown-it/node_modules/entities/src/decode.ts +942 -245
  141. package/node_modules/markdown-it/node_modules/entities/src/encode.ts +289 -47
  142. package/node_modules/markdown-it/node_modules/entities/src/escape.ts +110 -83
  143. package/node_modules/markdown-it/node_modules/entities/src/generated/decode-data-html.ts +8 -3
  144. package/node_modules/markdown-it/node_modules/entities/src/generated/decode-data-xml.ts +4 -4
  145. package/node_modules/markdown-it/node_modules/entities/src/generated/encode-html.ts +1 -16
  146. package/node_modules/markdown-it/node_modules/entities/src/index.ts +6 -8
  147. package/node_modules/markdown-it/node_modules/entities/src/internal/bin-trie-flags.ts +38 -7
  148. package/node_modules/markdown-it/node_modules/entities/src/internal/decode-shared.ts +203 -12
  149. package/node_modules/markdown-it/package.json +1 -1
  150. package/node_modules/matrix-js-sdk/CHANGELOG.md +15 -0
  151. package/node_modules/matrix-js-sdk/lib/client.d.ts +1 -2
  152. package/node_modules/matrix-js-sdk/lib/client.d.ts.map +1 -1
  153. package/node_modules/matrix-js-sdk/lib/client.js +16 -8
  154. package/node_modules/matrix-js-sdk/lib/client.js.map +1 -1
  155. package/node_modules/matrix-js-sdk/lib/http-api/errors.d.ts +8 -0
  156. package/node_modules/matrix-js-sdk/lib/http-api/errors.d.ts.map +1 -1
  157. package/node_modules/matrix-js-sdk/lib/http-api/errors.js +12 -0
  158. package/node_modules/matrix-js-sdk/lib/http-api/errors.js.map +1 -1
  159. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.d.ts +5 -0
  160. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -1
  161. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.js +2 -1
  162. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.js.map +1 -1
  163. package/node_modules/matrix-js-sdk/lib/oauth/authorize.d.ts +2 -4
  164. package/node_modules/matrix-js-sdk/lib/oauth/authorize.d.ts.map +1 -1
  165. package/node_modules/matrix-js-sdk/lib/oauth/authorize.js.map +1 -1
  166. package/node_modules/matrix-js-sdk/lib/oauth/error.d.ts +44 -0
  167. package/node_modules/matrix-js-sdk/lib/oauth/error.d.ts.map +1 -1
  168. package/node_modules/matrix-js-sdk/lib/oauth/error.js +53 -0
  169. package/node_modules/matrix-js-sdk/lib/oauth/error.js.map +1 -1
  170. package/node_modules/matrix-js-sdk/lib/oauth/index.d.ts.map +1 -1
  171. package/node_modules/matrix-js-sdk/lib/oauth/index.js +19 -2
  172. package/node_modules/matrix-js-sdk/lib/oauth/index.js.map +1 -1
  173. package/node_modules/matrix-js-sdk/lib/oauth/tokenRefresher.d.ts.map +1 -1
  174. package/node_modules/matrix-js-sdk/lib/oauth/tokenRefresher.js +4 -2
  175. package/node_modules/matrix-js-sdk/lib/oauth/tokenRefresher.js.map +1 -1
  176. package/node_modules/matrix-js-sdk/lib/secret-storage.d.ts +1 -1
  177. package/node_modules/matrix-js-sdk/lib/secret-storage.d.ts.map +1 -1
  178. package/node_modules/matrix-js-sdk/lib/secret-storage.js +9 -32
  179. package/node_modules/matrix-js-sdk/lib/secret-storage.js.map +1 -1
  180. package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.d.ts.map +1 -1
  181. package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.js +54 -1
  182. package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.js.map +1 -1
  183. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/dist/api.js +556 -311
  184. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/dist/api.min.js +1 -1
  185. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/ClientWidgetApi.d.ts +2 -0
  186. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/ClientWidgetApi.js +221 -129
  187. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/ClientWidgetApi.js.map +1 -1
  188. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/Symbols.js.map +1 -1
  189. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/WidgetApi.d.ts +37 -0
  190. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/WidgetApi.js +182 -63
  191. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/WidgetApi.js.map +1 -1
  192. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/driver/WidgetDriver.d.ts +20 -1
  193. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/driver/WidgetDriver.js +49 -20
  194. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/driver/WidgetDriver.js.map +1 -1
  195. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/index.d.ts +1 -0
  196. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/index.js.map +1 -1
  197. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ApiVersion.d.ts +2 -1
  198. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ApiVersion.js +3 -2
  199. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ApiVersion.js.map +1 -1
  200. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/Capabilities.d.ts +9 -1
  201. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/Capabilities.js +2 -0
  202. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/Capabilities.js.map +1 -1
  203. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/CapabilitiesAction.js.map +1 -1
  204. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ContentLoadedAction.js.map +1 -1
  205. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/DownloadFileAction.js.map +1 -1
  206. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/GetMediaConfigAction.js.map +1 -1
  207. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/GetOpenIDAction.js.map +1 -1
  208. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ICustomWidgetData.js.map +1 -1
  209. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IJitsiWidgetData.js.map +1 -1
  210. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IRoomAccountData.js.map +1 -1
  211. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IRoomEvent.js.map +1 -1
  212. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IStickerpickerWidgetData.js.map +1 -1
  213. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IToDeviceMessage.js.map +1 -1
  214. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IWidget.js.map +1 -1
  215. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IWidgetApiErrorResponse.js +1 -1
  216. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IWidgetApiErrorResponse.js.map +1 -1
  217. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IWidgetApiRequest.js.map +1 -1
  218. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IWidgetApiResponse.js.map +1 -1
  219. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/LanguageChangeAction.js.map +1 -1
  220. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ModalButtonKind.js.map +1 -1
  221. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ModalWidgetActions.js.map +1 -1
  222. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/NavigateAction.js.map +1 -1
  223. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/OpenIDCredentialsAction.js.map +1 -1
  224. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ReadEventAction.js.map +1 -1
  225. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ReadRelationsAction.js.map +1 -1
  226. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ReadRoomAccountDataAction.js.map +1 -1
  227. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/RtcLivekitActions.d.ts +53 -0
  228. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/RtcLivekitActions.js +6 -0
  229. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/RtcLivekitActions.js.map +1 -0
  230. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/RtcTransportsAction.js.map +1 -1
  231. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ScreenshotAction.js.map +1 -1
  232. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/SendEventAction.js.map +1 -1
  233. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/SendToDeviceAction.js.map +1 -1
  234. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/SetModalButtonEnabledAction.js.map +1 -1
  235. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/StickerAction.js.map +1 -1
  236. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/StickyAction.js.map +1 -1
  237. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/SupportedVersionsAction.js.map +1 -1
  238. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ThemeChangeAction.js.map +1 -1
  239. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/TurnServerActions.js.map +1 -1
  240. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/UpdateDelayedEventAction.js.map +1 -1
  241. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/UpdateStateAction.js.map +1 -1
  242. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/UploadFileAction.js.map +1 -1
  243. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/UserDirectorySearchAction.js.map +1 -1
  244. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/VisibilityAction.js.map +1 -1
  245. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetApiAction.d.ts +9 -1
  246. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetApiAction.js +2 -0
  247. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetApiAction.js.map +1 -1
  248. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetApiDirection.js.map +1 -1
  249. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetConfigAction.js.map +1 -1
  250. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetKind.js.map +1 -1
  251. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetType.js.map +1 -1
  252. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/Widget.js +20 -20
  253. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/Widget.js.map +1 -1
  254. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/WidgetEventCapability.js +9 -9
  255. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/WidgetEventCapability.js.map +1 -1
  256. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/WidgetParser.js +23 -23
  257. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/WidgetParser.js.map +1 -1
  258. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/validation/url.js.map +1 -1
  259. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/validation/utils.js.map +1 -1
  260. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/templating/url-template.js.map +1 -1
  261. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/transport/ITransport.js.map +1 -1
  262. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/transport/PostmessageTransport.js +32 -32
  263. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/transport/PostmessageTransport.js.map +1 -1
  264. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/util/SimpleObservable.js +10 -10
  265. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/util/SimpleObservable.js.map +1 -1
  266. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/package.json +2 -2
  267. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/ClientWidgetApi.ts +48 -0
  268. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/WidgetApi.ts +75 -1
  269. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/driver/WidgetDriver.ts +33 -0
  270. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/index.ts +1 -0
  271. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/ApiVersion.ts +2 -0
  272. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/Capabilities.ts +8 -0
  273. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/RtcLivekitActions.ts +80 -0
  274. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/WidgetApiAction.ts +10 -0
  275. package/node_modules/matrix-js-sdk/node_modules/p-retry/index.d.ts +1 -1
  276. package/node_modules/matrix-js-sdk/node_modules/p-retry/index.js +4 -0
  277. package/node_modules/matrix-js-sdk/node_modules/p-retry/package.json +1 -1
  278. package/node_modules/matrix-js-sdk/node_modules/p-retry/readme.md +1 -1
  279. package/node_modules/matrix-js-sdk/package.json +2 -2
  280. package/node_modules/matrix-js-sdk/src/client.ts +19 -11
  281. package/node_modules/matrix-js-sdk/src/http-api/errors.ts +16 -0
  282. package/node_modules/matrix-js-sdk/src/matrixrtc/MatrixRTCSession.ts +8 -1
  283. package/node_modules/matrix-js-sdk/src/oauth/authorize.ts +2 -5
  284. package/node_modules/matrix-js-sdk/src/oauth/error.ts +69 -0
  285. package/node_modules/matrix-js-sdk/src/oauth/index.ts +19 -2
  286. package/node_modules/matrix-js-sdk/src/oauth/tokenRefresher.ts +9 -2
  287. package/node_modules/matrix-js-sdk/src/secret-storage.ts +8 -31
  288. package/node_modules/matrix-js-sdk/src/sliding-sync-sdk.ts +74 -0
  289. package/node_modules/typebox/build/compile/validator.d.mts +1 -1
  290. package/node_modules/typebox/build/compile/validator.mjs +1 -1
  291. package/node_modules/typebox/build/format/idna/idn-hostname.mjs +7 -5
  292. package/node_modules/typebox/build/format/iri.mjs +5 -1
  293. package/node_modules/typebox/build/guard/emit.mjs +2 -4
  294. package/node_modules/typebox/build/guard/guard.mjs +6 -18
  295. package/node_modules/typebox/build/guard/string.mjs +16 -24
  296. package/node_modules/typebox/build/schema/build.mjs +2 -2
  297. package/node_modules/typebox/build/schema/check.mjs +1 -1
  298. package/node_modules/typebox/build/schema/compile.d.mts +3 -2
  299. package/node_modules/typebox/build/schema/compile.mjs +8 -8
  300. package/node_modules/typebox/build/schema/engine/_context.d.mts +6 -7
  301. package/node_modules/typebox/build/schema/engine/_context.mjs +23 -15
  302. package/node_modules/typebox/build/schema/engine/_functions.d.mts +2 -2
  303. package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -1
  304. package/node_modules/typebox/build/schema/engine/_reducer.d.mts +3 -3
  305. package/node_modules/typebox/build/schema/engine/_refine.d.mts +5 -5
  306. package/node_modules/typebox/build/schema/engine/_refine.mjs +4 -7
  307. package/node_modules/typebox/build/schema/engine/_stack.d.mts +34 -16
  308. package/node_modules/typebox/build/schema/engine/_stack.mjs +148 -104
  309. package/node_modules/typebox/build/schema/engine/additionalItems.d.mts +4 -4
  310. package/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +8 -8
  311. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +26 -18
  312. package/node_modules/typebox/build/schema/engine/allOf.d.mts +4 -4
  313. package/node_modules/typebox/build/schema/engine/allOf.mjs +3 -3
  314. package/node_modules/typebox/build/schema/engine/anyOf.d.mts +4 -4
  315. package/node_modules/typebox/build/schema/engine/anyOf.mjs +5 -10
  316. package/node_modules/typebox/build/schema/engine/boolean.d.mts +4 -4
  317. package/node_modules/typebox/build/schema/engine/boolean.mjs +2 -6
  318. package/node_modules/typebox/build/schema/engine/const.d.mts +4 -4
  319. package/node_modules/typebox/build/schema/engine/const.mjs +2 -6
  320. package/node_modules/typebox/build/schema/engine/contains.d.mts +4 -4
  321. package/node_modules/typebox/build/schema/engine/contains.mjs +2 -6
  322. package/node_modules/typebox/build/schema/engine/dependencies.d.mts +4 -4
  323. package/node_modules/typebox/build/schema/engine/dependencies.mjs +3 -6
  324. package/node_modules/typebox/build/schema/engine/dependentRequired.d.mts +4 -4
  325. package/node_modules/typebox/build/schema/engine/dependentRequired.mjs +2 -6
  326. package/node_modules/typebox/build/schema/engine/dependentSchemas.d.mts +4 -4
  327. package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +4 -4
  328. package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +11 -7
  329. package/node_modules/typebox/build/schema/engine/enum.d.mts +4 -4
  330. package/node_modules/typebox/build/schema/engine/enum.mjs +2 -6
  331. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.d.mts +4 -4
  332. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.mjs +2 -6
  333. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.d.mts +4 -4
  334. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.mjs +2 -6
  335. package/node_modules/typebox/build/schema/engine/format.d.mts +4 -4
  336. package/node_modules/typebox/build/schema/engine/format.mjs +2 -6
  337. package/node_modules/typebox/build/schema/engine/if.d.mts +4 -4
  338. package/node_modules/typebox/build/schema/engine/if.mjs +7 -15
  339. package/node_modules/typebox/build/schema/engine/items.d.mts +4 -4
  340. package/node_modules/typebox/build/schema/engine/items.mjs +1 -1
  341. package/node_modules/typebox/build/schema/engine/maxContains.d.mts +4 -4
  342. package/node_modules/typebox/build/schema/engine/maxContains.mjs +2 -6
  343. package/node_modules/typebox/build/schema/engine/maxItems.d.mts +4 -4
  344. package/node_modules/typebox/build/schema/engine/maxItems.mjs +2 -6
  345. package/node_modules/typebox/build/schema/engine/maxLength.d.mts +4 -4
  346. package/node_modules/typebox/build/schema/engine/maxLength.mjs +2 -6
  347. package/node_modules/typebox/build/schema/engine/maxProperties.d.mts +4 -4
  348. package/node_modules/typebox/build/schema/engine/maxProperties.mjs +2 -6
  349. package/node_modules/typebox/build/schema/engine/maximum.d.mts +4 -4
  350. package/node_modules/typebox/build/schema/engine/maximum.mjs +2 -6
  351. package/node_modules/typebox/build/schema/engine/minContains.d.mts +4 -4
  352. package/node_modules/typebox/build/schema/engine/minContains.mjs +2 -6
  353. package/node_modules/typebox/build/schema/engine/minItems.d.mts +5 -5
  354. package/node_modules/typebox/build/schema/engine/minItems.mjs +2 -6
  355. package/node_modules/typebox/build/schema/engine/minLength.d.mts +4 -4
  356. package/node_modules/typebox/build/schema/engine/minLength.mjs +2 -6
  357. package/node_modules/typebox/build/schema/engine/minProperties.d.mts +4 -4
  358. package/node_modules/typebox/build/schema/engine/minProperties.mjs +2 -6
  359. package/node_modules/typebox/build/schema/engine/minimum.d.mts +4 -4
  360. package/node_modules/typebox/build/schema/engine/minimum.mjs +2 -6
  361. package/node_modules/typebox/build/schema/engine/multipleOf.d.mts +4 -4
  362. package/node_modules/typebox/build/schema/engine/multipleOf.mjs +2 -6
  363. package/node_modules/typebox/build/schema/engine/not.d.mts +4 -4
  364. package/node_modules/typebox/build/schema/engine/not.mjs +4 -8
  365. package/node_modules/typebox/build/schema/engine/oneOf.d.mts +4 -4
  366. package/node_modules/typebox/build/schema/engine/oneOf.mjs +6 -11
  367. package/node_modules/typebox/build/schema/engine/pattern.d.mts +4 -4
  368. package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -7
  369. package/node_modules/typebox/build/schema/engine/patternProperties.d.mts +4 -4
  370. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +1 -1
  371. package/node_modules/typebox/build/schema/engine/prefixItems.d.mts +4 -4
  372. package/node_modules/typebox/build/schema/engine/prefixItems.mjs +1 -1
  373. package/node_modules/typebox/build/schema/engine/properties.d.mts +4 -4
  374. package/node_modules/typebox/build/schema/engine/properties.mjs +1 -1
  375. package/node_modules/typebox/build/schema/engine/propertyNames.d.mts +4 -4
  376. package/node_modules/typebox/build/schema/engine/propertyNames.mjs +4 -10
  377. package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +4 -4
  378. package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +11 -7
  379. package/node_modules/typebox/build/schema/engine/ref.d.mts +4 -4
  380. package/node_modules/typebox/build/schema/engine/ref.mjs +19 -15
  381. package/node_modules/typebox/build/schema/engine/required.d.mts +4 -4
  382. package/node_modules/typebox/build/schema/engine/required.mjs +2 -6
  383. package/node_modules/typebox/build/schema/engine/schema.d.mts +7 -7
  384. package/node_modules/typebox/build/schema/engine/schema.mjs +137 -133
  385. package/node_modules/typebox/build/schema/engine/type.d.mts +4 -4
  386. package/node_modules/typebox/build/schema/engine/type.mjs +2 -6
  387. package/node_modules/typebox/build/schema/engine/unevaluatedItems.d.mts +4 -4
  388. package/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +5 -9
  389. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.d.mts +4 -4
  390. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +5 -9
  391. package/node_modules/typebox/build/schema/engine/uniqueItems.d.mts +4 -4
  392. package/node_modules/typebox/build/schema/engine/uniqueItems.mjs +2 -6
  393. package/node_modules/typebox/build/schema/errors.d.mts +2 -2
  394. package/node_modules/typebox/build/schema/errors.mjs +8 -14
  395. package/node_modules/typebox/build/schema/intern/index.d.mts +1 -0
  396. package/node_modules/typebox/build/schema/intern/index.mjs +1 -0
  397. package/node_modules/typebox/build/schema/intern/intern.d.mts +11 -0
  398. package/node_modules/typebox/build/schema/intern/intern.mjs +293 -0
  399. package/node_modules/typebox/build/schema/meta/draft_2019_09.d.mts +2 -0
  400. package/node_modules/typebox/build/schema/meta/draft_2019_09.mjs +288 -0
  401. package/node_modules/typebox/build/schema/meta/draft_2020_12.d.mts +2 -0
  402. package/node_modules/typebox/build/schema/meta/draft_2020_12.mjs +300 -0
  403. package/node_modules/typebox/build/schema/meta/draft_3.d.mts +2 -0
  404. package/node_modules/typebox/build/schema/meta/draft_3.mjs +143 -0
  405. package/node_modules/typebox/build/schema/meta/draft_4.d.mts +2 -0
  406. package/node_modules/typebox/build/schema/meta/draft_4.mjs +149 -0
  407. package/node_modules/typebox/build/schema/meta/draft_6.d.mts +2 -0
  408. package/node_modules/typebox/build/schema/meta/draft_6.mjs +155 -0
  409. package/node_modules/typebox/build/schema/meta/draft_7.d.mts +2 -0
  410. package/node_modules/typebox/build/schema/meta/draft_7.mjs +172 -0
  411. package/node_modules/typebox/build/schema/meta/index.d.mts +2 -0
  412. package/node_modules/typebox/build/schema/meta/index.mjs +2 -0
  413. package/node_modules/typebox/build/schema/meta/meta.d.mts +9 -0
  414. package/node_modules/typebox/build/schema/meta/meta.mjs +15 -0
  415. package/node_modules/typebox/build/schema/meta/schema.d.mts +6 -0
  416. package/node_modules/typebox/build/schema/meta/schema.mjs +1 -0
  417. package/node_modules/typebox/build/schema/parse.d.mts +1 -0
  418. package/node_modules/typebox/build/schema/parse.mjs +10 -5
  419. package/node_modules/typebox/build/schema/resolve/resolve.d.mts +8 -3
  420. package/node_modules/typebox/build/schema/resolve/resolve.mjs +268 -139
  421. package/node_modules/typebox/build/schema/schema.d.mts +2 -0
  422. package/node_modules/typebox/build/schema/schema.mjs +2 -0
  423. package/node_modules/typebox/build/value/errors/errors.d.mts +2 -12
  424. package/node_modules/typebox/build/value/errors/errors.mjs +2 -7
  425. package/node_modules/typebox/package.json +1 -1
  426. package/node_modules/typebox/readme.md +59 -89
  427. package/node_modules/zod/README.md +27 -0
  428. package/node_modules/zod/compile.cjs +77 -0
  429. package/node_modules/zod/compile.d.cts +1 -0
  430. package/node_modules/zod/compile.d.ts +1 -0
  431. package/node_modules/zod/compile.js +52 -0
  432. package/node_modules/zod/index.cjs +2 -2
  433. package/node_modules/zod/index.d.cts +1 -2
  434. package/node_modules/zod/index.d.ts +1 -2
  435. package/node_modules/zod/index.js +5 -2
  436. package/node_modules/zod/package.json +13 -2
  437. package/node_modules/zod/src/compile.ts +56 -0
  438. package/node_modules/zod/src/index.ts +5 -2
  439. package/node_modules/zod/src/v3/ZodError.ts +22 -12
  440. package/node_modules/zod/src/v3/tests/error.test.ts +35 -0
  441. package/node_modules/zod/src/v3/tests/intersection.test.ts +18 -0
  442. package/node_modules/zod/src/v3/tests/language-server.test.ts +1 -2
  443. package/node_modules/zod/src/v3/tests/object.test.ts +3 -6
  444. package/node_modules/zod/src/v3/tests/readonly.test.ts +0 -80
  445. package/node_modules/zod/src/v3/tests/string.test.ts +6 -0
  446. package/node_modules/zod/src/v3/types.ts +5 -5
  447. package/node_modules/zod/src/v4/classic/checks.ts +1 -0
  448. package/node_modules/zod/src/v4/classic/compat.ts +26 -18
  449. package/node_modules/zod/src/v4/classic/deep-partial.ts +76 -0
  450. package/node_modules/zod/src/v4/classic/errors.ts +59 -44
  451. package/node_modules/zod/src/v4/classic/external.ts +12 -9
  452. package/node_modules/zod/src/v4/classic/from-json-schema.ts +140 -78
  453. package/node_modules/zod/src/v4/classic/in-out.ts +45 -0
  454. package/node_modules/zod/src/v4/classic/index.ts +2 -2
  455. package/node_modules/zod/src/v4/classic/iso.ts +2 -72
  456. package/node_modules/zod/src/v4/classic/parse.ts +10 -4
  457. package/node_modules/zod/src/v4/classic/schemas.ts +452 -262
  458. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +27 -0
  459. package/node_modules/zod/src/v4/classic/tests/array.test.ts +2 -2
  460. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +135 -0
  461. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +30 -1
  462. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +278 -0
  463. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +1 -2
  464. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +2 -1
  465. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +2 -2
  466. package/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +76 -0
  467. package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +720 -0
  468. package/node_modules/zod/src/v4/classic/tests/date.test.ts +30 -0
  469. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +32 -18
  470. package/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +380 -0
  471. package/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +32 -0
  472. package/node_modules/zod/src/v4/classic/tests/default.test.ts +46 -0
  473. package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +31 -7
  474. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +155 -13
  475. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +11 -0
  476. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +112 -2
  477. package/node_modules/zod/src/v4/classic/tests/error.test.ts +274 -6
  478. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +425 -10
  479. package/node_modules/zod/src/v4/classic/tests/function.test.ts +31 -0
  480. package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +2 -9
  481. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +1 -2
  482. package/node_modules/zod/src/v4/classic/tests/in-out.test.ts +159 -0
  483. package/node_modules/zod/src/v4/classic/tests/index.test.ts +21 -2
  484. package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +281 -0
  485. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +47 -0
  486. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +136 -0
  487. package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +183 -0
  488. package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +3 -10
  489. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +36 -1
  490. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +12 -1
  491. package/node_modules/zod/src/v4/classic/tests/map.test.ts +12 -0
  492. package/node_modules/zod/src/v4/classic/tests/number.test.ts +46 -9
  493. package/node_modules/zod/src/v4/classic/tests/object.test.ts +245 -12
  494. package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +234 -0
  495. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +49 -16
  496. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +51 -4
  497. package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +20 -2
  498. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -68
  499. package/node_modules/zod/src/v4/classic/tests/record.test.ts +186 -18
  500. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +33 -2
  501. package/node_modules/zod/src/v4/classic/tests/redos.test.ts +68 -0
  502. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +60 -0
  503. package/node_modules/zod/src/v4/classic/tests/set.test.ts +9 -0
  504. package/node_modules/zod/src/v4/classic/tests/string.test.ts +127 -5
  505. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +18 -0
  506. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +11 -2
  507. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +1585 -173
  508. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +45 -30
  509. package/node_modules/zod/src/v4/classic/tests/union.test.ts +39 -2
  510. package/node_modules/zod/src/v4/classic/tests/validate.test.ts +76 -0
  511. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +2 -2
  512. package/node_modules/zod/src/v4/core/api.ts +48 -12
  513. package/node_modules/zod/src/v4/core/checks.ts +57 -44
  514. package/node_modules/zod/src/v4/core/compile.ts +2188 -0
  515. package/node_modules/zod/src/v4/core/core.ts +98 -19
  516. package/node_modules/zod/src/v4/core/doc.ts +11 -7
  517. package/node_modules/zod/src/v4/core/errors.ts +115 -24
  518. package/node_modules/zod/src/v4/core/index.ts +3 -0
  519. package/node_modules/zod/src/v4/core/json-schema-generator.ts +6 -1
  520. package/node_modules/zod/src/v4/core/json-schema-processors.ts +257 -93
  521. package/node_modules/zod/src/v4/core/json-schema.ts +2 -1
  522. package/node_modules/zod/src/v4/core/memoizer.ts +284 -0
  523. package/node_modules/zod/src/v4/core/parse.ts +131 -38
  524. package/node_modules/zod/src/v4/core/regexes.ts +30 -13
  525. package/node_modules/zod/src/v4/core/registries.ts +2 -2
  526. package/node_modules/zod/src/v4/core/schemas.ts +759 -461
  527. package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +969 -0
  528. package/node_modules/zod/src/v4/core/tests/compile-global.test.ts +89 -0
  529. package/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +26 -0
  530. package/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +34 -0
  531. package/node_modules/zod/src/v4/core/tests/compile.test.ts +1639 -0
  532. package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +1 -2
  533. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +1 -2
  534. package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +3 -3
  535. package/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +42 -0
  536. package/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +69 -0
  537. package/node_modules/zod/src/v4/core/tests/treeshake.test.ts +51 -0
  538. package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +31 -0
  539. package/node_modules/zod/src/v4/core/to-json-schema.ts +275 -42
  540. package/node_modules/zod/src/v4/core/util.ts +268 -42
  541. package/node_modules/zod/src/v4/core/versions.ts +2 -2
  542. package/node_modules/zod/src/v4/core/visit.ts +193 -0
  543. package/node_modules/zod/src/v4/index.ts +3 -3
  544. package/node_modules/zod/src/v4/locales/ar.ts +3 -0
  545. package/node_modules/zod/src/v4/locales/az.ts +3 -0
  546. package/node_modules/zod/src/v4/locales/be.ts +10 -0
  547. package/node_modules/zod/src/v4/locales/bg.ts +3 -0
  548. package/node_modules/zod/src/v4/locales/bn.ts +121 -0
  549. package/node_modules/zod/src/v4/locales/ca.ts +3 -0
  550. package/node_modules/zod/src/v4/locales/ckb.ts +138 -0
  551. package/node_modules/zod/src/v4/locales/cs.ts +3 -0
  552. package/node_modules/zod/src/v4/locales/da.ts +5 -2
  553. package/node_modules/zod/src/v4/locales/de.ts +3 -0
  554. package/node_modules/zod/src/v4/locales/el.ts +1 -0
  555. package/node_modules/zod/src/v4/locales/en.ts +15 -4
  556. package/node_modules/zod/src/v4/locales/eo.ts +3 -0
  557. package/node_modules/zod/src/v4/locales/es.ts +2 -0
  558. package/node_modules/zod/src/v4/locales/fa.ts +3 -0
  559. package/node_modules/zod/src/v4/locales/fi.ts +3 -0
  560. package/node_modules/zod/src/v4/locales/fr-CA.ts +3 -0
  561. package/node_modules/zod/src/v4/locales/fr.ts +19 -14
  562. package/node_modules/zod/src/v4/locales/gu.ts +121 -0
  563. package/node_modules/zod/src/v4/locales/he.ts +6 -1
  564. package/node_modules/zod/src/v4/locales/hi.ts +124 -0
  565. package/node_modules/zod/src/v4/locales/hr.ts +2 -0
  566. package/node_modules/zod/src/v4/locales/hu.ts +3 -0
  567. package/node_modules/zod/src/v4/locales/hy.ts +9 -0
  568. package/node_modules/zod/src/v4/locales/id.ts +3 -0
  569. package/node_modules/zod/src/v4/locales/index.ts +10 -0
  570. package/node_modules/zod/src/v4/locales/is.ts +3 -0
  571. package/node_modules/zod/src/v4/locales/it.ts +3 -0
  572. package/node_modules/zod/src/v4/locales/ja.ts +3 -0
  573. package/node_modules/zod/src/v4/locales/ka.ts +3 -0
  574. package/node_modules/zod/src/v4/locales/km.ts +3 -0
  575. package/node_modules/zod/src/v4/locales/kn.ts +124 -0
  576. package/node_modules/zod/src/v4/locales/ko.ts +3 -0
  577. package/node_modules/zod/src/v4/locales/lt.ts +2 -0
  578. package/node_modules/zod/src/v4/locales/mk.ts +3 -0
  579. package/node_modules/zod/src/v4/locales/ms.ts +3 -0
  580. package/node_modules/zod/src/v4/locales/ne.ts +126 -0
  581. package/node_modules/zod/src/v4/locales/nl.ts +3 -0
  582. package/node_modules/zod/src/v4/locales/nn.ts +119 -0
  583. package/node_modules/zod/src/v4/locales/no.ts +5 -2
  584. package/node_modules/zod/src/v4/locales/ota.ts +3 -0
  585. package/node_modules/zod/src/v4/locales/pl.ts +3 -0
  586. package/node_modules/zod/src/v4/locales/ps.ts +3 -0
  587. package/node_modules/zod/src/v4/locales/pt-BR.ts +159 -0
  588. package/node_modules/zod/src/v4/locales/pt.ts +99 -58
  589. package/node_modules/zod/src/v4/locales/ro.ts +1 -0
  590. package/node_modules/zod/src/v4/locales/ru.ts +10 -0
  591. package/node_modules/zod/src/v4/locales/sk.ts +121 -0
  592. package/node_modules/zod/src/v4/locales/sl.ts +3 -0
  593. package/node_modules/zod/src/v4/locales/sv.ts +5 -2
  594. package/node_modules/zod/src/v4/locales/ta.ts +3 -0
  595. package/node_modules/zod/src/v4/locales/th.ts +3 -0
  596. package/node_modules/zod/src/v4/locales/tk.ts +111 -0
  597. package/node_modules/zod/src/v4/locales/tr.ts +3 -0
  598. package/node_modules/zod/src/v4/locales/uk.ts +3 -0
  599. package/node_modules/zod/src/v4/locales/ur.ts +3 -0
  600. package/node_modules/zod/src/v4/locales/uz.ts +1 -0
  601. package/node_modules/zod/src/v4/locales/vi.ts +3 -0
  602. package/node_modules/zod/src/v4/locales/yo.ts +3 -0
  603. package/node_modules/zod/src/v4/locales/zh-CN.ts +3 -0
  604. package/node_modules/zod/src/v4/locales/zh-TW.ts +3 -0
  605. package/node_modules/zod/src/v4/mini/checks.ts +1 -0
  606. package/node_modules/zod/src/v4/mini/deep-partial.ts +73 -0
  607. package/node_modules/zod/src/v4/mini/external.ts +10 -1
  608. package/node_modules/zod/src/v4/mini/in-out.ts +45 -0
  609. package/node_modules/zod/src/v4/mini/parse.ts +2 -0
  610. package/node_modules/zod/src/v4/mini/schemas.ts +135 -56
  611. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +33 -0
  612. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +62 -1
  613. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +14 -0
  614. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +35 -1
  615. package/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +84 -0
  616. package/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +54 -0
  617. package/node_modules/zod/src/v4/mini/tests/error.test.ts +23 -4
  618. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +9 -0
  619. package/node_modules/zod/src/v4/mini/tests/index.test.ts +72 -5
  620. package/node_modules/zod/src/v4/mini/tests/number.test.ts +14 -0
  621. package/node_modules/zod/src/v4/mini/tests/object.test.ts +65 -0
  622. package/node_modules/zod/src/v4/mini/tests/string.test.ts +21 -0
  623. package/node_modules/zod/v3/ZodError.cjs +22 -12
  624. package/node_modules/zod/v3/ZodError.d.cts +1 -1
  625. package/node_modules/zod/v3/ZodError.d.ts +1 -1
  626. package/node_modules/zod/v3/ZodError.js +22 -12
  627. package/node_modules/zod/v3/types.cjs +7 -5
  628. package/node_modules/zod/v3/types.js +7 -5
  629. package/node_modules/zod/v4/classic/checks.cjs +2 -1
  630. package/node_modules/zod/v4/classic/checks.d.cts +1 -1
  631. package/node_modules/zod/v4/classic/checks.d.ts +1 -1
  632. package/node_modules/zod/v4/classic/checks.js +1 -1
  633. package/node_modules/zod/v4/classic/compat.d.cts +9 -11
  634. package/node_modules/zod/v4/classic/compat.d.ts +9 -11
  635. package/node_modules/zod/v4/classic/deep-partial.cjs +39 -0
  636. package/node_modules/zod/v4/classic/deep-partial.d.cts +14 -0
  637. package/node_modules/zod/v4/classic/deep-partial.d.ts +14 -0
  638. package/node_modules/zod/v4/classic/deep-partial.js +13 -0
  639. package/node_modules/zod/v4/classic/errors.cjs +43 -34
  640. package/node_modules/zod/v4/classic/errors.d.cts +3 -4
  641. package/node_modules/zod/v4/classic/errors.d.ts +3 -4
  642. package/node_modules/zod/v4/classic/errors.js +43 -34
  643. package/node_modules/zod/v4/classic/external.cjs +30 -27
  644. package/node_modules/zod/v4/classic/external.d.cts +5 -2
  645. package/node_modules/zod/v4/classic/external.d.ts +5 -2
  646. package/node_modules/zod/v4/classic/external.js +5 -8
  647. package/node_modules/zod/v4/classic/from-json-schema.cjs +136 -75
  648. package/node_modules/zod/v4/classic/from-json-schema.js +136 -75
  649. package/node_modules/zod/v4/classic/in-out.cjs +63 -0
  650. package/node_modules/zod/v4/classic/in-out.d.cts +8 -0
  651. package/node_modules/zod/v4/classic/in-out.d.ts +8 -0
  652. package/node_modules/zod/v4/classic/in-out.js +36 -0
  653. package/node_modules/zod/v4/classic/index.cjs +2 -2
  654. package/node_modules/zod/v4/classic/index.d.cts +1 -2
  655. package/node_modules/zod/v4/classic/index.d.ts +1 -2
  656. package/node_modules/zod/v4/classic/index.js +2 -2
  657. package/node_modules/zod/v4/classic/iso.cjs +11 -22
  658. package/node_modules/zod/v4/classic/iso.d.cts +2 -17
  659. package/node_modules/zod/v4/classic/iso.d.ts +2 -17
  660. package/node_modules/zod/v4/classic/iso.js +2 -17
  661. package/node_modules/zod/v4/classic/parse.cjs +4 -1
  662. package/node_modules/zod/v4/classic/parse.d.cts +17 -4
  663. package/node_modules/zod/v4/classic/parse.d.ts +17 -4
  664. package/node_modules/zod/v4/classic/parse.js +1 -0
  665. package/node_modules/zod/v4/classic/schemas.cjs +498 -398
  666. package/node_modules/zod/v4/classic/schemas.d.cts +53 -18
  667. package/node_modules/zod/v4/classic/schemas.d.ts +53 -18
  668. package/node_modules/zod/v4/classic/schemas.js +492 -396
  669. package/node_modules/zod/v4/core/api.cjs +23 -4
  670. package/node_modules/zod/v4/core/api.d.cts +13 -9
  671. package/node_modules/zod/v4/core/api.d.ts +13 -9
  672. package/node_modules/zod/v4/core/api.js +21 -4
  673. package/node_modules/zod/v4/core/checks.cjs +37 -31
  674. package/node_modules/zod/v4/core/checks.d.cts +13 -13
  675. package/node_modules/zod/v4/core/checks.d.ts +13 -13
  676. package/node_modules/zod/v4/core/checks.js +37 -31
  677. package/node_modules/zod/v4/core/compile.cjs +1813 -0
  678. package/node_modules/zod/v4/core/compile.d.cts +51 -0
  679. package/node_modules/zod/v4/core/compile.d.ts +51 -0
  680. package/node_modules/zod/v4/core/compile.js +1783 -0
  681. package/node_modules/zod/v4/core/core.cjs +81 -18
  682. package/node_modules/zod/v4/core/core.d.cts +16 -4
  683. package/node_modules/zod/v4/core/core.d.ts +16 -4
  684. package/node_modules/zod/v4/core/core.js +82 -19
  685. package/node_modules/zod/v4/core/doc.cjs +5 -7
  686. package/node_modules/zod/v4/core/doc.d.cts +3 -1
  687. package/node_modules/zod/v4/core/doc.d.ts +3 -1
  688. package/node_modules/zod/v4/core/doc.js +5 -7
  689. package/node_modules/zod/v4/core/errors.cjs +110 -25
  690. package/node_modules/zod/v4/core/errors.d.cts +4 -0
  691. package/node_modules/zod/v4/core/errors.d.ts +4 -0
  692. package/node_modules/zod/v4/core/errors.js +110 -25
  693. package/node_modules/zod/v4/core/index.cjs +5 -1
  694. package/node_modules/zod/v4/core/index.d.cts +3 -0
  695. package/node_modules/zod/v4/core/index.d.ts +3 -0
  696. package/node_modules/zod/v4/core/index.js +3 -0
  697. package/node_modules/zod/v4/core/json-schema-generator.cjs +4 -0
  698. package/node_modules/zod/v4/core/json-schema-generator.d.cts +2 -2
  699. package/node_modules/zod/v4/core/json-schema-generator.d.ts +2 -2
  700. package/node_modules/zod/v4/core/json-schema-generator.js +4 -0
  701. package/node_modules/zod/v4/core/json-schema-processors.cjs +264 -95
  702. package/node_modules/zod/v4/core/json-schema-processors.js +243 -97
  703. package/node_modules/zod/v4/core/json-schema.d.cts +2 -1
  704. package/node_modules/zod/v4/core/json-schema.d.ts +2 -1
  705. package/node_modules/zod/v4/core/memoizer.cjs +272 -0
  706. package/node_modules/zod/v4/core/memoizer.d.cts +15 -0
  707. package/node_modules/zod/v4/core/memoizer.d.ts +15 -0
  708. package/node_modules/zod/v4/core/memoizer.js +265 -0
  709. package/node_modules/zod/v4/core/parse.cjs +96 -34
  710. package/node_modules/zod/v4/core/parse.d.cts +14 -11
  711. package/node_modules/zod/v4/core/parse.d.ts +14 -11
  712. package/node_modules/zod/v4/core/parse.js +94 -33
  713. package/node_modules/zod/v4/core/regexes.cjs +27 -15
  714. package/node_modules/zod/v4/core/regexes.d.cts +2 -0
  715. package/node_modules/zod/v4/core/regexes.d.ts +2 -0
  716. package/node_modules/zod/v4/core/regexes.js +24 -13
  717. package/node_modules/zod/v4/core/registries.js +2 -2
  718. package/node_modules/zod/v4/core/schemas.cjs +537 -326
  719. package/node_modules/zod/v4/core/schemas.d.cts +100 -31
  720. package/node_modules/zod/v4/core/schemas.d.ts +100 -31
  721. package/node_modules/zod/v4/core/schemas.js +526 -325
  722. package/node_modules/zod/v4/core/to-json-schema.cjs +242 -39
  723. package/node_modules/zod/v4/core/to-json-schema.d.cts +42 -3
  724. package/node_modules/zod/v4/core/to-json-schema.d.ts +42 -3
  725. package/node_modules/zod/v4/core/to-json-schema.js +241 -39
  726. package/node_modules/zod/v4/core/util.cjs +212 -31
  727. package/node_modules/zod/v4/core/util.d.cts +58 -1
  728. package/node_modules/zod/v4/core/util.d.ts +58 -1
  729. package/node_modules/zod/v4/core/util.js +202 -30
  730. package/node_modules/zod/v4/core/versions.cjs +2 -2
  731. package/node_modules/zod/v4/core/versions.d.cts +1 -1
  732. package/node_modules/zod/v4/core/versions.d.ts +1 -1
  733. package/node_modules/zod/v4/core/versions.js +2 -2
  734. package/node_modules/zod/v4/core/visit.cjs +195 -0
  735. package/node_modules/zod/v4/core/visit.d.cts +30 -0
  736. package/node_modules/zod/v4/core/visit.d.ts +30 -0
  737. package/node_modules/zod/v4/core/visit.js +169 -0
  738. package/node_modules/zod/v4/index.cjs +15 -5
  739. package/node_modules/zod/v4/index.d.cts +2 -2
  740. package/node_modules/zod/v4/index.d.ts +2 -2
  741. package/node_modules/zod/v4/index.js +3 -2
  742. package/node_modules/zod/v4/locales/ar.cjs +3 -0
  743. package/node_modules/zod/v4/locales/ar.js +3 -0
  744. package/node_modules/zod/v4/locales/az.cjs +3 -0
  745. package/node_modules/zod/v4/locales/az.js +3 -0
  746. package/node_modules/zod/v4/locales/be.cjs +10 -0
  747. package/node_modules/zod/v4/locales/be.js +10 -0
  748. package/node_modules/zod/v4/locales/bg.cjs +3 -0
  749. package/node_modules/zod/v4/locales/bg.js +3 -0
  750. package/node_modules/zod/v4/locales/bn.cjs +138 -0
  751. package/node_modules/zod/v4/locales/bn.d.cts +5 -0
  752. package/node_modules/zod/v4/locales/bn.d.ts +4 -0
  753. package/node_modules/zod/v4/locales/bn.js +111 -0
  754. package/node_modules/zod/v4/locales/ca.cjs +3 -0
  755. package/node_modules/zod/v4/locales/ca.js +3 -0
  756. package/node_modules/zod/v4/locales/ckb.cjs +158 -0
  757. package/node_modules/zod/v4/locales/ckb.d.cts +5 -0
  758. package/node_modules/zod/v4/locales/ckb.d.ts +4 -0
  759. package/node_modules/zod/v4/locales/ckb.js +131 -0
  760. package/node_modules/zod/v4/locales/cs.cjs +3 -0
  761. package/node_modules/zod/v4/locales/cs.js +3 -0
  762. package/node_modules/zod/v4/locales/da.cjs +5 -2
  763. package/node_modules/zod/v4/locales/da.js +5 -2
  764. package/node_modules/zod/v4/locales/de.cjs +3 -0
  765. package/node_modules/zod/v4/locales/de.js +3 -0
  766. package/node_modules/zod/v4/locales/el.cjs +1 -0
  767. package/node_modules/zod/v4/locales/el.js +1 -0
  768. package/node_modules/zod/v4/locales/en.cjs +14 -4
  769. package/node_modules/zod/v4/locales/en.js +14 -4
  770. package/node_modules/zod/v4/locales/eo.cjs +3 -0
  771. package/node_modules/zod/v4/locales/eo.js +3 -0
  772. package/node_modules/zod/v4/locales/es.cjs +2 -0
  773. package/node_modules/zod/v4/locales/es.js +2 -0
  774. package/node_modules/zod/v4/locales/fa.cjs +3 -0
  775. package/node_modules/zod/v4/locales/fa.js +3 -0
  776. package/node_modules/zod/v4/locales/fi.cjs +3 -0
  777. package/node_modules/zod/v4/locales/fi.js +3 -0
  778. package/node_modules/zod/v4/locales/fr-CA.cjs +3 -0
  779. package/node_modules/zod/v4/locales/fr-CA.js +3 -0
  780. package/node_modules/zod/v4/locales/fr.cjs +16 -14
  781. package/node_modules/zod/v4/locales/fr.js +16 -14
  782. package/node_modules/zod/v4/locales/gu.cjs +138 -0
  783. package/node_modules/zod/v4/locales/gu.d.cts +5 -0
  784. package/node_modules/zod/v4/locales/gu.d.ts +4 -0
  785. package/node_modules/zod/v4/locales/gu.js +111 -0
  786. package/node_modules/zod/v4/locales/he.cjs +5 -0
  787. package/node_modules/zod/v4/locales/he.js +5 -0
  788. package/node_modules/zod/v4/locales/hi.cjs +136 -0
  789. package/node_modules/zod/v4/locales/hi.d.cts +5 -0
  790. package/node_modules/zod/v4/locales/hi.d.ts +4 -0
  791. package/node_modules/zod/v4/locales/hi.js +109 -0
  792. package/node_modules/zod/v4/locales/hr.cjs +2 -0
  793. package/node_modules/zod/v4/locales/hr.js +2 -0
  794. package/node_modules/zod/v4/locales/hu.cjs +3 -0
  795. package/node_modules/zod/v4/locales/hu.js +3 -0
  796. package/node_modules/zod/v4/locales/hy.cjs +9 -0
  797. package/node_modules/zod/v4/locales/hy.js +9 -0
  798. package/node_modules/zod/v4/locales/id.cjs +3 -0
  799. package/node_modules/zod/v4/locales/id.js +3 -0
  800. package/node_modules/zod/v4/locales/index.cjs +22 -2
  801. package/node_modules/zod/v4/locales/index.d.cts +10 -0
  802. package/node_modules/zod/v4/locales/index.d.ts +10 -0
  803. package/node_modules/zod/v4/locales/index.js +10 -0
  804. package/node_modules/zod/v4/locales/is.cjs +3 -0
  805. package/node_modules/zod/v4/locales/is.js +3 -0
  806. package/node_modules/zod/v4/locales/it.cjs +3 -0
  807. package/node_modules/zod/v4/locales/it.js +3 -0
  808. package/node_modules/zod/v4/locales/ja.cjs +3 -0
  809. package/node_modules/zod/v4/locales/ja.js +3 -0
  810. package/node_modules/zod/v4/locales/ka.cjs +3 -0
  811. package/node_modules/zod/v4/locales/ka.js +3 -0
  812. package/node_modules/zod/v4/locales/km.cjs +3 -0
  813. package/node_modules/zod/v4/locales/km.js +3 -0
  814. package/node_modules/zod/v4/locales/kn.cjs +141 -0
  815. package/node_modules/zod/v4/locales/kn.d.cts +5 -0
  816. package/node_modules/zod/v4/locales/kn.d.ts +4 -0
  817. package/node_modules/zod/v4/locales/kn.js +114 -0
  818. package/node_modules/zod/v4/locales/ko.cjs +3 -0
  819. package/node_modules/zod/v4/locales/ko.js +3 -0
  820. package/node_modules/zod/v4/locales/lt.cjs +2 -0
  821. package/node_modules/zod/v4/locales/lt.js +2 -0
  822. package/node_modules/zod/v4/locales/mk.cjs +3 -0
  823. package/node_modules/zod/v4/locales/mk.js +3 -0
  824. package/node_modules/zod/v4/locales/ms.cjs +3 -0
  825. package/node_modules/zod/v4/locales/ms.js +3 -0
  826. package/node_modules/zod/v4/locales/ne.cjs +136 -0
  827. package/node_modules/zod/v4/locales/ne.d.cts +5 -0
  828. package/node_modules/zod/v4/locales/ne.d.ts +4 -0
  829. package/node_modules/zod/v4/locales/ne.js +109 -0
  830. package/node_modules/zod/v4/locales/nl.cjs +3 -0
  831. package/node_modules/zod/v4/locales/nl.js +3 -0
  832. package/node_modules/zod/v4/locales/nn.cjs +138 -0
  833. package/node_modules/zod/v4/locales/nn.d.cts +5 -0
  834. package/node_modules/zod/v4/locales/nn.d.ts +4 -0
  835. package/node_modules/zod/v4/locales/nn.js +111 -0
  836. package/node_modules/zod/v4/locales/no.cjs +5 -2
  837. package/node_modules/zod/v4/locales/no.js +5 -2
  838. package/node_modules/zod/v4/locales/ota.cjs +3 -0
  839. package/node_modules/zod/v4/locales/ota.js +3 -0
  840. package/node_modules/zod/v4/locales/pl.cjs +3 -0
  841. package/node_modules/zod/v4/locales/pl.js +3 -0
  842. package/node_modules/zod/v4/locales/ps.cjs +3 -0
  843. package/node_modules/zod/v4/locales/ps.js +3 -0
  844. package/node_modules/zod/v4/locales/pt-BR.cjs +168 -0
  845. package/node_modules/zod/v4/locales/pt-BR.d.cts +5 -0
  846. package/node_modules/zod/v4/locales/pt-BR.d.ts +4 -0
  847. package/node_modules/zod/v4/locales/pt-BR.js +141 -0
  848. package/node_modules/zod/v4/locales/pt.cjs +87 -55
  849. package/node_modules/zod/v4/locales/pt.js +87 -55
  850. package/node_modules/zod/v4/locales/ro.cjs +1 -0
  851. package/node_modules/zod/v4/locales/ro.js +1 -0
  852. package/node_modules/zod/v4/locales/ru.cjs +10 -0
  853. package/node_modules/zod/v4/locales/ru.js +10 -0
  854. package/node_modules/zod/v4/locales/sk.cjs +141 -0
  855. package/node_modules/zod/v4/locales/sk.d.cts +5 -0
  856. package/node_modules/zod/v4/locales/sk.d.ts +4 -0
  857. package/node_modules/zod/v4/locales/sk.js +114 -0
  858. package/node_modules/zod/v4/locales/sl.cjs +3 -0
  859. package/node_modules/zod/v4/locales/sl.js +3 -0
  860. package/node_modules/zod/v4/locales/sv.cjs +5 -2
  861. package/node_modules/zod/v4/locales/sv.js +5 -2
  862. package/node_modules/zod/v4/locales/ta.cjs +3 -0
  863. package/node_modules/zod/v4/locales/ta.js +3 -0
  864. package/node_modules/zod/v4/locales/th.cjs +3 -0
  865. package/node_modules/zod/v4/locales/th.js +3 -0
  866. package/node_modules/zod/v4/locales/tk.cjs +132 -0
  867. package/node_modules/zod/v4/locales/tk.d.cts +5 -0
  868. package/node_modules/zod/v4/locales/tk.d.ts +4 -0
  869. package/node_modules/zod/v4/locales/tk.js +105 -0
  870. package/node_modules/zod/v4/locales/tr.cjs +3 -0
  871. package/node_modules/zod/v4/locales/tr.js +3 -0
  872. package/node_modules/zod/v4/locales/uk.cjs +3 -0
  873. package/node_modules/zod/v4/locales/uk.js +3 -0
  874. package/node_modules/zod/v4/locales/ur.cjs +3 -0
  875. package/node_modules/zod/v4/locales/ur.js +3 -0
  876. package/node_modules/zod/v4/locales/uz.cjs +1 -0
  877. package/node_modules/zod/v4/locales/uz.js +1 -0
  878. package/node_modules/zod/v4/locales/vi.cjs +3 -0
  879. package/node_modules/zod/v4/locales/vi.js +3 -0
  880. package/node_modules/zod/v4/locales/yo.cjs +3 -0
  881. package/node_modules/zod/v4/locales/yo.js +3 -0
  882. package/node_modules/zod/v4/locales/zh-CN.cjs +3 -0
  883. package/node_modules/zod/v4/locales/zh-CN.js +3 -0
  884. package/node_modules/zod/v4/locales/zh-TW.cjs +3 -0
  885. package/node_modules/zod/v4/locales/zh-TW.js +3 -0
  886. package/node_modules/zod/v4/mini/checks.cjs +2 -1
  887. package/node_modules/zod/v4/mini/checks.d.cts +1 -1
  888. package/node_modules/zod/v4/mini/checks.d.ts +1 -1
  889. package/node_modules/zod/v4/mini/checks.js +1 -1
  890. package/node_modules/zod/v4/mini/deep-partial.cjs +39 -0
  891. package/node_modules/zod/v4/mini/deep-partial.d.cts +14 -0
  892. package/node_modules/zod/v4/mini/deep-partial.d.ts +14 -0
  893. package/node_modules/zod/v4/mini/deep-partial.js +13 -0
  894. package/node_modules/zod/v4/mini/external.cjs +12 -1
  895. package/node_modules/zod/v4/mini/external.d.cts +5 -2
  896. package/node_modules/zod/v4/mini/external.d.ts +5 -2
  897. package/node_modules/zod/v4/mini/external.js +3 -1
  898. package/node_modules/zod/v4/mini/in-out.cjs +63 -0
  899. package/node_modules/zod/v4/mini/in-out.d.cts +8 -0
  900. package/node_modules/zod/v4/mini/in-out.d.ts +8 -0
  901. package/node_modules/zod/v4/mini/in-out.js +36 -0
  902. package/node_modules/zod/v4/mini/parse.cjs +3 -1
  903. package/node_modules/zod/v4/mini/parse.d.cts +1 -1
  904. package/node_modules/zod/v4/mini/parse.d.ts +1 -1
  905. package/node_modules/zod/v4/mini/parse.js +1 -1
  906. package/node_modules/zod/v4/mini/schemas.cjs +75 -47
  907. package/node_modules/zod/v4/mini/schemas.d.cts +43 -13
  908. package/node_modules/zod/v4/mini/schemas.d.ts +43 -13
  909. package/node_modules/zod/v4/mini/schemas.js +71 -45
  910. package/openclaw.plugin.json +224 -43
  911. package/package.json +12 -10
  912. package/dist/direct-room-RinHjtqX.js +0 -71
  913. package/dist/probe.runtime-DdXTrrmo.js +0 -2
  914. package/dist/runtime-6S3DNFNv.js +0 -8
  915. package/dist/types-DzSc7Sqm.js +0 -32
  916. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.d.ts +0 -33
  917. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.d.ts.map +0 -1
  918. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.js +0 -93
  919. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.js.map +0 -1
  920. package/node_modules/markdown-it/node_modules/entities/src/internal/encode-shared.ts +0 -123
  921. package/node_modules/zod/src/v4/core/config.ts +0 -15
  922. /package/dist/{account-config-CRsKoMqJ.js → .setup/account-config-CRsKoMqJ.mjs} +0 -0
  923. /package/dist/{backup-health-Dm_YMVFT.js → .setup/backup-health-Dm_YMVFT.mjs} +0 -0
  924. /package/dist/{config-paths-CnREYb1Y.js → .setup/config-paths-CnREYb1Y.mjs} +0 -0
  925. /package/dist/{config-secret-input.runtime-CwsP3--c.js → .setup/config-secret-input.runtime-CwsP3--c.mjs} +0 -0
  926. /package/dist/{credentials-state-B3cuUFwZ.js → .setup/credentials-state-B3cuUFwZ.mjs} +0 -0
  927. /package/dist/{crypto-node.runtime-6Aj_ltHQ.js → .setup/crypto-node.runtime-6Aj_ltHQ.mjs} +0 -0
  928. /package/dist/{deps-mtxF2mHI.js → .setup/deps-mtxF2mHI.mjs} +0 -0
  929. /package/dist/{doctor-contract-HyWFZQVG.js → .setup/doctor-contract-HyWFZQVG.mjs} +0 -0
  930. /package/dist/{env-vars-dGqak9dN.js → .setup/env-vars-dGqak9dN.mjs} +0 -0
  931. /package/dist/{errors-DKVS3_DO.js → .setup/errors-DKVS3_DO.mjs} +0 -0
  932. /package/dist/{event-helpers-CspuhE9k.js → .setup/event-helpers-CspuhE9k.mjs} +0 -0
  933. /package/dist/{idb-persistence-lock-B3fZXyF_.js → .setup/idb-persistence-lock-B3fZXyF_.mjs} +0 -0
  934. /package/dist/{rolldown-runtime-8H4AJuhK.js → .setup/rolldown-runtime-8H4AJuhK.mjs} +0 -0
  935. /package/dist/{storage-paths-DVCANXTc.js → .setup/storage-paths-DVCANXTc.mjs} +0 -0
  936. /package/dist/{target-ids-Nwx7cMVE.js → .setup/target-ids-Nwx7cMVE.mjs} +0 -0
  937. /package/dist/{thread-bindings-shared-oNPiyMWY.js → .setup/thread-bindings-shared-oNPiyMWY.mjs} +0 -0
  938. /package/dist/{url-validation-GRHde6lq.js → .setup/url-validation-GRHde6lq.mjs} +0 -0
@@ -6,26 +6,26 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.Widget = void 0;
7
7
  var _ = require("..");
8
8
  var _utils = require("./validation/utils");
9
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
10
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
11
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
12
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
13
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } /*
15
- * Copyright 2020 The Matrix.org Foundation C.I.C.
16
- *
17
- * Licensed under the Apache License, Version 2.0 (the "License");
18
- * you may not use this file except in compliance with the License.
19
- * You may obtain a copy of the License at
20
- *
21
- * http://www.apache.org/licenses/LICENSE-2.0
22
- *
23
- * Unless required by applicable law or agreed to in writing, software
24
- * distributed under the License is distributed on an "AS IS" BASIS,
25
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
26
- * See the License for the specific language governing permissions and
27
- * limitations under the License.
28
- */
9
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
10
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
11
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
12
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
13
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
14
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /*
15
+ * Copyright 2020 The Matrix.org Foundation C.I.C.
16
+ *
17
+ * Licensed under the Apache License, Version 2.0 (the "License");
18
+ * you may not use this file except in compliance with the License.
19
+ * You may obtain a copy of the License at
20
+ *
21
+ * http://www.apache.org/licenses/LICENSE-2.0
22
+ *
23
+ * Unless required by applicable law or agreed to in writing, software
24
+ * distributed under the License is distributed on an "AS IS" BASIS,
25
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
26
+ * See the License for the specific language governing permissions and
27
+ * limitations under the License.
28
+ */
29
29
  /**
30
30
  * Represents the barest form of widget.
31
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Widget.js","names":["_","require","_utils","_typeof","obj","Symbol","iterator","constructor","prototype","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","call","Number","Widget","definition","Error","assertPresent","get","creatorUserId","type","id","name","rawData","title","url","URL","templateUrl","origin","waitForIframeLoad","data","value","getCompleteUrl","params","runTemplate","exports"],"sources":["../../src/models/Widget.ts"],"sourcesContent":["/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ITemplateParams, IWidget, IWidgetData, runTemplate, WidgetType } from \"..\";\nimport { assertPresent } from \"./validation/utils\";\n\n/**\n * Represents the barest form of widget.\n */\nexport class Widget {\n public constructor(private readonly definition: IWidget) {\n if (!this.definition) throw new Error(\"Definition is required\");\n\n assertPresent(definition, \"id\");\n assertPresent(definition, \"creatorUserId\");\n assertPresent(definition, \"type\");\n assertPresent(definition, \"url\");\n }\n\n /**\n * The user ID who created the widget.\n */\n public get creatorUserId(): string {\n return this.definition.creatorUserId;\n }\n\n /**\n * The type of widget.\n */\n public get type(): WidgetType {\n return this.definition.type;\n }\n\n /**\n * The ID of the widget.\n */\n public get id(): string {\n return this.definition.id;\n }\n\n /**\n * The name of the widget, or null if not set.\n */\n public get name(): string | null {\n return this.definition.name || null;\n }\n\n /**\n * The title for the widget, or null if not set.\n */\n public get title(): string | null {\n return this.rawData.title || null;\n }\n\n /**\n * The templated URL for the widget.\n */\n public get templateUrl(): string {\n return this.definition.url;\n }\n\n /**\n * The origin for this widget.\n */\n public get origin(): string {\n return new URL(this.templateUrl).origin;\n }\n\n /**\n * Whether or not the client should wait for the iframe to load. Defaults\n * to true.\n */\n public get waitForIframeLoad(): boolean {\n if (this.definition.waitForIframeLoad === false) return false;\n if (this.definition.waitForIframeLoad === true) return true;\n return true; // default true\n }\n\n /**\n * The raw data for the widget. This will always be defined, though\n * may be empty.\n */\n public get rawData(): IWidgetData {\n return this.definition.data || {};\n }\n\n /**\n * Gets a complete widget URL for the client to render.\n * @param {ITemplateParams} params The template parameters.\n * @returns {string} A templated URL.\n */\n public getCompleteUrl(params: ITemplateParams): string {\n return runTemplate(this.templateUrl, this.definition, params);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Widget.js","names":["_","require","_utils","_typeof","o","Symbol","iterator","constructor","prototype","_classCallCheck","a","n","TypeError","_defineProperties","e","r","t","length","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","i","_toPrimitive","toPrimitive","call","String","Number","Widget","definition","Error","assertPresent","get","creatorUserId","type","id","name","rawData","title","url","URL","templateUrl","origin","waitForIframeLoad","data","value","getCompleteUrl","params","runTemplate","exports"],"sources":["../../src/models/Widget.ts"],"sourcesContent":["/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ITemplateParams, IWidget, IWidgetData, runTemplate, WidgetType } from \"..\";\nimport { assertPresent } from \"./validation/utils\";\n\n/**\n * Represents the barest form of widget.\n */\nexport class Widget {\n public constructor(private readonly definition: IWidget) {\n if (!this.definition) throw new Error(\"Definition is required\");\n\n assertPresent(definition, \"id\");\n assertPresent(definition, \"creatorUserId\");\n assertPresent(definition, \"type\");\n assertPresent(definition, \"url\");\n }\n\n /**\n * The user ID who created the widget.\n */\n public get creatorUserId(): string {\n return this.definition.creatorUserId;\n }\n\n /**\n * The type of widget.\n */\n public get type(): WidgetType {\n return this.definition.type;\n }\n\n /**\n * The ID of the widget.\n */\n public get id(): string {\n return this.definition.id;\n }\n\n /**\n * The name of the widget, or null if not set.\n */\n public get name(): string | null {\n return this.definition.name || null;\n }\n\n /**\n * The title for the widget, or null if not set.\n */\n public get title(): string | null {\n return this.rawData.title || null;\n }\n\n /**\n * The templated URL for the widget.\n */\n public get templateUrl(): string {\n return this.definition.url;\n }\n\n /**\n * The origin for this widget.\n */\n public get origin(): string {\n return new URL(this.templateUrl).origin;\n }\n\n /**\n * Whether or not the client should wait for the iframe to load. Defaults\n * to true.\n */\n public get waitForIframeLoad(): boolean {\n if (this.definition.waitForIframeLoad === false) return false;\n if (this.definition.waitForIframeLoad === true) return true;\n return true; // default true\n }\n\n /**\n * The raw data for the widget. This will always be defined, though\n * may be empty.\n */\n public get rawData(): IWidgetData {\n return this.definition.data || {};\n }\n\n /**\n * Gets a complete widget URL for the client to render.\n * @param {ITemplateParams} params The template parameters.\n * @returns {string} A templated URL.\n */\n public getCompleteUrl(params: ITemplateParams): string {\n return runTemplate(this.templateUrl, this.definition, params);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.WidgetEventCapability = exports.EventKind = exports.EventDirection = void 0;
7
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
8
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
9
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
12
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
13
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
14
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
15
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
7
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
8
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
9
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
10
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
11
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
12
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
13
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
14
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
15
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
16
16
  /*
17
17
  * Copyright 2020 The Matrix.org Foundation C.I.C.
18
18
  *
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetEventCapability.js","names":["EventKind","exports","EventDirection","WidgetEventCapability","direction","eventType","kind","keyStr","raw","_classCallCheck","_createClass","key","value","matchesAsStateEvent","stateKey","State","matchesAsToDeviceEvent","ToDevice","matchesAsRoomEvent","msgtype","arguments","length","undefined","Event","matchesAsRoomAccountData","RoomAccount","forStateEvent","replace","concat","str","findEventCapabilities","forToDeviceEvent","forRoomEvent","forRoomMessageEvent","forRoomAccountData","capabilities","parsed","_iterator","_createForOfIteratorHelper","_step","s","n","done","cap","eventSegment","startsWith","Send","substring","Receive","expectingKeyStr","includes","parts","split","idx","findIndex","p","endsWith","slice","map","join","push","err","e","f"],"sources":["../../src/models/WidgetEventCapability.ts"],"sourcesContent":["/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Capability } from \"..\";\n\nexport enum EventKind {\n Event = \"event\",\n State = \"state_event\",\n ToDevice = \"to_device\",\n RoomAccount = \"room_account\",\n}\n\nexport enum EventDirection {\n Send = \"send\",\n Receive = \"receive\",\n}\n\nexport class WidgetEventCapability {\n private constructor(\n public readonly direction: EventDirection,\n public readonly eventType: string,\n public readonly kind: EventKind,\n public readonly keyStr: string | null,\n public readonly raw: string,\n ) {}\n\n public matchesAsStateEvent(direction: EventDirection, eventType: string, stateKey: string | null): boolean {\n if (this.kind !== EventKind.State) return false; // not a state event\n if (this.direction !== direction) return false; // direction mismatch\n if (this.eventType !== eventType) return false; // event type mismatch\n if (this.keyStr === null) return true; // all state keys are allowed\n if (this.keyStr === stateKey) return true; // this state key is allowed\n\n // Default not allowed\n return false;\n }\n\n public matchesAsToDeviceEvent(direction: EventDirection, eventType: string): boolean {\n if (this.kind !== EventKind.ToDevice) return false; // not a to-device event\n if (this.direction !== direction) return false; // direction mismatch\n if (this.eventType !== eventType) return false; // event type mismatch\n\n // Checks passed, the event is allowed\n return true;\n }\n\n public matchesAsRoomEvent(direction: EventDirection, eventType: string, msgtype: string | null = null): boolean {\n if (this.kind !== EventKind.Event) return false; // not a room event\n if (this.direction !== direction) return false; // direction mismatch\n if (this.eventType !== eventType) return false; // event type mismatch\n\n if (this.eventType === \"m.room.message\") {\n if (this.keyStr === null) return true; // all message types are allowed\n if (this.keyStr === msgtype) return true; // this message type is allowed\n } else {\n return true; // already passed the check for if the event is allowed\n }\n\n // Default not allowed\n return false;\n }\n\n public matchesAsRoomAccountData(direction: EventDirection, eventType: string): boolean {\n if (this.kind !== EventKind.RoomAccount) return false; // not room account data\n if (this.direction !== direction) return false; // direction mismatch\n if (this.eventType !== eventType) return false; // event type mismatch\n\n // Checks passed, the event is allowed\n return true;\n }\n\n public static forStateEvent(\n direction: EventDirection,\n eventType: string,\n stateKey?: string,\n ): WidgetEventCapability {\n // TODO: Enable support for m.* namespace once the MSC lands.\n // https://github.com/matrix-org/matrix-widget-api/issues/22\n eventType = eventType.replace(/#/g, \"\\\\#\");\n stateKey = stateKey !== null && stateKey !== undefined ? `#${stateKey}` : \"\";\n const str = `org.matrix.msc2762.${direction}.state_event:${eventType}${stateKey}`;\n\n // cheat by sending it through the processor\n return WidgetEventCapability.findEventCapabilities([str])[0];\n }\n\n public static forToDeviceEvent(direction: EventDirection, eventType: string): WidgetEventCapability {\n // TODO: Enable support for m.* namespace once the MSC lands.\n // https://github.com/matrix-org/matrix-widget-api/issues/56\n const str = `org.matrix.msc3819.${direction}.to_device:${eventType}`;\n\n // cheat by sending it through the processor\n return WidgetEventCapability.findEventCapabilities([str])[0];\n }\n\n public static forRoomEvent(direction: EventDirection, eventType: string): WidgetEventCapability {\n // TODO: Enable support for m.* namespace once the MSC lands.\n // https://github.com/matrix-org/matrix-widget-api/issues/22\n const str = `org.matrix.msc2762.${direction}.event:${eventType}`;\n\n // cheat by sending it through the processor\n return WidgetEventCapability.findEventCapabilities([str])[0];\n }\n\n public static forRoomMessageEvent(direction: EventDirection, msgtype?: string): WidgetEventCapability {\n // TODO: Enable support for m.* namespace once the MSC lands.\n // https://github.com/matrix-org/matrix-widget-api/issues/22\n msgtype = msgtype === null || msgtype === undefined ? \"\" : msgtype;\n const str = `org.matrix.msc2762.${direction}.event:m.room.message#${msgtype}`;\n\n // cheat by sending it through the processor\n return WidgetEventCapability.findEventCapabilities([str])[0];\n }\n\n public static forRoomAccountData(direction: EventDirection, eventType: string): WidgetEventCapability {\n const str = `com.beeper.capabilities.${direction}.room_account_data:${eventType}`;\n\n return WidgetEventCapability.findEventCapabilities([str])[0];\n }\n\n /**\n * Parses a capabilities request to find all the event capability requests.\n * @param {Iterable<Capability>} capabilities The capabilities requested/to parse.\n * @returns {WidgetEventCapability[]} An array of event capability requests. May be empty, but never null.\n */\n public static findEventCapabilities(capabilities: Iterable<Capability>): WidgetEventCapability[] {\n const parsed: WidgetEventCapability[] = [];\n for (const cap of capabilities) {\n let direction: EventDirection | null = null;\n let eventSegment: string | undefined;\n let kind: EventKind | null = null;\n\n // TODO: Enable support for m.* namespace once the MSCs land.\n // https://github.com/matrix-org/matrix-widget-api/issues/22\n // https://github.com/matrix-org/matrix-widget-api/issues/56\n\n if (cap.startsWith(\"org.matrix.msc2762.send.event:\")) {\n direction = EventDirection.Send;\n kind = EventKind.Event;\n eventSegment = cap.substring(\"org.matrix.msc2762.send.event:\".length);\n } else if (cap.startsWith(\"org.matrix.msc2762.send.state_event:\")) {\n direction = EventDirection.Send;\n kind = EventKind.State;\n eventSegment = cap.substring(\"org.matrix.msc2762.send.state_event:\".length);\n } else if (cap.startsWith(\"org.matrix.msc3819.send.to_device:\")) {\n direction = EventDirection.Send;\n kind = EventKind.ToDevice;\n eventSegment = cap.substring(\"org.matrix.msc3819.send.to_device:\".length);\n } else if (cap.startsWith(\"org.matrix.msc2762.receive.event:\")) {\n direction = EventDirection.Receive;\n kind = EventKind.Event;\n eventSegment = cap.substring(\"org.matrix.msc2762.receive.event:\".length);\n } else if (cap.startsWith(\"org.matrix.msc2762.receive.state_event:\")) {\n direction = EventDirection.Receive;\n kind = EventKind.State;\n eventSegment = cap.substring(\"org.matrix.msc2762.receive.state_event:\".length);\n } else if (cap.startsWith(\"org.matrix.msc3819.receive.to_device:\")) {\n direction = EventDirection.Receive;\n kind = EventKind.ToDevice;\n eventSegment = cap.substring(\"org.matrix.msc3819.receive.to_device:\".length);\n } else if (cap.startsWith(\"com.beeper.capabilities.receive.room_account_data:\")) {\n direction = EventDirection.Receive;\n kind = EventKind.RoomAccount;\n eventSegment = cap.substring(\"com.beeper.capabilities.receive.room_account_data:\".length);\n }\n\n if (direction === null || kind === null || eventSegment === undefined) continue;\n\n // The capability uses `#` as a separator between event type and state key/msgtype,\n // so we split on that. However, a # is also valid in either one of those so we\n // join accordingly.\n // Eg: `m.room.message##m.text` is \"m.room.message\" event with msgtype \"#m.text\".\n const expectingKeyStr = eventSegment.startsWith(\"m.room.message#\") || kind === EventKind.State;\n let keyStr: string | null = null;\n if (eventSegment.includes(\"#\") && expectingKeyStr) {\n // Dev note: regex is difficult to write, so instead the rules are manually written\n // out. This is probably just as understandable as a boring regex though, so win-win?\n\n // Test cases:\n // str eventSegment keyStr\n // -------------------------------------------------------------\n // m.room.message# m.room.message <empty string>\n // m.room.message#test m.room.message test\n // m.room.message\\# m.room.message# test\n // m.room.message##test m.room.message #test\n // m.room.message\\##test m.room.message# test\n // m.room.message\\\\##test m.room.message\\# test\n // m.room.message\\\\###test m.room.message\\# #test\n\n // First step: explode the string\n const parts = eventSegment.split(\"#\");\n\n // To form the eventSegment, we'll keep finding parts of the exploded string until\n // there's one that doesn't end with the escape character (\\). We'll then join those\n // segments together with the exploding character. We have to remember to consume the\n // escape character as well.\n const idx = parts.findIndex((p) => !p.endsWith(\"\\\\\"));\n eventSegment = parts\n .slice(0, idx + 1)\n .map((p) => (p.endsWith(\"\\\\\") ? p.substring(0, p.length - 1) : p))\n .join(\"#\");\n\n // The keyStr is whatever is left over.\n keyStr = parts.slice(idx + 1).join(\"#\");\n }\n\n parsed.push(new WidgetEventCapability(direction, eventSegment, kind, keyStr, cap));\n }\n return parsed;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"WidgetEventCapability.js","names":["EventKind","exports","EventDirection","WidgetEventCapability","direction","eventType","kind","keyStr","raw","_classCallCheck","_createClass","key","value","matchesAsStateEvent","stateKey","State","matchesAsToDeviceEvent","ToDevice","matchesAsRoomEvent","msgtype","arguments","length","undefined","Event","matchesAsRoomAccountData","RoomAccount","forStateEvent","replace","concat","str","findEventCapabilities","forToDeviceEvent","forRoomEvent","forRoomMessageEvent","forRoomAccountData","capabilities","parsed","_iterator","_createForOfIteratorHelper","_step","s","n","done","cap","eventSegment","startsWith","Send","substring","Receive","expectingKeyStr","includes","parts","split","idx","findIndex","p","endsWith","slice","map","join","push","err","e","f"],"sources":["../../src/models/WidgetEventCapability.ts"],"sourcesContent":["/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Capability } from \"..\";\n\nexport enum EventKind {\n Event = \"event\",\n State = \"state_event\",\n ToDevice = \"to_device\",\n RoomAccount = \"room_account\",\n}\n\nexport enum EventDirection {\n Send = \"send\",\n Receive = \"receive\",\n}\n\nexport class WidgetEventCapability {\n private constructor(\n public readonly direction: EventDirection,\n public readonly eventType: string,\n public readonly kind: EventKind,\n public readonly keyStr: string | null,\n public readonly raw: string,\n ) {}\n\n public matchesAsStateEvent(direction: EventDirection, eventType: string, stateKey: string | null): boolean {\n if (this.kind !== EventKind.State) return false; // not a state event\n if (this.direction !== direction) return false; // direction mismatch\n if (this.eventType !== eventType) return false; // event type mismatch\n if (this.keyStr === null) return true; // all state keys are allowed\n if (this.keyStr === stateKey) return true; // this state key is allowed\n\n // Default not allowed\n return false;\n }\n\n public matchesAsToDeviceEvent(direction: EventDirection, eventType: string): boolean {\n if (this.kind !== EventKind.ToDevice) return false; // not a to-device event\n if (this.direction !== direction) return false; // direction mismatch\n if (this.eventType !== eventType) return false; // event type mismatch\n\n // Checks passed, the event is allowed\n return true;\n }\n\n public matchesAsRoomEvent(direction: EventDirection, eventType: string, msgtype: string | null = null): boolean {\n if (this.kind !== EventKind.Event) return false; // not a room event\n if (this.direction !== direction) return false; // direction mismatch\n if (this.eventType !== eventType) return false; // event type mismatch\n\n if (this.eventType === \"m.room.message\") {\n if (this.keyStr === null) return true; // all message types are allowed\n if (this.keyStr === msgtype) return true; // this message type is allowed\n } else {\n return true; // already passed the check for if the event is allowed\n }\n\n // Default not allowed\n return false;\n }\n\n public matchesAsRoomAccountData(direction: EventDirection, eventType: string): boolean {\n if (this.kind !== EventKind.RoomAccount) return false; // not room account data\n if (this.direction !== direction) return false; // direction mismatch\n if (this.eventType !== eventType) return false; // event type mismatch\n\n // Checks passed, the event is allowed\n return true;\n }\n\n public static forStateEvent(\n direction: EventDirection,\n eventType: string,\n stateKey?: string,\n ): WidgetEventCapability {\n // TODO: Enable support for m.* namespace once the MSC lands.\n // https://github.com/matrix-org/matrix-widget-api/issues/22\n eventType = eventType.replace(/#/g, \"\\\\#\");\n stateKey = stateKey !== null && stateKey !== undefined ? `#${stateKey}` : \"\";\n const str = `org.matrix.msc2762.${direction}.state_event:${eventType}${stateKey}`;\n\n // cheat by sending it through the processor\n return WidgetEventCapability.findEventCapabilities([str])[0];\n }\n\n public static forToDeviceEvent(direction: EventDirection, eventType: string): WidgetEventCapability {\n // TODO: Enable support for m.* namespace once the MSC lands.\n // https://github.com/matrix-org/matrix-widget-api/issues/56\n const str = `org.matrix.msc3819.${direction}.to_device:${eventType}`;\n\n // cheat by sending it through the processor\n return WidgetEventCapability.findEventCapabilities([str])[0];\n }\n\n public static forRoomEvent(direction: EventDirection, eventType: string): WidgetEventCapability {\n // TODO: Enable support for m.* namespace once the MSC lands.\n // https://github.com/matrix-org/matrix-widget-api/issues/22\n const str = `org.matrix.msc2762.${direction}.event:${eventType}`;\n\n // cheat by sending it through the processor\n return WidgetEventCapability.findEventCapabilities([str])[0];\n }\n\n public static forRoomMessageEvent(direction: EventDirection, msgtype?: string): WidgetEventCapability {\n // TODO: Enable support for m.* namespace once the MSC lands.\n // https://github.com/matrix-org/matrix-widget-api/issues/22\n msgtype = msgtype === null || msgtype === undefined ? \"\" : msgtype;\n const str = `org.matrix.msc2762.${direction}.event:m.room.message#${msgtype}`;\n\n // cheat by sending it through the processor\n return WidgetEventCapability.findEventCapabilities([str])[0];\n }\n\n public static forRoomAccountData(direction: EventDirection, eventType: string): WidgetEventCapability {\n const str = `com.beeper.capabilities.${direction}.room_account_data:${eventType}`;\n\n return WidgetEventCapability.findEventCapabilities([str])[0];\n }\n\n /**\n * Parses a capabilities request to find all the event capability requests.\n * @param {Iterable<Capability>} capabilities The capabilities requested/to parse.\n * @returns {WidgetEventCapability[]} An array of event capability requests. May be empty, but never null.\n */\n public static findEventCapabilities(capabilities: Iterable<Capability>): WidgetEventCapability[] {\n const parsed: WidgetEventCapability[] = [];\n for (const cap of capabilities) {\n let direction: EventDirection | null = null;\n let eventSegment: string | undefined;\n let kind: EventKind | null = null;\n\n // TODO: Enable support for m.* namespace once the MSCs land.\n // https://github.com/matrix-org/matrix-widget-api/issues/22\n // https://github.com/matrix-org/matrix-widget-api/issues/56\n\n if (cap.startsWith(\"org.matrix.msc2762.send.event:\")) {\n direction = EventDirection.Send;\n kind = EventKind.Event;\n eventSegment = cap.substring(\"org.matrix.msc2762.send.event:\".length);\n } else if (cap.startsWith(\"org.matrix.msc2762.send.state_event:\")) {\n direction = EventDirection.Send;\n kind = EventKind.State;\n eventSegment = cap.substring(\"org.matrix.msc2762.send.state_event:\".length);\n } else if (cap.startsWith(\"org.matrix.msc3819.send.to_device:\")) {\n direction = EventDirection.Send;\n kind = EventKind.ToDevice;\n eventSegment = cap.substring(\"org.matrix.msc3819.send.to_device:\".length);\n } else if (cap.startsWith(\"org.matrix.msc2762.receive.event:\")) {\n direction = EventDirection.Receive;\n kind = EventKind.Event;\n eventSegment = cap.substring(\"org.matrix.msc2762.receive.event:\".length);\n } else if (cap.startsWith(\"org.matrix.msc2762.receive.state_event:\")) {\n direction = EventDirection.Receive;\n kind = EventKind.State;\n eventSegment = cap.substring(\"org.matrix.msc2762.receive.state_event:\".length);\n } else if (cap.startsWith(\"org.matrix.msc3819.receive.to_device:\")) {\n direction = EventDirection.Receive;\n kind = EventKind.ToDevice;\n eventSegment = cap.substring(\"org.matrix.msc3819.receive.to_device:\".length);\n } else if (cap.startsWith(\"com.beeper.capabilities.receive.room_account_data:\")) {\n direction = EventDirection.Receive;\n kind = EventKind.RoomAccount;\n eventSegment = cap.substring(\"com.beeper.capabilities.receive.room_account_data:\".length);\n }\n\n if (direction === null || kind === null || eventSegment === undefined) continue;\n\n // The capability uses `#` as a separator between event type and state key/msgtype,\n // so we split on that. However, a # is also valid in either one of those so we\n // join accordingly.\n // Eg: `m.room.message##m.text` is \"m.room.message\" event with msgtype \"#m.text\".\n const expectingKeyStr = eventSegment.startsWith(\"m.room.message#\") || kind === EventKind.State;\n let keyStr: string | null = null;\n if (eventSegment.includes(\"#\") && expectingKeyStr) {\n // Dev note: regex is difficult to write, so instead the rules are manually written\n // out. This is probably just as understandable as a boring regex though, so win-win?\n\n // Test cases:\n // str eventSegment keyStr\n // -------------------------------------------------------------\n // m.room.message# m.room.message <empty string>\n // m.room.message#test m.room.message test\n // m.room.message\\# m.room.message# test\n // m.room.message##test m.room.message #test\n // m.room.message\\##test m.room.message# test\n // m.room.message\\\\##test m.room.message\\# test\n // m.room.message\\\\###test m.room.message\\# #test\n\n // First step: explode the string\n const parts = eventSegment.split(\"#\");\n\n // To form the eventSegment, we'll keep finding parts of the exploded string until\n // there's one that doesn't end with the escape character (\\). We'll then join those\n // segments together with the exploding character. We have to remember to consume the\n // escape character as well.\n const idx = parts.findIndex((p) => !p.endsWith(\"\\\\\"));\n eventSegment = parts\n .slice(0, idx + 1)\n .map((p) => (p.endsWith(\"\\\\\") ? p.substring(0, p.length - 1) : p))\n .join(\"#\");\n\n // The keyStr is whatever is left over.\n keyStr = parts.slice(idx + 1).join(\"#\");\n }\n\n parsed.push(new WidgetEventCapability(direction, eventSegment, kind, keyStr, cap));\n }\n return parsed;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -6,29 +6,29 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.WidgetParser = void 0;
7
7
  var _Widget = require("./Widget");
8
8
  var _url = require("./validation/url");
9
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
10
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
11
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
12
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
13
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
15
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
16
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
17
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } /*
18
- * Copyright 2020 The Matrix.org Foundation C.I.C.
19
- *
20
- * Licensed under the Apache License, Version 2.0 (the "License");
21
- * you may not use this file except in compliance with the License.
22
- * You may obtain a copy of the License at
23
- *
24
- * http://www.apache.org/licenses/LICENSE-2.0
25
- *
26
- * Unless required by applicable law or agreed to in writing, software
27
- * distributed under the License is distributed on an "AS IS" BASIS,
28
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
29
- * See the License for the specific language governing permissions and
30
- * limitations under the License.
31
- */
9
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
10
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
11
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
12
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
13
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
14
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
15
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
16
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
17
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /*
18
+ * Copyright 2020 The Matrix.org Foundation C.I.C.
19
+ *
20
+ * Licensed under the Apache License, Version 2.0 (the "License");
21
+ * you may not use this file except in compliance with the License.
22
+ * You may obtain a copy of the License at
23
+ *
24
+ * http://www.apache.org/licenses/LICENSE-2.0
25
+ *
26
+ * Unless required by applicable law or agreed to in writing, software
27
+ * distributed under the License is distributed on an "AS IS" BASIS,
28
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
29
+ * See the License for the specific language governing permissions and
30
+ * limitations under the License.
31
+ */
32
32
  var WidgetParser = /*#__PURE__*/function () {
33
33
  function WidgetParser() {
34
34
  _classCallCheck(this, WidgetParser);
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetParser.js","names":["_Widget","require","_url","_typeof","obj","Symbol","iterator","constructor","prototype","_createForOfIteratorHelper","o","allowArrayLike","it","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","Object","toString","slice","name","from","test","arr","len","arr2","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","WidgetParser","parseAccountData","content","result","_i","_Object$keys","keys","widgetId","roughWidget","type","sender","probableWidgetId","state_key","id","asStateEvent","event_id","room_id","origin_server_ts","widget","parseRoomWidget","push","parseWidgetsFromRoomState","currentState","_iterator","_step","state","stateEvent","estimatedWidget","creatorUserId","url","waitForIframeLoad","data","processEstimatedWidget","isValidUrl","Widget","exports"],"sources":["../../src/models/WidgetParser.ts"],"sourcesContent":["/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Widget } from \"./Widget\";\nimport { IWidget } from \"..\";\nimport { isValidUrl } from \"./validation/url\";\n\nexport interface IStateEvent {\n event_id: string; // eslint-disable-line camelcase\n room_id: string; // eslint-disable-line camelcase\n type: string;\n sender: string;\n origin_server_ts: number; // eslint-disable-line camelcase\n unsigned?: unknown;\n content: unknown;\n state_key: string; // eslint-disable-line camelcase\n}\n\nexport interface IAccountDataWidgets {\n [widgetId: string]: {\n type: \"m.widget\";\n // the state_key is also the widget's ID\n state_key: string; // eslint-disable-line camelcase\n sender: string; // current user's ID\n content: IWidget;\n id?: string; // off-spec, but possible\n };\n}\n\nexport class WidgetParser {\n private constructor() {\n // private constructor because this is a util class\n }\n\n /**\n * Parses widgets from the \"m.widgets\" account data event. This will always\n * return an array, though may be empty if no valid widgets were found.\n * @param {IAccountDataWidgets} content The content of the \"m.widgets\" account data.\n * @returns {Widget[]} The widgets in account data, or an empty array.\n */\n public static parseAccountData(content: IAccountDataWidgets): Widget[] {\n if (!content) return [];\n\n const result: Widget[] = [];\n for (const widgetId of Object.keys(content)) {\n const roughWidget = content[widgetId];\n if (!roughWidget) continue;\n if (roughWidget.type !== \"m.widget\" && roughWidget.type !== \"im.vector.modular.widgets\") continue;\n if (!roughWidget.sender) continue;\n\n const probableWidgetId = roughWidget.state_key || roughWidget.id;\n if (probableWidgetId !== widgetId) continue;\n\n const asStateEvent: IStateEvent = {\n content: roughWidget.content,\n sender: roughWidget.sender,\n type: \"m.widget\",\n state_key: widgetId,\n event_id: \"$example\",\n room_id: \"!example\",\n origin_server_ts: 1,\n };\n\n const widget = WidgetParser.parseRoomWidget(asStateEvent);\n if (widget) result.push(widget);\n }\n\n return result;\n }\n\n /**\n * Parses all the widgets possible in the given array. This will always return\n * an array, though may be empty if no widgets could be parsed.\n * @param {IStateEvent[]} currentState The room state to parse.\n * @returns {Widget[]} The widgets in the state, or an empty array.\n */\n public static parseWidgetsFromRoomState(currentState: IStateEvent[]): Widget[] {\n if (!currentState) return [];\n const result: Widget[] = [];\n for (const state of currentState) {\n const widget = WidgetParser.parseRoomWidget(state);\n if (widget) result.push(widget);\n }\n return result;\n }\n\n /**\n * Parses a state event into a widget. If the state event does not represent\n * a widget (wrong event type, invalid widget, etc) then null is returned.\n * @param {IStateEvent} stateEvent The state event.\n * @returns {Widget|null} The widget, or null if invalid\n */\n public static parseRoomWidget(stateEvent: IStateEvent): Widget | null {\n if (!stateEvent) return null;\n\n // TODO: [Legacy] Remove legacy support\n if (stateEvent.type !== \"m.widget\" && stateEvent.type !== \"im.vector.modular.widgets\") {\n return null;\n }\n\n // Dev note: Throughout this function we have null safety to ensure that\n // if the caller did not supply something useful that we don't error. This\n // is done against the requirements of the interface because not everyone\n // will have an interface to validate against.\n\n const content = (stateEvent.content as IWidget) || {};\n\n // Form our best approximation of a widget with the information we have\n const estimatedWidget: IWidget = {\n id: stateEvent.state_key,\n creatorUserId: content[\"creatorUserId\"] || stateEvent.sender,\n name: content[\"name\"],\n type: content[\"type\"],\n url: content[\"url\"],\n waitForIframeLoad: content[\"waitForIframeLoad\"],\n data: content[\"data\"],\n };\n\n // Finally, process that widget\n return WidgetParser.processEstimatedWidget(estimatedWidget);\n }\n\n private static processEstimatedWidget(widget: IWidget): Widget | null {\n // Validate that the widget has the best chance of passing as a widget\n if (!widget.id || !widget.creatorUserId || !widget.type) {\n return null;\n }\n if (!isValidUrl(widget.url)) {\n return null;\n }\n // TODO: Validate data for known widget types\n return new Widget(widget);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"WidgetParser.js","names":["_Widget","require","_url","_typeof","o","Symbol","iterator","constructor","prototype","_createForOfIteratorHelper","r","e","t","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","a","u","call","next","_arrayLikeToArray","toString","slice","name","from","test","_classCallCheck","_defineProperties","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","i","_toPrimitive","toPrimitive","String","Number","WidgetParser","parseAccountData","content","result","_i","_Object$keys","keys","widgetId","roughWidget","type","sender","probableWidgetId","state_key","id","asStateEvent","event_id","room_id","origin_server_ts","widget","parseRoomWidget","push","parseWidgetsFromRoomState","currentState","_iterator","_step","state","err","stateEvent","estimatedWidget","creatorUserId","url","waitForIframeLoad","data","processEstimatedWidget","isValidUrl","Widget","exports"],"sources":["../../src/models/WidgetParser.ts"],"sourcesContent":["/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Widget } from \"./Widget\";\nimport { IWidget } from \"..\";\nimport { isValidUrl } from \"./validation/url\";\n\nexport interface IStateEvent {\n event_id: string; // eslint-disable-line camelcase\n room_id: string; // eslint-disable-line camelcase\n type: string;\n sender: string;\n origin_server_ts: number; // eslint-disable-line camelcase\n unsigned?: unknown;\n content: unknown;\n state_key: string; // eslint-disable-line camelcase\n}\n\nexport interface IAccountDataWidgets {\n [widgetId: string]: {\n type: \"m.widget\";\n // the state_key is also the widget's ID\n state_key: string; // eslint-disable-line camelcase\n sender: string; // current user's ID\n content: IWidget;\n id?: string; // off-spec, but possible\n };\n}\n\nexport class WidgetParser {\n private constructor() {\n // private constructor because this is a util class\n }\n\n /**\n * Parses widgets from the \"m.widgets\" account data event. This will always\n * return an array, though may be empty if no valid widgets were found.\n * @param {IAccountDataWidgets} content The content of the \"m.widgets\" account data.\n * @returns {Widget[]} The widgets in account data, or an empty array.\n */\n public static parseAccountData(content: IAccountDataWidgets): Widget[] {\n if (!content) return [];\n\n const result: Widget[] = [];\n for (const widgetId of Object.keys(content)) {\n const roughWidget = content[widgetId];\n if (!roughWidget) continue;\n if (roughWidget.type !== \"m.widget\" && roughWidget.type !== \"im.vector.modular.widgets\") continue;\n if (!roughWidget.sender) continue;\n\n const probableWidgetId = roughWidget.state_key || roughWidget.id;\n if (probableWidgetId !== widgetId) continue;\n\n const asStateEvent: IStateEvent = {\n content: roughWidget.content,\n sender: roughWidget.sender,\n type: \"m.widget\",\n state_key: widgetId,\n event_id: \"$example\",\n room_id: \"!example\",\n origin_server_ts: 1,\n };\n\n const widget = WidgetParser.parseRoomWidget(asStateEvent);\n if (widget) result.push(widget);\n }\n\n return result;\n }\n\n /**\n * Parses all the widgets possible in the given array. This will always return\n * an array, though may be empty if no widgets could be parsed.\n * @param {IStateEvent[]} currentState The room state to parse.\n * @returns {Widget[]} The widgets in the state, or an empty array.\n */\n public static parseWidgetsFromRoomState(currentState: IStateEvent[]): Widget[] {\n if (!currentState) return [];\n const result: Widget[] = [];\n for (const state of currentState) {\n const widget = WidgetParser.parseRoomWidget(state);\n if (widget) result.push(widget);\n }\n return result;\n }\n\n /**\n * Parses a state event into a widget. If the state event does not represent\n * a widget (wrong event type, invalid widget, etc) then null is returned.\n * @param {IStateEvent} stateEvent The state event.\n * @returns {Widget|null} The widget, or null if invalid\n */\n public static parseRoomWidget(stateEvent: IStateEvent): Widget | null {\n if (!stateEvent) return null;\n\n // TODO: [Legacy] Remove legacy support\n if (stateEvent.type !== \"m.widget\" && stateEvent.type !== \"im.vector.modular.widgets\") {\n return null;\n }\n\n // Dev note: Throughout this function we have null safety to ensure that\n // if the caller did not supply something useful that we don't error. This\n // is done against the requirements of the interface because not everyone\n // will have an interface to validate against.\n\n const content = (stateEvent.content as IWidget) || {};\n\n // Form our best approximation of a widget with the information we have\n const estimatedWidget: IWidget = {\n id: stateEvent.state_key,\n creatorUserId: content[\"creatorUserId\"] || stateEvent.sender,\n name: content[\"name\"],\n type: content[\"type\"],\n url: content[\"url\"],\n waitForIframeLoad: content[\"waitForIframeLoad\"],\n data: content[\"data\"],\n };\n\n // Finally, process that widget\n return WidgetParser.processEstimatedWidget(estimatedWidget);\n }\n\n private static processEstimatedWidget(widget: IWidget): Widget | null {\n // Validate that the widget has the best chance of passing as a widget\n if (!widget.id || !widget.creatorUserId || !widget.type) {\n return null;\n }\n if (!isValidUrl(widget.url)) {\n return null;\n }\n // TODO: Validate data for known widget types\n return new Widget(widget);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"url.js","names":["isValidUrl","val","parsed","URL","protocol","e","TypeError"],"sources":["../../../src/models/validation/url.ts"],"sourcesContent":["/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function isValidUrl(val: string): boolean {\n if (!val) return false; // easy: not valid if not present\n\n try {\n const parsed = new URL(val);\n if (parsed.protocol !== \"http\" && parsed.protocol !== \"https\") {\n return false;\n }\n return true;\n } catch (e) {\n if (e instanceof TypeError) {\n return false;\n }\n throw e;\n }\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,SAASA,UAAUA,CAACC,GAAW,EAAW;EAC7C,IAAI,CAACA,GAAG,EAAE,OAAO,KAAK,CAAC,CAAC;;EAExB,IAAI;IACA,IAAMC,MAAM,GAAG,IAAIC,GAAG,CAACF,GAAG,CAAC;IAC3B,IAAIC,MAAM,CAACE,QAAQ,KAAK,MAAM,IAAIF,MAAM,CAACE,QAAQ,KAAK,OAAO,EAAE;MAC3D,OAAO,KAAK;IAChB;IACA,OAAO,IAAI;EACf,CAAC,CAAC,OAAOC,CAAC,EAAE;IACR,IAAIA,CAAC,YAAYC,SAAS,EAAE;MACxB,OAAO,KAAK;IAChB;IACA,MAAMD,CAAC;EACX;AACJ"}
1
+ {"version":3,"file":"url.js","names":["isValidUrl","val","parsed","URL","protocol","e","TypeError"],"sources":["../../../src/models/validation/url.ts"],"sourcesContent":["/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function isValidUrl(val: string): boolean {\n if (!val) return false; // easy: not valid if not present\n\n try {\n const parsed = new URL(val);\n if (parsed.protocol !== \"http\" && parsed.protocol !== \"https\") {\n return false;\n }\n return true;\n } catch (e) {\n if (e instanceof TypeError) {\n return false;\n }\n throw e;\n }\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,SAASA,UAAUA,CAACC,GAAW,EAAW;EAC7C,IAAI,CAACA,GAAG,EAAE,OAAO,KAAK,CAAC,CAAC;;EAExB,IAAI;IACA,IAAMC,MAAM,GAAG,IAAIC,GAAG,CAACF,GAAG,CAAC;IAC3B,IAAIC,MAAM,CAACE,QAAQ,KAAK,MAAM,IAAIF,MAAM,CAACE,QAAQ,KAAK,OAAO,EAAE;MAC3D,OAAO,KAAK;IAChB;IACA,OAAO,IAAI;EACf,CAAC,CAAC,OAAOC,CAAC,EAAE;IACR,IAAIA,CAAC,YAAYC,SAAS,EAAE;MACxB,OAAO,KAAK;IAChB;IACA,MAAMD,CAAC;EACX;AACJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["assertPresent","obj","key","Error","concat","String"],"sources":["../../../src/models/validation/utils.ts"],"sourcesContent":["/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function assertPresent<O extends Record<any, any>>(obj: O, key: keyof O): void {\n if (!obj[key]) {\n throw new Error(`${String(key)} is required`);\n }\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACO,SAASA,aAAaA,CAA6BC,GAAM,EAAEC,GAAY,EAAQ;EAClF,IAAI,CAACD,GAAG,CAACC,GAAG,CAAC,EAAE;IACX,MAAM,IAAIC,KAAK,IAAAC,MAAA,CAAIC,MAAM,CAACH,GAAG,CAAC,kBAAe;EACjD;AACJ"}
1
+ {"version":3,"file":"utils.js","names":["assertPresent","obj","key","Error","concat","String"],"sources":["../../../src/models/validation/utils.ts"],"sourcesContent":["/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function assertPresent<O extends Record<any, any>>(obj: O, key: keyof O): void {\n if (!obj[key]) {\n throw new Error(`${String(key)} is required`);\n }\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACO,SAASA,aAAaA,CAA6BC,GAAM,EAAEC,GAAY,EAAQ;EAClF,IAAI,CAACD,GAAG,CAACC,GAAG,CAAC,EAAE;IACX,MAAM,IAAIC,KAAK,IAAAC,MAAA,CAAIC,MAAM,CAACH,GAAG,CAAC,iBAAc,CAAC;EACjD;AACJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"url-template.js","names":["runTemplate","url","widget","params","variables","Object","assign","data","widgetRoomId","currentUserId","userDisplayName","userHttpAvatarUrl","id","clientId","clientTheme","clientLanguage","deviceId","baseUrl","result","_i","_Object$keys","keys","length","key","pattern","concat","replace","rexp","RegExp","encodeURIComponent","toString","a","undefined","String"],"sources":["../../src/templating/url-template.ts"],"sourcesContent":["/*\n * Copyright 2020, 2021 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { IWidget } from \"..\";\n\nexport interface ITemplateParams {\n widgetRoomId?: string;\n currentUserId: string;\n userDisplayName?: string;\n userHttpAvatarUrl?: string;\n clientId?: string;\n clientTheme?: string;\n clientLanguage?: string;\n deviceId?: string;\n baseUrl?: string;\n}\n\nexport function runTemplate(url: string, widget: IWidget, params: ITemplateParams): string {\n // Always apply the supplied params over top of data to ensure the data can't lie about them.\n const variables = Object.assign({}, widget.data, {\n \"matrix_room_id\": params.widgetRoomId || \"\",\n \"matrix_user_id\": params.currentUserId,\n \"matrix_display_name\": params.userDisplayName || params.currentUserId,\n \"matrix_avatar_url\": params.userHttpAvatarUrl || \"\",\n \"matrix_widget_id\": widget.id,\n\n // TODO: Convert to stable (https://github.com/matrix-org/matrix-doc/pull/2873)\n \"org.matrix.msc2873.client_id\": params.clientId || \"\",\n \"org.matrix.msc2873.client_theme\": params.clientTheme || \"\",\n \"org.matrix.msc2873.client_language\": params.clientLanguage || \"\",\n\n // TODO: Convert to stable (https://github.com/matrix-org/matrix-spec-proposals/pull/3819)\n \"org.matrix.msc3819.matrix_device_id\": params.deviceId || \"\",\n\n // TODO: Convert to stable (https://github.com/matrix-org/matrix-spec-proposals/pull/4039)\n \"org.matrix.msc4039.matrix_base_url\": params.baseUrl || \"\",\n });\n let result = url;\n for (const key of Object.keys(variables)) {\n // Regex escape from https://stackoverflow.com/a/6969486/7037379\n const pattern = `$${key}`.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"); // $& means the whole matched string\n const rexp = new RegExp(pattern, \"g\");\n\n // This is technically not what we're supposed to do for a couple of reasons:\n // 1. We are assuming that there won't later be a $key match after we replace a variable.\n // 2. We are assuming that the variable is in a place where it can be escaped (eg: path or query string).\n result = result.replace(rexp, encodeURIComponent(toString(variables[key])));\n }\n return result;\n}\n\nexport function toString(a: unknown): string {\n if (a === null || a === undefined) {\n return `${a}`;\n }\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n return String(a);\n}\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAgBO,SAASA,WAAWA,CAACC,GAAW,EAAEC,MAAe,EAAEC,MAAuB,EAAU;EACvF;EACA,IAAMC,SAAS,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEJ,MAAM,CAACK,IAAI,EAAE;IAC7C,gBAAgB,EAAEJ,MAAM,CAACK,YAAY,IAAI,EAAE;IAC3C,gBAAgB,EAAEL,MAAM,CAACM,aAAa;IACtC,qBAAqB,EAAEN,MAAM,CAACO,eAAe,IAAIP,MAAM,CAACM,aAAa;IACrE,mBAAmB,EAAEN,MAAM,CAACQ,iBAAiB,IAAI,EAAE;IACnD,kBAAkB,EAAET,MAAM,CAACU,EAAE;IAE7B;IACA,8BAA8B,EAAET,MAAM,CAACU,QAAQ,IAAI,EAAE;IACrD,iCAAiC,EAAEV,MAAM,CAACW,WAAW,IAAI,EAAE;IAC3D,oCAAoC,EAAEX,MAAM,CAACY,cAAc,IAAI,EAAE;IAEjE;IACA,qCAAqC,EAAEZ,MAAM,CAACa,QAAQ,IAAI,EAAE;IAE5D;IACA,oCAAoC,EAAEb,MAAM,CAACc,OAAO,IAAI;EAC5D,CAAC,CAAC;EACF,IAAIC,MAAM,GAAGjB,GAAG;EAChB,SAAAkB,EAAA,MAAAC,YAAA,GAAkBf,MAAM,CAACgB,IAAI,CAACjB,SAAS,CAAC,EAAAe,EAAA,GAAAC,YAAA,CAAAE,MAAA,EAAAH,EAAA,IAAE;IAArC,IAAMI,GAAG,GAAAH,YAAA,CAAAD,EAAA;IACV;IACA,IAAMK,OAAO,GAAG,IAAAC,MAAA,CAAIF,GAAG,EAAGG,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC;IAClE,IAAMC,IAAI,GAAG,IAAIC,MAAM,CAACJ,OAAO,EAAE,GAAG,CAAC;;IAErC;IACA;IACA;IACAN,MAAM,GAAGA,MAAM,CAACQ,OAAO,CAACC,IAAI,EAAEE,kBAAkB,CAACC,QAAQ,CAAC1B,SAAS,CAACmB,GAAG,CAAC,CAAC,CAAC,CAAC;EAC/E;EACA,OAAOL,MAAM;AACjB;AAEO,SAASY,QAAQA,CAACC,CAAU,EAAU;EACzC,IAAIA,CAAC,KAAK,IAAI,IAAIA,CAAC,KAAKC,SAAS,EAAE;IAC/B,UAAAP,MAAA,CAAUM,CAAC;EACf;EACA;EACA,OAAOE,MAAM,CAACF,CAAC,CAAC;AACpB"}
1
+ {"version":3,"file":"url-template.js","names":["runTemplate","url","widget","params","variables","Object","assign","data","widgetRoomId","currentUserId","userDisplayName","userHttpAvatarUrl","id","clientId","clientTheme","clientLanguage","deviceId","baseUrl","result","_i","_Object$keys","keys","length","key","pattern","concat","replace","rexp","RegExp","encodeURIComponent","toString","a","undefined","String"],"sources":["../../src/templating/url-template.ts"],"sourcesContent":["/*\n * Copyright 2020, 2021 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { IWidget } from \"..\";\n\nexport interface ITemplateParams {\n widgetRoomId?: string;\n currentUserId: string;\n userDisplayName?: string;\n userHttpAvatarUrl?: string;\n clientId?: string;\n clientTheme?: string;\n clientLanguage?: string;\n deviceId?: string;\n baseUrl?: string;\n}\n\nexport function runTemplate(url: string, widget: IWidget, params: ITemplateParams): string {\n // Always apply the supplied params over top of data to ensure the data can't lie about them.\n const variables = Object.assign({}, widget.data, {\n \"matrix_room_id\": params.widgetRoomId || \"\",\n \"matrix_user_id\": params.currentUserId,\n \"matrix_display_name\": params.userDisplayName || params.currentUserId,\n \"matrix_avatar_url\": params.userHttpAvatarUrl || \"\",\n \"matrix_widget_id\": widget.id,\n\n // TODO: Convert to stable (https://github.com/matrix-org/matrix-doc/pull/2873)\n \"org.matrix.msc2873.client_id\": params.clientId || \"\",\n \"org.matrix.msc2873.client_theme\": params.clientTheme || \"\",\n \"org.matrix.msc2873.client_language\": params.clientLanguage || \"\",\n\n // TODO: Convert to stable (https://github.com/matrix-org/matrix-spec-proposals/pull/3819)\n \"org.matrix.msc3819.matrix_device_id\": params.deviceId || \"\",\n\n // TODO: Convert to stable (https://github.com/matrix-org/matrix-spec-proposals/pull/4039)\n \"org.matrix.msc4039.matrix_base_url\": params.baseUrl || \"\",\n });\n let result = url;\n for (const key of Object.keys(variables)) {\n // Regex escape from https://stackoverflow.com/a/6969486/7037379\n const pattern = `$${key}`.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"); // $& means the whole matched string\n const rexp = new RegExp(pattern, \"g\");\n\n // This is technically not what we're supposed to do for a couple of reasons:\n // 1. We are assuming that there won't later be a $key match after we replace a variable.\n // 2. We are assuming that the variable is in a place where it can be escaped (eg: path or query string).\n result = result.replace(rexp, encodeURIComponent(toString(variables[key])));\n }\n return result;\n}\n\nexport function toString(a: unknown): string {\n if (a === null || a === undefined) {\n return `${a}`;\n }\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n return String(a);\n}\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAgBO,SAASA,WAAWA,CAACC,GAAW,EAAEC,MAAe,EAAEC,MAAuB,EAAU;EACvF;EACA,IAAMC,SAAS,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEJ,MAAM,CAACK,IAAI,EAAE;IAC7C,gBAAgB,EAAEJ,MAAM,CAACK,YAAY,IAAI,EAAE;IAC3C,gBAAgB,EAAEL,MAAM,CAACM,aAAa;IACtC,qBAAqB,EAAEN,MAAM,CAACO,eAAe,IAAIP,MAAM,CAACM,aAAa;IACrE,mBAAmB,EAAEN,MAAM,CAACQ,iBAAiB,IAAI,EAAE;IACnD,kBAAkB,EAAET,MAAM,CAACU,EAAE;IAE7B;IACA,8BAA8B,EAAET,MAAM,CAACU,QAAQ,IAAI,EAAE;IACrD,iCAAiC,EAAEV,MAAM,CAACW,WAAW,IAAI,EAAE;IAC3D,oCAAoC,EAAEX,MAAM,CAACY,cAAc,IAAI,EAAE;IAEjE;IACA,qCAAqC,EAAEZ,MAAM,CAACa,QAAQ,IAAI,EAAE;IAE5D;IACA,oCAAoC,EAAEb,MAAM,CAACc,OAAO,IAAI;EAC5D,CAAC,CAAC;EACF,IAAIC,MAAM,GAAGjB,GAAG;EAChB,SAAAkB,EAAA,MAAAC,YAAA,GAAkBf,MAAM,CAACgB,IAAI,CAACjB,SAAS,CAAC,EAAAe,EAAA,GAAAC,YAAA,CAAAE,MAAA,EAAAH,EAAA,IAAE;IAArC,IAAMI,GAAG,GAAAH,YAAA,CAAAD,EAAA;IACV;IACA,IAAMK,OAAO,GAAG,IAAAC,MAAA,CAAIF,GAAG,EAAGG,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC;IAClE,IAAMC,IAAI,GAAG,IAAIC,MAAM,CAACJ,OAAO,EAAE,GAAG,CAAC;;IAErC;IACA;IACA;IACAN,MAAM,GAAGA,MAAM,CAACQ,OAAO,CAACC,IAAI,EAAEE,kBAAkB,CAACC,QAAQ,CAAC1B,SAAS,CAACmB,GAAG,CAAC,CAAC,CAAC,CAAC;EAC/E;EACA,OAAOL,MAAM;AACjB;AAEO,SAASY,QAAQA,CAACC,CAAU,EAAU;EACzC,IAAIA,CAAC,KAAK,IAAI,IAAIA,CAAC,KAAKC,SAAS,EAAE;IAC/B,UAAAP,MAAA,CAAUM,CAAC;EACf;EACA;EACA,OAAOE,MAAM,CAACF,CAAC,CAAC;AACpB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ITransport.js","names":[],"sources":["../../src/transport/ITransport.ts"],"sourcesContent":["/*\n * Copyright 2020 - 2024 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { EventEmitter } from \"events\";\n\nimport {\n IWidgetApiAcknowledgeResponseData,\n IWidgetApiRequest,\n IWidgetApiRequestData,\n IWidgetApiResponse,\n IWidgetApiResponseData,\n WidgetApiAction,\n} from \"..\";\n\n/**\n * A transport for widget requests/responses. All actions\n * get raised through a \"message\" CustomEvent with detail\n * of the IWidgetApiRequest.\n */\nexport interface ITransport extends EventEmitter {\n /**\n * True if the transport is ready to start sending, false otherwise.\n */\n readonly ready: boolean;\n\n /**\n * The widget ID, if known. If not known, null.\n */\n readonly widgetId: string | null;\n\n /**\n * If true, the transport will refuse requests from origins other than the\n * widget's current origin. This is intended to be used only by widgets which\n * need excess security.\n */\n strictOriginCheck: boolean;\n\n /**\n * The origin the transport should be replying/sending to. If not known, leave\n * null.\n */\n targetOrigin: string | null;\n\n /**\n * The number of seconds an outbound request is allowed to take before it\n * times out.\n */\n timeoutSeconds: number;\n\n /**\n * Starts the transport for listening\n */\n start(): void;\n\n /**\n * Stops the transport. It cannot be re-started.\n */\n stop(): void;\n\n /**\n * Sends a request to the remote end.\n * @param action The action to send.\n * @param data The request data.\n * @returns A promise which resolves to the remote end's response.\n * @throws {Error} if the request failed with a generic error.\n * @throws {WidgetApiResponseError} if the request failed with error details\n * that can be communicated to the Widget API.\n */\n send<T extends IWidgetApiRequestData, R extends IWidgetApiResponseData = IWidgetApiAcknowledgeResponseData>(\n action: WidgetApiAction,\n data: T,\n ): Promise<R>;\n\n /**\n * Sends a request to the remote end. This is similar to the send() function\n * however this version returns the full response rather than just the response\n * data.\n * @param {WidgetApiAction} action The action to send.\n * @param {IWidgetApiRequestData} data The request data.\n * @returns {Promise<IWidgetApiResponseData>} A promise which resolves to the remote end's response\n * @throws {Error} if the request failed with a generic error.\n * @throws {WidgetApiResponseError} if the request failed with error details\n * that can be communicated to the Widget API.\n */\n sendComplete<T extends IWidgetApiRequestData, R extends IWidgetApiResponse>(\n action: WidgetApiAction,\n data: T,\n ): Promise<R>;\n\n /**\n * Replies to a request.\n * @param {IWidgetApiRequest} request The request to reply to.\n * @param {IWidgetApiResponseData} responseData The response data to reply with.\n */\n reply<T extends IWidgetApiResponseData>(request: IWidgetApiRequest, responseData: T): void;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"ITransport.js","names":[],"sources":["../../src/transport/ITransport.ts"],"sourcesContent":["/*\n * Copyright 2020 - 2024 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { EventEmitter } from \"events\";\n\nimport {\n IWidgetApiAcknowledgeResponseData,\n IWidgetApiRequest,\n IWidgetApiRequestData,\n IWidgetApiResponse,\n IWidgetApiResponseData,\n WidgetApiAction,\n} from \"..\";\n\n/**\n * A transport for widget requests/responses. All actions\n * get raised through a \"message\" CustomEvent with detail\n * of the IWidgetApiRequest.\n */\nexport interface ITransport extends EventEmitter {\n /**\n * True if the transport is ready to start sending, false otherwise.\n */\n readonly ready: boolean;\n\n /**\n * The widget ID, if known. If not known, null.\n */\n readonly widgetId: string | null;\n\n /**\n * If true, the transport will refuse requests from origins other than the\n * widget's current origin. This is intended to be used only by widgets which\n * need excess security.\n */\n strictOriginCheck: boolean;\n\n /**\n * The origin the transport should be replying/sending to. If not known, leave\n * null.\n */\n targetOrigin: string | null;\n\n /**\n * The number of seconds an outbound request is allowed to take before it\n * times out.\n */\n timeoutSeconds: number;\n\n /**\n * Starts the transport for listening\n */\n start(): void;\n\n /**\n * Stops the transport. It cannot be re-started.\n */\n stop(): void;\n\n /**\n * Sends a request to the remote end.\n * @param action The action to send.\n * @param data The request data.\n * @returns A promise which resolves to the remote end's response.\n * @throws {Error} if the request failed with a generic error.\n * @throws {WidgetApiResponseError} if the request failed with error details\n * that can be communicated to the Widget API.\n */\n send<T extends IWidgetApiRequestData, R extends IWidgetApiResponseData = IWidgetApiAcknowledgeResponseData>(\n action: WidgetApiAction,\n data: T,\n ): Promise<R>;\n\n /**\n * Sends a request to the remote end. This is similar to the send() function\n * however this version returns the full response rather than just the response\n * data.\n * @param {WidgetApiAction} action The action to send.\n * @param {IWidgetApiRequestData} data The request data.\n * @returns {Promise<IWidgetApiResponseData>} A promise which resolves to the remote end's response\n * @throws {Error} if the request failed with a generic error.\n * @throws {WidgetApiResponseError} if the request failed with error details\n * that can be communicated to the Widget API.\n */\n sendComplete<T extends IWidgetApiRequestData, R extends IWidgetApiResponse>(\n action: WidgetApiAction,\n data: T,\n ): Promise<R>;\n\n /**\n * Replies to a request.\n * @param {IWidgetApiRequest} request The request to reply to.\n * @param {IWidgetApiResponseData} responseData The response data to reply with.\n */\n reply<T extends IWidgetApiResponseData>(request: IWidgetApiRequest, responseData: T): void;\n}\n"],"mappings":"","ignoreList":[]}