@archipelagolab/lobi 1.0.1 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1538) hide show
  1. package/dist/APEv2Parser-6EMKXRZS.js +15 -0
  2. package/dist/APEv2Parser-6EMKXRZS.js.map +7 -0
  3. package/dist/APEv2Parser-FYYGMFPI.js +15 -0
  4. package/dist/APEv2Parser-FYYGMFPI.js.map +7 -0
  5. package/dist/AiffParser-E6XWRTXM.js +194 -0
  6. package/dist/AiffParser-E6XWRTXM.js.map +7 -0
  7. package/dist/AiffParser-JHSDQA7T.js +194 -0
  8. package/dist/AiffParser-JHSDQA7T.js.map +7 -0
  9. package/dist/AsfParser-TPCQDEJB.js +620 -0
  10. package/dist/AsfParser-TPCQDEJB.js.map +7 -0
  11. package/dist/AsfParser-WSOH2JQY.js +620 -0
  12. package/dist/AsfParser-WSOH2JQY.js.map +7 -0
  13. package/dist/DsdiffParser-CGD3C3TL.js +192 -0
  14. package/dist/DsdiffParser-CGD3C3TL.js.map +7 -0
  15. package/dist/DsdiffParser-EUWJ4YAR.js +192 -0
  16. package/dist/DsdiffParser-EUWJ4YAR.js.map +7 -0
  17. package/dist/DsfParser-3UTIJVNF.js +114 -0
  18. package/dist/DsfParser-3UTIJVNF.js.map +7 -0
  19. package/dist/DsfParser-R6TPBJIY.js +114 -0
  20. package/dist/DsfParser-R6TPBJIY.js.map +7 -0
  21. package/dist/FlacParser-HLLYPJ76.js +16 -0
  22. package/dist/FlacParser-HLLYPJ76.js.map +7 -0
  23. package/dist/FlacParser-VDASGZ3E.js +16 -0
  24. package/dist/FlacParser-VDASGZ3E.js.map +7 -0
  25. package/dist/MP4Parser-64RGJLUM.js +1145 -0
  26. package/dist/MP4Parser-64RGJLUM.js.map +7 -0
  27. package/dist/MP4Parser-SM7HYL3Z.js +1145 -0
  28. package/dist/MP4Parser-SM7HYL3Z.js.map +7 -0
  29. package/dist/MatroskaParser-O6RXAKYA.js +662 -0
  30. package/dist/MatroskaParser-O6RXAKYA.js.map +7 -0
  31. package/dist/MatroskaParser-X7WRZ6D4.js +662 -0
  32. package/dist/MatroskaParser-X7WRZ6D4.js.map +7 -0
  33. package/dist/MpegParser-B6NX6DS3.js +652 -0
  34. package/dist/MpegParser-B6NX6DS3.js.map +7 -0
  35. package/dist/MpegParser-KXQEC6KD.js +652 -0
  36. package/dist/MpegParser-KXQEC6KD.js.map +7 -0
  37. package/dist/MusepackParser-NURI46TG.js +331 -0
  38. package/dist/MusepackParser-NURI46TG.js.map +7 -0
  39. package/dist/MusepackParser-WUBT63DS.js +331 -0
  40. package/dist/MusepackParser-WUBT63DS.js.map +7 -0
  41. package/dist/OggParser-5IYVBXPS.js +448 -0
  42. package/dist/OggParser-5IYVBXPS.js.map +7 -0
  43. package/dist/OggParser-ZY6E5C2P.js +448 -0
  44. package/dist/OggParser-ZY6E5C2P.js.map +7 -0
  45. package/dist/WavPackParser-5KTCSQEU.js +209 -0
  46. package/dist/WavPackParser-5KTCSQEU.js.map +7 -0
  47. package/dist/WavPackParser-RTEHKSJH.js +209 -0
  48. package/dist/WavPackParser-RTEHKSJH.js.map +7 -0
  49. package/dist/WaveParser-3R2NLXGP.js +300 -0
  50. package/dist/WaveParser-3R2NLXGP.js.map +7 -0
  51. package/dist/WaveParser-RZSHVQPZ.js +300 -0
  52. package/dist/WaveParser-RZSHVQPZ.js.map +7 -0
  53. package/dist/auth-presence.js +46 -0
  54. package/dist/auth-presence.js.map +7 -0
  55. package/dist/channel-plugin-api.js +79 -0
  56. package/dist/channel-plugin-api.js.map +7 -0
  57. package/dist/chunk-22WAAZ6I.js +114 -0
  58. package/dist/chunk-22WAAZ6I.js.map +7 -0
  59. package/dist/chunk-2A6HEFSO.js +676 -0
  60. package/dist/chunk-2A6HEFSO.js.map +7 -0
  61. package/dist/chunk-2GFROLI2.js +261 -0
  62. package/dist/chunk-2GFROLI2.js.map +7 -0
  63. package/dist/chunk-2IQWKATM.js +127 -0
  64. package/dist/chunk-2IQWKATM.js.map +7 -0
  65. package/dist/chunk-2KGHUHKU.js +169 -0
  66. package/dist/chunk-2KGHUHKU.js.map +7 -0
  67. package/dist/chunk-2NEQI4K6.js +171 -0
  68. package/dist/chunk-2NEQI4K6.js.map +7 -0
  69. package/dist/chunk-2OSJ3MTW.js +175 -0
  70. package/dist/chunk-2OSJ3MTW.js.map +7 -0
  71. package/dist/chunk-2Q626TDO.js +27 -0
  72. package/dist/chunk-2Q626TDO.js.map +7 -0
  73. package/dist/chunk-2U6OZ7N2.js +155 -0
  74. package/dist/chunk-2U6OZ7N2.js.map +7 -0
  75. package/dist/chunk-2V6Y4CAN.js +25 -0
  76. package/dist/chunk-2V6Y4CAN.js.map +7 -0
  77. package/dist/chunk-2WHRUMOM.js +321 -0
  78. package/dist/chunk-2WHRUMOM.js.map +7 -0
  79. package/dist/chunk-2Z4IOUDZ.js +129 -0
  80. package/dist/chunk-2Z4IOUDZ.js.map +7 -0
  81. package/dist/chunk-2ZEPAW7U.js +154 -0
  82. package/dist/chunk-2ZEPAW7U.js.map +7 -0
  83. package/dist/chunk-2ZI6JK5O.js +63 -0
  84. package/dist/chunk-2ZI6JK5O.js.map +7 -0
  85. package/dist/chunk-34UY6D6X.js +36 -0
  86. package/dist/chunk-34UY6D6X.js.map +7 -0
  87. package/dist/chunk-3GIK7SAA.js +109 -0
  88. package/dist/chunk-3GIK7SAA.js.map +7 -0
  89. package/dist/chunk-3JD6JSJD.js +111 -0
  90. package/dist/chunk-3JD6JSJD.js.map +7 -0
  91. package/dist/chunk-3OXOEMBS.js +123 -0
  92. package/dist/chunk-3OXOEMBS.js.map +7 -0
  93. package/dist/chunk-3R4ATE4Q.js +176 -0
  94. package/dist/chunk-3R4ATE4Q.js.map +7 -0
  95. package/dist/chunk-3TOEIHG5.js +314 -0
  96. package/dist/chunk-3TOEIHG5.js.map +7 -0
  97. package/dist/chunk-3TRKKAVT.js +130 -0
  98. package/dist/chunk-3TRKKAVT.js.map +7 -0
  99. package/dist/chunk-3UFTTK7C.js +418 -0
  100. package/dist/chunk-3UFTTK7C.js.map +7 -0
  101. package/dist/chunk-3XO6AAIC.js +25 -0
  102. package/dist/chunk-3XO6AAIC.js.map +7 -0
  103. package/dist/chunk-427SAQME.js +321 -0
  104. package/dist/chunk-427SAQME.js.map +7 -0
  105. package/dist/chunk-4CFQNJ7F.js +7 -0
  106. package/dist/chunk-4CFQNJ7F.js.map +7 -0
  107. package/dist/chunk-4COI4L2Y.js +31 -0
  108. package/dist/chunk-4COI4L2Y.js.map +7 -0
  109. package/dist/chunk-4EKKDVG3.js +1662 -0
  110. package/dist/chunk-4EKKDVG3.js.map +7 -0
  111. package/dist/chunk-4JVNTZAI.js +80 -0
  112. package/dist/chunk-4JVNTZAI.js.map +7 -0
  113. package/dist/chunk-4L2QI6AY.js +71 -0
  114. package/dist/chunk-4L2QI6AY.js.map +7 -0
  115. package/dist/chunk-4O3BEYYM.js +187 -0
  116. package/dist/chunk-4O3BEYYM.js.map +7 -0
  117. package/dist/chunk-4OXPPDV6.js +676 -0
  118. package/dist/chunk-4OXPPDV6.js.map +7 -0
  119. package/dist/chunk-4QTZHELX.js +51 -0
  120. package/dist/chunk-4QTZHELX.js.map +7 -0
  121. package/dist/chunk-4U42OJMK.js +217 -0
  122. package/dist/chunk-4U42OJMK.js.map +7 -0
  123. package/dist/chunk-4WCKVGQ5.js +193 -0
  124. package/dist/chunk-4WCKVGQ5.js.map +7 -0
  125. package/dist/chunk-4XXERLFH.js +95 -0
  126. package/dist/chunk-4XXERLFH.js.map +7 -0
  127. package/dist/chunk-4Z2N4GW6.js +247 -0
  128. package/dist/chunk-4Z2N4GW6.js.map +7 -0
  129. package/dist/chunk-4ZY2BOQ4.js +123 -0
  130. package/dist/chunk-4ZY2BOQ4.js.map +7 -0
  131. package/dist/chunk-56HN4SH6.js +46 -0
  132. package/dist/chunk-56HN4SH6.js.map +7 -0
  133. package/dist/chunk-57ROEOHB.js +183 -0
  134. package/dist/chunk-57ROEOHB.js.map +7 -0
  135. package/dist/chunk-5APBBTGW.js +7 -0
  136. package/dist/chunk-5APBBTGW.js.map +7 -0
  137. package/dist/chunk-5BQ6LLNU.js +39 -0
  138. package/dist/chunk-5BQ6LLNU.js.map +7 -0
  139. package/dist/chunk-5LNGMBWW.js +93 -0
  140. package/dist/chunk-5LNGMBWW.js.map +7 -0
  141. package/dist/chunk-5XFQSYZ4.js +52 -0
  142. package/dist/chunk-5XFQSYZ4.js.map +7 -0
  143. package/dist/chunk-62N5N4AC.js +241 -0
  144. package/dist/chunk-62N5N4AC.js.map +7 -0
  145. package/dist/chunk-63QTHDJL.js +52 -0
  146. package/dist/chunk-63QTHDJL.js.map +7 -0
  147. package/dist/chunk-65UUVZ6B.js +151 -0
  148. package/dist/chunk-65UUVZ6B.js.map +7 -0
  149. package/dist/chunk-6COVTMAO.js +3586 -0
  150. package/dist/chunk-6COVTMAO.js.map +7 -0
  151. package/dist/chunk-6EYPDJUD.js +34 -0
  152. package/dist/chunk-6EYPDJUD.js.map +7 -0
  153. package/dist/chunk-6HDYPVA4.js +15 -0
  154. package/dist/chunk-6HDYPVA4.js.map +7 -0
  155. package/dist/chunk-6HX3DEXK.js +178 -0
  156. package/dist/chunk-6HX3DEXK.js.map +7 -0
  157. package/dist/chunk-6NO5VEVV.js +18 -0
  158. package/dist/chunk-6NO5VEVV.js.map +7 -0
  159. package/dist/chunk-6OP3FK5F.js +266 -0
  160. package/dist/chunk-6OP3FK5F.js.map +7 -0
  161. package/dist/chunk-6PZGDVLR.js +465 -0
  162. package/dist/chunk-6PZGDVLR.js.map +7 -0
  163. package/dist/chunk-6RBDFNSX.js +88 -0
  164. package/dist/chunk-6RBDFNSX.js.map +7 -0
  165. package/dist/chunk-6SOGH3TW.js +163 -0
  166. package/dist/chunk-6SOGH3TW.js.map +7 -0
  167. package/dist/chunk-6TWWCETB.js +70 -0
  168. package/dist/chunk-6TWWCETB.js.map +7 -0
  169. package/dist/chunk-6WFHPMUF.js +17 -0
  170. package/dist/chunk-6WFHPMUF.js.map +7 -0
  171. package/dist/chunk-72TGY3LX.js +104 -0
  172. package/dist/chunk-72TGY3LX.js.map +7 -0
  173. package/dist/chunk-76IE55K7.js +392 -0
  174. package/dist/chunk-76IE55K7.js.map +7 -0
  175. package/dist/chunk-77BEEAPD.js +86 -0
  176. package/dist/chunk-77BEEAPD.js.map +7 -0
  177. package/dist/chunk-77JJ6QJK.js +50 -0
  178. package/dist/chunk-77JJ6QJK.js.map +7 -0
  179. package/dist/chunk-7BIUNV33.js +62 -0
  180. package/dist/chunk-7BIUNV33.js.map +7 -0
  181. package/dist/chunk-7F3242AO.js +86 -0
  182. package/dist/chunk-7F3242AO.js.map +7 -0
  183. package/dist/chunk-7FLQSTPG.js +57 -0
  184. package/dist/chunk-7FLQSTPG.js.map +7 -0
  185. package/dist/chunk-7L37R42D.js +52 -0
  186. package/dist/chunk-7L37R42D.js.map +7 -0
  187. package/dist/chunk-7MP46JBP.js +177 -0
  188. package/dist/chunk-7MP46JBP.js.map +7 -0
  189. package/dist/chunk-7MVZYR2T.js +87 -0
  190. package/dist/chunk-7MVZYR2T.js.map +7 -0
  191. package/dist/chunk-7N7ISMPG.js +50 -0
  192. package/dist/chunk-7N7ISMPG.js.map +7 -0
  193. package/dist/chunk-7S7LQQPX.js +127 -0
  194. package/dist/chunk-7S7LQQPX.js.map +7 -0
  195. package/dist/chunk-7TTNY5FK.js +21 -0
  196. package/dist/chunk-7TTNY5FK.js.map +7 -0
  197. package/dist/chunk-7W73QCTR.js +244 -0
  198. package/dist/chunk-7W73QCTR.js.map +7 -0
  199. package/dist/chunk-7XXLU33Y.js +76 -0
  200. package/dist/chunk-7XXLU33Y.js.map +7 -0
  201. package/dist/chunk-7ZP3KYVO.js +104 -0
  202. package/dist/chunk-7ZP3KYVO.js.map +7 -0
  203. package/dist/chunk-AAO7BQEV.js +258 -0
  204. package/dist/chunk-AAO7BQEV.js.map +7 -0
  205. package/dist/chunk-AH4MLRYT.js +91 -0
  206. package/dist/chunk-AH4MLRYT.js.map +7 -0
  207. package/dist/chunk-AHKR32FH.js +7 -0
  208. package/dist/chunk-AHKR32FH.js.map +7 -0
  209. package/dist/chunk-ALKRFDAW.js +94 -0
  210. package/dist/chunk-ALKRFDAW.js.map +7 -0
  211. package/dist/chunk-AQQGAE7N.js +12 -0
  212. package/dist/chunk-AQQGAE7N.js.map +7 -0
  213. package/dist/chunk-ARGF232V.js +32 -0
  214. package/dist/chunk-ARGF232V.js.map +7 -0
  215. package/dist/chunk-ATCJOK3K.js +24 -0
  216. package/dist/chunk-ATCJOK3K.js.map +7 -0
  217. package/dist/chunk-AUUABFHL.js +124 -0
  218. package/dist/chunk-AUUABFHL.js.map +7 -0
  219. package/dist/chunk-AWW3YUGJ.js +193 -0
  220. package/dist/chunk-AWW3YUGJ.js.map +7 -0
  221. package/dist/chunk-AX7VEEWJ.js +158 -0
  222. package/dist/chunk-AX7VEEWJ.js.map +7 -0
  223. package/dist/chunk-B3NTODO7.js +57 -0
  224. package/dist/chunk-B3NTODO7.js.map +7 -0
  225. package/dist/chunk-BAX7Q6GR.js +55 -0
  226. package/dist/chunk-BAX7Q6GR.js.map +7 -0
  227. package/dist/chunk-BBM6BR3Z.js +28 -0
  228. package/dist/chunk-BBM6BR3Z.js.map +7 -0
  229. package/dist/chunk-BHXZMHSX.js +109 -0
  230. package/dist/chunk-BHXZMHSX.js.map +7 -0
  231. package/dist/chunk-BIUXDLVY.js +62 -0
  232. package/dist/chunk-BIUXDLVY.js.map +7 -0
  233. package/dist/chunk-BM7J2W36.js +86 -0
  234. package/dist/chunk-BM7J2W36.js.map +7 -0
  235. package/dist/chunk-BMFZL2P4.js +97 -0
  236. package/dist/chunk-BMFZL2P4.js.map +7 -0
  237. package/dist/chunk-BQXEXK4H.js +114 -0
  238. package/dist/chunk-BQXEXK4H.js.map +7 -0
  239. package/dist/chunk-BU2CTWBG.js +30 -0
  240. package/dist/chunk-BU2CTWBG.js.map +7 -0
  241. package/dist/chunk-BVKSCLF7.js +195 -0
  242. package/dist/chunk-BVKSCLF7.js.map +7 -0
  243. package/dist/chunk-BWA3D22L.js +88 -0
  244. package/dist/chunk-BWA3D22L.js.map +7 -0
  245. package/dist/chunk-CE24RSPL.js +506 -0
  246. package/dist/chunk-CE24RSPL.js.map +7 -0
  247. package/dist/chunk-CEB5S2Z5.js +127 -0
  248. package/dist/chunk-CEB5S2Z5.js.map +7 -0
  249. package/dist/chunk-CEKNTCJD.js +177 -0
  250. package/dist/chunk-CEKNTCJD.js.map +7 -0
  251. package/dist/chunk-CETZGSCP.js +71 -0
  252. package/dist/chunk-CETZGSCP.js.map +7 -0
  253. package/dist/chunk-CGBWMONK.js +412 -0
  254. package/dist/chunk-CGBWMONK.js.map +7 -0
  255. package/dist/chunk-CGFDIH77.js +94 -0
  256. package/dist/chunk-CGFDIH77.js.map +7 -0
  257. package/dist/chunk-CPLEC5LJ.js +26 -0
  258. package/dist/chunk-CPLEC5LJ.js.map +7 -0
  259. package/dist/chunk-CPNIXMGX.js +127 -0
  260. package/dist/chunk-CPNIXMGX.js.map +7 -0
  261. package/dist/chunk-CSJO73LD.js +84 -0
  262. package/dist/chunk-CSJO73LD.js.map +7 -0
  263. package/dist/chunk-CTKBDSL6.js +81 -0
  264. package/dist/chunk-CTKBDSL6.js.map +7 -0
  265. package/dist/chunk-CY6WHUCW.js +54 -0
  266. package/dist/chunk-CY6WHUCW.js.map +7 -0
  267. package/dist/chunk-D4GYYYMW.js +155 -0
  268. package/dist/chunk-D4GYYYMW.js.map +7 -0
  269. package/dist/chunk-D64CZG54.js +78 -0
  270. package/dist/chunk-D64CZG54.js.map +7 -0
  271. package/dist/chunk-D7Q6Z74D.js +123 -0
  272. package/dist/chunk-D7Q6Z74D.js.map +7 -0
  273. package/dist/chunk-DSGPDHF2.js +737 -0
  274. package/dist/chunk-DSGPDHF2.js.map +7 -0
  275. package/dist/chunk-DZIM4OWK.js +17 -0
  276. package/dist/chunk-DZIM4OWK.js.map +7 -0
  277. package/dist/chunk-E3GC4V5V.js +30 -0
  278. package/dist/chunk-E3GC4V5V.js.map +7 -0
  279. package/dist/chunk-E5HPDHCW.js +34 -0
  280. package/dist/chunk-E5HPDHCW.js.map +7 -0
  281. package/dist/chunk-E75BJJZ2.js +635 -0
  282. package/dist/chunk-E75BJJZ2.js.map +7 -0
  283. package/dist/chunk-EBXHW7ZO.js +108 -0
  284. package/dist/chunk-EBXHW7ZO.js.map +7 -0
  285. package/dist/chunk-EE4DHUUZ.js +472 -0
  286. package/dist/chunk-EE4DHUUZ.js.map +7 -0
  287. package/dist/chunk-EHELTAAD.js +198 -0
  288. package/dist/chunk-EHELTAAD.js.map +7 -0
  289. package/dist/chunk-EKXPSI7Z.js +135 -0
  290. package/dist/chunk-EKXPSI7Z.js.map +7 -0
  291. package/dist/chunk-EO35SCFP.js +7 -0
  292. package/dist/chunk-EO35SCFP.js.map +7 -0
  293. package/dist/chunk-ER2XTD2S.js +271 -0
  294. package/dist/chunk-ER2XTD2S.js.map +7 -0
  295. package/dist/chunk-ERCH75SH.js +292 -0
  296. package/dist/chunk-ERCH75SH.js.map +7 -0
  297. package/dist/chunk-ERXO3674.js +54 -0
  298. package/dist/chunk-ERXO3674.js.map +7 -0
  299. package/dist/chunk-EVFWZGFL.js +235 -0
  300. package/dist/chunk-EVFWZGFL.js.map +7 -0
  301. package/dist/chunk-EVPBRKMZ.js +45 -0
  302. package/dist/chunk-EVPBRKMZ.js.map +7 -0
  303. package/dist/chunk-F43CC2X2.js +49 -0
  304. package/dist/chunk-F43CC2X2.js.map +7 -0
  305. package/dist/chunk-F64TXVJJ.js +158 -0
  306. package/dist/chunk-F64TXVJJ.js.map +7 -0
  307. package/dist/chunk-F6AFJHWV.js +45 -0
  308. package/dist/chunk-F6AFJHWV.js.map +7 -0
  309. package/dist/chunk-F6APWSAA.js +51 -0
  310. package/dist/chunk-F6APWSAA.js.map +7 -0
  311. package/dist/chunk-F7LNS7G3.js +235 -0
  312. package/dist/chunk-F7LNS7G3.js.map +7 -0
  313. package/dist/chunk-FCNWR7ZX.js +16352 -0
  314. package/dist/chunk-FCNWR7ZX.js.map +7 -0
  315. package/dist/chunk-FFCG5NRU.js +87 -0
  316. package/dist/chunk-FFCG5NRU.js.map +7 -0
  317. package/dist/chunk-FG4NVFKM.js +455 -0
  318. package/dist/chunk-FG4NVFKM.js.map +7 -0
  319. package/dist/chunk-FHNEN6IR.js +14 -0
  320. package/dist/chunk-FHNEN6IR.js.map +7 -0
  321. package/dist/chunk-FJFC6CRR.js +446 -0
  322. package/dist/chunk-FJFC6CRR.js.map +7 -0
  323. package/dist/chunk-FK6RGYBB.js +46 -0
  324. package/dist/chunk-FK6RGYBB.js.map +7 -0
  325. package/dist/chunk-FMY6KXK6.js +251 -0
  326. package/dist/chunk-FMY6KXK6.js.map +7 -0
  327. package/dist/chunk-FPH56SCM.js +21 -0
  328. package/dist/chunk-FPH56SCM.js.map +7 -0
  329. package/dist/chunk-FQ4R7IOX.js +32 -0
  330. package/dist/chunk-FQ4R7IOX.js.map +7 -0
  331. package/dist/chunk-FQPYAPJJ.js +124 -0
  332. package/dist/chunk-FQPYAPJJ.js.map +7 -0
  333. package/dist/chunk-FQTLJO4W.js +335 -0
  334. package/dist/chunk-FQTLJO4W.js.map +7 -0
  335. package/dist/chunk-FVLJSB2W.js +124 -0
  336. package/dist/chunk-FVLJSB2W.js.map +7 -0
  337. package/dist/chunk-FVSH4Z6T.js +173 -0
  338. package/dist/chunk-FVSH4Z6T.js.map +7 -0
  339. package/dist/chunk-FVWBLEAD.js +44 -0
  340. package/dist/chunk-FVWBLEAD.js.map +7 -0
  341. package/dist/chunk-FYRKBNTI.js +18 -0
  342. package/dist/chunk-FYRKBNTI.js.map +7 -0
  343. package/dist/chunk-FYSARMGS.js +93 -0
  344. package/dist/chunk-FYSARMGS.js.map +7 -0
  345. package/dist/chunk-FZJOJ6P4.js +28 -0
  346. package/dist/chunk-FZJOJ6P4.js.map +7 -0
  347. package/dist/chunk-G46GHNDU.js +4890 -0
  348. package/dist/chunk-G46GHNDU.js.map +7 -0
  349. package/dist/chunk-G4TIS2SC.js +56 -0
  350. package/dist/chunk-G4TIS2SC.js.map +7 -0
  351. package/dist/chunk-GD6L3SLC.js +30 -0
  352. package/dist/chunk-GD6L3SLC.js.map +7 -0
  353. package/dist/chunk-GGWS7NQP.js +247 -0
  354. package/dist/chunk-GGWS7NQP.js.map +7 -0
  355. package/dist/chunk-GI2ZANRY.js +24 -0
  356. package/dist/chunk-GI2ZANRY.js.map +7 -0
  357. package/dist/chunk-GK3XVKXT.js +737 -0
  358. package/dist/chunk-GK3XVKXT.js.map +7 -0
  359. package/dist/chunk-GKOWCDQV.js +699 -0
  360. package/dist/chunk-GKOWCDQV.js.map +7 -0
  361. package/dist/chunk-GLLRCKKE.js +26 -0
  362. package/dist/chunk-GLLRCKKE.js.map +7 -0
  363. package/dist/chunk-GNYG6I36.js +175 -0
  364. package/dist/chunk-GNYG6I36.js.map +7 -0
  365. package/dist/chunk-GRBJYAYF.js +129 -0
  366. package/dist/chunk-GRBJYAYF.js.map +7 -0
  367. package/dist/chunk-GVYGUH2V.js +7 -0
  368. package/dist/chunk-GVYGUH2V.js.map +7 -0
  369. package/dist/chunk-GXDQGBA2.js +106 -0
  370. package/dist/chunk-GXDQGBA2.js.map +7 -0
  371. package/dist/chunk-GZAGAWSU.js +28 -0
  372. package/dist/chunk-GZAGAWSU.js.map +7 -0
  373. package/dist/chunk-H23E72SB.js +163 -0
  374. package/dist/chunk-H23E72SB.js.map +7 -0
  375. package/dist/chunk-H2HY73I6.js +122 -0
  376. package/dist/chunk-H2HY73I6.js.map +7 -0
  377. package/dist/chunk-H5MLA6PA.js +29 -0
  378. package/dist/chunk-H5MLA6PA.js.map +7 -0
  379. package/dist/chunk-H6YVV7GE.js +22 -0
  380. package/dist/chunk-H6YVV7GE.js.map +7 -0
  381. package/dist/chunk-H7KAUMBC.js +635 -0
  382. package/dist/chunk-H7KAUMBC.js.map +7 -0
  383. package/dist/chunk-HDPICD3P.js +4890 -0
  384. package/dist/chunk-HDPICD3P.js.map +7 -0
  385. package/dist/chunk-HGHU3TVL.js +174 -0
  386. package/dist/chunk-HGHU3TVL.js.map +7 -0
  387. package/dist/chunk-HJ5E2JRL.js +88 -0
  388. package/dist/chunk-HJ5E2JRL.js.map +7 -0
  389. package/dist/chunk-HJW3CKZL.js +94 -0
  390. package/dist/chunk-HJW3CKZL.js.map +7 -0
  391. package/dist/chunk-HKF5EBER.js +418 -0
  392. package/dist/chunk-HKF5EBER.js.map +7 -0
  393. package/dist/chunk-HLUR35G5.js +30 -0
  394. package/dist/chunk-HLUR35G5.js.map +7 -0
  395. package/dist/chunk-HNIW2NZU.js +120 -0
  396. package/dist/chunk-HNIW2NZU.js.map +7 -0
  397. package/dist/chunk-HP5HMWOM.js +123 -0
  398. package/dist/chunk-HP5HMWOM.js.map +7 -0
  399. package/dist/chunk-HQSHS6IB.js +88 -0
  400. package/dist/chunk-HQSHS6IB.js.map +7 -0
  401. package/dist/chunk-HSXRCP25.js +171 -0
  402. package/dist/chunk-HSXRCP25.js.map +7 -0
  403. package/dist/chunk-HTV3R73W.js +51 -0
  404. package/dist/chunk-HTV3R73W.js.map +7 -0
  405. package/dist/chunk-I26OPZLO.js +28 -0
  406. package/dist/chunk-I26OPZLO.js.map +7 -0
  407. package/dist/chunk-I7JJQ4BQ.js +30 -0
  408. package/dist/chunk-I7JJQ4BQ.js.map +7 -0
  409. package/dist/chunk-IJ6Y4W7F.js +392 -0
  410. package/dist/chunk-IJ6Y4W7F.js.map +7 -0
  411. package/dist/chunk-IJCMYMZB.js +239 -0
  412. package/dist/chunk-IJCMYMZB.js.map +7 -0
  413. package/dist/chunk-IJH4NOQ4.js +18 -0
  414. package/dist/chunk-IJH4NOQ4.js.map +7 -0
  415. package/dist/chunk-IMHRZQRH.js +76 -0
  416. package/dist/chunk-IMHRZQRH.js.map +7 -0
  417. package/dist/chunk-INNENDEE.js +472 -0
  418. package/dist/chunk-INNENDEE.js.map +7 -0
  419. package/dist/chunk-IOTLSMEQ.js +177 -0
  420. package/dist/chunk-IOTLSMEQ.js.map +7 -0
  421. package/dist/chunk-IQYYEHSM.js +300 -0
  422. package/dist/chunk-IQYYEHSM.js.map +7 -0
  423. package/dist/chunk-IRA5NJ4Q.js +21 -0
  424. package/dist/chunk-IRA5NJ4Q.js.map +7 -0
  425. package/dist/chunk-IU7EXXK7.js +1662 -0
  426. package/dist/chunk-IU7EXXK7.js.map +7 -0
  427. package/dist/chunk-IUXAKDAY.js +102 -0
  428. package/dist/chunk-IUXAKDAY.js.map +7 -0
  429. package/dist/chunk-JB6ZQEVR.js +465 -0
  430. package/dist/chunk-JB6ZQEVR.js.map +7 -0
  431. package/dist/chunk-JCWNMWNY.js +102 -0
  432. package/dist/chunk-JCWNMWNY.js.map +7 -0
  433. package/dist/chunk-JGIZPU2Y.js +39 -0
  434. package/dist/chunk-JGIZPU2Y.js.map +7 -0
  435. package/dist/chunk-JIU4FXA7.js +485 -0
  436. package/dist/chunk-JIU4FXA7.js.map +7 -0
  437. package/dist/chunk-JMYIFYY5.js +233 -0
  438. package/dist/chunk-JMYIFYY5.js.map +7 -0
  439. package/dist/chunk-JSZBX2TA.js +5853 -0
  440. package/dist/chunk-JSZBX2TA.js.map +7 -0
  441. package/dist/chunk-JU2Y33DB.js +60 -0
  442. package/dist/chunk-JU2Y33DB.js.map +7 -0
  443. package/dist/chunk-JVLRI4RU.js +62 -0
  444. package/dist/chunk-JVLRI4RU.js.map +7 -0
  445. package/dist/chunk-JZ3AVNZC.js +44117 -0
  446. package/dist/chunk-JZ3AVNZC.js.map +7 -0
  447. package/dist/chunk-K3HEWOHN.js +30 -0
  448. package/dist/chunk-K3HEWOHN.js.map +7 -0
  449. package/dist/chunk-K5EK4WZV.js +7 -0
  450. package/dist/chunk-K5EK4WZV.js.map +7 -0
  451. package/dist/chunk-KAWXMSYC.js +58 -0
  452. package/dist/chunk-KAWXMSYC.js.map +7 -0
  453. package/dist/chunk-KEGPHS4C.js +80 -0
  454. package/dist/chunk-KEGPHS4C.js.map +7 -0
  455. package/dist/chunk-KHFWQ334.js +138 -0
  456. package/dist/chunk-KHFWQ334.js.map +7 -0
  457. package/dist/chunk-KJW6JLM6.js +95 -0
  458. package/dist/chunk-KJW6JLM6.js.map +7 -0
  459. package/dist/chunk-KSEANSJE.js +40 -0
  460. package/dist/chunk-KSEANSJE.js.map +7 -0
  461. package/dist/chunk-KVU54E6W.js +63 -0
  462. package/dist/chunk-KVU54E6W.js.map +7 -0
  463. package/dist/chunk-KXXVR3DC.js +244 -0
  464. package/dist/chunk-KXXVR3DC.js.map +7 -0
  465. package/dist/chunk-L5OUVMHK.js +174 -0
  466. package/dist/chunk-L5OUVMHK.js.map +7 -0
  467. package/dist/chunk-L5T6XUDP.js +412 -0
  468. package/dist/chunk-L5T6XUDP.js.map +7 -0
  469. package/dist/chunk-LIFXTQ4U.js +7287 -0
  470. package/dist/chunk-LIFXTQ4U.js.map +7 -0
  471. package/dist/chunk-LIVQ7GIO.js +86 -0
  472. package/dist/chunk-LIVQ7GIO.js.map +7 -0
  473. package/dist/chunk-LMD5UTKM.js +169 -0
  474. package/dist/chunk-LMD5UTKM.js.map +7 -0
  475. package/dist/chunk-LO4F6E3N.js +163 -0
  476. package/dist/chunk-LO4F6E3N.js.map +7 -0
  477. package/dist/chunk-LSVKDUNM.js +151 -0
  478. package/dist/chunk-LSVKDUNM.js.map +7 -0
  479. package/dist/chunk-LTXNC6JX.js +27 -0
  480. package/dist/chunk-LTXNC6JX.js.map +7 -0
  481. package/dist/chunk-LUGTGPT6.js +138 -0
  482. package/dist/chunk-LUGTGPT6.js.map +7 -0
  483. package/dist/chunk-LVMK2GPM.js +18 -0
  484. package/dist/chunk-LVMK2GPM.js.map +7 -0
  485. package/dist/chunk-LXVPETLK.js +1405 -0
  486. package/dist/chunk-LXVPETLK.js.map +7 -0
  487. package/dist/chunk-LZNW24OB.js +78 -0
  488. package/dist/chunk-LZNW24OB.js.map +7 -0
  489. package/dist/chunk-LZQFDJNW.js +300 -0
  490. package/dist/chunk-LZQFDJNW.js.map +7 -0
  491. package/dist/chunk-M4VQPIF4.js +5853 -0
  492. package/dist/chunk-M4VQPIF4.js.map +7 -0
  493. package/dist/chunk-M64QE4QC.js +64 -0
  494. package/dist/chunk-M64QE4QC.js.map +7 -0
  495. package/dist/chunk-MAF6PSCJ.js +44 -0
  496. package/dist/chunk-MAF6PSCJ.js.map +7 -0
  497. package/dist/chunk-MBIX6Z7U.js +80 -0
  498. package/dist/chunk-MBIX6Z7U.js.map +7 -0
  499. package/dist/chunk-MDLLXMC3.js +183 -0
  500. package/dist/chunk-MDLLXMC3.js.map +7 -0
  501. package/dist/chunk-MEI5HTWV.js +127 -0
  502. package/dist/chunk-MEI5HTWV.js.map +7 -0
  503. package/dist/chunk-MH74AJ3A.js +82 -0
  504. package/dist/chunk-MH74AJ3A.js.map +7 -0
  505. package/dist/chunk-MIFIM4PI.js +163 -0
  506. package/dist/chunk-MIFIM4PI.js.map +7 -0
  507. package/dist/chunk-MISZB5QJ.js +22 -0
  508. package/dist/chunk-MISZB5QJ.js.map +7 -0
  509. package/dist/chunk-MJ27XQYG.js +125 -0
  510. package/dist/chunk-MJ27XQYG.js.map +7 -0
  511. package/dist/chunk-MJ2GW6SU.js +163 -0
  512. package/dist/chunk-MJ2GW6SU.js.map +7 -0
  513. package/dist/chunk-MLQY5SKR.js +52 -0
  514. package/dist/chunk-MLQY5SKR.js.map +7 -0
  515. package/dist/chunk-MTMHGC3G.js +39 -0
  516. package/dist/chunk-MTMHGC3G.js.map +7 -0
  517. package/dist/chunk-MWBAW3YV.js +244 -0
  518. package/dist/chunk-MWBAW3YV.js.map +7 -0
  519. package/dist/chunk-MYSK3SIM.js +55 -0
  520. package/dist/chunk-MYSK3SIM.js.map +7 -0
  521. package/dist/chunk-MZGGB2YT.js +50 -0
  522. package/dist/chunk-MZGGB2YT.js.map +7 -0
  523. package/dist/chunk-N46MIZXB.js +154 -0
  524. package/dist/chunk-N46MIZXB.js.map +7 -0
  525. package/dist/chunk-N53537P6.js +31 -0
  526. package/dist/chunk-N53537P6.js.map +7 -0
  527. package/dist/chunk-N5CTFOLX.js +40 -0
  528. package/dist/chunk-N5CTFOLX.js.map +7 -0
  529. package/dist/chunk-N5SNGZJV.js +217 -0
  530. package/dist/chunk-N5SNGZJV.js.map +7 -0
  531. package/dist/chunk-NGCTBYQ3.js +181 -0
  532. package/dist/chunk-NGCTBYQ3.js.map +7 -0
  533. package/dist/chunk-NIFG55CE.js +52 -0
  534. package/dist/chunk-NIFG55CE.js.map +7 -0
  535. package/dist/chunk-NJ63ALPX.js +7 -0
  536. package/dist/chunk-NJ63ALPX.js.map +7 -0
  537. package/dist/chunk-NMUX7SGU.js +676 -0
  538. package/dist/chunk-NMUX7SGU.js.map +7 -0
  539. package/dist/chunk-NO7GMLNU.js +292 -0
  540. package/dist/chunk-NO7GMLNU.js.map +7 -0
  541. package/dist/chunk-NTOGVX2Y.js +92 -0
  542. package/dist/chunk-NTOGVX2Y.js.map +7 -0
  543. package/dist/chunk-NZVHE4IT.js +3101 -0
  544. package/dist/chunk-NZVHE4IT.js.map +7 -0
  545. package/dist/chunk-O5IVKDX7.js +30 -0
  546. package/dist/chunk-O5IVKDX7.js.map +7 -0
  547. package/dist/chunk-O7ORICEC.js +82 -0
  548. package/dist/chunk-O7ORICEC.js.map +7 -0
  549. package/dist/chunk-OBMBAM3N.js +73 -0
  550. package/dist/chunk-OBMBAM3N.js.map +7 -0
  551. package/dist/chunk-OFWMLQMU.js +7287 -0
  552. package/dist/chunk-OFWMLQMU.js.map +7 -0
  553. package/dist/chunk-OJ3ZUKBI.js +73 -0
  554. package/dist/chunk-OJ3ZUKBI.js.map +7 -0
  555. package/dist/chunk-OJJBD5K3.js +45 -0
  556. package/dist/chunk-OJJBD5K3.js.map +7 -0
  557. package/dist/chunk-OJTHE4B7.js +50 -0
  558. package/dist/chunk-OJTHE4B7.js.map +7 -0
  559. package/dist/chunk-OKDOVX4B.js +699 -0
  560. package/dist/chunk-OKDOVX4B.js.map +7 -0
  561. package/dist/chunk-OOYPYBTA.js +446 -0
  562. package/dist/chunk-OOYPYBTA.js.map +7 -0
  563. package/dist/chunk-OQP4W4AR.js +105 -0
  564. package/dist/chunk-OQP4W4AR.js.map +7 -0
  565. package/dist/chunk-OVMDMCZ5.js +241 -0
  566. package/dist/chunk-OVMDMCZ5.js.map +7 -0
  567. package/dist/chunk-OVTT2EKA.js +516 -0
  568. package/dist/chunk-OVTT2EKA.js.map +7 -0
  569. package/dist/chunk-OVU43GJK.js +63 -0
  570. package/dist/chunk-OVU43GJK.js.map +7 -0
  571. package/dist/chunk-P3TMARA6.js +18 -0
  572. package/dist/chunk-P3TMARA6.js.map +7 -0
  573. package/dist/chunk-P5N63LBS.js +94 -0
  574. package/dist/chunk-P5N63LBS.js.map +7 -0
  575. package/dist/chunk-PARITZ7F.js +28 -0
  576. package/dist/chunk-PARITZ7F.js.map +7 -0
  577. package/dist/chunk-PBQK4KY4.js +195 -0
  578. package/dist/chunk-PBQK4KY4.js.map +7 -0
  579. package/dist/chunk-PLMOTQ42.js +335 -0
  580. package/dist/chunk-PLMOTQ42.js.map +7 -0
  581. package/dist/chunk-PSL2AHIA.js +27 -0
  582. package/dist/chunk-PSL2AHIA.js.map +7 -0
  583. package/dist/chunk-Q5QT7JBM.js +92 -0
  584. package/dist/chunk-Q5QT7JBM.js.map +7 -0
  585. package/dist/chunk-Q6H5OV2R.js +180 -0
  586. package/dist/chunk-Q6H5OV2R.js.map +7 -0
  587. package/dist/chunk-Q7WA5DCR.js +62 -0
  588. package/dist/chunk-Q7WA5DCR.js.map +7 -0
  589. package/dist/chunk-QAR5POXD.js +472 -0
  590. package/dist/chunk-QAR5POXD.js.map +7 -0
  591. package/dist/chunk-QATEENP2.js +7 -0
  592. package/dist/chunk-QATEENP2.js.map +7 -0
  593. package/dist/chunk-QDT24CIA.js +485 -0
  594. package/dist/chunk-QDT24CIA.js.map +7 -0
  595. package/dist/chunk-QI3NB7D5.js +455 -0
  596. package/dist/chunk-QI3NB7D5.js.map +7 -0
  597. package/dist/chunk-QIDAVXSX.js +106 -0
  598. package/dist/chunk-QIDAVXSX.js.map +7 -0
  599. package/dist/chunk-QKIGQVP2.js +104 -0
  600. package/dist/chunk-QKIGQVP2.js.map +7 -0
  601. package/dist/chunk-QNJENPK2.js +81 -0
  602. package/dist/chunk-QNJENPK2.js.map +7 -0
  603. package/dist/chunk-R5S76YR5.js +12 -0
  604. package/dist/chunk-R5S76YR5.js.map +7 -0
  605. package/dist/chunk-R7ZBOXPS.js +163 -0
  606. package/dist/chunk-R7ZBOXPS.js.map +7 -0
  607. package/dist/chunk-RAL3KX76.js +239 -0
  608. package/dist/chunk-RAL3KX76.js.map +7 -0
  609. package/dist/chunk-REVXXWAS.js +31 -0
  610. package/dist/chunk-REVXXWAS.js.map +7 -0
  611. package/dist/chunk-RFH4HRZP.js +94 -0
  612. package/dist/chunk-RFH4HRZP.js.map +7 -0
  613. package/dist/chunk-RHITG64O.js +50 -0
  614. package/dist/chunk-RHITG64O.js.map +7 -0
  615. package/dist/chunk-RK5HZFP6.js +111 -0
  616. package/dist/chunk-RK5HZFP6.js.map +7 -0
  617. package/dist/chunk-RNGAGYCL.js +49 -0
  618. package/dist/chunk-RNGAGYCL.js.map +7 -0
  619. package/dist/chunk-RPCVN3JA.js +261 -0
  620. package/dist/chunk-RPCVN3JA.js.map +7 -0
  621. package/dist/chunk-RQ26XXFS.js +45 -0
  622. package/dist/chunk-RQ26XXFS.js.map +7 -0
  623. package/dist/chunk-RQQE5DDT.js +193 -0
  624. package/dist/chunk-RQQE5DDT.js.map +7 -0
  625. package/dist/chunk-RSA7PKZH.js +187 -0
  626. package/dist/chunk-RSA7PKZH.js.map +7 -0
  627. package/dist/chunk-RTSINQ4T.js +78 -0
  628. package/dist/chunk-RTSINQ4T.js.map +7 -0
  629. package/dist/chunk-RVOD3ESA.js +38 -0
  630. package/dist/chunk-RVOD3ESA.js.map +7 -0
  631. package/dist/chunk-SAOUP24A.js +70 -0
  632. package/dist/chunk-SAOUP24A.js.map +7 -0
  633. package/dist/chunk-SFZL2TCV.js +55 -0
  634. package/dist/chunk-SFZL2TCV.js.map +7 -0
  635. package/dist/chunk-SH6Y4CGQ.js +175 -0
  636. package/dist/chunk-SH6Y4CGQ.js.map +7 -0
  637. package/dist/chunk-SHBAAFFH.js +74 -0
  638. package/dist/chunk-SHBAAFFH.js.map +7 -0
  639. package/dist/chunk-SJPFUXBV.js +45 -0
  640. package/dist/chunk-SJPFUXBV.js.map +7 -0
  641. package/dist/chunk-SLIUQWAR.js +58 -0
  642. package/dist/chunk-SLIUQWAR.js.map +7 -0
  643. package/dist/chunk-SPNSM6SB.js +36 -0
  644. package/dist/chunk-SPNSM6SB.js.map +7 -0
  645. package/dist/chunk-SQUHLLK5.js +125 -0
  646. package/dist/chunk-SQUHLLK5.js.map +7 -0
  647. package/dist/chunk-SSEX66OL.js +39 -0
  648. package/dist/chunk-SSEX66OL.js.map +7 -0
  649. package/dist/chunk-SWWK35VQ.js +84 -0
  650. package/dist/chunk-SWWK35VQ.js.map +7 -0
  651. package/dist/chunk-SX2LOHOX.js +251 -0
  652. package/dist/chunk-SX2LOHOX.js.map +7 -0
  653. package/dist/chunk-T72EMFTX.js +74 -0
  654. package/dist/chunk-T72EMFTX.js.map +7 -0
  655. package/dist/chunk-TA2QJPPG.js +169 -0
  656. package/dist/chunk-TA2QJPPG.js.map +7 -0
  657. package/dist/chunk-TC5ZVFV6.js +292 -0
  658. package/dist/chunk-TC5ZVFV6.js.map +7 -0
  659. package/dist/chunk-TFD7ZIYD.js +105 -0
  660. package/dist/chunk-TFD7ZIYD.js.map +7 -0
  661. package/dist/chunk-TFEETDNY.js +78 -0
  662. package/dist/chunk-TFEETDNY.js.map +7 -0
  663. package/dist/chunk-TH6ONRWT.js +516 -0
  664. package/dist/chunk-TH6ONRWT.js.map +7 -0
  665. package/dist/chunk-THM2QV25.js +108 -0
  666. package/dist/chunk-THM2QV25.js.map +7 -0
  667. package/dist/chunk-TMQMQ67T.js +81 -0
  668. package/dist/chunk-TMQMQ67T.js.map +7 -0
  669. package/dist/chunk-TPYWUZOR.js +178 -0
  670. package/dist/chunk-TPYWUZOR.js.map +7 -0
  671. package/dist/chunk-TRWT2N6Z.js +15 -0
  672. package/dist/chunk-TRWT2N6Z.js.map +7 -0
  673. package/dist/chunk-TTXEM54Y.js +76 -0
  674. package/dist/chunk-TTXEM54Y.js.map +7 -0
  675. package/dist/chunk-U2O4LE6S.js +22 -0
  676. package/dist/chunk-U2O4LE6S.js.map +7 -0
  677. package/dist/chunk-U44IVNP2.js +91 -0
  678. package/dist/chunk-U44IVNP2.js.map +7 -0
  679. package/dist/chunk-U4LVIY5F.js +1405 -0
  680. package/dist/chunk-U4LVIY5F.js.map +7 -0
  681. package/dist/chunk-U767LCSG.js +78 -0
  682. package/dist/chunk-U767LCSG.js.map +7 -0
  683. package/dist/chunk-U7GKLHU6.js +120 -0
  684. package/dist/chunk-U7GKLHU6.js.map +7 -0
  685. package/dist/chunk-UAB5P5QO.js +60 -0
  686. package/dist/chunk-UAB5P5QO.js.map +7 -0
  687. package/dist/chunk-UDDWLWKZ.js +82 -0
  688. package/dist/chunk-UDDWLWKZ.js.map +7 -0
  689. package/dist/chunk-UEHPJQBL.js +38 -0
  690. package/dist/chunk-UEHPJQBL.js.map +7 -0
  691. package/dist/chunk-UIBV6IGR.js +31 -0
  692. package/dist/chunk-UIBV6IGR.js.map +7 -0
  693. package/dist/chunk-UIYFRUET.js +16352 -0
  694. package/dist/chunk-UIYFRUET.js.map +7 -0
  695. package/dist/chunk-UJS3TIVS.js +52 -0
  696. package/dist/chunk-UJS3TIVS.js.map +7 -0
  697. package/dist/chunk-UMMPB6FL.js +506 -0
  698. package/dist/chunk-UMMPB6FL.js.map +7 -0
  699. package/dist/chunk-UP42ACP7.js +27 -0
  700. package/dist/chunk-UP42ACP7.js.map +7 -0
  701. package/dist/chunk-UPEF7ETP.js +92 -0
  702. package/dist/chunk-UPEF7ETP.js.map +7 -0
  703. package/dist/chunk-UU5PSBSI.js +176 -0
  704. package/dist/chunk-UU5PSBSI.js.map +7 -0
  705. package/dist/chunk-UV63XYFU.js +173 -0
  706. package/dist/chunk-UV63XYFU.js.map +7 -0
  707. package/dist/chunk-UWPHOAOC.js +29 -0
  708. package/dist/chunk-UWPHOAOC.js.map +7 -0
  709. package/dist/chunk-UXDDOSJC.js +52 -0
  710. package/dist/chunk-UXDDOSJC.js.map +7 -0
  711. package/dist/chunk-V3VAOMCO.js +465 -0
  712. package/dist/chunk-V3VAOMCO.js.map +7 -0
  713. package/dist/chunk-VA7ENH2S.js +38 -0
  714. package/dist/chunk-VA7ENH2S.js.map +7 -0
  715. package/dist/chunk-VBDLTKI2.js +130 -0
  716. package/dist/chunk-VBDLTKI2.js.map +7 -0
  717. package/dist/chunk-VCWIKEJ7.js +7 -0
  718. package/dist/chunk-VCWIKEJ7.js.map +7 -0
  719. package/dist/chunk-VFPDFLVE.js +516 -0
  720. package/dist/chunk-VFPDFLVE.js.map +7 -0
  721. package/dist/chunk-VHG4FNIJ.js +93 -0
  722. package/dist/chunk-VHG4FNIJ.js.map +7 -0
  723. package/dist/chunk-VKOO6MIZ.js +51 -0
  724. package/dist/chunk-VKOO6MIZ.js.map +7 -0
  725. package/dist/chunk-VKXKRZG7.js +62 -0
  726. package/dist/chunk-VKXKRZG7.js.map +7 -0
  727. package/dist/chunk-VPQICZQR.js +93 -0
  728. package/dist/chunk-VPQICZQR.js.map +7 -0
  729. package/dist/chunk-VRBJNFPL.js +114 -0
  730. package/dist/chunk-VRBJNFPL.js.map +7 -0
  731. package/dist/chunk-VUOLPEUZ.js +7 -0
  732. package/dist/chunk-VUOLPEUZ.js.map +7 -0
  733. package/dist/chunk-VUU5KFH3.js +38 -0
  734. package/dist/chunk-VUU5KFH3.js.map +7 -0
  735. package/dist/chunk-VVBL5CFF.js +7 -0
  736. package/dist/chunk-VVBL5CFF.js.map +7 -0
  737. package/dist/chunk-VYZEQ6KY.js +22 -0
  738. package/dist/chunk-VYZEQ6KY.js.map +7 -0
  739. package/dist/chunk-W6SOBS7M.js +138 -0
  740. package/dist/chunk-W6SOBS7M.js.map +7 -0
  741. package/dist/chunk-WBPQVWSU.js +198 -0
  742. package/dist/chunk-WBPQVWSU.js.map +7 -0
  743. package/dist/chunk-WDOKKRTE.js +7 -0
  744. package/dist/chunk-WDOKKRTE.js.map +7 -0
  745. package/dist/chunk-WGXXKFN5.js +7 -0
  746. package/dist/chunk-WGXXKFN5.js.map +7 -0
  747. package/dist/chunk-WHPUUP3J.js +25 -0
  748. package/dist/chunk-WHPUUP3J.js.map +7 -0
  749. package/dist/chunk-WS6HWBKT.js +30 -0
  750. package/dist/chunk-WS6HWBKT.js.map +7 -0
  751. package/dist/chunk-XF7LD6VV.js +122 -0
  752. package/dist/chunk-XF7LD6VV.js.map +7 -0
  753. package/dist/chunk-XFTXM3RE.js +64 -0
  754. package/dist/chunk-XFTXM3RE.js.map +7 -0
  755. package/dist/chunk-XJABPO2T.js +235 -0
  756. package/dist/chunk-XJABPO2T.js.map +7 -0
  757. package/dist/chunk-XK6VF3H7.js +3586 -0
  758. package/dist/chunk-XK6VF3H7.js.map +7 -0
  759. package/dist/chunk-XOZPOHLG.js +233 -0
  760. package/dist/chunk-XOZPOHLG.js.map +7 -0
  761. package/dist/chunk-XQYIIPOJ.js +266 -0
  762. package/dist/chunk-XQYIIPOJ.js.map +7 -0
  763. package/dist/chunk-XR7DPSNX.js +195 -0
  764. package/dist/chunk-XR7DPSNX.js.map +7 -0
  765. package/dist/chunk-XYH4JC3U.js +7 -0
  766. package/dist/chunk-XYH4JC3U.js.map +7 -0
  767. package/dist/chunk-XZSAN55E.js +58 -0
  768. package/dist/chunk-XZSAN55E.js.map +7 -0
  769. package/dist/chunk-Y3KJR4OG.js +64 -0
  770. package/dist/chunk-Y3KJR4OG.js.map +7 -0
  771. package/dist/chunk-Y4JKH7FF.js +45 -0
  772. package/dist/chunk-Y4JKH7FF.js.map +7 -0
  773. package/dist/chunk-Y6CJN4ID.js +31 -0
  774. package/dist/chunk-Y6CJN4ID.js.map +7 -0
  775. package/dist/chunk-YABGJU5M.js +271 -0
  776. package/dist/chunk-YABGJU5M.js.map +7 -0
  777. package/dist/chunk-YB5UCHLN.js +314 -0
  778. package/dist/chunk-YB5UCHLN.js.map +7 -0
  779. package/dist/chunk-YEJH7ZC2.js +34 -0
  780. package/dist/chunk-YEJH7ZC2.js.map +7 -0
  781. package/dist/chunk-YF5DYD3X.js +97 -0
  782. package/dist/chunk-YF5DYD3X.js.map +7 -0
  783. package/dist/chunk-YFTE4H54.js +44117 -0
  784. package/dist/chunk-YFTE4H54.js.map +7 -0
  785. package/dist/chunk-YGVQZCE7.js +30 -0
  786. package/dist/chunk-YGVQZCE7.js.map +7 -0
  787. package/dist/chunk-YNHADHHS.js +138 -0
  788. package/dist/chunk-YNHADHHS.js.map +7 -0
  789. package/dist/chunk-YNJYMD43.js +392 -0
  790. package/dist/chunk-YNJYMD43.js.map +7 -0
  791. package/dist/chunk-YNYEQGVN.js +251 -0
  792. package/dist/chunk-YNYEQGVN.js.map +7 -0
  793. package/dist/chunk-YOAMBAM2.js +70 -0
  794. package/dist/chunk-YOAMBAM2.js.map +7 -0
  795. package/dist/chunk-YUPBD27Z.js +70 -0
  796. package/dist/chunk-YUPBD27Z.js.map +7 -0
  797. package/dist/chunk-YWE5AQPZ.js +258 -0
  798. package/dist/chunk-YWE5AQPZ.js.map +7 -0
  799. package/dist/chunk-YWHH3MB6.js +1405 -0
  800. package/dist/chunk-YWHH3MB6.js.map +7 -0
  801. package/dist/chunk-YXJ52FD5.js +271 -0
  802. package/dist/chunk-YXJ52FD5.js.map +7 -0
  803. package/dist/chunk-YZ6F5N7R.js +455 -0
  804. package/dist/chunk-YZ6F5N7R.js.map +7 -0
  805. package/dist/chunk-YZGORRQN.js +3101 -0
  806. package/dist/chunk-YZGORRQN.js.map +7 -0
  807. package/dist/chunk-Z6IVJ6ZW.js +30 -0
  808. package/dist/chunk-Z6IVJ6ZW.js.map +7 -0
  809. package/dist/chunk-ZFC44XJJ.js +86 -0
  810. package/dist/chunk-ZFC44XJJ.js.map +7 -0
  811. package/dist/chunk-ZFGRQIB6.js +38 -0
  812. package/dist/chunk-ZFGRQIB6.js.map +7 -0
  813. package/dist/chunk-ZGAUVPAB.js +14 -0
  814. package/dist/chunk-ZGAUVPAB.js.map +7 -0
  815. package/dist/chunk-ZGCATLM5.js +18 -0
  816. package/dist/chunk-ZGCATLM5.js.map +7 -0
  817. package/dist/chunk-ZJDJC5TP.js +82 -0
  818. package/dist/chunk-ZJDJC5TP.js.map +7 -0
  819. package/dist/chunk-ZJGZNPDK.js +171 -0
  820. package/dist/chunk-ZJGZNPDK.js.map +7 -0
  821. package/dist/chunk-ZJHBJWZX.js +699 -0
  822. package/dist/chunk-ZJHBJWZX.js.map +7 -0
  823. package/dist/chunk-ZNOTD65D.js +95 -0
  824. package/dist/chunk-ZNOTD65D.js.map +7 -0
  825. package/dist/chunk-ZQ2QIFXW.js +122 -0
  826. package/dist/chunk-ZQ2QIFXW.js.map +7 -0
  827. package/dist/chunk-ZRMXPQGY.js +241 -0
  828. package/dist/chunk-ZRMXPQGY.js.map +7 -0
  829. package/dist/chunk-ZSOPE7DO.js +92 -0
  830. package/dist/chunk-ZSOPE7DO.js.map +7 -0
  831. package/dist/chunk-ZVEE5IDC.js +3101 -0
  832. package/dist/chunk-ZVEE5IDC.js.map +7 -0
  833. package/dist/chunk-ZY247PXY.js +135 -0
  834. package/dist/chunk-ZY247PXY.js.map +7 -0
  835. package/dist/cli-metadata.js +12 -0
  836. package/dist/cli-metadata.js.map +7 -0
  837. package/dist/contract-api.js +104 -0
  838. package/dist/contract-api.js.map +7 -0
  839. package/dist/dist-DVBXHDB4.js +549 -0
  840. package/dist/dist-DVBXHDB4.js.map +7 -0
  841. package/dist/dist-F3K7S5SS.js +549 -0
  842. package/dist/dist-F3K7S5SS.js.map +7 -0
  843. package/dist/helper-api.js +51 -0
  844. package/dist/helper-api.js.map +7 -0
  845. package/dist/index.js +70 -0
  846. package/dist/index.js.map +7 -0
  847. package/dist/magic-string.es-ITIPPYGW.js +1315 -0
  848. package/dist/magic-string.es-ITIPPYGW.js.map +7 -0
  849. package/dist/magic-string.es-V5NOGTUV.js +1315 -0
  850. package/dist/magic-string.es-V5NOGTUV.js.map +7 -0
  851. package/dist/openclaw.plugin.json +23 -0
  852. package/dist/package.json +59 -0
  853. package/dist/plugin-entry.handlers.runtime-JLRK5XTV.js +20 -0
  854. package/dist/plugin-entry.handlers.runtime-JLRK5XTV.js.map +7 -0
  855. package/dist/plugin-entry.handlers.runtime-POD4CSHM.js +20 -0
  856. package/dist/plugin-entry.handlers.runtime-POD4CSHM.js.map +7 -0
  857. package/dist/plugin-entry.handlers.runtime-YOSG6V6U.js +20 -0
  858. package/dist/plugin-entry.handlers.runtime-YOSG6V6U.js.map +7 -0
  859. package/dist/runtime-api.js +104 -0
  860. package/dist/runtime-api.js.map +7 -0
  861. package/dist/rust-crypto-7KS7OJ3F.js +5323 -0
  862. package/dist/rust-crypto-7KS7OJ3F.js.map +7 -0
  863. package/dist/rust-crypto-H35BXWUU.js +5323 -0
  864. package/dist/rust-crypto-H35BXWUU.js.map +7 -0
  865. package/dist/secret-contract-api.js +18 -0
  866. package/dist/secret-contract-api.js.map +7 -0
  867. package/dist/setup-entry.js +22 -0
  868. package/dist/setup-entry.js.map +7 -0
  869. package/dist/src/account-selection.js +19 -0
  870. package/dist/src/account-selection.js.map +7 -0
  871. package/dist/src/actions.js +24 -0
  872. package/dist/src/actions.js.map +7 -0
  873. package/dist/src/approval-auth.js +27 -0
  874. package/dist/src/approval-auth.js.map +7 -0
  875. package/dist/src/approval-handler.runtime.js +378 -0
  876. package/dist/src/approval-handler.runtime.js.map +7 -0
  877. package/dist/src/approval-ids.js +9 -0
  878. package/dist/src/approval-ids.js.map +7 -0
  879. package/dist/src/approval-native.js +28 -0
  880. package/dist/src/approval-native.js.map +7 -0
  881. package/dist/src/approval-reactions.js +20 -0
  882. package/dist/src/approval-reactions.js.map +7 -0
  883. package/dist/src/auth-precedence.js +8 -0
  884. package/dist/src/auth-precedence.js.map +7 -0
  885. package/dist/src/channel-account-paths.js +11 -0
  886. package/dist/src/channel-account-paths.js.map +7 -0
  887. package/dist/src/channel.js +74 -0
  888. package/dist/src/channel.js.map +7 -0
  889. package/dist/src/channel.runtime.js +82 -0
  890. package/dist/src/channel.runtime.js.map +7 -0
  891. package/dist/src/cli-metadata.js +8 -0
  892. package/dist/src/cli-metadata.js.map +7 -0
  893. package/dist/src/cli.js +936 -0
  894. package/dist/src/cli.js.map +7 -0
  895. package/dist/src/config-adapter.js +26 -0
  896. package/dist/src/config-adapter.js.map +7 -0
  897. package/dist/src/config-schema.js +8 -0
  898. package/dist/src/config-schema.js.map +7 -0
  899. package/dist/src/directory-live.js +35 -0
  900. package/dist/src/directory-live.js.map +7 -0
  901. package/dist/src/doctor-contract.js +11 -0
  902. package/dist/src/doctor-contract.js.map +7 -0
  903. package/dist/src/doctor.js +42 -0
  904. package/dist/src/doctor.js.map +7 -0
  905. package/dist/src/env-vars.js +12 -0
  906. package/dist/src/env-vars.js.map +7 -0
  907. package/dist/src/exec-approval-resolver.js +10 -0
  908. package/dist/src/exec-approval-resolver.js.map +7 -0
  909. package/dist/src/exec-approvals.js +51 -0
  910. package/dist/src/exec-approvals.js.map +7 -0
  911. package/dist/src/group-mentions.js +28 -0
  912. package/dist/src/group-mentions.js.map +7 -0
  913. package/dist/src/legacy-crypto-inspector-availability.js +8 -0
  914. package/dist/src/legacy-crypto-inspector-availability.js.map +7 -0
  915. package/dist/src/legacy-crypto.js +26 -0
  916. package/dist/src/legacy-crypto.js.map +7 -0
  917. package/dist/src/legacy-state.js +24 -0
  918. package/dist/src/legacy-state.js.map +7 -0
  919. package/dist/src/matrix/account-config.js +16 -0
  920. package/dist/src/matrix/account-config.js.map +7 -0
  921. package/dist/src/matrix/accounts.js +31 -0
  922. package/dist/src/matrix/accounts.js.map +7 -0
  923. package/dist/src/matrix/actions/client.js +40 -0
  924. package/dist/src/matrix/actions/client.js.map +7 -0
  925. package/dist/src/matrix/actions/devices.js +42 -0
  926. package/dist/src/matrix/actions/devices.js.map +7 -0
  927. package/dist/src/matrix/actions/limits.js +8 -0
  928. package/dist/src/matrix/actions/limits.js.map +7 -0
  929. package/dist/src/matrix/actions/messages.js +49 -0
  930. package/dist/src/matrix/actions/messages.js.map +7 -0
  931. package/dist/src/matrix/actions/pins.js +46 -0
  932. package/dist/src/matrix/actions/pins.js.map +7 -0
  933. package/dist/src/matrix/actions/polls.js +37 -0
  934. package/dist/src/matrix/actions/polls.js.map +7 -0
  935. package/dist/src/matrix/actions/profile.js +38 -0
  936. package/dist/src/matrix/actions/profile.js.map +7 -0
  937. package/dist/src/matrix/actions/reactions.js +40 -0
  938. package/dist/src/matrix/actions/reactions.js.map +7 -0
  939. package/dist/src/matrix/actions/room.js +40 -0
  940. package/dist/src/matrix/actions/room.js.map +7 -0
  941. package/dist/src/matrix/actions/summary.js +19 -0
  942. package/dist/src/matrix/actions/summary.js.map +7 -0
  943. package/dist/src/matrix/actions/types.js +13 -0
  944. package/dist/src/matrix/actions/types.js.map +7 -0
  945. package/dist/src/matrix/actions/verification.js +77 -0
  946. package/dist/src/matrix/actions/verification.js.map +7 -0
  947. package/dist/src/matrix/actions.js +126 -0
  948. package/dist/src/matrix/actions.js.map +7 -0
  949. package/dist/src/matrix/active-client.js +10 -0
  950. package/dist/src/matrix/active-client.js.map +7 -0
  951. package/dist/src/matrix/async-lock.js +8 -0
  952. package/dist/src/matrix/async-lock.js.map +7 -0
  953. package/dist/src/matrix/backup-health.js +10 -0
  954. package/dist/src/matrix/backup-health.js.map +7 -0
  955. package/dist/src/matrix/client/config-runtime-api.js +24 -0
  956. package/dist/src/matrix/client/config-runtime-api.js.map +7 -0
  957. package/dist/src/matrix/client/config-secret-input.runtime.js +11 -0
  958. package/dist/src/matrix/client/config-secret-input.runtime.js.map +7 -0
  959. package/dist/src/matrix/client/config.js +42 -0
  960. package/dist/src/matrix/client/config.js.map +7 -0
  961. package/dist/src/matrix/client/create-client.js +20 -0
  962. package/dist/src/matrix/client/create-client.js.map +7 -0
  963. package/dist/src/matrix/client/env-auth.js +26 -0
  964. package/dist/src/matrix/client/env-auth.js.map +7 -0
  965. package/dist/src/matrix/client/file-sync-store.js +23 -0
  966. package/dist/src/matrix/client/file-sync-store.js.map +7 -0
  967. package/dist/src/matrix/client/logging.js +17 -0
  968. package/dist/src/matrix/client/logging.js.map +7 -0
  969. package/dist/src/matrix/client/migration-snapshot.runtime.js +13 -0
  970. package/dist/src/matrix/client/migration-snapshot.runtime.js.map +7 -0
  971. package/dist/src/matrix/client/private-network-host.js +8 -0
  972. package/dist/src/matrix/client/private-network-host.js.map +7 -0
  973. package/dist/src/matrix/client/runtime.js +8 -0
  974. package/dist/src/matrix/client/runtime.js.map +7 -0
  975. package/dist/src/matrix/client/shared.js +34 -0
  976. package/dist/src/matrix/client/shared.js.map +7 -0
  977. package/dist/src/matrix/client/storage.js +26 -0
  978. package/dist/src/matrix/client/storage.js.map +7 -0
  979. package/dist/src/matrix/client/types.js +7 -0
  980. package/dist/src/matrix/client/types.js.map +7 -0
  981. package/dist/src/matrix/client-bootstrap.js +15 -0
  982. package/dist/src/matrix/client-bootstrap.js.map +7 -0
  983. package/dist/src/matrix/client-resolver.test-helpers.js +122 -0
  984. package/dist/src/matrix/client-resolver.test-helpers.js.map +7 -0
  985. package/dist/src/matrix/client.js +63 -0
  986. package/dist/src/matrix/client.js.map +7 -0
  987. package/dist/src/matrix/config-paths.js +12 -0
  988. package/dist/src/matrix/config-paths.js.map +7 -0
  989. package/dist/src/matrix/config-update.js +17 -0
  990. package/dist/src/matrix/config-update.js.map +7 -0
  991. package/dist/src/matrix/credentials-read.js +22 -0
  992. package/dist/src/matrix/credentials-read.js.map +7 -0
  993. package/dist/src/matrix/credentials-write.runtime.js +24 -0
  994. package/dist/src/matrix/credentials-write.runtime.js.map +7 -0
  995. package/dist/src/matrix/credentials.js +90 -0
  996. package/dist/src/matrix/credentials.js.map +7 -0
  997. package/dist/src/matrix/deps.js +12 -0
  998. package/dist/src/matrix/deps.js.map +7 -0
  999. package/dist/src/matrix/device-health.js +10 -0
  1000. package/dist/src/matrix/device-health.js.map +7 -0
  1001. package/dist/src/matrix/direct-management.js +18 -0
  1002. package/dist/src/matrix/direct-management.js.map +7 -0
  1003. package/dist/src/matrix/direct-room.js +18 -0
  1004. package/dist/src/matrix/direct-room.js.map +7 -0
  1005. package/dist/src/matrix/draft-stream.js +33 -0
  1006. package/dist/src/matrix/draft-stream.js.map +7 -0
  1007. package/dist/src/matrix/encryption-guidance.js +17 -0
  1008. package/dist/src/matrix/encryption-guidance.js.map +7 -0
  1009. package/dist/src/matrix/errors.js +12 -0
  1010. package/dist/src/matrix/errors.js.map +7 -0
  1011. package/dist/src/matrix/format.js +13 -0
  1012. package/dist/src/matrix/format.js.map +7 -0
  1013. package/dist/src/matrix/legacy-crypto-inspector.js +72 -0
  1014. package/dist/src/matrix/legacy-crypto-inspector.js.map +7 -0
  1015. package/dist/src/matrix/media-errors.js +12 -0
  1016. package/dist/src/matrix/media-errors.js.map +7 -0
  1017. package/dist/src/matrix/media-text.js +22 -0
  1018. package/dist/src/matrix/media-text.js.map +7 -0
  1019. package/dist/src/matrix/monitor/access-state.js +9 -0
  1020. package/dist/src/matrix/monitor/access-state.js.map +7 -0
  1021. package/dist/src/matrix/monitor/ack-config.js +10 -0
  1022. package/dist/src/matrix/monitor/ack-config.js.map +7 -0
  1023. package/dist/src/matrix/monitor/allowlist.js +12 -0
  1024. package/dist/src/matrix/monitor/allowlist.js.map +7 -0
  1025. package/dist/src/matrix/monitor/auto-join.js +9 -0
  1026. package/dist/src/matrix/monitor/auto-join.js.map +7 -0
  1027. package/dist/src/matrix/monitor/config.js +37 -0
  1028. package/dist/src/matrix/monitor/config.js.map +7 -0
  1029. package/dist/src/matrix/monitor/context-summary.js +13 -0
  1030. package/dist/src/matrix/monitor/context-summary.js.map +7 -0
  1031. package/dist/src/matrix/monitor/direct.js +13 -0
  1032. package/dist/src/matrix/monitor/direct.js.map +7 -0
  1033. package/dist/src/matrix/monitor/events.js +20 -0
  1034. package/dist/src/matrix/monitor/events.js.map +7 -0
  1035. package/dist/src/matrix/monitor/handler.js +76 -0
  1036. package/dist/src/matrix/monitor/handler.js.map +7 -0
  1037. package/dist/src/matrix/monitor/handler.test-helpers.js +268 -0
  1038. package/dist/src/matrix/monitor/handler.test-helpers.js.map +7 -0
  1039. package/dist/src/matrix/monitor/inbound-dedupe.js +17 -0
  1040. package/dist/src/matrix/monitor/inbound-dedupe.js.map +7 -0
  1041. package/dist/src/matrix/monitor/index.js +502 -0
  1042. package/dist/src/matrix/monitor/index.js.map +7 -0
  1043. package/dist/src/matrix/monitor/legacy-crypto-restore.js +99 -0
  1044. package/dist/src/matrix/monitor/legacy-crypto-restore.js.map +7 -0
  1045. package/dist/src/matrix/monitor/location.js +11 -0
  1046. package/dist/src/matrix/monitor/location.js.map +7 -0
  1047. package/dist/src/matrix/monitor/media.js +10 -0
  1048. package/dist/src/matrix/monitor/media.js.map +7 -0
  1049. package/dist/src/matrix/monitor/mentions.js +9 -0
  1050. package/dist/src/matrix/monitor/mentions.js.map +7 -0
  1051. package/dist/src/matrix/monitor/reaction-events.js +38 -0
  1052. package/dist/src/matrix/monitor/reaction-events.js.map +7 -0
  1053. package/dist/src/matrix/monitor/recent-invite.js +10 -0
  1054. package/dist/src/matrix/monitor/recent-invite.js.map +7 -0
  1055. package/dist/src/matrix/monitor/replies.js +33 -0
  1056. package/dist/src/matrix/monitor/replies.js.map +7 -0
  1057. package/dist/src/matrix/monitor/reply-context.js +14 -0
  1058. package/dist/src/matrix/monitor/reply-context.js.map +7 -0
  1059. package/dist/src/matrix/monitor/room-history.js +10 -0
  1060. package/dist/src/matrix/monitor/room-history.js.map +7 -0
  1061. package/dist/src/matrix/monitor/room-info.js +9 -0
  1062. package/dist/src/matrix/monitor/room-info.js.map +7 -0
  1063. package/dist/src/matrix/monitor/rooms.js +9 -0
  1064. package/dist/src/matrix/monitor/rooms.js.map +7 -0
  1065. package/dist/src/matrix/monitor/route.js +12 -0
  1066. package/dist/src/matrix/monitor/route.js.map +7 -0
  1067. package/dist/src/matrix/monitor/runtime-api.js +40 -0
  1068. package/dist/src/matrix/monitor/runtime-api.js.map +7 -0
  1069. package/dist/src/matrix/monitor/startup-verification.js +174 -0
  1070. package/dist/src/matrix/monitor/startup-verification.js.map +7 -0
  1071. package/dist/src/matrix/monitor/startup.js +9 -0
  1072. package/dist/src/matrix/monitor/startup.js.map +7 -0
  1073. package/dist/src/matrix/monitor/status.js +10 -0
  1074. package/dist/src/matrix/monitor/status.js.map +7 -0
  1075. package/dist/src/matrix/monitor/sync-lifecycle.js +9 -0
  1076. package/dist/src/matrix/monitor/sync-lifecycle.js.map +7 -0
  1077. package/dist/src/matrix/monitor/task-runner.js +8 -0
  1078. package/dist/src/matrix/monitor/task-runner.js.map +7 -0
  1079. package/dist/src/matrix/monitor/thread-context.js +14 -0
  1080. package/dist/src/matrix/monitor/thread-context.js.map +7 -0
  1081. package/dist/src/matrix/monitor/threads.js +16 -0
  1082. package/dist/src/matrix/monitor/threads.js.map +7 -0
  1083. package/dist/src/matrix/monitor/types.js +11 -0
  1084. package/dist/src/matrix/monitor/types.js.map +7 -0
  1085. package/dist/src/matrix/monitor/verification-events.js +13 -0
  1086. package/dist/src/matrix/monitor/verification-events.js.map +7 -0
  1087. package/dist/src/matrix/monitor/verification-utils.js +16 -0
  1088. package/dist/src/matrix/monitor/verification-utils.js.map +7 -0
  1089. package/dist/src/matrix/outbound-media-runtime.js +9 -0
  1090. package/dist/src/matrix/outbound-media-runtime.js.map +7 -0
  1091. package/dist/src/matrix/poll-summary.js +14 -0
  1092. package/dist/src/matrix/poll-summary.js.map +7 -0
  1093. package/dist/src/matrix/poll-types.js +55 -0
  1094. package/dist/src/matrix/poll-types.js.map +7 -0
  1095. package/dist/src/matrix/probe.js +9 -0
  1096. package/dist/src/matrix/probe.js.map +7 -0
  1097. package/dist/src/matrix/probe.runtime.js +30 -0
  1098. package/dist/src/matrix/probe.runtime.js.map +7 -0
  1099. package/dist/src/matrix/profile.js +16 -0
  1100. package/dist/src/matrix/profile.js.map +7 -0
  1101. package/dist/src/matrix/reaction-common.js +26 -0
  1102. package/dist/src/matrix/reaction-common.js.map +7 -0
  1103. package/dist/src/matrix/sdk/crypto-bootstrap.js +15 -0
  1104. package/dist/src/matrix/sdk/crypto-bootstrap.js.map +7 -0
  1105. package/dist/src/matrix/sdk/crypto-facade.js +8 -0
  1106. package/dist/src/matrix/sdk/crypto-facade.js.map +7 -0
  1107. package/dist/src/matrix/sdk/crypto-node.runtime.js +14 -0
  1108. package/dist/src/matrix/sdk/crypto-node.runtime.js.map +7 -0
  1109. package/dist/src/matrix/sdk/crypto-runtime.js +84 -0
  1110. package/dist/src/matrix/sdk/crypto-runtime.js.map +7 -0
  1111. package/dist/src/matrix/sdk/decrypt-bridge.js +11 -0
  1112. package/dist/src/matrix/sdk/decrypt-bridge.js.map +7 -0
  1113. package/dist/src/matrix/sdk/event-helpers.js +12 -0
  1114. package/dist/src/matrix/sdk/event-helpers.js.map +7 -0
  1115. package/dist/src/matrix/sdk/http-client.js +13 -0
  1116. package/dist/src/matrix/sdk/http-client.js.map +7 -0
  1117. package/dist/src/matrix/sdk/idb-persistence-lock.js +12 -0
  1118. package/dist/src/matrix/sdk/idb-persistence-lock.js.map +7 -0
  1119. package/dist/src/matrix/sdk/idb-persistence.js +13 -0
  1120. package/dist/src/matrix/sdk/idb-persistence.js.map +7 -0
  1121. package/dist/src/matrix/sdk/idb-persistence.test-helpers.js +83 -0
  1122. package/dist/src/matrix/sdk/idb-persistence.test-helpers.js.map +7 -0
  1123. package/dist/src/matrix/sdk/logger.js +15 -0
  1124. package/dist/src/matrix/sdk/logger.js.map +7 -0
  1125. package/dist/src/matrix/sdk/read-response-with-limit.js +8 -0
  1126. package/dist/src/matrix/sdk/read-response-with-limit.js.map +7 -0
  1127. package/dist/src/matrix/sdk/recovery-key-store.js +14 -0
  1128. package/dist/src/matrix/sdk/recovery-key-store.js.map +7 -0
  1129. package/dist/src/matrix/sdk/transport.js +13 -0
  1130. package/dist/src/matrix/sdk/transport.js.map +7 -0
  1131. package/dist/src/matrix/sdk/types.js +7 -0
  1132. package/dist/src/matrix/sdk/types.js.map +7 -0
  1133. package/dist/src/matrix/sdk/verification-manager.js +11 -0
  1134. package/dist/src/matrix/sdk/verification-manager.js.map +7 -0
  1135. package/dist/src/matrix/sdk/verification-status.js +12 -0
  1136. package/dist/src/matrix/sdk/verification-status.js.map +7 -0
  1137. package/dist/src/matrix/sdk.js +1375 -0
  1138. package/dist/src/matrix/sdk.js.map +7 -0
  1139. package/dist/src/matrix/send/client.js +14 -0
  1140. package/dist/src/matrix/send/client.js.map +7 -0
  1141. package/dist/src/matrix/send/formatting.js +29 -0
  1142. package/dist/src/matrix/send/formatting.js.map +7 -0
  1143. package/dist/src/matrix/send/media.js +26 -0
  1144. package/dist/src/matrix/send/media.js.map +7 -0
  1145. package/dist/src/matrix/send/targets.js +15 -0
  1146. package/dist/src/matrix/send/targets.js.map +7 -0
  1147. package/dist/src/matrix/send/types.js +17 -0
  1148. package/dist/src/matrix/send/types.js.map +7 -0
  1149. package/dist/src/matrix/send.js +51 -0
  1150. package/dist/src/matrix/send.js.map +7 -0
  1151. package/dist/src/matrix/session-store-metadata.js +15 -0
  1152. package/dist/src/matrix/session-store-metadata.js.map +7 -0
  1153. package/dist/src/matrix/startup-abort.js +14 -0
  1154. package/dist/src/matrix/startup-abort.js.map +7 -0
  1155. package/dist/src/matrix/sync-state.js +12 -0
  1156. package/dist/src/matrix/sync-state.js.map +7 -0
  1157. package/dist/src/matrix/target-ids.js +20 -0
  1158. package/dist/src/matrix/target-ids.js.map +7 -0
  1159. package/dist/src/matrix/thread-bindings-shared.js +34 -0
  1160. package/dist/src/matrix/thread-bindings-shared.js.map +7 -0
  1161. package/dist/src/matrix/thread-bindings.js +49 -0
  1162. package/dist/src/matrix/thread-bindings.js.map +7 -0
  1163. package/dist/src/matrix-migration.runtime.js +45 -0
  1164. package/dist/src/matrix-migration.runtime.js.map +7 -0
  1165. package/dist/src/migration-config.js +29 -0
  1166. package/dist/src/migration-config.js.map +7 -0
  1167. package/dist/src/migration-snapshot-backup.js +12 -0
  1168. package/dist/src/migration-snapshot-backup.js.map +7 -0
  1169. package/dist/src/migration-snapshot.js +38 -0
  1170. package/dist/src/migration-snapshot.js.map +7 -0
  1171. package/dist/src/onboarding.js +43 -0
  1172. package/dist/src/onboarding.js.map +7 -0
  1173. package/dist/src/onboarding.test-harness.js +124 -0
  1174. package/dist/src/onboarding.test-harness.js.map +7 -0
  1175. package/dist/src/outbound.js +33 -0
  1176. package/dist/src/outbound.js.map +7 -0
  1177. package/dist/src/plugin-entry.runtime.js +15 -0
  1178. package/dist/src/plugin-entry.runtime.js.map +7 -0
  1179. package/dist/src/profile-update.js +41 -0
  1180. package/dist/src/profile-update.js.map +7 -0
  1181. package/dist/src/record-shared.js +8 -0
  1182. package/dist/src/record-shared.js.map +7 -0
  1183. package/dist/src/resolve-targets.js +34 -0
  1184. package/dist/src/resolve-targets.js.map +7 -0
  1185. package/dist/src/resolver.js +8 -0
  1186. package/dist/src/resolver.js.map +7 -0
  1187. package/dist/src/runtime-api.js +120 -0
  1188. package/dist/src/runtime-api.js.map +7 -0
  1189. package/dist/src/runtime.js +10 -0
  1190. package/dist/src/runtime.js.map +7 -0
  1191. package/dist/src/secret-contract.js +13 -0
  1192. package/dist/src/secret-contract.js.map +7 -0
  1193. package/dist/src/session-route.js +25 -0
  1194. package/dist/src/session-route.js.map +7 -0
  1195. package/dist/src/setup-bootstrap.js +124 -0
  1196. package/dist/src/setup-bootstrap.js.map +7 -0
  1197. package/dist/src/setup-config.js +28 -0
  1198. package/dist/src/setup-config.js.map +7 -0
  1199. package/dist/src/setup-contract.js +16 -0
  1200. package/dist/src/setup-contract.js.map +7 -0
  1201. package/dist/src/setup-core.js +25 -0
  1202. package/dist/src/setup-core.js.map +7 -0
  1203. package/dist/src/setup-surface.js +45 -0
  1204. package/dist/src/setup-surface.js.map +7 -0
  1205. package/dist/src/startup-maintenance.js +29 -0
  1206. package/dist/src/startup-maintenance.js.map +7 -0
  1207. package/dist/src/storage-paths.js +24 -0
  1208. package/dist/src/storage-paths.js.map +7 -0
  1209. package/dist/src/test-helpers.js +49 -0
  1210. package/dist/src/test-helpers.js.map +7 -0
  1211. package/dist/src/test-mocks.js +40 -0
  1212. package/dist/src/test-mocks.js.map +7 -0
  1213. package/dist/src/test-runtime.js +65 -0
  1214. package/dist/src/test-runtime.js.map +7 -0
  1215. package/dist/src/tool-actions.js +68 -0
  1216. package/dist/src/tool-actions.js.map +7 -0
  1217. package/dist/src/tool-actions.runtime.js +73 -0
  1218. package/dist/src/tool-actions.runtime.js.map +7 -0
  1219. package/dist/src/types.js +7 -0
  1220. package/dist/src/types.js.map +7 -0
  1221. package/dist/test-api.js +82 -0
  1222. package/dist/test-api.js.map +7 -0
  1223. package/dist/thread-bindings-runtime.js +15 -0
  1224. package/dist/thread-bindings-runtime.js.map +7 -0
  1225. package/package.json +12 -6
  1226. package/CHANGELOG.md +0 -164
  1227. package/ENDOFFILE +0 -0
  1228. package/EOF +0 -0
  1229. package/SPEC-SUPPORT.md +0 -116
  1230. package/YAMLEND +0 -0
  1231. package/api.ts +0 -18
  1232. package/archipelagolab-lobi-1.0.0.tgz +0 -0
  1233. package/archipelagolab-lobi-1.0.1.tgz +0 -0
  1234. package/auth-presence.ts +0 -56
  1235. package/channel-plugin-api.ts +0 -3
  1236. package/cli-metadata.ts +0 -11
  1237. package/contract-api.ts +0 -17
  1238. package/docs/CHECKLIST.md +0 -83
  1239. package/docs/FORK_SDK_GUIDE.md +0 -279
  1240. package/helper-api.ts +0 -3
  1241. package/index.test.ts +0 -61
  1242. package/index.ts +0 -65
  1243. package/plugin-entry.handlers.runtime.ts +0 -1
  1244. package/runtime-api.ts +0 -54
  1245. package/runtime-heavy-api.ts +0 -1
  1246. package/scripts/migrate-to-lobi.sh +0 -72
  1247. package/secret-contract-api.ts +0 -5
  1248. package/setup-entry.ts +0 -13
  1249. package/src/account-selection.test.ts +0 -124
  1250. package/src/account-selection.ts +0 -226
  1251. package/src/actions.account-propagation.test.ts +0 -251
  1252. package/src/actions.test.ts +0 -251
  1253. package/src/actions.ts +0 -336
  1254. package/src/approval-auth.test.ts +0 -23
  1255. package/src/approval-auth.ts +0 -25
  1256. package/src/approval-handler.runtime.test.ts +0 -46
  1257. package/src/approval-handler.runtime.ts +0 -400
  1258. package/src/approval-ids.ts +0 -6
  1259. package/src/approval-native.test.ts +0 -329
  1260. package/src/approval-native.ts +0 -336
  1261. package/src/approval-reactions.test.ts +0 -107
  1262. package/src/approval-reactions.ts +0 -158
  1263. package/src/auth-precedence.ts +0 -61
  1264. package/src/channel-account-paths.ts +0 -92
  1265. package/src/channel.account-paths.test.ts +0 -102
  1266. package/src/channel.directory.test.ts +0 -601
  1267. package/src/channel.resolve.test.ts +0 -38
  1268. package/src/channel.runtime.ts +0 -16
  1269. package/src/channel.setup.test.ts +0 -269
  1270. package/src/channel.ts +0 -570
  1271. package/src/cli-metadata.ts +0 -19
  1272. package/src/cli.test.ts +0 -1015
  1273. package/src/cli.ts +0 -1198
  1274. package/src/config-adapter.ts +0 -41
  1275. package/src/config-schema.test.ts +0 -90
  1276. package/src/config-schema.ts +0 -114
  1277. package/src/directory-live.test.ts +0 -200
  1278. package/src/directory-live.ts +0 -238
  1279. package/src/doctor-contract.ts +0 -287
  1280. package/src/doctor.test.ts +0 -440
  1281. package/src/doctor.ts +0 -262
  1282. package/src/env-vars.ts +0 -92
  1283. package/src/exec-approval-resolver.test.ts +0 -68
  1284. package/src/exec-approval-resolver.ts +0 -23
  1285. package/src/exec-approvals.test.ts +0 -483
  1286. package/src/exec-approvals.ts +0 -290
  1287. package/src/group-mentions.ts +0 -41
  1288. package/src/legacy-crypto-inspector-availability.test.ts +0 -81
  1289. package/src/legacy-crypto-inspector-availability.ts +0 -60
  1290. package/src/legacy-crypto.test.ts +0 -234
  1291. package/src/legacy-crypto.ts +0 -549
  1292. package/src/legacy-state.test.ts +0 -86
  1293. package/src/legacy-state.ts +0 -156
  1294. package/src/matrix/account-config.ts +0 -150
  1295. package/src/matrix/accounts.readiness.test.ts +0 -27
  1296. package/src/matrix/accounts.test.ts +0 -757
  1297. package/src/matrix/accounts.ts +0 -194
  1298. package/src/matrix/actions/client.test.ts +0 -215
  1299. package/src/matrix/actions/client.ts +0 -31
  1300. package/src/matrix/actions/devices.test.ts +0 -114
  1301. package/src/matrix/actions/devices.ts +0 -34
  1302. package/src/matrix/actions/limits.test.ts +0 -15
  1303. package/src/matrix/actions/limits.ts +0 -6
  1304. package/src/matrix/actions/messages.test.ts +0 -289
  1305. package/src/matrix/actions/messages.ts +0 -123
  1306. package/src/matrix/actions/pins.test.ts +0 -74
  1307. package/src/matrix/actions/pins.ts +0 -64
  1308. package/src/matrix/actions/polls.test.ts +0 -71
  1309. package/src/matrix/actions/polls.ts +0 -109
  1310. package/src/matrix/actions/profile.test.ts +0 -109
  1311. package/src/matrix/actions/profile.ts +0 -37
  1312. package/src/matrix/actions/reactions.test.ts +0 -135
  1313. package/src/matrix/actions/reactions.ts +0 -59
  1314. package/src/matrix/actions/room.test.ts +0 -79
  1315. package/src/matrix/actions/room.ts +0 -71
  1316. package/src/matrix/actions/summary.test.ts +0 -87
  1317. package/src/matrix/actions/summary.ts +0 -88
  1318. package/src/matrix/actions/types.ts +0 -82
  1319. package/src/matrix/actions/verification.test.ts +0 -105
  1320. package/src/matrix/actions/verification.ts +0 -237
  1321. package/src/matrix/actions.ts +0 -37
  1322. package/src/matrix/active-client.ts +0 -26
  1323. package/src/matrix/async-lock.ts +0 -18
  1324. package/src/matrix/backup-health.ts +0 -115
  1325. package/src/matrix/client/config-runtime-api.ts +0 -14
  1326. package/src/matrix/client/config-secret-input.runtime.ts +0 -1
  1327. package/src/matrix/client/config.ts +0 -982
  1328. package/src/matrix/client/create-client.test.ts +0 -115
  1329. package/src/matrix/client/create-client.ts +0 -101
  1330. package/src/matrix/client/env-auth.ts +0 -6
  1331. package/src/matrix/client/file-sync-store.test.ts +0 -265
  1332. package/src/matrix/client/file-sync-store.ts +0 -289
  1333. package/src/matrix/client/logging.ts +0 -123
  1334. package/src/matrix/client/migration-snapshot.runtime.ts +0 -1
  1335. package/src/matrix/client/private-network-host.ts +0 -56
  1336. package/src/matrix/client/runtime.ts +0 -4
  1337. package/src/matrix/client/shared.test.ts +0 -344
  1338. package/src/matrix/client/shared.ts +0 -306
  1339. package/src/matrix/client/storage.test.ts +0 -634
  1340. package/src/matrix/client/storage.ts +0 -544
  1341. package/src/matrix/client/types.ts +0 -50
  1342. package/src/matrix/client-bootstrap.test.ts +0 -84
  1343. package/src/matrix/client-bootstrap.ts +0 -164
  1344. package/src/matrix/client-resolver.test-helpers.ts +0 -147
  1345. package/src/matrix/client.test.ts +0 -1521
  1346. package/src/matrix/client.ts +0 -23
  1347. package/src/matrix/config-paths.ts +0 -31
  1348. package/src/matrix/config-update.test.ts +0 -237
  1349. package/src/matrix/config-update.ts +0 -291
  1350. package/src/matrix/credentials-read.ts +0 -206
  1351. package/src/matrix/credentials-write.runtime.ts +0 -26
  1352. package/src/matrix/credentials.test.ts +0 -501
  1353. package/src/matrix/credentials.ts +0 -95
  1354. package/src/matrix/deps.test.ts +0 -74
  1355. package/src/matrix/deps.ts +0 -225
  1356. package/src/matrix/device-health.test.ts +0 -45
  1357. package/src/matrix/device-health.ts +0 -31
  1358. package/src/matrix/direct-management.test.ts +0 -350
  1359. package/src/matrix/direct-management.ts +0 -347
  1360. package/src/matrix/direct-room.test.ts +0 -61
  1361. package/src/matrix/direct-room.ts +0 -128
  1362. package/src/matrix/draft-stream.test.ts +0 -406
  1363. package/src/matrix/draft-stream.ts +0 -216
  1364. package/src/matrix/encryption-guidance.ts +0 -27
  1365. package/src/matrix/errors.ts +0 -21
  1366. package/src/matrix/format.test.ts +0 -340
  1367. package/src/matrix/format.ts +0 -428
  1368. package/src/matrix/legacy-crypto-inspector.ts +0 -95
  1369. package/src/matrix/media-errors.ts +0 -20
  1370. package/src/matrix/media-text.ts +0 -169
  1371. package/src/matrix/monitor/access-state.test.ts +0 -45
  1372. package/src/matrix/monitor/access-state.ts +0 -77
  1373. package/src/matrix/monitor/ack-config.test.ts +0 -57
  1374. package/src/matrix/monitor/ack-config.ts +0 -26
  1375. package/src/matrix/monitor/allowlist.test.ts +0 -45
  1376. package/src/matrix/monitor/allowlist.ts +0 -94
  1377. package/src/matrix/monitor/auto-join.test.ts +0 -203
  1378. package/src/matrix/monitor/auto-join.ts +0 -86
  1379. package/src/matrix/monitor/config.test.ts +0 -197
  1380. package/src/matrix/monitor/config.ts +0 -303
  1381. package/src/matrix/monitor/context-summary.ts +0 -43
  1382. package/src/matrix/monitor/direct.test.ts +0 -529
  1383. package/src/matrix/monitor/direct.ts +0 -270
  1384. package/src/matrix/monitor/events.test.ts +0 -1524
  1385. package/src/matrix/monitor/events.ts +0 -213
  1386. package/src/matrix/monitor/handler.body-for-agent.test.ts +0 -396
  1387. package/src/matrix/monitor/handler.group-history.test.ts +0 -648
  1388. package/src/matrix/monitor/handler.media-failure.test.ts +0 -267
  1389. package/src/matrix/monitor/handler.test-helpers.ts +0 -308
  1390. package/src/matrix/monitor/handler.test.ts +0 -2952
  1391. package/src/matrix/monitor/handler.thread-root-media.test.ts +0 -82
  1392. package/src/matrix/monitor/handler.ts +0 -1679
  1393. package/src/matrix/monitor/inbound-dedupe.test.ts +0 -146
  1394. package/src/matrix/monitor/inbound-dedupe.ts +0 -267
  1395. package/src/matrix/monitor/index.test.ts +0 -920
  1396. package/src/matrix/monitor/index.ts +0 -434
  1397. package/src/matrix/monitor/legacy-crypto-restore.test.ts +0 -206
  1398. package/src/matrix/monitor/legacy-crypto-restore.ts +0 -139
  1399. package/src/matrix/monitor/location.ts +0 -100
  1400. package/src/matrix/monitor/media.test.ts +0 -159
  1401. package/src/matrix/monitor/media.ts +0 -119
  1402. package/src/matrix/monitor/mentions.test.ts +0 -289
  1403. package/src/matrix/monitor/mentions.ts +0 -177
  1404. package/src/matrix/monitor/reaction-events.test.ts +0 -326
  1405. package/src/matrix/monitor/reaction-events.ts +0 -187
  1406. package/src/matrix/monitor/recent-invite.test.ts +0 -92
  1407. package/src/matrix/monitor/recent-invite.ts +0 -30
  1408. package/src/matrix/monitor/replies.test.ts +0 -265
  1409. package/src/matrix/monitor/replies.ts +0 -136
  1410. package/src/matrix/monitor/reply-context.test.ts +0 -276
  1411. package/src/matrix/monitor/reply-context.ts +0 -92
  1412. package/src/matrix/monitor/room-history.test.ts +0 -258
  1413. package/src/matrix/monitor/room-history.ts +0 -301
  1414. package/src/matrix/monitor/room-info.test.ts +0 -201
  1415. package/src/matrix/monitor/room-info.ts +0 -126
  1416. package/src/matrix/monitor/rooms.test.ts +0 -121
  1417. package/src/matrix/monitor/rooms.ts +0 -52
  1418. package/src/matrix/monitor/route.test.ts +0 -255
  1419. package/src/matrix/monitor/route.ts +0 -178
  1420. package/src/matrix/monitor/runtime-api.ts +0 -31
  1421. package/src/matrix/monitor/startup-verification.test.ts +0 -294
  1422. package/src/matrix/monitor/startup-verification.ts +0 -237
  1423. package/src/matrix/monitor/startup.test.ts +0 -257
  1424. package/src/matrix/monitor/startup.ts +0 -218
  1425. package/src/matrix/monitor/status.ts +0 -111
  1426. package/src/matrix/monitor/sync-lifecycle.test.ts +0 -224
  1427. package/src/matrix/monitor/sync-lifecycle.ts +0 -91
  1428. package/src/matrix/monitor/task-runner.ts +0 -38
  1429. package/src/matrix/monitor/thread-context.test.ts +0 -149
  1430. package/src/matrix/monitor/thread-context.ts +0 -108
  1431. package/src/matrix/monitor/threads.test.ts +0 -68
  1432. package/src/matrix/monitor/threads.ts +0 -85
  1433. package/src/matrix/monitor/types.ts +0 -30
  1434. package/src/matrix/monitor/verification-events.ts +0 -627
  1435. package/src/matrix/monitor/verification-utils.test.ts +0 -47
  1436. package/src/matrix/monitor/verification-utils.ts +0 -46
  1437. package/src/matrix/outbound-media-runtime.ts +0 -1
  1438. package/src/matrix/poll-summary.ts +0 -110
  1439. package/src/matrix/poll-types.test.ts +0 -205
  1440. package/src/matrix/poll-types.ts +0 -433
  1441. package/src/matrix/probe.runtime.ts +0 -4
  1442. package/src/matrix/probe.test.ts +0 -154
  1443. package/src/matrix/probe.ts +0 -96
  1444. package/src/matrix/profile.test.ts +0 -154
  1445. package/src/matrix/profile.ts +0 -184
  1446. package/src/matrix/reaction-common.test.ts +0 -96
  1447. package/src/matrix/reaction-common.ts +0 -147
  1448. package/src/matrix/sdk/crypto-bootstrap.test.ts +0 -505
  1449. package/src/matrix/sdk/crypto-bootstrap.ts +0 -341
  1450. package/src/matrix/sdk/crypto-facade.test.ts +0 -197
  1451. package/src/matrix/sdk/crypto-facade.ts +0 -207
  1452. package/src/matrix/sdk/crypto-node.runtime.test.ts +0 -27
  1453. package/src/matrix/sdk/crypto-node.runtime.ts +0 -9
  1454. package/src/matrix/sdk/crypto-runtime.ts +0 -11
  1455. package/src/matrix/sdk/decrypt-bridge.ts +0 -356
  1456. package/src/matrix/sdk/event-helpers.test.ts +0 -60
  1457. package/src/matrix/sdk/event-helpers.ts +0 -71
  1458. package/src/matrix/sdk/http-client.test.ts +0 -134
  1459. package/src/matrix/sdk/http-client.ts +0 -87
  1460. package/src/matrix/sdk/idb-persistence-lock.ts +0 -51
  1461. package/src/matrix/sdk/idb-persistence.lock-order.test.ts +0 -108
  1462. package/src/matrix/sdk/idb-persistence.test-helpers.ts +0 -88
  1463. package/src/matrix/sdk/idb-persistence.test.ts +0 -149
  1464. package/src/matrix/sdk/idb-persistence.ts +0 -283
  1465. package/src/matrix/sdk/logger.test.ts +0 -25
  1466. package/src/matrix/sdk/logger.ts +0 -108
  1467. package/src/matrix/sdk/read-response-with-limit.ts +0 -19
  1468. package/src/matrix/sdk/recovery-key-store.test.ts +0 -385
  1469. package/src/matrix/sdk/recovery-key-store.ts +0 -430
  1470. package/src/matrix/sdk/transport.test.ts +0 -161
  1471. package/src/matrix/sdk/transport.ts +0 -344
  1472. package/src/matrix/sdk/types.ts +0 -236
  1473. package/src/matrix/sdk/verification-manager.test.ts +0 -509
  1474. package/src/matrix/sdk/verification-manager.ts +0 -694
  1475. package/src/matrix/sdk/verification-status.ts +0 -23
  1476. package/src/matrix/sdk.test.ts +0 -2568
  1477. package/src/matrix/sdk.ts +0 -1789
  1478. package/src/matrix/send/client.test.ts +0 -174
  1479. package/src/matrix/send/client.ts +0 -90
  1480. package/src/matrix/send/formatting.ts +0 -189
  1481. package/src/matrix/send/media.ts +0 -244
  1482. package/src/matrix/send/targets.test.ts +0 -254
  1483. package/src/matrix/send/targets.ts +0 -104
  1484. package/src/matrix/send/types.ts +0 -134
  1485. package/src/matrix/send.test.ts +0 -958
  1486. package/src/matrix/send.ts +0 -609
  1487. package/src/matrix/session-store-metadata.ts +0 -108
  1488. package/src/matrix/startup-abort.ts +0 -44
  1489. package/src/matrix/sync-state.ts +0 -27
  1490. package/src/matrix/target-ids.ts +0 -102
  1491. package/src/matrix/thread-bindings-shared.ts +0 -201
  1492. package/src/matrix/thread-bindings.test.ts +0 -673
  1493. package/src/matrix/thread-bindings.ts +0 -577
  1494. package/src/matrix-migration.runtime.ts +0 -9
  1495. package/src/migration-config.test.ts +0 -228
  1496. package/src/migration-config.ts +0 -243
  1497. package/src/migration-snapshot-backup.ts +0 -117
  1498. package/src/migration-snapshot.test.ts +0 -184
  1499. package/src/migration-snapshot.ts +0 -55
  1500. package/src/onboarding.resolve.test.ts +0 -55
  1501. package/src/onboarding.test-harness.ts +0 -158
  1502. package/src/onboarding.test.ts +0 -665
  1503. package/src/onboarding.ts +0 -773
  1504. package/src/outbound.test.ts +0 -173
  1505. package/src/outbound.ts +0 -78
  1506. package/src/plugin-entry.runtime.js +0 -159
  1507. package/src/plugin-entry.runtime.test.ts +0 -108
  1508. package/src/plugin-entry.runtime.ts +0 -68
  1509. package/src/profile-update.ts +0 -68
  1510. package/src/record-shared.ts +0 -3
  1511. package/src/resolve-targets.test.ts +0 -178
  1512. package/src/resolve-targets.ts +0 -175
  1513. package/src/resolver.ts +0 -21
  1514. package/src/runtime-api.ts +0 -144
  1515. package/src/runtime.ts +0 -7
  1516. package/src/secret-contract.ts +0 -174
  1517. package/src/session-route.test.ts +0 -315
  1518. package/src/session-route.ts +0 -113
  1519. package/src/setup-bootstrap.ts +0 -94
  1520. package/src/setup-config.ts +0 -222
  1521. package/src/setup-contract.ts +0 -89
  1522. package/src/setup-core.test.ts +0 -326
  1523. package/src/setup-core.ts +0 -50
  1524. package/src/setup-surface.ts +0 -4
  1525. package/src/startup-maintenance.test.ts +0 -227
  1526. package/src/startup-maintenance.ts +0 -114
  1527. package/src/storage-paths.ts +0 -92
  1528. package/src/test-helpers.ts +0 -42
  1529. package/src/test-mocks.ts +0 -55
  1530. package/src/test-runtime.ts +0 -72
  1531. package/src/test-support/monitor-route-test-support.ts +0 -8
  1532. package/src/tool-actions.runtime.ts +0 -1
  1533. package/src/tool-actions.test.ts +0 -422
  1534. package/src/tool-actions.ts +0 -498
  1535. package/src/types.ts +0 -230
  1536. package/test-api.ts +0 -2
  1537. package/thread-bindings-runtime.ts +0 -4
  1538. package/tsconfig.json +0 -16
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/matrix/monitor/handler.ts"],
4
+ "sourcesContent": ["import { resolveControlCommandGate } from \"openclaw/plugin-sdk/command-auth\";\nimport {\n loadSessionStore,\n resolveChannelContextVisibilityMode,\n resolveSessionStoreEntry,\n} from \"openclaw/plugin-sdk/config-runtime\";\nimport { getSessionBindingService } from \"openclaw/plugin-sdk/conversation-runtime\";\nimport { evaluateSupplementalContextVisibility } from \"openclaw/plugin-sdk/security-runtime\";\nimport { normalizeOptionalString } from \"openclaw/plugin-sdk/text-runtime\";\nimport type {\n CoreConfig,\n MatrixRoomConfig,\n MatrixStreamingMode,\n ReplyToMode,\n} from \"../../types.js\";\nimport { createMatrixDraftStream } from \"../draft-stream.js\";\nimport { formatMatrixErrorMessage } from \"../errors.js\";\nimport { isMatrixMediaSizeLimitError } from \"../media-errors.js\";\nimport {\n formatMatrixMediaTooLargeText,\n formatMatrixMediaUnavailableText,\n formatMatrixMessageText,\n resolveMatrixMessageAttachment,\n resolveMatrixMessageBody,\n} from \"../media-text.js\";\nimport { fetchMatrixPollSnapshot, type MatrixPollSnapshot } from \"../poll-summary.js\";\nimport {\n formatPollAsText,\n isPollEventType,\n isPollStartType,\n parsePollStartContent,\n} from \"../poll-types.js\";\nimport type { LocationMessageEventContent, MatrixClient } from \"../sdk.js\";\nimport {\n editMessageMatrix,\n reactMatrixMessage,\n sendMessageMatrix,\n sendReadReceiptMatrix,\n sendTypingMatrix,\n} from \"../send.js\";\nimport { MATRIX_OPENCLAW_FINALIZED_PREVIEW_KEY } from \"../send/types.js\";\nimport { resolveMatrixStoredSessionMeta } from \"../session-store-metadata.js\";\nimport { resolveMatrixMonitorAccessState } from \"./access-state.js\";\nimport { resolveMatrixAckReactionConfig } from \"./ack-config.js\";\nimport { resolveMatrixAllowListMatch } from \"./allowlist.js\";\nimport type { MatrixInboundEventDeduper } from \"./inbound-dedupe.js\";\nimport { resolveMatrixLocation, type MatrixLocationPayload } from \"./location.js\";\nimport { downloadMatrixMedia } from \"./media.js\";\nimport { resolveMentions } from \"./mentions.js\";\nimport { handleInboundMatrixReaction } from \"./reaction-events.js\";\nimport { deliverMatrixReplies } from \"./replies.js\";\nimport { createMatrixReplyContextResolver } from \"./reply-context.js\";\nimport { createRoomHistoryTracker } from \"./room-history.js\";\nimport type { HistoryEntry } from \"./room-history.js\";\nimport { resolveMatrixRoomConfig } from \"./rooms.js\";\nimport { resolveMatrixInboundRoute } from \"./route.js\";\nimport {\n createReplyPrefixOptions,\n createTypingCallbacks,\n ensureConfiguredAcpBindingReady,\n formatAllowlistMatchMeta,\n getAgentScopedMediaLocalRoots,\n logInboundDrop,\n logTypingFailure,\n type BlockReplyContext,\n type PluginRuntime,\n type ReplyPayload,\n type RuntimeEnv,\n type RuntimeLogger,\n} from \"./runtime-api.js\";\nimport { createMatrixThreadContextResolver } from \"./thread-context.js\";\nimport {\n resolveMatrixReplyToEventId,\n resolveMatrixThreadRootId,\n resolveMatrixThreadRouting,\n} from \"./threads.js\";\nimport type { MatrixRawEvent, RoomMessageEventContent } from \"./types.js\";\nimport { EventType, RelationType } from \"./types.js\";\nimport { isMatrixVerificationRoomMessage } from \"./verification-utils.js\";\n\nconst ALLOW_FROM_STORE_CACHE_TTL_MS = 30_000;\nconst PAIRING_REPLY_COOLDOWN_MS = 5 * 60_000;\nconst MAX_TRACKED_PAIRING_REPLY_SENDERS = 512;\nconst MAX_TRACKED_SHARED_DM_CONTEXT_NOTICES = 512;\ntype MatrixAllowBotsMode = \"off\" | \"mentions\" | \"all\";\n\nasync function redactMatrixDraftEvent(\n client: MatrixClient,\n roomId: string,\n draftEventId: string,\n): Promise<void> {\n await client.redactEvent(roomId, draftEventId).catch(() => {});\n}\n\nfunction buildMatrixFinalizedPreviewContent(): Record<string, unknown> {\n return { [MATRIX_OPENCLAW_FINALIZED_PREVIEW_KEY]: true };\n}\n\nexport type MatrixMonitorHandlerParams = {\n client: MatrixClient;\n core: PluginRuntime;\n cfg: CoreConfig;\n accountId: string;\n runtime: RuntimeEnv;\n logger: RuntimeLogger;\n logVerboseMessage: (message: string) => void;\n allowFrom: string[];\n groupAllowFrom?: string[];\n roomsConfig?: Record<string, MatrixRoomConfig>;\n accountAllowBots?: boolean | \"mentions\";\n configuredBotUserIds?: ReadonlySet<string>;\n groupPolicy: \"open\" | \"allowlist\" | \"disabled\";\n replyToMode: ReplyToMode;\n threadReplies: \"off\" | \"inbound\" | \"always\";\n /** DM-specific threadReplies override. Falls back to threadReplies when absent. */\n dmThreadReplies?: \"off\" | \"inbound\" | \"always\";\n /** DM session grouping behavior. */\n dmSessionScope?: \"per-user\" | \"per-room\";\n streaming: MatrixStreamingMode;\n blockStreamingEnabled: boolean;\n dmEnabled: boolean;\n dmPolicy: \"open\" | \"pairing\" | \"allowlist\" | \"disabled\";\n textLimit: number;\n mediaMaxBytes: number;\n historyLimit: number;\n startupMs: number;\n startupGraceMs: number;\n dropPreStartupMessages: boolean;\n inboundDeduper?: Pick<MatrixInboundEventDeduper, \"claimEvent\" | \"commitEvent\" | \"releaseEvent\">;\n directTracker: {\n isDirectMessage: (params: {\n roomId: string;\n senderId: string;\n selfUserId: string;\n }) => Promise<boolean>;\n };\n getRoomInfo: (\n roomId: string,\n opts?: { includeAliases?: boolean },\n ) => Promise<{ name?: string; canonicalAlias?: string; altAliases: string[] }>;\n getMemberDisplayName: (roomId: string, userId: string) => Promise<string>;\n needsRoomAliasesForConfig: boolean;\n};\n\nfunction resolveMatrixMentionPrecheckText(params: {\n eventType: string;\n content: RoomMessageEventContent;\n locationText?: string | null;\n}): string {\n if (params.locationText?.trim()) {\n return params.locationText.trim();\n }\n if (typeof params.content.body === \"string\" && params.content.body.trim()) {\n return params.content.body.trim();\n }\n if (isPollStartType(params.eventType)) {\n const parsed = parsePollStartContent(params.content as never);\n if (parsed) {\n return formatPollAsText(parsed);\n }\n }\n return \"\";\n}\n\nfunction resolveMatrixInboundBodyText(params: {\n rawBody: string;\n filename?: string;\n mediaPlaceholder?: string;\n msgtype?: string;\n hadMediaUrl: boolean;\n mediaDownloadFailed: boolean;\n mediaSizeLimitExceeded?: boolean;\n}): string {\n if (params.mediaPlaceholder) {\n return params.rawBody || params.mediaPlaceholder;\n }\n if (!params.mediaDownloadFailed || !params.hadMediaUrl) {\n return params.rawBody;\n }\n if (params.mediaSizeLimitExceeded) {\n return formatMatrixMediaTooLargeText({\n body: params.rawBody,\n filename: params.filename,\n msgtype: params.msgtype,\n });\n }\n return formatMatrixMediaUnavailableText({\n body: params.rawBody,\n filename: params.filename,\n msgtype: params.msgtype,\n });\n}\n\nfunction markTrackedRoomIfFirst(set: Set<string>, roomId: string): boolean {\n if (set.has(roomId)) {\n return false;\n }\n set.add(roomId);\n if (set.size > MAX_TRACKED_SHARED_DM_CONTEXT_NOTICES) {\n const oldest = set.keys().next().value;\n if (typeof oldest === \"string\") {\n set.delete(oldest);\n }\n }\n return true;\n}\n\nfunction resolveMatrixSharedDmContextNotice(params: {\n storePath: string;\n sessionKey: string;\n roomId: string;\n accountId: string;\n dmSessionScope?: \"per-user\" | \"per-room\";\n sentRooms: Set<string>;\n logVerboseMessage: (message: string) => void;\n}): string | null {\n if ((params.dmSessionScope ?? \"per-user\") === \"per-room\") {\n return null;\n }\n if (params.sentRooms.has(params.roomId)) {\n return null;\n }\n\n try {\n const store = loadSessionStore(params.storePath);\n const currentSession = resolveMatrixStoredSessionMeta(\n resolveSessionStoreEntry({\n store,\n sessionKey: params.sessionKey,\n }).existing,\n );\n if (!currentSession) {\n return null;\n }\n if (currentSession.channel && currentSession.channel !== \"matrix\") {\n return null;\n }\n if (currentSession.accountId && currentSession.accountId !== params.accountId) {\n return null;\n }\n if (!currentSession.directUserId) {\n return null;\n }\n if (!currentSession.roomId || currentSession.roomId === params.roomId) {\n return null;\n }\n\n return [\n \"This Matrix DM is sharing a session with another Matrix DM room.\",\n \"Use /focus here for a one-off isolated thread session when thread bindings are enabled, or set\",\n \"channels.lobi.dm.sessionScope to per-room to isolate each Matrix DM room.\",\n ].join(\" \");\n } catch (err) {\n params.logVerboseMessage(\n `matrix: failed checking shared DM session notice room=${params.roomId} (${String(err)})`,\n );\n return null;\n }\n}\n\nfunction resolveMatrixPendingHistoryText(params: {\n mentionPrecheckText: string;\n content: RoomMessageEventContent;\n mediaUrl?: string;\n}): string {\n if (params.mentionPrecheckText) {\n return params.mentionPrecheckText;\n }\n if (!params.mediaUrl) {\n return \"\";\n }\n const body = typeof params.content.body === \"string\" ? params.content.body.trim() : undefined;\n const filename =\n typeof params.content.filename === \"string\" ? params.content.filename.trim() : undefined;\n const msgtype = typeof params.content.msgtype === \"string\" ? params.content.msgtype : undefined;\n return (\n formatMatrixMessageText({\n body: resolveMatrixMessageBody({ body, filename, msgtype }),\n attachment: resolveMatrixMessageAttachment({ body, filename, msgtype }),\n }) ?? \"\"\n );\n}\n\nfunction resolveMatrixAllowBotsMode(value?: boolean | \"mentions\"): MatrixAllowBotsMode {\n if (value === true) {\n return \"all\";\n }\n if (value === \"mentions\") {\n return \"mentions\";\n }\n return \"off\";\n}\n\nexport function createMatrixRoomMessageHandler(params: MatrixMonitorHandlerParams) {\n const {\n client,\n core,\n cfg,\n accountId,\n runtime,\n logger,\n logVerboseMessage,\n allowFrom,\n groupAllowFrom = [],\n roomsConfig,\n accountAllowBots,\n configuredBotUserIds = new Set<string>(),\n groupPolicy,\n replyToMode,\n threadReplies,\n dmThreadReplies,\n dmSessionScope,\n streaming,\n blockStreamingEnabled,\n dmEnabled,\n dmPolicy,\n textLimit,\n mediaMaxBytes,\n historyLimit,\n startupMs,\n startupGraceMs,\n dropPreStartupMessages,\n inboundDeduper,\n directTracker,\n getRoomInfo,\n getMemberDisplayName,\n needsRoomAliasesForConfig,\n } = params;\n const contextVisibilityMode = resolveChannelContextVisibilityMode({\n cfg,\n channel: \"matrix\",\n accountId,\n });\n let cachedStoreAllowFrom: {\n value: string[];\n expiresAtMs: number;\n } | null = null;\n const pairingReplySentAtMsBySender = new Map<string, number>();\n const resolveThreadContext = createMatrixThreadContextResolver({\n client,\n getMemberDisplayName,\n logVerboseMessage,\n });\n const resolveReplyContext = createMatrixReplyContextResolver({\n client,\n getMemberDisplayName,\n logVerboseMessage,\n });\n const roomHistoryTracker = createRoomHistoryTracker();\n const roomIngressTails = new Map<string, Promise<void>>();\n const sharedDmContextNoticeRooms = new Set<string>();\n\n const readStoreAllowFrom = async (): Promise<string[]> => {\n const now = Date.now();\n if (cachedStoreAllowFrom && now < cachedStoreAllowFrom.expiresAtMs) {\n return cachedStoreAllowFrom.value;\n }\n const value = await core.channel.pairing\n .readAllowFromStore({\n channel: \"matrix\",\n env: process.env,\n accountId,\n })\n .catch(() => []);\n cachedStoreAllowFrom = {\n value,\n expiresAtMs: now + ALLOW_FROM_STORE_CACHE_TTL_MS,\n };\n return value;\n };\n\n const shouldSendPairingReply = (senderId: string, created: boolean): boolean => {\n const now = Date.now();\n if (created) {\n pairingReplySentAtMsBySender.set(senderId, now);\n return true;\n }\n const lastSentAtMs = pairingReplySentAtMsBySender.get(senderId);\n if (typeof lastSentAtMs === \"number\" && now - lastSentAtMs < PAIRING_REPLY_COOLDOWN_MS) {\n return false;\n }\n pairingReplySentAtMsBySender.set(senderId, now);\n if (pairingReplySentAtMsBySender.size > MAX_TRACKED_PAIRING_REPLY_SENDERS) {\n const oldestSender = pairingReplySentAtMsBySender.keys().next().value;\n if (typeof oldestSender === \"string\") {\n pairingReplySentAtMsBySender.delete(oldestSender);\n }\n }\n return true;\n };\n\n const runRoomIngress = async <T>(roomId: string, task: () => Promise<T>): Promise<T> => {\n const previous = roomIngressTails.get(roomId) ?? Promise.resolve();\n let releaseCurrent!: () => void;\n const current = new Promise<void>((resolve) => {\n releaseCurrent = resolve;\n });\n const chain = previous.catch(() => {}).then(() => current);\n roomIngressTails.set(roomId, chain);\n await previous.catch(() => {});\n try {\n return await task();\n } finally {\n releaseCurrent();\n if (roomIngressTails.get(roomId) === chain) {\n roomIngressTails.delete(roomId);\n }\n }\n };\n\n return async (roomId: string, event: MatrixRawEvent) => {\n const eventId = typeof event.event_id === \"string\" ? event.event_id.trim() : \"\";\n let claimedInboundEvent = false;\n let draftStreamRef: ReturnType<typeof createMatrixDraftStream> | undefined;\n let draftConsumed = false;\n try {\n const eventType = event.type;\n if (eventType === EventType.RoomMessageEncrypted) {\n // Encrypted payloads are emitted separately after decryption.\n return;\n }\n\n const isPollEvent = isPollEventType(eventType);\n const isReactionEvent = eventType === EventType.Reaction;\n const locationContent = event.content as LocationMessageEventContent;\n const isLocationEvent =\n eventType === EventType.Location ||\n (eventType === EventType.RoomMessage && locationContent.msgtype === EventType.Location);\n if (\n eventType !== EventType.RoomMessage &&\n !isPollEvent &&\n !isLocationEvent &&\n !isReactionEvent\n ) {\n return;\n }\n logVerboseMessage(\n `matrix: inbound event room=${roomId} type=${eventType} id=${event.event_id ?? \"unknown\"}`,\n );\n if (event.unsigned?.redacted_because) {\n return;\n }\n const senderId = event.sender;\n if (!senderId) {\n return;\n }\n const eventTs = event.origin_server_ts;\n const eventAge = event.unsigned?.age;\n const commitInboundEventIfClaimed = async () => {\n if (!claimedInboundEvent || !inboundDeduper || !eventId) {\n return;\n }\n await inboundDeduper.commitEvent({ roomId, eventId });\n claimedInboundEvent = false;\n };\n const readIngressPrefix = async () => {\n const selfUserId = await client.getUserId();\n if (senderId === selfUserId) {\n return undefined;\n }\n if (dropPreStartupMessages) {\n if (typeof eventTs === \"number\" && eventTs < startupMs - startupGraceMs) {\n return undefined;\n }\n if (\n typeof eventTs !== \"number\" &&\n typeof eventAge === \"number\" &&\n eventAge > startupGraceMs\n ) {\n return undefined;\n }\n }\n\n let content = event.content as RoomMessageEventContent;\n\n if (\n eventType === EventType.RoomMessage &&\n isMatrixVerificationRoomMessage({\n msgtype: (content as { msgtype?: unknown }).msgtype,\n body: content.body,\n })\n ) {\n logVerboseMessage(`matrix: skip verification/system room message room=${roomId}`);\n return undefined;\n }\n\n const locationPayload: MatrixLocationPayload | null = resolveMatrixLocation({\n eventType,\n content: content as LocationMessageEventContent,\n });\n\n const relates = content[\"m.relates_to\"];\n if (relates && \"rel_type\" in relates && relates.rel_type === RelationType.Replace) {\n return undefined;\n }\n if (eventId && inboundDeduper) {\n claimedInboundEvent = inboundDeduper.claimEvent({ roomId, eventId });\n if (!claimedInboundEvent) {\n logVerboseMessage(`matrix: skip duplicate inbound event room=${roomId} id=${eventId}`);\n return undefined;\n }\n }\n\n const isDirectMessage = await directTracker.isDirectMessage({\n roomId,\n senderId,\n selfUserId,\n });\n return { content, isDirectMessage, locationPayload, selfUserId };\n };\n const continueIngress = async (params: {\n content: RoomMessageEventContent;\n isDirectMessage: boolean;\n locationPayload: MatrixLocationPayload | null;\n selfUserId: string;\n }) => {\n let content = params.content;\n const isDirectMessage = params.isDirectMessage;\n const isRoom = !isDirectMessage;\n const { locationPayload, selfUserId } = params;\n if (isRoom && groupPolicy === \"disabled\") {\n await commitInboundEventIfClaimed();\n return undefined;\n }\n\n const roomInfoForConfig =\n isRoom && needsRoomAliasesForConfig\n ? await getRoomInfo(roomId, { includeAliases: true })\n : undefined;\n const roomAliasesForConfig = roomInfoForConfig\n ? [roomInfoForConfig.canonicalAlias ?? \"\", ...roomInfoForConfig.altAliases].filter(\n Boolean,\n )\n : [];\n const roomConfigInfo = isRoom\n ? resolveMatrixRoomConfig({\n rooms: roomsConfig,\n roomId,\n aliases: roomAliasesForConfig,\n })\n : undefined;\n const roomConfig = roomConfigInfo?.config;\n const allowBotsMode = resolveMatrixAllowBotsMode(roomConfig?.allowBots ?? accountAllowBots);\n const isConfiguredBotSender = configuredBotUserIds.has(senderId);\n const roomMatchMeta = roomConfigInfo\n ? `matchKey=${roomConfigInfo.matchKey ?? \"none\"} matchSource=${\n roomConfigInfo.matchSource ?? \"none\"\n }`\n : \"matchKey=none matchSource=none\";\n\n if (isConfiguredBotSender && allowBotsMode === \"off\") {\n logVerboseMessage(\n `matrix: drop configured bot sender=${senderId} (allowBots=false${isDirectMessage ? \"\" : `, ${roomMatchMeta}`})`,\n );\n await commitInboundEventIfClaimed();\n return undefined;\n }\n\n if (isRoom && roomConfig && !roomConfigInfo?.allowed) {\n logVerboseMessage(`matrix: room disabled room=${roomId} (${roomMatchMeta})`);\n await commitInboundEventIfClaimed();\n return undefined;\n }\n if (isRoom && groupPolicy === \"allowlist\") {\n if (!roomConfigInfo?.allowlistConfigured) {\n logVerboseMessage(`matrix: drop room message (no allowlist, ${roomMatchMeta})`);\n await commitInboundEventIfClaimed();\n return undefined;\n }\n if (!roomConfig) {\n logVerboseMessage(`matrix: drop room message (not in allowlist, ${roomMatchMeta})`);\n await commitInboundEventIfClaimed();\n return undefined;\n }\n }\n\n let senderNamePromise: Promise<string> | null = null;\n const getSenderName = async (): Promise<string> => {\n senderNamePromise ??= getMemberDisplayName(roomId, senderId).catch(() => senderId);\n return await senderNamePromise;\n };\n const storeAllowFrom = await readStoreAllowFrom();\n const roomUsers = roomConfig?.users ?? [];\n const accessState = resolveMatrixMonitorAccessState({\n allowFrom,\n storeAllowFrom,\n groupAllowFrom,\n roomUsers,\n senderId,\n isRoom,\n });\n const {\n effectiveGroupAllowFrom,\n effectiveRoomUsers,\n groupAllowConfigured,\n directAllowMatch,\n roomUserMatch,\n groupAllowMatch,\n commandAuthorizers,\n } = accessState;\n\n if (isDirectMessage) {\n if (!dmEnabled || dmPolicy === \"disabled\") {\n await commitInboundEventIfClaimed();\n return undefined;\n }\n if (dmPolicy !== \"open\") {\n const allowMatchMeta = formatAllowlistMatchMeta(directAllowMatch);\n if (!directAllowMatch.allowed) {\n if (!isReactionEvent && dmPolicy === \"pairing\") {\n const senderName = await getSenderName();\n const { code, created } = await core.channel.pairing.upsertPairingRequest({\n channel: \"matrix\",\n id: senderId,\n accountId,\n meta: { name: senderName },\n });\n if (shouldSendPairingReply(senderId, created)) {\n const pairingReply = core.channel.pairing.buildPairingReply({\n channel: \"matrix\",\n idLine: `Your Matrix user id: ${senderId}`,\n code,\n });\n logVerboseMessage(\n created\n ? `matrix pairing request sender=${senderId} name=${senderName ?? \"unknown\"} (${allowMatchMeta})`\n : `matrix pairing reminder sender=${senderId} name=${senderName ?? \"unknown\"} (${allowMatchMeta})`,\n );\n try {\n await sendMessageMatrix(\n `room:${roomId}`,\n created\n ? pairingReply\n : `${pairingReply}\\n\\nPairing request is still pending approval. Reusing existing code.`,\n {\n client,\n cfg,\n accountId,\n },\n );\n await commitInboundEventIfClaimed();\n } catch (err) {\n logVerboseMessage(\n `matrix pairing reply failed for ${senderId}: ${String(err)}`,\n );\n return undefined;\n }\n } else {\n logVerboseMessage(\n `matrix pairing reminder suppressed sender=${senderId} (cooldown)`,\n );\n await commitInboundEventIfClaimed();\n }\n }\n if (isReactionEvent || dmPolicy !== \"pairing\") {\n logVerboseMessage(\n `matrix: blocked ${isReactionEvent ? \"reaction\" : \"dm\"} sender ${senderId} (dmPolicy=${dmPolicy}, ${allowMatchMeta})`,\n );\n await commitInboundEventIfClaimed();\n }\n return undefined;\n }\n }\n }\n\n if (isRoom && roomUserMatch && !roomUserMatch.allowed) {\n logVerboseMessage(\n `matrix: blocked sender ${senderId} (room users allowlist, ${roomMatchMeta}, ${formatAllowlistMatchMeta(\n roomUserMatch,\n )})`,\n );\n await commitInboundEventIfClaimed();\n return undefined;\n }\n if (\n isRoom &&\n groupPolicy === \"allowlist\" &&\n effectiveRoomUsers.length === 0 &&\n groupAllowConfigured &&\n groupAllowMatch &&\n !groupAllowMatch.allowed\n ) {\n logVerboseMessage(\n `matrix: blocked sender ${senderId} (groupAllowFrom, ${roomMatchMeta}, ${formatAllowlistMatchMeta(\n groupAllowMatch,\n )})`,\n );\n await commitInboundEventIfClaimed();\n return undefined;\n }\n if (isRoom) {\n logVerboseMessage(`matrix: allow room ${roomId} (${roomMatchMeta})`);\n }\n\n if (isReactionEvent) {\n const senderName = await getSenderName();\n await handleInboundMatrixReaction({\n client,\n core,\n cfg,\n accountId,\n roomId,\n event,\n senderId,\n senderLabel: senderName,\n selfUserId,\n isDirectMessage,\n logVerboseMessage,\n });\n await commitInboundEventIfClaimed();\n return undefined;\n }\n\n let pollSnapshotPromise: Promise<MatrixPollSnapshot | null> | null = null;\n const getPollSnapshot = async (): Promise<MatrixPollSnapshot | null> => {\n if (!isPollEvent) {\n return null;\n }\n pollSnapshotPromise ??= fetchMatrixPollSnapshot(client, roomId, event).catch((err) => {\n logVerboseMessage(\n `matrix: failed resolving poll snapshot room=${roomId} id=${event.event_id ?? \"unknown\"}: ${String(err)}`,\n );\n return null;\n });\n return await pollSnapshotPromise;\n };\n\n const mentionPrecheckText = resolveMatrixMentionPrecheckText({\n eventType,\n content,\n locationText: locationPayload?.text,\n });\n const contentUrl =\n \"url\" in content && typeof content.url === \"string\" ? content.url : undefined;\n const contentFile =\n \"file\" in content && content.file && typeof content.file === \"object\"\n ? content.file\n : undefined;\n const mediaUrl = contentUrl ?? contentFile?.url;\n const pendingHistoryText = resolveMatrixPendingHistoryText({\n mentionPrecheckText,\n content,\n mediaUrl,\n });\n const pendingHistoryPollText =\n !pendingHistoryText && isPollEvent && historyLimit > 0\n ? (await getPollSnapshot())?.text\n : \"\";\n if (!mentionPrecheckText && !mediaUrl && !isPollEvent) {\n await commitInboundEventIfClaimed();\n return undefined;\n }\n\n const _messageId = event.event_id ?? \"\";\n const _threadRootId = resolveMatrixThreadRootId({ event, content });\n const thread = resolveMatrixThreadRouting({\n isDirectMessage,\n threadReplies,\n dmThreadReplies,\n messageId: _messageId,\n threadRootId: _threadRootId,\n });\n const {\n route: _route,\n configuredBinding: _configuredBinding,\n runtimeBindingId: _runtimeBindingId,\n } = resolveMatrixInboundRoute({\n cfg,\n accountId,\n roomId,\n senderId,\n isDirectMessage,\n dmSessionScope,\n threadId: thread.threadId,\n eventTs: eventTs ?? undefined,\n resolveAgentRoute: core.channel.routing.resolveAgentRoute,\n });\n const hasExplicitSessionBinding = _configuredBinding !== null || _runtimeBindingId !== null;\n const agentMentionRegexes = core.channel.mentions.buildMentionRegexes(cfg, _route.agentId);\n const selfDisplayName = content.formatted_body\n ? await getMemberDisplayName(roomId, selfUserId).catch(() => undefined)\n : undefined;\n const { wasMentioned, hasExplicitMention } = resolveMentions({\n content,\n userId: selfUserId,\n displayName: selfDisplayName,\n text: mentionPrecheckText,\n mentionRegexes: agentMentionRegexes,\n });\n if (\n isConfiguredBotSender &&\n allowBotsMode === \"mentions\" &&\n !isDirectMessage &&\n !wasMentioned\n ) {\n logVerboseMessage(\n `matrix: drop configured bot sender=${senderId} (allowBots=mentions, missing mention, ${roomMatchMeta})`,\n );\n await commitInboundEventIfClaimed();\n return undefined;\n }\n const allowTextCommands = core.channel.commands.shouldHandleTextCommands({\n cfg,\n surface: \"matrix\",\n });\n const useAccessGroups = cfg.commands?.useAccessGroups !== false;\n const hasControlCommandInMessage = core.channel.text.hasControlCommand(\n mentionPrecheckText,\n cfg,\n );\n const commandGate = resolveControlCommandGate({\n useAccessGroups,\n authorizers: commandAuthorizers,\n allowTextCommands,\n hasControlCommand: hasControlCommandInMessage,\n });\n const commandAuthorized = commandGate.commandAuthorized;\n if (isRoom && commandGate.shouldBlock) {\n logInboundDrop({\n log: logVerboseMessage,\n channel: \"matrix\",\n reason: \"control command (unauthorized)\",\n target: senderId,\n });\n await commitInboundEventIfClaimed();\n return undefined;\n }\n const shouldRequireMention = isRoom\n ? roomConfig?.autoReply === true\n ? false\n : roomConfig?.autoReply === false\n ? true\n : typeof roomConfig?.requireMention === \"boolean\"\n ? roomConfig?.requireMention\n : true\n : false;\n const shouldBypassMention =\n allowTextCommands &&\n isRoom &&\n shouldRequireMention &&\n !wasMentioned &&\n !hasExplicitMention &&\n commandAuthorized &&\n hasControlCommandInMessage;\n const canDetectMention = agentMentionRegexes.length > 0 || hasExplicitMention;\n if (isRoom && shouldRequireMention && !wasMentioned && !shouldBypassMention) {\n const pendingHistoryBody = pendingHistoryText || pendingHistoryPollText;\n if (historyLimit > 0 && pendingHistoryBody) {\n const pendingEntry: HistoryEntry = {\n sender: senderId,\n body: pendingHistoryBody,\n timestamp: eventTs ?? undefined,\n messageId: _messageId,\n };\n roomHistoryTracker.recordPending(roomId, pendingEntry);\n }\n logger.info(\"skipping room message\", { roomId, reason: \"no-mention\" });\n await commitInboundEventIfClaimed();\n return undefined;\n }\n\n if (isPollEvent) {\n const pollSnapshot = await getPollSnapshot();\n if (!pollSnapshot) {\n return undefined;\n }\n content = {\n msgtype: \"m.text\",\n body: pollSnapshot.text,\n } as unknown as RoomMessageEventContent;\n }\n\n let media: {\n path: string;\n contentType?: string;\n placeholder: string;\n } | null = null;\n let mediaDownloadFailed = false;\n let mediaSizeLimitExceeded = false;\n const finalContentUrl =\n \"url\" in content && typeof content.url === \"string\" ? content.url : undefined;\n const finalContentFile =\n \"file\" in content && content.file && typeof content.file === \"object\"\n ? content.file\n : undefined;\n const finalMediaUrl = finalContentUrl ?? finalContentFile?.url;\n const contentBody = typeof content.body === \"string\" ? content.body.trim() : \"\";\n const contentFilename = typeof content.filename === \"string\" ? content.filename.trim() : \"\";\n const originalFilename = contentFilename || contentBody || undefined;\n const contentInfo =\n \"info\" in content && content.info && typeof content.info === \"object\"\n ? (content.info as { mimetype?: string; size?: number })\n : undefined;\n const contentType = contentInfo?.mimetype;\n const contentSize = typeof contentInfo?.size === \"number\" ? contentInfo.size : undefined;\n if (finalMediaUrl?.startsWith(\"mxc://\")) {\n try {\n media = await downloadMatrixMedia({\n client,\n mxcUrl: finalMediaUrl,\n contentType,\n sizeBytes: contentSize,\n maxBytes: mediaMaxBytes,\n file: finalContentFile,\n originalFilename,\n });\n } catch (err) {\n mediaDownloadFailed = true;\n if (isMatrixMediaSizeLimitError(err)) {\n mediaSizeLimitExceeded = true;\n }\n const errorText = formatMatrixErrorMessage(err);\n logVerboseMessage(\n `matrix: media download failed room=${roomId} id=${event.event_id ?? \"unknown\"} type=${content.msgtype} error=${errorText}`,\n );\n logger.warn(\"matrix media download failed\", {\n roomId,\n eventId: event.event_id,\n msgtype: content.msgtype,\n encrypted: Boolean(finalContentFile),\n error: errorText,\n });\n }\n }\n\n const rawBody = locationPayload?.text ?? contentBody;\n const bodyText = resolveMatrixInboundBodyText({\n rawBody,\n filename: typeof content.filename === \"string\" ? content.filename : undefined,\n mediaPlaceholder: media?.placeholder,\n msgtype: content.msgtype,\n hadMediaUrl: Boolean(finalMediaUrl),\n mediaDownloadFailed,\n mediaSizeLimitExceeded,\n });\n if (!bodyText) {\n await commitInboundEventIfClaimed();\n return undefined;\n }\n const senderName = await getSenderName();\n if (_configuredBinding) {\n const ensured = await ensureConfiguredAcpBindingReady({\n cfg,\n configuredBinding: _configuredBinding,\n });\n if (!ensured.ok) {\n logInboundDrop({\n log: logVerboseMessage,\n channel: \"matrix\",\n reason: \"configured ACP binding unavailable\",\n target: _configuredBinding.spec.conversationId,\n });\n return undefined;\n }\n }\n if (_runtimeBindingId) {\n getSessionBindingService().touch(_runtimeBindingId, eventTs ?? undefined);\n }\n const preparedTrigger =\n isRoom && historyLimit > 0\n ? roomHistoryTracker.prepareTrigger(_route.agentId, roomId, historyLimit, {\n sender: senderName,\n body: bodyText,\n timestamp: eventTs ?? undefined,\n messageId: _messageId,\n })\n : undefined;\n const inboundHistory = preparedTrigger?.history;\n const triggerSnapshot = preparedTrigger;\n\n return {\n route: _route,\n hasExplicitSessionBinding,\n roomConfig,\n isDirectMessage,\n isRoom,\n shouldRequireMention,\n wasMentioned,\n shouldBypassMention,\n canDetectMention,\n commandAuthorized,\n inboundHistory,\n senderName,\n bodyText,\n media,\n locationPayload,\n messageId: _messageId,\n triggerSnapshot,\n threadRootId: _threadRootId,\n thread,\n effectiveGroupAllowFrom,\n effectiveRoomUsers,\n };\n };\n const ingressResult =\n historyLimit > 0\n ? await runRoomIngress(roomId, async () => {\n const prefix = await readIngressPrefix();\n if (!prefix) {\n return undefined;\n }\n if (prefix.isDirectMessage) {\n return { deferredPrefix: prefix } as const;\n }\n return { ingressResult: await continueIngress(prefix) } as const;\n })\n : undefined;\n const resolvedIngressResult =\n historyLimit > 0\n ? ingressResult?.deferredPrefix\n ? await continueIngress(ingressResult.deferredPrefix)\n : ingressResult?.ingressResult\n : await (async () => {\n const prefix = await readIngressPrefix();\n if (!prefix) {\n return undefined;\n }\n return await continueIngress(prefix);\n })();\n if (!resolvedIngressResult) {\n return;\n }\n\n const {\n route: _route,\n hasExplicitSessionBinding,\n roomConfig,\n isDirectMessage,\n isRoom,\n shouldRequireMention,\n wasMentioned,\n shouldBypassMention,\n canDetectMention,\n commandAuthorized,\n inboundHistory,\n senderName,\n bodyText,\n media,\n locationPayload,\n messageId: _messageId,\n triggerSnapshot,\n threadRootId: _threadRootId,\n thread,\n effectiveGroupAllowFrom,\n effectiveRoomUsers,\n } = resolvedIngressResult;\n\n // Keep the per-room ingress gate focused on ordering-sensitive state updates.\n // Prompt/session enrichment below can run concurrently after the history snapshot is fixed.\n const replyToEventId = resolveMatrixReplyToEventId(event.content as RoomMessageEventContent);\n const threadTarget = thread.threadId;\n const isRoomContextSenderAllowed = (contextSenderId?: string): boolean => {\n if (!isRoom || !contextSenderId) {\n return true;\n }\n if (effectiveRoomUsers.length > 0) {\n return resolveMatrixAllowListMatch({\n allowList: effectiveRoomUsers,\n userId: contextSenderId,\n }).allowed;\n }\n if (groupPolicy === \"allowlist\" && effectiveGroupAllowFrom.length > 0) {\n return resolveMatrixAllowListMatch({\n allowList: effectiveGroupAllowFrom,\n userId: contextSenderId,\n }).allowed;\n }\n return true;\n };\n const shouldIncludeRoomContextSender = (\n kind: \"thread\" | \"quote\" | \"history\",\n contextSenderId?: string,\n ): boolean =>\n evaluateSupplementalContextVisibility({\n mode: contextVisibilityMode,\n kind,\n senderAllowed: isRoomContextSenderAllowed(contextSenderId),\n }).include;\n let threadContext = _threadRootId\n ? await resolveThreadContext({ roomId, threadRootId: _threadRootId })\n : undefined;\n let threadContextBlockedByPolicy = false;\n if (\n threadContext?.senderId &&\n !shouldIncludeRoomContextSender(\"thread\", threadContext.senderId)\n ) {\n logVerboseMessage(`matrix: drop thread root context (mode=${contextVisibilityMode})`);\n threadContextBlockedByPolicy = true;\n threadContext = undefined;\n }\n let replyContext: Awaited<ReturnType<typeof resolveReplyContext>> | undefined;\n if (replyToEventId && replyToEventId === _threadRootId && threadContext?.summary) {\n replyContext = {\n replyToBody: threadContext.summary,\n replyToSender: threadContext.senderLabel,\n replyToSenderId: threadContext.senderId,\n };\n } else if (\n replyToEventId &&\n replyToEventId === _threadRootId &&\n threadContextBlockedByPolicy\n ) {\n replyContext = await resolveReplyContext({ roomId, eventId: replyToEventId });\n } else {\n replyContext = replyToEventId\n ? await resolveReplyContext({ roomId, eventId: replyToEventId })\n : undefined;\n }\n if (\n replyContext?.replyToSenderId &&\n !shouldIncludeRoomContextSender(\"quote\", replyContext.replyToSenderId)\n ) {\n logVerboseMessage(`matrix: drop reply context (mode=${contextVisibilityMode})`);\n replyContext = undefined;\n }\n const roomInfo = isRoom ? await getRoomInfo(roomId) : undefined;\n const roomName = roomInfo?.name;\n const envelopeFrom = isDirectMessage ? senderName : (roomName ?? roomId);\n const textWithId = `${bodyText}\\n[matrix event id: ${_messageId} room: ${roomId}]`;\n const storePath = core.channel.session.resolveStorePath(cfg.session?.store, {\n agentId: _route.agentId,\n });\n const envelopeOptions = core.channel.reply.resolveEnvelopeFormatOptions(cfg);\n const previousTimestamp = core.channel.session.readSessionUpdatedAt({\n storePath,\n sessionKey: _route.sessionKey,\n });\n const sharedDmNoticeSessionKey = threadTarget\n ? _route.mainSessionKey || _route.sessionKey\n : _route.sessionKey;\n const sharedDmContextNotice = isDirectMessage\n ? hasExplicitSessionBinding\n ? null\n : resolveMatrixSharedDmContextNotice({\n storePath,\n sessionKey: sharedDmNoticeSessionKey,\n roomId,\n accountId: _route.accountId,\n dmSessionScope,\n sentRooms: sharedDmContextNoticeRooms,\n logVerboseMessage,\n })\n : null;\n const body = core.channel.reply.formatAgentEnvelope({\n channel: \"Matrix\",\n from: envelopeFrom,\n timestamp: eventTs ?? undefined,\n previousTimestamp,\n envelope: envelopeOptions,\n body: textWithId,\n });\n const groupSystemPrompt = normalizeOptionalString(roomConfig?.systemPrompt);\n const ctxPayload = core.channel.reply.finalizeInboundContext({\n Body: body,\n RawBody: bodyText,\n CommandBody: bodyText,\n InboundHistory: inboundHistory && inboundHistory.length > 0 ? inboundHistory : undefined,\n From: isDirectMessage ? `matrix:${senderId}` : `matrix:channel:${roomId}`,\n To: `room:${roomId}`,\n SessionKey: _route.sessionKey,\n AccountId: _route.accountId,\n ChatType: isDirectMessage ? \"direct\" : \"channel\",\n ConversationLabel: envelopeFrom,\n SenderName: senderName,\n SenderId: senderId,\n SenderUsername: senderId.split(\":\")[0]?.replace(/^@/, \"\"),\n GroupSubject: isRoom ? (roomName ?? roomId) : undefined,\n GroupId: isRoom ? roomId : undefined,\n GroupSystemPrompt: isRoom ? groupSystemPrompt : undefined,\n Provider: \"matrix\" as const,\n Surface: \"matrix\" as const,\n WasMentioned: isRoom ? wasMentioned : undefined,\n MessageSid: _messageId,\n ReplyToId: threadTarget ? undefined : (replyToEventId ?? undefined),\n ReplyToBody: replyContext?.replyToBody,\n ReplyToSender: replyContext?.replyToSender,\n MessageThreadId: threadTarget,\n ThreadStarterBody: threadContext?.threadStarterBody,\n Timestamp: eventTs ?? undefined,\n MediaPath: media?.path,\n MediaType: media?.contentType,\n MediaUrl: media?.path,\n ...locationPayload?.context,\n CommandAuthorized: commandAuthorized,\n CommandSource: \"text\" as const,\n NativeChannelId: roomId,\n NativeDirectUserId: isDirectMessage ? senderId : undefined,\n OriginatingChannel: \"matrix\" as const,\n OriginatingTo: `room:${roomId}`,\n });\n\n await core.channel.session.recordInboundSession({\n storePath,\n sessionKey: ctxPayload.SessionKey ?? _route.sessionKey,\n ctx: ctxPayload,\n updateLastRoute: isDirectMessage\n ? {\n sessionKey: _route.mainSessionKey,\n channel: \"matrix\",\n to: `room:${roomId}`,\n accountId: _route.accountId,\n }\n : undefined,\n onRecordError: (err) => {\n logger.warn(\"failed updating session meta\", {\n error: String(err),\n storePath,\n sessionKey: ctxPayload.SessionKey ?? _route.sessionKey,\n });\n },\n });\n\n if (sharedDmContextNotice && markTrackedRoomIfFirst(sharedDmContextNoticeRooms, roomId)) {\n client\n .sendMessage(roomId, {\n msgtype: \"m.notice\",\n body: sharedDmContextNotice,\n })\n .catch((err) => {\n logVerboseMessage(\n `matrix: failed sending shared DM session notice room=${roomId}: ${String(err)}`,\n );\n });\n }\n\n const preview = bodyText.slice(0, 200).replace(/\\n/g, \"\\\\n\");\n logVerboseMessage(`matrix inbound: room=${roomId} from=${senderId} preview=\"${preview}\"`);\n\n const replyTarget = ctxPayload.To;\n if (!replyTarget) {\n runtime.error?.(\"matrix: missing reply target\");\n return;\n }\n\n const { ackReaction, ackReactionScope: ackScope } = resolveMatrixAckReactionConfig({\n cfg,\n agentId: _route.agentId,\n accountId,\n });\n const shouldAckReaction = () =>\n Boolean(\n ackReaction &&\n core.channel.reactions.shouldAckReaction({\n scope: ackScope,\n isDirect: isDirectMessage,\n isGroup: isRoom,\n isMentionableGroup: isRoom,\n requireMention: shouldRequireMention,\n canDetectMention,\n effectiveWasMentioned: wasMentioned || shouldBypassMention,\n shouldBypassMention,\n }),\n );\n if (shouldAckReaction() && _messageId) {\n reactMatrixMessage(roomId, _messageId, ackReaction, client).catch((err) => {\n logVerboseMessage(`matrix react failed for room ${roomId}: ${String(err)}`);\n });\n }\n\n if (_messageId) {\n sendReadReceiptMatrix(roomId, _messageId, client).catch((err) => {\n logVerboseMessage(\n `matrix: read receipt failed room=${roomId} id=${_messageId}: ${String(err)}`,\n );\n });\n }\n\n const tableMode = core.channel.text.resolveMarkdownTableMode({\n cfg,\n channel: \"matrix\",\n accountId: _route.accountId,\n });\n const mediaLocalRoots = getAgentScopedMediaLocalRoots(cfg, _route.agentId);\n let finalReplyDeliveryFailed = false;\n let nonFinalReplyDeliveryFailed = false;\n const { onModelSelected, ...prefixOptions } = createReplyPrefixOptions({\n cfg,\n agentId: _route.agentId,\n channel: \"matrix\",\n accountId: _route.accountId,\n });\n const typingCallbacks = createTypingCallbacks({\n start: () => sendTypingMatrix(roomId, true, undefined, client),\n stop: () => sendTypingMatrix(roomId, false, undefined, client),\n onStartError: (err) => {\n logTypingFailure({\n log: logVerboseMessage,\n channel: \"matrix\",\n action: \"start\",\n target: roomId,\n error: err,\n });\n },\n onStopError: (err) => {\n logTypingFailure({\n log: logVerboseMessage,\n channel: \"matrix\",\n action: \"stop\",\n target: roomId,\n error: err,\n });\n },\n });\n const draftStreamingEnabled = streaming !== \"off\";\n const quietDraftStreaming = streaming === \"quiet\";\n const draftReplyToId = replyToMode !== \"off\" && !threadTarget ? _messageId : undefined;\n const draftStream = draftStreamingEnabled\n ? createMatrixDraftStream({\n roomId,\n client,\n cfg,\n mode: quietDraftStreaming ? \"quiet\" : \"partial\",\n threadId: threadTarget,\n replyToId: draftReplyToId,\n preserveReplyId: replyToMode === \"all\",\n accountId: _route.accountId,\n log: logVerboseMessage,\n })\n : undefined;\n draftStreamRef = draftStream;\n type PendingDraftBoundary = {\n messageGeneration: number;\n endOffset: number;\n };\n // Track the current draft block start plus any queued block-end offsets\n // inside the model's cumulative partial text so multiple block\n // boundaries can drain in order even when Matrix delivery lags behind.\n let currentDraftMessageGeneration = 0;\n let currentDraftBlockOffset = 0;\n let latestDraftFullText = \"\";\n const pendingDraftBoundaries: PendingDraftBoundary[] = [];\n const latestQueuedDraftBoundaryOffsets = new Map<number, number>();\n let currentDraftReplyToId = draftReplyToId;\n // Set after the first final payload consumes or discards the draft event\n // so subsequent finals go through normal delivery.\n\n const getDisplayableDraftText = () => {\n const nextDraftBoundaryOffset = pendingDraftBoundaries.find(\n (boundary) => boundary.messageGeneration === currentDraftMessageGeneration,\n )?.endOffset;\n if (nextDraftBoundaryOffset === undefined) {\n return latestDraftFullText.slice(currentDraftBlockOffset);\n }\n return latestDraftFullText.slice(currentDraftBlockOffset, nextDraftBoundaryOffset);\n };\n\n const updateDraftFromLatestFullText = () => {\n const blockText = getDisplayableDraftText();\n if (blockText) {\n draftStream?.update(blockText);\n }\n };\n\n const queueDraftBlockBoundary = (payload: ReplyPayload, context?: BlockReplyContext) => {\n const payloadTextLength = payload.text?.length ?? 0;\n const messageGeneration = context?.assistantMessageIndex ?? currentDraftMessageGeneration;\n const lastQueuedDraftBoundaryOffset =\n latestQueuedDraftBoundaryOffsets.get(messageGeneration) ?? 0;\n // Logical block boundaries must follow emitted block text, not whichever\n // later partial preview has already arrived by the time the async\n // boundary callback drains.\n const nextDraftBoundaryOffset = lastQueuedDraftBoundaryOffset + payloadTextLength;\n latestQueuedDraftBoundaryOffsets.set(messageGeneration, nextDraftBoundaryOffset);\n pendingDraftBoundaries.push({\n messageGeneration,\n endOffset: nextDraftBoundaryOffset,\n });\n };\n\n const advanceDraftBlockBoundary = (options?: { fallbackToLatestEnd?: boolean }) => {\n const completedBoundary = pendingDraftBoundaries.shift();\n if (completedBoundary) {\n if (\n !pendingDraftBoundaries.some(\n (entry) => entry.messageGeneration === completedBoundary.messageGeneration,\n )\n ) {\n latestQueuedDraftBoundaryOffsets.delete(completedBoundary.messageGeneration);\n }\n if (completedBoundary.messageGeneration === currentDraftMessageGeneration) {\n currentDraftBlockOffset = completedBoundary.endOffset;\n }\n return;\n }\n if (options?.fallbackToLatestEnd) {\n currentDraftBlockOffset = latestDraftFullText.length;\n }\n };\n\n const resetDraftBlockOffsets = () => {\n currentDraftMessageGeneration += 1;\n currentDraftBlockOffset = 0;\n latestDraftFullText = \"\";\n };\n\n const { dispatcher, replyOptions, markDispatchIdle, markRunComplete } =\n core.channel.reply.createReplyDispatcherWithTyping({\n ...prefixOptions,\n humanDelay: core.channel.reply.resolveHumanDelayConfig(cfg, _route.agentId),\n deliver: async (payload: ReplyPayload, info: { kind: string }) => {\n if (draftStream && info.kind !== \"tool\" && !payload.isCompactionNotice) {\n const hasMedia = Boolean(payload.mediaUrl) || (payload.mediaUrls?.length ?? 0) > 0;\n\n await draftStream.stop();\n const draftEventId = draftStream.eventId();\n\n if (draftConsumed) {\n await deliverMatrixReplies({\n cfg,\n replies: [payload],\n roomId,\n client,\n runtime,\n textLimit,\n replyToMode,\n threadId: threadTarget,\n accountId: _route.accountId,\n mediaLocalRoots,\n tableMode,\n });\n return;\n }\n\n const payloadReplyToId = normalizeOptionalString(payload.replyToId);\n const payloadReplyMismatch =\n replyToMode !== \"off\" &&\n !threadTarget &&\n payloadReplyToId !== currentDraftReplyToId;\n const mustDeliverFinalNormally = draftStream.mustDeliverFinalNormally();\n\n if (\n draftEventId &&\n payload.text &&\n !hasMedia &&\n !payloadReplyMismatch &&\n !mustDeliverFinalNormally\n ) {\n try {\n const requiresFinalEdit =\n quietDraftStreaming || !draftStream.matchesPreparedText(payload.text);\n if (requiresFinalEdit) {\n await editMessageMatrix(roomId, draftEventId, payload.text, {\n client,\n cfg,\n threadId: threadTarget,\n accountId: _route.accountId,\n extraContent: quietDraftStreaming\n ? buildMatrixFinalizedPreviewContent()\n : undefined,\n });\n } else if (!(await draftStream.finalizeLive())) {\n throw new Error(\"Matrix draft live finalize failed\");\n }\n } catch {\n await redactMatrixDraftEvent(client, roomId, draftEventId);\n await deliverMatrixReplies({\n cfg,\n replies: [payload],\n roomId,\n client,\n runtime,\n textLimit,\n replyToMode,\n threadId: threadTarget,\n accountId: _route.accountId,\n mediaLocalRoots,\n tableMode,\n });\n }\n draftConsumed = true;\n } else if (draftEventId && hasMedia && !payloadReplyMismatch) {\n let textEditOk = !mustDeliverFinalNormally;\n const payloadText = payload.text;\n const payloadTextMatchesDraft =\n typeof payloadText === \"string\" && draftStream.matchesPreparedText(payloadText);\n const reusesDraftTextUnchanged =\n typeof payloadText === \"string\" &&\n Boolean(payloadText.trim()) &&\n payloadTextMatchesDraft;\n const requiresFinalTextEdit =\n quietDraftStreaming ||\n (typeof payloadText === \"string\" && !payloadTextMatchesDraft);\n if (textEditOk && payloadText && requiresFinalTextEdit) {\n textEditOk = await editMessageMatrix(roomId, draftEventId, payloadText, {\n client,\n cfg,\n threadId: threadTarget,\n accountId: _route.accountId,\n extraContent: quietDraftStreaming\n ? buildMatrixFinalizedPreviewContent()\n : undefined,\n }).then(\n () => true,\n () => false,\n );\n } else if (textEditOk && reusesDraftTextUnchanged) {\n textEditOk = await draftStream.finalizeLive();\n }\n const reusesDraftAsFinalText = Boolean(payload.text?.trim()) && textEditOk;\n if (!reusesDraftAsFinalText) {\n await redactMatrixDraftEvent(client, roomId, draftEventId);\n }\n await deliverMatrixReplies({\n cfg,\n replies: [\n { ...payload, text: reusesDraftAsFinalText ? undefined : payload.text },\n ],\n roomId,\n client,\n runtime,\n textLimit,\n replyToMode,\n threadId: threadTarget,\n accountId: _route.accountId,\n mediaLocalRoots,\n tableMode,\n });\n draftConsumed = true;\n } else {\n const draftRedacted =\n Boolean(draftEventId) && (payloadReplyMismatch || mustDeliverFinalNormally);\n if (draftRedacted && draftEventId) {\n await redactMatrixDraftEvent(client, roomId, draftEventId);\n }\n const deliveredFallback = await deliverMatrixReplies({\n cfg,\n replies: [payload],\n roomId,\n client,\n runtime,\n textLimit,\n replyToMode,\n threadId: threadTarget,\n accountId: _route.accountId,\n mediaLocalRoots,\n tableMode,\n });\n if (draftRedacted || deliveredFallback) {\n draftConsumed = true;\n }\n }\n\n if (info.kind === \"block\") {\n draftConsumed = false;\n advanceDraftBlockBoundary({ fallbackToLatestEnd: true });\n draftStream.reset();\n currentDraftReplyToId = replyToMode === \"all\" ? draftReplyToId : undefined;\n updateDraftFromLatestFullText();\n\n // Re-assert typing so the user still sees the indicator while\n // the next block generates.\n await sendTypingMatrix(roomId, true, undefined, client).catch(() => {});\n }\n } else {\n await deliverMatrixReplies({\n cfg,\n replies: [payload],\n roomId,\n client,\n runtime,\n textLimit,\n replyToMode,\n threadId: threadTarget,\n accountId: _route.accountId,\n mediaLocalRoots,\n tableMode,\n });\n }\n },\n onError: (err: unknown, info: { kind: \"tool\" | \"block\" | \"final\" }) => {\n if (info.kind === \"final\") {\n finalReplyDeliveryFailed = true;\n } else {\n nonFinalReplyDeliveryFailed = true;\n }\n if (info.kind === \"block\") {\n advanceDraftBlockBoundary({ fallbackToLatestEnd: true });\n }\n runtime.error?.(`matrix ${info.kind} reply failed: ${String(err)}`);\n },\n onReplyStart: typingCallbacks.onReplyStart,\n onIdle: typingCallbacks.onIdle,\n });\n\n const { queuedFinal, counts } = await core.channel.reply.withReplyDispatcher({\n dispatcher,\n onSettled: () => {\n markDispatchIdle();\n },\n run: async () => {\n try {\n return await core.channel.reply.dispatchReplyFromConfig({\n ctx: ctxPayload,\n cfg,\n dispatcher,\n replyOptions: {\n ...replyOptions,\n skillFilter: roomConfig?.skills,\n // Keep block streaming enabled when explicitly requested, even\n // with draft previews on. The draft remains the live preview\n // for the current assistant block, while block deliveries\n // finalize completed blocks into their own preserved events.\n disableBlockStreaming: !blockStreamingEnabled,\n onPartialReply: draftStream\n ? (payload) => {\n latestDraftFullText = payload.text ?? \"\";\n updateDraftFromLatestFullText();\n }\n : undefined,\n onBlockReplyQueued: draftStream\n ? (payload, context) => {\n if (payload.isCompactionNotice === true) {\n return;\n }\n queueDraftBlockBoundary(payload, context);\n }\n : undefined,\n // Reset draft boundary bookkeeping on assistant message\n // boundaries so post-tool blocks stream from a fresh\n // cumulative payload (payload.text resets upstream).\n onAssistantMessageStart: draftStream\n ? () => {\n resetDraftBlockOffsets();\n }\n : undefined,\n onModelSelected,\n },\n });\n } finally {\n markRunComplete();\n }\n },\n });\n if (finalReplyDeliveryFailed) {\n logVerboseMessage(\n `matrix: final reply delivery failed room=${roomId} id=${_messageId}; leaving event uncommitted`,\n );\n // Do not advance watermark \u2014 the event will be retried and should see the same history.\n return;\n }\n if (!queuedFinal && nonFinalReplyDeliveryFailed) {\n logVerboseMessage(\n `matrix: non-final reply delivery failed room=${roomId} id=${_messageId}; leaving event uncommitted`,\n );\n // Do not advance watermark \u2014 the event will be retried.\n return;\n }\n // Advance the per-agent watermark now that the reply succeeded (or no reply was needed).\n // Only advance to the snapshot position \u2014 messages added during async processing remain\n // visible for the next trigger.\n if (isRoom && triggerSnapshot) {\n roomHistoryTracker.consumeHistory(_route.agentId, roomId, triggerSnapshot, _messageId);\n }\n if (!queuedFinal) {\n await commitInboundEventIfClaimed();\n return;\n }\n const finalCount = counts.final;\n logVerboseMessage(\n `matrix: delivered ${finalCount} reply${finalCount === 1 ? \"\" : \"ies\"} to ${replyTarget}`,\n );\n await commitInboundEventIfClaimed();\n } catch (err) {\n runtime.error?.(`matrix handler failed: ${String(err)}`);\n } finally {\n // Stop the draft stream timer so partial drafts don't leak if the\n // model run throws or times out mid-stream.\n if (draftStreamRef) {\n const draftEventId = await draftStreamRef.stop().catch(() => undefined);\n if (draftEventId && !draftConsumed) {\n await redactMatrixDraftEvent(client, roomId, draftEventId);\n }\n }\n if (claimedInboundEvent && inboundDeduper && eventId) {\n inboundDeduper.releaseEvent({ roomId, eventId });\n }\n }\n };\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["locationPayload", "isDirectMessage", "params", "isRoom", "roomConfig", "effectiveGroupAllowFrom", "effectiveRoomUsers", "senderName", "_messageId", "_threadRootId", "thread", "_route", "hasExplicitSessionBinding", "wasMentioned", "commandAuthorized", "shouldRequireMention", "shouldBypassMention", "canDetectMention", "media", "bodyText", "inboundHistory", "triggerSnapshot"]
7
+ }
@@ -0,0 +1,78 @@
1
+ import {
2
+ EventType
3
+ } from "./chunk-E3GC4V5V.js";
4
+ import {
5
+ withResolvedActionClient,
6
+ withResolvedRoomAction
7
+ } from "./chunk-Y6CJN4ID.js";
8
+ import {
9
+ resolveMatrixRoomId
10
+ } from "./chunk-THM2QV25.js";
11
+ import {
12
+ init_shims
13
+ } from "./chunk-7FLQSTPG.js";
14
+
15
+ // src/matrix/actions/room.ts
16
+ init_shims();
17
+ async function getMatrixMemberInfo(userId, opts = {}) {
18
+ return await withResolvedActionClient(opts, async (client) => {
19
+ const roomId = opts.roomId ? await resolveMatrixRoomId(client, opts.roomId) : void 0;
20
+ const profile = await client.getUserProfile(userId);
21
+ return {
22
+ userId,
23
+ profile: {
24
+ displayName: profile?.displayname ?? null,
25
+ avatarUrl: profile?.avatar_url ?? null
26
+ },
27
+ membership: null,
28
+ // Would need separate room state query
29
+ powerLevel: null,
30
+ // Would need separate power levels state query
31
+ displayName: profile?.displayname ?? null,
32
+ roomId: roomId ?? null
33
+ };
34
+ });
35
+ }
36
+ async function getMatrixRoomInfo(roomId, opts = {}) {
37
+ return await withResolvedRoomAction(roomId, opts, async (client, resolvedRoom) => {
38
+ let name = null;
39
+ let topic = null;
40
+ let canonicalAlias = null;
41
+ let memberCount = null;
42
+ try {
43
+ const nameState = await client.getRoomStateEvent(resolvedRoom, "m.room.name", "");
44
+ name = typeof nameState?.name === "string" ? nameState.name : null;
45
+ } catch {
46
+ }
47
+ try {
48
+ const topicState = await client.getRoomStateEvent(resolvedRoom, EventType.RoomTopic, "");
49
+ topic = typeof topicState?.topic === "string" ? topicState.topic : null;
50
+ } catch {
51
+ }
52
+ try {
53
+ const aliasState = await client.getRoomStateEvent(resolvedRoom, "m.room.canonical_alias", "");
54
+ canonicalAlias = typeof aliasState?.alias === "string" ? aliasState.alias : null;
55
+ } catch {
56
+ }
57
+ try {
58
+ const members = await client.getJoinedRoomMembers(resolvedRoom);
59
+ memberCount = members.length;
60
+ } catch {
61
+ }
62
+ return {
63
+ roomId: resolvedRoom,
64
+ name,
65
+ topic,
66
+ canonicalAlias,
67
+ altAliases: [],
68
+ // Would need separate query
69
+ memberCount
70
+ };
71
+ });
72
+ }
73
+
74
+ export {
75
+ getMatrixMemberInfo,
76
+ getMatrixRoomInfo
77
+ };
78
+ //# sourceMappingURL=chunk-U767LCSG.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/matrix/actions/room.ts"],
4
+ "sourcesContent": ["import { resolveMatrixRoomId } from \"../send.js\";\nimport { withResolvedActionClient, withResolvedRoomAction } from \"./client.js\";\nimport { EventType, type MatrixActionClientOpts } from \"./types.js\";\n\nexport async function getMatrixMemberInfo(\n userId: string,\n opts: MatrixActionClientOpts & { roomId?: string } = {},\n) {\n return await withResolvedActionClient(opts, async (client) => {\n const roomId = opts.roomId ? await resolveMatrixRoomId(client, opts.roomId) : undefined;\n const profile = await client.getUserProfile(userId);\n // Membership and power levels are not included in profile calls; fetch state separately if needed.\n return {\n userId,\n profile: {\n displayName: profile?.displayname ?? null,\n avatarUrl: profile?.avatar_url ?? null,\n },\n membership: null, // Would need separate room state query\n powerLevel: null, // Would need separate power levels state query\n displayName: profile?.displayname ?? null,\n roomId: roomId ?? null,\n };\n });\n}\n\nexport async function getMatrixRoomInfo(roomId: string, opts: MatrixActionClientOpts = {}) {\n return await withResolvedRoomAction(roomId, opts, async (client, resolvedRoom) => {\n let name: string | null = null;\n let topic: string | null = null;\n let canonicalAlias: string | null = null;\n let memberCount: number | null = null;\n\n try {\n const nameState = await client.getRoomStateEvent(resolvedRoom, \"m.room.name\", \"\");\n name = typeof nameState?.name === \"string\" ? nameState.name : null;\n } catch {\n // ignore\n }\n\n try {\n const topicState = await client.getRoomStateEvent(resolvedRoom, EventType.RoomTopic, \"\");\n topic = typeof topicState?.topic === \"string\" ? topicState.topic : null;\n } catch {\n // ignore\n }\n\n try {\n const aliasState = await client.getRoomStateEvent(resolvedRoom, \"m.room.canonical_alias\", \"\");\n canonicalAlias = typeof aliasState?.alias === \"string\" ? aliasState.alias : null;\n } catch {\n // ignore\n }\n\n try {\n const members = await client.getJoinedRoomMembers(resolvedRoom);\n memberCount = members.length;\n } catch {\n // ignore\n }\n\n return {\n roomId: resolvedRoom,\n name,\n topic,\n canonicalAlias,\n altAliases: [], // Would need separate query\n memberCount,\n };\n });\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAIA,eAAsB,oBACpB,QACA,OAAqD,CAAC,GACtD;AACA,SAAO,MAAM,yBAAyB,MAAM,OAAO,WAAW;AAC5D,UAAM,SAAS,KAAK,SAAS,MAAM,oBAAoB,QAAQ,KAAK,MAAM,IAAI;AAC9E,UAAM,UAAU,MAAM,OAAO,eAAe,MAAM;AAElD,WAAO;AAAA,MACL;AAAA,MACA,SAAS;AAAA,QACP,aAAa,SAAS,eAAe;AAAA,QACrC,WAAW,SAAS,cAAc;AAAA,MACpC;AAAA,MACA,YAAY;AAAA;AAAA,MACZ,YAAY;AAAA;AAAA,MACZ,aAAa,SAAS,eAAe;AAAA,MACrC,QAAQ,UAAU;AAAA,IACpB;AAAA,EACF,CAAC;AACH;AAEA,eAAsB,kBAAkB,QAAgB,OAA+B,CAAC,GAAG;AACzF,SAAO,MAAM,uBAAuB,QAAQ,MAAM,OAAO,QAAQ,iBAAiB;AAChF,QAAI,OAAsB;AAC1B,QAAI,QAAuB;AAC3B,QAAI,iBAAgC;AACpC,QAAI,cAA6B;AAEjC,QAAI;AACF,YAAM,YAAY,MAAM,OAAO,kBAAkB,cAAc,eAAe,EAAE;AAChF,aAAO,OAAO,WAAW,SAAS,WAAW,UAAU,OAAO;AAAA,IAChE,QAAQ;AAAA,IAER;AAEA,QAAI;AACF,YAAM,aAAa,MAAM,OAAO,kBAAkB,cAAc,UAAU,WAAW,EAAE;AACvF,cAAQ,OAAO,YAAY,UAAU,WAAW,WAAW,QAAQ;AAAA,IACrE,QAAQ;AAAA,IAER;AAEA,QAAI;AACF,YAAM,aAAa,MAAM,OAAO,kBAAkB,cAAc,0BAA0B,EAAE;AAC5F,uBAAiB,OAAO,YAAY,UAAU,WAAW,WAAW,QAAQ;AAAA,IAC9E,QAAQ;AAAA,IAER;AAEA,QAAI;AACF,YAAM,UAAU,MAAM,OAAO,qBAAqB,YAAY;AAC9D,oBAAc,QAAQ;AAAA,IACxB,QAAQ;AAAA,IAER;AAEA,WAAO;AAAA,MACL,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY,CAAC;AAAA;AAAA,MACb;AAAA,IACF;AAAA,EACF,CAAC;AACH;",
6
+ "names": []
7
+ }
@@ -0,0 +1,120 @@
1
+ import {
2
+ init_shims
3
+ } from "./chunk-7FLQSTPG.js";
4
+
5
+ // src/matrix/sdk/crypto-facade.ts
6
+ init_shims();
7
+ var matrixCryptoNodeRuntimePromise = null;
8
+ async function loadMatrixCryptoNodeRuntime() {
9
+ matrixCryptoNodeRuntimePromise ??= import("./src/matrix/sdk/crypto-node.runtime.js");
10
+ return await matrixCryptoNodeRuntimePromise;
11
+ }
12
+ function createMatrixCryptoFacade(deps) {
13
+ return {
14
+ prepare: async (_joinedRooms) => {
15
+ },
16
+ updateSyncData: async (_toDeviceMessages, _otkCounts, _unusedFallbackKeyAlgs, _changedDeviceLists, _leftDeviceLists) => {
17
+ },
18
+ isRoomEncrypted: async (roomId) => {
19
+ const room = deps.client.getRoom(roomId);
20
+ if (room?.hasEncryptionStateEvent()) {
21
+ return true;
22
+ }
23
+ try {
24
+ const event = await deps.getRoomStateEvent(roomId, "m.room.encryption", "");
25
+ return typeof event.algorithm === "string" && event.algorithm.length > 0;
26
+ } catch {
27
+ return false;
28
+ }
29
+ },
30
+ requestOwnUserVerification: async () => {
31
+ const crypto = deps.client.getCrypto();
32
+ return await deps.verificationManager.requestOwnUserVerification(crypto);
33
+ },
34
+ encryptMedia: async (buffer) => {
35
+ const { Attachment } = await loadMatrixCryptoNodeRuntime();
36
+ const encrypted = Attachment.encrypt(new Uint8Array(buffer));
37
+ const mediaInfoJson = encrypted.mediaEncryptionInfo;
38
+ if (!mediaInfoJson) {
39
+ throw new Error("Matrix media encryption failed: missing media encryption info");
40
+ }
41
+ const parsed = JSON.parse(mediaInfoJson);
42
+ return {
43
+ buffer: Buffer.from(encrypted.encryptedData),
44
+ file: {
45
+ key: parsed.key,
46
+ iv: parsed.iv,
47
+ hashes: parsed.hashes,
48
+ v: parsed.v
49
+ }
50
+ };
51
+ },
52
+ decryptMedia: async (file, opts) => {
53
+ const { Attachment, EncryptedAttachment } = await loadMatrixCryptoNodeRuntime();
54
+ const encrypted = await deps.downloadContent(file.url, opts);
55
+ const metadata = {
56
+ url: file.url,
57
+ key: file.key,
58
+ iv: file.iv,
59
+ hashes: file.hashes,
60
+ v: file.v
61
+ };
62
+ const attachment = new EncryptedAttachment(
63
+ new Uint8Array(encrypted),
64
+ JSON.stringify(metadata)
65
+ );
66
+ const decrypted = Attachment.decrypt(attachment);
67
+ return Buffer.from(decrypted);
68
+ },
69
+ getRecoveryKey: async () => {
70
+ return deps.recoveryKeyStore.getRecoveryKeySummary();
71
+ },
72
+ listVerifications: async () => {
73
+ return deps.verificationManager.listVerifications();
74
+ },
75
+ ensureVerificationDmTracked: async ({ roomId, userId }) => {
76
+ const crypto = deps.client.getCrypto();
77
+ const request = typeof crypto?.findVerificationRequestDMInProgress === "function" ? crypto.findVerificationRequestDMInProgress(roomId, userId) : void 0;
78
+ if (!request) {
79
+ return null;
80
+ }
81
+ return deps.verificationManager.trackVerificationRequest(request);
82
+ },
83
+ requestVerification: async (params) => {
84
+ const crypto = deps.client.getCrypto();
85
+ return await deps.verificationManager.requestVerification(crypto, params);
86
+ },
87
+ acceptVerification: async (id) => {
88
+ return await deps.verificationManager.acceptVerification(id);
89
+ },
90
+ cancelVerification: async (id, params) => {
91
+ return await deps.verificationManager.cancelVerification(id, params);
92
+ },
93
+ startVerification: async (id, method = "sas") => {
94
+ return await deps.verificationManager.startVerification(id, method);
95
+ },
96
+ generateVerificationQr: async (id) => {
97
+ return await deps.verificationManager.generateVerificationQr(id);
98
+ },
99
+ scanVerificationQr: async (id, qrDataBase64) => {
100
+ return await deps.verificationManager.scanVerificationQr(id, qrDataBase64);
101
+ },
102
+ confirmVerificationSas: async (id) => {
103
+ return await deps.verificationManager.confirmVerificationSas(id);
104
+ },
105
+ mismatchVerificationSas: async (id) => {
106
+ return deps.verificationManager.mismatchVerificationSas(id);
107
+ },
108
+ confirmVerificationReciprocateQr: async (id) => {
109
+ return deps.verificationManager.confirmVerificationReciprocateQr(id);
110
+ },
111
+ getVerificationSas: async (id) => {
112
+ return deps.verificationManager.getVerificationSas(id);
113
+ }
114
+ };
115
+ }
116
+
117
+ export {
118
+ createMatrixCryptoFacade
119
+ };
120
+ //# sourceMappingURL=chunk-U7GKLHU6.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/matrix/sdk/crypto-facade.ts"],
4
+ "sourcesContent": ["import type { MatrixRecoveryKeyStore } from \"./recovery-key-store.js\";\nimport type { EncryptedFile } from \"./types.js\";\nimport type {\n MatrixVerificationCryptoApi,\n MatrixVerificationManager,\n MatrixVerificationMethod,\n MatrixVerificationSummary,\n} from \"./verification-manager.js\";\n\ntype MatrixCryptoFacadeClient = {\n getRoom: (roomId: string) => { hasEncryptionStateEvent: () => boolean } | null;\n getCrypto: () => unknown;\n};\n\nexport type MatrixCryptoFacade = {\n prepare: (joinedRooms: string[]) => Promise<void>;\n updateSyncData: (\n toDeviceMessages: unknown,\n otkCounts: unknown,\n unusedFallbackKeyAlgs: unknown,\n changedDeviceLists: unknown,\n leftDeviceLists: unknown,\n ) => Promise<void>;\n isRoomEncrypted: (roomId: string) => Promise<boolean>;\n requestOwnUserVerification: () => Promise<MatrixVerificationSummary | null>;\n encryptMedia: (buffer: Buffer) => Promise<{ buffer: Buffer; file: Omit<EncryptedFile, \"url\"> }>;\n decryptMedia: (\n file: EncryptedFile,\n opts?: { maxBytes?: number; readIdleTimeoutMs?: number },\n ) => Promise<Buffer>;\n getRecoveryKey: () => Promise<{\n encodedPrivateKey?: string;\n keyId?: string | null;\n createdAt?: string;\n } | null>;\n listVerifications: () => Promise<MatrixVerificationSummary[]>;\n ensureVerificationDmTracked: (params: {\n roomId: string;\n userId: string;\n }) => Promise<MatrixVerificationSummary | null>;\n requestVerification: (params: {\n ownUser?: boolean;\n userId?: string;\n deviceId?: string;\n roomId?: string;\n }) => Promise<MatrixVerificationSummary>;\n acceptVerification: (id: string) => Promise<MatrixVerificationSummary>;\n cancelVerification: (\n id: string,\n params?: { reason?: string; code?: string },\n ) => Promise<MatrixVerificationSummary>;\n startVerification: (\n id: string,\n method?: MatrixVerificationMethod,\n ) => Promise<MatrixVerificationSummary>;\n generateVerificationQr: (id: string) => Promise<{ qrDataBase64: string }>;\n scanVerificationQr: (id: string, qrDataBase64: string) => Promise<MatrixVerificationSummary>;\n confirmVerificationSas: (id: string) => Promise<MatrixVerificationSummary>;\n mismatchVerificationSas: (id: string) => Promise<MatrixVerificationSummary>;\n confirmVerificationReciprocateQr: (id: string) => Promise<MatrixVerificationSummary>;\n getVerificationSas: (\n id: string,\n ) => Promise<{ decimal?: [number, number, number]; emoji?: Array<[string, string]> }>;\n};\n\ntype MatrixCryptoNodeRuntime = typeof import(\"./crypto-node.runtime.js\");\nlet matrixCryptoNodeRuntimePromise: Promise<MatrixCryptoNodeRuntime> | null = null;\n\nasync function loadMatrixCryptoNodeRuntime(): Promise<MatrixCryptoNodeRuntime> {\n // Keep the native crypto package out of the main CLI startup graph.\n matrixCryptoNodeRuntimePromise ??= import(\"./crypto-node.runtime.js\");\n return await matrixCryptoNodeRuntimePromise;\n}\n\nexport function createMatrixCryptoFacade(deps: {\n client: MatrixCryptoFacadeClient;\n verificationManager: MatrixVerificationManager;\n recoveryKeyStore: MatrixRecoveryKeyStore;\n getRoomStateEvent: (\n roomId: string,\n eventType: string,\n stateKey?: string,\n ) => Promise<Record<string, unknown>>;\n downloadContent: (\n mxcUrl: string,\n opts?: { maxBytes?: number; readIdleTimeoutMs?: number },\n ) => Promise<Buffer>;\n}): MatrixCryptoFacade {\n return {\n prepare: async (_joinedRooms: string[]) => {\n // matrix-js-sdk performs crypto prep during startup; no extra work required here.\n },\n updateSyncData: async (\n _toDeviceMessages: unknown,\n _otkCounts: unknown,\n _unusedFallbackKeyAlgs: unknown,\n _changedDeviceLists: unknown,\n _leftDeviceLists: unknown,\n ) => {\n // compatibility no-op\n },\n isRoomEncrypted: async (roomId: string): Promise<boolean> => {\n const room = deps.client.getRoom(roomId);\n if (room?.hasEncryptionStateEvent()) {\n return true;\n }\n try {\n const event = await deps.getRoomStateEvent(roomId, \"m.room.encryption\", \"\");\n return typeof event.algorithm === \"string\" && event.algorithm.length > 0;\n } catch {\n return false;\n }\n },\n requestOwnUserVerification: async () => {\n const crypto = deps.client.getCrypto() as MatrixVerificationCryptoApi | undefined;\n return await deps.verificationManager.requestOwnUserVerification(crypto);\n },\n encryptMedia: async (\n buffer: Buffer,\n ): Promise<{ buffer: Buffer; file: Omit<EncryptedFile, \"url\"> }> => {\n const { Attachment } = await loadMatrixCryptoNodeRuntime();\n const encrypted = Attachment.encrypt(new Uint8Array(buffer));\n const mediaInfoJson = encrypted.mediaEncryptionInfo;\n if (!mediaInfoJson) {\n throw new Error(\"Matrix media encryption failed: missing media encryption info\");\n }\n const parsed = JSON.parse(mediaInfoJson) as EncryptedFile;\n return {\n buffer: Buffer.from(encrypted.encryptedData),\n file: {\n key: parsed.key,\n iv: parsed.iv,\n hashes: parsed.hashes,\n v: parsed.v,\n },\n };\n },\n decryptMedia: async (\n file: EncryptedFile,\n opts?: { maxBytes?: number; readIdleTimeoutMs?: number },\n ): Promise<Buffer> => {\n const { Attachment, EncryptedAttachment } = await loadMatrixCryptoNodeRuntime();\n const encrypted = await deps.downloadContent(file.url, opts);\n const metadata: EncryptedFile = {\n url: file.url,\n key: file.key,\n iv: file.iv,\n hashes: file.hashes,\n v: file.v,\n };\n const attachment = new EncryptedAttachment(\n new Uint8Array(encrypted),\n JSON.stringify(metadata),\n );\n const decrypted = Attachment.decrypt(attachment);\n return Buffer.from(decrypted);\n },\n getRecoveryKey: async () => {\n return deps.recoveryKeyStore.getRecoveryKeySummary();\n },\n listVerifications: async () => {\n return deps.verificationManager.listVerifications();\n },\n ensureVerificationDmTracked: async ({ roomId, userId }) => {\n const crypto = deps.client.getCrypto() as MatrixVerificationCryptoApi | undefined;\n const request =\n typeof crypto?.findVerificationRequestDMInProgress === \"function\"\n ? crypto.findVerificationRequestDMInProgress(roomId, userId)\n : undefined;\n if (!request) {\n return null;\n }\n return deps.verificationManager.trackVerificationRequest(request);\n },\n requestVerification: async (params) => {\n const crypto = deps.client.getCrypto() as MatrixVerificationCryptoApi | undefined;\n return await deps.verificationManager.requestVerification(crypto, params);\n },\n acceptVerification: async (id) => {\n return await deps.verificationManager.acceptVerification(id);\n },\n cancelVerification: async (id, params) => {\n return await deps.verificationManager.cancelVerification(id, params);\n },\n startVerification: async (id, method = \"sas\") => {\n return await deps.verificationManager.startVerification(id, method);\n },\n generateVerificationQr: async (id) => {\n return await deps.verificationManager.generateVerificationQr(id);\n },\n scanVerificationQr: async (id, qrDataBase64) => {\n return await deps.verificationManager.scanVerificationQr(id, qrDataBase64);\n },\n confirmVerificationSas: async (id) => {\n return await deps.verificationManager.confirmVerificationSas(id);\n },\n mismatchVerificationSas: async (id) => {\n return deps.verificationManager.mismatchVerificationSas(id);\n },\n confirmVerificationReciprocateQr: async (id) => {\n return deps.verificationManager.confirmVerificationReciprocateQr(id);\n },\n getVerificationSas: async (id) => {\n return deps.verificationManager.getVerificationSas(id);\n },\n };\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,60 @@
1
+ import {
2
+ RelationType
3
+ } from "./chunk-GLLRCKKE.js";
4
+ import {
5
+ init_shims
6
+ } from "./chunk-7FLQSTPG.js";
7
+
8
+ // src/matrix/monitor/threads.ts
9
+ init_shims();
10
+ import { resolveThreadSessionKeys } from "openclaw/plugin-sdk/routing";
11
+ function resolveMatrixThreadSessionKeys(params) {
12
+ return resolveThreadSessionKeys({
13
+ ...params,
14
+ // Matrix event IDs are opaque and case-sensitive; keep the exact thread root.
15
+ normalizeThreadId: (threadId) => threadId
16
+ });
17
+ }
18
+ function resolveMatrixRelatedReplyToEventId(relates) {
19
+ if (!relates || typeof relates !== "object") {
20
+ return void 0;
21
+ }
22
+ if ("m.in_reply_to" in relates && typeof relates["m.in_reply_to"] === "object" && relates["m.in_reply_to"] && "event_id" in relates["m.in_reply_to"] && typeof relates["m.in_reply_to"].event_id === "string") {
23
+ return relates["m.in_reply_to"].event_id;
24
+ }
25
+ return void 0;
26
+ }
27
+ function resolveMatrixThreadRouting(params) {
28
+ const effectiveThreadReplies = params.isDirectMessage && params.dmThreadReplies !== void 0 ? params.dmThreadReplies : params.threadReplies;
29
+ const messageId = params.messageId.trim();
30
+ const threadRootId = params.threadRootId?.trim();
31
+ const inboundThreadId = threadRootId && threadRootId !== messageId ? threadRootId : void 0;
32
+ const threadId = effectiveThreadReplies === "off" ? void 0 : effectiveThreadReplies === "inbound" ? inboundThreadId : inboundThreadId ?? (messageId || void 0);
33
+ return {
34
+ threadId
35
+ };
36
+ }
37
+ function resolveMatrixThreadRootId(params) {
38
+ const relates = params.content["m.relates_to"];
39
+ if (!relates || typeof relates !== "object") {
40
+ return void 0;
41
+ }
42
+ if ("rel_type" in relates && relates.rel_type === RelationType.Thread) {
43
+ if ("event_id" in relates && typeof relates.event_id === "string") {
44
+ return relates.event_id;
45
+ }
46
+ return resolveMatrixRelatedReplyToEventId(relates);
47
+ }
48
+ return void 0;
49
+ }
50
+ function resolveMatrixReplyToEventId(content) {
51
+ return resolveMatrixRelatedReplyToEventId(content["m.relates_to"]);
52
+ }
53
+
54
+ export {
55
+ resolveMatrixThreadSessionKeys,
56
+ resolveMatrixThreadRouting,
57
+ resolveMatrixThreadRootId,
58
+ resolveMatrixReplyToEventId
59
+ };
60
+ //# sourceMappingURL=chunk-UAB5P5QO.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/matrix/monitor/threads.ts"],
4
+ "sourcesContent": ["import { resolveThreadSessionKeys } from \"openclaw/plugin-sdk/routing\";\nimport type { MatrixRawEvent, RoomMessageEventContent } from \"./types.js\";\nimport { RelationType } from \"./types.js\";\n\nexport type MatrixThreadReplies = \"off\" | \"inbound\" | \"always\";\n\nexport type MatrixThreadRouting = {\n threadId?: string;\n};\n\nexport function resolveMatrixThreadSessionKeys(params: {\n baseSessionKey: string;\n threadId?: string | null;\n parentSessionKey?: string;\n useSuffix?: boolean;\n}): { sessionKey: string; parentSessionKey?: string } {\n return resolveThreadSessionKeys({\n ...params,\n // Matrix event IDs are opaque and case-sensitive; keep the exact thread root.\n normalizeThreadId: (threadId) => threadId,\n });\n}\n\nfunction resolveMatrixRelatedReplyToEventId(relates: unknown): string | undefined {\n if (!relates || typeof relates !== \"object\") {\n return undefined;\n }\n if (\n \"m.in_reply_to\" in relates &&\n typeof relates[\"m.in_reply_to\"] === \"object\" &&\n relates[\"m.in_reply_to\"] &&\n \"event_id\" in relates[\"m.in_reply_to\"] &&\n typeof relates[\"m.in_reply_to\"].event_id === \"string\"\n ) {\n return relates[\"m.in_reply_to\"].event_id;\n }\n return undefined;\n}\n\nexport function resolveMatrixThreadRouting(params: {\n isDirectMessage: boolean;\n threadReplies: MatrixThreadReplies;\n dmThreadReplies?: MatrixThreadReplies;\n messageId: string;\n threadRootId?: string;\n}): MatrixThreadRouting {\n const effectiveThreadReplies =\n params.isDirectMessage && params.dmThreadReplies !== undefined\n ? params.dmThreadReplies\n : params.threadReplies;\n const messageId = params.messageId.trim();\n const threadRootId = params.threadRootId?.trim();\n const inboundThreadId = threadRootId && threadRootId !== messageId ? threadRootId : undefined;\n const threadId =\n effectiveThreadReplies === \"off\"\n ? undefined\n : effectiveThreadReplies === \"inbound\"\n ? inboundThreadId\n : (inboundThreadId ?? (messageId || undefined));\n\n return {\n threadId,\n };\n}\n\nexport function resolveMatrixThreadRootId(params: {\n event: MatrixRawEvent;\n content: RoomMessageEventContent;\n}): string | undefined {\n const relates = params.content[\"m.relates_to\"];\n if (!relates || typeof relates !== \"object\") {\n return undefined;\n }\n if (\"rel_type\" in relates && relates.rel_type === RelationType.Thread) {\n if (\"event_id\" in relates && typeof relates.event_id === \"string\") {\n return relates.event_id;\n }\n return resolveMatrixRelatedReplyToEventId(relates);\n }\n return undefined;\n}\n\nexport function resolveMatrixReplyToEventId(content: RoomMessageEventContent): string | undefined {\n return resolveMatrixRelatedReplyToEventId(content[\"m.relates_to\"]);\n}\n"],
5
+ "mappings": ";;;;;;;;AAAA;AAAA,SAAS,gCAAgC;AAUlC,SAAS,+BAA+B,QAKO;AACpD,SAAO,yBAAyB;AAAA,IAC9B,GAAG;AAAA;AAAA,IAEH,mBAAmB,CAAC,aAAa;AAAA,EACnC,CAAC;AACH;AAEA,SAAS,mCAAmC,SAAsC;AAChF,MAAI,CAAC,WAAW,OAAO,YAAY,UAAU;AAC3C,WAAO;AAAA,EACT;AACA,MACE,mBAAmB,WACnB,OAAO,QAAQ,eAAe,MAAM,YACpC,QAAQ,eAAe,KACvB,cAAc,QAAQ,eAAe,KACrC,OAAO,QAAQ,eAAe,EAAE,aAAa,UAC7C;AACA,WAAO,QAAQ,eAAe,EAAE;AAAA,EAClC;AACA,SAAO;AACT;AAEO,SAAS,2BAA2B,QAMnB;AACtB,QAAM,yBACJ,OAAO,mBAAmB,OAAO,oBAAoB,SACjD,OAAO,kBACP,OAAO;AACb,QAAM,YAAY,OAAO,UAAU,KAAK;AACxC,QAAM,eAAe,OAAO,cAAc,KAAK;AAC/C,QAAM,kBAAkB,gBAAgB,iBAAiB,YAAY,eAAe;AACpF,QAAM,WACJ,2BAA2B,QACvB,SACA,2BAA2B,YACzB,kBACC,oBAAoB,aAAa;AAE1C,SAAO;AAAA,IACL;AAAA,EACF;AACF;AAEO,SAAS,0BAA0B,QAGnB;AACrB,QAAM,UAAU,OAAO,QAAQ,cAAc;AAC7C,MAAI,CAAC,WAAW,OAAO,YAAY,UAAU;AAC3C,WAAO;AAAA,EACT;AACA,MAAI,cAAc,WAAW,QAAQ,aAAa,aAAa,QAAQ;AACrE,QAAI,cAAc,WAAW,OAAO,QAAQ,aAAa,UAAU;AACjE,aAAO,QAAQ;AAAA,IACjB;AACA,WAAO,mCAAmC,OAAO;AAAA,EACnD;AACA,SAAO;AACT;AAEO,SAAS,4BAA4B,SAAsD;AAChG,SAAO,mCAAmC,QAAQ,cAAc,CAAC;AACnE;",
6
+ "names": []
7
+ }
@@ -0,0 +1,82 @@
1
+ import {
2
+ init_shims
3
+ } from "./chunk-G4TIS2SC.js";
4
+
5
+ // src/storage-paths.ts
6
+ init_shims();
7
+ import crypto from "node:crypto";
8
+ import path from "node:path";
9
+ import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-id";
10
+ import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/text-runtime";
11
+ function sanitizeMatrixPathSegment(value) {
12
+ const cleaned = normalizeLowercaseStringOrEmpty(value).replace(/[^a-z0-9._-]+/g, "_").replace(/^_+|_+$/g, "");
13
+ return cleaned || "unknown";
14
+ }
15
+ function resolveMatrixHomeserverKey(homeserver) {
16
+ try {
17
+ const url = new URL(homeserver);
18
+ if (url.host) {
19
+ return sanitizeMatrixPathSegment(url.host);
20
+ }
21
+ } catch {
22
+ }
23
+ return sanitizeMatrixPathSegment(homeserver);
24
+ }
25
+ function hashMatrixAccessToken(accessToken) {
26
+ return crypto.createHash("sha256").update(accessToken).digest("hex").slice(0, 16);
27
+ }
28
+ function resolveMatrixCredentialsFilename(accountId) {
29
+ const normalized = normalizeAccountId(accountId);
30
+ return normalized === DEFAULT_ACCOUNT_ID ? "credentials.json" : `credentials-${normalized}.json`;
31
+ }
32
+ function resolveMatrixCredentialsDir(stateDir) {
33
+ return path.join(stateDir, "credentials", "lobi");
34
+ }
35
+ function resolveMatrixCredentialsPath(params) {
36
+ return path.join(
37
+ resolveMatrixCredentialsDir(params.stateDir),
38
+ resolveMatrixCredentialsFilename(params.accountId)
39
+ );
40
+ }
41
+ function resolveMatrixLegacyFlatStoreRoot(stateDir) {
42
+ return path.join(stateDir, "lobi");
43
+ }
44
+ function resolveMatrixLegacyFlatStoragePaths(stateDir) {
45
+ const rootDir = resolveMatrixLegacyFlatStoreRoot(stateDir);
46
+ return {
47
+ rootDir,
48
+ storagePath: path.join(rootDir, "bot-storage.json"),
49
+ cryptoPath: path.join(rootDir, "crypto")
50
+ };
51
+ }
52
+ function resolveMatrixAccountStorageRoot(params) {
53
+ const accountKey = sanitizeMatrixPathSegment(params.accountId ?? DEFAULT_ACCOUNT_ID);
54
+ const userKey = sanitizeMatrixPathSegment(params.userId);
55
+ const serverKey = resolveMatrixHomeserverKey(params.homeserver);
56
+ const tokenHash = hashMatrixAccessToken(params.accessToken);
57
+ return {
58
+ rootDir: path.join(
59
+ params.stateDir,
60
+ "lobi",
61
+ "accounts",
62
+ accountKey,
63
+ `${serverKey}__${userKey}`,
64
+ tokenHash
65
+ ),
66
+ accountKey,
67
+ tokenHash
68
+ };
69
+ }
70
+
71
+ export {
72
+ sanitizeMatrixPathSegment,
73
+ resolveMatrixHomeserverKey,
74
+ hashMatrixAccessToken,
75
+ resolveMatrixCredentialsFilename,
76
+ resolveMatrixCredentialsDir,
77
+ resolveMatrixCredentialsPath,
78
+ resolveMatrixLegacyFlatStoreRoot,
79
+ resolveMatrixLegacyFlatStoragePaths,
80
+ resolveMatrixAccountStorageRoot
81
+ };
82
+ //# sourceMappingURL=chunk-UDDWLWKZ.js.map