@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
+ getMatrixRuntime
3
+ } from "./chunk-FHNEN6IR.js";
4
+ import {
5
+ init_shims
6
+ } from "./chunk-7FLQSTPG.js";
7
+
8
+ // src/matrix/monitor/auto-join.ts
9
+ init_shims();
10
+ import { normalizeStringifiedOptionalString } from "openclaw/plugin-sdk/text-runtime";
11
+ function registerMatrixAutoJoin(params) {
12
+ const { client, accountConfig, runtime } = params;
13
+ const core = getMatrixRuntime();
14
+ const logVerbose = (message) => {
15
+ if (!core.logging.shouldLogVerbose()) {
16
+ return;
17
+ }
18
+ runtime.log?.(message);
19
+ };
20
+ const autoJoin = accountConfig.autoJoin ?? "off";
21
+ const rawAllowlist = (accountConfig.autoJoinAllowlist ?? []).map((entry) => normalizeStringifiedOptionalString(entry)).filter((entry) => Boolean(entry));
22
+ const autoJoinAllowlist = new Set(rawAllowlist);
23
+ const allowedRoomIds = new Set(rawAllowlist.filter((entry) => entry.startsWith("!")));
24
+ const allowedAliases = rawAllowlist.filter((entry) => entry.startsWith("#"));
25
+ const resolvedAliasRoomIds = /* @__PURE__ */ new Map();
26
+ if (autoJoin === "off") {
27
+ return;
28
+ }
29
+ if (autoJoin === "always") {
30
+ logVerbose("matrix: auto-join enabled for all invites");
31
+ } else {
32
+ logVerbose("matrix: auto-join enabled for allowlist invites");
33
+ }
34
+ const resolveAllowedAliasRoomId = async (alias) => {
35
+ if (resolvedAliasRoomIds.has(alias)) {
36
+ return resolvedAliasRoomIds.get(alias) ?? null;
37
+ }
38
+ const resolved = await params.client.resolveRoom(alias);
39
+ if (resolved) {
40
+ resolvedAliasRoomIds.set(alias, resolved);
41
+ }
42
+ return resolved;
43
+ };
44
+ const resolveAllowedAliasRoomIds = async () => {
45
+ const resolved = await Promise.all(
46
+ allowedAliases.map(async (alias) => {
47
+ try {
48
+ return await resolveAllowedAliasRoomId(alias);
49
+ } catch (err) {
50
+ runtime.error?.(`matrix: failed resolving allowlisted alias ${alias}: ${String(err)}`);
51
+ return null;
52
+ }
53
+ })
54
+ );
55
+ return resolved.filter((roomId) => Boolean(roomId));
56
+ };
57
+ client.on("room.invite", async (roomId, _inviteEvent) => {
58
+ if (autoJoin === "allowlist") {
59
+ const allowedAliasRoomIds = await resolveAllowedAliasRoomIds();
60
+ const allowed = autoJoinAllowlist.has("*") || allowedRoomIds.has(roomId) || allowedAliasRoomIds.some((resolvedRoomId) => resolvedRoomId === roomId);
61
+ if (!allowed) {
62
+ logVerbose(`matrix: invite ignored (not in allowlist) room=${roomId}`);
63
+ return;
64
+ }
65
+ }
66
+ try {
67
+ await client.joinRoom(roomId);
68
+ logVerbose(`matrix: joined room ${roomId}`);
69
+ } catch (err) {
70
+ runtime.error?.(`matrix: failed to join room ${roomId}: ${String(err)}`);
71
+ }
72
+ });
73
+ }
74
+
75
+ export {
76
+ registerMatrixAutoJoin
77
+ };
78
+ //# sourceMappingURL=chunk-LZNW24OB.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/matrix/monitor/auto-join.ts"],
4
+ "sourcesContent": ["import { normalizeStringifiedOptionalString } from \"openclaw/plugin-sdk/text-runtime\";\nimport { getMatrixRuntime } from \"../../runtime.js\";\nimport type { MatrixConfig } from \"../../types.js\";\nimport type { MatrixClient } from \"../sdk.js\";\nimport type { RuntimeEnv } from \"./runtime-api.js\";\n\nexport function registerMatrixAutoJoin(params: {\n client: MatrixClient;\n accountConfig: Pick<MatrixConfig, \"autoJoin\" | \"autoJoinAllowlist\">;\n runtime: RuntimeEnv;\n}) {\n const { client, accountConfig, runtime } = params;\n const core = getMatrixRuntime();\n const logVerbose = (message: string) => {\n if (!core.logging.shouldLogVerbose()) {\n return;\n }\n runtime.log?.(message);\n };\n const autoJoin = accountConfig.autoJoin ?? \"off\";\n const rawAllowlist = (accountConfig.autoJoinAllowlist ?? [])\n .map((entry) => normalizeStringifiedOptionalString(entry))\n .filter((entry): entry is string => Boolean(entry));\n const autoJoinAllowlist = new Set(rawAllowlist);\n const allowedRoomIds = new Set(rawAllowlist.filter((entry) => entry.startsWith(\"!\")));\n const allowedAliases = rawAllowlist.filter((entry) => entry.startsWith(\"#\"));\n const resolvedAliasRoomIds = new Map<string, string>();\n\n if (autoJoin === \"off\") {\n return;\n }\n\n if (autoJoin === \"always\") {\n logVerbose(\"matrix: auto-join enabled for all invites\");\n } else {\n logVerbose(\"matrix: auto-join enabled for allowlist invites\");\n }\n\n const resolveAllowedAliasRoomId = async (alias: string): Promise<string | null> => {\n if (resolvedAliasRoomIds.has(alias)) {\n return resolvedAliasRoomIds.get(alias) ?? null;\n }\n const resolved = await params.client.resolveRoom(alias);\n if (resolved) {\n resolvedAliasRoomIds.set(alias, resolved);\n }\n return resolved;\n };\n\n const resolveAllowedAliasRoomIds = async (): Promise<string[]> => {\n const resolved = await Promise.all(\n allowedAliases.map(async (alias) => {\n try {\n return await resolveAllowedAliasRoomId(alias);\n } catch (err) {\n runtime.error?.(`matrix: failed resolving allowlisted alias ${alias}: ${String(err)}`);\n return null;\n }\n }),\n );\n return resolved.filter((roomId): roomId is string => Boolean(roomId));\n };\n\n // Handle invites directly so both \"always\" and \"allowlist\" modes share the same path.\n client.on(\"room.invite\", async (roomId: string, _inviteEvent: unknown) => {\n if (autoJoin === \"allowlist\") {\n const allowedAliasRoomIds = await resolveAllowedAliasRoomIds();\n const allowed =\n autoJoinAllowlist.has(\"*\") ||\n allowedRoomIds.has(roomId) ||\n allowedAliasRoomIds.some((resolvedRoomId) => resolvedRoomId === roomId);\n\n if (!allowed) {\n logVerbose(`matrix: invite ignored (not in allowlist) room=${roomId}`);\n return;\n }\n }\n\n try {\n await client.joinRoom(roomId);\n logVerbose(`matrix: joined room ${roomId}`);\n } catch (err) {\n runtime.error?.(`matrix: failed to join room ${roomId}: ${String(err)}`);\n }\n });\n}\n"],
5
+ "mappings": ";;;;;;;;AAAA;AAAA,SAAS,0CAA0C;AAM5C,SAAS,uBAAuB,QAIpC;AACD,QAAM,EAAE,QAAQ,eAAe,QAAQ,IAAI;AAC3C,QAAM,OAAO,iBAAiB;AAC9B,QAAM,aAAa,CAAC,YAAoB;AACtC,QAAI,CAAC,KAAK,QAAQ,iBAAiB,GAAG;AACpC;AAAA,IACF;AACA,YAAQ,MAAM,OAAO;AAAA,EACvB;AACA,QAAM,WAAW,cAAc,YAAY;AAC3C,QAAM,gBAAgB,cAAc,qBAAqB,CAAC,GACvD,IAAI,CAAC,UAAU,mCAAmC,KAAK,CAAC,EACxD,OAAO,CAAC,UAA2B,QAAQ,KAAK,CAAC;AACpD,QAAM,oBAAoB,IAAI,IAAI,YAAY;AAC9C,QAAM,iBAAiB,IAAI,IAAI,aAAa,OAAO,CAAC,UAAU,MAAM,WAAW,GAAG,CAAC,CAAC;AACpF,QAAM,iBAAiB,aAAa,OAAO,CAAC,UAAU,MAAM,WAAW,GAAG,CAAC;AAC3E,QAAM,uBAAuB,oBAAI,IAAoB;AAErD,MAAI,aAAa,OAAO;AACtB;AAAA,EACF;AAEA,MAAI,aAAa,UAAU;AACzB,eAAW,2CAA2C;AAAA,EACxD,OAAO;AACL,eAAW,iDAAiD;AAAA,EAC9D;AAEA,QAAM,4BAA4B,OAAO,UAA0C;AACjF,QAAI,qBAAqB,IAAI,KAAK,GAAG;AACnC,aAAO,qBAAqB,IAAI,KAAK,KAAK;AAAA,IAC5C;AACA,UAAM,WAAW,MAAM,OAAO,OAAO,YAAY,KAAK;AACtD,QAAI,UAAU;AACZ,2BAAqB,IAAI,OAAO,QAAQ;AAAA,IAC1C;AACA,WAAO;AAAA,EACT;AAEA,QAAM,6BAA6B,YAA+B;AAChE,UAAM,WAAW,MAAM,QAAQ;AAAA,MAC7B,eAAe,IAAI,OAAO,UAAU;AAClC,YAAI;AACF,iBAAO,MAAM,0BAA0B,KAAK;AAAA,QAC9C,SAAS,KAAK;AACZ,kBAAQ,QAAQ,8CAA8C,KAAK,KAAK,OAAO,GAAG,CAAC,EAAE;AACrF,iBAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACH;AACA,WAAO,SAAS,OAAO,CAAC,WAA6B,QAAQ,MAAM,CAAC;AAAA,EACtE;AAGA,SAAO,GAAG,eAAe,OAAO,QAAgB,iBAA0B;AACxE,QAAI,aAAa,aAAa;AAC5B,YAAM,sBAAsB,MAAM,2BAA2B;AAC7D,YAAM,UACJ,kBAAkB,IAAI,GAAG,KACzB,eAAe,IAAI,MAAM,KACzB,oBAAoB,KAAK,CAAC,mBAAmB,mBAAmB,MAAM;AAExE,UAAI,CAAC,SAAS;AACZ,mBAAW,kDAAkD,MAAM,EAAE;AACrE;AAAA,MACF;AAAA,IACF;AAEA,QAAI;AACF,YAAM,OAAO,SAAS,MAAM;AAC5B,iBAAW,uBAAuB,MAAM,EAAE;AAAA,IAC5C,SAAS,KAAK;AACZ,cAAQ,QAAQ,+BAA+B,MAAM,KAAK,OAAO,GAAG,CAAC,EAAE;AAAA,IACzE;AAAA,EACF,CAAC;AACH;",
6
+ "names": []
7
+ }
@@ -0,0 +1,300 @@
1
+ import {
2
+ normalizePollInput
3
+ } from "./chunk-HGHU3TVL.js";
4
+ import {
5
+ init_shims
6
+ } from "./chunk-G4TIS2SC.js";
7
+
8
+ // src/matrix/poll-types.ts
9
+ init_shims();
10
+ import { normalizeOptionalString } from "openclaw/plugin-sdk/text-runtime";
11
+ var M_POLL_START = "m.poll.start";
12
+ var M_POLL_RESPONSE = "m.poll.response";
13
+ var M_POLL_END = "m.poll.end";
14
+ var ORG_POLL_START = "org.matrix.msc3381.poll.start";
15
+ var ORG_POLL_RESPONSE = "org.matrix.msc3381.poll.response";
16
+ var ORG_POLL_END = "org.matrix.msc3381.poll.end";
17
+ var POLL_EVENT_TYPES = [
18
+ M_POLL_START,
19
+ M_POLL_RESPONSE,
20
+ M_POLL_END,
21
+ ORG_POLL_START,
22
+ ORG_POLL_RESPONSE,
23
+ ORG_POLL_END
24
+ ];
25
+ var POLL_START_TYPES = [M_POLL_START, ORG_POLL_START];
26
+ var POLL_RESPONSE_TYPES = [M_POLL_RESPONSE, ORG_POLL_RESPONSE];
27
+ var POLL_END_TYPES = [M_POLL_END, ORG_POLL_END];
28
+ function isPollStartType(eventType) {
29
+ return POLL_START_TYPES.includes(eventType);
30
+ }
31
+ function isPollResponseType(eventType) {
32
+ return POLL_RESPONSE_TYPES.includes(eventType);
33
+ }
34
+ function isPollEndType(eventType) {
35
+ return POLL_END_TYPES.includes(eventType);
36
+ }
37
+ function isPollEventType(eventType) {
38
+ return POLL_EVENT_TYPES.includes(eventType);
39
+ }
40
+ function getTextContent(text) {
41
+ if (!text) {
42
+ return "";
43
+ }
44
+ return text["m.text"] ?? text["org.matrix.msc1767.text"] ?? text.body ?? "";
45
+ }
46
+ function parsePollStart(content) {
47
+ const poll = content[M_POLL_START] ?? content[ORG_POLL_START] ?? content["m.poll"];
48
+ if (!poll) {
49
+ return null;
50
+ }
51
+ const question = getTextContent(poll.question).trim();
52
+ if (!question) {
53
+ return null;
54
+ }
55
+ const answers = poll.answers.map((answer) => ({
56
+ id: answer.id,
57
+ text: getTextContent(answer).trim()
58
+ })).filter((answer) => answer.id.trim().length > 0 && answer.text.length > 0);
59
+ if (answers.length === 0) {
60
+ return null;
61
+ }
62
+ const maxSelectionsRaw = poll.max_selections;
63
+ const maxSelections = typeof maxSelectionsRaw === "number" && Number.isFinite(maxSelectionsRaw) ? Math.floor(maxSelectionsRaw) : 1;
64
+ return {
65
+ question,
66
+ answers,
67
+ kind: poll.kind ?? "m.poll.disclosed",
68
+ maxSelections: Math.min(Math.max(maxSelections, 1), answers.length)
69
+ };
70
+ }
71
+ function parsePollStartContent(content) {
72
+ const parsed = parsePollStart(content);
73
+ if (!parsed) {
74
+ return null;
75
+ }
76
+ return {
77
+ eventId: "",
78
+ roomId: "",
79
+ sender: "",
80
+ senderName: "",
81
+ question: parsed.question,
82
+ answers: parsed.answers.map((answer) => answer.text),
83
+ kind: parsed.kind,
84
+ maxSelections: parsed.maxSelections
85
+ };
86
+ }
87
+ function formatPollAsText(summary) {
88
+ const lines = [
89
+ "[Poll]",
90
+ summary.question,
91
+ "",
92
+ ...summary.answers.map((answer, idx) => `${idx + 1}. ${answer}`)
93
+ ];
94
+ return lines.join("\n");
95
+ }
96
+ function resolvePollReferenceEventId(content) {
97
+ if (!content || typeof content !== "object") {
98
+ return null;
99
+ }
100
+ const relates = content["m.relates_to"];
101
+ if (!relates || typeof relates.event_id !== "string") {
102
+ return null;
103
+ }
104
+ const eventId = relates.event_id.trim();
105
+ return eventId.length > 0 ? eventId : null;
106
+ }
107
+ function parsePollResponseAnswerIds(content) {
108
+ if (!content || typeof content !== "object") {
109
+ return null;
110
+ }
111
+ const response = content[M_POLL_RESPONSE] ?? content[ORG_POLL_RESPONSE];
112
+ if (!response || !Array.isArray(response.answers)) {
113
+ return null;
114
+ }
115
+ return response.answers.filter((answer) => typeof answer === "string");
116
+ }
117
+ function buildPollResultsSummary(params) {
118
+ const parsed = parsePollStart(params.content);
119
+ if (!parsed) {
120
+ return null;
121
+ }
122
+ let pollClosedAt = Number.POSITIVE_INFINITY;
123
+ for (const event of params.relationEvents) {
124
+ if (event.unsigned?.redacted_because) {
125
+ continue;
126
+ }
127
+ if (!isPollEndType(typeof event.type === "string" ? event.type : "")) {
128
+ continue;
129
+ }
130
+ if (event.sender !== params.sender) {
131
+ continue;
132
+ }
133
+ const ts = typeof event.origin_server_ts === "number" && Number.isFinite(event.origin_server_ts) ? event.origin_server_ts : Number.POSITIVE_INFINITY;
134
+ if (ts < pollClosedAt) {
135
+ pollClosedAt = ts;
136
+ }
137
+ }
138
+ const answerIds = new Set(parsed.answers.map((answer) => answer.id));
139
+ const latestVoteBySender = /* @__PURE__ */ new Map();
140
+ const orderedRelationEvents = [...params.relationEvents].toSorted((left, right) => {
141
+ const leftTs = typeof left.origin_server_ts === "number" && Number.isFinite(left.origin_server_ts) ? left.origin_server_ts : Number.POSITIVE_INFINITY;
142
+ const rightTs = typeof right.origin_server_ts === "number" && Number.isFinite(right.origin_server_ts) ? right.origin_server_ts : Number.POSITIVE_INFINITY;
143
+ if (leftTs !== rightTs) {
144
+ return leftTs - rightTs;
145
+ }
146
+ return (left.event_id ?? "").localeCompare(right.event_id ?? "");
147
+ });
148
+ for (const event of orderedRelationEvents) {
149
+ if (event.unsigned?.redacted_because) {
150
+ continue;
151
+ }
152
+ if (!isPollResponseType(typeof event.type === "string" ? event.type : "")) {
153
+ continue;
154
+ }
155
+ const senderId = normalizeOptionalString(event.sender) ?? "";
156
+ if (!senderId) {
157
+ continue;
158
+ }
159
+ const eventTs = typeof event.origin_server_ts === "number" && Number.isFinite(event.origin_server_ts) ? event.origin_server_ts : Number.POSITIVE_INFINITY;
160
+ if (eventTs > pollClosedAt) {
161
+ continue;
162
+ }
163
+ const rawAnswers = parsePollResponseAnswerIds(event.content) ?? [];
164
+ const normalizedAnswers = Array.from(
165
+ new Set(
166
+ rawAnswers.map((answerId) => normalizeOptionalString(answerId) ?? "").filter((answerId) => answerIds.has(answerId)).slice(0, parsed.maxSelections)
167
+ )
168
+ );
169
+ latestVoteBySender.set(senderId, {
170
+ ts: eventTs,
171
+ eventId: typeof event.event_id === "string" ? event.event_id : "",
172
+ answerIds: normalizedAnswers
173
+ });
174
+ }
175
+ const voteCounts = new Map(
176
+ parsed.answers.map((answer) => [answer.id, 0])
177
+ );
178
+ let totalVotes = 0;
179
+ for (const latestVote of latestVoteBySender.values()) {
180
+ if (latestVote.answerIds.length === 0) {
181
+ continue;
182
+ }
183
+ totalVotes += 1;
184
+ for (const answerId of latestVote.answerIds) {
185
+ voteCounts.set(answerId, (voteCounts.get(answerId) ?? 0) + 1);
186
+ }
187
+ }
188
+ return {
189
+ eventId: params.pollEventId,
190
+ roomId: params.roomId,
191
+ sender: params.sender,
192
+ senderName: params.senderName,
193
+ question: parsed.question,
194
+ answers: parsed.answers.map((answer) => answer.text),
195
+ kind: parsed.kind,
196
+ maxSelections: parsed.maxSelections,
197
+ entries: parsed.answers.map((answer) => ({
198
+ id: answer.id,
199
+ text: answer.text,
200
+ votes: voteCounts.get(answer.id) ?? 0
201
+ })),
202
+ totalVotes,
203
+ closed: Number.isFinite(pollClosedAt)
204
+ };
205
+ }
206
+ function formatPollResultsAsText(summary) {
207
+ const lines = [summary.closed ? "[Poll closed]" : "[Poll]", summary.question, ""];
208
+ const revealResults = summary.kind === "m.poll.disclosed" || summary.closed;
209
+ for (const [index, entry] of summary.entries.entries()) {
210
+ if (!revealResults) {
211
+ lines.push(`${index + 1}. ${entry.text}`);
212
+ continue;
213
+ }
214
+ lines.push(`${index + 1}. ${entry.text} (${entry.votes} vote${entry.votes === 1 ? "" : "s"})`);
215
+ }
216
+ lines.push("");
217
+ if (!revealResults) {
218
+ lines.push("Responses are hidden until the poll closes.");
219
+ } else {
220
+ lines.push(`Total voters: ${summary.totalVotes}`);
221
+ }
222
+ return lines.join("\n");
223
+ }
224
+ function buildTextContent(body) {
225
+ return {
226
+ "m.text": body,
227
+ "org.matrix.msc1767.text": body
228
+ };
229
+ }
230
+ function buildPollFallbackText(question, answers) {
231
+ if (answers.length === 0) {
232
+ return question;
233
+ }
234
+ return `${question}
235
+ ${answers.map((answer, idx) => `${idx + 1}. ${answer}`).join("\n")}`;
236
+ }
237
+ function buildPollStartContent(poll) {
238
+ const normalized = normalizePollInput(poll);
239
+ const answers = normalized.options.map((option, idx) => ({
240
+ id: `answer${idx + 1}`,
241
+ ...buildTextContent(option)
242
+ }));
243
+ const isMultiple = normalized.maxSelections > 1;
244
+ const fallbackText = buildPollFallbackText(
245
+ normalized.question,
246
+ answers.map((answer) => getTextContent(answer))
247
+ );
248
+ return {
249
+ [M_POLL_START]: {
250
+ question: buildTextContent(normalized.question),
251
+ kind: isMultiple ? "m.poll.undisclosed" : "m.poll.disclosed",
252
+ max_selections: normalized.maxSelections,
253
+ answers
254
+ },
255
+ "m.text": fallbackText,
256
+ "org.matrix.msc1767.text": fallbackText
257
+ };
258
+ }
259
+ function buildPollResponseContent(pollEventId, answerIds) {
260
+ return {
261
+ [M_POLL_RESPONSE]: {
262
+ answers: answerIds
263
+ },
264
+ [ORG_POLL_RESPONSE]: {
265
+ answers: answerIds
266
+ },
267
+ "m.relates_to": {
268
+ rel_type: "m.reference",
269
+ event_id: pollEventId
270
+ }
271
+ };
272
+ }
273
+
274
+ export {
275
+ M_POLL_START,
276
+ M_POLL_RESPONSE,
277
+ M_POLL_END,
278
+ ORG_POLL_START,
279
+ ORG_POLL_RESPONSE,
280
+ ORG_POLL_END,
281
+ POLL_EVENT_TYPES,
282
+ POLL_START_TYPES,
283
+ POLL_RESPONSE_TYPES,
284
+ POLL_END_TYPES,
285
+ isPollStartType,
286
+ isPollResponseType,
287
+ isPollEndType,
288
+ isPollEventType,
289
+ getTextContent,
290
+ parsePollStart,
291
+ parsePollStartContent,
292
+ formatPollAsText,
293
+ resolvePollReferenceEventId,
294
+ parsePollResponseAnswerIds,
295
+ buildPollResultsSummary,
296
+ formatPollResultsAsText,
297
+ buildPollStartContent,
298
+ buildPollResponseContent
299
+ };
300
+ //# sourceMappingURL=chunk-LZQFDJNW.js.map