@openclaw/matrix 2026.9.4 → 2026.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/activity.svg +40 -0
- package/assets/icon.png +0 -0
- package/dist/{account-selection-Bbtc483D.js → .setup/account-selection-BHkfU1eC.mjs} +12 -3
- package/dist/{accounts-GwSAk9vY.js → .setup/accounts-iThMol10.mjs} +39 -38
- package/dist/{approval-handler.runtime-6I3IpyeX.js → .setup/approval-handler.runtime-9W7R2ZMq.mjs} +16 -15
- package/dist/{approval-ids-C4NdeXNz.js → .setup/approval-ids-j08q8LEG.mjs} +1 -1
- package/dist/{approval-reaction-auth-cbltZAUQ.js → .setup/approval-reaction-auth-DMVE7VSp.mjs} +7 -3
- package/dist/{approval-reactions-1fwEhoK9.js → .setup/approval-reactions-B0hfA6qz.mjs} +6 -6
- package/dist/{channel-Cg97H4c1.js → .setup/channel-ConuJfxT.mjs} +59 -38
- package/dist/{channel.runtime-Bhpfa1qc.js → .setup/channel.runtime-CnxR2JUK.mjs} +6 -6
- package/dist/{channel.setup-DmS7m7aT.js → .setup/channel.setup-C6KvBV8l.mjs} +9 -5
- package/dist/{cli-CLexRrQw.js → .setup/cli-O196sg8g.mjs} +19 -19
- package/dist/{cli-metadata-zRyVmUOL.js → .setup/cli-metadata-DFHQj5XR.mjs} +1 -1
- package/dist/{client-C0nZFCTj.js → .setup/client-C2yVkVdw.mjs} +5 -3
- package/dist/{client-CPcRv6ab.js → .setup/client-ChrXpxos.mjs} +170 -109
- package/dist/{client-bootstrap-DLN-K8Xb.js → .setup/client-bootstrap-BSnUAoz1.mjs} +17 -8
- package/dist/{client-support-DLj4vDeu.js → .setup/client-support-Bn9Bk0-H.mjs} +1 -1
- package/dist/{config-update-BnX26jCO.js → .setup/config-update-B_4qZ5bV.mjs} +3 -3
- package/dist/.setup/create-client-CHxcron_.mjs +67 -0
- package/dist/{credentials-DysXbkv2.js → .setup/credentials-BGKfiaJW.mjs} +40 -17
- package/dist/{credentials-read-WWpqi88V.js → .setup/credentials-read-Q5sHkkHv.mjs} +30 -9
- package/dist/{credentials-write.runtime-D22lPwRO.js → .setup/credentials-write.runtime-DxbXh-pK.mjs} +1 -1
- package/dist/{crypto-runtime-DiyH4R3D.js → .setup/crypto-runtime-D9qn_Pbj.mjs} +6 -7
- package/dist/{crypto-snapshot-doctor.runtime-DxgUMXUy.js → .setup/crypto-snapshot-doctor.runtime-CMWa1d9Y.mjs} +3 -3
- package/dist/{device-health-B4-YXtJR.js → .setup/device-health-CWOuIirq.mjs} +1 -1
- package/dist/.setup/direct-management-B2Bno2xL.mjs +346 -0
- package/dist/{directory-live-B8-GAVcc.js → .setup/directory-live-CxqkcYbT.mjs} +8 -6
- package/dist/{doctor-CJE8wO6y.js → .setup/doctor-BLCvdOFo.mjs} +1 -1
- package/dist/{draft-stream--NdEtnZ8.js → .setup/draft-stream-y0Vq5f38.mjs} +22 -6
- package/dist/{encryption-guidance-mDyxJV9U.js → .setup/encryption-guidance-CMWXiBzJ.mjs} +2 -2
- package/dist/.setup/file-sync-store-CsalA4yI.mjs +213 -0
- package/dist/{http-client-BfPeF4CE.js → .setup/http-client-Bi6uKmzh.mjs} +90 -9
- package/dist/{idb-persistence-DBdwHSWg.js → .setup/idb-persistence-c8uxcofH.mjs} +12 -8
- package/dist/{inbound-dedupe-Ch33GU06.js → .setup/inbound-dedupe-BSlv35xl.mjs} +1 -1
- package/dist/.setup/joined-room-encryption-BCtxQ3hR.mjs +67 -0
- package/dist/{logger-B_71hN6W.js → .setup/logger-xBjiRIp1.mjs} +1 -1
- package/dist/{logging-DRjvUOIh.js → .setup/logging-rgm8ep9H.mjs} +2 -2
- package/dist/{messages-CpZfiQO0.js → .setup/messages-COuAcrz-.mjs} +12 -5
- package/dist/{monitor-BUek91SW.js → .setup/monitor-CzE3myC_.mjs} +224 -476
- package/dist/{outbound-D91JinYa.js → .setup/outbound-B508VPBM.mjs} +12 -4
- package/dist/.setup/probe.runtime-C-NMeYk2.mjs +2 -0
- package/dist/{profile-vmjsmhh4.js → .setup/profile-ClrB3IgR.mjs} +1 -1
- package/dist/{profile-update-vnhxwjEt.js → .setup/profile-update-DrblJttE.mjs} +4 -4
- package/dist/{reaction-events-2WM2nJe_.js → .setup/reaction-events-BvZmhjLC.mjs} +8 -7
- package/dist/{resolve-targets-K8D0HWPX.js → .setup/resolve-targets-BLz748lX.mjs} +3 -3
- package/dist/{resolver.runtime-C88GwQCx.js → .setup/resolver.runtime-CuLQ2uHe.mjs} +1 -1
- package/dist/{room-info-BPVJkXnp.js → .setup/room-info-DTyP1k5g.mjs} +4 -4
- package/dist/.setup/runtime-1kn1P6io.mjs +29 -0
- package/dist/.setup/runtime-setter-api-DtxDAM-x.mjs +3 -0
- package/dist/{sdk-B4By16Bt.js → .setup/sdk-rqFjgltR.mjs} +523 -503
- package/dist/{secret-contract-CufozuyJ.js → .setup/secret-contract-JlB6VmI3.mjs} +1 -1
- package/dist/.setup/secret-contract-api-B-iJoQEv.mjs +3 -0
- package/dist/{send-UWLIQ0bG.js → .setup/send-aVdC5NJO.mjs} +218 -439
- package/dist/{reaction-common-DkrQdBSZ.js → .setup/send-currentness-BrGXL7b8.mjs} +20 -1
- package/dist/{setup-bootstrap-sVqkwtSY.js → .setup/setup-bootstrap-A_WGFq1Y.mjs} +3 -3
- package/dist/{setup-core-8keb-Yre.js → .setup/setup-core-D2hMbIi3.mjs} +7 -7
- package/dist/.setup/setup-plugin-api-JiRgm8s6.mjs +3 -0
- package/dist/{setup-surface-bcluelBI.js → .setup/setup-surface-BL3ha1l-.mjs} +12 -12
- package/dist/{startup-verification-BTSf31hS.js → .setup/startup-verification-Cp1Gf7pM.mjs} +8 -8
- package/dist/{storage-CV-pfV_2.js → .setup/storage-BXaFc0S4.mjs} +97 -93
- package/dist/{storage-metadata-DYArLcq1.js → .setup/storage-metadata-fHN6Df2m.mjs} +74 -83
- package/dist/{subagent-hooks-DeICLbU5.js → .setup/subagent-hooks-jFgft_Mr.mjs} +1 -1
- package/dist/{sync-cache-state-C-mhj3xb.js → .setup/sync-cache-state-BMtGMxU1.mjs} +31 -44
- package/dist/{thread-binding-api-CzkeLZCU.js → .setup/thread-binding-api-DRMC62cs.mjs} +1 -1
- package/dist/{thread-bindings-Bwv87Gve.js → .setup/thread-bindings-JlnLDfPM.mjs} +8 -8
- package/dist/{tool-actions.runtime-Bf98Juk6.js → .setup/tool-actions.runtime-REzYTNxm.mjs} +29 -14
- package/dist/{verification-BbG-VC9S.js → .setup/verification-0o8MOW9T.mjs} +4 -3
- package/dist/api.js +8 -8
- package/dist/auth-presence.js +1 -1
- package/dist/channel-plugin-api.js +1 -1
- package/dist/cli-metadata.js +1 -1
- package/dist/contract-api.js +2 -2
- package/dist/doctor-contract-api.js +10 -10
- package/dist/helper-api.js +4 -4
- package/dist/index.js +4 -1
- package/dist/plugin-entry.handlers.runtime.js +1 -1
- package/dist/runtime-api.js +6 -6
- package/dist/runtime-setter-api.js +2 -2
- package/dist/secret-contract-api.js +1 -1
- package/dist/session-binding-contract-api.js +2 -2
- package/dist/setup-entry.js +4 -3
- package/dist/setup-plugin-api.js +1 -1
- package/dist/subagent-hooks-api.js +1 -1
- package/dist/thread-binding-api.js +1 -1
- package/dist/thread-bindings-runtime.js +1 -1
- package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/package.json +1 -1
- package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.cjs +17 -17
- package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.js +17 -17
- package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm +0 -0
- package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm.d.ts +5 -5
- package/node_modules/markdown-it/dist/browser/markdown-it.esm.min.mjs +442 -434
- package/node_modules/markdown-it/dist/browser/markdown-it.esm.min.mjs.map +1 -1
- package/node_modules/markdown-it/dist/browser/markdown-it.umd.min.js +2 -2
- package/node_modules/markdown-it/dist/browser/markdown-it.umd.min.js.map +1 -1
- package/node_modules/markdown-it/dist/markdown-it.cjs.js +32 -16
- package/node_modules/markdown-it/dist/markdown-it.cjs.js.map +1 -1
- package/node_modules/markdown-it/dist/markdown-it.mjs +32 -16
- package/node_modules/markdown-it/dist/markdown-it.mjs.map +1 -1
- package/node_modules/markdown-it/node_modules/argparse/LICENSE +1 -208
- package/node_modules/markdown-it/node_modules/argparse/lib/argparse.js +18 -2
- package/node_modules/markdown-it/node_modules/argparse/package.json +2 -2
- package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.d.ts +23 -3
- package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.d.ts.map +1 -1
- package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.js +52 -37
- package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.js.map +1 -1
- package/node_modules/markdown-it/node_modules/entities/dist/decode.d.ts +61 -28
- package/node_modules/markdown-it/node_modules/entities/dist/decode.d.ts.map +1 -1
- package/node_modules/markdown-it/node_modules/entities/dist/decode.js +789 -201
- package/node_modules/markdown-it/node_modules/entities/dist/decode.js.map +1 -1
- package/node_modules/markdown-it/node_modules/entities/dist/encode.d.ts +4 -2
- package/node_modules/markdown-it/node_modules/entities/dist/encode.d.ts.map +1 -1
- package/node_modules/markdown-it/node_modules/entities/dist/encode.js +249 -44
- package/node_modules/markdown-it/node_modules/entities/dist/encode.js.map +1 -1
- package/node_modules/markdown-it/node_modules/entities/dist/escape.d.ts +19 -7
- package/node_modules/markdown-it/node_modules/entities/dist/escape.d.ts.map +1 -1
- package/node_modules/markdown-it/node_modules/entities/dist/escape.js +104 -64
- package/node_modules/markdown-it/node_modules/entities/dist/escape.js.map +1 -1
- package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.d.ts.map +1 -1
- package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.js +2 -2
- package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.js.map +1 -1
- package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.d.ts.map +1 -1
- package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.js +4 -2
- package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.js.map +1 -1
- package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.d.ts +2 -4
- package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.d.ts.map +1 -1
- package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.js +1 -10
- package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.js.map +1 -1
- package/node_modules/markdown-it/node_modules/entities/dist/index.d.ts +2 -2
- package/node_modules/markdown-it/node_modules/entities/dist/index.d.ts.map +1 -1
- package/node_modules/markdown-it/node_modules/entities/dist/index.js +2 -6
- package/node_modules/markdown-it/node_modules/entities/dist/index.js.map +1 -1
- package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.d.ts +39 -8
- package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.d.ts.map +1 -1
- package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.js +37 -6
- package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.js.map +1 -1
- package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.d.ts +35 -4
- package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.d.ts.map +1 -1
- package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.js +189 -11
- package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.js.map +1 -1
- package/node_modules/markdown-it/node_modules/entities/package.json +14 -14
- package/node_modules/markdown-it/node_modules/entities/src/decode-codepoint.ts +58 -39
- package/node_modules/markdown-it/node_modules/entities/src/decode.ts +942 -245
- package/node_modules/markdown-it/node_modules/entities/src/encode.ts +289 -47
- package/node_modules/markdown-it/node_modules/entities/src/escape.ts +110 -83
- package/node_modules/markdown-it/node_modules/entities/src/generated/decode-data-html.ts +8 -3
- package/node_modules/markdown-it/node_modules/entities/src/generated/decode-data-xml.ts +4 -4
- package/node_modules/markdown-it/node_modules/entities/src/generated/encode-html.ts +1 -16
- package/node_modules/markdown-it/node_modules/entities/src/index.ts +6 -8
- package/node_modules/markdown-it/node_modules/entities/src/internal/bin-trie-flags.ts +38 -7
- package/node_modules/markdown-it/node_modules/entities/src/internal/decode-shared.ts +203 -12
- package/node_modules/markdown-it/package.json +1 -1
- package/node_modules/matrix-js-sdk/CHANGELOG.md +15 -0
- package/node_modules/matrix-js-sdk/lib/client.d.ts +1 -2
- package/node_modules/matrix-js-sdk/lib/client.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/client.js +16 -8
- package/node_modules/matrix-js-sdk/lib/client.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/errors.d.ts +8 -0
- package/node_modules/matrix-js-sdk/lib/http-api/errors.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/errors.js +12 -0
- package/node_modules/matrix-js-sdk/lib/http-api/errors.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.d.ts +5 -0
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.js +2 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/oauth/authorize.d.ts +2 -4
- package/node_modules/matrix-js-sdk/lib/oauth/authorize.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/oauth/authorize.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/oauth/error.d.ts +44 -0
- package/node_modules/matrix-js-sdk/lib/oauth/error.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/oauth/error.js +53 -0
- package/node_modules/matrix-js-sdk/lib/oauth/error.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/oauth/index.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/oauth/index.js +19 -2
- package/node_modules/matrix-js-sdk/lib/oauth/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/oauth/tokenRefresher.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/oauth/tokenRefresher.js +4 -2
- package/node_modules/matrix-js-sdk/lib/oauth/tokenRefresher.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/secret-storage.d.ts +1 -1
- package/node_modules/matrix-js-sdk/lib/secret-storage.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/secret-storage.js +9 -32
- package/node_modules/matrix-js-sdk/lib/secret-storage.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.js +54 -1
- package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/@babel/runtime/package.json +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/dist/api.js +556 -311
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/dist/api.min.js +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/ClientWidgetApi.d.ts +2 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/ClientWidgetApi.js +221 -129
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/ClientWidgetApi.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/Symbols.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/WidgetApi.d.ts +37 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/WidgetApi.js +182 -63
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/WidgetApi.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/driver/WidgetDriver.d.ts +20 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/driver/WidgetDriver.js +49 -20
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/driver/WidgetDriver.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/index.d.ts +1 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ApiVersion.d.ts +2 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ApiVersion.js +3 -2
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ApiVersion.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/Capabilities.d.ts +9 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/Capabilities.js +2 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/Capabilities.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/CapabilitiesAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ContentLoadedAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/DownloadFileAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/GetMediaConfigAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/GetOpenIDAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ICustomWidgetData.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IJitsiWidgetData.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IRoomAccountData.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IRoomEvent.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IStickerpickerWidgetData.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IToDeviceMessage.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IWidget.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IWidgetApiErrorResponse.js +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IWidgetApiErrorResponse.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IWidgetApiRequest.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/IWidgetApiResponse.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/LanguageChangeAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ModalButtonKind.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ModalWidgetActions.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/NavigateAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/OpenIDCredentialsAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ReadEventAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ReadRelationsAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ReadRoomAccountDataAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/RtcLivekitActions.d.ts +53 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/RtcLivekitActions.js +6 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/RtcLivekitActions.js.map +1 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/RtcTransportsAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ScreenshotAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/SendEventAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/SendToDeviceAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/SetModalButtonEnabledAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/StickerAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/StickyAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/SupportedVersionsAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ThemeChangeAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/TurnServerActions.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/UpdateDelayedEventAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/UpdateStateAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/UploadFileAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/UserDirectorySearchAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/VisibilityAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetApiAction.d.ts +9 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetApiAction.js +2 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetApiAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetApiDirection.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetConfigAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetKind.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetType.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/Widget.js +20 -20
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/Widget.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/WidgetEventCapability.js +9 -9
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/WidgetEventCapability.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/WidgetParser.js +23 -23
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/WidgetParser.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/validation/url.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/models/validation/utils.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/templating/url-template.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/transport/ITransport.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/transport/PostmessageTransport.js +32 -32
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/transport/PostmessageTransport.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/util/SimpleObservable.js +10 -10
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/util/SimpleObservable.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/package.json +2 -2
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/ClientWidgetApi.ts +48 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/WidgetApi.ts +75 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/driver/WidgetDriver.ts +33 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/index.ts +1 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/ApiVersion.ts +2 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/Capabilities.ts +8 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/RtcLivekitActions.ts +80 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/WidgetApiAction.ts +10 -0
- package/node_modules/matrix-js-sdk/node_modules/p-retry/index.d.ts +1 -1
- package/node_modules/matrix-js-sdk/node_modules/p-retry/index.js +4 -0
- package/node_modules/matrix-js-sdk/node_modules/p-retry/package.json +1 -1
- package/node_modules/matrix-js-sdk/node_modules/p-retry/readme.md +1 -1
- package/node_modules/matrix-js-sdk/package.json +2 -2
- package/node_modules/matrix-js-sdk/src/client.ts +19 -11
- package/node_modules/matrix-js-sdk/src/http-api/errors.ts +16 -0
- package/node_modules/matrix-js-sdk/src/matrixrtc/MatrixRTCSession.ts +8 -1
- package/node_modules/matrix-js-sdk/src/oauth/authorize.ts +2 -5
- package/node_modules/matrix-js-sdk/src/oauth/error.ts +69 -0
- package/node_modules/matrix-js-sdk/src/oauth/index.ts +19 -2
- package/node_modules/matrix-js-sdk/src/oauth/tokenRefresher.ts +9 -2
- package/node_modules/matrix-js-sdk/src/secret-storage.ts +8 -31
- package/node_modules/matrix-js-sdk/src/sliding-sync-sdk.ts +74 -0
- package/node_modules/music-metadata/node_modules/file-type/package.json +3 -2
- package/node_modules/music-metadata/node_modules/file-type/readme.md +3 -0
- package/node_modules/music-metadata/node_modules/file-type/source/index.js +28 -1
- package/node_modules/music-metadata/node_modules/file-type/source/supported.js +2 -0
- package/node_modules/typebox/build/compile/validator.d.mts +1 -1
- package/node_modules/typebox/build/compile/validator.mjs +1 -1
- package/node_modules/typebox/build/format/idna/idn-hostname.mjs +7 -5
- package/node_modules/typebox/build/format/iri.mjs +5 -1
- package/node_modules/typebox/build/guard/emit.mjs +2 -4
- package/node_modules/typebox/build/guard/guard.mjs +6 -18
- package/node_modules/typebox/build/guard/string.mjs +16 -24
- package/node_modules/typebox/build/schema/build.mjs +2 -2
- package/node_modules/typebox/build/schema/check.mjs +1 -1
- package/node_modules/typebox/build/schema/compile.d.mts +3 -2
- package/node_modules/typebox/build/schema/compile.mjs +8 -8
- package/node_modules/typebox/build/schema/engine/_context.d.mts +6 -7
- package/node_modules/typebox/build/schema/engine/_context.mjs +23 -15
- package/node_modules/typebox/build/schema/engine/_functions.d.mts +2 -2
- package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/_reducer.d.mts +3 -3
- package/node_modules/typebox/build/schema/engine/_refine.d.mts +5 -5
- package/node_modules/typebox/build/schema/engine/_refine.mjs +4 -7
- package/node_modules/typebox/build/schema/engine/_stack.d.mts +34 -16
- package/node_modules/typebox/build/schema/engine/_stack.mjs +148 -104
- package/node_modules/typebox/build/schema/engine/additionalItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +8 -8
- package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +26 -18
- package/node_modules/typebox/build/schema/engine/allOf.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/allOf.mjs +3 -3
- package/node_modules/typebox/build/schema/engine/anyOf.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/anyOf.mjs +5 -10
- package/node_modules/typebox/build/schema/engine/boolean.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/boolean.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/const.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/const.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/contains.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/contains.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/dependencies.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/dependencies.mjs +3 -6
- package/node_modules/typebox/build/schema/engine/dependentRequired.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/dependentRequired.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/dependentSchemas.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +11 -7
- package/node_modules/typebox/build/schema/engine/enum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/enum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/exclusiveMaximum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/exclusiveMaximum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/exclusiveMinimum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/exclusiveMinimum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/format.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/format.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/if.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/if.mjs +7 -15
- package/node_modules/typebox/build/schema/engine/items.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/items.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/maxContains.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maxContains.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/maxItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maxItems.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/maxLength.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maxLength.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/maxProperties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maxProperties.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/maximum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maximum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minContains.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/minContains.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minItems.d.mts +5 -5
- package/node_modules/typebox/build/schema/engine/minItems.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minLength.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/minLength.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minProperties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/minProperties.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minimum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/minimum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/multipleOf.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/multipleOf.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/not.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/not.mjs +4 -8
- package/node_modules/typebox/build/schema/engine/oneOf.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/oneOf.mjs +6 -11
- package/node_modules/typebox/build/schema/engine/pattern.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -7
- package/node_modules/typebox/build/schema/engine/patternProperties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/patternProperties.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/prefixItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/prefixItems.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/properties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/properties.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/propertyNames.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/propertyNames.mjs +4 -10
- package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +11 -7
- package/node_modules/typebox/build/schema/engine/ref.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/ref.mjs +19 -15
- package/node_modules/typebox/build/schema/engine/required.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/required.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/schema.d.mts +7 -7
- package/node_modules/typebox/build/schema/engine/schema.mjs +137 -133
- package/node_modules/typebox/build/schema/engine/type.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/type.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/unevaluatedItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +5 -9
- package/node_modules/typebox/build/schema/engine/unevaluatedProperties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +5 -9
- package/node_modules/typebox/build/schema/engine/uniqueItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/uniqueItems.mjs +2 -6
- package/node_modules/typebox/build/schema/errors.d.mts +2 -2
- package/node_modules/typebox/build/schema/errors.mjs +8 -14
- package/node_modules/typebox/build/schema/intern/index.d.mts +1 -0
- package/node_modules/typebox/build/schema/intern/index.mjs +1 -0
- package/node_modules/typebox/build/schema/intern/intern.d.mts +11 -0
- package/node_modules/typebox/build/schema/intern/intern.mjs +293 -0
- package/node_modules/typebox/build/schema/meta/draft_2019_09.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_2019_09.mjs +288 -0
- package/node_modules/typebox/build/schema/meta/draft_2020_12.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_2020_12.mjs +300 -0
- package/node_modules/typebox/build/schema/meta/draft_3.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_3.mjs +143 -0
- package/node_modules/typebox/build/schema/meta/draft_4.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_4.mjs +149 -0
- package/node_modules/typebox/build/schema/meta/draft_6.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_6.mjs +155 -0
- package/node_modules/typebox/build/schema/meta/draft_7.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_7.mjs +172 -0
- package/node_modules/typebox/build/schema/meta/index.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/index.mjs +2 -0
- package/node_modules/typebox/build/schema/meta/meta.d.mts +9 -0
- package/node_modules/typebox/build/schema/meta/meta.mjs +15 -0
- package/node_modules/typebox/build/schema/meta/schema.d.mts +6 -0
- package/node_modules/typebox/build/schema/meta/schema.mjs +1 -0
- package/node_modules/typebox/build/schema/parse.d.mts +1 -0
- package/node_modules/typebox/build/schema/parse.mjs +10 -5
- package/node_modules/typebox/build/schema/resolve/resolve.d.mts +8 -3
- package/node_modules/typebox/build/schema/resolve/resolve.mjs +268 -139
- package/node_modules/typebox/build/schema/schema.d.mts +2 -0
- package/node_modules/typebox/build/schema/schema.mjs +2 -0
- package/node_modules/typebox/build/value/errors/errors.d.mts +2 -12
- package/node_modules/typebox/build/value/errors/errors.mjs +2 -7
- package/node_modules/typebox/package.json +1 -1
- package/node_modules/typebox/readme.md +59 -89
- package/node_modules/zod/README.md +29 -2
- package/node_modules/zod/compile.cjs +96 -0
- package/node_modules/zod/compile.d.cts +1 -0
- package/node_modules/zod/compile.d.ts +1 -0
- package/node_modules/zod/compile.js +52 -0
- package/node_modules/zod/index.cjs +21 -2
- package/node_modules/zod/index.d.cts +1 -2
- package/node_modules/zod/index.d.ts +1 -2
- package/node_modules/zod/index.js +5 -2
- package/node_modules/zod/locales/index.cjs +19 -0
- package/node_modules/zod/mini/index.cjs +19 -0
- package/node_modules/zod/package.json +20 -8
- package/node_modules/zod/src/compile.ts +56 -0
- package/node_modules/zod/src/index.ts +5 -2
- package/node_modules/zod/src/v3/ZodError.ts +22 -12
- package/node_modules/zod/src/v3/helpers/errorUtil.ts +1 -1
- package/node_modules/zod/src/v3/tests/error.test.ts +35 -0
- package/node_modules/zod/src/v3/tests/intersection.test.ts +18 -0
- package/node_modules/zod/src/v3/tests/language-server.test.ts +1 -2
- package/node_modules/zod/src/v3/tests/object.test.ts +3 -6
- package/node_modules/zod/src/v3/tests/readonly.test.ts +0 -80
- package/node_modules/zod/src/v3/tests/string.test.ts +6 -0
- package/node_modules/zod/src/v3/types.ts +5 -5
- package/node_modules/zod/src/v4/classic/checks.ts +1 -0
- package/node_modules/zod/src/v4/classic/compat.ts +26 -18
- package/node_modules/zod/src/v4/classic/deep-partial.ts +76 -0
- package/node_modules/zod/src/v4/classic/errors.ts +59 -44
- package/node_modules/zod/src/v4/classic/external.ts +14 -9
- package/node_modules/zod/src/v4/classic/from-json-schema.ts +363 -78
- package/node_modules/zod/src/v4/classic/in-out.ts +45 -0
- package/node_modules/zod/src/v4/classic/index.ts +2 -2
- package/node_modules/zod/src/v4/classic/iso.ts +2 -72
- package/node_modules/zod/src/v4/classic/parse.ts +10 -4
- package/node_modules/zod/src/v4/classic/schemas.ts +640 -375
- package/node_modules/zod/src/v4/classic/tests/apply.test.ts +27 -0
- package/node_modules/zod/src/v4/classic/tests/array.test.ts +2 -2
- package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +186 -0
- package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +36 -1
- package/node_modules/zod/src/v4/classic/tests/catch.test.ts +278 -0
- package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +1 -2
- package/node_modules/zod/src/v4/classic/tests/codec.test.ts +2 -1
- package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +3 -3
- package/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +76 -0
- package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +985 -0
- package/node_modules/zod/src/v4/classic/tests/date.test.ts +30 -0
- package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +32 -18
- package/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +380 -0
- package/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +32 -0
- package/node_modules/zod/src/v4/classic/tests/default.test.ts +46 -0
- package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +31 -7
- package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +261 -13
- package/node_modules/zod/src/v4/classic/tests/enum.test.ts +20 -0
- package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +112 -2
- package/node_modules/zod/src/v4/classic/tests/error.test.ts +403 -6
- package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +582 -10
- package/node_modules/zod/src/v4/classic/tests/function.test.ts +31 -0
- package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +2 -9
- package/node_modules/zod/src/v4/classic/tests/hash.test.ts +1 -2
- package/node_modules/zod/src/v4/classic/tests/iban.test.ts +81 -0
- package/node_modules/zod/src/v4/classic/tests/in-out.test.ts +159 -0
- package/node_modules/zod/src/v4/classic/tests/index.test.ts +21 -2
- package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +319 -0
- package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +67 -0
- package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +136 -0
- package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +215 -0
- package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +3 -10
- package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +36 -1
- package/node_modules/zod/src/v4/classic/tests/literal.test.ts +12 -1
- package/node_modules/zod/src/v4/classic/tests/map.test.ts +12 -0
- package/node_modules/zod/src/v4/classic/tests/number.test.ts +85 -9
- package/node_modules/zod/src/v4/classic/tests/object.test.ts +301 -12
- package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +235 -0
- package/node_modules/zod/src/v4/classic/tests/optional.test.ts +49 -16
- package/node_modules/zod/src/v4/classic/tests/partial.test.ts +51 -4
- package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +70 -0
- package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +20 -2
- package/node_modules/zod/src/v4/classic/tests/properties.test.ts +141 -0
- package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -68
- package/node_modules/zod/src/v4/classic/tests/record.test.ts +186 -18
- package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +79 -3
- package/node_modules/zod/src/v4/classic/tests/redos.test.ts +68 -0
- package/node_modules/zod/src/v4/classic/tests/refine.test.ts +60 -0
- package/node_modules/zod/src/v4/classic/tests/set.test.ts +9 -0
- package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +19 -0
- package/node_modules/zod/src/v4/classic/tests/string.test.ts +222 -6
- package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +18 -0
- package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +44 -3
- package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +1812 -204
- package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +45 -30
- package/node_modules/zod/src/v4/classic/tests/union.test.ts +39 -2
- package/node_modules/zod/src/v4/classic/tests/validate.test.ts +645 -0
- package/node_modules/zod/src/v4/classic/tests/validations.test.ts +2 -2
- package/node_modules/zod/src/v4/core/api.ts +87 -35
- package/node_modules/zod/src/v4/core/checks.ts +119 -146
- package/node_modules/zod/src/v4/core/compile.ts +2313 -0
- package/node_modules/zod/src/v4/core/core.ts +99 -22
- package/node_modules/zod/src/v4/core/doc.ts +17 -9
- package/node_modules/zod/src/v4/core/errors.ts +113 -25
- package/node_modules/zod/src/v4/core/index.ts +3 -0
- package/node_modules/zod/src/v4/core/json-schema-generator.ts +8 -3
- package/node_modules/zod/src/v4/core/json-schema-processors.ts +424 -156
- package/node_modules/zod/src/v4/core/json-schema.ts +2 -1
- package/node_modules/zod/src/v4/core/memoizer.ts +331 -0
- package/node_modules/zod/src/v4/core/parse.ts +164 -50
- package/node_modules/zod/src/v4/core/regexes.ts +42 -15
- package/node_modules/zod/src/v4/core/registries.ts +2 -2
- package/node_modules/zod/src/v4/core/schemas.ts +1000 -538
- package/node_modules/zod/src/v4/core/tests/cached.test.ts +54 -0
- package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +1004 -0
- package/node_modules/zod/src/v4/core/tests/compile-generative.test.ts +445 -0
- package/node_modules/zod/src/v4/core/tests/compile-global.test.ts +89 -0
- package/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +26 -0
- package/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +34 -0
- package/node_modules/zod/src/v4/core/tests/compile.test.ts +2036 -0
- package/node_modules/zod/src/v4/core/tests/email-regex.test.ts +140 -0
- package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +1 -2
- package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +1 -2
- package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +3 -3
- package/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +42 -0
- package/node_modules/zod/src/v4/core/tests/locales/tg.test.ts +85 -0
- package/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +69 -0
- package/node_modules/zod/src/v4/core/tests/polyfill-collision.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/treeshake.test.ts +51 -0
- package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +133 -0
- package/node_modules/zod/src/v4/core/to-json-schema.ts +283 -48
- package/node_modules/zod/src/v4/core/util.ts +454 -157
- package/node_modules/zod/src/v4/core/versions.ts +2 -2
- package/node_modules/zod/src/v4/core/visit.ts +193 -0
- package/node_modules/zod/src/v4/index.ts +3 -3
- package/node_modules/zod/src/v4/locales/ar.ts +5 -0
- package/node_modules/zod/src/v4/locales/az.ts +5 -0
- package/node_modules/zod/src/v4/locales/be.ts +12 -0
- package/node_modules/zod/src/v4/locales/bg.ts +5 -0
- package/node_modules/zod/src/v4/locales/bn.ts +123 -0
- package/node_modules/zod/src/v4/locales/ca.ts +5 -0
- package/node_modules/zod/src/v4/locales/ckb.ts +140 -0
- package/node_modules/zod/src/v4/locales/cs.ts +5 -0
- package/node_modules/zod/src/v4/locales/da.ts +7 -2
- package/node_modules/zod/src/v4/locales/de.ts +5 -0
- package/node_modules/zod/src/v4/locales/el.ts +3 -0
- package/node_modules/zod/src/v4/locales/en.ts +17 -4
- package/node_modules/zod/src/v4/locales/eo.ts +5 -0
- package/node_modules/zod/src/v4/locales/es.ts +4 -0
- package/node_modules/zod/src/v4/locales/fa.ts +5 -0
- package/node_modules/zod/src/v4/locales/fi.ts +5 -0
- package/node_modules/zod/src/v4/locales/fr-CA.ts +5 -0
- package/node_modules/zod/src/v4/locales/fr.ts +21 -14
- package/node_modules/zod/src/v4/locales/gu.ts +123 -0
- package/node_modules/zod/src/v4/locales/he.ts +8 -1
- package/node_modules/zod/src/v4/locales/hi.ts +126 -0
- package/node_modules/zod/src/v4/locales/hr.ts +4 -0
- package/node_modules/zod/src/v4/locales/hu.ts +5 -0
- package/node_modules/zod/src/v4/locales/hy.ts +11 -0
- package/node_modules/zod/src/v4/locales/id.ts +5 -0
- package/node_modules/zod/src/v4/locales/index.ts +11 -0
- package/node_modules/zod/src/v4/locales/is.ts +5 -0
- package/node_modules/zod/src/v4/locales/it.ts +5 -0
- package/node_modules/zod/src/v4/locales/ja.ts +5 -0
- package/node_modules/zod/src/v4/locales/ka.ts +5 -0
- package/node_modules/zod/src/v4/locales/km.ts +5 -0
- package/node_modules/zod/src/v4/locales/kn.ts +126 -0
- package/node_modules/zod/src/v4/locales/ko.ts +5 -0
- package/node_modules/zod/src/v4/locales/lt.ts +4 -0
- package/node_modules/zod/src/v4/locales/mk.ts +5 -0
- package/node_modules/zod/src/v4/locales/ms.ts +5 -0
- package/node_modules/zod/src/v4/locales/ne.ts +128 -0
- package/node_modules/zod/src/v4/locales/nl.ts +5 -0
- package/node_modules/zod/src/v4/locales/nn.ts +121 -0
- package/node_modules/zod/src/v4/locales/no.ts +7 -2
- package/node_modules/zod/src/v4/locales/ota.ts +5 -0
- package/node_modules/zod/src/v4/locales/pl.ts +5 -0
- package/node_modules/zod/src/v4/locales/ps.ts +5 -0
- package/node_modules/zod/src/v4/locales/pt-BR.ts +161 -0
- package/node_modules/zod/src/v4/locales/pt.ts +101 -58
- package/node_modules/zod/src/v4/locales/ro.ts +3 -0
- package/node_modules/zod/src/v4/locales/ru.ts +12 -0
- package/node_modules/zod/src/v4/locales/sk.ts +123 -0
- package/node_modules/zod/src/v4/locales/sl.ts +5 -0
- package/node_modules/zod/src/v4/locales/sv.ts +7 -2
- package/node_modules/zod/src/v4/locales/ta.ts +5 -0
- package/node_modules/zod/src/v4/locales/tg.ts +135 -0
- package/node_modules/zod/src/v4/locales/th.ts +5 -0
- package/node_modules/zod/src/v4/locales/tk.ts +113 -0
- package/node_modules/zod/src/v4/locales/tr.ts +5 -0
- package/node_modules/zod/src/v4/locales/uk.ts +5 -0
- package/node_modules/zod/src/v4/locales/ur.ts +5 -0
- package/node_modules/zod/src/v4/locales/uz.ts +3 -0
- package/node_modules/zod/src/v4/locales/vi.ts +5 -0
- package/node_modules/zod/src/v4/locales/yo.ts +5 -0
- package/node_modules/zod/src/v4/locales/zh-CN.ts +5 -0
- package/node_modules/zod/src/v4/locales/zh-TW.ts +5 -0
- package/node_modules/zod/src/v4/mini/checks.ts +1 -0
- package/node_modules/zod/src/v4/mini/deep-partial.ts +73 -0
- package/node_modules/zod/src/v4/mini/external.ts +12 -1
- package/node_modules/zod/src/v4/mini/in-out.ts +45 -0
- package/node_modules/zod/src/v4/mini/parse.ts +2 -0
- package/node_modules/zod/src/v4/mini/schemas.ts +167 -63
- package/node_modules/zod/src/v4/mini/tests/apply.test.ts +33 -0
- package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +62 -1
- package/node_modules/zod/src/v4/mini/tests/checks.test.ts +14 -0
- package/node_modules/zod/src/v4/mini/tests/codec.test.ts +35 -1
- package/node_modules/zod/src/v4/mini/tests/computed.test.ts +11 -17
- package/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +84 -0
- package/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +54 -0
- package/node_modules/zod/src/v4/mini/tests/error.test.ts +23 -4
- package/node_modules/zod/src/v4/mini/tests/functions.test.ts +9 -0
- package/node_modules/zod/src/v4/mini/tests/index.test.ts +158 -5
- package/node_modules/zod/src/v4/mini/tests/number.test.ts +14 -0
- package/node_modules/zod/src/v4/mini/tests/object.test.ts +65 -0
- package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +16 -0
- package/node_modules/zod/src/v4/mini/tests/string.test.ts +44 -0
- package/node_modules/zod/v3/ZodError.cjs +41 -12
- package/node_modules/zod/v3/ZodError.d.cts +1 -1
- package/node_modules/zod/v3/ZodError.d.ts +1 -1
- package/node_modules/zod/v3/ZodError.js +22 -12
- package/node_modules/zod/v3/errors.cjs +19 -0
- package/node_modules/zod/v3/external.cjs +19 -0
- package/node_modules/zod/v3/helpers/enumUtil.cjs +19 -0
- package/node_modules/zod/v3/helpers/errorUtil.cjs +20 -1
- package/node_modules/zod/v3/helpers/errorUtil.js +1 -1
- package/node_modules/zod/v3/helpers/parseUtil.cjs +19 -0
- package/node_modules/zod/v3/helpers/partialUtil.cjs +19 -0
- package/node_modules/zod/v3/helpers/typeAliases.cjs +19 -0
- package/node_modules/zod/v3/helpers/util.cjs +19 -0
- package/node_modules/zod/v3/index.cjs +19 -0
- package/node_modules/zod/v3/standard-schema.cjs +19 -0
- package/node_modules/zod/v3/types.cjs +26 -5
- package/node_modules/zod/v3/types.js +7 -5
- package/node_modules/zod/v4/classic/checks.cjs +21 -1
- package/node_modules/zod/v4/classic/checks.d.cts +1 -1
- package/node_modules/zod/v4/classic/checks.d.ts +1 -1
- package/node_modules/zod/v4/classic/checks.js +1 -1
- package/node_modules/zod/v4/classic/coerce.cjs +19 -0
- package/node_modules/zod/v4/classic/compat.cjs +19 -0
- package/node_modules/zod/v4/classic/compat.d.cts +9 -11
- package/node_modules/zod/v4/classic/compat.d.ts +9 -11
- package/node_modules/zod/v4/classic/deep-partial.cjs +58 -0
- package/node_modules/zod/v4/classic/deep-partial.d.cts +14 -0
- package/node_modules/zod/v4/classic/deep-partial.d.ts +14 -0
- package/node_modules/zod/v4/classic/deep-partial.js +13 -0
- package/node_modules/zod/v4/classic/errors.cjs +62 -34
- package/node_modules/zod/v4/classic/errors.d.cts +3 -4
- package/node_modules/zod/v4/classic/errors.d.ts +3 -4
- package/node_modules/zod/v4/classic/errors.js +43 -34
- package/node_modules/zod/v4/classic/external.cjs +51 -27
- package/node_modules/zod/v4/classic/external.d.cts +5 -2
- package/node_modules/zod/v4/classic/external.d.ts +5 -2
- package/node_modules/zod/v4/classic/external.js +5 -8
- package/node_modules/zod/v4/classic/from-json-schema.cjs +376 -75
- package/node_modules/zod/v4/classic/from-json-schema.js +357 -75
- package/node_modules/zod/v4/classic/in-out.cjs +82 -0
- package/node_modules/zod/v4/classic/in-out.d.cts +8 -0
- package/node_modules/zod/v4/classic/in-out.d.ts +8 -0
- package/node_modules/zod/v4/classic/in-out.js +36 -0
- package/node_modules/zod/v4/classic/index.cjs +21 -2
- package/node_modules/zod/v4/classic/index.d.cts +1 -2
- package/node_modules/zod/v4/classic/index.d.ts +1 -2
- package/node_modules/zod/v4/classic/index.js +2 -2
- package/node_modules/zod/v4/classic/iso.cjs +30 -22
- package/node_modules/zod/v4/classic/iso.d.cts +2 -17
- package/node_modules/zod/v4/classic/iso.d.ts +2 -17
- package/node_modules/zod/v4/classic/iso.js +2 -17
- package/node_modules/zod/v4/classic/parse.cjs +23 -1
- package/node_modules/zod/v4/classic/parse.d.cts +17 -4
- package/node_modules/zod/v4/classic/parse.d.ts +17 -4
- package/node_modules/zod/v4/classic/parse.js +1 -0
- package/node_modules/zod/v4/classic/schemas.cjs +591 -426
- package/node_modules/zod/v4/classic/schemas.d.cts +68 -19
- package/node_modules/zod/v4/classic/schemas.d.ts +68 -19
- package/node_modules/zod/v4/classic/schemas.js +564 -424
- package/node_modules/zod/v4/core/api.cjs +66 -24
- package/node_modules/zod/v4/core/api.d.cts +22 -12
- package/node_modules/zod/v4/core/api.d.ts +22 -12
- package/node_modules/zod/v4/core/api.js +44 -24
- package/node_modules/zod/v4/core/checks.cjs +88 -128
- package/node_modules/zod/v4/core/checks.d.cts +29 -13
- package/node_modules/zod/v4/core/checks.d.ts +29 -13
- package/node_modules/zod/v4/core/checks.js +68 -127
- package/node_modules/zod/v4/core/compile.cjs +1908 -0
- package/node_modules/zod/v4/core/compile.d.cts +65 -0
- package/node_modules/zod/v4/core/compile.d.ts +65 -0
- package/node_modules/zod/v4/core/compile.js +1858 -0
- package/node_modules/zod/v4/core/core.cjs +101 -19
- package/node_modules/zod/v4/core/core.d.cts +16 -4
- package/node_modules/zod/v4/core/core.d.ts +16 -4
- package/node_modules/zod/v4/core/core.js +83 -20
- package/node_modules/zod/v4/core/doc.cjs +31 -9
- package/node_modules/zod/v4/core/doc.d.cts +3 -1
- package/node_modules/zod/v4/core/doc.d.ts +3 -1
- package/node_modules/zod/v4/core/doc.js +12 -9
- package/node_modules/zod/v4/core/errors.cjs +126 -25
- package/node_modules/zod/v4/core/errors.d.cts +4 -0
- package/node_modules/zod/v4/core/errors.d.ts +4 -0
- package/node_modules/zod/v4/core/errors.js +107 -25
- package/node_modules/zod/v4/core/index.cjs +24 -1
- package/node_modules/zod/v4/core/index.d.cts +3 -0
- package/node_modules/zod/v4/core/index.d.ts +3 -0
- package/node_modules/zod/v4/core/index.js +3 -0
- package/node_modules/zod/v4/core/json-schema-generator.cjs +24 -1
- package/node_modules/zod/v4/core/json-schema-generator.d.cts +2 -2
- package/node_modules/zod/v4/core/json-schema-generator.d.ts +2 -2
- package/node_modules/zod/v4/core/json-schema-generator.js +6 -2
- package/node_modules/zod/v4/core/json-schema-processors.cjs +441 -156
- package/node_modules/zod/v4/core/json-schema-processors.d.cts +16 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.ts +16 -0
- package/node_modules/zod/v4/core/json-schema-processors.js +400 -158
- package/node_modules/zod/v4/core/json-schema.cjs +19 -0
- package/node_modules/zod/v4/core/json-schema.d.cts +2 -1
- package/node_modules/zod/v4/core/json-schema.d.ts +2 -1
- package/node_modules/zod/v4/core/memoizer.cjs +360 -0
- package/node_modules/zod/v4/core/memoizer.d.cts +15 -0
- package/node_modules/zod/v4/core/memoizer.d.ts +15 -0
- package/node_modules/zod/v4/core/memoizer.js +311 -0
- package/node_modules/zod/v4/core/parse.cjs +148 -46
- package/node_modules/zod/v4/core/parse.d.cts +14 -11
- package/node_modules/zod/v4/core/parse.d.ts +14 -11
- package/node_modules/zod/v4/core/parse.js +127 -45
- package/node_modules/zod/v4/core/regexes.cjs +54 -17
- package/node_modules/zod/v4/core/regexes.d.cts +5 -0
- package/node_modules/zod/v4/core/regexes.d.ts +5 -0
- package/node_modules/zod/v4/core/regexes.js +32 -15
- package/node_modules/zod/v4/core/registries.cjs +19 -0
- package/node_modules/zod/v4/core/registries.js +2 -2
- package/node_modules/zod/v4/core/schemas.cjs +785 -386
- package/node_modules/zod/v4/core/schemas.d.cts +123 -34
- package/node_modules/zod/v4/core/schemas.d.ts +123 -34
- package/node_modules/zod/v4/core/schemas.js +753 -386
- package/node_modules/zod/v4/core/standard-schema.cjs +19 -0
- package/node_modules/zod/v4/core/to-json-schema.cjs +269 -45
- package/node_modules/zod/v4/core/to-json-schema.d.cts +45 -5
- package/node_modules/zod/v4/core/to-json-schema.d.ts +45 -5
- package/node_modules/zod/v4/core/to-json-schema.js +247 -44
- package/node_modules/zod/v4/core/util.cjs +372 -157
- package/node_modules/zod/v4/core/util.d.cts +79 -1
- package/node_modules/zod/v4/core/util.d.ts +79 -1
- package/node_modules/zod/v4/core/util.js +341 -156
- package/node_modules/zod/v4/core/versions.cjs +21 -2
- package/node_modules/zod/v4/core/versions.d.cts +1 -1
- package/node_modules/zod/v4/core/versions.d.ts +1 -1
- package/node_modules/zod/v4/core/versions.js +2 -2
- package/node_modules/zod/v4/core/visit.cjs +214 -0
- package/node_modules/zod/v4/core/visit.d.cts +30 -0
- package/node_modules/zod/v4/core/visit.d.ts +30 -0
- package/node_modules/zod/v4/core/visit.js +169 -0
- package/node_modules/zod/v4/index.cjs +34 -5
- package/node_modules/zod/v4/index.d.cts +2 -2
- package/node_modules/zod/v4/index.d.ts +2 -2
- package/node_modules/zod/v4/index.js +3 -2
- package/node_modules/zod/v4/locales/ar.cjs +5 -0
- package/node_modules/zod/v4/locales/ar.js +5 -0
- package/node_modules/zod/v4/locales/az.cjs +5 -0
- package/node_modules/zod/v4/locales/az.js +5 -0
- package/node_modules/zod/v4/locales/be.cjs +12 -0
- package/node_modules/zod/v4/locales/be.js +12 -0
- package/node_modules/zod/v4/locales/bg.cjs +5 -0
- package/node_modules/zod/v4/locales/bg.js +5 -0
- package/node_modules/zod/v4/locales/bn.cjs +140 -0
- package/node_modules/zod/v4/locales/bn.d.cts +5 -0
- package/node_modules/zod/v4/locales/bn.d.ts +4 -0
- package/node_modules/zod/v4/locales/bn.js +113 -0
- package/node_modules/zod/v4/locales/ca.cjs +5 -0
- package/node_modules/zod/v4/locales/ca.js +5 -0
- package/node_modules/zod/v4/locales/ckb.cjs +160 -0
- package/node_modules/zod/v4/locales/ckb.d.cts +5 -0
- package/node_modules/zod/v4/locales/ckb.d.ts +4 -0
- package/node_modules/zod/v4/locales/ckb.js +133 -0
- package/node_modules/zod/v4/locales/cs.cjs +5 -0
- package/node_modules/zod/v4/locales/cs.js +5 -0
- package/node_modules/zod/v4/locales/da.cjs +7 -2
- package/node_modules/zod/v4/locales/da.js +7 -2
- package/node_modules/zod/v4/locales/de.cjs +5 -0
- package/node_modules/zod/v4/locales/de.js +5 -0
- package/node_modules/zod/v4/locales/el.cjs +3 -0
- package/node_modules/zod/v4/locales/el.js +3 -0
- package/node_modules/zod/v4/locales/en.cjs +16 -4
- package/node_modules/zod/v4/locales/en.js +16 -4
- package/node_modules/zod/v4/locales/eo.cjs +5 -0
- package/node_modules/zod/v4/locales/eo.js +5 -0
- package/node_modules/zod/v4/locales/es.cjs +4 -0
- package/node_modules/zod/v4/locales/es.js +4 -0
- package/node_modules/zod/v4/locales/fa.cjs +5 -0
- package/node_modules/zod/v4/locales/fa.js +5 -0
- package/node_modules/zod/v4/locales/fi.cjs +5 -0
- package/node_modules/zod/v4/locales/fi.js +5 -0
- package/node_modules/zod/v4/locales/fr-CA.cjs +5 -0
- package/node_modules/zod/v4/locales/fr-CA.js +5 -0
- package/node_modules/zod/v4/locales/fr.cjs +18 -14
- package/node_modules/zod/v4/locales/fr.js +18 -14
- package/node_modules/zod/v4/locales/gu.cjs +140 -0
- package/node_modules/zod/v4/locales/gu.d.cts +5 -0
- package/node_modules/zod/v4/locales/gu.d.ts +4 -0
- package/node_modules/zod/v4/locales/gu.js +113 -0
- package/node_modules/zod/v4/locales/he.cjs +7 -0
- package/node_modules/zod/v4/locales/he.js +7 -0
- package/node_modules/zod/v4/locales/hi.cjs +138 -0
- package/node_modules/zod/v4/locales/hi.d.cts +5 -0
- package/node_modules/zod/v4/locales/hi.d.ts +4 -0
- package/node_modules/zod/v4/locales/hi.js +111 -0
- package/node_modules/zod/v4/locales/hr.cjs +4 -0
- package/node_modules/zod/v4/locales/hr.js +4 -0
- package/node_modules/zod/v4/locales/hu.cjs +5 -0
- package/node_modules/zod/v4/locales/hu.js +5 -0
- package/node_modules/zod/v4/locales/hy.cjs +11 -0
- package/node_modules/zod/v4/locales/hy.js +11 -0
- package/node_modules/zod/v4/locales/id.cjs +5 -0
- package/node_modules/zod/v4/locales/id.js +5 -0
- package/node_modules/zod/v4/locales/index.cjs +43 -2
- package/node_modules/zod/v4/locales/index.d.cts +11 -0
- package/node_modules/zod/v4/locales/index.d.ts +11 -0
- package/node_modules/zod/v4/locales/index.js +11 -0
- package/node_modules/zod/v4/locales/is.cjs +5 -0
- package/node_modules/zod/v4/locales/is.js +5 -0
- package/node_modules/zod/v4/locales/it.cjs +5 -0
- package/node_modules/zod/v4/locales/it.js +5 -0
- package/node_modules/zod/v4/locales/ja.cjs +5 -0
- package/node_modules/zod/v4/locales/ja.js +5 -0
- package/node_modules/zod/v4/locales/ka.cjs +5 -0
- package/node_modules/zod/v4/locales/ka.js +5 -0
- package/node_modules/zod/v4/locales/km.cjs +5 -0
- package/node_modules/zod/v4/locales/km.js +5 -0
- package/node_modules/zod/v4/locales/kn.cjs +143 -0
- package/node_modules/zod/v4/locales/kn.d.cts +5 -0
- package/node_modules/zod/v4/locales/kn.d.ts +4 -0
- package/node_modules/zod/v4/locales/kn.js +116 -0
- package/node_modules/zod/v4/locales/ko.cjs +5 -0
- package/node_modules/zod/v4/locales/ko.js +5 -0
- package/node_modules/zod/v4/locales/lt.cjs +4 -0
- package/node_modules/zod/v4/locales/lt.js +4 -0
- package/node_modules/zod/v4/locales/mk.cjs +5 -0
- package/node_modules/zod/v4/locales/mk.js +5 -0
- package/node_modules/zod/v4/locales/ms.cjs +5 -0
- package/node_modules/zod/v4/locales/ms.js +5 -0
- package/node_modules/zod/v4/locales/ne.cjs +138 -0
- package/node_modules/zod/v4/locales/ne.d.cts +5 -0
- package/node_modules/zod/v4/locales/ne.d.ts +4 -0
- package/node_modules/zod/v4/locales/ne.js +111 -0
- package/node_modules/zod/v4/locales/nl.cjs +5 -0
- package/node_modules/zod/v4/locales/nl.js +5 -0
- package/node_modules/zod/v4/locales/nn.cjs +140 -0
- package/node_modules/zod/v4/locales/nn.d.cts +5 -0
- package/node_modules/zod/v4/locales/nn.d.ts +4 -0
- package/node_modules/zod/v4/locales/nn.js +113 -0
- package/node_modules/zod/v4/locales/no.cjs +7 -2
- package/node_modules/zod/v4/locales/no.js +7 -2
- package/node_modules/zod/v4/locales/ota.cjs +5 -0
- package/node_modules/zod/v4/locales/ota.js +5 -0
- package/node_modules/zod/v4/locales/pl.cjs +5 -0
- package/node_modules/zod/v4/locales/pl.js +5 -0
- package/node_modules/zod/v4/locales/ps.cjs +5 -0
- package/node_modules/zod/v4/locales/ps.js +5 -0
- package/node_modules/zod/v4/locales/pt-BR.cjs +170 -0
- package/node_modules/zod/v4/locales/pt-BR.d.cts +5 -0
- package/node_modules/zod/v4/locales/pt-BR.d.ts +4 -0
- package/node_modules/zod/v4/locales/pt-BR.js +143 -0
- package/node_modules/zod/v4/locales/pt.cjs +89 -55
- package/node_modules/zod/v4/locales/pt.js +89 -55
- package/node_modules/zod/v4/locales/ro.cjs +3 -0
- package/node_modules/zod/v4/locales/ro.js +3 -0
- package/node_modules/zod/v4/locales/ru.cjs +12 -0
- package/node_modules/zod/v4/locales/ru.js +12 -0
- package/node_modules/zod/v4/locales/sk.cjs +143 -0
- package/node_modules/zod/v4/locales/sk.d.cts +5 -0
- package/node_modules/zod/v4/locales/sk.d.ts +4 -0
- package/node_modules/zod/v4/locales/sk.js +116 -0
- package/node_modules/zod/v4/locales/sl.cjs +5 -0
- package/node_modules/zod/v4/locales/sl.js +5 -0
- package/node_modules/zod/v4/locales/sv.cjs +7 -2
- package/node_modules/zod/v4/locales/sv.js +7 -2
- package/node_modules/zod/v4/locales/ta.cjs +5 -0
- package/node_modules/zod/v4/locales/ta.js +5 -0
- package/node_modules/zod/v4/locales/tg.cjs +144 -0
- package/node_modules/zod/v4/locales/tg.d.cts +5 -0
- package/node_modules/zod/v4/locales/tg.d.ts +4 -0
- package/node_modules/zod/v4/locales/tg.js +117 -0
- package/node_modules/zod/v4/locales/th.cjs +5 -0
- package/node_modules/zod/v4/locales/th.js +5 -0
- package/node_modules/zod/v4/locales/tk.cjs +134 -0
- package/node_modules/zod/v4/locales/tk.d.cts +5 -0
- package/node_modules/zod/v4/locales/tk.d.ts +4 -0
- package/node_modules/zod/v4/locales/tk.js +107 -0
- package/node_modules/zod/v4/locales/tr.cjs +5 -0
- package/node_modules/zod/v4/locales/tr.js +5 -0
- package/node_modules/zod/v4/locales/uk.cjs +5 -0
- package/node_modules/zod/v4/locales/uk.js +5 -0
- package/node_modules/zod/v4/locales/ur.cjs +5 -0
- package/node_modules/zod/v4/locales/ur.js +5 -0
- package/node_modules/zod/v4/locales/uz.cjs +3 -0
- package/node_modules/zod/v4/locales/uz.js +3 -0
- package/node_modules/zod/v4/locales/vi.cjs +5 -0
- package/node_modules/zod/v4/locales/vi.js +5 -0
- package/node_modules/zod/v4/locales/yo.cjs +5 -0
- package/node_modules/zod/v4/locales/yo.js +5 -0
- package/node_modules/zod/v4/locales/zh-CN.cjs +5 -0
- package/node_modules/zod/v4/locales/zh-CN.js +5 -0
- package/node_modules/zod/v4/locales/zh-TW.cjs +5 -0
- package/node_modules/zod/v4/locales/zh-TW.js +5 -0
- package/node_modules/zod/v4/mini/checks.cjs +21 -1
- package/node_modules/zod/v4/mini/checks.d.cts +1 -1
- package/node_modules/zod/v4/mini/checks.d.ts +1 -1
- package/node_modules/zod/v4/mini/checks.js +1 -1
- package/node_modules/zod/v4/mini/coerce.cjs +19 -0
- package/node_modules/zod/v4/mini/deep-partial.cjs +58 -0
- package/node_modules/zod/v4/mini/deep-partial.d.cts +14 -0
- package/node_modules/zod/v4/mini/deep-partial.d.ts +14 -0
- package/node_modules/zod/v4/mini/deep-partial.js +13 -0
- package/node_modules/zod/v4/mini/external.cjs +33 -1
- package/node_modules/zod/v4/mini/external.d.cts +5 -2
- package/node_modules/zod/v4/mini/external.d.ts +5 -2
- package/node_modules/zod/v4/mini/external.js +3 -1
- package/node_modules/zod/v4/mini/in-out.cjs +82 -0
- package/node_modules/zod/v4/mini/in-out.d.cts +8 -0
- package/node_modules/zod/v4/mini/in-out.d.ts +8 -0
- package/node_modules/zod/v4/mini/in-out.js +36 -0
- package/node_modules/zod/v4/mini/index.cjs +19 -0
- package/node_modules/zod/v4/mini/iso.cjs +19 -0
- package/node_modules/zod/v4/mini/parse.cjs +22 -1
- package/node_modules/zod/v4/mini/parse.d.cts +1 -1
- package/node_modules/zod/v4/mini/parse.d.ts +1 -1
- package/node_modules/zod/v4/mini/parse.js +1 -1
- package/node_modules/zod/v4/mini/schemas.cjs +117 -53
- package/node_modules/zod/v4/mini/schemas.d.cts +49 -14
- package/node_modules/zod/v4/mini/schemas.d.ts +49 -14
- package/node_modules/zod/v4/mini/schemas.js +92 -51
- package/node_modules/zod/v4-mini/index.cjs +19 -0
- package/openclaw.plugin.json +222 -45
- package/package.json +14 -11
- package/dist/direct-room-RinHjtqX.js +0 -71
- package/dist/probe.runtime-DWdw74_H.js +0 -2
- package/dist/runtime-6S3DNFNv.js +0 -8
- package/dist/types-DzSc7Sqm.js +0 -32
- package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.d.ts +0 -33
- package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.d.ts.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.js +0 -93
- package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.js.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/src/internal/encode-shared.ts +0 -123
- package/node_modules/zod/src/v4/core/config.ts +0 -15
- /package/dist/{account-config-CRsKoMqJ.js → .setup/account-config-CRsKoMqJ.mjs} +0 -0
- /package/dist/{backup-health-Dm_YMVFT.js → .setup/backup-health-Dm_YMVFT.mjs} +0 -0
- /package/dist/{config-paths-CnREYb1Y.js → .setup/config-paths-CnREYb1Y.mjs} +0 -0
- /package/dist/{config-secret-input.runtime-CwsP3--c.js → .setup/config-secret-input.runtime-CwsP3--c.mjs} +0 -0
- /package/dist/{credentials-state-B3cuUFwZ.js → .setup/credentials-state-B3cuUFwZ.mjs} +0 -0
- /package/dist/{crypto-node.runtime-6Aj_ltHQ.js → .setup/crypto-node.runtime-6Aj_ltHQ.mjs} +0 -0
- /package/dist/{deps-mtxF2mHI.js → .setup/deps-mtxF2mHI.mjs} +0 -0
- /package/dist/{doctor-contract-HyWFZQVG.js → .setup/doctor-contract-HyWFZQVG.mjs} +0 -0
- /package/dist/{env-vars-dGqak9dN.js → .setup/env-vars-dGqak9dN.mjs} +0 -0
- /package/dist/{errors-DKVS3_DO.js → .setup/errors-DKVS3_DO.mjs} +0 -0
- /package/dist/{event-helpers-CspuhE9k.js → .setup/event-helpers-CspuhE9k.mjs} +0 -0
- /package/dist/{idb-persistence-lock-B3fZXyF_.js → .setup/idb-persistence-lock-B3fZXyF_.mjs} +0 -0
- /package/dist/{rolldown-runtime-8H4AJuhK.js → .setup/rolldown-runtime-8H4AJuhK.mjs} +0 -0
- /package/dist/{storage-paths-DVCANXTc.js → .setup/storage-paths-DVCANXTc.mjs} +0 -0
- /package/dist/{target-ids-Nwx7cMVE.js → .setup/target-ids-Nwx7cMVE.mjs} +0 -0
- /package/dist/{thread-bindings-shared-oNPiyMWY.js → .setup/thread-bindings-shared-oNPiyMWY.mjs} +0 -0
- /package/dist/{url-validation-GRHde6lq.js → .setup/url-validation-GRHde6lq.mjs} +0 -0
package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/ClientWidgetApi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientWidgetApi.js","names":["_events","require","_PostmessageTransport","_WidgetApiDirection","_WidgetApiAction","_Capabilities","_ApiVersion","_WidgetEventCapability","_GetOpenIDAction","_SimpleObservable","_Symbols","_UpdateDelayedEventAction","_typeof","obj","Symbol","iterator","constructor","prototype","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_createForOfIteratorHelper","o","allowArrayLike","it","Array","isArray","_unsupportedIterableToArray","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","toString","slice","name","from","test","iter","len","arr2","_regeneratorRuntime","exports","Op","hasOwn","hasOwnProperty","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","configurable","writable","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","undefined","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","Promise","val","reverse","pop","skipTempReset","prev","charAt","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_inherits","subClass","superClass","_setPrototypeOf","p","bind","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","_toPrimitive","String","input","hint","prim","toPrimitive","res","Number","_asyncIterator","sync","retry","AsyncFromSyncIterator","AsyncFromSyncIteratorContinuation","r","_return","ret","thr","ClientWidgetApi","_EventEmitter","_super","widget","iframe","driver","_this","Set","Map","contentWindow","transport","PostmessageTransport","WidgetApiDirection","ToWidget","id","globalThis","targetOrigin","origin","on","handleMessage","addEventListener","onIframeLoad","start","hasCapability","capability","allowedCapabilities","has","canUseRoomTimeline","roomId","concat","Symbols","AnyRoom","canSendRoomEvent","eventType","msgtype","allowedEvents","some","matchesAsRoomEvent","EventDirection","Send","canSendStateEvent","stateKey","matchesAsStateEvent","canSendToDeviceEvent","matchesAsToDeviceEvent","canReceiveRoomEvent","Receive","canReceiveStateEvent","canReceiveToDeviceEvent","canReceiveRoomAccountData","matchesAsRoomAccountData","isStopped","_getWidgetVersions","_callee","_callee$","_context","cachedWidgetVersions","send","WidgetApiToWidgetAction","SupportedApiVersions","supported_versions","t0","console","warn","getWidgetVersions","beginCapabilities","_this2","emit","requestedCaps","Capabilities","caps","capabilities","validateCapabilities","allowedCaps","allowCapabilities","allowed","requested","_this$allowedEvents","_this3","log","_iterator2","_step2","c","add","WidgetEventCapability","findEventCapabilities","NotifyCapabilities","approved","_iterator3","_step3","isTimelineCapability","getTimelineRoomIDFromCapability","_iterator5","getKnownRooms","_step5","pushRoomState","includes","MatrixCapabilities","MSC4407ReceiveStickyEvent","debug","roomIds","map","timelineCapability","flatMap","roomIdOrWildcard","_iterator4","_step4","_loop","pushStickyState","viewedRoomId","ev","waitForIframeLoad","contentLoadedWaitTimer","setTimeout","contentLoadedActionSent","handleContentLoadedAction","action","clearTimeout","reply","message","replyVersions","request","CurrentApiVersions","_supportsUpdateState","_callee2","_callee2$","_context2","UnstableApiVersion","MSC2762_UPDATE_STATE","supportsUpdateState","handleCapabilitiesRenegotiate","_request$data","_this4","data","newlyRequested","size","handleNavigate","_request$data2","_this5","MSC2931Navigate","uri","startsWith","onErr","handleDriverError","navigate","handleOIDC","_this6","phase","replyState","credential","OpenIDCredentials","original_request_id","requestId","replyError","msg","OpenIDRequestState","Blocked","observer","SimpleObservable","update","PendingUserConfirmation","close","Allowed","token","askOpenID","handleReadRoomAccountData","_this7","events","readRoomAccountData","evs","_handleReadEvents","_callee3","_this8","askRoomIds","_iterator6","_step6","limit","since","_stateKey","_callee3$","_context3","room_ids","state_key","readRoomEvents","readStateEvents","all","readRoomTimeline","flat","t1","readRoomState","handleReadEvents","_x","handleSendEvent","_this9","room_id","parent_delay_id","delay","MSC4157SendDelayedEvent","isStickyEvent","sticky_duration_ms","MSC4407SendStickyEvent","sendEventPromise","sendDelayedEvent","content","sendEvent","params","sendDelayedStickyEvent","_this$driver","sendStickyEvent","_this$driver2","sentEvent","event_id","eventId","delay_id","delayId","handleUpdateDelayedEvent","_this10","MSC4157UpdateDelayedEvent","updateDelayedEvent","UpdateDelayedEventAction","Cancel","cancelScheduledDelayedEvent","Restart","restartScheduledDelayedEvent","sendScheduledDelayedEvent","_handleSendToDevice","_callee4","_callee4$","_context4","messages","encrypted","sendToDevice","handleSendToDevice","_x2","_pollTurnServers","_callee5","turnServers","initialServer","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","server","_callee5$","_context5","UpdateTurnServers","pollTurnServers","_x3","_x4","_handleWatchTurnServers","_callee6","_yield$turnServers$ne","_callee6$","_context6","MSC3846TurnServers","getTurnServers","handleWatchTurnServers","_x5","_handleUnwatchTurnServers","_callee7","_callee7$","_context7","handleUnwatchTurnServers","_x6","_handleReadRelations","_callee8","_this11","chunk","_callee8$","_context8","readEventRelations","rel_type","event_type","to","direction","prev_batch","prevBatch","next_batch","nextBatch","handleReadRelations","_x7","_handleUserDirectorySearch","_callee9","_callee9$","_context9","MSC3973UserDirectorySearch","search_term","searchUserDirectory","limited","results","user_id","userId","display_name","avatar_url","avatarUrl","handleUserDirectorySearch","_x8","_handleGetMediaConfig","_callee10","_callee10$","_context10","MSC4039UploadFile","getMediaConfig","handleGetMediaConfig","_x9","_handleRtcTransports","_callee11","_callee11$","_context11","MSC4515RtcTransports","getRtcTransports","rtc_transports","handleRtcTransports","_x10","_handleUploadFile","_callee12","_callee12$","_context12","uploadFile","file","content_uri","contentUri","handleUploadFile","_x11","_handleDownloadFile","_callee13","_callee13$","_context13","MSC4039DownloadFile","downloadFile","handleDownloadFile","_x12","processError","actionEv","CustomEvent","detail","cancelable","defaultPrevented","WidgetApiFromWidgetAction","ContentLoaded","SendEvent","SendToDevice","GetOpenIDCredentials","MSC2974RenegotiateCapabilities","MSC2876ReadEvents","WatchTurnServers","UnwatchTurnServers","MSC3869ReadRelations","BeeperReadRoomAccountData","MSC4039GetMediaConfigAction","MSC4515GetRtcTransports","MSC4039UploadFileAction","MSC4039DownloadFileAction","updateTheme","theme","ThemeChange","updateLanguage","lang","LanguageChange","takeScreenshot","TakeScreenshot","updateVisibility","isVisible","UpdateVisibility","visible","sendWidgetConfig","WidgetConfig","notifyModalWidgetButtonClicked","ButtonClicked","notifyModalWidgetClose","CloseModalWidget","_feedEvent","_callee14","rawEvent","currentViewedRoomId","_rawEvent$content","_callee14$","_context14","setViewedRoomId","feedEvent","_x13","_x14","_feedToDevice","_callee15","_callee15$","_context15","feedToDevice","_x15","_x16","_flushRoomState","_callee16","_iterator7","_step7","eventTypeMap","_iterator8","_step8","stateKeyMap","_callee16$","_context16","pushRoomStateTasks","pushRoomStateResult","UpdateState","flushRoomStateTask","flushRoomState","_pushStickyState","_callee18","_this12","_callee18$","_context18","readStickyEvents","filtered","_e$content","stickyEvents","_ref2","_callee17","_ref","promises","_callee17$","_context17","_x18","_x17","_this13","_iterator9","_step9","_loop2","cap","kind","EventKind","State","_cap$keyStr","_this13$flushRoomStat","keyStr","task","_iterator10","_step10","event","get","set","_feedStateUpdate","_callee19","_callee19$","_context19","feedStateUpdate","_x19","EventEmitter"],"sources":["../src/ClientWidgetApi.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 { ITransport } from \"./transport/ITransport\";\nimport { Widget } from \"./models/Widget\";\nimport { PostmessageTransport } from \"./transport/PostmessageTransport\";\nimport { WidgetApiDirection } from \"./interfaces/WidgetApiDirection\";\nimport { IWidgetApiRequest, IWidgetApiRequestEmptyData } from \"./interfaces/IWidgetApiRequest\";\nimport { IContentLoadedActionRequest } from \"./interfaces/ContentLoadedAction\";\nimport { WidgetApiFromWidgetAction, WidgetApiToWidgetAction } from \"./interfaces/WidgetApiAction\";\nimport { IWidgetApiErrorResponseData } from \"./interfaces/IWidgetApiErrorResponse\";\nimport {\n Capability,\n MatrixCapabilities,\n getTimelineRoomIDFromCapability,\n isTimelineCapability,\n} from \"./interfaces/Capabilities\";\nimport { IOpenIDUpdate, ISendEventDetails, ISendDelayedEventDetails, WidgetDriver } from \"./driver/WidgetDriver\";\nimport {\n ICapabilitiesActionResponseData,\n INotifyCapabilitiesActionRequestData,\n IRenegotiateCapabilitiesActionRequest,\n} from \"./interfaces/CapabilitiesAction\";\nimport {\n ISupportedVersionsActionRequest,\n ISupportedVersionsActionResponseData,\n} from \"./interfaces/SupportedVersionsAction\";\nimport { ApiVersion, CurrentApiVersions, UnstableApiVersion } from \"./interfaces/ApiVersion\";\nimport { IScreenshotActionResponseData } from \"./interfaces/ScreenshotAction\";\nimport { IVisibilityActionRequestData } from \"./interfaces/VisibilityAction\";\nimport { IWidgetApiAcknowledgeResponseData, IWidgetApiResponseData } from \"./interfaces/IWidgetApiResponse\";\nimport {\n IModalWidgetButtonClickedRequestData,\n IModalWidgetOpenRequestData,\n IModalWidgetOpenRequestDataButton,\n IModalWidgetReturnData,\n} from \"./interfaces/ModalWidgetActions\";\nimport {\n ISendEventFromWidgetActionRequest,\n ISendEventFromWidgetResponseData,\n ISendEventToWidgetRequestData,\n} from \"./interfaces/SendEventAction\";\nimport {\n ISendToDeviceFromWidgetActionRequest,\n ISendToDeviceFromWidgetResponseData,\n ISendToDeviceToWidgetRequestData,\n} from \"./interfaces/SendToDeviceAction\";\nimport { EventDirection, EventKind, WidgetEventCapability } from \"./models/WidgetEventCapability\";\nimport { IRoomEvent } from \"./interfaces/IRoomEvent\";\nimport {\n IGetOpenIDActionRequest,\n IGetOpenIDActionResponseData,\n IOpenIDCredentials,\n OpenIDRequestState,\n} from \"./interfaces/GetOpenIDAction\";\nimport { SimpleObservable } from \"./util/SimpleObservable\";\nimport { IOpenIDCredentialsActionRequestData } from \"./interfaces/OpenIDCredentialsAction\";\nimport { INavigateActionRequest } from \"./interfaces/NavigateAction\";\nimport { IReadEventFromWidgetActionRequest, IReadEventFromWidgetResponseData } from \"./interfaces/ReadEventAction\";\nimport {\n ITurnServer,\n IWatchTurnServersRequest,\n IUnwatchTurnServersRequest,\n IUpdateTurnServersRequestData,\n} from \"./interfaces/TurnServerActions\";\nimport { Symbols } from \"./Symbols\";\nimport {\n IReadRelationsFromWidgetActionRequest,\n IReadRelationsFromWidgetResponseData,\n} from \"./interfaces/ReadRelationsAction\";\nimport {\n IUserDirectorySearchFromWidgetActionRequest,\n IUserDirectorySearchFromWidgetResponseData,\n} from \"./interfaces/UserDirectorySearchAction\";\nimport {\n IReadRoomAccountDataFromWidgetActionRequest,\n IReadRoomAccountDataFromWidgetResponseData,\n} from \"./interfaces/ReadRoomAccountDataAction\";\nimport {\n IGetMediaConfigActionFromWidgetActionRequest,\n IGetMediaConfigActionFromWidgetResponseData,\n} from \"./interfaces/GetMediaConfigAction\";\nimport {\n IRtcTransportsFromWidgetActionRequest,\n IRtcTransportsFromWidgetResponseData,\n} from \"./interfaces/RtcTransportsAction\";\nimport {\n IUpdateDelayedEventFromWidgetActionRequest,\n UpdateDelayedEventAction,\n} from \"./interfaces/UpdateDelayedEventAction\";\nimport {\n IUploadFileActionFromWidgetActionRequest,\n IUploadFileActionFromWidgetResponseData,\n} from \"./interfaces/UploadFileAction\";\nimport {\n IDownloadFileActionFromWidgetActionRequest,\n IDownloadFileActionFromWidgetResponseData,\n} from \"./interfaces/DownloadFileAction\";\nimport { IThemeChangeActionRequestData } from \"./interfaces/ThemeChangeAction\";\nimport { IUpdateStateToWidgetRequestData } from \"./interfaces/UpdateStateAction\";\nimport { IToDeviceMessage } from \"./interfaces/IToDeviceMessage\";\n\n/**\n * API handler for the client side of widgets. This raises events\n * for each action received as `action:${action}` (eg: \"action:screenshot\").\n * Default handling can be prevented by using preventDefault() on the\n * raised event. The default handling varies for each action: ones\n * which the SDK can handle safely are acknowledged appropriately and\n * ones which are unhandled (custom or require the client to do something)\n * are rejected with an error.\n *\n * Events which are preventDefault()ed must reply using the transport.\n * The events raised will have a default of an IWidgetApiRequest\n * interface.\n *\n * When the ClientWidgetApi is ready to start sending requests, it will\n * raise a \"ready\" CustomEvent. After the ready event fires, actions can\n * be sent and the transport will be ready.\n *\n * When the widget has indicated it has loaded, this class raises a\n * \"preparing\" CustomEvent. The preparing event does not indicate that\n * the widget is ready to receive communications - that is signified by\n * the ready event exclusively.\n *\n * This class only handles one widget at a time.\n */\nexport class ClientWidgetApi extends EventEmitter {\n public readonly transport: ITransport;\n\n private cachedWidgetVersions: ApiVersion[] | null = null;\n // contentLoadedActionSent is used to check that only one ContentLoaded request is send.\n private contentLoadedActionSent = false;\n private readonly allowedCapabilities = new Set<Capability>();\n private readonly allowedEvents: WidgetEventCapability[] = [];\n private isStopped = false;\n private turnServers: AsyncGenerator<ITurnServer> | null = null;\n private contentLoadedWaitTimer?: ReturnType<typeof setTimeout>;\n // Stores pending requests to push a room's state to the widget\n private readonly pushRoomStateTasks = new Set<Promise<void>>();\n // Room ID → event type → state key → events to be pushed\n private readonly pushRoomStateResult = new Map<string, Map<string, Map<string, IRoomEvent>>>();\n private flushRoomStateTask: Promise<void> | null = null;\n\n /**\n * Creates a new client widget API. This will instantiate the transport\n * and start everything. When the iframe is loaded under the widget's\n * conditions, a \"ready\" event will be raised.\n * @param {Widget} widget The widget to communicate with.\n * @param {HTMLIFrameElement} iframe The iframe the widget is in.\n * @param {WidgetDriver} driver The driver for this widget/client.\n */\n public constructor(\n public readonly widget: Widget,\n iframe: HTMLIFrameElement,\n private readonly driver: WidgetDriver,\n ) {\n super();\n if (!iframe?.contentWindow) {\n throw new Error(\"No iframe supplied\");\n }\n if (!widget) {\n throw new Error(\"Invalid widget\");\n }\n if (!driver) {\n throw new Error(\"Invalid driver\");\n }\n this.transport = new PostmessageTransport(\n WidgetApiDirection.ToWidget,\n widget.id,\n iframe.contentWindow,\n globalThis,\n );\n this.transport.targetOrigin = widget.origin;\n this.transport.on(\"message\", this.handleMessage.bind(this));\n\n iframe.addEventListener(\"load\", this.onIframeLoad.bind(this));\n\n this.transport.start();\n }\n\n public hasCapability(capability: Capability): boolean {\n return this.allowedCapabilities.has(capability);\n }\n\n public canUseRoomTimeline(roomId: string | Symbols.AnyRoom): boolean {\n return (\n this.hasCapability(`org.matrix.msc2762.timeline:${Symbols.AnyRoom}`) ||\n this.hasCapability(`org.matrix.msc2762.timeline:${roomId}`)\n );\n }\n\n public canSendRoomEvent(eventType: string, msgtype: string | null = null): boolean {\n return this.allowedEvents.some((e) => e.matchesAsRoomEvent(EventDirection.Send, eventType, msgtype));\n }\n\n public canSendStateEvent(eventType: string, stateKey: string): boolean {\n return this.allowedEvents.some((e) => e.matchesAsStateEvent(EventDirection.Send, eventType, stateKey));\n }\n\n public canSendToDeviceEvent(eventType: string): boolean {\n return this.allowedEvents.some((e) => e.matchesAsToDeviceEvent(EventDirection.Send, eventType));\n }\n\n public canReceiveRoomEvent(eventType: string, msgtype: string | null = null): boolean {\n return this.allowedEvents.some((e) => e.matchesAsRoomEvent(EventDirection.Receive, eventType, msgtype));\n }\n\n public canReceiveStateEvent(eventType: string, stateKey: string | null): boolean {\n return this.allowedEvents.some((e) => e.matchesAsStateEvent(EventDirection.Receive, eventType, stateKey));\n }\n\n public canReceiveToDeviceEvent(eventType: string): boolean {\n return this.allowedEvents.some((e) => e.matchesAsToDeviceEvent(EventDirection.Receive, eventType));\n }\n\n public canReceiveRoomAccountData(eventType: string): boolean {\n return this.allowedEvents.some((e) => e.matchesAsRoomAccountData(EventDirection.Receive, eventType));\n }\n\n public stop(): void {\n this.isStopped = true;\n this.transport.stop();\n }\n\n public async getWidgetVersions(): Promise<ApiVersion[]> {\n if (Array.isArray(this.cachedWidgetVersions)) {\n return this.cachedWidgetVersions;\n }\n\n try {\n const r = await this.transport.send<IWidgetApiRequestEmptyData, ISupportedVersionsActionResponseData>(\n WidgetApiToWidgetAction.SupportedApiVersions,\n {},\n );\n this.cachedWidgetVersions = r.supported_versions;\n return r.supported_versions;\n } catch (e) {\n console.warn(\"non-fatal error getting supported widget versions: \", e);\n return [];\n }\n }\n\n private beginCapabilities(): void {\n // widget has loaded - tell all the listeners that\n this.emit(\"preparing\");\n\n let requestedCaps: Capability[];\n this.transport\n .send<IWidgetApiRequestEmptyData, ICapabilitiesActionResponseData>(WidgetApiToWidgetAction.Capabilities, {})\n .then((caps) => {\n requestedCaps = caps.capabilities;\n return this.driver.validateCapabilities(new Set(caps.capabilities));\n })\n .then((allowedCaps) => {\n this.allowCapabilities([...allowedCaps], requestedCaps);\n this.emit(\"ready\");\n })\n .catch((e) => {\n this.emit(\"error:preparing\", e);\n });\n }\n\n private allowCapabilities(allowed: string[], requested: string[]): void {\n console.log(`Widget ${this.widget.id} is allowed capabilities:`, allowed);\n\n for (const c of allowed) this.allowedCapabilities.add(c);\n const allowedEvents = WidgetEventCapability.findEventCapabilities(allowed);\n this.allowedEvents.push(...allowedEvents);\n\n this.transport\n .send(WidgetApiToWidgetAction.NotifyCapabilities, <INotifyCapabilitiesActionRequestData>{\n requested,\n approved: Array.from(this.allowedCapabilities),\n })\n .catch((e) => {\n console.warn(\"non-fatal error notifying widget of approved capabilities:\", e);\n })\n .then(() => {\n this.emit(\"capabilitiesNotified\");\n });\n\n // Push the initial room state for all rooms with a timeline capability\n for (const c of allowed) {\n if (isTimelineCapability(c)) {\n const roomId = getTimelineRoomIDFromCapability(c);\n if (roomId === Symbols.AnyRoom) {\n for (const roomId of this.driver.getKnownRooms()) {\n this.pushRoomState(roomId);\n }\n } else {\n this.pushRoomState(roomId);\n }\n }\n }\n\n if (allowed.includes(MatrixCapabilities.MSC4407ReceiveStickyEvent)) {\n console.debug(`Widget ${this.widget.id} is allowed to receive sticky events, check current sticky state.`);\n // If the widget can receive sticky events, push all sticky events in known rooms now.\n // Sticky events are like a state, and passed history is needed to get the full state.\n const roomIds = allowed\n .filter((capability) => isTimelineCapability(capability))\n .map((timelineCapability) => getTimelineRoomIDFromCapability(timelineCapability))\n .flatMap((roomIdOrWildcard) => {\n if (roomIdOrWildcard === Symbols.AnyRoom) {\n // Do we support getting sticky state for any room?\n return this.driver.getKnownRooms();\n } else {\n return roomIdOrWildcard;\n }\n });\n console.debug(`Widget ${this.widget.id} is allowed to receive sticky events in rooms:`, roomIds);\n\n for (const roomId of roomIds) {\n this.pushStickyState(roomId).catch((err) => {\n console.error(`Failed to push sticky events to widget ${this.widget.id} for room ${roomId}:`, err);\n });\n }\n }\n\n // If new events are allowed and the currently viewed room isn't covered\n // by a timeline capability, then we know that there could be some state\n // in the viewed room that the widget hasn't learned about yet- push it.\n if (allowedEvents.length > 0 && this.viewedRoomId !== null && !this.canUseRoomTimeline(this.viewedRoomId)) {\n this.pushRoomState(this.viewedRoomId);\n }\n }\n\n private onIframeLoad(ev: Event): void {\n if (this.widget.waitForIframeLoad) {\n // If the widget is set to waitForIframeLoad the capabilities immediately get setup after load.\n // The client does not wait for the ContentLoaded action.\n this.beginCapabilities();\n } else {\n // Reaching this means, that the Iframe got reloaded/loaded and\n // the clientApi is awaiting the FIRST ContentLoaded action.\n console.log(\"waitForIframeLoad is false: waiting for widget to send contentLoaded\");\n this.contentLoadedWaitTimer = setTimeout(() => {\n console.error(\n \"Widget specified waitForIframeLoad=false but timed out waiting for contentLoaded event!\",\n );\n }, 10000);\n this.contentLoadedActionSent = false;\n }\n }\n\n private handleContentLoadedAction(action: IContentLoadedActionRequest): void {\n if (this.contentLoadedWaitTimer !== undefined) {\n clearTimeout(this.contentLoadedWaitTimer);\n this.contentLoadedWaitTimer = undefined;\n }\n if (this.contentLoadedActionSent) {\n throw new Error(\n \"Improper sequence: ContentLoaded Action can only be sent once after the widget loaded \" +\n \"and should only be used if waitForIframeLoad is false (default=true)\",\n );\n }\n if (this.widget.waitForIframeLoad) {\n this.transport.reply(action, <IWidgetApiErrorResponseData>{\n error: {\n message:\n \"Improper sequence: not expecting ContentLoaded event if \" +\n \"waitForIframeLoad is true (default=true)\",\n },\n });\n } else {\n this.transport.reply(action, <IWidgetApiRequestEmptyData>{});\n this.beginCapabilities();\n }\n this.contentLoadedActionSent = true;\n }\n\n private replyVersions(request: ISupportedVersionsActionRequest): void {\n this.transport.reply<ISupportedVersionsActionResponseData>(request, {\n supported_versions: CurrentApiVersions,\n });\n }\n\n private async supportsUpdateState(): Promise<boolean> {\n return (await this.getWidgetVersions()).includes(UnstableApiVersion.MSC2762_UPDATE_STATE);\n }\n\n private handleCapabilitiesRenegotiate(request: IRenegotiateCapabilitiesActionRequest): void {\n // acknowledge first\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n\n const requested = request.data?.capabilities || [];\n const newlyRequested = new Set(requested.filter((r) => !this.hasCapability(r)));\n if (newlyRequested.size === 0) {\n // Nothing to do - skip validation\n this.allowCapabilities([], []);\n }\n\n this.driver\n .validateCapabilities(newlyRequested)\n .then((allowed) => this.allowCapabilities([...allowed], [...newlyRequested]));\n }\n\n private handleNavigate(request: INavigateActionRequest): void {\n if (!this.hasCapability(MatrixCapabilities.MSC2931Navigate)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n if (!request.data?.uri.startsWith(\"https://matrix.to/#\")) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid matrix.to URI\" },\n });\n }\n\n const onErr = (e: unknown): void => {\n console.error(\"[ClientWidgetApi] Failed to handle navigation: \", e);\n this.handleDriverError(e, request, \"Error handling navigation\");\n };\n\n try {\n this.driver\n .navigate(request.data.uri.toString())\n .catch((e: unknown) => onErr(e))\n .then(() => {\n return this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n });\n } catch (e) {\n return onErr(e);\n }\n }\n\n private handleOIDC(request: IGetOpenIDActionRequest): void {\n let phase = 1; // 1 = initial request, 2 = after user manual confirmation\n\n const replyState = (\n state: OpenIDRequestState,\n credential?: IOpenIDCredentials,\n ): void | Promise<IWidgetApiAcknowledgeResponseData> => {\n credential = credential || {};\n if (phase > 1) {\n return this.transport.send<IOpenIDCredentialsActionRequestData>(\n WidgetApiToWidgetAction.OpenIDCredentials,\n {\n state: state,\n original_request_id: request.requestId,\n ...credential,\n },\n );\n } else {\n return this.transport.reply<IGetOpenIDActionResponseData>(request, {\n state: state,\n ...credential,\n });\n }\n };\n\n const replyError = (msg: string): void | Promise<IWidgetApiAcknowledgeResponseData> => {\n console.error(\"[ClientWidgetApi] Failed to handle OIDC: \", msg);\n if (phase > 1) {\n // We don't have a way to indicate that a random error happened in this flow, so\n // just block the attempt.\n return replyState(OpenIDRequestState.Blocked);\n } else {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: msg },\n });\n }\n };\n\n const observer = new SimpleObservable<IOpenIDUpdate>((update) => {\n if (update.state === OpenIDRequestState.PendingUserConfirmation && phase > 1) {\n observer.close();\n return replyError(\"client provided out-of-phase response to OIDC flow\");\n }\n\n if (update.state === OpenIDRequestState.PendingUserConfirmation) {\n replyState(update.state);\n phase++;\n return;\n }\n\n if (update.state === OpenIDRequestState.Allowed && !update.token) {\n return replyError(\"client provided invalid OIDC token for an allowed request\");\n }\n if (update.state === OpenIDRequestState.Blocked) {\n update.token = undefined; // just in case the client did something weird\n }\n\n observer.close();\n return replyState(update.state, update.token);\n });\n\n this.driver.askOpenID(observer);\n }\n\n private handleReadRoomAccountData(request: IReadRoomAccountDataFromWidgetActionRequest): void | Promise<void> {\n const events = this.driver.readRoomAccountData(request.data.type);\n\n if (!this.canReceiveRoomAccountData(request.data.type)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot read room account data of this type\" },\n });\n }\n\n return events.then((evs) => {\n this.transport.reply<IReadRoomAccountDataFromWidgetResponseData>(request, { events: evs });\n });\n }\n\n private async handleReadEvents(request: IReadEventFromWidgetActionRequest): Promise<void> {\n if (!request.data.type) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event type\" },\n });\n }\n if (request.data.limit !== undefined && (!request.data.limit || request.data.limit < 0)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - limit out of range\" },\n });\n }\n\n let askRoomIds: string[];\n if (request.data.room_ids === undefined) {\n askRoomIds = this.viewedRoomId === null ? [] : [this.viewedRoomId];\n } else if (request.data.room_ids === Symbols.AnyRoom) {\n askRoomIds = this.driver.getKnownRooms().filter((roomId) => this.canUseRoomTimeline(roomId));\n } else {\n askRoomIds = request.data.room_ids;\n for (const roomId of askRoomIds) {\n if (!this.canUseRoomTimeline(roomId)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Unable to access room timeline: ${roomId}` },\n });\n }\n }\n }\n\n const limit = request.data.limit || 0;\n const since = request.data.since;\n\n let stateKey: string | undefined = undefined;\n let msgtype: string | undefined = undefined;\n if (request.data.state_key !== undefined) {\n stateKey = request.data.state_key === true ? undefined : request.data.state_key.toString();\n if (!this.canReceiveStateEvent(request.data.type, stateKey ?? null)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot read state events of this type\" },\n });\n }\n } else {\n msgtype = request.data.msgtype;\n if (!this.canReceiveRoomEvent(request.data.type, msgtype)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot read room events of this type\" },\n });\n }\n }\n\n let events: IRoomEvent[];\n\n if (request.data.room_ids === undefined && askRoomIds.length === 0) {\n // For backwards compatibility we still call the deprecated\n // readRoomEvents and readStateEvents methods in case the client isn't\n // letting us know the currently viewed room via setViewedRoomId\n //\n // This can be considered as a deprecated implementation.\n // A driver should call `setViewedRoomId` on the widget messaging and implement the new readRoomState and readRoomTimeline\n // Methods.\n // This block makes sure that it is also possible to not use setViewedRoomId.\n // readRoomTimeline and readRoomState are required however! Otherwise widget requests that include\n // `room_ids` will fail.\n console.warn(\n \"The widgetDriver uses deprecated behaviour:\\n It does not set the viewedRoomId using `setViewedRoomId`\",\n );\n events = await // This returns [] with the current driver of Element Web.\n // Add default implementations of the `readRoomEvents` and `readStateEvents`\n // methods to use `readRoomTimeline` and `readRoomState` if they are not overwritten.\n (request.data.state_key === undefined\n ? this.driver.readRoomEvents(request.data.type, msgtype, limit, null, since)\n : this.driver.readStateEvents(request.data.type, stateKey, limit, null));\n } else if (await this.supportsUpdateState()) {\n // Calling read_events with a stateKey still reads from the rooms timeline (not the room state).\n events = (\n await Promise.all(\n askRoomIds.map((roomId) =>\n this.driver.readRoomTimeline(roomId, request.data.type, msgtype, stateKey, limit, since),\n ),\n )\n ).flat(1);\n } else {\n // TODO: remove this once `UnstableApiVersion.MSC2762_UPDATE_STATE` becomes stable.\n // Before version `MSC2762_UPDATE_STATE` we used readRoomState for read_events actions.\n events = (\n request.data.state_key === undefined\n ? await Promise.all(\n askRoomIds.map((roomId) =>\n this.driver.readRoomTimeline(roomId, request.data.type, msgtype, stateKey, limit, since),\n ),\n )\n : await Promise.all(\n askRoomIds.map((roomId) => this.driver.readRoomState(roomId, request.data.type, stateKey)),\n )\n ).flat(1);\n }\n\n this.transport.reply<IReadEventFromWidgetResponseData>(request, { events });\n }\n\n private handleSendEvent(request: ISendEventFromWidgetActionRequest): void {\n if (!request.data.type) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event type\" },\n });\n }\n\n if (!!request.data.room_id && !this.canUseRoomTimeline(request.data.room_id)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Unable to access room timeline: ${request.data.room_id}` },\n });\n }\n\n if (request.data.parent_delay_id !== undefined) {\n console.warn(\"Data includes parent_delay_id, but the widgetDriver ignores it\");\n }\n\n const delay = request.data.delay;\n if (delay !== undefined && !this.hasCapability(MatrixCapabilities.MSC4157SendDelayedEvent)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Missing capability for ${MatrixCapabilities.MSC4157SendDelayedEvent}` },\n });\n }\n\n const isStickyEvent = request.data.sticky_duration_ms !== undefined;\n if (isStickyEvent && !this.hasCapability(MatrixCapabilities.MSC4407SendStickyEvent)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Missing capability for ${MatrixCapabilities.MSC4407SendStickyEvent}` },\n });\n }\n\n let sendEventPromise: Promise<ISendEventDetails | ISendDelayedEventDetails>;\n if (request.data.state_key !== undefined) {\n if (!this.canSendStateEvent(request.data.type, request.data.state_key)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot send state events of this type\" },\n });\n }\n if (isStickyEvent) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot send a state event with a sticky duration\" },\n });\n }\n\n if (delay !== undefined) {\n sendEventPromise = this.driver.sendDelayedEvent(\n delay,\n request.data.type,\n request.data.content || {},\n request.data.state_key,\n request.data.room_id,\n );\n } else {\n sendEventPromise = this.driver.sendEvent(\n request.data.type,\n request.data.content || {},\n request.data.state_key,\n request.data.room_id,\n );\n }\n } else {\n const content = (request.data.content as { msgtype?: string }) || {};\n const msgtype = content[\"msgtype\"];\n if (!this.canSendRoomEvent(request.data.type, msgtype)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot send room events of this type\" },\n });\n }\n\n // Events can be sticky, delayed, both, or neither. The following\n // section of code takes the common parameters and uses the correct\n // function depending on the request type.\n\n const params: Parameters<WidgetDriver[\"sendEvent\"]> = [\n request.data.type,\n content,\n null, // not sending a state event\n request.data.room_id,\n ];\n\n if (delay !== undefined && request.data.sticky_duration_ms) {\n sendEventPromise = this.driver.sendDelayedStickyEvent(\n delay,\n request.data.sticky_duration_ms,\n request.data.type,\n content,\n request.data.room_id,\n );\n } else if (delay !== undefined) {\n sendEventPromise = this.driver.sendDelayedEvent(delay, ...params);\n } else if (request.data.sticky_duration_ms) {\n sendEventPromise = this.driver.sendStickyEvent(\n request.data.sticky_duration_ms,\n request.data.type,\n content,\n request.data.room_id,\n );\n } else {\n sendEventPromise = this.driver.sendEvent(...params);\n }\n }\n\n sendEventPromise\n .then((sentEvent) => {\n return this.transport.reply<ISendEventFromWidgetResponseData>(request, {\n room_id: sentEvent.roomId,\n ...(\"eventId\" in sentEvent\n ? {\n event_id: sentEvent.eventId,\n }\n : {\n delay_id: sentEvent.delayId,\n }),\n });\n })\n .catch((e: unknown) => {\n console.error(\"error sending event: \", e);\n this.handleDriverError(e, request, \"Error sending event\");\n });\n }\n\n private handleUpdateDelayedEvent(request: IUpdateDelayedEventFromWidgetActionRequest): void {\n if (!request.data.delay_id) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing delay_id\" },\n });\n }\n\n if (!this.hasCapability(MatrixCapabilities.MSC4157UpdateDelayedEvent)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n let updateDelayedEvent: (delayId: string) => Promise<void>;\n switch (request.data.action) {\n case UpdateDelayedEventAction.Cancel:\n updateDelayedEvent = this.driver.cancelScheduledDelayedEvent;\n break;\n case UpdateDelayedEventAction.Restart:\n updateDelayedEvent = this.driver.restartScheduledDelayedEvent;\n break;\n case UpdateDelayedEventAction.Send:\n updateDelayedEvent = this.driver.sendScheduledDelayedEvent;\n break;\n default:\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - unsupported action\" },\n });\n }\n updateDelayedEvent\n .call(this.driver, request.data.delay_id)\n .then(() => {\n return this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n })\n .catch((e: unknown) => {\n console.error(\"error updating delayed event: \", e);\n this.handleDriverError(e, request, \"Error updating delayed event\");\n });\n }\n\n private async handleSendToDevice(request: ISendToDeviceFromWidgetActionRequest): Promise<void> {\n if (!request.data.type) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event type\" },\n });\n } else if (!request.data.messages) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event contents\" },\n });\n } else if (typeof request.data.encrypted !== \"boolean\") {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing encryption flag\" },\n });\n } else if (!this.canSendToDeviceEvent(request.data.type)) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot send to-device events of this type\" },\n });\n } else {\n try {\n await this.driver.sendToDevice(request.data.type, request.data.encrypted, request.data.messages);\n this.transport.reply<ISendToDeviceFromWidgetResponseData>(request, {});\n } catch (e) {\n console.error(\"error sending to-device event\", e);\n this.handleDriverError(e, request, \"Error sending event\");\n }\n }\n }\n\n private async pollTurnServers(turnServers: AsyncGenerator<ITurnServer>, initialServer: ITurnServer): Promise<void> {\n try {\n await this.transport.send<IUpdateTurnServersRequestData>(\n WidgetApiToWidgetAction.UpdateTurnServers,\n initialServer as IUpdateTurnServersRequestData, // it's compatible, but missing the index signature\n );\n\n // Pick the generator up where we left off\n for await (const server of turnServers) {\n await this.transport.send<IUpdateTurnServersRequestData>(\n WidgetApiToWidgetAction.UpdateTurnServers,\n server as IUpdateTurnServersRequestData, // it's compatible, but missing the index signature\n );\n }\n } catch (e) {\n console.error(\"error polling for TURN servers\", e);\n }\n }\n\n private async handleWatchTurnServers(request: IWatchTurnServersRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC3846TurnServers)) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n } else if (this.turnServers) {\n // We're already polling, so this is a no-op\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n } else {\n try {\n const turnServers = this.driver.getTurnServers();\n\n // Peek at the first result, so we can at least verify that the\n // client isn't banned from getting TURN servers entirely\n const { done, value } = await turnServers.next();\n if (done) throw new Error(\"Client refuses to provide any TURN servers\");\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n\n // Start the poll loop, sending the widget the initial result\n this.pollTurnServers(turnServers, value);\n this.turnServers = turnServers;\n } catch (e) {\n console.error(\"error getting first TURN server results\", e);\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"TURN servers not available\" },\n });\n }\n }\n }\n\n private async handleUnwatchTurnServers(request: IUnwatchTurnServersRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC3846TurnServers)) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n } else if (!this.turnServers) {\n // We weren't polling anyways, so this is a no-op\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n } else {\n // Stop the generator, allowing it to clean up\n await this.turnServers.return(undefined);\n this.turnServers = null;\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n }\n }\n\n private async handleReadRelations(request: IReadRelationsFromWidgetActionRequest): Promise<void> {\n if (!request.data.event_id) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event ID\" },\n });\n }\n\n if (request.data.limit !== undefined && request.data.limit < 0) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - limit out of range\" },\n });\n }\n\n if (request.data.room_id !== undefined && !this.canUseRoomTimeline(request.data.room_id)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Unable to access room timeline: ${request.data.room_id}` },\n });\n }\n\n try {\n const result = await this.driver.readEventRelations(\n request.data.event_id,\n request.data.room_id,\n request.data.rel_type,\n request.data.event_type,\n request.data.from,\n request.data.to,\n request.data.limit,\n request.data.direction,\n );\n\n // only return events that the user has the permission to receive\n const chunk = result.chunk.filter((e) => {\n if (e.state_key !== undefined) {\n return this.canReceiveStateEvent(e.type, e.state_key);\n } else {\n return this.canReceiveRoomEvent(e.type, (e.content as { msgtype?: string })[\"msgtype\"]);\n }\n });\n\n return this.transport.reply<IReadRelationsFromWidgetResponseData>(request, {\n chunk,\n prev_batch: result.prevBatch,\n next_batch: result.nextBatch,\n });\n } catch (e) {\n console.error(\"error getting the relations\", e);\n this.handleDriverError(e, request, \"Unexpected error while reading relations\");\n }\n }\n\n private async handleUserDirectorySearch(request: IUserDirectorySearchFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC3973UserDirectorySearch)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n if (typeof request.data.search_term !== \"string\") {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing search term\" },\n });\n }\n\n if (request.data.limit !== undefined && request.data.limit < 0) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - limit out of range\" },\n });\n }\n\n try {\n const result = await this.driver.searchUserDirectory(request.data.search_term, request.data.limit);\n\n return this.transport.reply<IUserDirectorySearchFromWidgetResponseData>(request, {\n limited: result.limited,\n results: result.results.map((r) => ({\n user_id: r.userId,\n display_name: r.displayName,\n avatar_url: r.avatarUrl,\n })),\n });\n } catch (e) {\n console.error(\"error searching in the user directory\", e);\n this.handleDriverError(e, request, \"Unexpected error while searching in the user directory\");\n }\n }\n\n private async handleGetMediaConfig(request: IGetMediaConfigActionFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC4039UploadFile)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n try {\n const result = await this.driver.getMediaConfig();\n\n return this.transport.reply<IGetMediaConfigActionFromWidgetResponseData>(request, result);\n } catch (e) {\n console.error(\"error while getting the media configuration\", e);\n this.handleDriverError(e, request, \"Unexpected error while getting the media configuration\");\n }\n }\n\n private async handleRtcTransports(request: IRtcTransportsFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC4515RtcTransports)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n try {\n const result = await this.driver.getRtcTransports();\n\n return this.transport.reply<IRtcTransportsFromWidgetResponseData>(request, {\n rtc_transports: result.rtc_transports,\n });\n } catch (e) {\n console.error(\"error while getting the RTC transports\", e);\n this.handleDriverError(e, request, \"Unexpected error while getting the RTC transports\");\n }\n }\n\n private async handleUploadFile(request: IUploadFileActionFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC4039UploadFile)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n try {\n const result = await this.driver.uploadFile(request.data.file);\n\n return this.transport.reply<IUploadFileActionFromWidgetResponseData>(request, {\n content_uri: result.contentUri,\n });\n } catch (e) {\n console.error(\"error while uploading a file\", e);\n this.handleDriverError(e, request, \"Unexpected error while uploading a file\");\n }\n }\n\n private async handleDownloadFile(request: IDownloadFileActionFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC4039DownloadFile)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n try {\n const result = await this.driver.downloadFile(request.data.content_uri);\n\n return this.transport.reply<IDownloadFileActionFromWidgetResponseData>(request, { file: result.file });\n } catch (e) {\n console.error(\"error while downloading a file\", e);\n this.handleDriverError(e, request, \"Unexpected error while downloading a file\");\n }\n }\n\n private handleDriverError(e: unknown, request: IWidgetApiRequest, message: string): void {\n const data = this.driver.processError(e);\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: {\n message,\n ...data,\n },\n });\n }\n\n private handleMessage(ev: CustomEvent<IWidgetApiRequest>): void | Promise<void> {\n if (this.isStopped) return;\n const actionEv = new CustomEvent(`action:${ev.detail.action}`, {\n detail: ev.detail,\n cancelable: true,\n });\n this.emit(`action:${ev.detail.action}`, actionEv);\n if (!actionEv.defaultPrevented) {\n switch (ev.detail.action) {\n case WidgetApiFromWidgetAction.ContentLoaded:\n return this.handleContentLoadedAction(<IContentLoadedActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.SupportedApiVersions:\n return this.replyVersions(<ISupportedVersionsActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.SendEvent:\n return this.handleSendEvent(<ISendEventFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.SendToDevice:\n return this.handleSendToDevice(<ISendToDeviceFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.GetOpenIDCredentials:\n return this.handleOIDC(<IGetOpenIDActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC2931Navigate:\n return this.handleNavigate(<INavigateActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC2974RenegotiateCapabilities:\n return this.handleCapabilitiesRenegotiate(<IRenegotiateCapabilitiesActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC2876ReadEvents:\n return this.handleReadEvents(<IReadEventFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.WatchTurnServers:\n return this.handleWatchTurnServers(<IWatchTurnServersRequest>ev.detail);\n case WidgetApiFromWidgetAction.UnwatchTurnServers:\n return this.handleUnwatchTurnServers(<IUnwatchTurnServersRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC3869ReadRelations:\n return this.handleReadRelations(<IReadRelationsFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC3973UserDirectorySearch:\n return this.handleUserDirectorySearch(<IUserDirectorySearchFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.BeeperReadRoomAccountData:\n return this.handleReadRoomAccountData(<IReadRoomAccountDataFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4039GetMediaConfigAction:\n return this.handleGetMediaConfig(<IGetMediaConfigActionFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4515GetRtcTransports:\n return this.handleRtcTransports(<IRtcTransportsFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4039UploadFileAction:\n return this.handleUploadFile(<IUploadFileActionFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4039DownloadFileAction:\n return this.handleDownloadFile(<IDownloadFileActionFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4157UpdateDelayedEvent:\n return this.handleUpdateDelayedEvent(<IUpdateDelayedEventFromWidgetActionRequest>ev.detail);\n\n default:\n return this.transport.reply(ev.detail, <IWidgetApiErrorResponseData>{\n error: {\n message: \"Unknown or unsupported from-widget action: \" + ev.detail.action,\n },\n });\n }\n }\n }\n\n /**\n * Informs the widget that the client's theme has changed.\n * @param theme The theme data, as an object with arbitrary contents.\n */\n public updateTheme(theme: IThemeChangeActionRequestData): Promise<IWidgetApiResponseData> {\n return this.transport.send(WidgetApiToWidgetAction.ThemeChange, theme);\n }\n\n /**\n * Informs the widget that the client's language has changed.\n * @param lang The BCP 47 identifier representing the client's current language.\n */\n public updateLanguage(lang: string): Promise<IWidgetApiResponseData> {\n return this.transport.send(WidgetApiToWidgetAction.LanguageChange, { lang });\n }\n\n /**\n * Takes a screenshot of the widget.\n * @returns Resolves to the widget's screenshot.\n * @throws Throws if there is a problem.\n */\n public takeScreenshot(): Promise<IScreenshotActionResponseData> {\n return this.transport.send(WidgetApiToWidgetAction.TakeScreenshot, <IWidgetApiRequestEmptyData>{});\n }\n\n /**\n * Alerts the widget to whether or not it is currently visible.\n * @param {boolean} isVisible Whether the widget is visible or not.\n * @returns {Promise<IWidgetApiResponseData>} Resolves when the widget acknowledges the update.\n */\n public updateVisibility(isVisible: boolean): Promise<IWidgetApiResponseData> {\n return this.transport.send(WidgetApiToWidgetAction.UpdateVisibility, <IVisibilityActionRequestData>{\n visible: isVisible,\n });\n }\n\n public sendWidgetConfig(data: IModalWidgetOpenRequestData): Promise<void> {\n return this.transport.send<IModalWidgetOpenRequestData>(WidgetApiToWidgetAction.WidgetConfig, data).then();\n }\n\n public notifyModalWidgetButtonClicked(id: IModalWidgetOpenRequestDataButton[\"id\"]): Promise<void> {\n return this.transport\n .send<IModalWidgetButtonClickedRequestData>(WidgetApiToWidgetAction.ButtonClicked, { id })\n .then();\n }\n\n public notifyModalWidgetClose(data: IModalWidgetReturnData): Promise<void> {\n return this.transport.send<IModalWidgetReturnData>(WidgetApiToWidgetAction.CloseModalWidget, data).then();\n }\n\n /**\n * Feeds an event to the widget. As a client you are expected to call this\n * for every new event in every room to which you are joined or invited.\n * @param {IRoomEvent} rawEvent The event to (try to) send to the widget.\n * @param {string} currentViewedRoomId The room ID the user is currently\n * interacting with. Not the room ID of the event.\n * @returns {Promise<void>} Resolves when delivered or if the widget is not\n * able to read the event due to permissions, rejects if the widget failed\n * to handle the event.\n * @deprecated It is recommended to communicate the viewed room ID by calling\n * {@link ClientWidgetApi.setViewedRoomId} rather than passing it to this\n * method.\n */\n public async feedEvent(rawEvent: IRoomEvent, currentViewedRoomId: string): Promise<void>;\n /**\n * Feeds an event to the widget. As a client you are expected to call this\n * for every new event (including state events) in every room to which you are joined or invited.\n * @param {IRoomEvent} rawEvent The event to (try to) send to the widget.\n * @returns {Promise<void>} Resolves when delivered or if the widget is not\n * able to read the event due to permissions, rejects if the widget failed\n * to handle the event.\n */\n public async feedEvent(rawEvent: IRoomEvent): Promise<void>;\n public async feedEvent(rawEvent: IRoomEvent, currentViewedRoomId?: string): Promise<void> {\n if (currentViewedRoomId !== undefined) this.setViewedRoomId(currentViewedRoomId);\n if (rawEvent.room_id !== this.viewedRoomId && !this.canUseRoomTimeline(rawEvent.room_id)) {\n return; // no-op\n }\n\n if (rawEvent.state_key !== undefined && rawEvent.state_key !== null) {\n // state event\n if (!this.canReceiveStateEvent(rawEvent.type, rawEvent.state_key)) {\n return; // no-op\n }\n } else {\n // message event\n if (!this.canReceiveRoomEvent(rawEvent.type, (rawEvent.content as { msgtype?: string })?.[\"msgtype\"])) {\n return; // no-op\n }\n }\n\n // Feed the event into the widget\n await this.transport.send<ISendEventToWidgetRequestData>(\n WidgetApiToWidgetAction.SendEvent,\n // it's compatible, but missing the index signature\n rawEvent as ISendEventToWidgetRequestData,\n );\n }\n\n /**\n * Feeds a to-device event to the widget. As a client you are expected to\n * call this for every to-device event you receive.\n * @param {IRoomEvent} rawEvent The event to (try to) send to the widget.\n * @param {boolean} encrypted Whether the event contents were encrypted.\n * @returns {Promise<void>} Resolves when delivered or if the widget is not\n * able to receive the event due to permissions, rejects if the widget\n * failed to handle the event.\n */\n public async feedToDevice(message: IToDeviceMessage, encrypted: boolean): Promise<void> {\n if (this.canReceiveToDeviceEvent(message.type)) {\n await this.transport.send<ISendToDeviceToWidgetRequestData>(WidgetApiToWidgetAction.SendToDevice, {\n ...message,\n encrypted,\n });\n }\n }\n\n private viewedRoomId: string | null = null;\n\n /**\n * Indicate that a room is being viewed (making it possible for the widget\n * to interact with it).\n */\n public setViewedRoomId(roomId: string | null): void {\n this.viewedRoomId = roomId;\n // If the widget doesn't have timeline permissions for the room then\n // this is its opportunity to learn the room state. We push the entire\n // room state, which could be redundant if this room had been viewed\n // once before, but it's easier than selectively pushing just the bits\n // of state that changed while the room was in the background.\n if (roomId !== null && !this.canUseRoomTimeline(roomId)) this.pushRoomState(roomId);\n }\n\n private async flushRoomState(): Promise<void> {\n try {\n // Only send a single action once all concurrent tasks have completed\n do await Promise.all(this.pushRoomStateTasks);\n while (this.pushRoomStateTasks.size > 0);\n\n const events: IRoomEvent[] = [];\n for (const eventTypeMap of this.pushRoomStateResult.values()) {\n for (const stateKeyMap of eventTypeMap.values()) {\n events.push(...stateKeyMap.values());\n }\n }\n if ((await this.getWidgetVersions()).includes(UnstableApiVersion.MSC2762_UPDATE_STATE)) {\n // Only send state updates when using UpdateState. Otherwise the SendEvent action will be responsible for state updates.\n await this.transport.send<IUpdateStateToWidgetRequestData>(WidgetApiToWidgetAction.UpdateState, {\n state: events,\n });\n }\n } finally {\n this.flushRoomStateTask = null;\n }\n }\n\n /**\n * Reads the current sticky state of the room and pushes it to the widget.\n *\n * It will only push events that the widget is allowed to receive.\n * @param roomId\n * @private\n */\n private async pushStickyState(roomId: string): Promise<void> {\n console.debug(\"Pushing sticky state to widget for room\", roomId);\n return this.driver\n .readStickyEvents(roomId)\n .then((events) => {\n // filter to the allowed sticky events\n const filtered = events.filter((e) => {\n return this.canReceiveRoomEvent(\n e.type,\n typeof e.content?.msgtype === \"string\" ? e.content.msgtype : null,\n );\n });\n return { roomId, stickyEvents: filtered };\n })\n .then(async ({ roomId, stickyEvents }) => {\n console.debug(\"Pushing\", stickyEvents.length, \"sticky events to widget for room\", roomId);\n const promises = stickyEvents.map((rawEvent) => {\n return this.transport.send<ISendEventToWidgetRequestData>(\n WidgetApiToWidgetAction.SendEvent,\n // copied from feedEvent; it's compatible, but missing the index signature\n rawEvent as ISendEventToWidgetRequestData,\n );\n });\n await Promise.all(promises);\n });\n }\n\n /**\n * Read the room's state and push all entries that the widget is allowed to\n * read through to the widget.\n */\n private pushRoomState(roomId: string): void {\n for (const cap of this.allowedEvents) {\n if (cap.kind === EventKind.State && cap.direction === EventDirection.Receive) {\n // Initiate the task\n const events = this.driver.readRoomState(roomId, cap.eventType, cap.keyStr ?? undefined);\n const task = events\n .then(\n (events) => {\n // When complete, queue the resulting events to be\n // pushed to the widget\n for (const event of events) {\n let eventTypeMap = this.pushRoomStateResult.get(roomId);\n if (eventTypeMap === undefined) {\n eventTypeMap = new Map();\n this.pushRoomStateResult.set(roomId, eventTypeMap);\n }\n let stateKeyMap = eventTypeMap.get(cap.eventType);\n if (stateKeyMap === undefined) {\n stateKeyMap = new Map();\n eventTypeMap.set(cap.eventType, stateKeyMap);\n }\n if (!stateKeyMap.has(event.state_key!)) stateKeyMap.set(event.state_key!, event);\n }\n },\n (e) =>\n console.error(\n `Failed to read room state for ${roomId} (${cap.eventType}, ${cap.keyStr})`,\n e,\n ),\n )\n .then(() => {\n // Mark request as no longer pending\n this.pushRoomStateTasks.delete(task);\n });\n\n // Mark task as pending\n this.pushRoomStateTasks.add(task);\n // Assuming no other tasks are already happening concurrently,\n // schedule the widget action that actually pushes the events\n this.flushRoomStateTask ??= this.flushRoomState();\n this.flushRoomStateTask.catch((e) => console.error(\"Failed to push room state\", e));\n }\n }\n }\n\n /**\n * Feeds a room state update to the widget. As a client you are expected to\n * call this for every state update in every room to which you are joined or\n * invited.\n * @param {IRoomEvent} rawEvent The state event corresponding to the updated\n * room state entry.\n * @returns {Promise<void>} Resolves when delivered or if the widget is not\n * able to receive the room state due to permissions, rejects if the\n * widget failed to handle the update.\n */\n public async feedStateUpdate(rawEvent: IRoomEvent): Promise<void> {\n if (rawEvent.state_key === undefined) throw new Error(\"Not a state event\");\n if (\n (rawEvent.room_id === this.viewedRoomId || this.canUseRoomTimeline(rawEvent.room_id)) &&\n this.canReceiveStateEvent(rawEvent.type, rawEvent.state_key)\n ) {\n // Updates could race with the initial push of the room's state\n if (this.pushRoomStateTasks.size === 0) {\n // No initial push tasks are pending; safe to send immediately\n if ((await this.getWidgetVersions()).includes(UnstableApiVersion.MSC2762_UPDATE_STATE)) {\n // Only send state updates when using UpdateState. Otherwise the SendEvent action will be responsible for state updates.\n await this.transport.send<IUpdateStateToWidgetRequestData>(WidgetApiToWidgetAction.UpdateState, {\n state: [rawEvent],\n });\n }\n } else {\n // Lump the update in with whatever data will be sent in the\n // initial push later. Even if we set it to an \"outdated\" entry\n // here, we can count on any newer entries being passed to this\n // same method eventually; this won't cause stuck state.\n let eventTypeMap = this.pushRoomStateResult.get(rawEvent.room_id);\n if (eventTypeMap === undefined) {\n eventTypeMap = new Map();\n this.pushRoomStateResult.set(rawEvent.room_id, eventTypeMap);\n }\n let stateKeyMap = eventTypeMap.get(rawEvent.type);\n if (stateKeyMap === undefined) {\n stateKeyMap = new Map();\n eventTypeMap.set(rawEvent.type, stateKeyMap);\n }\n if (!stateKeyMap.has(rawEvent.type)) stateKeyMap.set(rawEvent.state_key, rawEvent);\n do await Promise.all(this.pushRoomStateTasks);\n while (this.pushRoomStateTasks.size > 0);\n await this.flushRoomStateTask;\n }\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ClientWidgetApi.js","names":["_events","require","_PostmessageTransport","_WidgetApiDirection","_WidgetApiAction","_Capabilities","_ApiVersion","_WidgetEventCapability","_GetOpenIDAction","_SimpleObservable","_Symbols","_UpdateDelayedEventAction","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_createForOfIteratorHelper","Array","isArray","_unsupportedIterableToArray","_n","F","s","n","done","value","f","TypeError","a","u","call","next","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_arrayLikeToArray","toString","slice","name","from","test","_regeneratorRuntime","_regenerator","m","getPrototypeOf","__proto__","displayName","stop","_catch","v","abrupt","delegateYield","resultName","d","_regeneratorValues","finish","_t","p","prev","sent","wrap","w","reverse","isGeneratorFunction","mark","awrap","_OverloadYield","AsyncIterator","_regeneratorAsyncIterator","async","_regeneratorAsyncGen","_regeneratorAsync","_regeneratorKeys","values","isNaN","unshift","pop","then","Promise","i","c","resolve","_regeneratorDefine2","asyncIterator","toStringTag","Generator","create","y","G","bind","l","GeneratorFunction","GeneratorFunctionPrototype","setPrototypeOf","_regeneratorDefine","_invoke","configurable","writable","k","asyncGeneratorStep","_asyncToGenerator","_next","_throw","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_inherits","_setPrototypeOf","_createSuper","_isNativeReflectConstruct","_getPrototypeOf","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","Boolean","valueOf","_toPrimitive","toPrimitive","String","Number","_asyncIterator","AsyncFromSyncIterator","AsyncFromSyncIteratorContinuation","reject","_return","ClientWidgetApi","_EventEmitter","_super","widget","iframe","driver","_this","Set","Map","contentWindow","Error","transport","PostmessageTransport","WidgetApiDirection","ToWidget","id","globalThis","targetOrigin","origin","on","handleMessage","addEventListener","onIframeLoad","start","hasCapability","capability","allowedCapabilities","has","canUseRoomTimeline","roomId","concat","Symbols","AnyRoom","canSendRoomEvent","eventType","msgtype","undefined","allowedEvents","some","matchesAsRoomEvent","EventDirection","Send","canSendStateEvent","stateKey","matchesAsStateEvent","canSendToDeviceEvent","matchesAsToDeviceEvent","canReceiveRoomEvent","Receive","canReceiveStateEvent","canReceiveToDeviceEvent","canReceiveRoomAccountData","matchesAsRoomAccountData","isStopped","_getWidgetVersions","_callee","_callee$","_context","cachedWidgetVersions","send","WidgetApiToWidgetAction","SupportedApiVersions","supported_versions","t0","console","warn","getWidgetVersions","beginCapabilities","_this2","emit","requestedCaps","Capabilities","caps","capabilities","validateCapabilities","allowedCaps","allowCapabilities","allowed","requested","_this$allowedEvents","_this3","log","_iterator2","_step2","add","err","WidgetEventCapability","findEventCapabilities","NotifyCapabilities","approved","_iterator3","_step3","isTimelineCapability","getTimelineRoomIDFromCapability","_iterator5","getKnownRooms","_step5","pushRoomState","includes","MatrixCapabilities","MSC4407ReceiveStickyEvent","debug","roomIds","map","timelineCapability","flatMap","roomIdOrWildcard","_iterator4","_step4","_loop","pushStickyState","error","viewedRoomId","ev","waitForIframeLoad","contentLoadedWaitTimer","setTimeout","contentLoadedActionSent","handleContentLoadedAction","action","clearTimeout","reply","message","replyVersions","request","CurrentApiVersions","_supportsUpdateState","_callee2","_callee2$","_context2","UnstableApiVersion","MSC2762_UPDATE_STATE","supportsUpdateState","handleCapabilitiesRenegotiate","_request$data","_this4","data","newlyRequested","size","handleNavigate","_request$data2","_this5","MSC2931Navigate","uri","startsWith","onErr","handleDriverError","navigate","handleOIDC","_this6","phase","replyState","state","credential","OpenIDCredentials","original_request_id","requestId","replyError","msg","OpenIDRequestState","Blocked","observer","SimpleObservable","update","PendingUserConfirmation","close","Allowed","token","askOpenID","handleReadRoomAccountData","_this7","events","readRoomAccountData","type","evs","_handleReadEvents","_callee3","_this8","askRoomIds","_iterator6","_step6","limit","since","_stateKey","_callee3$","_context3","room_ids","state_key","readRoomEvents","readStateEvents","all","readRoomTimeline","flat","t1","readRoomState","handleReadEvents","_x","handleSendEvent","_this9","room_id","parent_delay_id","delay","MSC4157SendDelayedEvent","isStickyEvent","sticky_duration_ms","MSC4407SendStickyEvent","sendEventPromise","sendDelayedEvent","content","sendEvent","params","sendDelayedStickyEvent","_this$driver","sendStickyEvent","_this$driver2","sentEvent","event_id","eventId","delay_id","delayId","handleUpdateDelayedEvent","_this0","MSC4157UpdateDelayedEvent","updateDelayedEvent","UpdateDelayedEventAction","Cancel","cancelScheduledDelayedEvent","Restart","restartScheduledDelayedEvent","sendScheduledDelayedEvent","_handleSendToDevice","_callee4","_callee4$","_context4","messages","encrypted","sendToDevice","handleSendToDevice","_x2","_pollTurnServers","_callee5","turnServers","initialServer","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","server","_callee5$","_context5","UpdateTurnServers","pollTurnServers","_x3","_x4","_handleWatchTurnServers","_callee6","_yield$turnServers$ne","_callee6$","_context6","MSC3846TurnServers","getTurnServers","handleWatchTurnServers","_x5","_handleUnwatchTurnServers","_callee7","_callee7$","_context7","handleUnwatchTurnServers","_x6","_handleReadRelations","_callee8","_this1","result","chunk","_callee8$","_context8","readEventRelations","rel_type","event_type","to","direction","prev_batch","prevBatch","next_batch","nextBatch","handleReadRelations","_x7","_handleUserDirectorySearch","_callee9","_callee9$","_context9","MSC3973UserDirectorySearch","search_term","searchUserDirectory","limited","results","user_id","userId","display_name","avatar_url","avatarUrl","handleUserDirectorySearch","_x8","_handleGetMediaConfig","_callee0","_callee0$","_context0","MSC4039UploadFile","getMediaConfig","handleGetMediaConfig","_x9","_handleRtcTransports","_callee1","_callee1$","_context1","MSC4515RtcTransports","getRtcTransports","rtc_transports","handleRtcTransports","_x0","_handleUploadFile","_callee10","_callee10$","_context10","uploadFile","file","content_uri","contentUri","handleUploadFile","_x1","_handleDownloadFile","_callee11","_callee11$","_context11","MSC4039DownloadFile","downloadFile","handleDownloadFile","_x10","_handleRtcLivekitGetToken","_callee12","_callee12$","_context12","MSC4533RtcLivekitGetToken","getRtcLivekitToken","handleRtcLivekitGetToken","_x11","_handleRtcLivekitDelegateDelayedLeave","_callee13","_callee13$","_context13","MSC4533RtcLivekitDelegateDelayedLeave","delegateRtcLivekitDelayedLeave","handleRtcLivekitDelegateDelayedLeave","_x12","processError","actionEv","CustomEvent","detail","cancelable","defaultPrevented","WidgetApiFromWidgetAction","ContentLoaded","SendEvent","SendToDevice","GetOpenIDCredentials","MSC2974RenegotiateCapabilities","MSC2876ReadEvents","WatchTurnServers","UnwatchTurnServers","MSC3869ReadRelations","BeeperReadRoomAccountData","MSC4039GetMediaConfigAction","MSC4515GetRtcTransports","MSC4039UploadFileAction","MSC4039DownloadFileAction","updateTheme","theme","ThemeChange","updateLanguage","lang","LanguageChange","takeScreenshot","TakeScreenshot","updateVisibility","isVisible","UpdateVisibility","visible","sendWidgetConfig","WidgetConfig","notifyModalWidgetButtonClicked","ButtonClicked","notifyModalWidgetClose","CloseModalWidget","_feedEvent","_callee14","rawEvent","currentViewedRoomId","_rawEvent$content","_callee14$","_context14","setViewedRoomId","feedEvent","_x13","_x14","_feedToDevice","_callee15","_callee15$","_context15","feedToDevice","_x15","_x16","_flushRoomState","_callee16","_iterator7","_step7","eventTypeMap","_iterator8","_step8","stateKeyMap","_callee16$","_context16","pushRoomStateTasks","pushRoomStateResult","UpdateState","flushRoomStateTask","flushRoomState","_pushStickyState","_callee18","_this10","_callee18$","_context18","readStickyEvents","filtered","_e$content","stickyEvents","_ref2","_callee17","_ref","promises","_callee17$","_context17","_x18","_x17","_this11","_iterator9","_step9","_loop2","cap","kind","EventKind","State","_cap$keyStr","_this11$flushRoomStat","keyStr","task","_iterator0","_step0","event","get","set","_feedStateUpdate","_callee19","_callee19$","_context19","feedStateUpdate","_x19","EventEmitter","exports"],"sources":["../src/ClientWidgetApi.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 { ITransport } from \"./transport/ITransport\";\nimport { Widget } from \"./models/Widget\";\nimport { PostmessageTransport } from \"./transport/PostmessageTransport\";\nimport { WidgetApiDirection } from \"./interfaces/WidgetApiDirection\";\nimport { IWidgetApiRequest, IWidgetApiRequestEmptyData } from \"./interfaces/IWidgetApiRequest\";\nimport { IContentLoadedActionRequest } from \"./interfaces/ContentLoadedAction\";\nimport { WidgetApiFromWidgetAction, WidgetApiToWidgetAction } from \"./interfaces/WidgetApiAction\";\nimport { IWidgetApiErrorResponseData } from \"./interfaces/IWidgetApiErrorResponse\";\nimport {\n Capability,\n MatrixCapabilities,\n getTimelineRoomIDFromCapability,\n isTimelineCapability,\n} from \"./interfaces/Capabilities\";\nimport { IOpenIDUpdate, ISendEventDetails, ISendDelayedEventDetails, WidgetDriver } from \"./driver/WidgetDriver\";\nimport {\n ICapabilitiesActionResponseData,\n INotifyCapabilitiesActionRequestData,\n IRenegotiateCapabilitiesActionRequest,\n} from \"./interfaces/CapabilitiesAction\";\nimport {\n ISupportedVersionsActionRequest,\n ISupportedVersionsActionResponseData,\n} from \"./interfaces/SupportedVersionsAction\";\nimport { ApiVersion, CurrentApiVersions, UnstableApiVersion } from \"./interfaces/ApiVersion\";\nimport { IScreenshotActionResponseData } from \"./interfaces/ScreenshotAction\";\nimport { IVisibilityActionRequestData } from \"./interfaces/VisibilityAction\";\nimport { IWidgetApiAcknowledgeResponseData, IWidgetApiResponseData } from \"./interfaces/IWidgetApiResponse\";\nimport {\n IModalWidgetButtonClickedRequestData,\n IModalWidgetOpenRequestData,\n IModalWidgetOpenRequestDataButton,\n IModalWidgetReturnData,\n} from \"./interfaces/ModalWidgetActions\";\nimport {\n ISendEventFromWidgetActionRequest,\n ISendEventFromWidgetResponseData,\n ISendEventToWidgetRequestData,\n} from \"./interfaces/SendEventAction\";\nimport {\n ISendToDeviceFromWidgetActionRequest,\n ISendToDeviceFromWidgetResponseData,\n ISendToDeviceToWidgetRequestData,\n} from \"./interfaces/SendToDeviceAction\";\nimport { EventDirection, EventKind, WidgetEventCapability } from \"./models/WidgetEventCapability\";\nimport { IRoomEvent } from \"./interfaces/IRoomEvent\";\nimport {\n IGetOpenIDActionRequest,\n IGetOpenIDActionResponseData,\n IOpenIDCredentials,\n OpenIDRequestState,\n} from \"./interfaces/GetOpenIDAction\";\nimport { SimpleObservable } from \"./util/SimpleObservable\";\nimport { IOpenIDCredentialsActionRequestData } from \"./interfaces/OpenIDCredentialsAction\";\nimport { INavigateActionRequest } from \"./interfaces/NavigateAction\";\nimport { IReadEventFromWidgetActionRequest, IReadEventFromWidgetResponseData } from \"./interfaces/ReadEventAction\";\nimport {\n ITurnServer,\n IWatchTurnServersRequest,\n IUnwatchTurnServersRequest,\n IUpdateTurnServersRequestData,\n} from \"./interfaces/TurnServerActions\";\nimport { Symbols } from \"./Symbols\";\nimport {\n IReadRelationsFromWidgetActionRequest,\n IReadRelationsFromWidgetResponseData,\n} from \"./interfaces/ReadRelationsAction\";\nimport {\n IUserDirectorySearchFromWidgetActionRequest,\n IUserDirectorySearchFromWidgetResponseData,\n} from \"./interfaces/UserDirectorySearchAction\";\nimport {\n IReadRoomAccountDataFromWidgetActionRequest,\n IReadRoomAccountDataFromWidgetResponseData,\n} from \"./interfaces/ReadRoomAccountDataAction\";\nimport {\n IGetMediaConfigActionFromWidgetActionRequest,\n IGetMediaConfigActionFromWidgetResponseData,\n} from \"./interfaces/GetMediaConfigAction\";\nimport {\n IRtcTransportsFromWidgetActionRequest,\n IRtcTransportsFromWidgetResponseData,\n} from \"./interfaces/RtcTransportsAction\";\nimport {\n IUpdateDelayedEventFromWidgetActionRequest,\n UpdateDelayedEventAction,\n} from \"./interfaces/UpdateDelayedEventAction\";\nimport {\n IUploadFileActionFromWidgetActionRequest,\n IUploadFileActionFromWidgetResponseData,\n} from \"./interfaces/UploadFileAction\";\nimport {\n IDownloadFileActionFromWidgetActionRequest,\n IDownloadFileActionFromWidgetResponseData,\n} from \"./interfaces/DownloadFileAction\";\nimport {\n IRtcLivekitDelegateDelayedLeaveFromWidgetActionRequest,\n IRtcLivekitDelegateDelayedLeaveFromWidgetResponseData,\n IRtcLivekitGetTokenFromWidgetActionRequest,\n IRtcLivekitGetTokenFromWidgetResponseData,\n} from \"./interfaces/RtcLivekitActions\";\nimport { IThemeChangeActionRequestData } from \"./interfaces/ThemeChangeAction\";\nimport { IUpdateStateToWidgetRequestData } from \"./interfaces/UpdateStateAction\";\nimport { IToDeviceMessage } from \"./interfaces/IToDeviceMessage\";\n\n/**\n * API handler for the client side of widgets. This raises events\n * for each action received as `action:${action}` (eg: \"action:screenshot\").\n * Default handling can be prevented by using preventDefault() on the\n * raised event. The default handling varies for each action: ones\n * which the SDK can handle safely are acknowledged appropriately and\n * ones which are unhandled (custom or require the client to do something)\n * are rejected with an error.\n *\n * Events which are preventDefault()ed must reply using the transport.\n * The events raised will have a default of an IWidgetApiRequest\n * interface.\n *\n * When the ClientWidgetApi is ready to start sending requests, it will\n * raise a \"ready\" CustomEvent. After the ready event fires, actions can\n * be sent and the transport will be ready.\n *\n * When the widget has indicated it has loaded, this class raises a\n * \"preparing\" CustomEvent. The preparing event does not indicate that\n * the widget is ready to receive communications - that is signified by\n * the ready event exclusively.\n *\n * This class only handles one widget at a time.\n */\nexport class ClientWidgetApi extends EventEmitter {\n public readonly transport: ITransport;\n\n private cachedWidgetVersions: ApiVersion[] | null = null;\n // contentLoadedActionSent is used to check that only one ContentLoaded request is send.\n private contentLoadedActionSent = false;\n private readonly allowedCapabilities = new Set<Capability>();\n private readonly allowedEvents: WidgetEventCapability[] = [];\n private isStopped = false;\n private turnServers: AsyncGenerator<ITurnServer> | null = null;\n private contentLoadedWaitTimer?: ReturnType<typeof setTimeout>;\n // Stores pending requests to push a room's state to the widget\n private readonly pushRoomStateTasks = new Set<Promise<void>>();\n // Room ID → event type → state key → events to be pushed\n private readonly pushRoomStateResult = new Map<string, Map<string, Map<string, IRoomEvent>>>();\n private flushRoomStateTask: Promise<void> | null = null;\n\n /**\n * Creates a new client widget API. This will instantiate the transport\n * and start everything. When the iframe is loaded under the widget's\n * conditions, a \"ready\" event will be raised.\n * @param {Widget} widget The widget to communicate with.\n * @param {HTMLIFrameElement} iframe The iframe the widget is in.\n * @param {WidgetDriver} driver The driver for this widget/client.\n */\n public constructor(\n public readonly widget: Widget,\n iframe: HTMLIFrameElement,\n private readonly driver: WidgetDriver,\n ) {\n super();\n if (!iframe?.contentWindow) {\n throw new Error(\"No iframe supplied\");\n }\n if (!widget) {\n throw new Error(\"Invalid widget\");\n }\n if (!driver) {\n throw new Error(\"Invalid driver\");\n }\n this.transport = new PostmessageTransport(\n WidgetApiDirection.ToWidget,\n widget.id,\n iframe.contentWindow,\n globalThis,\n );\n this.transport.targetOrigin = widget.origin;\n this.transport.on(\"message\", this.handleMessage.bind(this));\n\n iframe.addEventListener(\"load\", this.onIframeLoad.bind(this));\n\n this.transport.start();\n }\n\n public hasCapability(capability: Capability): boolean {\n return this.allowedCapabilities.has(capability);\n }\n\n public canUseRoomTimeline(roomId: string | Symbols.AnyRoom): boolean {\n return (\n this.hasCapability(`org.matrix.msc2762.timeline:${Symbols.AnyRoom}`) ||\n this.hasCapability(`org.matrix.msc2762.timeline:${roomId}`)\n );\n }\n\n public canSendRoomEvent(eventType: string, msgtype: string | null = null): boolean {\n return this.allowedEvents.some((e) => e.matchesAsRoomEvent(EventDirection.Send, eventType, msgtype));\n }\n\n public canSendStateEvent(eventType: string, stateKey: string): boolean {\n return this.allowedEvents.some((e) => e.matchesAsStateEvent(EventDirection.Send, eventType, stateKey));\n }\n\n public canSendToDeviceEvent(eventType: string): boolean {\n return this.allowedEvents.some((e) => e.matchesAsToDeviceEvent(EventDirection.Send, eventType));\n }\n\n public canReceiveRoomEvent(eventType: string, msgtype: string | null = null): boolean {\n return this.allowedEvents.some((e) => e.matchesAsRoomEvent(EventDirection.Receive, eventType, msgtype));\n }\n\n public canReceiveStateEvent(eventType: string, stateKey: string | null): boolean {\n return this.allowedEvents.some((e) => e.matchesAsStateEvent(EventDirection.Receive, eventType, stateKey));\n }\n\n public canReceiveToDeviceEvent(eventType: string): boolean {\n return this.allowedEvents.some((e) => e.matchesAsToDeviceEvent(EventDirection.Receive, eventType));\n }\n\n public canReceiveRoomAccountData(eventType: string): boolean {\n return this.allowedEvents.some((e) => e.matchesAsRoomAccountData(EventDirection.Receive, eventType));\n }\n\n public stop(): void {\n this.isStopped = true;\n this.transport.stop();\n }\n\n public async getWidgetVersions(): Promise<ApiVersion[]> {\n if (Array.isArray(this.cachedWidgetVersions)) {\n return this.cachedWidgetVersions;\n }\n\n try {\n const r = await this.transport.send<IWidgetApiRequestEmptyData, ISupportedVersionsActionResponseData>(\n WidgetApiToWidgetAction.SupportedApiVersions,\n {},\n );\n this.cachedWidgetVersions = r.supported_versions;\n return r.supported_versions;\n } catch (e) {\n console.warn(\"non-fatal error getting supported widget versions: \", e);\n return [];\n }\n }\n\n private beginCapabilities(): void {\n // widget has loaded - tell all the listeners that\n this.emit(\"preparing\");\n\n let requestedCaps: Capability[];\n this.transport\n .send<IWidgetApiRequestEmptyData, ICapabilitiesActionResponseData>(WidgetApiToWidgetAction.Capabilities, {})\n .then((caps) => {\n requestedCaps = caps.capabilities;\n return this.driver.validateCapabilities(new Set(caps.capabilities));\n })\n .then((allowedCaps) => {\n this.allowCapabilities([...allowedCaps], requestedCaps);\n this.emit(\"ready\");\n })\n .catch((e) => {\n this.emit(\"error:preparing\", e);\n });\n }\n\n private allowCapabilities(allowed: string[], requested: string[]): void {\n console.log(`Widget ${this.widget.id} is allowed capabilities:`, allowed);\n\n for (const c of allowed) this.allowedCapabilities.add(c);\n const allowedEvents = WidgetEventCapability.findEventCapabilities(allowed);\n this.allowedEvents.push(...allowedEvents);\n\n this.transport\n .send(WidgetApiToWidgetAction.NotifyCapabilities, <INotifyCapabilitiesActionRequestData>{\n requested,\n approved: Array.from(this.allowedCapabilities),\n })\n .catch((e) => {\n console.warn(\"non-fatal error notifying widget of approved capabilities:\", e);\n })\n .then(() => {\n this.emit(\"capabilitiesNotified\");\n });\n\n // Push the initial room state for all rooms with a timeline capability\n for (const c of allowed) {\n if (isTimelineCapability(c)) {\n const roomId = getTimelineRoomIDFromCapability(c);\n if (roomId === Symbols.AnyRoom) {\n for (const roomId of this.driver.getKnownRooms()) {\n this.pushRoomState(roomId);\n }\n } else {\n this.pushRoomState(roomId);\n }\n }\n }\n\n if (allowed.includes(MatrixCapabilities.MSC4407ReceiveStickyEvent)) {\n console.debug(`Widget ${this.widget.id} is allowed to receive sticky events, check current sticky state.`);\n // If the widget can receive sticky events, push all sticky events in known rooms now.\n // Sticky events are like a state, and passed history is needed to get the full state.\n const roomIds = allowed\n .filter((capability) => isTimelineCapability(capability))\n .map((timelineCapability) => getTimelineRoomIDFromCapability(timelineCapability))\n .flatMap((roomIdOrWildcard) => {\n if (roomIdOrWildcard === Symbols.AnyRoom) {\n // Do we support getting sticky state for any room?\n return this.driver.getKnownRooms();\n } else {\n return roomIdOrWildcard;\n }\n });\n console.debug(`Widget ${this.widget.id} is allowed to receive sticky events in rooms:`, roomIds);\n\n for (const roomId of roomIds) {\n this.pushStickyState(roomId).catch((err) => {\n console.error(`Failed to push sticky events to widget ${this.widget.id} for room ${roomId}:`, err);\n });\n }\n }\n\n // If new events are allowed and the currently viewed room isn't covered\n // by a timeline capability, then we know that there could be some state\n // in the viewed room that the widget hasn't learned about yet- push it.\n if (allowedEvents.length > 0 && this.viewedRoomId !== null && !this.canUseRoomTimeline(this.viewedRoomId)) {\n this.pushRoomState(this.viewedRoomId);\n }\n }\n\n private onIframeLoad(ev: Event): void {\n if (this.widget.waitForIframeLoad) {\n // If the widget is set to waitForIframeLoad the capabilities immediately get setup after load.\n // The client does not wait for the ContentLoaded action.\n this.beginCapabilities();\n } else {\n // Reaching this means, that the Iframe got reloaded/loaded and\n // the clientApi is awaiting the FIRST ContentLoaded action.\n console.log(\"waitForIframeLoad is false: waiting for widget to send contentLoaded\");\n this.contentLoadedWaitTimer = setTimeout(() => {\n console.error(\n \"Widget specified waitForIframeLoad=false but timed out waiting for contentLoaded event!\",\n );\n }, 10000);\n this.contentLoadedActionSent = false;\n }\n }\n\n private handleContentLoadedAction(action: IContentLoadedActionRequest): void {\n if (this.contentLoadedWaitTimer !== undefined) {\n clearTimeout(this.contentLoadedWaitTimer);\n this.contentLoadedWaitTimer = undefined;\n }\n if (this.contentLoadedActionSent) {\n throw new Error(\n \"Improper sequence: ContentLoaded Action can only be sent once after the widget loaded \" +\n \"and should only be used if waitForIframeLoad is false (default=true)\",\n );\n }\n if (this.widget.waitForIframeLoad) {\n this.transport.reply(action, <IWidgetApiErrorResponseData>{\n error: {\n message:\n \"Improper sequence: not expecting ContentLoaded event if \" +\n \"waitForIframeLoad is true (default=true)\",\n },\n });\n } else {\n this.transport.reply(action, <IWidgetApiRequestEmptyData>{});\n this.beginCapabilities();\n }\n this.contentLoadedActionSent = true;\n }\n\n private replyVersions(request: ISupportedVersionsActionRequest): void {\n this.transport.reply<ISupportedVersionsActionResponseData>(request, {\n supported_versions: CurrentApiVersions,\n });\n }\n\n private async supportsUpdateState(): Promise<boolean> {\n return (await this.getWidgetVersions()).includes(UnstableApiVersion.MSC2762_UPDATE_STATE);\n }\n\n private handleCapabilitiesRenegotiate(request: IRenegotiateCapabilitiesActionRequest): void {\n // acknowledge first\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n\n const requested = request.data?.capabilities || [];\n const newlyRequested = new Set(requested.filter((r) => !this.hasCapability(r)));\n if (newlyRequested.size === 0) {\n // Nothing to do - skip validation\n this.allowCapabilities([], []);\n }\n\n this.driver\n .validateCapabilities(newlyRequested)\n .then((allowed) => this.allowCapabilities([...allowed], [...newlyRequested]));\n }\n\n private handleNavigate(request: INavigateActionRequest): void {\n if (!this.hasCapability(MatrixCapabilities.MSC2931Navigate)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n if (!request.data?.uri.startsWith(\"https://matrix.to/#\")) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid matrix.to URI\" },\n });\n }\n\n const onErr = (e: unknown): void => {\n console.error(\"[ClientWidgetApi] Failed to handle navigation: \", e);\n this.handleDriverError(e, request, \"Error handling navigation\");\n };\n\n try {\n this.driver\n .navigate(request.data.uri.toString())\n .catch((e: unknown) => onErr(e))\n .then(() => {\n return this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n });\n } catch (e) {\n return onErr(e);\n }\n }\n\n private handleOIDC(request: IGetOpenIDActionRequest): void {\n let phase = 1; // 1 = initial request, 2 = after user manual confirmation\n\n const replyState = (\n state: OpenIDRequestState,\n credential?: IOpenIDCredentials,\n ): void | Promise<IWidgetApiAcknowledgeResponseData> => {\n credential = credential || {};\n if (phase > 1) {\n return this.transport.send<IOpenIDCredentialsActionRequestData>(\n WidgetApiToWidgetAction.OpenIDCredentials,\n {\n state: state,\n original_request_id: request.requestId,\n ...credential,\n },\n );\n } else {\n return this.transport.reply<IGetOpenIDActionResponseData>(request, {\n state: state,\n ...credential,\n });\n }\n };\n\n const replyError = (msg: string): void | Promise<IWidgetApiAcknowledgeResponseData> => {\n console.error(\"[ClientWidgetApi] Failed to handle OIDC: \", msg);\n if (phase > 1) {\n // We don't have a way to indicate that a random error happened in this flow, so\n // just block the attempt.\n return replyState(OpenIDRequestState.Blocked);\n } else {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: msg },\n });\n }\n };\n\n const observer = new SimpleObservable<IOpenIDUpdate>((update) => {\n if (update.state === OpenIDRequestState.PendingUserConfirmation && phase > 1) {\n observer.close();\n return replyError(\"client provided out-of-phase response to OIDC flow\");\n }\n\n if (update.state === OpenIDRequestState.PendingUserConfirmation) {\n replyState(update.state);\n phase++;\n return;\n }\n\n if (update.state === OpenIDRequestState.Allowed && !update.token) {\n return replyError(\"client provided invalid OIDC token for an allowed request\");\n }\n if (update.state === OpenIDRequestState.Blocked) {\n update.token = undefined; // just in case the client did something weird\n }\n\n observer.close();\n return replyState(update.state, update.token);\n });\n\n this.driver.askOpenID(observer);\n }\n\n private handleReadRoomAccountData(request: IReadRoomAccountDataFromWidgetActionRequest): void | Promise<void> {\n const events = this.driver.readRoomAccountData(request.data.type);\n\n if (!this.canReceiveRoomAccountData(request.data.type)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot read room account data of this type\" },\n });\n }\n\n return events.then((evs) => {\n this.transport.reply<IReadRoomAccountDataFromWidgetResponseData>(request, { events: evs });\n });\n }\n\n private async handleReadEvents(request: IReadEventFromWidgetActionRequest): Promise<void> {\n if (!request.data.type) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event type\" },\n });\n }\n if (request.data.limit !== undefined && (!request.data.limit || request.data.limit < 0)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - limit out of range\" },\n });\n }\n\n let askRoomIds: string[];\n if (request.data.room_ids === undefined) {\n askRoomIds = this.viewedRoomId === null ? [] : [this.viewedRoomId];\n } else if (request.data.room_ids === Symbols.AnyRoom) {\n askRoomIds = this.driver.getKnownRooms().filter((roomId) => this.canUseRoomTimeline(roomId));\n } else {\n askRoomIds = request.data.room_ids;\n for (const roomId of askRoomIds) {\n if (!this.canUseRoomTimeline(roomId)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Unable to access room timeline: ${roomId}` },\n });\n }\n }\n }\n\n const limit = request.data.limit || 0;\n const since = request.data.since;\n\n let stateKey: string | undefined = undefined;\n let msgtype: string | undefined = undefined;\n if (request.data.state_key !== undefined) {\n stateKey = request.data.state_key === true ? undefined : request.data.state_key.toString();\n if (!this.canReceiveStateEvent(request.data.type, stateKey ?? null)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot read state events of this type\" },\n });\n }\n } else {\n msgtype = request.data.msgtype;\n if (!this.canReceiveRoomEvent(request.data.type, msgtype)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot read room events of this type\" },\n });\n }\n }\n\n let events: IRoomEvent[];\n\n if (request.data.room_ids === undefined && askRoomIds.length === 0) {\n // For backwards compatibility we still call the deprecated\n // readRoomEvents and readStateEvents methods in case the client isn't\n // letting us know the currently viewed room via setViewedRoomId\n //\n // This can be considered as a deprecated implementation.\n // A driver should call `setViewedRoomId` on the widget messaging and implement the new readRoomState and readRoomTimeline\n // Methods.\n // This block makes sure that it is also possible to not use setViewedRoomId.\n // readRoomTimeline and readRoomState are required however! Otherwise widget requests that include\n // `room_ids` will fail.\n console.warn(\n \"The widgetDriver uses deprecated behaviour:\\n It does not set the viewedRoomId using `setViewedRoomId`\",\n );\n events = await // This returns [] with the current driver of Element Web.\n // Add default implementations of the `readRoomEvents` and `readStateEvents`\n // methods to use `readRoomTimeline` and `readRoomState` if they are not overwritten.\n (request.data.state_key === undefined\n ? this.driver.readRoomEvents(request.data.type, msgtype, limit, null, since)\n : this.driver.readStateEvents(request.data.type, stateKey, limit, null));\n } else if (await this.supportsUpdateState()) {\n // Calling read_events with a stateKey still reads from the rooms timeline (not the room state).\n events = (\n await Promise.all(\n askRoomIds.map((roomId) =>\n this.driver.readRoomTimeline(roomId, request.data.type, msgtype, stateKey, limit, since),\n ),\n )\n ).flat(1);\n } else {\n // TODO: remove this once `UnstableApiVersion.MSC2762_UPDATE_STATE` becomes stable.\n // Before version `MSC2762_UPDATE_STATE` we used readRoomState for read_events actions.\n events = (\n request.data.state_key === undefined\n ? await Promise.all(\n askRoomIds.map((roomId) =>\n this.driver.readRoomTimeline(roomId, request.data.type, msgtype, stateKey, limit, since),\n ),\n )\n : await Promise.all(\n askRoomIds.map((roomId) => this.driver.readRoomState(roomId, request.data.type, stateKey)),\n )\n ).flat(1);\n }\n\n this.transport.reply<IReadEventFromWidgetResponseData>(request, { events });\n }\n\n private handleSendEvent(request: ISendEventFromWidgetActionRequest): void {\n if (!request.data.type) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event type\" },\n });\n }\n\n if (!!request.data.room_id && !this.canUseRoomTimeline(request.data.room_id)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Unable to access room timeline: ${request.data.room_id}` },\n });\n }\n\n if (request.data.parent_delay_id !== undefined) {\n console.warn(\"Data includes parent_delay_id, but the widgetDriver ignores it\");\n }\n\n const delay = request.data.delay;\n if (delay !== undefined && !this.hasCapability(MatrixCapabilities.MSC4157SendDelayedEvent)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Missing capability for ${MatrixCapabilities.MSC4157SendDelayedEvent}` },\n });\n }\n\n const isStickyEvent = request.data.sticky_duration_ms !== undefined;\n if (isStickyEvent && !this.hasCapability(MatrixCapabilities.MSC4407SendStickyEvent)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Missing capability for ${MatrixCapabilities.MSC4407SendStickyEvent}` },\n });\n }\n\n let sendEventPromise: Promise<ISendEventDetails | ISendDelayedEventDetails>;\n if (request.data.state_key !== undefined) {\n if (!this.canSendStateEvent(request.data.type, request.data.state_key)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot send state events of this type\" },\n });\n }\n if (isStickyEvent) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot send a state event with a sticky duration\" },\n });\n }\n\n if (delay !== undefined) {\n sendEventPromise = this.driver.sendDelayedEvent(\n delay,\n request.data.type,\n request.data.content || {},\n request.data.state_key,\n request.data.room_id,\n );\n } else {\n sendEventPromise = this.driver.sendEvent(\n request.data.type,\n request.data.content || {},\n request.data.state_key,\n request.data.room_id,\n );\n }\n } else {\n const content = (request.data.content as { msgtype?: string }) || {};\n const msgtype = content[\"msgtype\"];\n if (!this.canSendRoomEvent(request.data.type, msgtype)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot send room events of this type\" },\n });\n }\n\n // Events can be sticky, delayed, both, or neither. The following\n // section of code takes the common parameters and uses the correct\n // function depending on the request type.\n\n const params: Parameters<WidgetDriver[\"sendEvent\"]> = [\n request.data.type,\n content,\n null, // not sending a state event\n request.data.room_id,\n ];\n\n if (delay !== undefined && request.data.sticky_duration_ms) {\n sendEventPromise = this.driver.sendDelayedStickyEvent(\n delay,\n request.data.sticky_duration_ms,\n request.data.type,\n content,\n request.data.room_id,\n );\n } else if (delay !== undefined) {\n sendEventPromise = this.driver.sendDelayedEvent(delay, ...params);\n } else if (request.data.sticky_duration_ms) {\n sendEventPromise = this.driver.sendStickyEvent(\n request.data.sticky_duration_ms,\n request.data.type,\n content,\n request.data.room_id,\n );\n } else {\n sendEventPromise = this.driver.sendEvent(...params);\n }\n }\n\n sendEventPromise\n .then((sentEvent) => {\n return this.transport.reply<ISendEventFromWidgetResponseData>(request, {\n room_id: sentEvent.roomId,\n ...(\"eventId\" in sentEvent\n ? {\n event_id: sentEvent.eventId,\n }\n : {\n delay_id: sentEvent.delayId,\n }),\n });\n })\n .catch((e: unknown) => {\n console.error(\"error sending event: \", e);\n this.handleDriverError(e, request, \"Error sending event\");\n });\n }\n\n private handleUpdateDelayedEvent(request: IUpdateDelayedEventFromWidgetActionRequest): void {\n if (!request.data.delay_id) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing delay_id\" },\n });\n }\n\n if (!this.hasCapability(MatrixCapabilities.MSC4157UpdateDelayedEvent)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n let updateDelayedEvent: (delayId: string) => Promise<void>;\n switch (request.data.action) {\n case UpdateDelayedEventAction.Cancel:\n updateDelayedEvent = this.driver.cancelScheduledDelayedEvent;\n break;\n case UpdateDelayedEventAction.Restart:\n updateDelayedEvent = this.driver.restartScheduledDelayedEvent;\n break;\n case UpdateDelayedEventAction.Send:\n updateDelayedEvent = this.driver.sendScheduledDelayedEvent;\n break;\n default:\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - unsupported action\" },\n });\n }\n updateDelayedEvent\n .call(this.driver, request.data.delay_id)\n .then(() => {\n return this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n })\n .catch((e: unknown) => {\n console.error(\"error updating delayed event: \", e);\n this.handleDriverError(e, request, \"Error updating delayed event\");\n });\n }\n\n private async handleSendToDevice(request: ISendToDeviceFromWidgetActionRequest): Promise<void> {\n if (!request.data.type) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event type\" },\n });\n } else if (!request.data.messages) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event contents\" },\n });\n } else if (typeof request.data.encrypted !== \"boolean\") {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing encryption flag\" },\n });\n } else if (!this.canSendToDeviceEvent(request.data.type)) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot send to-device events of this type\" },\n });\n } else {\n try {\n await this.driver.sendToDevice(request.data.type, request.data.encrypted, request.data.messages);\n this.transport.reply<ISendToDeviceFromWidgetResponseData>(request, {});\n } catch (e) {\n console.error(\"error sending to-device event\", e);\n this.handleDriverError(e, request, \"Error sending event\");\n }\n }\n }\n\n private async pollTurnServers(turnServers: AsyncGenerator<ITurnServer>, initialServer: ITurnServer): Promise<void> {\n try {\n await this.transport.send<IUpdateTurnServersRequestData>(\n WidgetApiToWidgetAction.UpdateTurnServers,\n initialServer as IUpdateTurnServersRequestData, // it's compatible, but missing the index signature\n );\n\n // Pick the generator up where we left off\n for await (const server of turnServers) {\n await this.transport.send<IUpdateTurnServersRequestData>(\n WidgetApiToWidgetAction.UpdateTurnServers,\n server as IUpdateTurnServersRequestData, // it's compatible, but missing the index signature\n );\n }\n } catch (e) {\n console.error(\"error polling for TURN servers\", e);\n }\n }\n\n private async handleWatchTurnServers(request: IWatchTurnServersRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC3846TurnServers)) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n } else if (this.turnServers) {\n // We're already polling, so this is a no-op\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n } else {\n try {\n const turnServers = this.driver.getTurnServers();\n\n // Peek at the first result, so we can at least verify that the\n // client isn't banned from getting TURN servers entirely\n const { done, value } = await turnServers.next();\n if (done) throw new Error(\"Client refuses to provide any TURN servers\");\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n\n // Start the poll loop, sending the widget the initial result\n this.pollTurnServers(turnServers, value);\n this.turnServers = turnServers;\n } catch (e) {\n console.error(\"error getting first TURN server results\", e);\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"TURN servers not available\" },\n });\n }\n }\n }\n\n private async handleUnwatchTurnServers(request: IUnwatchTurnServersRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC3846TurnServers)) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n } else if (!this.turnServers) {\n // We weren't polling anyways, so this is a no-op\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n } else {\n // Stop the generator, allowing it to clean up\n await this.turnServers.return(undefined);\n this.turnServers = null;\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n }\n }\n\n private async handleReadRelations(request: IReadRelationsFromWidgetActionRequest): Promise<void> {\n if (!request.data.event_id) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event ID\" },\n });\n }\n\n if (request.data.limit !== undefined && request.data.limit < 0) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - limit out of range\" },\n });\n }\n\n if (request.data.room_id !== undefined && !this.canUseRoomTimeline(request.data.room_id)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Unable to access room timeline: ${request.data.room_id}` },\n });\n }\n\n try {\n const result = await this.driver.readEventRelations(\n request.data.event_id,\n request.data.room_id,\n request.data.rel_type,\n request.data.event_type,\n request.data.from,\n request.data.to,\n request.data.limit,\n request.data.direction,\n );\n\n // only return events that the user has the permission to receive\n const chunk = result.chunk.filter((e) => {\n if (e.state_key !== undefined) {\n return this.canReceiveStateEvent(e.type, e.state_key);\n } else {\n return this.canReceiveRoomEvent(e.type, (e.content as { msgtype?: string })[\"msgtype\"]);\n }\n });\n\n return this.transport.reply<IReadRelationsFromWidgetResponseData>(request, {\n chunk,\n prev_batch: result.prevBatch,\n next_batch: result.nextBatch,\n });\n } catch (e) {\n console.error(\"error getting the relations\", e);\n this.handleDriverError(e, request, \"Unexpected error while reading relations\");\n }\n }\n\n private async handleUserDirectorySearch(request: IUserDirectorySearchFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC3973UserDirectorySearch)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n if (typeof request.data.search_term !== \"string\") {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing search term\" },\n });\n }\n\n if (request.data.limit !== undefined && request.data.limit < 0) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - limit out of range\" },\n });\n }\n\n try {\n const result = await this.driver.searchUserDirectory(request.data.search_term, request.data.limit);\n\n return this.transport.reply<IUserDirectorySearchFromWidgetResponseData>(request, {\n limited: result.limited,\n results: result.results.map((r) => ({\n user_id: r.userId,\n display_name: r.displayName,\n avatar_url: r.avatarUrl,\n })),\n });\n } catch (e) {\n console.error(\"error searching in the user directory\", e);\n this.handleDriverError(e, request, \"Unexpected error while searching in the user directory\");\n }\n }\n\n private async handleGetMediaConfig(request: IGetMediaConfigActionFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC4039UploadFile)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n try {\n const result = await this.driver.getMediaConfig();\n\n return this.transport.reply<IGetMediaConfigActionFromWidgetResponseData>(request, result);\n } catch (e) {\n console.error(\"error while getting the media configuration\", e);\n this.handleDriverError(e, request, \"Unexpected error while getting the media configuration\");\n }\n }\n\n private async handleRtcTransports(request: IRtcTransportsFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC4515RtcTransports)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n try {\n const result = await this.driver.getRtcTransports();\n\n return this.transport.reply<IRtcTransportsFromWidgetResponseData>(request, {\n rtc_transports: result.rtc_transports,\n });\n } catch (e) {\n console.error(\"error while getting the RTC transports\", e);\n this.handleDriverError(e, request, \"Unexpected error while getting the RTC transports\");\n }\n }\n\n private async handleUploadFile(request: IUploadFileActionFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC4039UploadFile)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n try {\n const result = await this.driver.uploadFile(request.data.file);\n\n return this.transport.reply<IUploadFileActionFromWidgetResponseData>(request, {\n content_uri: result.contentUri,\n });\n } catch (e) {\n console.error(\"error while uploading a file\", e);\n this.handleDriverError(e, request, \"Unexpected error while uploading a file\");\n }\n }\n\n private async handleDownloadFile(request: IDownloadFileActionFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC4039DownloadFile)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n try {\n const result = await this.driver.downloadFile(request.data.content_uri);\n\n return this.transport.reply<IDownloadFileActionFromWidgetResponseData>(request, { file: result.file });\n } catch (e) {\n console.error(\"error while downloading a file\", e);\n this.handleDriverError(e, request, \"Unexpected error while downloading a file\");\n }\n }\n\n private async handleRtcLivekitGetToken(request: IRtcLivekitGetTokenFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC4533RtcLivekitGetToken)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n try {\n const result = await this.driver.getRtcLivekitToken(request.data);\n\n return this.transport.reply<IRtcLivekitGetTokenFromWidgetResponseData>(request, result);\n } catch (e) {\n console.error(\"error while getting a LiveKit token\", e);\n this.handleDriverError(e, request, \"Unexpected error while getting a LiveKit token\");\n }\n }\n\n private async handleRtcLivekitDelegateDelayedLeave(\n request: IRtcLivekitDelegateDelayedLeaveFromWidgetActionRequest,\n ): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC4533RtcLivekitDelegateDelayedLeave)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n try {\n const result = await this.driver.delegateRtcLivekitDelayedLeave(request.data);\n\n return this.transport.reply<IRtcLivekitDelegateDelayedLeaveFromWidgetResponseData>(request, result);\n } catch (e) {\n console.error(\"error while delegating a LiveKit delayed leave\", e);\n this.handleDriverError(e, request, \"Unexpected error while delegating a LiveKit delayed leave\");\n }\n }\n\n private handleDriverError(e: unknown, request: IWidgetApiRequest, message: string): void {\n const data = this.driver.processError(e);\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: {\n message,\n ...data,\n },\n });\n }\n\n private handleMessage(ev: CustomEvent<IWidgetApiRequest>): void | Promise<void> {\n if (this.isStopped) return;\n const actionEv = new CustomEvent(`action:${ev.detail.action}`, {\n detail: ev.detail,\n cancelable: true,\n });\n this.emit(`action:${ev.detail.action}`, actionEv);\n if (!actionEv.defaultPrevented) {\n switch (ev.detail.action) {\n case WidgetApiFromWidgetAction.ContentLoaded:\n return this.handleContentLoadedAction(<IContentLoadedActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.SupportedApiVersions:\n return this.replyVersions(<ISupportedVersionsActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.SendEvent:\n return this.handleSendEvent(<ISendEventFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.SendToDevice:\n return this.handleSendToDevice(<ISendToDeviceFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.GetOpenIDCredentials:\n return this.handleOIDC(<IGetOpenIDActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC2931Navigate:\n return this.handleNavigate(<INavigateActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC2974RenegotiateCapabilities:\n return this.handleCapabilitiesRenegotiate(<IRenegotiateCapabilitiesActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC2876ReadEvents:\n return this.handleReadEvents(<IReadEventFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.WatchTurnServers:\n return this.handleWatchTurnServers(<IWatchTurnServersRequest>ev.detail);\n case WidgetApiFromWidgetAction.UnwatchTurnServers:\n return this.handleUnwatchTurnServers(<IUnwatchTurnServersRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC3869ReadRelations:\n return this.handleReadRelations(<IReadRelationsFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC3973UserDirectorySearch:\n return this.handleUserDirectorySearch(<IUserDirectorySearchFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.BeeperReadRoomAccountData:\n return this.handleReadRoomAccountData(<IReadRoomAccountDataFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4039GetMediaConfigAction:\n return this.handleGetMediaConfig(<IGetMediaConfigActionFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4515GetRtcTransports:\n return this.handleRtcTransports(<IRtcTransportsFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4039UploadFileAction:\n return this.handleUploadFile(<IUploadFileActionFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4039DownloadFileAction:\n return this.handleDownloadFile(<IDownloadFileActionFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4157UpdateDelayedEvent:\n return this.handleUpdateDelayedEvent(<IUpdateDelayedEventFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4533RtcLivekitGetToken:\n return this.handleRtcLivekitGetToken(<IRtcLivekitGetTokenFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4533RtcLivekitDelegateDelayedLeave:\n return this.handleRtcLivekitDelegateDelayedLeave(\n <IRtcLivekitDelegateDelayedLeaveFromWidgetActionRequest>ev.detail,\n );\n\n default:\n return this.transport.reply(ev.detail, <IWidgetApiErrorResponseData>{\n error: {\n message: \"Unknown or unsupported from-widget action: \" + ev.detail.action,\n },\n });\n }\n }\n }\n\n /**\n * Informs the widget that the client's theme has changed.\n * @param theme The theme data, as an object with arbitrary contents.\n */\n public updateTheme(theme: IThemeChangeActionRequestData): Promise<IWidgetApiResponseData> {\n return this.transport.send(WidgetApiToWidgetAction.ThemeChange, theme);\n }\n\n /**\n * Informs the widget that the client's language has changed.\n * @param lang The BCP 47 identifier representing the client's current language.\n */\n public updateLanguage(lang: string): Promise<IWidgetApiResponseData> {\n return this.transport.send(WidgetApiToWidgetAction.LanguageChange, { lang });\n }\n\n /**\n * Takes a screenshot of the widget.\n * @returns Resolves to the widget's screenshot.\n * @throws Throws if there is a problem.\n */\n public takeScreenshot(): Promise<IScreenshotActionResponseData> {\n return this.transport.send(WidgetApiToWidgetAction.TakeScreenshot, <IWidgetApiRequestEmptyData>{});\n }\n\n /**\n * Alerts the widget to whether or not it is currently visible.\n * @param {boolean} isVisible Whether the widget is visible or not.\n * @returns {Promise<IWidgetApiResponseData>} Resolves when the widget acknowledges the update.\n */\n public updateVisibility(isVisible: boolean): Promise<IWidgetApiResponseData> {\n return this.transport.send(WidgetApiToWidgetAction.UpdateVisibility, <IVisibilityActionRequestData>{\n visible: isVisible,\n });\n }\n\n public sendWidgetConfig(data: IModalWidgetOpenRequestData): Promise<void> {\n return this.transport.send<IModalWidgetOpenRequestData>(WidgetApiToWidgetAction.WidgetConfig, data).then();\n }\n\n public notifyModalWidgetButtonClicked(id: IModalWidgetOpenRequestDataButton[\"id\"]): Promise<void> {\n return this.transport\n .send<IModalWidgetButtonClickedRequestData>(WidgetApiToWidgetAction.ButtonClicked, { id })\n .then();\n }\n\n public notifyModalWidgetClose(data: IModalWidgetReturnData): Promise<void> {\n return this.transport.send<IModalWidgetReturnData>(WidgetApiToWidgetAction.CloseModalWidget, data).then();\n }\n\n /**\n * Feeds an event to the widget. As a client you are expected to call this\n * for every new event in every room to which you are joined or invited.\n * @param {IRoomEvent} rawEvent The event to (try to) send to the widget.\n * @param {string} currentViewedRoomId The room ID the user is currently\n * interacting with. Not the room ID of the event.\n * @returns {Promise<void>} Resolves when delivered or if the widget is not\n * able to read the event due to permissions, rejects if the widget failed\n * to handle the event.\n * @deprecated It is recommended to communicate the viewed room ID by calling\n * {@link ClientWidgetApi.setViewedRoomId} rather than passing it to this\n * method.\n */\n public async feedEvent(rawEvent: IRoomEvent, currentViewedRoomId: string): Promise<void>;\n /**\n * Feeds an event to the widget. As a client you are expected to call this\n * for every new event (including state events) in every room to which you are joined or invited.\n * @param {IRoomEvent} rawEvent The event to (try to) send to the widget.\n * @returns {Promise<void>} Resolves when delivered or if the widget is not\n * able to read the event due to permissions, rejects if the widget failed\n * to handle the event.\n */\n public async feedEvent(rawEvent: IRoomEvent): Promise<void>;\n public async feedEvent(rawEvent: IRoomEvent, currentViewedRoomId?: string): Promise<void> {\n if (currentViewedRoomId !== undefined) this.setViewedRoomId(currentViewedRoomId);\n if (rawEvent.room_id !== this.viewedRoomId && !this.canUseRoomTimeline(rawEvent.room_id)) {\n return; // no-op\n }\n\n if (rawEvent.state_key !== undefined && rawEvent.state_key !== null) {\n // state event\n if (!this.canReceiveStateEvent(rawEvent.type, rawEvent.state_key)) {\n return; // no-op\n }\n } else {\n // message event\n if (!this.canReceiveRoomEvent(rawEvent.type, (rawEvent.content as { msgtype?: string })?.[\"msgtype\"])) {\n return; // no-op\n }\n }\n\n // Feed the event into the widget\n await this.transport.send<ISendEventToWidgetRequestData>(\n WidgetApiToWidgetAction.SendEvent,\n // it's compatible, but missing the index signature\n rawEvent as ISendEventToWidgetRequestData,\n );\n }\n\n /**\n * Feeds a to-device event to the widget. As a client you are expected to\n * call this for every to-device event you receive.\n * @param {IRoomEvent} rawEvent The event to (try to) send to the widget.\n * @param {boolean} encrypted Whether the event contents were encrypted.\n * @returns {Promise<void>} Resolves when delivered or if the widget is not\n * able to receive the event due to permissions, rejects if the widget\n * failed to handle the event.\n */\n public async feedToDevice(message: IToDeviceMessage, encrypted: boolean): Promise<void> {\n if (this.canReceiveToDeviceEvent(message.type)) {\n await this.transport.send<ISendToDeviceToWidgetRequestData>(WidgetApiToWidgetAction.SendToDevice, {\n ...message,\n encrypted,\n });\n }\n }\n\n private viewedRoomId: string | null = null;\n\n /**\n * Indicate that a room is being viewed (making it possible for the widget\n * to interact with it).\n */\n public setViewedRoomId(roomId: string | null): void {\n this.viewedRoomId = roomId;\n // If the widget doesn't have timeline permissions for the room then\n // this is its opportunity to learn the room state. We push the entire\n // room state, which could be redundant if this room had been viewed\n // once before, but it's easier than selectively pushing just the bits\n // of state that changed while the room was in the background.\n if (roomId !== null && !this.canUseRoomTimeline(roomId)) this.pushRoomState(roomId);\n }\n\n private async flushRoomState(): Promise<void> {\n try {\n // Only send a single action once all concurrent tasks have completed\n do await Promise.all(this.pushRoomStateTasks);\n while (this.pushRoomStateTasks.size > 0);\n\n const events: IRoomEvent[] = [];\n for (const eventTypeMap of this.pushRoomStateResult.values()) {\n for (const stateKeyMap of eventTypeMap.values()) {\n events.push(...stateKeyMap.values());\n }\n }\n if ((await this.getWidgetVersions()).includes(UnstableApiVersion.MSC2762_UPDATE_STATE)) {\n // Only send state updates when using UpdateState. Otherwise the SendEvent action will be responsible for state updates.\n await this.transport.send<IUpdateStateToWidgetRequestData>(WidgetApiToWidgetAction.UpdateState, {\n state: events,\n });\n }\n } finally {\n this.flushRoomStateTask = null;\n }\n }\n\n /**\n * Reads the current sticky state of the room and pushes it to the widget.\n *\n * It will only push events that the widget is allowed to receive.\n * @param roomId\n * @private\n */\n private async pushStickyState(roomId: string): Promise<void> {\n console.debug(\"Pushing sticky state to widget for room\", roomId);\n return this.driver\n .readStickyEvents(roomId)\n .then((events) => {\n // filter to the allowed sticky events\n const filtered = events.filter((e) => {\n return this.canReceiveRoomEvent(\n e.type,\n typeof e.content?.msgtype === \"string\" ? e.content.msgtype : null,\n );\n });\n return { roomId, stickyEvents: filtered };\n })\n .then(async ({ roomId, stickyEvents }) => {\n console.debug(\"Pushing\", stickyEvents.length, \"sticky events to widget for room\", roomId);\n const promises = stickyEvents.map((rawEvent) => {\n return this.transport.send<ISendEventToWidgetRequestData>(\n WidgetApiToWidgetAction.SendEvent,\n // copied from feedEvent; it's compatible, but missing the index signature\n rawEvent as ISendEventToWidgetRequestData,\n );\n });\n await Promise.all(promises);\n });\n }\n\n /**\n * Read the room's state and push all entries that the widget is allowed to\n * read through to the widget.\n */\n private pushRoomState(roomId: string): void {\n for (const cap of this.allowedEvents) {\n if (cap.kind === EventKind.State && cap.direction === EventDirection.Receive) {\n // Initiate the task\n const events = this.driver.readRoomState(roomId, cap.eventType, cap.keyStr ?? undefined);\n const task = events\n .then(\n (events) => {\n // When complete, queue the resulting events to be\n // pushed to the widget\n for (const event of events) {\n let eventTypeMap = this.pushRoomStateResult.get(roomId);\n if (eventTypeMap === undefined) {\n eventTypeMap = new Map();\n this.pushRoomStateResult.set(roomId, eventTypeMap);\n }\n let stateKeyMap = eventTypeMap.get(cap.eventType);\n if (stateKeyMap === undefined) {\n stateKeyMap = new Map();\n eventTypeMap.set(cap.eventType, stateKeyMap);\n }\n if (!stateKeyMap.has(event.state_key!)) stateKeyMap.set(event.state_key!, event);\n }\n },\n (e) =>\n console.error(\n `Failed to read room state for ${roomId} (${cap.eventType}, ${cap.keyStr})`,\n e,\n ),\n )\n .then(() => {\n // Mark request as no longer pending\n this.pushRoomStateTasks.delete(task);\n });\n\n // Mark task as pending\n this.pushRoomStateTasks.add(task);\n // Assuming no other tasks are already happening concurrently,\n // schedule the widget action that actually pushes the events\n this.flushRoomStateTask ??= this.flushRoomState();\n this.flushRoomStateTask.catch((e) => console.error(\"Failed to push room state\", e));\n }\n }\n }\n\n /**\n * Feeds a room state update to the widget. As a client you are expected to\n * call this for every state update in every room to which you are joined or\n * invited.\n * @param {IRoomEvent} rawEvent The state event corresponding to the updated\n * room state entry.\n * @returns {Promise<void>} Resolves when delivered or if the widget is not\n * able to receive the room state due to permissions, rejects if the\n * widget failed to handle the update.\n */\n public async feedStateUpdate(rawEvent: IRoomEvent): Promise<void> {\n if (rawEvent.state_key === undefined) throw new Error(\"Not a state event\");\n if (\n (rawEvent.room_id === this.viewedRoomId || this.canUseRoomTimeline(rawEvent.room_id)) &&\n this.canReceiveStateEvent(rawEvent.type, rawEvent.state_key)\n ) {\n // Updates could race with the initial push of the room's state\n if (this.pushRoomStateTasks.size === 0) {\n // No initial push tasks are pending; safe to send immediately\n if ((await this.getWidgetVersions()).includes(UnstableApiVersion.MSC2762_UPDATE_STATE)) {\n // Only send state updates when using UpdateState. Otherwise the SendEvent action will be responsible for state updates.\n await this.transport.send<IUpdateStateToWidgetRequestData>(WidgetApiToWidgetAction.UpdateState, {\n state: [rawEvent],\n });\n }\n } else {\n // Lump the update in with whatever data will be sent in the\n // initial push later. Even if we set it to an \"outdated\" entry\n // here, we can count on any newer entries being passed to this\n // same method eventually; this won't cause stuck state.\n let eventTypeMap = this.pushRoomStateResult.get(rawEvent.room_id);\n if (eventTypeMap === undefined) {\n eventTypeMap = new Map();\n this.pushRoomStateResult.set(rawEvent.room_id, eventTypeMap);\n }\n let stateKeyMap = eventTypeMap.get(rawEvent.type);\n if (stateKeyMap === undefined) {\n stateKeyMap = new Map();\n eventTypeMap.set(rawEvent.type, stateKeyMap);\n }\n if (!stateKeyMap.has(rawEvent.type)) stateKeyMap.set(rawEvent.state_key, rawEvent);\n do await Promise.all(this.pushRoomStateTasks);\n while (this.pushRoomStateTasks.size > 0);\n await this.flushRoomStateTask;\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|