@openclaw/matrix 2026.10.2 → 2026.10.5-beta.2
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/dist/.setup/{account-selection-BDeeqwwR.mjs → account-selection-Bs_jCAaG.mjs} +3 -5
- package/dist/.setup/{approval-handler.runtime-QkHLH2az.mjs → approval-handler.runtime-rxLn8CbP.mjs} +60 -83
- package/dist/.setup/{channel-CeRXEAEP.mjs → channel-BcwGspPw.mjs} +92 -120
- package/dist/.setup/{channel.runtime-DBQA2y1F.mjs → channel.runtime-CUc6rbu1.mjs} +23 -18
- package/dist/.setup/{channel.setup-DC2t7_PK.mjs → channel.setup-CwuYD_CT.mjs} +2 -3
- package/dist/.setup/{cli-Be8tdNw8.mjs → cli-mbL9jCro.mjs} +80 -120
- package/dist/.setup/{cli-metadata-CtcjBFhc.mjs → cli-metadata-6MOGuyHq.mjs} +1 -1
- package/dist/.setup/{client-DY3HExqI.mjs → client-BlTvpEWC.mjs} +2 -2
- package/dist/.setup/{client-bootstrap-CZvJjr29.mjs → client-bootstrap-D05xy1HB.mjs} +2 -3
- package/dist/.setup/{client-support-D7BlioUb.mjs → client-support-D-xHScuo.mjs} +1 -1
- package/dist/.setup/{client-kmih04ng.mjs → client-vPPbaxNp.mjs} +14 -24
- package/dist/.setup/{create-client-CbJVyFDy.mjs → create-client-CroC4BVc.mjs} +4 -4
- package/dist/.setup/{credentials-C2dvc_kB.mjs → credentials-Bf9PQ7xs.mjs} +4 -18
- package/dist/.setup/{crypto-runtime-B2AjWo-i.mjs → crypto-runtime-CpJ0b7vY.mjs} +80 -123
- package/dist/.setup/{deps-CFNl7tQo.mjs → deps-L_1bUAGL.mjs} +20 -37
- package/dist/.setup/{direct-management-DJtQhLKH.mjs → direct-management-B3wYhx_M.mjs} +25 -51
- package/dist/.setup/{directory-live-DW5UykLL.mjs → directory-live-B1WbfSHo.mjs} +3 -3
- package/dist/.setup/{draft-stream-B87DfA6a.mjs → draft-stream-Bdrh7dRt.mjs} +2 -3
- package/dist/.setup/{encryption-guidance-BEjKbiMR.mjs → encryption-guidance-D5_IsDIy.mjs} +1 -1
- package/dist/.setup/{env-vars-dGqak9dN.mjs → env-vars-aEBngJPa.mjs} +2 -17
- package/dist/.setup/{event-helpers-CspuhE9k.mjs → event-helpers-CxNgMQqH.mjs} +5 -7
- package/dist/.setup/{exec-approvals-BLDAMyHs.mjs → exec-approvals-BgNWWJg1.mjs} +6 -12
- package/dist/.setup/{file-sync-store-Clc9iEdn.mjs → file-sync-store-BdKx_gMi.mjs} +2 -5
- package/dist/.setup/{http-client-DfJY5Ck0.mjs → http-client-ByR4STVQ.mjs} +55 -59
- package/dist/.setup/{messages-uCbwLRKS.mjs → messages-B1CZqU8u.mjs} +4 -16
- package/dist/.setup/{monitor-skIntQVG.mjs → monitor-Dk_fQL1k.mjs} +176 -232
- package/dist/.setup/{onboarding-Cm_tOJxs.mjs → onboarding-CrSexor_.mjs} +33 -50
- package/dist/.setup/{outbound-CqQou3ny.mjs → outbound-LR3SqPIq.mjs} +2 -2
- package/dist/.setup/{profile-update-C1n8SRqH.mjs → profile-update-C7bjaGR6.mjs} +2 -3
- package/dist/.setup/{reaction-events-Cqq46xsG.mjs → reaction-events-CTSvOlXO.mjs} +4 -4
- package/dist/.setup/{resolve-targets-DFeU1Ww6.mjs → resolve-targets-BVVbbvP6.mjs} +15 -21
- package/dist/.setup/{retired-state-BXUQ2I-C.mjs → retired-state-DW5pLH05.mjs} +22 -3
- package/dist/.setup/{room-info-BPMbwe8I.mjs → room-info-9Uqlpt1V.mjs} +4 -4
- package/dist/.setup/{sdk-CgQGkCsS.mjs → sdk-Cfc6m7fY.mjs} +115 -195
- package/dist/.setup/{secret-contract-JlB6VmI3.mjs → secret-contract-DSBRvhdZ.mjs} +1 -1
- package/dist/.setup/{secret-contract-api-B-iJoQEv.mjs → secret-contract-api-DzEJ-X7n.mjs} +1 -1
- package/dist/.setup/{send-B1Y2L4wj.mjs → send-LCOuTVc1.mjs} +10 -30
- package/dist/.setup/{setup-bootstrap-UNIGyKnk.mjs → setup-bootstrap-CV-hHBXu.mjs} +2 -2
- package/dist/.setup/setup-core-CKnNTfgD.mjs +673 -0
- package/dist/.setup/{setup-plugin-api-BRs9bcp4.mjs → setup-plugin-api-BDAYk1a5.mjs} +1 -1
- package/dist/.setup/{startup-verification-D00eUt74.mjs → startup-verification-CgfUb4yJ.mjs} +3 -3
- package/dist/.setup/{storage-D7agewjH.mjs → storage-DkC6bHgA.mjs} +24 -49
- package/dist/.setup/{subagent-hooks-D5kd_kzN.mjs → subagent-hooks-D8jyeQsO.mjs} +1 -1
- package/dist/.setup/{sync-cache-state-C2z64uyk.mjs → sync-cache-state-D4G-fi3t.mjs} +20 -33
- package/dist/.setup/{target-ids-Nwx7cMVE.mjs → target-ids-HhcaKX1n.mjs} +15 -1
- package/dist/.setup/{thread-binding-api-DRMC62cs.mjs → thread-binding-api-BvuaKpd0.mjs} +1 -1
- package/dist/.setup/{thread-bindings-DveHVZqN.mjs → thread-bindings-CT4P-OSZ.mjs} +38 -58
- package/dist/.setup/{thread-bindings-shared-hxKkYC1W.mjs → thread-bindings-shared-CbsFNbAY.mjs} +19 -37
- package/dist/.setup/{tool-actions-BqlK2ilM.mjs → tool-actions-DAp6_XSJ.mjs} +17 -18
- package/dist/.setup/{verification-kMlFYUn0.mjs → verification-B3VswneT.mjs} +15 -21
- package/dist/api.js +7 -7
- 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 +13 -22
- package/dist/helper-api.js +2 -2
- package/dist/index.js +1 -1
- package/dist/plugin-entry.handlers.runtime.js +2 -2
- package/dist/runtime-api.js +4 -4
- package/dist/secret-contract-api.js +1 -1
- package/dist/session-binding-contract-api.js +1 -1
- package/dist/setup-entry.js +2 -2
- 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.d.ts +129 -129
- package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.cjs +688 -688
- package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.js +512 -512
- 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 +84 -84
- package/node_modules/@openclaw/fs-safe/CHANGELOG.md +35 -0
- package/node_modules/@openclaw/fs-safe/README.md +1 -1
- package/node_modules/@openclaw/fs-safe/dist/advanced.d.ts +1 -1
- package/node_modules/@openclaw/fs-safe/dist/advanced.js +1 -1
- package/node_modules/@openclaw/fs-safe/dist/archive-durability.js +1 -1
- package/node_modules/@openclaw/fs-safe/dist/archive-merge.js +4 -4
- package/node_modules/@openclaw/fs-safe/dist/archive-parser.wasm +0 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-read.js +5 -4
- package/node_modules/@openclaw/fs-safe/dist/archive-staging.d.ts +1 -1
- package/node_modules/@openclaw/fs-safe/dist/archive-staging.js +22 -38
- package/node_modules/@openclaw/fs-safe/dist/copy-path-admission.d.ts +17 -0
- package/node_modules/@openclaw/fs-safe/dist/copy-path-admission.js +117 -0
- package/node_modules/@openclaw/fs-safe/dist/copy-root-file-sync.d.ts +8 -5
- package/node_modules/@openclaw/fs-safe/dist/copy-root-file-sync.js +27 -50
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-acquire.d.ts +3 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-acquire.js +57 -11
- package/node_modules/@openclaw/fs-safe/dist/guarded-mutation.js +5 -5
- package/node_modules/@openclaw/fs-safe/dist/guest-native-python.js +52 -5
- package/node_modules/@openclaw/fs-safe/dist/guest.js +1 -1
- package/node_modules/@openclaw/fs-safe/dist/native-binding.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/native-operations.d.ts +0 -1
- package/node_modules/@openclaw/fs-safe/dist/native-operations.js +22 -26
- package/node_modules/@openclaw/fs-safe/dist/native-pinned-write-windows.js +5 -1
- package/node_modules/@openclaw/fs-safe/dist/native-staged-file.js +4 -1
- package/node_modules/@openclaw/fs-safe/dist/permission-exec.js +2 -1
- package/node_modules/@openclaw/fs-safe/dist/pinned-write-types.d.ts +6 -1
- package/node_modules/@openclaw/fs-safe/dist/private-temp-workspace.js +2 -2
- package/node_modules/@openclaw/fs-safe/dist/publish-file.js +34 -7
- package/node_modules/@openclaw/fs-safe/dist/replace-file-copy-fallback.js +1 -4
- package/node_modules/@openclaw/fs-safe/dist/replace-file-descriptor.js +6 -0
- package/node_modules/@openclaw/fs-safe/dist/root-create-input.d.ts +15 -1
- package/node_modules/@openclaw/fs-safe/dist/root-create-input.js +4 -0
- package/node_modules/@openclaw/fs-safe/dist/root-directory-entry.js +1 -1
- package/node_modules/@openclaw/fs-safe/dist/root-directory-list.d.ts +0 -1
- package/node_modules/@openclaw/fs-safe/dist/root-directory-list.js +6 -12
- package/node_modules/@openclaw/fs-safe/dist/root-impl.js +15 -15
- package/node_modules/@openclaw/fs-safe/dist/root-paths.js +1 -1
- package/node_modules/@openclaw/fs-safe/dist/root-walk.js +4 -4
- package/node_modules/@openclaw/fs-safe/dist/root-write-verification.d.ts +10 -1
- package/node_modules/@openclaw/fs-safe/dist/root-write-verification.js +20 -0
- package/node_modules/@openclaw/fs-safe/dist/secure-temp-dir.js +19 -7
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-acquire.js +25 -3
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-admission.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-retained.d.ts +14 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-retained.js +187 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock.js +15 -1
- package/node_modules/@openclaw/fs-safe/dist/temp-directory-diagnostics.d.ts +10 -0
- package/node_modules/@openclaw/fs-safe/dist/temp-directory-diagnostics.js +29 -0
- package/node_modules/@openclaw/fs-safe/dist/temp-target.js +1 -1
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-admission.js +6 -6
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-child-admission.d.ts +4 -4
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-child-admission.js +17 -16
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-descriptor.js +20 -28
- package/node_modules/@openclaw/fs-safe/dist/walk.js +2 -13
- package/node_modules/@openclaw/fs-safe/dist/watch-native.d.ts +2 -2
- package/node_modules/@openclaw/fs-safe/dist/watch-native.js +3 -1
- package/node_modules/@openclaw/fs-safe/dist/watch-rescan.js +3 -9
- package/node_modules/@openclaw/fs-safe/dist/watch.js +2 -3
- package/node_modules/@openclaw/fs-safe/docs/advanced.md +1 -1
- package/node_modules/@openclaw/fs-safe/docs/archive.md +3 -0
- package/node_modules/@openclaw/fs-safe/docs/atomic.md +11 -3
- package/node_modules/@openclaw/fs-safe/docs/contributing.md +1 -1
- package/node_modules/@openclaw/fs-safe/docs/copy.md +48 -0
- package/node_modules/@openclaw/fs-safe/docs/guest.md +21 -4
- package/node_modules/@openclaw/fs-safe/docs/path-scope.md +4 -0
- package/node_modules/@openclaw/fs-safe/docs/sidecar-lock.md +46 -8
- package/node_modules/@openclaw/fs-safe/docs/temp.md +12 -0
- package/node_modules/@openclaw/fs-safe/docs/watch.md +3 -2
- package/node_modules/@openclaw/fs-safe/package.json +15 -15
- package/node_modules/@openclaw/fs-safe-darwin-arm64/fs-safe-native.node +0 -0
- package/node_modules/@openclaw/fs-safe-darwin-arm64/package.json +1 -1
- package/node_modules/@openclaw/fs-safe-darwin-x64/fs-safe-native.node +0 -0
- package/node_modules/@openclaw/fs-safe-darwin-x64/package.json +1 -1
- package/node_modules/@openclaw/fs-safe-linux-arm64-gnu/fs-safe-native.node +0 -0
- package/node_modules/@openclaw/fs-safe-linux-arm64-gnu/package.json +1 -1
- package/node_modules/@openclaw/fs-safe-linux-arm64-musl/fs-safe-native.node +0 -0
- package/node_modules/@openclaw/fs-safe-linux-arm64-musl/package.json +1 -1
- package/node_modules/@openclaw/fs-safe-linux-x64-gnu/fs-safe-native.node +0 -0
- package/node_modules/@openclaw/fs-safe-linux-x64-gnu/package.json +1 -1
- package/node_modules/@openclaw/fs-safe-linux-x64-musl/fs-safe-native.node +0 -0
- package/node_modules/@openclaw/fs-safe-linux-x64-musl/package.json +1 -1
- package/node_modules/@openclaw/fs-safe-win32-x64-msvc/fs-safe-native.node +0 -0
- package/node_modules/@openclaw/fs-safe-win32-x64-msvc/package.json +1 -1
- package/node_modules/matrix-widget-api/lib/interfaces/RtcLivekitActions.d.ts +6 -12
- package/node_modules/matrix-widget-api/lib/interfaces/RtcLivekitActions.js.map +1 -1
- package/node_modules/matrix-widget-api/package.json +1 -1
- package/node_modules/matrix-widget-api/src/interfaces/RtcLivekitActions.ts +6 -13
- package/node_modules/music-metadata/README.md +35 -32
- package/node_modules/music-metadata/lib/ParserFactory.d.ts +1 -1
- package/node_modules/music-metadata/lib/ParserFactory.js +17 -13
- package/node_modules/music-metadata/lib/aiff/AiffParser.js +19 -12
- package/node_modules/music-metadata/lib/aiff/AiffToken.d.ts +1 -1
- package/node_modules/music-metadata/lib/aiff/AiffToken.js +2 -1
- package/node_modules/music-metadata/lib/apev2/APEv2Parser.d.ts +4 -3
- package/node_modules/music-metadata/lib/apev2/APEv2Parser.js +59 -16
- package/node_modules/music-metadata/lib/apev2/APEv2TagMapper.js +1 -0
- package/node_modules/music-metadata/lib/apev2/APEv2Token.d.ts +1 -1
- package/node_modules/music-metadata/lib/apev2/APEv2Token.js +1 -1
- package/node_modules/music-metadata/lib/asf/AsfGuid.js +56 -50
- package/node_modules/music-metadata/lib/asf/AsfObject.d.ts +1 -1
- package/node_modules/music-metadata/lib/asf/AsfObject.js +3 -2
- package/node_modules/music-metadata/lib/asf/AsfParser.js +15 -7
- package/node_modules/music-metadata/lib/asf/AsfTagMapper.d.ts +3 -2
- package/node_modules/music-metadata/lib/asf/AsfTagMapper.js +21 -4
- package/node_modules/music-metadata/lib/common/CaseInsensitiveTagMap.d.ts +1 -1
- package/node_modules/music-metadata/lib/common/CombinedTagMapper.d.ts +2 -2
- package/node_modules/music-metadata/lib/common/CombinedTagMapper.js +6 -6
- package/node_modules/music-metadata/lib/common/FourCC.js +3 -2
- package/node_modules/music-metadata/lib/common/GenericTagMapper.d.ts +1 -1
- package/node_modules/music-metadata/lib/common/GenericTagTypes.js +1 -1
- package/node_modules/music-metadata/lib/common/MetadataCollector.d.ts +3 -1
- package/node_modules/music-metadata/lib/common/MetadataCollector.js +28 -9
- package/node_modules/music-metadata/lib/common/Util.js +25 -17
- package/node_modules/music-metadata/lib/core.d.ts +4 -4
- package/node_modules/music-metadata/lib/core.js +18 -11
- package/node_modules/music-metadata/lib/dsdiff/DsdiffParser.js +29 -16
- package/node_modules/music-metadata/lib/dsf/DsfChunk.d.ts +1 -1
- package/node_modules/music-metadata/lib/dsf/DsfParser.js +3 -5
- package/node_modules/music-metadata/lib/ebml/EbmlIterator.d.ts +1 -1
- package/node_modules/music-metadata/lib/ebml/EbmlIterator.js +35 -6
- package/node_modules/music-metadata/lib/ebml/types.d.ts +1 -1
- package/node_modules/music-metadata/lib/ebml/types.js +1 -1
- package/node_modules/music-metadata/lib/flac/FlacParser.d.ts +1 -1
- package/node_modules/music-metadata/lib/flac/FlacParser.js +6 -5
- package/node_modules/music-metadata/lib/flac/FlacToken.d.ts +1 -1
- package/node_modules/music-metadata/lib/flac/FlacToken.js +1 -1
- package/node_modules/music-metadata/lib/id3v1/ID3v1Parser.d.ts +1 -1
- package/node_modules/music-metadata/lib/id3v1/ID3v1Parser.js +212 -42
- package/node_modules/music-metadata/lib/id3v2/AbstractID3Parser.js +5 -5
- package/node_modules/music-metadata/lib/id3v2/FrameHeader.d.ts +1 -1
- package/node_modules/music-metadata/lib/id3v2/FrameHeader.js +8 -5
- package/node_modules/music-metadata/lib/id3v2/FrameParser.d.ts +2 -1
- package/node_modules/music-metadata/lib/id3v2/FrameParser.js +54 -23
- package/node_modules/music-metadata/lib/id3v2/ID3v22TagMapper.d.ts +1 -1
- package/node_modules/music-metadata/lib/id3v2/ID3v22TagMapper.js +1 -1
- package/node_modules/music-metadata/lib/id3v2/ID3v24TagMapper.js +3 -3
- package/node_modules/music-metadata/lib/id3v2/ID3v2ChapterToken.js +2 -2
- package/node_modules/music-metadata/lib/id3v2/ID3v2Parser.d.ts +1 -1
- package/node_modules/music-metadata/lib/id3v2/ID3v2Parser.js +32 -16
- package/node_modules/music-metadata/lib/id3v2/ID3v2Token.d.ts +2 -2
- package/node_modules/music-metadata/lib/id3v2/ID3v2Token.js +2 -3
- package/node_modules/music-metadata/lib/index.js +6 -3
- package/node_modules/music-metadata/lib/lrc/LyricsParser.js +3 -5
- package/node_modules/music-metadata/lib/matroska/MatroskaDtd.js +7 -3
- package/node_modules/music-metadata/lib/matroska/MatroskaParser.js +22 -11
- package/node_modules/music-metadata/lib/matroska/types.d.ts +2 -2
- package/node_modules/music-metadata/lib/mp4/Atom.d.ts +4 -3
- package/node_modules/music-metadata/lib/mp4/Atom.js +44 -11
- package/node_modules/music-metadata/lib/mp4/AtomToken.d.ts +1 -1
- package/node_modules/music-metadata/lib/mp4/AtomToken.js +30 -8
- package/node_modules/music-metadata/lib/mp4/MP4Parser.d.ts +2 -0
- package/node_modules/music-metadata/lib/mp4/MP4Parser.js +79 -54
- package/node_modules/music-metadata/lib/mp4/MP4TagMapper.d.ts +2 -2
- package/node_modules/music-metadata/lib/mpeg/MpegLoader.js +1 -1
- package/node_modules/music-metadata/lib/mpeg/MpegParser.js +41 -19
- package/node_modules/music-metadata/lib/mpeg/ReplayGainDataFormat.d.ts +2 -2
- package/node_modules/music-metadata/lib/mpeg/ReplayGainDataFormat.js +1 -1
- package/node_modules/music-metadata/lib/mpeg/XingTag.d.ts +1 -1
- package/node_modules/music-metadata/lib/musepack/MusepackParser.js +2 -2
- package/node_modules/music-metadata/lib/musepack/sv7/BitReader.js +1 -1
- package/node_modules/music-metadata/lib/musepack/sv7/MpcSv7Parser.js +4 -3
- package/node_modules/music-metadata/lib/musepack/sv7/StreamVersion7.js +3 -3
- package/node_modules/music-metadata/lib/musepack/sv8/MpcSv8Parser.js +7 -5
- package/node_modules/music-metadata/lib/musepack/sv8/StreamVersion8.js +2 -2
- package/node_modules/music-metadata/lib/ogg/OggParser.js +23 -13
- package/node_modules/music-metadata/lib/ogg/OggToken.d.ts +2 -0
- package/node_modules/music-metadata/lib/ogg/OggToken.js +1 -1
- package/node_modules/music-metadata/lib/ogg/flac/FlacStream.d.ts +2 -2
- package/node_modules/music-metadata/lib/ogg/flac/FlacStream.js +2 -2
- package/node_modules/music-metadata/lib/ogg/opus/OpusStream.d.ts +2 -2
- package/node_modules/music-metadata/lib/ogg/opus/OpusStream.js +8 -4
- package/node_modules/music-metadata/lib/ogg/speex/SpeexStream.d.ts +2 -2
- package/node_modules/music-metadata/lib/ogg/speex/SpeexStream.js +2 -1
- package/node_modules/music-metadata/lib/ogg/theora/TheoraStream.d.ts +2 -2
- package/node_modules/music-metadata/lib/ogg/vorbis/Vorbis.d.ts +1 -1
- package/node_modules/music-metadata/lib/ogg/vorbis/VorbisDecoder.js +1 -1
- package/node_modules/music-metadata/lib/ogg/vorbis/VorbisStream.d.ts +4 -3
- package/node_modules/music-metadata/lib/ogg/vorbis/VorbisStream.js +16 -9
- package/node_modules/music-metadata/lib/ogg/vorbis/VorbisTagMapper.js +4 -0
- package/node_modules/music-metadata/lib/riff/RiffChunk.d.ts +3 -1
- package/node_modules/music-metadata/lib/riff/RiffChunk.js +3 -2
- package/node_modules/music-metadata/lib/riff/RiffInfoTagMap.d.ts +1 -1
- package/node_modules/music-metadata/lib/type.d.ts +3 -3
- package/node_modules/music-metadata/lib/type.js +1 -1
- package/node_modules/music-metadata/lib/wav/WaveChunk.d.ts +1 -1
- package/node_modules/music-metadata/lib/wav/WaveChunk.js +3 -2
- package/node_modules/music-metadata/lib/wav/WaveParser.d.ts +6 -2
- package/node_modules/music-metadata/lib/wav/WaveParser.js +75 -22
- package/node_modules/music-metadata/lib/wavpack/WavPackParser.js +22 -13
- package/node_modules/music-metadata/lib/wavpack/WavPackToken.js +3 -2
- package/node_modules/music-metadata/package.json +3 -2
- package/node_modules/uint8array-extras/index.d.ts +7 -7
- package/node_modules/uint8array-extras/index.js +27 -13
- package/node_modules/uint8array-extras/package.json +6 -6
- package/node_modules/uint8array-extras/readme.md +7 -7
- package/package.json +7 -7
- package/dist/.setup/accounts-C_r0UlEm.mjs +0 -138
- package/dist/.setup/config-update-CZndPxNd.mjs +0 -102
- package/dist/.setup/profile-DS0xdJAi.mjs +0 -80
- package/dist/.setup/setup-core-6DppLENo.mjs +0 -377
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-arbitration.d.ts +0 -17
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-arbitration.js +0 -66
- package/node_modules/@openclaw/fs-safe/dist/publish-file-native.d.ts +0 -4
- package/node_modules/@openclaw/fs-safe/dist/publish-file-native.js +0 -35
- package/node_modules/@openclaw/fs-safe/dist/root-move-preflight.d.ts +0 -7
- package/node_modules/@openclaw/fs-safe/dist/root-move-preflight.js +0 -16
- package/dist/.setup/{errors-DKVS3_DO.mjs → errors-Bw4EHwKX.mjs} +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as __exportAll } from "./doctor-contract-CsTNmbMa.mjs";
|
|
2
|
-
import { n as listMatrixEnvAccountIds, t as getMatrixScopedEnvVarNames } from "./env-vars-
|
|
2
|
+
import { n as listMatrixEnvAccountIds, t as getMatrixScopedEnvVarNames } from "./env-vars-aEBngJPa.mjs";
|
|
3
3
|
import { DEFAULT_ACCOUNT_ID, normalizeAccountId, normalizeOptionalAccountId } from "openclaw/plugin-sdk/account-id";
|
|
4
4
|
import { isRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
5
5
|
import { listCombinedAccountIds, listConfiguredAccountIds, resolveListedDefaultAccountId, resolveNormalizedAccountEntry } from "openclaw/plugin-sdk/account-core";
|
|
@@ -14,9 +14,6 @@ const MATRIX_DEFAULT_ACCOUNT_AUTH_ONLY_FIELDS = /* @__PURE__ */ new Set([
|
|
|
14
14
|
function resolveMatrixStringSourceValue(value) {
|
|
15
15
|
return typeof value === "string" ? value : "";
|
|
16
16
|
}
|
|
17
|
-
function shouldAllowBaseAuthFallback(accountId, field) {
|
|
18
|
-
return normalizeAccountId(accountId) === DEFAULT_ACCOUNT_ID || !MATRIX_DEFAULT_ACCOUNT_AUTH_ONLY_FIELDS.has(field);
|
|
19
|
-
}
|
|
20
17
|
function resolveMatrixAccountStringValues(params) {
|
|
21
18
|
const fields = [
|
|
22
19
|
"homeserver",
|
|
@@ -27,7 +24,8 @@ function resolveMatrixAccountStringValues(params) {
|
|
|
27
24
|
"deviceName"
|
|
28
25
|
];
|
|
29
26
|
const resolved = {};
|
|
30
|
-
|
|
27
|
+
const isDefaultAccount = normalizeAccountId(params.accountId) === DEFAULT_ACCOUNT_ID;
|
|
28
|
+
for (const field of fields) resolved[field] = resolveMatrixStringSourceValue(params.account?.[field]) || resolveMatrixStringSourceValue(params.scopedEnv?.[field]) || (isDefaultAccount || !MATRIX_DEFAULT_ACCOUNT_AUTH_ONLY_FIELDS.has(field) ? resolveMatrixStringSourceValue(params.channel?.[field]) || resolveMatrixStringSourceValue(params.globalEnv?.[field]) : "");
|
|
31
29
|
return resolved;
|
|
32
30
|
}
|
|
33
31
|
//#endregion
|
package/dist/.setup/{approval-handler.runtime-QkHLH2az.mjs → approval-handler.runtime-rxLn8CbP.mjs}
RENAMED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { a as resolveMatrixAccountConfig } from "./account-config-CRsKoMqJ.mjs";
|
|
2
|
-
import { c as shouldHandleMatrixApprovalRequest, r as isMatrixAnyApprovalClientEnabled } from "./exec-approvals-
|
|
3
|
-
import {
|
|
4
|
-
import { a as repairMatrixDirectRooms } from "./direct-management-
|
|
5
|
-
import { a as sendSingleTextMessageMatrix, n as reactMatrixMessage, r as sendMessageMatrix } from "./send-
|
|
2
|
+
import { c as shouldHandleMatrixApprovalRequest, r as isMatrixAnyApprovalClientEnabled } from "./exec-approvals-BgNWWJg1.mjs";
|
|
3
|
+
import { s as resolveMatrixTargetIdentity } from "./target-ids-HhcaKX1n.mjs";
|
|
4
|
+
import { a as repairMatrixDirectRooms } from "./direct-management-B3wYhx_M.mjs";
|
|
5
|
+
import { a as sendSingleTextMessageMatrix, n as reactMatrixMessage, r as sendMessageMatrix } from "./send-LCOuTVc1.mjs";
|
|
6
6
|
import { a as unregisterMatrixApprovalReactionTarget, n as listMatrixApprovalReactionBindings, r as registerMatrixApprovalReactionTarget, t as buildMatrixApprovalReactionHint } from "./approval-reactions-DhB6gNPU.mjs";
|
|
7
|
-
import { n as editMatrixMessage, t as deleteMatrixMessage } from "./messages-
|
|
7
|
+
import { n as editMatrixMessage, t as deleteMatrixMessage } from "./messages-B1CZqU8u.mjs";
|
|
8
8
|
import { listMessageReceiptPlatformIds, resolveMessageReceiptPrimaryId } from "openclaw/plugin-sdk/channel-outbound";
|
|
9
|
-
import { normalizeUniqueStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
9
|
+
import { normalizeStringifiedOptionalString, normalizeUniqueStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
10
10
|
import { buildChannelApprovalNativeTargetKey } from "openclaw/plugin-sdk/approval-native-runtime";
|
|
11
11
|
import { normalizeAccountId } from "openclaw/plugin-sdk/routing";
|
|
12
12
|
import { createChannelApprovalNativeRuntimeAdapter } from "openclaw/plugin-sdk/approval-handler-runtime";
|
|
@@ -23,7 +23,12 @@ function resolveHandlerContext(params) {
|
|
|
23
23
|
if (!context?.client || !accountId) return null;
|
|
24
24
|
return {
|
|
25
25
|
accountId,
|
|
26
|
-
context
|
|
26
|
+
context,
|
|
27
|
+
clientOptions: {
|
|
28
|
+
cfg: params.cfg,
|
|
29
|
+
accountId,
|
|
30
|
+
client: context.client
|
|
31
|
+
}
|
|
27
32
|
};
|
|
28
33
|
}
|
|
29
34
|
function normalizeReactionTargetRef(params) {
|
|
@@ -37,8 +42,13 @@ function normalizeReactionTargetRef(params) {
|
|
|
37
42
|
eventId
|
|
38
43
|
};
|
|
39
44
|
}
|
|
40
|
-
function
|
|
41
|
-
|
|
45
|
+
function resolveEntryReactionTarget(params) {
|
|
46
|
+
const accountId = params.accountId?.trim();
|
|
47
|
+
return accountId ? normalizeReactionTargetRef({
|
|
48
|
+
accountId,
|
|
49
|
+
roomId: params.entry.roomId,
|
|
50
|
+
eventId: params.entry.reactionEventId
|
|
51
|
+
}) : null;
|
|
42
52
|
}
|
|
43
53
|
function isSingleMatrixMessageLimitError(error) {
|
|
44
54
|
return error instanceof Error && error.message.includes("Matrix single-message text exceeds limit");
|
|
@@ -50,36 +60,6 @@ async function retryMatrixApprovalDelivery(operation, params = {}) {
|
|
|
50
60
|
shouldRetry: (error) => params.shouldRetry?.(error) !== false
|
|
51
61
|
});
|
|
52
62
|
}
|
|
53
|
-
async function prepareTarget(params) {
|
|
54
|
-
const resolved = resolveHandlerContext(params);
|
|
55
|
-
if (!resolved) return null;
|
|
56
|
-
const target = resolveMatrixTargetIdentity(params.rawTarget.to);
|
|
57
|
-
if (!target) return null;
|
|
58
|
-
const threadId = normalizeThreadId(params.rawTarget.threadId);
|
|
59
|
-
if (target.kind === "user") {
|
|
60
|
-
const accountConfig = resolveMatrixAccountConfig({
|
|
61
|
-
cfg: params.cfg,
|
|
62
|
-
accountId: resolved.accountId
|
|
63
|
-
});
|
|
64
|
-
const repairDirectRooms = resolved.context.deps?.repairDirectRooms ?? repairMatrixDirectRooms;
|
|
65
|
-
const repaired = await retryMatrixApprovalDelivery(async () => await repairDirectRooms({
|
|
66
|
-
client: resolved.context.client,
|
|
67
|
-
remoteUserId: target.id,
|
|
68
|
-
encrypted: accountConfig.encryption === true
|
|
69
|
-
}));
|
|
70
|
-
if (!repaired.activeRoomId) return null;
|
|
71
|
-
return {
|
|
72
|
-
to: `room:${repaired.activeRoomId}`,
|
|
73
|
-
roomId: repaired.activeRoomId,
|
|
74
|
-
threadId
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
return {
|
|
78
|
-
to: `room:${target.id}`,
|
|
79
|
-
roomId: target.id,
|
|
80
|
-
threadId
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
63
|
function buildMatrixApprovalMetadata(params) {
|
|
84
64
|
const base = {
|
|
85
65
|
version: 1,
|
|
@@ -255,19 +235,42 @@ const matrixApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapter({
|
|
|
255
235
|
buildExpiredResult: () => ({ kind: "delete" })
|
|
256
236
|
},
|
|
257
237
|
transport: {
|
|
258
|
-
prepareTarget: ({ cfg, accountId, context, plannedTarget }) => {
|
|
259
|
-
|
|
238
|
+
prepareTarget: async ({ cfg, accountId, context, plannedTarget }) => {
|
|
239
|
+
const resolved = resolveHandlerContext({
|
|
260
240
|
cfg,
|
|
261
241
|
accountId,
|
|
262
|
-
context
|
|
263
|
-
|
|
264
|
-
|
|
242
|
+
context
|
|
243
|
+
});
|
|
244
|
+
if (!resolved) return null;
|
|
245
|
+
const target = resolveMatrixTargetIdentity(plannedTarget.target.to);
|
|
246
|
+
if (!target) return null;
|
|
247
|
+
const threadId = normalizeStringifiedOptionalString(plannedTarget.target.threadId);
|
|
248
|
+
let roomId = target.id;
|
|
249
|
+
if (target.kind === "user") {
|
|
250
|
+
const accountConfig = resolveMatrixAccountConfig({
|
|
251
|
+
cfg,
|
|
252
|
+
accountId: resolved.accountId
|
|
253
|
+
});
|
|
254
|
+
const repairDirectRooms = resolved.context.deps?.repairDirectRooms ?? repairMatrixDirectRooms;
|
|
255
|
+
const repaired = await retryMatrixApprovalDelivery(() => repairDirectRooms({
|
|
256
|
+
client: resolved.context.client,
|
|
257
|
+
remoteUserId: target.id,
|
|
258
|
+
encrypted: accountConfig.encryption === true
|
|
259
|
+
}));
|
|
260
|
+
if (!repaired.activeRoomId) return null;
|
|
261
|
+
roomId = repaired.activeRoomId;
|
|
262
|
+
}
|
|
263
|
+
return {
|
|
265
264
|
dedupeKey: buildChannelApprovalNativeTargetKey({
|
|
266
|
-
to:
|
|
267
|
-
threadId
|
|
265
|
+
to: roomId,
|
|
266
|
+
threadId
|
|
268
267
|
}),
|
|
269
|
-
target:
|
|
270
|
-
|
|
268
|
+
target: {
|
|
269
|
+
to: `room:${roomId}`,
|
|
270
|
+
roomId,
|
|
271
|
+
threadId
|
|
272
|
+
}
|
|
273
|
+
};
|
|
271
274
|
},
|
|
272
275
|
deliverPending: async ({ cfg, accountId, context, preparedTarget, pendingPayload, view }) => {
|
|
273
276
|
const resolved = resolveHandlerContext({
|
|
@@ -279,19 +282,17 @@ const matrixApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapter({
|
|
|
279
282
|
const sendSingleTextMessage = resolved.context.deps?.sendSingleTextMessage ?? sendSingleTextMessageMatrix;
|
|
280
283
|
const reactMessage = resolved.context.deps?.reactMessage ?? reactMatrixMessage;
|
|
281
284
|
const sendOptions = {
|
|
282
|
-
|
|
283
|
-
accountId: resolved.accountId,
|
|
284
|
-
client: resolved.context.client,
|
|
285
|
+
...resolved.clientOptions,
|
|
285
286
|
threadId: preparedTarget.threadId,
|
|
286
287
|
extraContent: pendingPayload.extraContent
|
|
287
288
|
};
|
|
288
289
|
let result;
|
|
289
290
|
try {
|
|
290
|
-
result = await retryMatrixApprovalDelivery(
|
|
291
|
+
result = await retryMatrixApprovalDelivery(() => sendSingleTextMessage(preparedTarget.to, pendingPayload.text, sendOptions), { shouldRetry: (error) => !isSingleMatrixMessageLimitError(error) });
|
|
291
292
|
} catch (error) {
|
|
292
293
|
if (!isSingleMatrixMessageLimitError(error)) throw error;
|
|
293
294
|
const sendMessage = resolved.context.deps?.sendMessage ?? sendMessageMatrix;
|
|
294
|
-
result = await retryMatrixApprovalDelivery(
|
|
295
|
+
result = await retryMatrixApprovalDelivery(() => sendMessage(preparedTarget.to, pendingPayload.text, sendOptions));
|
|
295
296
|
}
|
|
296
297
|
const receiptMessageIds = listMessageReceiptPlatformIds(result.receipt);
|
|
297
298
|
const platformMessageIds = receiptMessageIds.length ? receiptMessageIds : [result.messageId.trim()].filter(Boolean);
|
|
@@ -306,11 +307,7 @@ const matrixApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapter({
|
|
|
306
307
|
ttlMs: view.expiresAtMs - Date.now()
|
|
307
308
|
});
|
|
308
309
|
await Promise.allSettled(listMatrixApprovalReactionBindings(pendingPayload.allowedDecisions).map(async ({ emoji }) => {
|
|
309
|
-
await reactMessage(result.roomId, reactionEventId, emoji,
|
|
310
|
-
cfg,
|
|
311
|
-
accountId: resolved.accountId,
|
|
312
|
-
client: resolved.context.client
|
|
313
|
-
});
|
|
310
|
+
await reactMessage(result.roomId, reactionEventId, emoji, resolved.clientOptions);
|
|
314
311
|
}));
|
|
315
312
|
return {
|
|
316
313
|
roomId: result.roomId,
|
|
@@ -329,15 +326,9 @@ const matrixApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapter({
|
|
|
329
326
|
const deleteMessage = resolved.context.deps?.deleteMessage ?? deleteMatrixMessage;
|
|
330
327
|
const [primaryMessageId, ...staleMessageIds] = normalizeUniqueStringEntries(entry.platformMessageIds);
|
|
331
328
|
if (!primaryMessageId) return;
|
|
332
|
-
await Promise.allSettled([editMessage(entry.roomId, primaryMessageId, payload, {
|
|
333
|
-
cfg,
|
|
334
|
-
accountId: resolved.accountId,
|
|
335
|
-
client: resolved.context.client
|
|
336
|
-
}), ...staleMessageIds.map(async (messageId) => {
|
|
329
|
+
await Promise.allSettled([editMessage(entry.roomId, primaryMessageId, payload, resolved.clientOptions), ...staleMessageIds.map(async (messageId) => {
|
|
337
330
|
await deleteMessage(entry.roomId, messageId, {
|
|
338
|
-
|
|
339
|
-
accountId: resolved.accountId,
|
|
340
|
-
client: resolved.context.client,
|
|
331
|
+
...resolved.clientOptions,
|
|
341
332
|
reason: "approval resolved"
|
|
342
333
|
});
|
|
343
334
|
})]);
|
|
@@ -352,9 +343,7 @@ const matrixApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapter({
|
|
|
352
343
|
const deleteMessage = resolved.context.deps?.deleteMessage ?? deleteMatrixMessage;
|
|
353
344
|
await Promise.allSettled(normalizeUniqueStringEntries(entry.platformMessageIds).map(async (messageId) => {
|
|
354
345
|
await deleteMessage(entry.roomId, messageId, {
|
|
355
|
-
|
|
356
|
-
accountId: resolved.accountId,
|
|
357
|
-
client: resolved.context.client,
|
|
346
|
+
...resolved.clientOptions,
|
|
358
347
|
reason: phase === "expired" ? "approval expired" : "approval resolved"
|
|
359
348
|
});
|
|
360
349
|
}));
|
|
@@ -362,13 +351,7 @@ const matrixApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapter({
|
|
|
362
351
|
},
|
|
363
352
|
interactions: {
|
|
364
353
|
bindPending: async (params) => {
|
|
365
|
-
const
|
|
366
|
-
if (!accountId) return null;
|
|
367
|
-
const target = normalizeReactionTargetRef({
|
|
368
|
-
accountId,
|
|
369
|
-
roomId: params.entry.roomId,
|
|
370
|
-
eventId: params.entry.reactionEventId
|
|
371
|
-
});
|
|
354
|
+
const target = resolveEntryReactionTarget(params);
|
|
372
355
|
if (!target) return null;
|
|
373
356
|
await registerMatrixApprovalReactionTarget({
|
|
374
357
|
accountId: target.accountId,
|
|
@@ -387,13 +370,7 @@ const matrixApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapter({
|
|
|
387
370
|
await unregisterMatrixApprovalReactionTarget(target);
|
|
388
371
|
},
|
|
389
372
|
cancelDelivered: async (params) => {
|
|
390
|
-
const
|
|
391
|
-
if (!accountId) return;
|
|
392
|
-
const target = normalizeReactionTargetRef({
|
|
393
|
-
accountId,
|
|
394
|
-
roomId: params.entry.roomId,
|
|
395
|
-
eventId: params.entry.reactionEventId
|
|
396
|
-
});
|
|
373
|
+
const target = resolveEntryReactionTarget(params);
|
|
397
374
|
if (!target) return;
|
|
398
375
|
await unregisterMatrixApprovalReactionTarget(target);
|
|
399
376
|
}
|
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
import { i as __exportAll, n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-CsTNmbMa.mjs";
|
|
2
|
-
import { i as requiresExplicitMatrixDefaultAccount, n as findMatrixAccountEntry, r as hasImplicitMatrixAccountConfig } from "./account-selection-
|
|
2
|
+
import { i as requiresExplicitMatrixDefaultAccount, n as findMatrixAccountEntry, r as hasImplicitMatrixAccountConfig } from "./account-selection-Bs_jCAaG.mjs";
|
|
3
3
|
import { a as resolveMatrixAccountConfig } from "./account-config-CRsKoMqJ.mjs";
|
|
4
|
-
import {
|
|
5
|
-
import { i as normalizeMatrixUserId, t as matrixPluginBase } from "./channel.setup-
|
|
6
|
-
import { a as isMatrixExecApprovalAuthorizedSender, c as shouldHandleMatrixApprovalRequest, d as matrixApprovalAuth, f as normalizeMatrixApproverId, i as isMatrixApprovalClientEnabled, l as shouldSuppressLocalMatrixExecApprovalPrompt, n as getMatrixExecApprovalApprovers, o as isMatrixExecApprovalClientEnabled, r as isMatrixAnyApprovalClientEnabled, s as resolveMatrixExecApprovalTarget, t as getMatrixApprovalApprovers, u as getMatrixApprovalAuthApprovers } from "./exec-approvals-
|
|
7
|
-
import { a as
|
|
8
|
-
import { d as setMatrixThreadBindingMaxAgeBySessionKey, l as setMatrixThreadBindingIdleTimeoutBySessionKey } from "./thread-bindings-shared-
|
|
9
|
-
import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-
|
|
10
|
-
import { n as resolveMatrixInboundConversation, t as defaultTopLevelPlacement } from "./thread-binding-api-
|
|
4
|
+
import { _ as resolveMatrixAccount, g as resolveDefaultMatrixAccountId, m as listMatrixAccountIds, v as resolveMatrixAccountAsync } from "./setup-core-CKnNTfgD.mjs";
|
|
5
|
+
import { i as normalizeMatrixUserId, t as matrixPluginBase } from "./channel.setup-CwuYD_CT.mjs";
|
|
6
|
+
import { a as isMatrixExecApprovalAuthorizedSender, c as shouldHandleMatrixApprovalRequest, d as matrixApprovalAuth, f as normalizeMatrixApproverId, i as isMatrixApprovalClientEnabled, l as shouldSuppressLocalMatrixExecApprovalPrompt, n as getMatrixExecApprovalApprovers, o as isMatrixExecApprovalClientEnabled, r as isMatrixAnyApprovalClientEnabled, s as resolveMatrixExecApprovalTarget, t as getMatrixApprovalApprovers, u as getMatrixApprovalAuthApprovers } from "./exec-approvals-BgNWWJg1.mjs";
|
|
7
|
+
import { a as normalizeMatrixResolvableTarget, i as normalizeMatrixMessagingTarget, n as isMatrixQualifiedUserId, o as resolveMatrixDirectUserId, r as isMatrixRoomId, s as resolveMatrixTargetIdentity } from "./target-ids-HhcaKX1n.mjs";
|
|
8
|
+
import { d as setMatrixThreadBindingMaxAgeBySessionKey, l as setMatrixThreadBindingIdleTimeoutBySessionKey } from "./thread-bindings-shared-CbsFNbAY.mjs";
|
|
9
|
+
import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-DSBRvhdZ.mjs";
|
|
10
|
+
import { n as resolveMatrixInboundConversation, t as defaultTopLevelPlacement } from "./thread-binding-api-BvuaKpd0.mjs";
|
|
11
11
|
import { createLazyRuntimeModule, createLazyRuntimeNamedExport } from "openclaw/plugin-sdk/lazy-runtime";
|
|
12
12
|
import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-id";
|
|
13
13
|
import { adaptScopedAccountAccessor, createScopedDmSecurityResolver } from "openclaw/plugin-sdk/channel-config-helpers";
|
|
14
14
|
import { buildChannelOutboundSessionRoute, buildThreadAwareOutboundSessionRoute, createChatChannelPlugin } from "openclaw/plugin-sdk/channel-core";
|
|
15
15
|
import { createChannelMessageAdapterFromOutbound, createRuntimeOutboundDelegates } from "openclaw/plugin-sdk/channel-outbound";
|
|
16
|
+
import { createPairingPrefixStripper } from "openclaw/plugin-sdk/channel-pairing";
|
|
16
17
|
import { createAllowlistProviderOpenWarningCollector, createConditionalWarningCollector, resolveScopeRequireMention, resolveScopeToolsPolicy } from "openclaw/plugin-sdk/channel-policy";
|
|
18
|
+
import { PAIRING_APPROVED_MESSAGE } from "openclaw/plugin-sdk/channel-status";
|
|
17
19
|
import { createScopedAccountReplyToModeResolver } from "openclaw/plugin-sdk/conversation-runtime";
|
|
18
20
|
import { createChannelDirectoryAdapter, createResolvedDirectoryEntriesLister, createRuntimeDirectoryLiveAdapter } from "openclaw/plugin-sdk/directory-runtime";
|
|
21
|
+
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
19
22
|
import { buildProbeChannelStatusSummary, collectStatusIssuesFromLastError, createComputedAccountStatusAdapter, createDefaultChannelRuntimeState } from "openclaw/plugin-sdk/status-helpers";
|
|
20
23
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
21
24
|
import { chunkTextForOutbound, sanitizeAssistantVisibleText } from "openclaw/plugin-sdk/text-chunking";
|
|
@@ -25,9 +28,6 @@ import { Type } from "typebox";
|
|
|
25
28
|
import { createApproverRestrictedNativeApprovalCapability, createChannelApprovalCapability, splitChannelApprovalCapability } from "openclaw/plugin-sdk/approval-delivery-runtime";
|
|
26
29
|
import { createLazyChannelApprovalNativeRuntimeAdapter } from "openclaw/plugin-sdk/approval-handler-adapter-runtime";
|
|
27
30
|
import { createChannelNativeOriginTargetResolver, resolveApprovalRequestSessionConversation } from "openclaw/plugin-sdk/approval-native-runtime";
|
|
28
|
-
import { createPairingPrefixStripper } from "openclaw/plugin-sdk/channel-pairing";
|
|
29
|
-
import { PAIRING_APPROVED_MESSAGE } from "openclaw/plugin-sdk/channel-status";
|
|
30
|
-
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
31
31
|
import { buildAgentSessionKey, deriveLastRoutePolicy, parseThreadSessionSuffix, resolveAgentIdFromSessionKey, resolveAgentRoute, resolveThreadSessionKeys } from "openclaw/plugin-sdk/routing";
|
|
32
32
|
import { buildChannelKeyCandidates } from "openclaw/plugin-sdk/channel-targets";
|
|
33
33
|
import { resolveConfiguredAcpBindingRecord } from "openclaw/plugin-sdk/acp-binding-resolve-runtime";
|
|
@@ -61,25 +61,15 @@ const MATRIX_PROFILE_MEDIA_PROPERTIES = {
|
|
|
61
61
|
const MATRIX_PROFILE_MEDIA_SOURCE_PARAMS = Object.freeze(["avatarUrl", "avatarPath"]);
|
|
62
62
|
function createMatrixExposedActions(params) {
|
|
63
63
|
const actions = /* @__PURE__ */ new Set(["poll", "poll-vote"]);
|
|
64
|
-
|
|
65
|
-
actions.add(
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
if (params.gate("reactions")) {
|
|
71
|
-
actions.add("react");
|
|
72
|
-
actions.add("reactions");
|
|
73
|
-
actions.add("emoji-list");
|
|
74
|
-
}
|
|
75
|
-
if (params.gate("pins")) {
|
|
76
|
-
actions.add("pin");
|
|
77
|
-
actions.add("unpin");
|
|
78
|
-
actions.add("list-pins");
|
|
79
|
-
}
|
|
64
|
+
const addGatedActions = (gate, ...names) => {
|
|
65
|
+
if (params.gate(gate)) for (const name of names) actions.add(name);
|
|
66
|
+
};
|
|
67
|
+
addGatedActions("messages", "send", "read", "edit", "delete");
|
|
68
|
+
addGatedActions("reactions", "react", "reactions", "emoji-list");
|
|
69
|
+
addGatedActions("pins", "pin", "unpin", "list-pins");
|
|
80
70
|
if (params.gate("profile") && params.senderIsOwner === true) actions.add("set-profile");
|
|
81
|
-
|
|
82
|
-
|
|
71
|
+
addGatedActions("memberInfo", "member-info");
|
|
72
|
+
addGatedActions("channelInfo", "channel-info");
|
|
83
73
|
if (params.encryptionEnabled && params.gate("verification") && params.senderIsOwner === true) actions.add("permissions");
|
|
84
74
|
return actions;
|
|
85
75
|
}
|
|
@@ -154,7 +144,7 @@ const matrixMessageActions = {
|
|
|
154
144
|
return account.enabled && account.configured && createActionGate(account.config.actions)("messages") ? payload : null;
|
|
155
145
|
},
|
|
156
146
|
handleAction: async (ctx) => {
|
|
157
|
-
const { handleMatrixAction } = await import("./tool-actions-
|
|
147
|
+
const { handleMatrixAction } = await import("./tool-actions-DAp6_XSJ.mjs");
|
|
158
148
|
return await handleMatrixAction(ctx);
|
|
159
149
|
}
|
|
160
150
|
};
|
|
@@ -285,7 +275,7 @@ const matrixNativeApprovalCapability = createApproverRestrictedNativeApprovalCap
|
|
|
285
275
|
],
|
|
286
276
|
isConfigured: isMatrixAnyApprovalClientEnabled,
|
|
287
277
|
shouldHandle: shouldHandleMatrixApprovalRequest,
|
|
288
|
-
load: async () => (await import("./approval-handler.runtime-
|
|
278
|
+
load: async () => (await import("./approval-handler.runtime-rxLn8CbP.mjs")).matrixApprovalNativeRuntime
|
|
289
279
|
})
|
|
290
280
|
});
|
|
291
281
|
const splitMatrixApprovalCapability = splitChannelApprovalCapability(matrixNativeApprovalCapability);
|
|
@@ -361,48 +351,6 @@ const matrixApprovalCapability = createChannelApprovalCapability({
|
|
|
361
351
|
render: matrixNativeApprovalCapability.render
|
|
362
352
|
});
|
|
363
353
|
//#endregion
|
|
364
|
-
//#region extensions/matrix/src/channel-account-paths.ts
|
|
365
|
-
function createMatrixProbeAccount(params) {
|
|
366
|
-
return async ({ account, timeoutMs, cfg }) => {
|
|
367
|
-
try {
|
|
368
|
-
const auth = await params.resolveMatrixAuth({
|
|
369
|
-
cfg,
|
|
370
|
-
accountId: account.accountId
|
|
371
|
-
});
|
|
372
|
-
return await params.probeMatrix({
|
|
373
|
-
homeserver: auth.homeserver,
|
|
374
|
-
accessToken: auth.accessToken,
|
|
375
|
-
userId: auth.userId,
|
|
376
|
-
deviceId: auth.deviceId,
|
|
377
|
-
timeoutMs: timeoutMs ?? 5e3,
|
|
378
|
-
accountId: account.accountId,
|
|
379
|
-
allowPrivateNetwork: auth.allowPrivateNetwork,
|
|
380
|
-
ssrfPolicy: auth.ssrfPolicy,
|
|
381
|
-
dispatcherPolicy: auth.dispatcherPolicy
|
|
382
|
-
});
|
|
383
|
-
} catch (err) {
|
|
384
|
-
return {
|
|
385
|
-
ok: false,
|
|
386
|
-
error: formatErrorMessage(err),
|
|
387
|
-
elapsedMs: 0
|
|
388
|
-
};
|
|
389
|
-
}
|
|
390
|
-
};
|
|
391
|
-
}
|
|
392
|
-
function createMatrixPairingText(sendMessageMatrix) {
|
|
393
|
-
return {
|
|
394
|
-
idLabel: "matrixUserId",
|
|
395
|
-
message: PAIRING_APPROVED_MESSAGE,
|
|
396
|
-
normalizeAllowEntry: createPairingPrefixStripper(/^matrix:/i),
|
|
397
|
-
notify: async ({ id, message, cfg, accountId }) => {
|
|
398
|
-
await sendMessageMatrix(`user:${id}`, message, {
|
|
399
|
-
cfg,
|
|
400
|
-
...accountId ? { accountId } : {}
|
|
401
|
-
});
|
|
402
|
-
}
|
|
403
|
-
};
|
|
404
|
-
}
|
|
405
|
-
//#endregion
|
|
406
354
|
//#region extensions/matrix/src/channel-message-adapter.ts
|
|
407
355
|
function createMatrixMessageAdapter(params) {
|
|
408
356
|
const base = createChannelMessageAdapterFromOutbound({
|
|
@@ -492,8 +440,8 @@ function resolveMatrixGroupScope(params) {
|
|
|
492
440
|
accountId: params.accountId
|
|
493
441
|
});
|
|
494
442
|
const tree = buildMatrixRoomScopeTree(matrixConfig.groups ?? matrixConfig.rooms);
|
|
495
|
-
const roomId = normalizeMatrixResolvableTarget(params.groupId
|
|
496
|
-
const groupChannel = normalizeMatrixResolvableTarget(params.groupChannel
|
|
443
|
+
const roomId = normalizeMatrixResolvableTarget(params.groupId ?? "");
|
|
444
|
+
const groupChannel = normalizeMatrixResolvableTarget(params.groupChannel ?? "");
|
|
497
445
|
return {
|
|
498
446
|
tree,
|
|
499
447
|
path: resolveMatrixRoomScopePath({
|
|
@@ -675,7 +623,7 @@ const matrixPresentationCapabilities = {
|
|
|
675
623
|
};
|
|
676
624
|
//#endregion
|
|
677
625
|
//#region extensions/matrix/src/resolver.ts
|
|
678
|
-
const loadMatrixResolver = createLazyRuntimeNamedExport(() => import("./resolve-targets-
|
|
626
|
+
const loadMatrixResolver = createLazyRuntimeNamedExport(() => import("./resolve-targets-BVVbbvP6.mjs").then((n) => n.n), "resolveMatrixTargets");
|
|
679
627
|
const matrixResolverAdapter = { resolveTargets: async (params) => (await loadMatrixResolver())(params) };
|
|
680
628
|
//#endregion
|
|
681
629
|
//#region extensions/matrix/src/matrix/session-store-metadata.ts
|
|
@@ -787,8 +735,8 @@ function resolveMatrixOutboundSessionRoute(params) {
|
|
|
787
735
|
}
|
|
788
736
|
//#endregion
|
|
789
737
|
//#region extensions/matrix/src/channel.ts
|
|
790
|
-
const loadMatrixChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-
|
|
791
|
-
const loadMatrixMonitorModule = createLazyRuntimeModule(() => import("./monitor-
|
|
738
|
+
const loadMatrixChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-CUc6rbu1.mjs"), "matrixChannelRuntime");
|
|
739
|
+
const loadMatrixMonitorModule = createLazyRuntimeModule(() => import("./monitor-Dk_fQL1k.mjs").catch((error) => {
|
|
792
740
|
loadMatrixMonitorModule.clear();
|
|
793
741
|
throw error;
|
|
794
742
|
}));
|
|
@@ -800,39 +748,45 @@ const matrixDoctor = {
|
|
|
800
748
|
legacyConfigRules,
|
|
801
749
|
normalizeCompatibilityConfig
|
|
802
750
|
};
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
resolveAccount: (cfg, accountId) => resolveMatrixAccountConfig({
|
|
751
|
+
function resolveMatrixDirectoryAccount(cfg, accountId) {
|
|
752
|
+
return resolveMatrixAccountConfig({
|
|
806
753
|
cfg,
|
|
807
754
|
accountId: accountId ?? resolveDefaultMatrixAccountId(cfg)
|
|
808
|
-
})
|
|
755
|
+
});
|
|
756
|
+
}
|
|
757
|
+
function normalizeMatrixDirectoryId(entry, kind) {
|
|
758
|
+
const raw = entry.replace(/^matrix:/i, "").trim();
|
|
759
|
+
if (!raw || raw === "*") return null;
|
|
760
|
+
const lowered = normalizeLowercaseStringOrEmpty(raw);
|
|
761
|
+
if (kind === "user") {
|
|
762
|
+
const cleaned = lowered.startsWith("user:") ? raw.slice(5).trim() : raw;
|
|
763
|
+
return cleaned.startsWith("@") ? `user:${cleaned}` : cleaned;
|
|
764
|
+
}
|
|
765
|
+
if (lowered.startsWith("room:") || lowered.startsWith("channel:")) return raw;
|
|
766
|
+
return raw.startsWith("!") ? `room:${raw}` : raw;
|
|
767
|
+
}
|
|
768
|
+
const listMatrixDirectoryPeersFromConfig = createResolvedDirectoryEntriesLister({
|
|
769
|
+
kind: "user",
|
|
770
|
+
resolveAccount: resolveMatrixDirectoryAccount,
|
|
809
771
|
resolveSources: (account) => [
|
|
810
772
|
account.dm?.allowFrom ?? [],
|
|
811
773
|
account.groupAllowFrom ?? [],
|
|
812
774
|
...Object.values(account.groups ?? account.rooms ?? {}).map((room) => room.users ?? [])
|
|
813
775
|
],
|
|
814
|
-
normalizeId: (entry) =>
|
|
815
|
-
const raw = entry.replace(/^matrix:/i, "").trim();
|
|
816
|
-
if (!raw || raw === "*") return null;
|
|
817
|
-
const cleaned = normalizeLowercaseStringOrEmpty(raw).startsWith("user:") ? raw.slice(5).trim() : raw;
|
|
818
|
-
return cleaned.startsWith("@") ? `user:${cleaned}` : cleaned;
|
|
819
|
-
}
|
|
776
|
+
normalizeId: (entry) => normalizeMatrixDirectoryId(entry, "user")
|
|
820
777
|
});
|
|
821
778
|
const listMatrixDirectoryGroupsFromConfig = createResolvedDirectoryEntriesLister({
|
|
822
779
|
kind: "group",
|
|
823
|
-
resolveAccount:
|
|
824
|
-
cfg,
|
|
825
|
-
accountId: accountId ?? resolveDefaultMatrixAccountId(cfg)
|
|
826
|
-
}),
|
|
780
|
+
resolveAccount: resolveMatrixDirectoryAccount,
|
|
827
781
|
resolveSources: (account) => [Object.keys(account.groups ?? account.rooms ?? {})],
|
|
828
|
-
normalizeId: (entry) =>
|
|
829
|
-
const raw = entry.replace(/^matrix:/i, "").trim();
|
|
830
|
-
if (!raw || raw === "*") return null;
|
|
831
|
-
const lowered = normalizeLowercaseStringOrEmpty(raw);
|
|
832
|
-
if (lowered.startsWith("room:") || lowered.startsWith("channel:")) return raw;
|
|
833
|
-
return raw.startsWith("!") ? `room:${raw}` : raw;
|
|
834
|
-
}
|
|
782
|
+
normalizeId: (entry) => normalizeMatrixDirectoryId(entry, "group")
|
|
835
783
|
});
|
|
784
|
+
async function sendMatrixHeartbeatTyping(to, isTyping, cfg, accountId) {
|
|
785
|
+
await (await loadMatrixChannelRuntime()).sendTypingMatrix(to, isTyping, {
|
|
786
|
+
cfg,
|
|
787
|
+
...accountId ? { accountId } : {}
|
|
788
|
+
});
|
|
789
|
+
}
|
|
836
790
|
function projectMatrixConversationBinding(binding) {
|
|
837
791
|
return {
|
|
838
792
|
boundAt: binding.boundAt,
|
|
@@ -1071,14 +1025,32 @@ const matrixPlugin = createChatChannelPlugin({
|
|
|
1071
1025
|
defaultRuntime: createDefaultChannelRuntimeState(DEFAULT_ACCOUNT_ID),
|
|
1072
1026
|
collectStatusIssues: (accounts) => collectStatusIssuesFromLastError("matrix", accounts),
|
|
1073
1027
|
buildChannelSummary: ({ snapshot }) => buildProbeChannelStatusSummary(snapshot, { baseUrl: snapshot.baseUrl ?? null }),
|
|
1074
|
-
probeAccount: async ({ account, timeoutMs, cfg }) =>
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1028
|
+
probeAccount: async ({ account, timeoutMs, cfg }) => {
|
|
1029
|
+
try {
|
|
1030
|
+
const runtime = await loadMatrixChannelRuntime();
|
|
1031
|
+
const auth = await runtime.resolveMatrixAuth({
|
|
1032
|
+
cfg,
|
|
1033
|
+
accountId: account.accountId
|
|
1034
|
+
});
|
|
1035
|
+
return await runtime.probeMatrix({
|
|
1036
|
+
homeserver: auth.homeserver,
|
|
1037
|
+
accessToken: auth.accessToken,
|
|
1038
|
+
userId: auth.userId,
|
|
1039
|
+
deviceId: auth.deviceId,
|
|
1040
|
+
timeoutMs: timeoutMs ?? 5e3,
|
|
1041
|
+
accountId: account.accountId,
|
|
1042
|
+
allowPrivateNetwork: auth.allowPrivateNetwork,
|
|
1043
|
+
ssrfPolicy: auth.ssrfPolicy,
|
|
1044
|
+
dispatcherPolicy: auth.dispatcherPolicy
|
|
1045
|
+
});
|
|
1046
|
+
} catch (err) {
|
|
1047
|
+
return {
|
|
1048
|
+
ok: false,
|
|
1049
|
+
error: formatErrorMessage(err),
|
|
1050
|
+
elapsedMs: 0
|
|
1051
|
+
};
|
|
1052
|
+
}
|
|
1053
|
+
},
|
|
1082
1054
|
resolveAccountSnapshot: ({ account, runtime }) => ({
|
|
1083
1055
|
accountId: account.accountId,
|
|
1084
1056
|
name: account.name,
|
|
@@ -1113,18 +1085,8 @@ const matrixPlugin = createChatChannelPlugin({
|
|
|
1113
1085
|
} },
|
|
1114
1086
|
doctor: matrixDoctor,
|
|
1115
1087
|
heartbeat: {
|
|
1116
|
-
sendTyping:
|
|
1117
|
-
|
|
1118
|
-
cfg,
|
|
1119
|
-
...accountId ? { accountId } : {}
|
|
1120
|
-
});
|
|
1121
|
-
},
|
|
1122
|
-
clearTyping: async ({ cfg, to, accountId }) => {
|
|
1123
|
-
await (await loadMatrixChannelRuntime()).sendTypingMatrix(to, false, {
|
|
1124
|
-
cfg,
|
|
1125
|
-
...accountId ? { accountId } : {}
|
|
1126
|
-
});
|
|
1127
|
-
}
|
|
1088
|
+
sendTyping: ({ cfg, to, accountId }) => sendMatrixHeartbeatTyping(to, true, cfg, accountId),
|
|
1089
|
+
clearTyping: ({ cfg, to, accountId }) => sendMatrixHeartbeatTyping(to, false, cfg, accountId)
|
|
1128
1090
|
}
|
|
1129
1091
|
},
|
|
1130
1092
|
security: {
|
|
@@ -1134,7 +1096,17 @@ const matrixPlugin = createChatChannelPlugin({
|
|
|
1134
1096
|
cfg
|
|
1135
1097
|
})
|
|
1136
1098
|
},
|
|
1137
|
-
pairing: { text:
|
|
1099
|
+
pairing: { text: {
|
|
1100
|
+
idLabel: "matrixUserId",
|
|
1101
|
+
message: PAIRING_APPROVED_MESSAGE,
|
|
1102
|
+
normalizeAllowEntry: createPairingPrefixStripper(/^matrix:/i),
|
|
1103
|
+
notify: async ({ id, message, cfg, accountId }) => {
|
|
1104
|
+
await (await loadMatrixChannelRuntime()).sendMessageMatrix(`user:${id}`, message, {
|
|
1105
|
+
cfg,
|
|
1106
|
+
...accountId ? { accountId } : {}
|
|
1107
|
+
});
|
|
1108
|
+
}
|
|
1109
|
+
} },
|
|
1138
1110
|
threading: {
|
|
1139
1111
|
matchesToolContextTarget: matchesMatrixToolContextRoom,
|
|
1140
1112
|
resolveAutoThreadId: ({ to, toolContext }) => {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { S as reconcileMatrixUnknownSend, o as sendTypingMatrix, r as sendMessageMatrix, x as cleanupMatrixDeliveryPlans } from "./send-
|
|
2
|
-
import { u as resolveMatrixAuth } from "./client-
|
|
3
|
-
import { n as listMatrixDirectoryGroupsLive, r as listMatrixDirectoryPeersLive } from "./directory-live-
|
|
4
|
-
import { t as matrixOutbound } from "./outbound-
|
|
5
|
-
import { t as resolveMatrixTargets } from "./resolve-targets-
|
|
1
|
+
import { S as reconcileMatrixUnknownSend, o as sendTypingMatrix, r as sendMessageMatrix, x as cleanupMatrixDeliveryPlans } from "./send-LCOuTVc1.mjs";
|
|
2
|
+
import { u as resolveMatrixAuth } from "./client-vPPbaxNp.mjs";
|
|
3
|
+
import { n as listMatrixDirectoryGroupsLive, r as listMatrixDirectoryPeersLive } from "./directory-live-B1WbfSHo.mjs";
|
|
4
|
+
import { t as matrixOutbound } from "./outbound-LR3SqPIq.mjs";
|
|
5
|
+
import { t as resolveMatrixTargets } from "./resolve-targets-BVVbbvP6.mjs";
|
|
6
6
|
import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
|
|
7
|
-
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
8
7
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
8
|
+
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
9
9
|
import { runChannelProbe } from "openclaw/plugin-sdk/text-utility-runtime";
|
|
10
10
|
//#region extensions/matrix/src/matrix/probe.ts
|
|
11
|
-
const loadMatrixProbeRuntimeDeps = createLazyRuntimeModule(() => import("./client-
|
|
11
|
+
const loadMatrixProbeRuntimeDeps = createLazyRuntimeModule(() => import("./client-vPPbaxNp.mjs").then((n) => n.t));
|
|
12
12
|
async function probeMatrix(params) {
|
|
13
13
|
return await runChannelProbe(void 0, async () => {
|
|
14
14
|
const result = {
|
|
@@ -26,7 +26,7 @@ async function probeMatrix(params) {
|
|
|
26
26
|
};
|
|
27
27
|
const { createMatrixClient } = await loadMatrixProbeRuntimeDeps();
|
|
28
28
|
const inputUserId = normalizeOptionalString(params.userId);
|
|
29
|
-
const
|
|
29
|
+
const client = await createMatrixClient({
|
|
30
30
|
homeserver: params.homeserver,
|
|
31
31
|
userId: void 0,
|
|
32
32
|
accessToken: params.accessToken,
|
|
@@ -37,16 +37,21 @@ async function probeMatrix(params) {
|
|
|
37
37
|
allowPrivateNetwork: params.allowPrivateNetwork,
|
|
38
38
|
ssrfPolicy: params.ssrfPolicy,
|
|
39
39
|
dispatcherPolicy: params.dispatcherPolicy
|
|
40
|
-
})
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
40
|
+
});
|
|
41
|
+
try {
|
|
42
|
+
const userId = await client.getUserId();
|
|
43
|
+
if (inputUserId && inputUserId !== userId) return {
|
|
44
|
+
...result,
|
|
45
|
+
error: "Matrix access token user does not match configured userId"
|
|
46
|
+
};
|
|
47
|
+
return {
|
|
48
|
+
...result,
|
|
49
|
+
ok: true,
|
|
50
|
+
userId
|
|
51
|
+
};
|
|
52
|
+
} finally {
|
|
53
|
+
await client.stopWithoutPersist();
|
|
54
|
+
}
|
|
50
55
|
}, (error) => ({
|
|
51
56
|
ok: false,
|
|
52
57
|
status: typeof error === "object" && error && "statusCode" in error ? Number(error.statusCode) : null,
|