@archipelagolab/lobi 1.0.0 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +13 -17
- package/README.md +136 -0
- package/dist/APEv2Parser-6EMKXRZS.js +15 -0
- package/dist/APEv2Parser-6EMKXRZS.js.map +7 -0
- package/dist/AiffParser-E6XWRTXM.js +194 -0
- package/dist/AiffParser-E6XWRTXM.js.map +7 -0
- package/dist/AsfParser-WSOH2JQY.js +620 -0
- package/dist/AsfParser-WSOH2JQY.js.map +7 -0
- package/dist/DsdiffParser-EUWJ4YAR.js +192 -0
- package/dist/DsdiffParser-EUWJ4YAR.js.map +7 -0
- package/dist/DsfParser-R6TPBJIY.js +114 -0
- package/dist/DsfParser-R6TPBJIY.js.map +7 -0
- package/dist/FlacParser-VDASGZ3E.js +16 -0
- package/dist/FlacParser-VDASGZ3E.js.map +7 -0
- package/dist/MP4Parser-64RGJLUM.js +1145 -0
- package/dist/MP4Parser-64RGJLUM.js.map +7 -0
- package/dist/MatroskaParser-O6RXAKYA.js +662 -0
- package/dist/MatroskaParser-O6RXAKYA.js.map +7 -0
- package/dist/MpegParser-B6NX6DS3.js +652 -0
- package/dist/MpegParser-B6NX6DS3.js.map +7 -0
- package/dist/MusepackParser-WUBT63DS.js +331 -0
- package/dist/MusepackParser-WUBT63DS.js.map +7 -0
- package/dist/OggParser-ZY6E5C2P.js +448 -0
- package/dist/OggParser-ZY6E5C2P.js.map +7 -0
- package/dist/WavPackParser-5KTCSQEU.js +209 -0
- package/dist/WavPackParser-5KTCSQEU.js.map +7 -0
- package/dist/WaveParser-RZSHVQPZ.js +300 -0
- package/dist/WaveParser-RZSHVQPZ.js.map +7 -0
- package/dist/auth-presence.js +46 -0
- package/dist/auth-presence.js.map +7 -0
- package/dist/channel-plugin-api.js +79 -0
- package/dist/channel-plugin-api.js.map +7 -0
- package/dist/chunk-22WAAZ6I.js +114 -0
- package/dist/chunk-22WAAZ6I.js.map +7 -0
- package/dist/chunk-2A6HEFSO.js +676 -0
- package/dist/chunk-2A6HEFSO.js.map +7 -0
- package/dist/chunk-2KGHUHKU.js +169 -0
- package/dist/chunk-2KGHUHKU.js.map +7 -0
- package/dist/chunk-2NEQI4K6.js +171 -0
- package/dist/chunk-2NEQI4K6.js.map +7 -0
- package/dist/chunk-2OSJ3MTW.js +175 -0
- package/dist/chunk-2OSJ3MTW.js.map +7 -0
- package/dist/chunk-2Q626TDO.js +27 -0
- package/dist/chunk-2Q626TDO.js.map +7 -0
- package/dist/chunk-2U6OZ7N2.js +155 -0
- package/dist/chunk-2U6OZ7N2.js.map +7 -0
- package/dist/chunk-2Z4IOUDZ.js +129 -0
- package/dist/chunk-2Z4IOUDZ.js.map +7 -0
- package/dist/chunk-2ZEPAW7U.js +154 -0
- package/dist/chunk-2ZEPAW7U.js.map +7 -0
- package/dist/chunk-2ZI6JK5O.js +63 -0
- package/dist/chunk-2ZI6JK5O.js.map +7 -0
- package/dist/chunk-34UY6D6X.js +36 -0
- package/dist/chunk-34UY6D6X.js.map +7 -0
- package/dist/chunk-3JD6JSJD.js +111 -0
- package/dist/chunk-3JD6JSJD.js.map +7 -0
- package/dist/chunk-3TOEIHG5.js +314 -0
- package/dist/chunk-3TOEIHG5.js.map +7 -0
- package/dist/chunk-3TRKKAVT.js +130 -0
- package/dist/chunk-3TRKKAVT.js.map +7 -0
- package/dist/chunk-3UFTTK7C.js +418 -0
- package/dist/chunk-3UFTTK7C.js.map +7 -0
- package/dist/chunk-3XO6AAIC.js +25 -0
- package/dist/chunk-3XO6AAIC.js.map +7 -0
- package/dist/chunk-427SAQME.js +321 -0
- package/dist/chunk-427SAQME.js.map +7 -0
- package/dist/chunk-4JVNTZAI.js +80 -0
- package/dist/chunk-4JVNTZAI.js.map +7 -0
- package/dist/chunk-4O3BEYYM.js +187 -0
- package/dist/chunk-4O3BEYYM.js.map +7 -0
- package/dist/chunk-4Z2N4GW6.js +247 -0
- package/dist/chunk-4Z2N4GW6.js.map +7 -0
- package/dist/chunk-56HN4SH6.js +46 -0
- package/dist/chunk-56HN4SH6.js.map +7 -0
- package/dist/chunk-5APBBTGW.js +7 -0
- package/dist/chunk-5APBBTGW.js.map +7 -0
- package/dist/chunk-5LNGMBWW.js +93 -0
- package/dist/chunk-5LNGMBWW.js.map +7 -0
- package/dist/chunk-5XFQSYZ4.js +52 -0
- package/dist/chunk-5XFQSYZ4.js.map +7 -0
- package/dist/chunk-62N5N4AC.js +241 -0
- package/dist/chunk-62N5N4AC.js.map +7 -0
- package/dist/chunk-6HX3DEXK.js +178 -0
- package/dist/chunk-6HX3DEXK.js.map +7 -0
- package/dist/chunk-6NO5VEVV.js +18 -0
- package/dist/chunk-6NO5VEVV.js.map +7 -0
- package/dist/chunk-6PZGDVLR.js +465 -0
- package/dist/chunk-6PZGDVLR.js.map +7 -0
- package/dist/chunk-6SOGH3TW.js +163 -0
- package/dist/chunk-6SOGH3TW.js.map +7 -0
- package/dist/chunk-72TGY3LX.js +104 -0
- package/dist/chunk-72TGY3LX.js.map +7 -0
- package/dist/chunk-76IE55K7.js +392 -0
- package/dist/chunk-76IE55K7.js.map +7 -0
- package/dist/chunk-7F3242AO.js +86 -0
- package/dist/chunk-7F3242AO.js.map +7 -0
- package/dist/chunk-7FLQSTPG.js +57 -0
- package/dist/chunk-7FLQSTPG.js.map +7 -0
- package/dist/chunk-7MP46JBP.js +177 -0
- package/dist/chunk-7MP46JBP.js.map +7 -0
- package/dist/chunk-7MVZYR2T.js +87 -0
- package/dist/chunk-7MVZYR2T.js.map +7 -0
- package/dist/chunk-7N7ISMPG.js +50 -0
- package/dist/chunk-7N7ISMPG.js.map +7 -0
- package/dist/chunk-7S7LQQPX.js +127 -0
- package/dist/chunk-7S7LQQPX.js.map +7 -0
- package/dist/chunk-7TTNY5FK.js +21 -0
- package/dist/chunk-7TTNY5FK.js.map +7 -0
- package/dist/chunk-7W73QCTR.js +244 -0
- package/dist/chunk-7W73QCTR.js.map +7 -0
- package/dist/chunk-7XXLU33Y.js +76 -0
- package/dist/chunk-7XXLU33Y.js.map +7 -0
- package/dist/chunk-AAO7BQEV.js +258 -0
- package/dist/chunk-AAO7BQEV.js.map +7 -0
- package/dist/chunk-AH4MLRYT.js +91 -0
- package/dist/chunk-AH4MLRYT.js.map +7 -0
- package/dist/chunk-AHKR32FH.js +7 -0
- package/dist/chunk-AHKR32FH.js.map +7 -0
- package/dist/chunk-ALKRFDAW.js +94 -0
- package/dist/chunk-ALKRFDAW.js.map +7 -0
- package/dist/chunk-AQQGAE7N.js +12 -0
- package/dist/chunk-AQQGAE7N.js.map +7 -0
- package/dist/chunk-AWW3YUGJ.js +193 -0
- package/dist/chunk-AWW3YUGJ.js.map +7 -0
- package/dist/chunk-AX7VEEWJ.js +158 -0
- package/dist/chunk-AX7VEEWJ.js.map +7 -0
- package/dist/chunk-BAX7Q6GR.js +55 -0
- package/dist/chunk-BAX7Q6GR.js.map +7 -0
- package/dist/chunk-BBM6BR3Z.js +28 -0
- package/dist/chunk-BBM6BR3Z.js.map +7 -0
- package/dist/chunk-BHXZMHSX.js +109 -0
- package/dist/chunk-BHXZMHSX.js.map +7 -0
- package/dist/chunk-BIUXDLVY.js +62 -0
- package/dist/chunk-BIUXDLVY.js.map +7 -0
- package/dist/chunk-BMFZL2P4.js +97 -0
- package/dist/chunk-BMFZL2P4.js.map +7 -0
- package/dist/chunk-BQXEXK4H.js +114 -0
- package/dist/chunk-BQXEXK4H.js.map +7 -0
- package/dist/chunk-BU2CTWBG.js +30 -0
- package/dist/chunk-BU2CTWBG.js.map +7 -0
- package/dist/chunk-BVKSCLF7.js +195 -0
- package/dist/chunk-BVKSCLF7.js.map +7 -0
- package/dist/chunk-BWA3D22L.js +88 -0
- package/dist/chunk-BWA3D22L.js.map +7 -0
- package/dist/chunk-CE24RSPL.js +506 -0
- package/dist/chunk-CE24RSPL.js.map +7 -0
- package/dist/chunk-CETZGSCP.js +71 -0
- package/dist/chunk-CETZGSCP.js.map +7 -0
- package/dist/chunk-CGBWMONK.js +412 -0
- package/dist/chunk-CGBWMONK.js.map +7 -0
- package/dist/chunk-CPNIXMGX.js +127 -0
- package/dist/chunk-CPNIXMGX.js.map +7 -0
- package/dist/chunk-CSJO73LD.js +84 -0
- package/dist/chunk-CSJO73LD.js.map +7 -0
- package/dist/chunk-CTKBDSL6.js +81 -0
- package/dist/chunk-CTKBDSL6.js.map +7 -0
- package/dist/chunk-CY6WHUCW.js +54 -0
- package/dist/chunk-CY6WHUCW.js.map +7 -0
- package/dist/chunk-D7Q6Z74D.js +123 -0
- package/dist/chunk-D7Q6Z74D.js.map +7 -0
- package/dist/chunk-DZIM4OWK.js +17 -0
- package/dist/chunk-DZIM4OWK.js.map +7 -0
- package/dist/chunk-E3GC4V5V.js +30 -0
- package/dist/chunk-E3GC4V5V.js.map +7 -0
- package/dist/chunk-E5HPDHCW.js +34 -0
- package/dist/chunk-E5HPDHCW.js.map +7 -0
- package/dist/chunk-E75BJJZ2.js +635 -0
- package/dist/chunk-E75BJJZ2.js.map +7 -0
- package/dist/chunk-EE4DHUUZ.js +472 -0
- package/dist/chunk-EE4DHUUZ.js.map +7 -0
- package/dist/chunk-EHELTAAD.js +198 -0
- package/dist/chunk-EHELTAAD.js.map +7 -0
- package/dist/chunk-EKXPSI7Z.js +135 -0
- package/dist/chunk-EKXPSI7Z.js.map +7 -0
- package/dist/chunk-ERCH75SH.js +292 -0
- package/dist/chunk-ERCH75SH.js.map +7 -0
- package/dist/chunk-EVFWZGFL.js +235 -0
- package/dist/chunk-EVFWZGFL.js.map +7 -0
- package/dist/chunk-EVPBRKMZ.js +45 -0
- package/dist/chunk-EVPBRKMZ.js.map +7 -0
- package/dist/chunk-F6AFJHWV.js +45 -0
- package/dist/chunk-F6AFJHWV.js.map +7 -0
- package/dist/chunk-FG4NVFKM.js +455 -0
- package/dist/chunk-FG4NVFKM.js.map +7 -0
- package/dist/chunk-FHNEN6IR.js +14 -0
- package/dist/chunk-FHNEN6IR.js.map +7 -0
- package/dist/chunk-FQ4R7IOX.js +32 -0
- package/dist/chunk-FQ4R7IOX.js.map +7 -0
- package/dist/chunk-FQPYAPJJ.js +124 -0
- package/dist/chunk-FQPYAPJJ.js.map +7 -0
- package/dist/chunk-FQTLJO4W.js +335 -0
- package/dist/chunk-FQTLJO4W.js.map +7 -0
- package/dist/chunk-FVLJSB2W.js +124 -0
- package/dist/chunk-FVLJSB2W.js.map +7 -0
- package/dist/chunk-FYRKBNTI.js +18 -0
- package/dist/chunk-FYRKBNTI.js.map +7 -0
- package/dist/chunk-GD6L3SLC.js +30 -0
- package/dist/chunk-GD6L3SLC.js.map +7 -0
- package/dist/chunk-GI2ZANRY.js +24 -0
- package/dist/chunk-GI2ZANRY.js.map +7 -0
- package/dist/chunk-GK3XVKXT.js +737 -0
- package/dist/chunk-GK3XVKXT.js.map +7 -0
- package/dist/chunk-GKOWCDQV.js +699 -0
- package/dist/chunk-GKOWCDQV.js.map +7 -0
- package/dist/chunk-GLLRCKKE.js +26 -0
- package/dist/chunk-GLLRCKKE.js.map +7 -0
- package/dist/chunk-GNYG6I36.js +175 -0
- package/dist/chunk-GNYG6I36.js.map +7 -0
- package/dist/chunk-GVYGUH2V.js +7 -0
- package/dist/chunk-GVYGUH2V.js.map +7 -0
- package/dist/chunk-GZAGAWSU.js +28 -0
- package/dist/chunk-GZAGAWSU.js.map +7 -0
- package/dist/chunk-H23E72SB.js +163 -0
- package/dist/chunk-H23E72SB.js.map +7 -0
- package/dist/chunk-H6YVV7GE.js +22 -0
- package/dist/chunk-H6YVV7GE.js.map +7 -0
- package/dist/chunk-HDPICD3P.js +4890 -0
- package/dist/chunk-HDPICD3P.js.map +7 -0
- package/dist/chunk-HP5HMWOM.js +123 -0
- package/dist/chunk-HP5HMWOM.js.map +7 -0
- package/dist/chunk-HQSHS6IB.js +88 -0
- package/dist/chunk-HQSHS6IB.js.map +7 -0
- package/dist/chunk-HTV3R73W.js +51 -0
- package/dist/chunk-HTV3R73W.js.map +7 -0
- package/dist/chunk-IJCMYMZB.js +239 -0
- package/dist/chunk-IJCMYMZB.js.map +7 -0
- package/dist/chunk-INNENDEE.js +472 -0
- package/dist/chunk-INNENDEE.js.map +7 -0
- package/dist/chunk-IOTLSMEQ.js +177 -0
- package/dist/chunk-IOTLSMEQ.js.map +7 -0
- package/dist/chunk-IQYYEHSM.js +300 -0
- package/dist/chunk-IQYYEHSM.js.map +7 -0
- package/dist/chunk-IRA5NJ4Q.js +21 -0
- package/dist/chunk-IRA5NJ4Q.js.map +7 -0
- package/dist/chunk-IU7EXXK7.js +1662 -0
- package/dist/chunk-IU7EXXK7.js.map +7 -0
- package/dist/chunk-IUXAKDAY.js +102 -0
- package/dist/chunk-IUXAKDAY.js.map +7 -0
- package/dist/chunk-JMYIFYY5.js +233 -0
- package/dist/chunk-JMYIFYY5.js.map +7 -0
- package/dist/chunk-JSZBX2TA.js +5853 -0
- package/dist/chunk-JSZBX2TA.js.map +7 -0
- package/dist/chunk-KHFWQ334.js +138 -0
- package/dist/chunk-KHFWQ334.js.map +7 -0
- package/dist/chunk-KJW6JLM6.js +95 -0
- package/dist/chunk-KJW6JLM6.js.map +7 -0
- package/dist/chunk-KSEANSJE.js +40 -0
- package/dist/chunk-KSEANSJE.js.map +7 -0
- package/dist/chunk-KVU54E6W.js +63 -0
- package/dist/chunk-KVU54E6W.js.map +7 -0
- package/dist/chunk-L5OUVMHK.js +174 -0
- package/dist/chunk-L5OUVMHK.js.map +7 -0
- package/dist/chunk-LIVQ7GIO.js +86 -0
- package/dist/chunk-LIVQ7GIO.js.map +7 -0
- package/dist/chunk-LO4F6E3N.js +163 -0
- package/dist/chunk-LO4F6E3N.js.map +7 -0
- package/dist/chunk-LSVKDUNM.js +151 -0
- package/dist/chunk-LSVKDUNM.js.map +7 -0
- package/dist/chunk-LVMK2GPM.js +18 -0
- package/dist/chunk-LVMK2GPM.js.map +7 -0
- package/dist/chunk-LXVPETLK.js +1405 -0
- package/dist/chunk-LXVPETLK.js.map +7 -0
- package/dist/chunk-LZNW24OB.js +78 -0
- package/dist/chunk-LZNW24OB.js.map +7 -0
- package/dist/chunk-MAF6PSCJ.js +44 -0
- package/dist/chunk-MAF6PSCJ.js.map +7 -0
- package/dist/chunk-MBIX6Z7U.js +80 -0
- package/dist/chunk-MBIX6Z7U.js.map +7 -0
- package/dist/chunk-MDLLXMC3.js +183 -0
- package/dist/chunk-MDLLXMC3.js.map +7 -0
- package/dist/chunk-MEI5HTWV.js +127 -0
- package/dist/chunk-MEI5HTWV.js.map +7 -0
- package/dist/chunk-MH74AJ3A.js +82 -0
- package/dist/chunk-MH74AJ3A.js.map +7 -0
- package/dist/chunk-MIFIM4PI.js +163 -0
- package/dist/chunk-MIFIM4PI.js.map +7 -0
- package/dist/chunk-MISZB5QJ.js +22 -0
- package/dist/chunk-MISZB5QJ.js.map +7 -0
- package/dist/chunk-MJ27XQYG.js +125 -0
- package/dist/chunk-MJ27XQYG.js.map +7 -0
- package/dist/chunk-MLQY5SKR.js +52 -0
- package/dist/chunk-MLQY5SKR.js.map +7 -0
- package/dist/chunk-MTMHGC3G.js +39 -0
- package/dist/chunk-MTMHGC3G.js.map +7 -0
- package/dist/chunk-MWBAW3YV.js +244 -0
- package/dist/chunk-MWBAW3YV.js.map +7 -0
- package/dist/chunk-MZGGB2YT.js +50 -0
- package/dist/chunk-MZGGB2YT.js.map +7 -0
- package/dist/chunk-N5SNGZJV.js +217 -0
- package/dist/chunk-N5SNGZJV.js.map +7 -0
- package/dist/chunk-NGCTBYQ3.js +181 -0
- package/dist/chunk-NGCTBYQ3.js.map +7 -0
- package/dist/chunk-NMUX7SGU.js +676 -0
- package/dist/chunk-NMUX7SGU.js.map +7 -0
- package/dist/chunk-NO7GMLNU.js +292 -0
- package/dist/chunk-NO7GMLNU.js.map +7 -0
- package/dist/chunk-NTOGVX2Y.js +92 -0
- package/dist/chunk-NTOGVX2Y.js.map +7 -0
- package/dist/chunk-O5IVKDX7.js +30 -0
- package/dist/chunk-O5IVKDX7.js.map +7 -0
- package/dist/chunk-OFWMLQMU.js +7287 -0
- package/dist/chunk-OFWMLQMU.js.map +7 -0
- package/dist/chunk-OJ3ZUKBI.js +73 -0
- package/dist/chunk-OJ3ZUKBI.js.map +7 -0
- package/dist/chunk-OJTHE4B7.js +50 -0
- package/dist/chunk-OJTHE4B7.js.map +7 -0
- package/dist/chunk-OOYPYBTA.js +446 -0
- package/dist/chunk-OOYPYBTA.js.map +7 -0
- package/dist/chunk-OQP4W4AR.js +105 -0
- package/dist/chunk-OQP4W4AR.js.map +7 -0
- package/dist/chunk-OVTT2EKA.js +516 -0
- package/dist/chunk-OVTT2EKA.js.map +7 -0
- package/dist/chunk-P5N63LBS.js +94 -0
- package/dist/chunk-P5N63LBS.js.map +7 -0
- package/dist/chunk-PARITZ7F.js +28 -0
- package/dist/chunk-PARITZ7F.js.map +7 -0
- package/dist/chunk-PBQK4KY4.js +195 -0
- package/dist/chunk-PBQK4KY4.js.map +7 -0
- package/dist/chunk-PSL2AHIA.js +27 -0
- package/dist/chunk-PSL2AHIA.js.map +7 -0
- package/dist/chunk-Q5QT7JBM.js +92 -0
- package/dist/chunk-Q5QT7JBM.js.map +7 -0
- package/dist/chunk-Q7WA5DCR.js +62 -0
- package/dist/chunk-Q7WA5DCR.js.map +7 -0
- package/dist/chunk-QATEENP2.js +7 -0
- package/dist/chunk-QATEENP2.js.map +7 -0
- package/dist/chunk-QDT24CIA.js +485 -0
- package/dist/chunk-QDT24CIA.js.map +7 -0
- package/dist/chunk-QI3NB7D5.js +455 -0
- package/dist/chunk-QI3NB7D5.js.map +7 -0
- package/dist/chunk-QIDAVXSX.js +106 -0
- package/dist/chunk-QIDAVXSX.js.map +7 -0
- package/dist/chunk-QKIGQVP2.js +104 -0
- package/dist/chunk-QKIGQVP2.js.map +7 -0
- package/dist/chunk-QNJENPK2.js +81 -0
- package/dist/chunk-QNJENPK2.js.map +7 -0
- package/dist/chunk-REVXXWAS.js +31 -0
- package/dist/chunk-REVXXWAS.js.map +7 -0
- package/dist/chunk-RFH4HRZP.js +94 -0
- package/dist/chunk-RFH4HRZP.js.map +7 -0
- package/dist/chunk-RNGAGYCL.js +49 -0
- package/dist/chunk-RNGAGYCL.js.map +7 -0
- package/dist/chunk-RPCVN3JA.js +261 -0
- package/dist/chunk-RPCVN3JA.js.map +7 -0
- package/dist/chunk-RQQE5DDT.js +193 -0
- package/dist/chunk-RQQE5DDT.js.map +7 -0
- package/dist/chunk-RVOD3ESA.js +38 -0
- package/dist/chunk-RVOD3ESA.js.map +7 -0
- package/dist/chunk-SAOUP24A.js +70 -0
- package/dist/chunk-SAOUP24A.js.map +7 -0
- package/dist/chunk-SFZL2TCV.js +55 -0
- package/dist/chunk-SFZL2TCV.js.map +7 -0
- package/dist/chunk-SJPFUXBV.js +45 -0
- package/dist/chunk-SJPFUXBV.js.map +7 -0
- package/dist/chunk-SLIUQWAR.js +58 -0
- package/dist/chunk-SLIUQWAR.js.map +7 -0
- package/dist/chunk-SSEX66OL.js +39 -0
- package/dist/chunk-SSEX66OL.js.map +7 -0
- package/dist/chunk-SX2LOHOX.js +251 -0
- package/dist/chunk-SX2LOHOX.js.map +7 -0
- package/dist/chunk-T72EMFTX.js +74 -0
- package/dist/chunk-T72EMFTX.js.map +7 -0
- package/dist/chunk-TA2QJPPG.js +169 -0
- package/dist/chunk-TA2QJPPG.js.map +7 -0
- package/dist/chunk-TFEETDNY.js +78 -0
- package/dist/chunk-TFEETDNY.js.map +7 -0
- package/dist/chunk-THM2QV25.js +108 -0
- package/dist/chunk-THM2QV25.js.map +7 -0
- package/dist/chunk-TRWT2N6Z.js +15 -0
- package/dist/chunk-TRWT2N6Z.js.map +7 -0
- package/dist/chunk-TTXEM54Y.js +76 -0
- package/dist/chunk-TTXEM54Y.js.map +7 -0
- package/dist/chunk-U4LVIY5F.js +1405 -0
- package/dist/chunk-U4LVIY5F.js.map +7 -0
- package/dist/chunk-U767LCSG.js +78 -0
- package/dist/chunk-U767LCSG.js.map +7 -0
- package/dist/chunk-U7GKLHU6.js +120 -0
- package/dist/chunk-U7GKLHU6.js.map +7 -0
- package/dist/chunk-UAB5P5QO.js +60 -0
- package/dist/chunk-UAB5P5QO.js.map +7 -0
- package/dist/chunk-UEHPJQBL.js +38 -0
- package/dist/chunk-UEHPJQBL.js.map +7 -0
- package/dist/chunk-UIBV6IGR.js +31 -0
- package/dist/chunk-UIBV6IGR.js.map +7 -0
- package/dist/chunk-UIYFRUET.js +16352 -0
- package/dist/chunk-UIYFRUET.js.map +7 -0
- package/dist/chunk-UJS3TIVS.js +52 -0
- package/dist/chunk-UJS3TIVS.js.map +7 -0
- package/dist/chunk-UU5PSBSI.js +176 -0
- package/dist/chunk-UU5PSBSI.js.map +7 -0
- package/dist/chunk-UV63XYFU.js +173 -0
- package/dist/chunk-UV63XYFU.js.map +7 -0
- package/dist/chunk-UWPHOAOC.js +29 -0
- package/dist/chunk-UWPHOAOC.js.map +7 -0
- package/dist/chunk-UXDDOSJC.js +52 -0
- package/dist/chunk-UXDDOSJC.js.map +7 -0
- package/dist/chunk-V3VAOMCO.js +465 -0
- package/dist/chunk-V3VAOMCO.js.map +7 -0
- package/dist/chunk-VA7ENH2S.js +38 -0
- package/dist/chunk-VA7ENH2S.js.map +7 -0
- package/dist/chunk-VFPDFLVE.js +516 -0
- package/dist/chunk-VFPDFLVE.js.map +7 -0
- package/dist/chunk-VHG4FNIJ.js +93 -0
- package/dist/chunk-VHG4FNIJ.js.map +7 -0
- package/dist/chunk-VKOO6MIZ.js +51 -0
- package/dist/chunk-VKOO6MIZ.js.map +7 -0
- package/dist/chunk-VKXKRZG7.js +62 -0
- package/dist/chunk-VKXKRZG7.js.map +7 -0
- package/dist/chunk-VUOLPEUZ.js +7 -0
- package/dist/chunk-VUOLPEUZ.js.map +7 -0
- package/dist/chunk-W6SOBS7M.js +138 -0
- package/dist/chunk-W6SOBS7M.js.map +7 -0
- package/dist/chunk-WDOKKRTE.js +7 -0
- package/dist/chunk-WDOKKRTE.js.map +7 -0
- package/dist/chunk-WGXXKFN5.js +7 -0
- package/dist/chunk-WGXXKFN5.js.map +7 -0
- package/dist/chunk-WHPUUP3J.js +25 -0
- package/dist/chunk-WHPUUP3J.js.map +7 -0
- package/dist/chunk-XF7LD6VV.js +122 -0
- package/dist/chunk-XF7LD6VV.js.map +7 -0
- package/dist/chunk-XFTXM3RE.js +64 -0
- package/dist/chunk-XFTXM3RE.js.map +7 -0
- package/dist/chunk-XJABPO2T.js +235 -0
- package/dist/chunk-XJABPO2T.js.map +7 -0
- package/dist/chunk-XK6VF3H7.js +3586 -0
- package/dist/chunk-XK6VF3H7.js.map +7 -0
- package/dist/chunk-XQYIIPOJ.js +266 -0
- package/dist/chunk-XQYIIPOJ.js.map +7 -0
- package/dist/chunk-XZSAN55E.js +58 -0
- package/dist/chunk-XZSAN55E.js.map +7 -0
- package/dist/chunk-Y3KJR4OG.js +64 -0
- package/dist/chunk-Y3KJR4OG.js.map +7 -0
- package/dist/chunk-Y4JKH7FF.js +45 -0
- package/dist/chunk-Y4JKH7FF.js.map +7 -0
- package/dist/chunk-Y6CJN4ID.js +31 -0
- package/dist/chunk-Y6CJN4ID.js.map +7 -0
- package/dist/chunk-YABGJU5M.js +271 -0
- package/dist/chunk-YABGJU5M.js.map +7 -0
- package/dist/chunk-YEJH7ZC2.js +34 -0
- package/dist/chunk-YEJH7ZC2.js.map +7 -0
- package/dist/chunk-YFTE4H54.js +44117 -0
- package/dist/chunk-YFTE4H54.js.map +7 -0
- package/dist/chunk-YNJYMD43.js +392 -0
- package/dist/chunk-YNJYMD43.js.map +7 -0
- package/dist/chunk-YNYEQGVN.js +251 -0
- package/dist/chunk-YNYEQGVN.js.map +7 -0
- package/dist/chunk-YUPBD27Z.js +70 -0
- package/dist/chunk-YUPBD27Z.js.map +7 -0
- package/dist/chunk-YXJ52FD5.js +271 -0
- package/dist/chunk-YXJ52FD5.js.map +7 -0
- package/dist/chunk-YZGORRQN.js +3101 -0
- package/dist/chunk-YZGORRQN.js.map +7 -0
- package/dist/chunk-Z6IVJ6ZW.js +30 -0
- package/dist/chunk-Z6IVJ6ZW.js.map +7 -0
- package/dist/chunk-ZFC44XJJ.js +86 -0
- package/dist/chunk-ZFC44XJJ.js.map +7 -0
- package/dist/chunk-ZJDJC5TP.js +82 -0
- package/dist/chunk-ZJDJC5TP.js.map +7 -0
- package/dist/chunk-ZJGZNPDK.js +171 -0
- package/dist/chunk-ZJGZNPDK.js.map +7 -0
- package/dist/chunk-ZJHBJWZX.js +699 -0
- package/dist/chunk-ZJHBJWZX.js.map +7 -0
- package/dist/chunk-ZNOTD65D.js +95 -0
- package/dist/chunk-ZNOTD65D.js.map +7 -0
- package/dist/chunk-ZQ2QIFXW.js +122 -0
- package/dist/chunk-ZQ2QIFXW.js.map +7 -0
- package/dist/chunk-ZRMXPQGY.js +241 -0
- package/dist/chunk-ZRMXPQGY.js.map +7 -0
- package/dist/chunk-ZVEE5IDC.js +3101 -0
- package/dist/chunk-ZVEE5IDC.js.map +7 -0
- package/dist/cli-metadata.js +12 -0
- package/dist/cli-metadata.js.map +7 -0
- package/dist/contract-api.js +104 -0
- package/dist/contract-api.js.map +7 -0
- package/dist/dist-F3K7S5SS.js +549 -0
- package/dist/dist-F3K7S5SS.js.map +7 -0
- package/dist/helper-api.js +51 -0
- package/dist/helper-api.js.map +7 -0
- package/dist/index.js +71 -0
- package/dist/index.js.map +7 -0
- package/dist/magic-string.es-V5NOGTUV.js +1315 -0
- package/dist/magic-string.es-V5NOGTUV.js.map +7 -0
- package/dist/openclaw.plugin.json +23 -0
- package/dist/package.json +59 -0
- package/dist/plugin-entry.handlers.runtime-POD4CSHM.js +20 -0
- package/dist/plugin-entry.handlers.runtime-POD4CSHM.js.map +7 -0
- package/dist/plugin-entry.handlers.runtime-YOSG6V6U.js +20 -0
- package/dist/plugin-entry.handlers.runtime-YOSG6V6U.js.map +7 -0
- package/dist/runtime-api.js +104 -0
- package/dist/runtime-api.js.map +7 -0
- package/dist/rust-crypto-H35BXWUU.js +5323 -0
- package/dist/rust-crypto-H35BXWUU.js.map +7 -0
- package/dist/secret-contract-api.js +18 -0
- package/dist/secret-contract-api.js.map +7 -0
- package/dist/setup-entry.js +23 -0
- package/dist/setup-entry.js.map +7 -0
- package/dist/src/account-selection.js +19 -0
- package/dist/src/account-selection.js.map +7 -0
- package/dist/src/actions.js +24 -0
- package/dist/src/actions.js.map +7 -0
- package/dist/src/approval-auth.js +27 -0
- package/dist/src/approval-auth.js.map +7 -0
- package/dist/src/approval-handler.runtime.js +378 -0
- package/dist/src/approval-handler.runtime.js.map +7 -0
- package/dist/src/approval-ids.js +9 -0
- package/dist/src/approval-ids.js.map +7 -0
- package/dist/src/approval-native.js +28 -0
- package/dist/src/approval-native.js.map +7 -0
- package/dist/src/approval-reactions.js +20 -0
- package/dist/src/approval-reactions.js.map +7 -0
- package/dist/src/auth-precedence.js +8 -0
- package/dist/src/auth-precedence.js.map +7 -0
- package/dist/src/channel-account-paths.js +11 -0
- package/dist/src/channel-account-paths.js.map +7 -0
- package/dist/src/channel.js +74 -0
- package/dist/src/channel.js.map +7 -0
- package/dist/src/channel.runtime.js +82 -0
- package/dist/src/channel.runtime.js.map +7 -0
- package/dist/src/cli-metadata.js +8 -0
- package/dist/src/cli-metadata.js.map +7 -0
- package/dist/src/cli.js +936 -0
- package/dist/src/cli.js.map +7 -0
- package/dist/src/config-adapter.js +26 -0
- package/dist/src/config-adapter.js.map +7 -0
- package/dist/src/config-schema.js +8 -0
- package/dist/src/config-schema.js.map +7 -0
- package/dist/src/directory-live.js +35 -0
- package/dist/src/directory-live.js.map +7 -0
- package/dist/src/doctor-contract.js +11 -0
- package/dist/src/doctor-contract.js.map +7 -0
- package/dist/src/doctor.js +42 -0
- package/dist/src/doctor.js.map +7 -0
- package/dist/src/env-vars.js +12 -0
- package/dist/src/env-vars.js.map +7 -0
- package/dist/src/exec-approval-resolver.js +10 -0
- package/dist/src/exec-approval-resolver.js.map +7 -0
- package/dist/src/exec-approvals.js +51 -0
- package/dist/src/exec-approvals.js.map +7 -0
- package/dist/src/group-mentions.js +28 -0
- package/dist/src/group-mentions.js.map +7 -0
- package/dist/src/legacy-crypto-inspector-availability.js +8 -0
- package/dist/src/legacy-crypto-inspector-availability.js.map +7 -0
- package/dist/src/legacy-crypto.js +26 -0
- package/dist/src/legacy-crypto.js.map +7 -0
- package/dist/src/legacy-state.js +24 -0
- package/dist/src/legacy-state.js.map +7 -0
- package/dist/src/matrix/account-config.js +16 -0
- package/dist/src/matrix/account-config.js.map +7 -0
- package/dist/src/matrix/accounts.js +31 -0
- package/dist/src/matrix/accounts.js.map +7 -0
- package/dist/src/matrix/actions/client.js +40 -0
- package/dist/src/matrix/actions/client.js.map +7 -0
- package/dist/src/matrix/actions/devices.js +42 -0
- package/dist/src/matrix/actions/devices.js.map +7 -0
- package/dist/src/matrix/actions/limits.js +8 -0
- package/dist/src/matrix/actions/limits.js.map +7 -0
- package/dist/src/matrix/actions/messages.js +49 -0
- package/dist/src/matrix/actions/messages.js.map +7 -0
- package/dist/src/matrix/actions/pins.js +46 -0
- package/dist/src/matrix/actions/pins.js.map +7 -0
- package/dist/src/matrix/actions/polls.js +37 -0
- package/dist/src/matrix/actions/polls.js.map +7 -0
- package/dist/src/matrix/actions/profile.js +38 -0
- package/dist/src/matrix/actions/profile.js.map +7 -0
- package/dist/src/matrix/actions/reactions.js +40 -0
- package/dist/src/matrix/actions/reactions.js.map +7 -0
- package/dist/src/matrix/actions/room.js +40 -0
- package/dist/src/matrix/actions/room.js.map +7 -0
- package/dist/src/matrix/actions/summary.js +19 -0
- package/dist/src/matrix/actions/summary.js.map +7 -0
- package/dist/src/matrix/actions/types.js +13 -0
- package/dist/src/matrix/actions/types.js.map +7 -0
- package/dist/src/matrix/actions/verification.js +77 -0
- package/dist/src/matrix/actions/verification.js.map +7 -0
- package/dist/src/matrix/actions.js +126 -0
- package/dist/src/matrix/actions.js.map +7 -0
- package/dist/src/matrix/active-client.js +10 -0
- package/dist/src/matrix/active-client.js.map +7 -0
- package/dist/src/matrix/async-lock.js +8 -0
- package/dist/src/matrix/async-lock.js.map +7 -0
- package/dist/src/matrix/backup-health.js +10 -0
- package/dist/src/matrix/backup-health.js.map +7 -0
- package/dist/src/matrix/client/config-runtime-api.js +24 -0
- package/dist/src/matrix/client/config-runtime-api.js.map +7 -0
- package/dist/src/matrix/client/config-secret-input.runtime.js +11 -0
- package/dist/src/matrix/client/config-secret-input.runtime.js.map +7 -0
- package/dist/src/matrix/client/config.js +42 -0
- package/dist/src/matrix/client/config.js.map +7 -0
- package/dist/src/matrix/client/create-client.js +20 -0
- package/dist/src/matrix/client/create-client.js.map +7 -0
- package/dist/src/matrix/client/env-auth.js +26 -0
- package/dist/src/matrix/client/env-auth.js.map +7 -0
- package/dist/src/matrix/client/file-sync-store.js +23 -0
- package/dist/src/matrix/client/file-sync-store.js.map +7 -0
- package/dist/src/matrix/client/logging.js +17 -0
- package/dist/src/matrix/client/logging.js.map +7 -0
- package/dist/src/matrix/client/migration-snapshot.runtime.js +13 -0
- package/dist/src/matrix/client/migration-snapshot.runtime.js.map +7 -0
- package/dist/src/matrix/client/private-network-host.js +8 -0
- package/dist/src/matrix/client/private-network-host.js.map +7 -0
- package/dist/src/matrix/client/runtime.js +8 -0
- package/dist/src/matrix/client/runtime.js.map +7 -0
- package/dist/src/matrix/client/shared.js +34 -0
- package/dist/src/matrix/client/shared.js.map +7 -0
- package/dist/src/matrix/client/storage.js +26 -0
- package/dist/src/matrix/client/storage.js.map +7 -0
- package/dist/src/matrix/client/types.js +7 -0
- package/dist/src/matrix/client/types.js.map +7 -0
- package/dist/src/matrix/client-bootstrap.js +15 -0
- package/dist/src/matrix/client-bootstrap.js.map +7 -0
- package/dist/src/matrix/client-resolver.test-helpers.js +122 -0
- package/dist/src/matrix/client-resolver.test-helpers.js.map +7 -0
- package/dist/src/matrix/client.js +63 -0
- package/dist/src/matrix/client.js.map +7 -0
- package/dist/src/matrix/config-paths.js +12 -0
- package/dist/src/matrix/config-paths.js.map +7 -0
- package/dist/src/matrix/config-update.js +17 -0
- package/dist/src/matrix/config-update.js.map +7 -0
- package/dist/src/matrix/credentials-read.js +22 -0
- package/dist/src/matrix/credentials-read.js.map +7 -0
- package/dist/src/matrix/credentials-write.runtime.js +24 -0
- package/dist/src/matrix/credentials-write.runtime.js.map +7 -0
- package/dist/src/matrix/credentials.js +90 -0
- package/dist/src/matrix/credentials.js.map +7 -0
- package/dist/src/matrix/deps.js +12 -0
- package/dist/src/matrix/deps.js.map +7 -0
- package/dist/src/matrix/device-health.js +10 -0
- package/dist/src/matrix/device-health.js.map +7 -0
- package/dist/src/matrix/direct-management.js +18 -0
- package/dist/src/matrix/direct-management.js.map +7 -0
- package/dist/src/matrix/direct-room.js +18 -0
- package/dist/src/matrix/direct-room.js.map +7 -0
- package/dist/src/matrix/draft-stream.js +33 -0
- package/dist/src/matrix/draft-stream.js.map +7 -0
- package/dist/src/matrix/encryption-guidance.js +17 -0
- package/dist/src/matrix/encryption-guidance.js.map +7 -0
- package/dist/src/matrix/errors.js +12 -0
- package/dist/src/matrix/errors.js.map +7 -0
- package/dist/src/matrix/format.js +13 -0
- package/dist/src/matrix/format.js.map +7 -0
- package/dist/src/matrix/legacy-crypto-inspector.js +73 -0
- package/dist/src/matrix/legacy-crypto-inspector.js.map +7 -0
- package/dist/src/matrix/media-errors.js +12 -0
- package/dist/src/matrix/media-errors.js.map +7 -0
- package/dist/src/matrix/media-text.js +22 -0
- package/dist/src/matrix/media-text.js.map +7 -0
- package/dist/src/matrix/monitor/access-state.js +9 -0
- package/dist/src/matrix/monitor/access-state.js.map +7 -0
- package/dist/src/matrix/monitor/ack-config.js +10 -0
- package/dist/src/matrix/monitor/ack-config.js.map +7 -0
- package/dist/src/matrix/monitor/allowlist.js +12 -0
- package/dist/src/matrix/monitor/allowlist.js.map +7 -0
- package/dist/src/matrix/monitor/auto-join.js +9 -0
- package/dist/src/matrix/monitor/auto-join.js.map +7 -0
- package/dist/src/matrix/monitor/config.js +37 -0
- package/dist/src/matrix/monitor/config.js.map +7 -0
- package/dist/src/matrix/monitor/context-summary.js +13 -0
- package/dist/src/matrix/monitor/context-summary.js.map +7 -0
- package/dist/src/matrix/monitor/direct.js +13 -0
- package/dist/src/matrix/monitor/direct.js.map +7 -0
- package/dist/src/matrix/monitor/events.js +20 -0
- package/dist/src/matrix/monitor/events.js.map +7 -0
- package/dist/src/matrix/monitor/handler.js +76 -0
- package/dist/src/matrix/monitor/handler.js.map +7 -0
- package/dist/src/matrix/monitor/handler.test-helpers.js +268 -0
- package/dist/src/matrix/monitor/handler.test-helpers.js.map +7 -0
- package/dist/src/matrix/monitor/inbound-dedupe.js +17 -0
- package/dist/src/matrix/monitor/inbound-dedupe.js.map +7 -0
- package/dist/src/matrix/monitor/index.js +502 -0
- package/dist/src/matrix/monitor/index.js.map +7 -0
- package/dist/src/matrix/monitor/legacy-crypto-restore.js +99 -0
- package/dist/src/matrix/monitor/legacy-crypto-restore.js.map +7 -0
- package/dist/src/matrix/monitor/location.js +11 -0
- package/dist/src/matrix/monitor/location.js.map +7 -0
- package/dist/src/matrix/monitor/media.js +10 -0
- package/dist/src/matrix/monitor/media.js.map +7 -0
- package/dist/src/matrix/monitor/mentions.js +9 -0
- package/dist/src/matrix/monitor/mentions.js.map +7 -0
- package/dist/src/matrix/monitor/reaction-events.js +38 -0
- package/dist/src/matrix/monitor/reaction-events.js.map +7 -0
- package/dist/src/matrix/monitor/recent-invite.js +10 -0
- package/dist/src/matrix/monitor/recent-invite.js.map +7 -0
- package/dist/src/matrix/monitor/replies.js +33 -0
- package/dist/src/matrix/monitor/replies.js.map +7 -0
- package/dist/src/matrix/monitor/reply-context.js +14 -0
- package/dist/src/matrix/monitor/reply-context.js.map +7 -0
- package/dist/src/matrix/monitor/room-history.js +10 -0
- package/dist/src/matrix/monitor/room-history.js.map +7 -0
- package/dist/src/matrix/monitor/room-info.js +9 -0
- package/dist/src/matrix/monitor/room-info.js.map +7 -0
- package/dist/src/matrix/monitor/rooms.js +9 -0
- package/dist/src/matrix/monitor/rooms.js.map +7 -0
- package/dist/src/matrix/monitor/route.js +12 -0
- package/dist/src/matrix/monitor/route.js.map +7 -0
- package/dist/src/matrix/monitor/runtime-api.js +40 -0
- package/dist/src/matrix/monitor/runtime-api.js.map +7 -0
- package/dist/src/matrix/monitor/startup-verification.js +174 -0
- package/dist/src/matrix/monitor/startup-verification.js.map +7 -0
- package/dist/src/matrix/monitor/startup.js +9 -0
- package/dist/src/matrix/monitor/startup.js.map +7 -0
- package/dist/src/matrix/monitor/status.js +10 -0
- package/dist/src/matrix/monitor/status.js.map +7 -0
- package/dist/src/matrix/monitor/sync-lifecycle.js +9 -0
- package/dist/src/matrix/monitor/sync-lifecycle.js.map +7 -0
- package/dist/src/matrix/monitor/task-runner.js +8 -0
- package/dist/src/matrix/monitor/task-runner.js.map +7 -0
- package/dist/src/matrix/monitor/thread-context.js +14 -0
- package/dist/src/matrix/monitor/thread-context.js.map +7 -0
- package/dist/src/matrix/monitor/threads.js +16 -0
- package/dist/src/matrix/monitor/threads.js.map +7 -0
- package/dist/src/matrix/monitor/types.js +11 -0
- package/dist/src/matrix/monitor/types.js.map +7 -0
- package/dist/src/matrix/monitor/verification-events.js +13 -0
- package/dist/src/matrix/monitor/verification-events.js.map +7 -0
- package/dist/src/matrix/monitor/verification-utils.js +16 -0
- package/dist/src/matrix/monitor/verification-utils.js.map +7 -0
- package/dist/src/matrix/outbound-media-runtime.js +9 -0
- package/dist/src/matrix/outbound-media-runtime.js.map +7 -0
- package/dist/src/matrix/poll-summary.js +14 -0
- package/dist/src/matrix/poll-summary.js.map +7 -0
- package/dist/src/matrix/poll-types.js +55 -0
- package/dist/src/matrix/poll-types.js.map +7 -0
- package/dist/src/matrix/probe.js +9 -0
- package/dist/src/matrix/probe.js.map +7 -0
- package/dist/src/matrix/probe.runtime.js +30 -0
- package/dist/src/matrix/probe.runtime.js.map +7 -0
- package/dist/src/matrix/profile.js +16 -0
- package/dist/src/matrix/profile.js.map +7 -0
- package/dist/src/matrix/reaction-common.js +26 -0
- package/dist/src/matrix/reaction-common.js.map +7 -0
- package/dist/src/matrix/sdk/crypto-bootstrap.js +15 -0
- package/dist/src/matrix/sdk/crypto-bootstrap.js.map +7 -0
- package/dist/src/matrix/sdk/crypto-facade.js +8 -0
- package/dist/src/matrix/sdk/crypto-facade.js.map +7 -0
- package/dist/src/matrix/sdk/crypto-node.runtime.js +15 -0
- package/dist/src/matrix/sdk/crypto-node.runtime.js.map +7 -0
- package/dist/src/matrix/sdk/crypto-runtime.js +84 -0
- package/dist/src/matrix/sdk/crypto-runtime.js.map +7 -0
- package/dist/src/matrix/sdk/decrypt-bridge.js +11 -0
- package/dist/src/matrix/sdk/decrypt-bridge.js.map +7 -0
- package/dist/src/matrix/sdk/event-helpers.js +12 -0
- package/dist/src/matrix/sdk/event-helpers.js.map +7 -0
- package/dist/src/matrix/sdk/http-client.js +13 -0
- package/dist/src/matrix/sdk/http-client.js.map +7 -0
- package/dist/src/matrix/sdk/idb-persistence-lock.js +12 -0
- package/dist/src/matrix/sdk/idb-persistence-lock.js.map +7 -0
- package/dist/src/matrix/sdk/idb-persistence.js +13 -0
- package/dist/src/matrix/sdk/idb-persistence.js.map +7 -0
- package/dist/src/matrix/sdk/idb-persistence.test-helpers.js +83 -0
- package/dist/src/matrix/sdk/idb-persistence.test-helpers.js.map +7 -0
- package/dist/src/matrix/sdk/logger.js +15 -0
- package/dist/src/matrix/sdk/logger.js.map +7 -0
- package/dist/src/matrix/sdk/read-response-with-limit.js +8 -0
- package/dist/src/matrix/sdk/read-response-with-limit.js.map +7 -0
- package/dist/src/matrix/sdk/recovery-key-store.js +14 -0
- package/dist/src/matrix/sdk/recovery-key-store.js.map +7 -0
- package/dist/src/matrix/sdk/transport.js +13 -0
- package/dist/src/matrix/sdk/transport.js.map +7 -0
- package/dist/src/matrix/sdk/types.js +7 -0
- package/dist/src/matrix/sdk/types.js.map +7 -0
- package/dist/src/matrix/sdk/verification-manager.js +11 -0
- package/dist/src/matrix/sdk/verification-manager.js.map +7 -0
- package/dist/src/matrix/sdk/verification-status.js +12 -0
- package/dist/src/matrix/sdk/verification-status.js.map +7 -0
- package/dist/src/matrix/sdk.js +1375 -0
- package/dist/src/matrix/sdk.js.map +7 -0
- package/dist/src/matrix/send/client.js +14 -0
- package/dist/src/matrix/send/client.js.map +7 -0
- package/dist/src/matrix/send/formatting.js +29 -0
- package/dist/src/matrix/send/formatting.js.map +7 -0
- package/dist/src/matrix/send/media.js +26 -0
- package/dist/src/matrix/send/media.js.map +7 -0
- package/dist/src/matrix/send/targets.js +15 -0
- package/dist/src/matrix/send/targets.js.map +7 -0
- package/dist/src/matrix/send/types.js +17 -0
- package/dist/src/matrix/send/types.js.map +7 -0
- package/dist/src/matrix/send.js +51 -0
- package/dist/src/matrix/send.js.map +7 -0
- package/dist/src/matrix/session-store-metadata.js +15 -0
- package/dist/src/matrix/session-store-metadata.js.map +7 -0
- package/dist/src/matrix/startup-abort.js +14 -0
- package/dist/src/matrix/startup-abort.js.map +7 -0
- package/dist/src/matrix/sync-state.js +12 -0
- package/dist/src/matrix/sync-state.js.map +7 -0
- package/dist/src/matrix/target-ids.js +20 -0
- package/dist/src/matrix/target-ids.js.map +7 -0
- package/dist/src/matrix/thread-bindings-shared.js +34 -0
- package/dist/src/matrix/thread-bindings-shared.js.map +7 -0
- package/dist/src/matrix/thread-bindings.js +49 -0
- package/dist/src/matrix/thread-bindings.js.map +7 -0
- package/dist/src/matrix-migration.runtime.js +45 -0
- package/dist/src/matrix-migration.runtime.js.map +7 -0
- package/dist/src/migration-config.js +29 -0
- package/dist/src/migration-config.js.map +7 -0
- package/dist/src/migration-snapshot-backup.js +12 -0
- package/dist/src/migration-snapshot-backup.js.map +7 -0
- package/dist/src/migration-snapshot.js +38 -0
- package/dist/src/migration-snapshot.js.map +7 -0
- package/dist/src/onboarding.js +43 -0
- package/dist/src/onboarding.js.map +7 -0
- package/dist/src/onboarding.test-harness.js +124 -0
- package/dist/src/onboarding.test-harness.js.map +7 -0
- package/dist/src/outbound.js +33 -0
- package/dist/src/outbound.js.map +7 -0
- package/dist/src/plugin-entry.runtime.js +15 -0
- package/dist/src/plugin-entry.runtime.js.map +7 -0
- package/dist/src/profile-update.js +41 -0
- package/dist/src/profile-update.js.map +7 -0
- package/dist/src/record-shared.js +8 -0
- package/dist/src/record-shared.js.map +7 -0
- package/dist/src/resolve-targets.js +34 -0
- package/dist/src/resolve-targets.js.map +7 -0
- package/dist/src/resolver.js +8 -0
- package/dist/src/resolver.js.map +7 -0
- package/dist/src/runtime-api.js +120 -0
- package/dist/src/runtime-api.js.map +7 -0
- package/dist/src/runtime.js +10 -0
- package/dist/src/runtime.js.map +7 -0
- package/dist/src/secret-contract.js +13 -0
- package/dist/src/secret-contract.js.map +7 -0
- package/dist/src/session-route.js +25 -0
- package/dist/src/session-route.js.map +7 -0
- package/dist/src/setup-bootstrap.js +124 -0
- package/dist/src/setup-bootstrap.js.map +7 -0
- package/dist/src/setup-config.js +28 -0
- package/dist/src/setup-config.js.map +7 -0
- package/dist/src/setup-contract.js +16 -0
- package/dist/src/setup-contract.js.map +7 -0
- package/dist/src/setup-core.js +25 -0
- package/dist/src/setup-core.js.map +7 -0
- package/dist/src/setup-surface.js +45 -0
- package/dist/src/setup-surface.js.map +7 -0
- package/dist/src/startup-maintenance.js +29 -0
- package/dist/src/startup-maintenance.js.map +7 -0
- package/dist/src/storage-paths.js +24 -0
- package/dist/src/storage-paths.js.map +7 -0
- package/dist/src/test-helpers.js +49 -0
- package/dist/src/test-helpers.js.map +7 -0
- package/dist/src/test-mocks.js +40 -0
- package/dist/src/test-mocks.js.map +7 -0
- package/dist/src/test-runtime.js +65 -0
- package/dist/src/test-runtime.js.map +7 -0
- package/dist/src/tool-actions.js +68 -0
- package/dist/src/tool-actions.js.map +7 -0
- package/dist/src/tool-actions.runtime.js +73 -0
- package/dist/src/tool-actions.runtime.js.map +7 -0
- package/dist/src/types.js +7 -0
- package/dist/src/types.js.map +7 -0
- package/dist/test-api.js +82 -0
- package/dist/test-api.js.map +7 -0
- package/dist/thread-bindings-runtime.js +15 -0
- package/dist/thread-bindings-runtime.js.map +7 -0
- package/package.json +12 -6
- package/CHANGELOG.md +0 -164
- package/ENDOFFILE +0 -0
- package/EOF +0 -0
- package/SPEC-SUPPORT.md +0 -116
- package/YAMLEND +0 -0
- package/api.ts +0 -18
- package/archipelagolab-lobi-1.0.0.tgz +0 -0
- package/auth-presence.ts +0 -56
- package/channel-plugin-api.ts +0 -3
- package/cli-metadata.ts +0 -11
- package/contract-api.ts +0 -17
- package/docs/CHECKLIST.md +0 -83
- package/docs/FORK_SDK_GUIDE.md +0 -279
- package/helper-api.ts +0 -3
- package/index.test.ts +0 -61
- package/index.ts +0 -65
- package/plugin-entry.handlers.runtime.ts +0 -1
- package/runtime-api.ts +0 -54
- package/runtime-heavy-api.ts +0 -1
- package/scripts/migrate-to-lobi.sh +0 -72
- package/secret-contract-api.ts +0 -5
- package/setup-entry.ts +0 -13
- package/src/account-selection.test.ts +0 -124
- package/src/account-selection.ts +0 -226
- package/src/actions.account-propagation.test.ts +0 -251
- package/src/actions.test.ts +0 -251
- package/src/actions.ts +0 -336
- package/src/approval-auth.test.ts +0 -23
- package/src/approval-auth.ts +0 -25
- package/src/approval-handler.runtime.test.ts +0 -46
- package/src/approval-handler.runtime.ts +0 -400
- package/src/approval-ids.ts +0 -6
- package/src/approval-native.test.ts +0 -329
- package/src/approval-native.ts +0 -336
- package/src/approval-reactions.test.ts +0 -107
- package/src/approval-reactions.ts +0 -158
- package/src/auth-precedence.ts +0 -61
- package/src/channel-account-paths.ts +0 -92
- package/src/channel.account-paths.test.ts +0 -102
- package/src/channel.directory.test.ts +0 -601
- package/src/channel.resolve.test.ts +0 -38
- package/src/channel.runtime.ts +0 -16
- package/src/channel.setup.test.ts +0 -269
- package/src/channel.ts +0 -570
- package/src/cli-metadata.ts +0 -19
- package/src/cli.test.ts +0 -1015
- package/src/cli.ts +0 -1198
- package/src/config-adapter.ts +0 -41
- package/src/config-schema.test.ts +0 -90
- package/src/config-schema.ts +0 -114
- package/src/directory-live.test.ts +0 -200
- package/src/directory-live.ts +0 -238
- package/src/doctor-contract.ts +0 -287
- package/src/doctor.test.ts +0 -440
- package/src/doctor.ts +0 -262
- package/src/env-vars.ts +0 -92
- package/src/exec-approval-resolver.test.ts +0 -68
- package/src/exec-approval-resolver.ts +0 -23
- package/src/exec-approvals.test.ts +0 -483
- package/src/exec-approvals.ts +0 -290
- package/src/group-mentions.ts +0 -41
- package/src/legacy-crypto-inspector-availability.test.ts +0 -81
- package/src/legacy-crypto-inspector-availability.ts +0 -60
- package/src/legacy-crypto.test.ts +0 -234
- package/src/legacy-crypto.ts +0 -549
- package/src/legacy-state.test.ts +0 -86
- package/src/legacy-state.ts +0 -156
- package/src/matrix/account-config.ts +0 -150
- package/src/matrix/accounts.readiness.test.ts +0 -27
- package/src/matrix/accounts.test.ts +0 -757
- package/src/matrix/accounts.ts +0 -194
- package/src/matrix/actions/client.test.ts +0 -215
- package/src/matrix/actions/client.ts +0 -31
- package/src/matrix/actions/devices.test.ts +0 -114
- package/src/matrix/actions/devices.ts +0 -34
- package/src/matrix/actions/limits.test.ts +0 -15
- package/src/matrix/actions/limits.ts +0 -6
- package/src/matrix/actions/messages.test.ts +0 -289
- package/src/matrix/actions/messages.ts +0 -123
- package/src/matrix/actions/pins.test.ts +0 -74
- package/src/matrix/actions/pins.ts +0 -64
- package/src/matrix/actions/polls.test.ts +0 -71
- package/src/matrix/actions/polls.ts +0 -109
- package/src/matrix/actions/profile.test.ts +0 -109
- package/src/matrix/actions/profile.ts +0 -37
- package/src/matrix/actions/reactions.test.ts +0 -135
- package/src/matrix/actions/reactions.ts +0 -59
- package/src/matrix/actions/room.test.ts +0 -79
- package/src/matrix/actions/room.ts +0 -71
- package/src/matrix/actions/summary.test.ts +0 -87
- package/src/matrix/actions/summary.ts +0 -88
- package/src/matrix/actions/types.ts +0 -82
- package/src/matrix/actions/verification.test.ts +0 -105
- package/src/matrix/actions/verification.ts +0 -237
- package/src/matrix/actions.ts +0 -37
- package/src/matrix/active-client.ts +0 -26
- package/src/matrix/async-lock.ts +0 -18
- package/src/matrix/backup-health.ts +0 -115
- package/src/matrix/client/config-runtime-api.ts +0 -14
- package/src/matrix/client/config-secret-input.runtime.ts +0 -1
- package/src/matrix/client/config.ts +0 -982
- package/src/matrix/client/create-client.test.ts +0 -115
- package/src/matrix/client/create-client.ts +0 -101
- package/src/matrix/client/env-auth.ts +0 -6
- package/src/matrix/client/file-sync-store.test.ts +0 -265
- package/src/matrix/client/file-sync-store.ts +0 -289
- package/src/matrix/client/logging.ts +0 -123
- package/src/matrix/client/migration-snapshot.runtime.ts +0 -1
- package/src/matrix/client/private-network-host.ts +0 -56
- package/src/matrix/client/runtime.ts +0 -4
- package/src/matrix/client/shared.test.ts +0 -344
- package/src/matrix/client/shared.ts +0 -306
- package/src/matrix/client/storage.test.ts +0 -634
- package/src/matrix/client/storage.ts +0 -544
- package/src/matrix/client/types.ts +0 -50
- package/src/matrix/client-bootstrap.test.ts +0 -84
- package/src/matrix/client-bootstrap.ts +0 -164
- package/src/matrix/client-resolver.test-helpers.ts +0 -147
- package/src/matrix/client.test.ts +0 -1521
- package/src/matrix/client.ts +0 -23
- package/src/matrix/config-paths.ts +0 -31
- package/src/matrix/config-update.test.ts +0 -237
- package/src/matrix/config-update.ts +0 -291
- package/src/matrix/credentials-read.ts +0 -206
- package/src/matrix/credentials-write.runtime.ts +0 -26
- package/src/matrix/credentials.test.ts +0 -501
- package/src/matrix/credentials.ts +0 -95
- package/src/matrix/deps.test.ts +0 -74
- package/src/matrix/deps.ts +0 -225
- package/src/matrix/device-health.test.ts +0 -45
- package/src/matrix/device-health.ts +0 -31
- package/src/matrix/direct-management.test.ts +0 -350
- package/src/matrix/direct-management.ts +0 -347
- package/src/matrix/direct-room.test.ts +0 -61
- package/src/matrix/direct-room.ts +0 -128
- package/src/matrix/draft-stream.test.ts +0 -406
- package/src/matrix/draft-stream.ts +0 -216
- package/src/matrix/encryption-guidance.ts +0 -27
- package/src/matrix/errors.ts +0 -21
- package/src/matrix/format.test.ts +0 -340
- package/src/matrix/format.ts +0 -428
- package/src/matrix/legacy-crypto-inspector.ts +0 -95
- package/src/matrix/media-errors.ts +0 -20
- package/src/matrix/media-text.ts +0 -169
- package/src/matrix/monitor/access-state.test.ts +0 -45
- package/src/matrix/monitor/access-state.ts +0 -77
- package/src/matrix/monitor/ack-config.test.ts +0 -57
- package/src/matrix/monitor/ack-config.ts +0 -26
- package/src/matrix/monitor/allowlist.test.ts +0 -45
- package/src/matrix/monitor/allowlist.ts +0 -94
- package/src/matrix/monitor/auto-join.test.ts +0 -203
- package/src/matrix/monitor/auto-join.ts +0 -86
- package/src/matrix/monitor/config.test.ts +0 -197
- package/src/matrix/monitor/config.ts +0 -303
- package/src/matrix/monitor/context-summary.ts +0 -43
- package/src/matrix/monitor/direct.test.ts +0 -529
- package/src/matrix/monitor/direct.ts +0 -270
- package/src/matrix/monitor/events.test.ts +0 -1524
- package/src/matrix/monitor/events.ts +0 -213
- package/src/matrix/monitor/handler.body-for-agent.test.ts +0 -396
- package/src/matrix/monitor/handler.group-history.test.ts +0 -648
- package/src/matrix/monitor/handler.media-failure.test.ts +0 -267
- package/src/matrix/monitor/handler.test-helpers.ts +0 -308
- package/src/matrix/monitor/handler.test.ts +0 -2952
- package/src/matrix/monitor/handler.thread-root-media.test.ts +0 -82
- package/src/matrix/monitor/handler.ts +0 -1679
- package/src/matrix/monitor/inbound-dedupe.test.ts +0 -146
- package/src/matrix/monitor/inbound-dedupe.ts +0 -267
- package/src/matrix/monitor/index.test.ts +0 -920
- package/src/matrix/monitor/index.ts +0 -434
- package/src/matrix/monitor/legacy-crypto-restore.test.ts +0 -206
- package/src/matrix/monitor/legacy-crypto-restore.ts +0 -139
- package/src/matrix/monitor/location.ts +0 -100
- package/src/matrix/monitor/media.test.ts +0 -159
- package/src/matrix/monitor/media.ts +0 -119
- package/src/matrix/monitor/mentions.test.ts +0 -289
- package/src/matrix/monitor/mentions.ts +0 -177
- package/src/matrix/monitor/reaction-events.test.ts +0 -326
- package/src/matrix/monitor/reaction-events.ts +0 -187
- package/src/matrix/monitor/recent-invite.test.ts +0 -92
- package/src/matrix/monitor/recent-invite.ts +0 -30
- package/src/matrix/monitor/replies.test.ts +0 -265
- package/src/matrix/monitor/replies.ts +0 -136
- package/src/matrix/monitor/reply-context.test.ts +0 -276
- package/src/matrix/monitor/reply-context.ts +0 -92
- package/src/matrix/monitor/room-history.test.ts +0 -258
- package/src/matrix/monitor/room-history.ts +0 -301
- package/src/matrix/monitor/room-info.test.ts +0 -201
- package/src/matrix/monitor/room-info.ts +0 -126
- package/src/matrix/monitor/rooms.test.ts +0 -121
- package/src/matrix/monitor/rooms.ts +0 -52
- package/src/matrix/monitor/route.test.ts +0 -255
- package/src/matrix/monitor/route.ts +0 -178
- package/src/matrix/monitor/runtime-api.ts +0 -31
- package/src/matrix/monitor/startup-verification.test.ts +0 -294
- package/src/matrix/monitor/startup-verification.ts +0 -237
- package/src/matrix/monitor/startup.test.ts +0 -257
- package/src/matrix/monitor/startup.ts +0 -218
- package/src/matrix/monitor/status.ts +0 -111
- package/src/matrix/monitor/sync-lifecycle.test.ts +0 -224
- package/src/matrix/monitor/sync-lifecycle.ts +0 -91
- package/src/matrix/monitor/task-runner.ts +0 -38
- package/src/matrix/monitor/thread-context.test.ts +0 -149
- package/src/matrix/monitor/thread-context.ts +0 -108
- package/src/matrix/monitor/threads.test.ts +0 -68
- package/src/matrix/monitor/threads.ts +0 -85
- package/src/matrix/monitor/types.ts +0 -30
- package/src/matrix/monitor/verification-events.ts +0 -627
- package/src/matrix/monitor/verification-utils.test.ts +0 -47
- package/src/matrix/monitor/verification-utils.ts +0 -46
- package/src/matrix/outbound-media-runtime.ts +0 -1
- package/src/matrix/poll-summary.ts +0 -110
- package/src/matrix/poll-types.test.ts +0 -205
- package/src/matrix/poll-types.ts +0 -433
- package/src/matrix/probe.runtime.ts +0 -4
- package/src/matrix/probe.test.ts +0 -154
- package/src/matrix/probe.ts +0 -96
- package/src/matrix/profile.test.ts +0 -154
- package/src/matrix/profile.ts +0 -184
- package/src/matrix/reaction-common.test.ts +0 -96
- package/src/matrix/reaction-common.ts +0 -147
- package/src/matrix/sdk/crypto-bootstrap.test.ts +0 -505
- package/src/matrix/sdk/crypto-bootstrap.ts +0 -341
- package/src/matrix/sdk/crypto-facade.test.ts +0 -197
- package/src/matrix/sdk/crypto-facade.ts +0 -207
- package/src/matrix/sdk/crypto-node.runtime.test.ts +0 -27
- package/src/matrix/sdk/crypto-node.runtime.ts +0 -9
- package/src/matrix/sdk/crypto-runtime.ts +0 -11
- package/src/matrix/sdk/decrypt-bridge.ts +0 -356
- package/src/matrix/sdk/event-helpers.test.ts +0 -60
- package/src/matrix/sdk/event-helpers.ts +0 -71
- package/src/matrix/sdk/http-client.test.ts +0 -134
- package/src/matrix/sdk/http-client.ts +0 -87
- package/src/matrix/sdk/idb-persistence-lock.ts +0 -51
- package/src/matrix/sdk/idb-persistence.lock-order.test.ts +0 -108
- package/src/matrix/sdk/idb-persistence.test-helpers.ts +0 -88
- package/src/matrix/sdk/idb-persistence.test.ts +0 -149
- package/src/matrix/sdk/idb-persistence.ts +0 -283
- package/src/matrix/sdk/logger.test.ts +0 -25
- package/src/matrix/sdk/logger.ts +0 -108
- package/src/matrix/sdk/read-response-with-limit.ts +0 -19
- package/src/matrix/sdk/recovery-key-store.test.ts +0 -385
- package/src/matrix/sdk/recovery-key-store.ts +0 -430
- package/src/matrix/sdk/transport.test.ts +0 -161
- package/src/matrix/sdk/transport.ts +0 -344
- package/src/matrix/sdk/types.ts +0 -236
- package/src/matrix/sdk/verification-manager.test.ts +0 -509
- package/src/matrix/sdk/verification-manager.ts +0 -694
- package/src/matrix/sdk/verification-status.ts +0 -23
- package/src/matrix/sdk.test.ts +0 -2568
- package/src/matrix/sdk.ts +0 -1789
- package/src/matrix/send/client.test.ts +0 -174
- package/src/matrix/send/client.ts +0 -90
- package/src/matrix/send/formatting.ts +0 -189
- package/src/matrix/send/media.ts +0 -244
- package/src/matrix/send/targets.test.ts +0 -254
- package/src/matrix/send/targets.ts +0 -104
- package/src/matrix/send/types.ts +0 -134
- package/src/matrix/send.test.ts +0 -958
- package/src/matrix/send.ts +0 -609
- package/src/matrix/session-store-metadata.ts +0 -108
- package/src/matrix/startup-abort.ts +0 -44
- package/src/matrix/sync-state.ts +0 -27
- package/src/matrix/target-ids.ts +0 -102
- package/src/matrix/thread-bindings-shared.ts +0 -201
- package/src/matrix/thread-bindings.test.ts +0 -673
- package/src/matrix/thread-bindings.ts +0 -577
- package/src/matrix-migration.runtime.ts +0 -9
- package/src/migration-config.test.ts +0 -228
- package/src/migration-config.ts +0 -243
- package/src/migration-snapshot-backup.ts +0 -117
- package/src/migration-snapshot.test.ts +0 -184
- package/src/migration-snapshot.ts +0 -55
- package/src/onboarding.resolve.test.ts +0 -55
- package/src/onboarding.test-harness.ts +0 -158
- package/src/onboarding.test.ts +0 -665
- package/src/onboarding.ts +0 -773
- package/src/outbound.test.ts +0 -173
- package/src/outbound.ts +0 -78
- package/src/plugin-entry.runtime.js +0 -159
- package/src/plugin-entry.runtime.test.ts +0 -108
- package/src/plugin-entry.runtime.ts +0 -68
- package/src/profile-update.ts +0 -68
- package/src/record-shared.ts +0 -3
- package/src/resolve-targets.test.ts +0 -178
- package/src/resolve-targets.ts +0 -175
- package/src/resolver.ts +0 -21
- package/src/runtime-api.ts +0 -144
- package/src/runtime.ts +0 -7
- package/src/secret-contract.ts +0 -174
- package/src/session-route.test.ts +0 -315
- package/src/session-route.ts +0 -113
- package/src/setup-bootstrap.ts +0 -94
- package/src/setup-config.ts +0 -222
- package/src/setup-contract.ts +0 -89
- package/src/setup-core.test.ts +0 -326
- package/src/setup-core.ts +0 -50
- package/src/setup-surface.ts +0 -4
- package/src/startup-maintenance.test.ts +0 -227
- package/src/startup-maintenance.ts +0 -114
- package/src/storage-paths.ts +0 -92
- package/src/test-helpers.ts +0 -42
- package/src/test-mocks.ts +0 -55
- package/src/test-runtime.ts +0 -72
- package/src/test-support/monitor-route-test-support.ts +0 -8
- package/src/tool-actions.runtime.ts +0 -1
- package/src/tool-actions.test.ts +0 -422
- package/src/tool-actions.ts +0 -498
- package/src/types.ts +0 -230
- package/test-api.ts +0 -2
- package/thread-bindings-runtime.ts +0 -4
- package/tsconfig.json +0 -16
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import {
|
|
2
|
+
init_shims
|
|
3
|
+
} from "./chunk-7FLQSTPG.js";
|
|
4
|
+
|
|
5
|
+
// src/matrix/account-config.ts
|
|
6
|
+
init_shims();
|
|
7
|
+
import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
|
|
8
|
+
import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-id";
|
|
9
|
+
import {
|
|
10
|
+
listConfiguredAccountIds,
|
|
11
|
+
resolveMergedAccountConfig,
|
|
12
|
+
resolveNormalizedAccountEntry
|
|
13
|
+
} from "openclaw/plugin-sdk/account-resolution";
|
|
14
|
+
import { hasConfiguredSecretInput } from "openclaw/plugin-sdk/secret-input";
|
|
15
|
+
function resolveMatrixBaseConfig(cfg) {
|
|
16
|
+
return cfg.channels?.matrix ?? {};
|
|
17
|
+
}
|
|
18
|
+
function resolveMatrixAccountsMap(cfg) {
|
|
19
|
+
const accounts = resolveMatrixBaseConfig(cfg).accounts;
|
|
20
|
+
if (!accounts || typeof accounts !== "object") {
|
|
21
|
+
return {};
|
|
22
|
+
}
|
|
23
|
+
return accounts;
|
|
24
|
+
}
|
|
25
|
+
function selectInheritedMatrixRoomEntries(params) {
|
|
26
|
+
const entries = params.entries;
|
|
27
|
+
if (!entries) {
|
|
28
|
+
return void 0;
|
|
29
|
+
}
|
|
30
|
+
const selected = Object.fromEntries(
|
|
31
|
+
Object.entries(entries).filter(([, value]) => {
|
|
32
|
+
const scopedAccount = typeof value?.account === "string" ? normalizeAccountId(value.account) : void 0;
|
|
33
|
+
return scopedAccount === void 0 || scopedAccount === params.accountId;
|
|
34
|
+
})
|
|
35
|
+
);
|
|
36
|
+
return Object.keys(selected).length > 0 ? selected : void 0;
|
|
37
|
+
}
|
|
38
|
+
function mergeMatrixRoomEntries(inherited, accountEntries, hasAccountOverride) {
|
|
39
|
+
if (!inherited && !accountEntries) {
|
|
40
|
+
return void 0;
|
|
41
|
+
}
|
|
42
|
+
if (hasAccountOverride && Object.keys(accountEntries ?? {}).length === 0) {
|
|
43
|
+
return void 0;
|
|
44
|
+
}
|
|
45
|
+
const merged = {
|
|
46
|
+
...inherited
|
|
47
|
+
};
|
|
48
|
+
for (const [key, value] of Object.entries(accountEntries ?? {})) {
|
|
49
|
+
const inheritedValue = merged[key];
|
|
50
|
+
merged[key] = inheritedValue && value ? {
|
|
51
|
+
...inheritedValue,
|
|
52
|
+
...value
|
|
53
|
+
} : value ?? inheritedValue;
|
|
54
|
+
}
|
|
55
|
+
return Object.keys(merged).length > 0 ? merged : void 0;
|
|
56
|
+
}
|
|
57
|
+
function listNormalizedMatrixAccountIds(cfg) {
|
|
58
|
+
return listConfiguredAccountIds({
|
|
59
|
+
accounts: resolveMatrixAccountsMap(cfg),
|
|
60
|
+
normalizeAccountId
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
function findMatrixAccountConfig(cfg, accountId) {
|
|
64
|
+
return resolveNormalizedAccountEntry(
|
|
65
|
+
resolveMatrixAccountsMap(cfg),
|
|
66
|
+
accountId,
|
|
67
|
+
normalizeAccountId
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
function hasExplicitMatrixAccountConfig(cfg, accountId) {
|
|
71
|
+
const normalized = normalizeAccountId(accountId);
|
|
72
|
+
if (findMatrixAccountConfig(cfg, normalized)) {
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
if (normalized !== DEFAULT_ACCOUNT_ID) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
const matrix = resolveMatrixBaseConfig(cfg);
|
|
79
|
+
return typeof matrix.enabled === "boolean" || typeof matrix.name === "string" || typeof matrix.homeserver === "string" || typeof matrix.userId === "string" || hasConfiguredSecretInput(matrix.accessToken) || hasConfiguredSecretInput(matrix.password) || typeof matrix.deviceId === "string" || typeof matrix.deviceName === "string" || typeof matrix.avatarUrl === "string";
|
|
80
|
+
}
|
|
81
|
+
function resolveMatrixAccountConfig(params) {
|
|
82
|
+
const accountId = normalizeAccountId(params.accountId);
|
|
83
|
+
const base = resolveMatrixBaseConfig(params.cfg);
|
|
84
|
+
const merged = resolveMergedAccountConfig({
|
|
85
|
+
channelConfig: base,
|
|
86
|
+
accounts: params.cfg.channels?.matrix?.accounts,
|
|
87
|
+
accountId,
|
|
88
|
+
normalizeAccountId,
|
|
89
|
+
nestedObjectKeys: ["dm", "actions", "execApprovals"]
|
|
90
|
+
});
|
|
91
|
+
const accountConfig = findMatrixAccountConfig(params.cfg, accountId);
|
|
92
|
+
const groups = mergeMatrixRoomEntries(
|
|
93
|
+
selectInheritedMatrixRoomEntries({
|
|
94
|
+
entries: base.groups,
|
|
95
|
+
accountId
|
|
96
|
+
}),
|
|
97
|
+
accountConfig?.groups,
|
|
98
|
+
Boolean(accountConfig && Object.hasOwn(accountConfig, "groups"))
|
|
99
|
+
);
|
|
100
|
+
const rooms = mergeMatrixRoomEntries(
|
|
101
|
+
selectInheritedMatrixRoomEntries({
|
|
102
|
+
entries: base.rooms,
|
|
103
|
+
accountId
|
|
104
|
+
}),
|
|
105
|
+
accountConfig?.rooms,
|
|
106
|
+
Boolean(accountConfig && Object.hasOwn(accountConfig, "rooms"))
|
|
107
|
+
);
|
|
108
|
+
const { groups: _ignoredGroups, rooms: _ignoredRooms, ...rest } = merged;
|
|
109
|
+
return {
|
|
110
|
+
...rest,
|
|
111
|
+
...groups ? { groups } : {},
|
|
112
|
+
...rooms ? { rooms } : {}
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export {
|
|
117
|
+
resolveMatrixBaseConfig,
|
|
118
|
+
listNormalizedMatrixAccountIds,
|
|
119
|
+
findMatrixAccountConfig,
|
|
120
|
+
hasExplicitMatrixAccountConfig,
|
|
121
|
+
resolveMatrixAccountConfig
|
|
122
|
+
};
|
|
123
|
+
//# sourceMappingURL=chunk-HP5HMWOM.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/matrix/account-config.ts"],
|
|
4
|
+
"sourcesContent": ["import { normalizeAccountId } from \"openclaw/plugin-sdk/account-id\";\nimport { DEFAULT_ACCOUNT_ID } from \"openclaw/plugin-sdk/account-id\";\nimport {\n listConfiguredAccountIds,\n resolveMergedAccountConfig,\n resolveNormalizedAccountEntry,\n} from \"openclaw/plugin-sdk/account-resolution\";\nimport { hasConfiguredSecretInput } from \"openclaw/plugin-sdk/secret-input\";\nimport type { CoreConfig, MatrixAccountConfig, MatrixConfig } from \"../types.js\";\n\ntype MatrixRoomEntries = Record<string, NonNullable<MatrixConfig[\"groups\"]>[string]>;\n\nexport function resolveMatrixBaseConfig(cfg: CoreConfig): MatrixConfig {\n return cfg.channels?.matrix ?? {};\n}\n\nfunction resolveMatrixAccountsMap(cfg: CoreConfig): Readonly<Record<string, MatrixAccountConfig>> {\n const accounts = resolveMatrixBaseConfig(cfg).accounts;\n if (!accounts || typeof accounts !== \"object\") {\n return {};\n }\n return accounts;\n}\n\nfunction selectInheritedMatrixRoomEntries(params: {\n entries: MatrixRoomEntries | undefined;\n accountId: string;\n}): MatrixRoomEntries | undefined {\n const entries = params.entries;\n if (!entries) {\n return undefined;\n }\n const selected = Object.fromEntries(\n Object.entries(entries).filter(([, value]) => {\n const scopedAccount =\n typeof value?.account === \"string\" ? normalizeAccountId(value.account) : undefined;\n return scopedAccount === undefined || scopedAccount === params.accountId;\n }),\n ) as MatrixRoomEntries;\n return Object.keys(selected).length > 0 ? selected : undefined;\n}\n\nfunction mergeMatrixRoomEntries(\n inherited: MatrixRoomEntries | undefined,\n accountEntries: MatrixRoomEntries | undefined,\n hasAccountOverride: boolean,\n): MatrixRoomEntries | undefined {\n if (!inherited && !accountEntries) {\n return undefined;\n }\n if (hasAccountOverride && Object.keys(accountEntries ?? {}).length === 0) {\n return undefined;\n }\n const merged: MatrixRoomEntries = {\n ...inherited,\n };\n for (const [key, value] of Object.entries(accountEntries ?? {})) {\n const inheritedValue = merged[key];\n merged[key] =\n inheritedValue && value\n ? {\n ...inheritedValue,\n ...value,\n }\n : (value ?? inheritedValue);\n }\n return Object.keys(merged).length > 0 ? merged : undefined;\n}\n\nexport function listNormalizedMatrixAccountIds(cfg: CoreConfig): string[] {\n return listConfiguredAccountIds({\n accounts: resolveMatrixAccountsMap(cfg),\n normalizeAccountId,\n });\n}\n\nexport function findMatrixAccountConfig(\n cfg: CoreConfig,\n accountId: string,\n): MatrixAccountConfig | undefined {\n return resolveNormalizedAccountEntry(\n resolveMatrixAccountsMap(cfg),\n accountId,\n normalizeAccountId,\n );\n}\n\nexport function hasExplicitMatrixAccountConfig(cfg: CoreConfig, accountId: string): boolean {\n const normalized = normalizeAccountId(accountId);\n if (findMatrixAccountConfig(cfg, normalized)) {\n return true;\n }\n if (normalized !== DEFAULT_ACCOUNT_ID) {\n return false;\n }\n const matrix = resolveMatrixBaseConfig(cfg);\n return (\n typeof matrix.enabled === \"boolean\" ||\n typeof matrix.name === \"string\" ||\n typeof matrix.homeserver === \"string\" ||\n typeof matrix.userId === \"string\" ||\n hasConfiguredSecretInput(matrix.accessToken) ||\n hasConfiguredSecretInput(matrix.password) ||\n typeof matrix.deviceId === \"string\" ||\n typeof matrix.deviceName === \"string\" ||\n typeof matrix.avatarUrl === \"string\"\n );\n}\n\nexport function resolveMatrixAccountConfig(params: {\n cfg: CoreConfig;\n accountId?: string | null;\n env?: NodeJS.ProcessEnv;\n}): MatrixConfig {\n const accountId = normalizeAccountId(params.accountId);\n const base = resolveMatrixBaseConfig(params.cfg);\n const merged = resolveMergedAccountConfig<MatrixConfig>({\n channelConfig: base,\n accounts: params.cfg.channels?.matrix?.accounts as\n | Record<string, Partial<MatrixConfig>>\n | undefined,\n accountId,\n normalizeAccountId,\n nestedObjectKeys: [\"dm\", \"actions\", \"execApprovals\"],\n });\n const accountConfig = findMatrixAccountConfig(params.cfg, accountId);\n const groups = mergeMatrixRoomEntries(\n selectInheritedMatrixRoomEntries({\n entries: base.groups,\n accountId,\n }),\n accountConfig?.groups,\n Boolean(accountConfig && Object.hasOwn(accountConfig, \"groups\")),\n );\n const rooms = mergeMatrixRoomEntries(\n selectInheritedMatrixRoomEntries({\n entries: base.rooms,\n accountId,\n }),\n accountConfig?.rooms,\n Boolean(accountConfig && Object.hasOwn(accountConfig, \"rooms\")),\n );\n // Room maps need custom scoping, so keep the generic merge for all other fields.\n const { groups: _ignoredGroups, rooms: _ignoredRooms, ...rest } = merged;\n return {\n ...rest,\n ...(groups ? { groups } : {}),\n ...(rooms ? { rooms } : {}),\n };\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import {
|
|
2
|
+
init_shims
|
|
3
|
+
} from "./chunk-7FLQSTPG.js";
|
|
4
|
+
|
|
5
|
+
// src/matrix/backup-health.ts
|
|
6
|
+
init_shims();
|
|
7
|
+
function resolveMatrixRoomKeyBackupIssue(backup) {
|
|
8
|
+
if (!backup.serverVersion) {
|
|
9
|
+
return {
|
|
10
|
+
code: "missing-server-backup",
|
|
11
|
+
summary: "missing on server",
|
|
12
|
+
message: "no room-key backup exists on the homeserver"
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
if (backup.decryptionKeyCached === false) {
|
|
16
|
+
if (backup.keyLoadError) {
|
|
17
|
+
return {
|
|
18
|
+
code: "key-load-failed",
|
|
19
|
+
summary: "present but backup key unavailable on this device",
|
|
20
|
+
message: `backup decryption key could not be loaded from secret storage (${backup.keyLoadError})`
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
if (backup.keyLoadAttempted) {
|
|
24
|
+
return {
|
|
25
|
+
code: "key-not-loaded",
|
|
26
|
+
summary: "present but backup key unavailable on this device",
|
|
27
|
+
message: "backup decryption key is not loaded on this device (secret storage did not return a key)"
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return {
|
|
31
|
+
code: "key-not-loaded",
|
|
32
|
+
summary: "present but backup key unavailable on this device",
|
|
33
|
+
message: "backup decryption key is not loaded on this device"
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
if (backup.matchesDecryptionKey === false) {
|
|
37
|
+
return {
|
|
38
|
+
code: "key-mismatch",
|
|
39
|
+
summary: "present but backup key mismatch on this device",
|
|
40
|
+
message: "backup key mismatch (this device does not have the matching backup decryption key)"
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
if (backup.trusted === false) {
|
|
44
|
+
return {
|
|
45
|
+
code: "untrusted-signature",
|
|
46
|
+
summary: "present but not trusted on this device",
|
|
47
|
+
message: "backup signature chain is not trusted by this device"
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
if (!backup.activeVersion) {
|
|
51
|
+
return {
|
|
52
|
+
code: "inactive",
|
|
53
|
+
summary: "present on server but inactive on this device",
|
|
54
|
+
message: "backup exists but is not active on this device"
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
if (backup.trusted === null || backup.matchesDecryptionKey === null || backup.decryptionKeyCached === null) {
|
|
58
|
+
return {
|
|
59
|
+
code: "indeterminate",
|
|
60
|
+
summary: "present but trust state unknown",
|
|
61
|
+
message: "backup trust state could not be fully determined"
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
code: "ok",
|
|
66
|
+
summary: "active and trusted on this device",
|
|
67
|
+
message: null
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
function resolveMatrixRoomKeyBackupReadinessError(backup, opts) {
|
|
71
|
+
const issue = resolveMatrixRoomKeyBackupIssue(backup);
|
|
72
|
+
if (issue.code === "missing-server-backup") {
|
|
73
|
+
return opts.requireServerBackup ? "Matrix room key backup is missing on the homeserver." : null;
|
|
74
|
+
}
|
|
75
|
+
if (issue.code === "ok") {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
if (issue.message) {
|
|
79
|
+
return `Matrix room key backup is not usable: ${issue.message}.`;
|
|
80
|
+
}
|
|
81
|
+
return "Matrix room key backup is not usable on this device.";
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export {
|
|
85
|
+
resolveMatrixRoomKeyBackupIssue,
|
|
86
|
+
resolveMatrixRoomKeyBackupReadinessError
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=chunk-HQSHS6IB.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/matrix/backup-health.ts"],
|
|
4
|
+
"sourcesContent": ["export type MatrixRoomKeyBackupStatusLike = {\n serverVersion: string | null;\n activeVersion: string | null;\n trusted: boolean | null;\n matchesDecryptionKey: boolean | null;\n decryptionKeyCached: boolean | null;\n keyLoadAttempted: boolean;\n keyLoadError: string | null;\n};\n\nexport type MatrixRoomKeyBackupIssueCode =\n | \"missing-server-backup\"\n | \"key-load-failed\"\n | \"key-not-loaded\"\n | \"key-mismatch\"\n | \"untrusted-signature\"\n | \"inactive\"\n | \"indeterminate\"\n | \"ok\";\n\nexport type MatrixRoomKeyBackupIssue = {\n code: MatrixRoomKeyBackupIssueCode;\n summary: string;\n message: string | null;\n};\n\nexport function resolveMatrixRoomKeyBackupIssue(\n backup: MatrixRoomKeyBackupStatusLike,\n): MatrixRoomKeyBackupIssue {\n if (!backup.serverVersion) {\n return {\n code: \"missing-server-backup\",\n summary: \"missing on server\",\n message: \"no room-key backup exists on the homeserver\",\n };\n }\n if (backup.decryptionKeyCached === false) {\n if (backup.keyLoadError) {\n return {\n code: \"key-load-failed\",\n summary: \"present but backup key unavailable on this device\",\n message: `backup decryption key could not be loaded from secret storage (${backup.keyLoadError})`,\n };\n }\n if (backup.keyLoadAttempted) {\n return {\n code: \"key-not-loaded\",\n summary: \"present but backup key unavailable on this device\",\n message:\n \"backup decryption key is not loaded on this device (secret storage did not return a key)\",\n };\n }\n return {\n code: \"key-not-loaded\",\n summary: \"present but backup key unavailable on this device\",\n message: \"backup decryption key is not loaded on this device\",\n };\n }\n if (backup.matchesDecryptionKey === false) {\n return {\n code: \"key-mismatch\",\n summary: \"present but backup key mismatch on this device\",\n message: \"backup key mismatch (this device does not have the matching backup decryption key)\",\n };\n }\n if (backup.trusted === false) {\n return {\n code: \"untrusted-signature\",\n summary: \"present but not trusted on this device\",\n message: \"backup signature chain is not trusted by this device\",\n };\n }\n if (!backup.activeVersion) {\n return {\n code: \"inactive\",\n summary: \"present on server but inactive on this device\",\n message: \"backup exists but is not active on this device\",\n };\n }\n if (\n backup.trusted === null ||\n backup.matchesDecryptionKey === null ||\n backup.decryptionKeyCached === null\n ) {\n return {\n code: \"indeterminate\",\n summary: \"present but trust state unknown\",\n message: \"backup trust state could not be fully determined\",\n };\n }\n return {\n code: \"ok\",\n summary: \"active and trusted on this device\",\n message: null,\n };\n}\n\nexport function resolveMatrixRoomKeyBackupReadinessError(\n backup: MatrixRoomKeyBackupStatusLike,\n opts: {\n requireServerBackup: boolean;\n },\n): string | null {\n const issue = resolveMatrixRoomKeyBackupIssue(backup);\n if (issue.code === \"missing-server-backup\") {\n return opts.requireServerBackup ? \"Matrix room key backup is missing on the homeserver.\" : null;\n }\n if (issue.code === \"ok\") {\n return null;\n }\n if (issue.message) {\n return `Matrix room key backup is not usable: ${issue.message}.`;\n }\n return \"Matrix room key backup is not usable on this device.\";\n}\n"],
|
|
5
|
+
"mappings": ";;;;;AAAA;AA0BO,SAAS,gCACd,QAC0B;AAC1B,MAAI,CAAC,OAAO,eAAe;AACzB,WAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,EACF;AACA,MAAI,OAAO,wBAAwB,OAAO;AACxC,QAAI,OAAO,cAAc;AACvB,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,SAAS,kEAAkE,OAAO,YAAY;AAAA,MAChG;AAAA,IACF;AACA,QAAI,OAAO,kBAAkB;AAC3B,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,SACE;AAAA,MACJ;AAAA,IACF;AACA,WAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,EACF;AACA,MAAI,OAAO,yBAAyB,OAAO;AACzC,WAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,EACF;AACA,MAAI,OAAO,YAAY,OAAO;AAC5B,WAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,EACF;AACA,MAAI,CAAC,OAAO,eAAe;AACzB,WAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,EACF;AACA,MACE,OAAO,YAAY,QACnB,OAAO,yBAAyB,QAChC,OAAO,wBAAwB,MAC/B;AACA,WAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,EACF;AACA,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,EACX;AACF;AAEO,SAAS,yCACd,QACA,MAGe;AACf,QAAM,QAAQ,gCAAgC,MAAM;AACpD,MAAI,MAAM,SAAS,yBAAyB;AAC1C,WAAO,KAAK,sBAAsB,yDAAyD;AAAA,EAC7F;AACA,MAAI,MAAM,SAAS,MAAM;AACvB,WAAO;AAAA,EACT;AACA,MAAI,MAAM,SAAS;AACjB,WAAO,yCAAyC,MAAM,OAAO;AAAA,EAC/D;AACA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import {
|
|
2
|
+
init_shims
|
|
3
|
+
} from "./chunk-7FLQSTPG.js";
|
|
4
|
+
|
|
5
|
+
// src/matrix/client/private-network-host.ts
|
|
6
|
+
init_shims();
|
|
7
|
+
import net from "node:net";
|
|
8
|
+
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/text-runtime";
|
|
9
|
+
function normalizeHost(host) {
|
|
10
|
+
const normalized = normalizeLowercaseStringOrEmpty(host).replace(/\.+$/, "");
|
|
11
|
+
return normalized.startsWith("[") && normalized.endsWith("]") ? normalized.slice(1, -1) : normalized;
|
|
12
|
+
}
|
|
13
|
+
function isPrivateIpv4(host) {
|
|
14
|
+
const parts = host.split(".").map((part) => Number(part));
|
|
15
|
+
if (parts.length !== 4 || parts.some((part) => !Number.isInteger(part) || part < 0 || part > 255)) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
const [a, b] = parts;
|
|
19
|
+
return a === 10 || a === 127 || a === 172 && b >= 16 && b <= 31 || a === 192 && b === 168 || a === 169 && b === 254 || a === 100 && b >= 64 && b <= 127;
|
|
20
|
+
}
|
|
21
|
+
function isPrivateIpv6(host) {
|
|
22
|
+
if (host === "::1") {
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
if (host === "::" || host.startsWith("ff")) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
return host.startsWith("fc") || host.startsWith("fd") || host.startsWith("fe80:");
|
|
29
|
+
}
|
|
30
|
+
function isPrivateOrLoopbackHost(host) {
|
|
31
|
+
const normalized = normalizeHost(host);
|
|
32
|
+
if (!normalized) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
if (normalized === "localhost") {
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
const family = net.isIP(normalized);
|
|
39
|
+
if (family === 4) {
|
|
40
|
+
return isPrivateIpv4(normalized);
|
|
41
|
+
}
|
|
42
|
+
if (family === 6) {
|
|
43
|
+
return isPrivateIpv6(normalized);
|
|
44
|
+
}
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export {
|
|
49
|
+
isPrivateOrLoopbackHost
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=chunk-HTV3R73W.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/matrix/client/private-network-host.ts"],
|
|
4
|
+
"sourcesContent": ["import net from \"node:net\";\nimport { normalizeLowercaseStringOrEmpty } from \"openclaw/plugin-sdk/text-runtime\";\n\nfunction normalizeHost(host: string): string {\n const normalized = normalizeLowercaseStringOrEmpty(host).replace(/\\.+$/, \"\");\n return normalized.startsWith(\"[\") && normalized.endsWith(\"]\")\n ? normalized.slice(1, -1)\n : normalized;\n}\n\nfunction isPrivateIpv4(host: string): boolean {\n const parts = host.split(\".\").map((part) => Number(part));\n if (\n parts.length !== 4 ||\n parts.some((part) => !Number.isInteger(part) || part < 0 || part > 255)\n ) {\n return false;\n }\n const [a, b] = parts;\n return (\n a === 10 ||\n a === 127 ||\n (a === 172 && b >= 16 && b <= 31) ||\n (a === 192 && b === 168) ||\n (a === 169 && b === 254) ||\n (a === 100 && b >= 64 && b <= 127)\n );\n}\n\nfunction isPrivateIpv6(host: string): boolean {\n if (host === \"::1\") {\n return true;\n }\n if (host === \"::\" || host.startsWith(\"ff\")) {\n return false;\n }\n return host.startsWith(\"fc\") || host.startsWith(\"fd\") || host.startsWith(\"fe80:\");\n}\n\nexport function isPrivateOrLoopbackHost(host: string): boolean {\n const normalized = normalizeHost(host);\n if (!normalized) {\n return false;\n }\n if (normalized === \"localhost\") {\n return true;\n }\n const family = net.isIP(normalized);\n if (family === 4) {\n return isPrivateIpv4(normalized);\n }\n if (family === 6) {\n return isPrivateIpv6(normalized);\n }\n return false;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;AAAA;AAAA,OAAO,SAAS;AAChB,SAAS,uCAAuC;AAEhD,SAAS,cAAc,MAAsB;AAC3C,QAAM,aAAa,gCAAgC,IAAI,EAAE,QAAQ,QAAQ,EAAE;AAC3E,SAAO,WAAW,WAAW,GAAG,KAAK,WAAW,SAAS,GAAG,IACxD,WAAW,MAAM,GAAG,EAAE,IACtB;AACN;AAEA,SAAS,cAAc,MAAuB;AAC5C,QAAM,QAAQ,KAAK,MAAM,GAAG,EAAE,IAAI,CAAC,SAAS,OAAO,IAAI,CAAC;AACxD,MACE,MAAM,WAAW,KACjB,MAAM,KAAK,CAAC,SAAS,CAAC,OAAO,UAAU,IAAI,KAAK,OAAO,KAAK,OAAO,GAAG,GACtE;AACA,WAAO;AAAA,EACT;AACA,QAAM,CAAC,GAAG,CAAC,IAAI;AACf,SACE,MAAM,MACN,MAAM,OACL,MAAM,OAAO,KAAK,MAAM,KAAK,MAC7B,MAAM,OAAO,MAAM,OACnB,MAAM,OAAO,MAAM,OACnB,MAAM,OAAO,KAAK,MAAM,KAAK;AAElC;AAEA,SAAS,cAAc,MAAuB;AAC5C,MAAI,SAAS,OAAO;AAClB,WAAO;AAAA,EACT;AACA,MAAI,SAAS,QAAQ,KAAK,WAAW,IAAI,GAAG;AAC1C,WAAO;AAAA,EACT;AACA,SAAO,KAAK,WAAW,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,WAAW,OAAO;AAClF;AAEO,SAAS,wBAAwB,MAAuB;AAC7D,QAAM,aAAa,cAAc,IAAI;AACrC,MAAI,CAAC,YAAY;AACf,WAAO;AAAA,EACT;AACA,MAAI,eAAe,aAAa;AAC9B,WAAO;AAAA,EACT;AACA,QAAM,SAAS,IAAI,KAAK,UAAU;AAClC,MAAI,WAAW,GAAG;AAChB,WAAO,cAAc,UAAU;AAAA,EACjC;AACA,MAAI,WAAW,GAAG;AAChB,WAAO,cAAc,UAAU;AAAA,EACjC;AACA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
import {
|
|
2
|
+
promoteMatrixDirectRoomCandidate
|
|
3
|
+
} from "./chunk-RPCVN3JA.js";
|
|
4
|
+
import {
|
|
5
|
+
hasDirectMatrixMemberFlag,
|
|
6
|
+
isStrictDirectMembership,
|
|
7
|
+
readJoinedMatrixMembers
|
|
8
|
+
} from "./chunk-ALKRFDAW.js";
|
|
9
|
+
import {
|
|
10
|
+
init_shims
|
|
11
|
+
} from "./chunk-7FLQSTPG.js";
|
|
12
|
+
|
|
13
|
+
// src/matrix/monitor/direct.ts
|
|
14
|
+
init_shims();
|
|
15
|
+
var DM_CACHE_TTL_MS = 3e4;
|
|
16
|
+
var RECENT_INVITE_TTL_MS = 3e4;
|
|
17
|
+
var MAX_TRACKED_DM_ROOMS = 1024;
|
|
18
|
+
var MAX_TRACKED_DM_MEMBER_FLAGS = 2048;
|
|
19
|
+
function rememberBounded(map, key, value, maxSize = MAX_TRACKED_DM_ROOMS) {
|
|
20
|
+
map.set(key, value);
|
|
21
|
+
if (map.size > maxSize) {
|
|
22
|
+
const oldest = map.keys().next().value;
|
|
23
|
+
if (typeof oldest === "string") {
|
|
24
|
+
map.delete(oldest);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function createDirectRoomTracker(client, opts = {}) {
|
|
29
|
+
const log = opts.log ?? (() => {
|
|
30
|
+
});
|
|
31
|
+
let lastDmUpdateMs = 0;
|
|
32
|
+
let hasSeededDmCache = false;
|
|
33
|
+
let cachedSelfUserId = null;
|
|
34
|
+
const joinedMembersCache = /* @__PURE__ */ new Map();
|
|
35
|
+
const directMemberFlagCache = /* @__PURE__ */ new Map();
|
|
36
|
+
const recentInviteCandidates = /* @__PURE__ */ new Map();
|
|
37
|
+
const locallyPromotedDirectRooms = /* @__PURE__ */ new Map();
|
|
38
|
+
const ensureSelfUserId = async () => {
|
|
39
|
+
if (cachedSelfUserId) {
|
|
40
|
+
return cachedSelfUserId;
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
cachedSelfUserId = await client.getUserId();
|
|
44
|
+
} catch {
|
|
45
|
+
cachedSelfUserId = null;
|
|
46
|
+
}
|
|
47
|
+
return cachedSelfUserId;
|
|
48
|
+
};
|
|
49
|
+
const refreshDmCache = async () => {
|
|
50
|
+
const now = Date.now();
|
|
51
|
+
if (now - lastDmUpdateMs < DM_CACHE_TTL_MS) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
lastDmUpdateMs = now;
|
|
55
|
+
hasSeededDmCache = await client.dms.update() || hasSeededDmCache;
|
|
56
|
+
};
|
|
57
|
+
const resolveJoinedMembers = async (roomId) => {
|
|
58
|
+
const cached = joinedMembersCache.get(roomId);
|
|
59
|
+
const now = Date.now();
|
|
60
|
+
if (cached && now - cached.ts < DM_CACHE_TTL_MS) {
|
|
61
|
+
return cached.members;
|
|
62
|
+
}
|
|
63
|
+
try {
|
|
64
|
+
const normalized = await readJoinedMatrixMembers(client, roomId);
|
|
65
|
+
if (!normalized) {
|
|
66
|
+
throw new Error("membership unavailable");
|
|
67
|
+
}
|
|
68
|
+
rememberBounded(joinedMembersCache, roomId, { members: normalized, ts: now });
|
|
69
|
+
return normalized;
|
|
70
|
+
} catch (err) {
|
|
71
|
+
log(`matrix: dm member lookup failed room=${roomId} (${String(err)})`);
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
const resolveDirectMemberFlag = async (roomId, userId) => {
|
|
76
|
+
const normalizedUserId = userId?.trim();
|
|
77
|
+
if (!normalizedUserId) {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
const cacheKey = `${roomId}
|
|
81
|
+
${normalizedUserId}`;
|
|
82
|
+
const cached = directMemberFlagCache.get(cacheKey);
|
|
83
|
+
const now = Date.now();
|
|
84
|
+
if (cached && now - cached.ts < DM_CACHE_TTL_MS) {
|
|
85
|
+
return cached.isDirect;
|
|
86
|
+
}
|
|
87
|
+
const isDirect = await hasDirectMatrixMemberFlag(client, roomId, normalizedUserId);
|
|
88
|
+
rememberBounded(
|
|
89
|
+
directMemberFlagCache,
|
|
90
|
+
cacheKey,
|
|
91
|
+
{ isDirect, ts: now },
|
|
92
|
+
MAX_TRACKED_DM_MEMBER_FLAGS
|
|
93
|
+
);
|
|
94
|
+
return isDirect;
|
|
95
|
+
};
|
|
96
|
+
const hasRecentInviteCandidate = (roomId, remoteUserId) => {
|
|
97
|
+
const normalizedRemoteUserId = remoteUserId?.trim();
|
|
98
|
+
if (!normalizedRemoteUserId) {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
const cached = recentInviteCandidates.get(roomId);
|
|
102
|
+
if (!cached) {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
if (Date.now() - cached.ts >= RECENT_INVITE_TTL_MS) {
|
|
106
|
+
recentInviteCandidates.delete(roomId);
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
return cached.remoteUserId === normalizedRemoteUserId;
|
|
110
|
+
};
|
|
111
|
+
const canPromoteRecentInvite = async (roomId) => {
|
|
112
|
+
try {
|
|
113
|
+
return await opts.canPromoteRecentInvite?.(roomId) ?? true;
|
|
114
|
+
} catch (err) {
|
|
115
|
+
log(`matrix: recent invite promotion veto failed room=${roomId} (${String(err)})`);
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
const shouldKeepLocallyPromotedDirectRoom = async (roomId) => {
|
|
120
|
+
try {
|
|
121
|
+
return await opts.shouldKeepLocallyPromotedDirectRoom?.(roomId);
|
|
122
|
+
} catch (err) {
|
|
123
|
+
log(`matrix: local promotion keep-check failed room=${roomId} (${String(err)})`);
|
|
124
|
+
return void 0;
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
const hasLocallyPromotedDirectRoom = (roomId, remoteUserId) => {
|
|
128
|
+
const normalizedRemoteUserId = remoteUserId?.trim();
|
|
129
|
+
if (!normalizedRemoteUserId) {
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
return locallyPromotedDirectRooms.get(roomId)?.remoteUserId === normalizedRemoteUserId;
|
|
133
|
+
};
|
|
134
|
+
const rememberLocallyPromotedDirectRoom = (roomId, remoteUserId) => {
|
|
135
|
+
const normalizedRemoteUserId = remoteUserId.trim();
|
|
136
|
+
if (!normalizedRemoteUserId) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
rememberBounded(locallyPromotedDirectRooms, roomId, {
|
|
140
|
+
remoteUserId: normalizedRemoteUserId
|
|
141
|
+
});
|
|
142
|
+
};
|
|
143
|
+
return {
|
|
144
|
+
invalidateRoom: (roomId) => {
|
|
145
|
+
joinedMembersCache.delete(roomId);
|
|
146
|
+
for (const key of directMemberFlagCache.keys()) {
|
|
147
|
+
if (key.startsWith(`${roomId}
|
|
148
|
+
`)) {
|
|
149
|
+
directMemberFlagCache.delete(key);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
lastDmUpdateMs = 0;
|
|
153
|
+
log(`matrix: invalidated dm cache room=${roomId}`);
|
|
154
|
+
},
|
|
155
|
+
rememberInvite: (roomId, remoteUserId) => {
|
|
156
|
+
const normalizedRemoteUserId = remoteUserId.trim();
|
|
157
|
+
if (!normalizedRemoteUserId) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
rememberBounded(recentInviteCandidates, roomId, {
|
|
161
|
+
remoteUserId: normalizedRemoteUserId,
|
|
162
|
+
ts: Date.now()
|
|
163
|
+
});
|
|
164
|
+
log(`matrix: remembered invite candidate room=${roomId} sender=${normalizedRemoteUserId}`);
|
|
165
|
+
},
|
|
166
|
+
isDirectMessage: async (params) => {
|
|
167
|
+
const { roomId, senderId } = params;
|
|
168
|
+
const selfUserId = params.selfUserId ?? await ensureSelfUserId();
|
|
169
|
+
const joinedMembers = await resolveJoinedMembers(roomId);
|
|
170
|
+
const strictDirectMembership = isStrictDirectMembership({
|
|
171
|
+
selfUserId,
|
|
172
|
+
remoteUserId: senderId,
|
|
173
|
+
joinedMembers
|
|
174
|
+
});
|
|
175
|
+
try {
|
|
176
|
+
await refreshDmCache();
|
|
177
|
+
} catch (err) {
|
|
178
|
+
log(`matrix: dm cache refresh failed (${String(err)})`);
|
|
179
|
+
}
|
|
180
|
+
if (client.dms.isDm(roomId)) {
|
|
181
|
+
if (strictDirectMembership) {
|
|
182
|
+
log(`matrix: dm detected via m.direct room=${roomId}`);
|
|
183
|
+
return true;
|
|
184
|
+
}
|
|
185
|
+
log(`matrix: ignoring stale m.direct classification room=${roomId}`);
|
|
186
|
+
}
|
|
187
|
+
if (strictDirectMembership) {
|
|
188
|
+
const directViaSelf = await resolveDirectMemberFlag(roomId, selfUserId);
|
|
189
|
+
if (directViaSelf === true) {
|
|
190
|
+
log(`matrix: dm detected via member state room=${roomId}`);
|
|
191
|
+
return true;
|
|
192
|
+
}
|
|
193
|
+
if (directViaSelf === false) {
|
|
194
|
+
log(`matrix: dm rejected via member state room=${roomId}`);
|
|
195
|
+
return false;
|
|
196
|
+
}
|
|
197
|
+
if (!hasSeededDmCache) {
|
|
198
|
+
log(
|
|
199
|
+
`matrix: dm detected via exact 2-member fallback before dm cache seed room=${roomId}`
|
|
200
|
+
);
|
|
201
|
+
return true;
|
|
202
|
+
}
|
|
203
|
+
if (hasLocallyPromotedDirectRoom(roomId, senderId)) {
|
|
204
|
+
const shouldKeep = await shouldKeepLocallyPromotedDirectRoom(roomId);
|
|
205
|
+
if (shouldKeep !== false) {
|
|
206
|
+
log(`matrix: dm detected via local promotion room=${roomId}`);
|
|
207
|
+
return true;
|
|
208
|
+
}
|
|
209
|
+
locallyPromotedDirectRooms.delete(roomId);
|
|
210
|
+
log(`matrix: local promotion cleared room=${roomId}`);
|
|
211
|
+
}
|
|
212
|
+
if (hasRecentInviteCandidate(roomId, senderId) && await canPromoteRecentInvite(roomId)) {
|
|
213
|
+
const promotion = await promoteMatrixDirectRoomCandidate({
|
|
214
|
+
client,
|
|
215
|
+
remoteUserId: senderId ?? "",
|
|
216
|
+
roomId,
|
|
217
|
+
selfUserId
|
|
218
|
+
});
|
|
219
|
+
if (promotion.classifyAsDirect) {
|
|
220
|
+
rememberLocallyPromotedDirectRoom(roomId, senderId ?? "");
|
|
221
|
+
log(
|
|
222
|
+
`matrix: dm detected via recent invite room=${roomId} reason=${promotion.reason} repaired=${String(promotion.repaired)}`
|
|
223
|
+
);
|
|
224
|
+
return true;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
log(
|
|
229
|
+
`matrix: dm check room=${roomId} result=group members=${joinedMembers?.length ?? "unknown"}`
|
|
230
|
+
);
|
|
231
|
+
return false;
|
|
232
|
+
}
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
export {
|
|
237
|
+
createDirectRoomTracker
|
|
238
|
+
};
|
|
239
|
+
//# sourceMappingURL=chunk-IJCMYMZB.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/matrix/monitor/direct.ts"],
|
|
4
|
+
"sourcesContent": ["import { promoteMatrixDirectRoomCandidate } from \"../direct-management.js\";\nimport {\n hasDirectMatrixMemberFlag,\n isStrictDirectMembership,\n readJoinedMatrixMembers,\n} from \"../direct-room.js\";\nimport type { MatrixClient } from \"../sdk.js\";\n\ntype DirectMessageCheck = {\n roomId: string;\n senderId?: string;\n selfUserId?: string;\n};\n\ntype DirectRoomTrackerOptions = {\n log?: (message: string) => void;\n canPromoteRecentInvite?: (roomId: string) => boolean | Promise<boolean>;\n shouldKeepLocallyPromotedDirectRoom?:\n | ((roomId: string) => boolean | undefined | Promise<boolean | undefined>)\n | undefined;\n};\n\nconst DM_CACHE_TTL_MS = 30_000;\nconst RECENT_INVITE_TTL_MS = 30_000;\nconst MAX_TRACKED_DM_ROOMS = 1024;\nconst MAX_TRACKED_DM_MEMBER_FLAGS = 2048;\n\nfunction rememberBounded<T>(\n map: Map<string, T>,\n key: string,\n value: T,\n maxSize = MAX_TRACKED_DM_ROOMS,\n): void {\n map.set(key, value);\n if (map.size > maxSize) {\n const oldest = map.keys().next().value;\n if (typeof oldest === \"string\") {\n map.delete(oldest);\n }\n }\n}\n\nexport function createDirectRoomTracker(client: MatrixClient, opts: DirectRoomTrackerOptions = {}) {\n const log = opts.log ?? (() => {});\n let lastDmUpdateMs = 0;\n // Once m.direct has seeded successfully, prefer the explicit cache over\n // re-enabling the broad 2-person fallback after a later transient failure.\n let hasSeededDmCache = false;\n let cachedSelfUserId: string | null = null;\n const joinedMembersCache = new Map<string, { members: string[]; ts: number }>();\n const directMemberFlagCache = new Map<string, { isDirect: boolean | null; ts: number }>();\n const recentInviteCandidates = new Map<string, { remoteUserId: string; ts: number }>();\n const locallyPromotedDirectRooms = new Map<string, { remoteUserId: string }>();\n\n const ensureSelfUserId = async (): Promise<string | null> => {\n if (cachedSelfUserId) {\n return cachedSelfUserId;\n }\n try {\n cachedSelfUserId = await client.getUserId();\n } catch {\n cachedSelfUserId = null;\n }\n return cachedSelfUserId;\n };\n\n const refreshDmCache = async (): Promise<void> => {\n const now = Date.now();\n if (now - lastDmUpdateMs < DM_CACHE_TTL_MS) {\n return;\n }\n lastDmUpdateMs = now;\n hasSeededDmCache = (await client.dms.update()) || hasSeededDmCache;\n };\n\n const resolveJoinedMembers = async (roomId: string): Promise<string[] | null> => {\n const cached = joinedMembersCache.get(roomId);\n const now = Date.now();\n if (cached && now - cached.ts < DM_CACHE_TTL_MS) {\n return cached.members;\n }\n try {\n const normalized = await readJoinedMatrixMembers(client, roomId);\n if (!normalized) {\n throw new Error(\"membership unavailable\");\n }\n rememberBounded(joinedMembersCache, roomId, { members: normalized, ts: now });\n return normalized;\n } catch (err) {\n log(`matrix: dm member lookup failed room=${roomId} (${String(err)})`);\n return null;\n }\n };\n\n const resolveDirectMemberFlag = async (\n roomId: string,\n userId?: string | null,\n ): Promise<boolean | null> => {\n const normalizedUserId = userId?.trim();\n if (!normalizedUserId) {\n return null;\n }\n const cacheKey = `${roomId}\\n${normalizedUserId}`;\n const cached = directMemberFlagCache.get(cacheKey);\n const now = Date.now();\n if (cached && now - cached.ts < DM_CACHE_TTL_MS) {\n return cached.isDirect;\n }\n const isDirect = await hasDirectMatrixMemberFlag(client, roomId, normalizedUserId);\n rememberBounded(\n directMemberFlagCache,\n cacheKey,\n { isDirect, ts: now },\n MAX_TRACKED_DM_MEMBER_FLAGS,\n );\n return isDirect;\n };\n\n const hasRecentInviteCandidate = (roomId: string, remoteUserId?: string | null): boolean => {\n const normalizedRemoteUserId = remoteUserId?.trim();\n if (!normalizedRemoteUserId) {\n return false;\n }\n const cached = recentInviteCandidates.get(roomId);\n if (!cached) {\n return false;\n }\n if (Date.now() - cached.ts >= RECENT_INVITE_TTL_MS) {\n recentInviteCandidates.delete(roomId);\n return false;\n }\n return cached.remoteUserId === normalizedRemoteUserId;\n };\n\n const canPromoteRecentInvite = async (roomId: string): Promise<boolean> => {\n try {\n return (await opts.canPromoteRecentInvite?.(roomId)) ?? true;\n } catch (err) {\n log(`matrix: recent invite promotion veto failed room=${roomId} (${String(err)})`);\n return false;\n }\n };\n\n const shouldKeepLocallyPromotedDirectRoom = async (\n roomId: string,\n ): Promise<boolean | undefined> => {\n try {\n return await opts.shouldKeepLocallyPromotedDirectRoom?.(roomId);\n } catch (err) {\n log(`matrix: local promotion keep-check failed room=${roomId} (${String(err)})`);\n return undefined;\n }\n };\n\n const hasLocallyPromotedDirectRoom = (roomId: string, remoteUserId?: string | null): boolean => {\n const normalizedRemoteUserId = remoteUserId?.trim();\n if (!normalizedRemoteUserId) {\n return false;\n }\n return locallyPromotedDirectRooms.get(roomId)?.remoteUserId === normalizedRemoteUserId;\n };\n\n const rememberLocallyPromotedDirectRoom = (roomId: string, remoteUserId: string): void => {\n const normalizedRemoteUserId = remoteUserId.trim();\n if (!normalizedRemoteUserId) {\n return;\n }\n rememberBounded(locallyPromotedDirectRooms, roomId, {\n remoteUserId: normalizedRemoteUserId,\n });\n };\n\n return {\n invalidateRoom: (roomId: string): void => {\n joinedMembersCache.delete(roomId);\n for (const key of directMemberFlagCache.keys()) {\n if (key.startsWith(`${roomId}\\n`)) {\n directMemberFlagCache.delete(key);\n }\n }\n lastDmUpdateMs = 0;\n log(`matrix: invalidated dm cache room=${roomId}`);\n },\n rememberInvite: (roomId: string, remoteUserId: string): void => {\n const normalizedRemoteUserId = remoteUserId.trim();\n if (!normalizedRemoteUserId) {\n return;\n }\n rememberBounded(recentInviteCandidates, roomId, {\n remoteUserId: normalizedRemoteUserId,\n ts: Date.now(),\n });\n log(`matrix: remembered invite candidate room=${roomId} sender=${normalizedRemoteUserId}`);\n },\n isDirectMessage: async (params: DirectMessageCheck): Promise<boolean> => {\n const { roomId, senderId } = params;\n const selfUserId = params.selfUserId ?? (await ensureSelfUserId());\n const joinedMembers = await resolveJoinedMembers(roomId);\n const strictDirectMembership = isStrictDirectMembership({\n selfUserId,\n remoteUserId: senderId,\n joinedMembers,\n });\n\n try {\n await refreshDmCache();\n } catch (err) {\n log(`matrix: dm cache refresh failed (${String(err)})`);\n }\n\n if (client.dms.isDm(roomId)) {\n if (strictDirectMembership) {\n log(`matrix: dm detected via m.direct room=${roomId}`);\n return true;\n }\n log(`matrix: ignoring stale m.direct classification room=${roomId}`);\n }\n\n if (strictDirectMembership) {\n const directViaSelf = await resolveDirectMemberFlag(roomId, selfUserId);\n if (directViaSelf === true) {\n log(`matrix: dm detected via member state room=${roomId}`);\n return true;\n }\n if (directViaSelf === false) {\n log(`matrix: dm rejected via member state room=${roomId}`);\n return false;\n }\n\n if (!hasSeededDmCache) {\n log(\n `matrix: dm detected via exact 2-member fallback before dm cache seed room=${roomId}`,\n );\n return true;\n }\n\n if (hasLocallyPromotedDirectRoom(roomId, senderId)) {\n const shouldKeep = await shouldKeepLocallyPromotedDirectRoom(roomId);\n if (shouldKeep !== false) {\n log(`matrix: dm detected via local promotion room=${roomId}`);\n return true;\n }\n locallyPromotedDirectRooms.delete(roomId);\n log(`matrix: local promotion cleared room=${roomId}`);\n }\n\n if (hasRecentInviteCandidate(roomId, senderId) && (await canPromoteRecentInvite(roomId))) {\n const promotion = await promoteMatrixDirectRoomCandidate({\n client,\n remoteUserId: senderId ?? \"\",\n roomId,\n selfUserId,\n });\n if (promotion.classifyAsDirect) {\n rememberLocallyPromotedDirectRoom(roomId, senderId ?? \"\");\n log(\n `matrix: dm detected via recent invite room=${roomId} reason=${promotion.reason} repaired=${String(promotion.repaired)}`,\n );\n return true;\n }\n }\n }\n\n log(\n `matrix: dm check room=${roomId} result=group members=${joinedMembers?.length ?? \"unknown\"}`,\n );\n return false;\n },\n };\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;AAAA;AAsBA,IAAM,kBAAkB;AACxB,IAAM,uBAAuB;AAC7B,IAAM,uBAAuB;AAC7B,IAAM,8BAA8B;AAEpC,SAAS,gBACP,KACA,KACA,OACA,UAAU,sBACJ;AACN,MAAI,IAAI,KAAK,KAAK;AAClB,MAAI,IAAI,OAAO,SAAS;AACtB,UAAM,SAAS,IAAI,KAAK,EAAE,KAAK,EAAE;AACjC,QAAI,OAAO,WAAW,UAAU;AAC9B,UAAI,OAAO,MAAM;AAAA,IACnB;AAAA,EACF;AACF;AAEO,SAAS,wBAAwB,QAAsB,OAAiC,CAAC,GAAG;AACjG,QAAM,MAAM,KAAK,QAAQ,MAAM;AAAA,EAAC;AAChC,MAAI,iBAAiB;AAGrB,MAAI,mBAAmB;AACvB,MAAI,mBAAkC;AACtC,QAAM,qBAAqB,oBAAI,IAA+C;AAC9E,QAAM,wBAAwB,oBAAI,IAAsD;AACxF,QAAM,yBAAyB,oBAAI,IAAkD;AACrF,QAAM,6BAA6B,oBAAI,IAAsC;AAE7E,QAAM,mBAAmB,YAAoC;AAC3D,QAAI,kBAAkB;AACpB,aAAO;AAAA,IACT;AACA,QAAI;AACF,yBAAmB,MAAM,OAAO,UAAU;AAAA,IAC5C,QAAQ;AACN,yBAAmB;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAEA,QAAM,iBAAiB,YAA2B;AAChD,UAAM,MAAM,KAAK,IAAI;AACrB,QAAI,MAAM,iBAAiB,iBAAiB;AAC1C;AAAA,IACF;AACA,qBAAiB;AACjB,uBAAoB,MAAM,OAAO,IAAI,OAAO,KAAM;AAAA,EACpD;AAEA,QAAM,uBAAuB,OAAO,WAA6C;AAC/E,UAAM,SAAS,mBAAmB,IAAI,MAAM;AAC5C,UAAM,MAAM,KAAK,IAAI;AACrB,QAAI,UAAU,MAAM,OAAO,KAAK,iBAAiB;AAC/C,aAAO,OAAO;AAAA,IAChB;AACA,QAAI;AACF,YAAM,aAAa,MAAM,wBAAwB,QAAQ,MAAM;AAC/D,UAAI,CAAC,YAAY;AACf,cAAM,IAAI,MAAM,wBAAwB;AAAA,MAC1C;AACA,sBAAgB,oBAAoB,QAAQ,EAAE,SAAS,YAAY,IAAI,IAAI,CAAC;AAC5E,aAAO;AAAA,IACT,SAAS,KAAK;AACZ,UAAI,wCAAwC,MAAM,KAAK,OAAO,GAAG,CAAC,GAAG;AACrE,aAAO;AAAA,IACT;AAAA,EACF;AAEA,QAAM,0BAA0B,OAC9B,QACA,WAC4B;AAC5B,UAAM,mBAAmB,QAAQ,KAAK;AACtC,QAAI,CAAC,kBAAkB;AACrB,aAAO;AAAA,IACT;AACA,UAAM,WAAW,GAAG,MAAM;AAAA,EAAK,gBAAgB;AAC/C,UAAM,SAAS,sBAAsB,IAAI,QAAQ;AACjD,UAAM,MAAM,KAAK,IAAI;AACrB,QAAI,UAAU,MAAM,OAAO,KAAK,iBAAiB;AAC/C,aAAO,OAAO;AAAA,IAChB;AACA,UAAM,WAAW,MAAM,0BAA0B,QAAQ,QAAQ,gBAAgB;AACjF;AAAA,MACE;AAAA,MACA;AAAA,MACA,EAAE,UAAU,IAAI,IAAI;AAAA,MACpB;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAEA,QAAM,2BAA2B,CAAC,QAAgB,iBAA0C;AAC1F,UAAM,yBAAyB,cAAc,KAAK;AAClD,QAAI,CAAC,wBAAwB;AAC3B,aAAO;AAAA,IACT;AACA,UAAM,SAAS,uBAAuB,IAAI,MAAM;AAChD,QAAI,CAAC,QAAQ;AACX,aAAO;AAAA,IACT;AACA,QAAI,KAAK,IAAI,IAAI,OAAO,MAAM,sBAAsB;AAClD,6BAAuB,OAAO,MAAM;AACpC,aAAO;AAAA,IACT;AACA,WAAO,OAAO,iBAAiB;AAAA,EACjC;AAEA,QAAM,yBAAyB,OAAO,WAAqC;AACzE,QAAI;AACF,aAAQ,MAAM,KAAK,yBAAyB,MAAM,KAAM;AAAA,IAC1D,SAAS,KAAK;AACZ,UAAI,oDAAoD,MAAM,KAAK,OAAO,GAAG,CAAC,GAAG;AACjF,aAAO;AAAA,IACT;AAAA,EACF;AAEA,QAAM,sCAAsC,OAC1C,WACiC;AACjC,QAAI;AACF,aAAO,MAAM,KAAK,sCAAsC,MAAM;AAAA,IAChE,SAAS,KAAK;AACZ,UAAI,kDAAkD,MAAM,KAAK,OAAO,GAAG,CAAC,GAAG;AAC/E,aAAO;AAAA,IACT;AAAA,EACF;AAEA,QAAM,+BAA+B,CAAC,QAAgB,iBAA0C;AAC9F,UAAM,yBAAyB,cAAc,KAAK;AAClD,QAAI,CAAC,wBAAwB;AAC3B,aAAO;AAAA,IACT;AACA,WAAO,2BAA2B,IAAI,MAAM,GAAG,iBAAiB;AAAA,EAClE;AAEA,QAAM,oCAAoC,CAAC,QAAgB,iBAA+B;AACxF,UAAM,yBAAyB,aAAa,KAAK;AACjD,QAAI,CAAC,wBAAwB;AAC3B;AAAA,IACF;AACA,oBAAgB,4BAA4B,QAAQ;AAAA,MAClD,cAAc;AAAA,IAChB,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL,gBAAgB,CAAC,WAAyB;AACxC,yBAAmB,OAAO,MAAM;AAChC,iBAAW,OAAO,sBAAsB,KAAK,GAAG;AAC9C,YAAI,IAAI,WAAW,GAAG,MAAM;AAAA,CAAI,GAAG;AACjC,gCAAsB,OAAO,GAAG;AAAA,QAClC;AAAA,MACF;AACA,uBAAiB;AACjB,UAAI,qCAAqC,MAAM,EAAE;AAAA,IACnD;AAAA,IACA,gBAAgB,CAAC,QAAgB,iBAA+B;AAC9D,YAAM,yBAAyB,aAAa,KAAK;AACjD,UAAI,CAAC,wBAAwB;AAC3B;AAAA,MACF;AACA,sBAAgB,wBAAwB,QAAQ;AAAA,QAC9C,cAAc;AAAA,QACd,IAAI,KAAK,IAAI;AAAA,MACf,CAAC;AACD,UAAI,4CAA4C,MAAM,WAAW,sBAAsB,EAAE;AAAA,IAC3F;AAAA,IACA,iBAAiB,OAAO,WAAiD;AACvE,YAAM,EAAE,QAAQ,SAAS,IAAI;AAC7B,YAAM,aAAa,OAAO,cAAe,MAAM,iBAAiB;AAChE,YAAM,gBAAgB,MAAM,qBAAqB,MAAM;AACvD,YAAM,yBAAyB,yBAAyB;AAAA,QACtD;AAAA,QACA,cAAc;AAAA,QACd;AAAA,MACF,CAAC;AAED,UAAI;AACF,cAAM,eAAe;AAAA,MACvB,SAAS,KAAK;AACZ,YAAI,oCAAoC,OAAO,GAAG,CAAC,GAAG;AAAA,MACxD;AAEA,UAAI,OAAO,IAAI,KAAK,MAAM,GAAG;AAC3B,YAAI,wBAAwB;AAC1B,cAAI,yCAAyC,MAAM,EAAE;AACrD,iBAAO;AAAA,QACT;AACA,YAAI,uDAAuD,MAAM,EAAE;AAAA,MACrE;AAEA,UAAI,wBAAwB;AAC1B,cAAM,gBAAgB,MAAM,wBAAwB,QAAQ,UAAU;AACtE,YAAI,kBAAkB,MAAM;AAC1B,cAAI,6CAA6C,MAAM,EAAE;AACzD,iBAAO;AAAA,QACT;AACA,YAAI,kBAAkB,OAAO;AAC3B,cAAI,6CAA6C,MAAM,EAAE;AACzD,iBAAO;AAAA,QACT;AAEA,YAAI,CAAC,kBAAkB;AACrB;AAAA,YACE,6EAA6E,MAAM;AAAA,UACrF;AACA,iBAAO;AAAA,QACT;AAEA,YAAI,6BAA6B,QAAQ,QAAQ,GAAG;AAClD,gBAAM,aAAa,MAAM,oCAAoC,MAAM;AACnE,cAAI,eAAe,OAAO;AACxB,gBAAI,gDAAgD,MAAM,EAAE;AAC5D,mBAAO;AAAA,UACT;AACA,qCAA2B,OAAO,MAAM;AACxC,cAAI,wCAAwC,MAAM,EAAE;AAAA,QACtD;AAEA,YAAI,yBAAyB,QAAQ,QAAQ,KAAM,MAAM,uBAAuB,MAAM,GAAI;AACxF,gBAAM,YAAY,MAAM,iCAAiC;AAAA,YACvD;AAAA,YACA,cAAc,YAAY;AAAA,YAC1B;AAAA,YACA;AAAA,UACF,CAAC;AACD,cAAI,UAAU,kBAAkB;AAC9B,8CAAkC,QAAQ,YAAY,EAAE;AACxD;AAAA,cACE,8CAA8C,MAAM,WAAW,UAAU,MAAM,aAAa,OAAO,UAAU,QAAQ,CAAC;AAAA,YACxH;AACA,mBAAO;AAAA,UACT;AAAA,QACF;AAAA,MACF;AAEA;AAAA,QACE,yBAAyB,MAAM,yBAAyB,eAAe,UAAU,SAAS;AAAA,MAC5F;AACA,aAAO;AAAA,IACT;AAAA,EACF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|