@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
@@ -1,1521 +0,0 @@
1
- import fs from "node:fs/promises";
2
- import os from "node:os";
3
- import path from "node:path";
4
- import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
5
- import type { LookupFn } from "../../runtime-api.js";
6
- import { installMatrixTestRuntime } from "../test-runtime.js";
7
- import type { CoreConfig } from "../types.js";
8
-
9
- function createLookupFn(addresses: Array<{ address: string; family: number }>): LookupFn {
10
- return vi.fn(async (_hostname: string, options?: unknown) => {
11
- if (typeof options === "number" || !options || !(options as { all?: boolean }).all) {
12
- return addresses[0];
13
- }
14
- return addresses;
15
- }) as unknown as LookupFn;
16
- }
17
-
18
- const saveMatrixCredentialsMock = vi.hoisted(() => vi.fn());
19
- const saveBackfilledMatrixDeviceIdMock = vi.hoisted(() => vi.fn(async () => "saved"));
20
- const touchMatrixCredentialsMock = vi.hoisted(() => vi.fn());
21
- const repairCurrentTokenStorageMetaDeviceIdMock = vi.hoisted(() => vi.fn());
22
-
23
- vi.mock("./credentials-read.js", () => ({
24
- loadMatrixCredentials: vi.fn(() => null),
25
- credentialsMatchConfig: vi.fn(() => false),
26
- }));
27
-
28
- vi.mock("./credentials-write.runtime.js", () => ({
29
- saveBackfilledMatrixDeviceId: saveBackfilledMatrixDeviceIdMock,
30
- saveMatrixCredentials: saveMatrixCredentialsMock,
31
- touchMatrixCredentials: touchMatrixCredentialsMock,
32
- }));
33
-
34
- vi.mock("./client/storage.js", async () => {
35
- const actual = await vi.importActual<typeof import("./client/storage.js")>("./client/storage.js");
36
- return {
37
- ...actual,
38
- repairCurrentTokenStorageMetaDeviceId: repairCurrentTokenStorageMetaDeviceIdMock,
39
- };
40
- });
41
-
42
- const {
43
- backfillMatrixAuthDeviceIdAfterStartup,
44
- getMatrixScopedEnvVarNames,
45
- resolveMatrixConfigForAccount,
46
- resolveMatrixAuth,
47
- resolveMatrixAuthContext,
48
- setMatrixAuthClientDepsForTest,
49
- resolveValidatedMatrixHomeserverUrl,
50
- validateMatrixHomeserverUrl,
51
- } = await import("./client/config.js");
52
-
53
- let credentialsReadModule: typeof import("./credentials-read.js") | undefined;
54
- const ensureMatrixSdkLoggingConfiguredMock = vi.fn();
55
- const matrixDoRequestMock = vi.fn();
56
-
57
- class MockMatrixClient {
58
- async doRequest(...args: unknown[]) {
59
- return await matrixDoRequestMock(...args);
60
- }
61
- }
62
-
63
- function requireCredentialsReadModule(): typeof import("./credentials-read.js") {
64
- if (!credentialsReadModule) {
65
- throw new Error("credentials-read test module not initialized");
66
- }
67
- return credentialsReadModule;
68
- }
69
-
70
- function resolveDefaultMatrixAuthContext(
71
- cfg: CoreConfig,
72
- env: NodeJS.ProcessEnv = {} as NodeJS.ProcessEnv,
73
- ) {
74
- return resolveMatrixAuthContext({ cfg, env });
75
- }
76
-
77
- beforeEach(() => {
78
- installMatrixTestRuntime();
79
- });
80
-
81
- describe("Matrix auth/config live surfaces", () => {
82
- it("prefers config over env", () => {
83
- const cfg = {
84
- channels: {
85
- matrix: {
86
- homeserver: "https://cfg.example.org",
87
- userId: "@cfg:example.org",
88
- accessToken: "cfg-token",
89
- password: "cfg-pass",
90
- deviceName: "CfgDevice",
91
- initialSyncLimit: 5,
92
- },
93
- },
94
- } as CoreConfig;
95
- const env = {
96
- LOBI_HOMESERVER: "https://env.example.org",
97
- LOBI_USER_ID: "@env:example.org",
98
- LOBI_ACCESS_TOKEN: "env-token",
99
- LOBI_PASSWORD: "env-pass",
100
- LOBI_DEVICE_NAME: "EnvDevice",
101
- } as NodeJS.ProcessEnv;
102
- const resolved = resolveDefaultMatrixAuthContext(cfg, env).resolved;
103
- expect(resolved).toEqual({
104
- homeserver: "https://cfg.example.org",
105
- userId: "@cfg:example.org",
106
- accessToken: "cfg-token",
107
- password: "cfg-pass",
108
- deviceId: undefined,
109
- deviceName: "CfgDevice",
110
- initialSyncLimit: 5,
111
- encryption: false,
112
- });
113
- });
114
-
115
- it("uses env when config is missing", () => {
116
- const cfg = {} as CoreConfig;
117
- const env = {
118
- LOBI_HOMESERVER: "https://env.example.org",
119
- LOBI_USER_ID: "@env:example.org",
120
- LOBI_ACCESS_TOKEN: "env-token",
121
- LOBI_PASSWORD: "env-pass",
122
- LOBI_DEVICE_ID: "ENVDEVICE",
123
- LOBI_DEVICE_NAME: "EnvDevice",
124
- } as NodeJS.ProcessEnv;
125
- const resolved = resolveDefaultMatrixAuthContext(cfg, env).resolved;
126
- expect(resolved.homeserver).toBe("https://env.example.org");
127
- expect(resolved.userId).toBe("@env:example.org");
128
- expect(resolved.accessToken).toBe("env-token");
129
- expect(resolved.password).toBe("env-pass");
130
- expect(resolved.deviceId).toBe("ENVDEVICE");
131
- expect(resolved.deviceName).toBe("EnvDevice");
132
- expect(resolved.initialSyncLimit).toBeUndefined();
133
- expect(resolved.encryption).toBe(false);
134
- });
135
-
136
- it("resolves accessToken SecretRef against the provided env", () => {
137
- const cfg = {
138
- channels: {
139
- matrix: {
140
- homeserver: "https://cfg.example.org",
141
- accessToken: { source: "env", provider: "default", id: "LOBI_ACCESS_TOKEN" },
142
- },
143
- },
144
- secrets: {
145
- defaults: {
146
- env: "default",
147
- },
148
- },
149
- } as CoreConfig;
150
- const env = {
151
- LOBI_ACCESS_TOKEN: "env-token",
152
- } as NodeJS.ProcessEnv;
153
-
154
- const resolved = resolveDefaultMatrixAuthContext(cfg, env).resolved;
155
- expect(resolved.accessToken).toBe("env-token");
156
- });
157
-
158
- it("resolves password SecretRef against the provided env", () => {
159
- const cfg = {
160
- channels: {
161
- matrix: {
162
- homeserver: "https://cfg.example.org",
163
- userId: "@cfg:example.org",
164
- password: { source: "env", provider: "default", id: "LOBI_PASSWORD" },
165
- },
166
- },
167
- secrets: {
168
- defaults: {
169
- env: "default",
170
- },
171
- },
172
- } as CoreConfig;
173
- const env = {
174
- LOBI_PASSWORD: "env-pass",
175
- } as NodeJS.ProcessEnv;
176
-
177
- const resolved = resolveDefaultMatrixAuthContext(cfg, env).resolved;
178
- expect(resolved.password).toBe("env-pass");
179
- });
180
-
181
- it("resolves account accessToken SecretRef against the provided env", () => {
182
- const cfg = {
183
- channels: {
184
- matrix: {
185
- accounts: {
186
- ops: {
187
- homeserver: "https://ops.example.org",
188
- accessToken: { source: "env", provider: "default", id: "LOBI_OPS_ACCESS_TOKEN" },
189
- },
190
- },
191
- },
192
- },
193
- secrets: {
194
- defaults: {
195
- env: "default",
196
- },
197
- },
198
- } as CoreConfig;
199
- const env = {
200
- LOBI_OPS_ACCESS_TOKEN: "ops-token",
201
- } as NodeJS.ProcessEnv;
202
-
203
- const resolved = resolveMatrixConfigForAccount(cfg, "ops", env);
204
- expect(resolved.accessToken).toBe("ops-token");
205
- });
206
-
207
- it("does not resolve account password SecretRefs when scoped token auth is configured", () => {
208
- const cfg = {
209
- channels: {
210
- matrix: {
211
- accounts: {
212
- ops: {
213
- homeserver: "https://ops.example.org",
214
- password: { source: "env", provider: "default", id: "MATRIX_OPS_PASSWORD" },
215
- },
216
- },
217
- },
218
- },
219
- secrets: {
220
- defaults: {
221
- env: "default",
222
- },
223
- },
224
- } as CoreConfig;
225
- const env = {
226
- LOBI_OPS_ACCESS_TOKEN: "ops-token",
227
- } as NodeJS.ProcessEnv;
228
-
229
- const resolved = resolveMatrixConfigForAccount(cfg, "ops", env);
230
- expect(resolved.accessToken).toBe("ops-token");
231
- expect(resolved.password).toBeUndefined();
232
- });
233
-
234
- it("keeps unresolved accessToken SecretRef errors when env fallback is missing", () => {
235
- const cfg = {
236
- channels: {
237
- matrix: {
238
- homeserver: "https://cfg.example.org",
239
- accessToken: { source: "env", provider: "default", id: "LOBI_ACCESS_TOKEN" },
240
- },
241
- },
242
- secrets: {
243
- defaults: {
244
- env: "default",
245
- },
246
- },
247
- } as CoreConfig;
248
-
249
- expect(() => resolveDefaultMatrixAuthContext(cfg, {} as NodeJS.ProcessEnv)).toThrow(
250
- /channels\.matrix\.accessToken: unresolved SecretRef "env:default:LOBI_ACCESS_TOKEN"/i,
251
- );
252
- });
253
-
254
- it("does not bypass env provider allowlists during startup fallback", () => {
255
- const cfg = {
256
- channels: {
257
- matrix: {
258
- homeserver: "https://cfg.example.org",
259
- accessToken: { source: "env", provider: "matrix-env", id: "LOBI_ACCESS_TOKEN" },
260
- },
261
- },
262
- secrets: {
263
- providers: {
264
- "matrix-env": {
265
- source: "env",
266
- allowlist: ["OTHER_LOBI_ACCESS_TOKEN"],
267
- },
268
- },
269
- },
270
- } as CoreConfig;
271
-
272
- expect(() =>
273
- resolveDefaultMatrixAuthContext(cfg, {
274
- LOBI_ACCESS_TOKEN: "env-token",
275
- } as NodeJS.ProcessEnv),
276
- ).toThrow(/not allowlisted in secrets\.providers\.matrix-env\.allowlist/i);
277
- });
278
-
279
- it("does not throw when accessToken uses a non-env SecretRef", () => {
280
- const cfg = {
281
- channels: {
282
- matrix: {
283
- homeserver: "https://cfg.example.org",
284
- accessToken: { source: "file", provider: "matrix-file", id: "value" },
285
- },
286
- },
287
- secrets: {
288
- providers: {
289
- "matrix-file": {
290
- source: "file",
291
- path: "/tmp/matrix-token",
292
- },
293
- },
294
- },
295
- } as CoreConfig;
296
-
297
- expect(
298
- resolveDefaultMatrixAuthContext(cfg, {} as NodeJS.ProcessEnv).resolved.accessToken,
299
- ).toBeUndefined();
300
- });
301
-
302
- it("uses account-scoped env vars for non-default accounts before global env", () => {
303
- const cfg = {
304
- channels: {
305
- matrix: {
306
- homeserver: "https://base.example.org",
307
- },
308
- },
309
- } as CoreConfig;
310
- const env = {
311
- LOBI_HOMESERVER: "https://global.example.org",
312
- LOBI_ACCESS_TOKEN: "global-token",
313
- LOBI_OPS_HOMESERVER: "https://ops.example.org",
314
- LOBI_OPS_ACCESS_TOKEN: "ops-token",
315
- LOBI_OPS_DEVICE_NAME: "Ops Device",
316
- } as NodeJS.ProcessEnv;
317
-
318
- const resolved = resolveMatrixConfigForAccount(cfg, "ops", env);
319
- expect(resolved.homeserver).toBe("https://ops.example.org");
320
- expect(resolved.accessToken).toBe("ops-token");
321
- expect(resolved.deviceName).toBe("Ops Device");
322
- });
323
-
324
- it("uses collision-free scoped env var names for normalized account ids", () => {
325
- expect(getMatrixScopedEnvVarNames("ops-prod").accessToken).toBe(
326
- "MATRIX_OPS_X2D_PROD_ACCESS_TOKEN",
327
- );
328
- expect(getMatrixScopedEnvVarNames("ops_prod").accessToken).toBe(
329
- "MATRIX_OPS_X5F_PROD_ACCESS_TOKEN",
330
- );
331
- });
332
-
333
- it("prefers channels.lobi.accounts.default over global env for the default account", () => {
334
- const cfg = {
335
- channels: {
336
- matrix: {
337
- accounts: {
338
- default: {
339
- homeserver: "https://matrix.gumadeiras.com",
340
- userId: "@pinguini:matrix.gumadeiras.com",
341
- password: "cfg-pass", // pragma: allowlist secret
342
- deviceName: "OpenClaw Gateway Pinguini",
343
- encryption: true,
344
- },
345
- },
346
- },
347
- },
348
- } as CoreConfig;
349
- const env = {
350
- LOBI_HOMESERVER: "https://env.example.org",
351
- LOBI_USER_ID: "@env:example.org",
352
- LOBI_PASSWORD: "env-pass",
353
- LOBI_DEVICE_NAME: "EnvDevice",
354
- } as NodeJS.ProcessEnv;
355
-
356
- const resolved = resolveMatrixAuthContext({ cfg, env });
357
- expect(resolved.accountId).toBe("default");
358
- expect(resolved.resolved).toMatchObject({
359
- homeserver: "https://matrix.gumadeiras.com",
360
- userId: "@pinguini:matrix.gumadeiras.com",
361
- password: "cfg-pass",
362
- deviceName: "OpenClaw Gateway Pinguini",
363
- encryption: true,
364
- });
365
- });
366
-
367
- it("ignores typoed defaultAccount values that do not map to a real Matrix account", () => {
368
- const cfg = {
369
- channels: {
370
- matrix: {
371
- defaultAccount: "ops",
372
- homeserver: "https://legacy.example.org",
373
- accessToken: "legacy-token",
374
- },
375
- },
376
- } as CoreConfig;
377
-
378
- expect(resolveMatrixAuthContext({ cfg, env: {} as NodeJS.ProcessEnv }).accountId).toBe(
379
- "default",
380
- );
381
- });
382
-
383
- it("requires explicit defaultAccount selection when multiple named Matrix accounts exist", () => {
384
- const cfg = {
385
- channels: {
386
- matrix: {
387
- accounts: {
388
- assistant: {
389
- homeserver: "https://matrix.assistant.example.org",
390
- accessToken: "assistant-token",
391
- },
392
- ops: {
393
- homeserver: "https://matrix.ops.example.org",
394
- accessToken: "ops-token",
395
- },
396
- },
397
- },
398
- },
399
- } as CoreConfig;
400
-
401
- expect(() => resolveMatrixAuthContext({ cfg, env: {} as NodeJS.ProcessEnv })).toThrow(
402
- /channels\.matrix\.defaultAccount.*--account <id>/i,
403
- );
404
- });
405
-
406
- it("does not materialize a default account from shared top-level defaults alone", () => {
407
- const cfg = {
408
- channels: {
409
- matrix: {
410
- name: "Shared Defaults",
411
- accounts: {
412
- ops: {
413
- homeserver: "https://matrix.ops.example.org",
414
- accessToken: "ops-token",
415
- },
416
- },
417
- },
418
- },
419
- } as CoreConfig;
420
-
421
- expect(resolveMatrixAuthContext({ cfg, env: {} as NodeJS.ProcessEnv }).accountId).toBe("ops");
422
- });
423
-
424
- it("does not materialize a default account from partial top-level auth defaults", () => {
425
- const cfg = {
426
- channels: {
427
- matrix: {
428
- accessToken: "shared-token",
429
- accounts: {
430
- ops: {
431
- homeserver: "https://matrix.ops.example.org",
432
- accessToken: "ops-token",
433
- },
434
- },
435
- },
436
- },
437
- } as CoreConfig;
438
-
439
- expect(resolveMatrixAuthContext({ cfg, env: {} as NodeJS.ProcessEnv }).accountId).toBe("ops");
440
- });
441
-
442
- it("honors injected env when implicit Matrix account selection becomes ambiguous", () => {
443
- const cfg = {
444
- channels: {
445
- matrix: {},
446
- },
447
- } as CoreConfig;
448
- const env = {
449
- LOBI_HOMESERVER: "https://matrix.example.org",
450
- LOBI_ACCESS_TOKEN: "default-token",
451
- LOBI_OPS_HOMESERVER: "https://matrix.example.org",
452
- LOBI_OPS_ACCESS_TOKEN: "ops-token",
453
- } as NodeJS.ProcessEnv;
454
-
455
- expect(() => resolveMatrixAuthContext({ cfg, env })).toThrow(
456
- /channels\.matrix\.defaultAccount.*--account <id>/i,
457
- );
458
- });
459
-
460
- it("does not materialize a default env account from partial global auth fields", () => {
461
- const cfg = {
462
- channels: {
463
- matrix: {},
464
- },
465
- } as CoreConfig;
466
- const env = {
467
- LOBI_ACCESS_TOKEN: "shared-token",
468
- LOBI_OPS_HOMESERVER: "https://matrix.example.org",
469
- LOBI_OPS_ACCESS_TOKEN: "ops-token",
470
- } as NodeJS.ProcessEnv;
471
-
472
- expect(resolveMatrixAuthContext({ cfg, env }).accountId).toBe("ops");
473
- });
474
-
475
- it("does not materialize a default account from top-level homeserver plus userId alone", () => {
476
- const cfg = {
477
- channels: {
478
- matrix: {
479
- homeserver: "https://matrix.example.org",
480
- userId: "@default:example.org",
481
- accounts: {
482
- ops: {
483
- homeserver: "https://matrix.example.org",
484
- accessToken: "ops-token",
485
- },
486
- },
487
- },
488
- },
489
- } as CoreConfig;
490
-
491
- expect(resolveMatrixAuthContext({ cfg, env: {} as NodeJS.ProcessEnv }).accountId).toBe("ops");
492
- });
493
-
494
- it("does not materialize a default env account from global homeserver plus userId alone", () => {
495
- const cfg = {
496
- channels: {
497
- matrix: {},
498
- },
499
- } as CoreConfig;
500
- const env = {
501
- LOBI_HOMESERVER: "https://matrix.example.org",
502
- LOBI_USER_ID: "@default:example.org",
503
- LOBI_OPS_HOMESERVER: "https://matrix.example.org",
504
- LOBI_OPS_ACCESS_TOKEN: "ops-token",
505
- } as NodeJS.ProcessEnv;
506
-
507
- expect(resolveMatrixAuthContext({ cfg, env }).accountId).toBe("ops");
508
- });
509
-
510
- it("keeps implicit selection for env-backed accounts that can use cached credentials", () => {
511
- const cfg = {
512
- channels: {
513
- matrix: {
514
- homeserver: "https://matrix.example.org",
515
- },
516
- },
517
- } as CoreConfig;
518
- const env = {
519
- MATRIX_OPS_USER_ID: "@ops:example.org",
520
- } as NodeJS.ProcessEnv;
521
-
522
- expect(resolveMatrixAuthContext({ cfg, env }).accountId).toBe("ops");
523
- });
524
-
525
- it("rejects explicit non-default account ids that are neither configured nor scoped in env", () => {
526
- const cfg = {
527
- channels: {
528
- matrix: {
529
- homeserver: "https://legacy.example.org",
530
- accessToken: "legacy-token",
531
- accounts: {
532
- ops: {
533
- homeserver: "https://ops.example.org",
534
- accessToken: "ops-token",
535
- },
536
- },
537
- },
538
- },
539
- } as CoreConfig;
540
-
541
- expect(() =>
542
- resolveMatrixAuthContext({ cfg, env: {} as NodeJS.ProcessEnv, accountId: "typo" }),
543
- ).toThrow(/Matrix account "typo" is not configured/i);
544
- });
545
-
546
- it("allows explicit non-default account ids backed only by scoped env vars", () => {
547
- const cfg = {
548
- channels: {
549
- matrix: {
550
- homeserver: "https://legacy.example.org",
551
- accessToken: "legacy-token",
552
- },
553
- },
554
- } as CoreConfig;
555
- const env = {
556
- LOBI_OPS_HOMESERVER: "https://ops.example.org",
557
- LOBI_OPS_ACCESS_TOKEN: "ops-token",
558
- } as NodeJS.ProcessEnv;
559
-
560
- expect(resolveMatrixAuthContext({ cfg, env, accountId: "ops" }).accountId).toBe("ops");
561
- });
562
-
563
- it("does not inherit the base deviceId for non-default accounts", () => {
564
- const cfg = {
565
- channels: {
566
- matrix: {
567
- homeserver: "https://base.example.org",
568
- accessToken: "base-token",
569
- deviceId: "BASEDEVICE",
570
- accounts: {
571
- ops: {
572
- homeserver: "https://ops.example.org",
573
- accessToken: "ops-token",
574
- },
575
- },
576
- },
577
- },
578
- } as CoreConfig;
579
-
580
- const resolved = resolveMatrixConfigForAccount(cfg, "ops", {} as NodeJS.ProcessEnv);
581
- expect(resolved.deviceId).toBeUndefined();
582
- });
583
-
584
- it("does not inherit the base userId for non-default accounts", () => {
585
- const cfg = {
586
- channels: {
587
- matrix: {
588
- homeserver: "https://base.example.org",
589
- userId: "@base:example.org",
590
- accessToken: "base-token",
591
- accounts: {
592
- ops: {
593
- homeserver: "https://ops.example.org",
594
- accessToken: "ops-token",
595
- },
596
- },
597
- },
598
- },
599
- } as CoreConfig;
600
-
601
- const resolved = resolveMatrixConfigForAccount(cfg, "ops", {} as NodeJS.ProcessEnv);
602
- expect(resolved.userId).toBe("");
603
- });
604
-
605
- it("does not inherit base or global auth secrets for non-default accounts", () => {
606
- const cfg = {
607
- channels: {
608
- matrix: {
609
- homeserver: "https://base.example.org",
610
- accessToken: "base-token",
611
- password: "base-pass", // pragma: allowlist secret
612
- deviceId: "BASEDEVICE",
613
- accounts: {
614
- ops: {
615
- homeserver: "https://ops.example.org",
616
- userId: "@ops:example.org",
617
- password: "ops-pass", // pragma: allowlist secret
618
- },
619
- },
620
- },
621
- },
622
- } as CoreConfig;
623
- const env = {
624
- LOBI_ACCESS_TOKEN: "global-token",
625
- LOBI_PASSWORD: "global-pass",
626
- LOBI_DEVICE_ID: "GLOBALDEVICE",
627
- } as NodeJS.ProcessEnv;
628
-
629
- const resolved = resolveMatrixConfigForAccount(cfg, "ops", env);
630
- expect(resolved.accessToken).toBeUndefined();
631
- expect(resolved.password).toBe("ops-pass");
632
- expect(resolved.deviceId).toBeUndefined();
633
- });
634
-
635
- it("does not inherit a base password for non-default accounts", () => {
636
- const cfg = {
637
- channels: {
638
- matrix: {
639
- homeserver: "https://base.example.org",
640
- password: "base-pass", // pragma: allowlist secret
641
- accounts: {
642
- ops: {
643
- homeserver: "https://ops.example.org",
644
- userId: "@ops:example.org",
645
- },
646
- },
647
- },
648
- },
649
- } as CoreConfig;
650
- const env = {
651
- LOBI_PASSWORD: "global-pass",
652
- } as NodeJS.ProcessEnv;
653
-
654
- const resolved = resolveMatrixConfigForAccount(cfg, "ops", env);
655
- expect(resolved.password).toBeUndefined();
656
- });
657
-
658
- it("rejects insecure public http Matrix homeservers", () => {
659
- expect(() => validateMatrixHomeserverUrl("http://matrix.example.org")).toThrow(
660
- "Matrix homeserver must use https:// unless it targets a private or loopback host",
661
- );
662
- expect(validateMatrixHomeserverUrl("http://127.0.0.1:8008")).toBe("http://127.0.0.1:8008");
663
- });
664
-
665
- it("accepts internal http homeservers only when private-network access is enabled", () => {
666
- expect(() => validateMatrixHomeserverUrl("http://matrix-synapse:8008")).toThrow(
667
- "Matrix homeserver must use https:// unless it targets a private or loopback host",
668
- );
669
- expect(
670
- validateMatrixHomeserverUrl("http://matrix-synapse:8008", {
671
- allowPrivateNetwork: true,
672
- }),
673
- ).toBe("http://matrix-synapse:8008");
674
- });
675
-
676
- it("resolves an explicit proxy dispatcher from top-level Matrix config", () => {
677
- const cfg = {
678
- channels: {
679
- matrix: {
680
- homeserver: "https://matrix.example.org",
681
- accessToken: "tok-123",
682
- proxy: "http://127.0.0.1:7890",
683
- },
684
- },
685
- } as CoreConfig;
686
-
687
- const resolved = resolveDefaultMatrixAuthContext(cfg, {} as NodeJS.ProcessEnv).resolved;
688
-
689
- expect(resolved.dispatcherPolicy).toEqual({
690
- mode: "explicit-proxy",
691
- proxyUrl: "http://127.0.0.1:7890",
692
- });
693
- });
694
-
695
- it("prefers account proxy overrides over top-level Matrix proxy config", () => {
696
- const cfg = {
697
- channels: {
698
- matrix: {
699
- homeserver: "https://matrix.example.org",
700
- accessToken: "base-token",
701
- proxy: "http://127.0.0.1:7890",
702
- accounts: {
703
- ops: {
704
- homeserver: "https://matrix.ops.example.org",
705
- accessToken: "ops-token",
706
- proxy: "http://127.0.0.1:7891",
707
- },
708
- },
709
- },
710
- },
711
- } as CoreConfig;
712
-
713
- const resolved = resolveMatrixConfigForAccount(cfg, "ops", {} as NodeJS.ProcessEnv);
714
-
715
- expect(resolved.dispatcherPolicy).toEqual({
716
- mode: "explicit-proxy",
717
- proxyUrl: "http://127.0.0.1:7891",
718
- });
719
- });
720
-
721
- it("rejects public http homeservers even when private-network access is enabled", async () => {
722
- await expect(
723
- resolveValidatedMatrixHomeserverUrl("http://matrix.example.org:8008", {
724
- allowPrivateNetwork: true,
725
- lookupFn: createLookupFn([{ address: "93.184.216.34", family: 4 }]),
726
- }),
727
- ).rejects.toThrow(
728
- "Matrix homeserver must use https:// unless it targets a private or loopback host",
729
- );
730
- });
731
-
732
- it("accepts internal http hostnames when the private-network opt-in is explicit", async () => {
733
- await expect(
734
- resolveValidatedMatrixHomeserverUrl("http://localhost.localdomain:8008", {
735
- dangerouslyAllowPrivateNetwork: true,
736
- lookupFn: createLookupFn([{ address: "127.0.0.1", family: 4 }]),
737
- }),
738
- ).resolves.toBe("http://localhost.localdomain:8008");
739
- });
740
- });
741
-
742
- describe("resolveMatrixAuth", () => {
743
- beforeAll(async () => {
744
- credentialsReadModule = await import("./credentials-read.js");
745
- });
746
-
747
- beforeEach(() => {
748
- const readModule = requireCredentialsReadModule();
749
- vi.mocked(readModule.loadMatrixCredentials).mockReset();
750
- vi.mocked(readModule.loadMatrixCredentials).mockReturnValue(null);
751
- vi.mocked(readModule.credentialsMatchConfig).mockReset();
752
- vi.mocked(readModule.credentialsMatchConfig).mockReturnValue(false);
753
- saveMatrixCredentialsMock.mockReset();
754
- saveBackfilledMatrixDeviceIdMock.mockReset().mockResolvedValue("saved");
755
- touchMatrixCredentialsMock.mockReset();
756
- repairCurrentTokenStorageMetaDeviceIdMock.mockReset().mockReturnValue(true);
757
- ensureMatrixSdkLoggingConfiguredMock.mockReset();
758
- matrixDoRequestMock.mockReset();
759
- setMatrixAuthClientDepsForTest({
760
- MatrixClient: MockMatrixClient as unknown as typeof import("./sdk.js").MatrixClient,
761
- ensureMatrixSdkLoggingConfigured: ensureMatrixSdkLoggingConfiguredMock,
762
- });
763
- });
764
-
765
- afterEach(() => {
766
- vi.restoreAllMocks();
767
- vi.unstubAllGlobals();
768
- setMatrixAuthClientDepsForTest(undefined);
769
- });
770
-
771
- it("uses the hardened client request path for password login and persists deviceId", async () => {
772
- matrixDoRequestMock.mockResolvedValue({
773
- access_token: "tok-123",
774
- user_id: "@bot:example.org",
775
- device_id: "DEVICE123",
776
- });
777
-
778
- const cfg = {
779
- channels: {
780
- matrix: {
781
- homeserver: "https://matrix.example.org",
782
- userId: "@bot:example.org",
783
- password: "secret", // pragma: allowlist secret
784
- encryption: true,
785
- },
786
- },
787
- } as CoreConfig;
788
-
789
- const auth = await resolveMatrixAuth({
790
- cfg,
791
- env: {} as NodeJS.ProcessEnv,
792
- });
793
-
794
- expect(matrixDoRequestMock).toHaveBeenCalledWith(
795
- "POST",
796
- "/_lobi/client/v3/login",
797
- undefined,
798
- expect.objectContaining({
799
- type: "m.login.password",
800
- }),
801
- );
802
- expect(auth).toMatchObject({
803
- accountId: "default",
804
- homeserver: "https://matrix.example.org",
805
- userId: "@bot:example.org",
806
- accessToken: "tok-123",
807
- deviceId: "DEVICE123",
808
- encryption: true,
809
- });
810
- expect(saveMatrixCredentialsMock).toHaveBeenCalledWith(
811
- expect.objectContaining({
812
- homeserver: "https://matrix.example.org",
813
- userId: "@bot:example.org",
814
- accessToken: "tok-123",
815
- deviceId: "DEVICE123",
816
- }),
817
- expect.any(Object),
818
- "default",
819
- );
820
- });
821
-
822
- it("surfaces password login errors when account credentials are invalid", async () => {
823
- matrixDoRequestMock.mockRejectedValueOnce(new Error("Invalid username or password"));
824
-
825
- const cfg = {
826
- channels: {
827
- matrix: {
828
- homeserver: "https://matrix.example.org",
829
- userId: "@bot:example.org",
830
- password: "secret", // pragma: allowlist secret
831
- },
832
- },
833
- } as CoreConfig;
834
-
835
- await expect(
836
- resolveMatrixAuth({
837
- cfg,
838
- env: {} as NodeJS.ProcessEnv,
839
- }),
840
- ).rejects.toThrow("Invalid username or password");
841
-
842
- expect(matrixDoRequestMock).toHaveBeenCalledWith(
843
- "POST",
844
- "/_lobi/client/v3/login",
845
- undefined,
846
- expect.objectContaining({
847
- type: "m.login.password",
848
- }),
849
- );
850
- expect(saveMatrixCredentialsMock).not.toHaveBeenCalled();
851
- });
852
-
853
- it("uses cached matching credentials when access token is not configured", async () => {
854
- vi.mocked(credentialsReadModule!.loadMatrixCredentials).mockReturnValue({
855
- homeserver: "https://matrix.example.org",
856
- userId: "@bot:example.org",
857
- accessToken: "cached-token",
858
- deviceId: "CACHEDDEVICE",
859
- createdAt: "2026-01-01T00:00:00.000Z",
860
- });
861
- vi.mocked(credentialsReadModule!.credentialsMatchConfig).mockReturnValue(true);
862
-
863
- const cfg = {
864
- channels: {
865
- matrix: {
866
- homeserver: "https://matrix.example.org",
867
- userId: "@bot:example.org",
868
- password: "secret", // pragma: allowlist secret
869
- },
870
- },
871
- } as CoreConfig;
872
-
873
- const auth = await resolveMatrixAuth({
874
- cfg,
875
- env: {} as NodeJS.ProcessEnv,
876
- });
877
-
878
- expect(auth).toMatchObject({
879
- accountId: "default",
880
- homeserver: "https://matrix.example.org",
881
- userId: "@bot:example.org",
882
- accessToken: "cached-token",
883
- deviceId: "CACHEDDEVICE",
884
- });
885
- expect(saveMatrixCredentialsMock).not.toHaveBeenCalled();
886
- });
887
-
888
- it("uses cached matching credentials for env-backed named accounts without fresh auth", async () => {
889
- vi.mocked(credentialsReadModule!.loadMatrixCredentials).mockReturnValue({
890
- homeserver: "https://matrix.example.org",
891
- userId: "@ops:example.org",
892
- accessToken: "cached-token",
893
- deviceId: "CACHEDDEVICE",
894
- createdAt: "2026-01-01T00:00:00.000Z",
895
- });
896
- vi.mocked(credentialsReadModule!.credentialsMatchConfig).mockReturnValue(true);
897
-
898
- const cfg = {
899
- channels: {
900
- matrix: {
901
- homeserver: "https://matrix.example.org",
902
- },
903
- },
904
- } as CoreConfig;
905
- const env = {
906
- MATRIX_OPS_USER_ID: "@ops:example.org",
907
- } as NodeJS.ProcessEnv;
908
-
909
- const auth = await resolveMatrixAuth({
910
- cfg,
911
- env,
912
- accountId: "ops",
913
- });
914
-
915
- expect(auth).toMatchObject({
916
- accountId: "ops",
917
- homeserver: "https://matrix.example.org",
918
- userId: "@ops:example.org",
919
- accessToken: "cached-token",
920
- deviceId: "CACHEDDEVICE",
921
- });
922
- expect(saveMatrixCredentialsMock).not.toHaveBeenCalled();
923
- });
924
-
925
- it("rejects embedded credentials in Matrix homeserver URLs", async () => {
926
- const cfg = {
927
- channels: {
928
- matrix: {
929
- homeserver: "https://user:pass@matrix.example.org",
930
- accessToken: "tok-123",
931
- },
932
- },
933
- } as CoreConfig;
934
-
935
- await expect(resolveMatrixAuth({ cfg, env: {} as NodeJS.ProcessEnv })).rejects.toThrow(
936
- "Matrix homeserver URL must not include embedded credentials",
937
- );
938
- });
939
-
940
- it("falls back to config deviceId when cached credentials are missing it", async () => {
941
- vi.mocked(credentialsReadModule!.loadMatrixCredentials).mockReturnValue({
942
- homeserver: "https://matrix.example.org",
943
- userId: "@bot:example.org",
944
- accessToken: "tok-123",
945
- createdAt: "2026-01-01T00:00:00.000Z",
946
- });
947
- vi.mocked(credentialsReadModule!.credentialsMatchConfig).mockReturnValue(true);
948
-
949
- const cfg = {
950
- channels: {
951
- matrix: {
952
- homeserver: "https://matrix.example.org",
953
- userId: "@bot:example.org",
954
- accessToken: "tok-123",
955
- deviceId: "DEVICE123",
956
- encryption: true,
957
- },
958
- },
959
- } as CoreConfig;
960
-
961
- const auth = await resolveMatrixAuth({ cfg, env: {} as NodeJS.ProcessEnv });
962
-
963
- expect(auth.deviceId).toBe("DEVICE123");
964
- expect(auth.accountId).toBe("default");
965
- expect(saveMatrixCredentialsMock).toHaveBeenCalledWith(
966
- expect.objectContaining({
967
- homeserver: "https://matrix.example.org",
968
- userId: "@bot:example.org",
969
- accessToken: "tok-123",
970
- deviceId: "DEVICE123",
971
- }),
972
- expect.any(Object),
973
- "default",
974
- );
975
- });
976
-
977
- it("carries the private-network opt-in through Matrix auth resolution", async () => {
978
- const cfg = {
979
- channels: {
980
- matrix: {
981
- homeserver: "http://127.0.0.1:8008",
982
- allowPrivateNetwork: true,
983
- userId: "@bot:example.org",
984
- accessToken: "tok-123",
985
- deviceId: "DEVICE123",
986
- },
987
- },
988
- } as CoreConfig;
989
-
990
- const auth = await resolveMatrixAuth({ cfg, env: {} as NodeJS.ProcessEnv });
991
-
992
- expect(auth).toMatchObject({
993
- homeserver: "http://127.0.0.1:8008",
994
- allowPrivateNetwork: true,
995
- ssrfPolicy: { allowPrivateNetwork: true },
996
- });
997
- });
998
-
999
- it("resolves token-only non-default account userId from whoami instead of inheriting the base user", async () => {
1000
- matrixDoRequestMock.mockResolvedValue({
1001
- user_id: "@ops:example.org",
1002
- device_id: "OPSDEVICE",
1003
- });
1004
-
1005
- const cfg = {
1006
- channels: {
1007
- matrix: {
1008
- userId: "@base:example.org",
1009
- homeserver: "https://matrix.example.org",
1010
- accounts: {
1011
- ops: {
1012
- homeserver: "https://matrix.example.org",
1013
- accessToken: "ops-token",
1014
- },
1015
- },
1016
- },
1017
- },
1018
- } as CoreConfig;
1019
-
1020
- const auth = await resolveMatrixAuth({
1021
- cfg,
1022
- env: {} as NodeJS.ProcessEnv,
1023
- accountId: "ops",
1024
- });
1025
-
1026
- expect(matrixDoRequestMock).toHaveBeenCalledWith("GET", "/_lobi/client/v3/account/whoami");
1027
- expect(auth.userId).toBe("@ops:example.org");
1028
- expect(auth.deviceId).toBe("OPSDEVICE");
1029
- });
1030
-
1031
- it("uses named-account password auth instead of inheriting the base access token", async () => {
1032
- vi.mocked(credentialsReadModule!.loadMatrixCredentials).mockReturnValue(null);
1033
- vi.mocked(credentialsReadModule!.credentialsMatchConfig).mockReturnValue(false);
1034
- matrixDoRequestMock.mockResolvedValue({
1035
- access_token: "ops-token",
1036
- user_id: "@ops:example.org",
1037
- device_id: "OPSDEVICE",
1038
- });
1039
-
1040
- const cfg = {
1041
- channels: {
1042
- matrix: {
1043
- homeserver: "https://matrix.example.org",
1044
- accessToken: "legacy-token",
1045
- accounts: {
1046
- ops: {
1047
- homeserver: "https://matrix.example.org",
1048
- userId: "@ops:example.org",
1049
- password: "ops-pass", // pragma: allowlist secret
1050
- },
1051
- },
1052
- },
1053
- },
1054
- } as CoreConfig;
1055
-
1056
- const auth = await resolveMatrixAuth({
1057
- cfg,
1058
- env: {} as NodeJS.ProcessEnv,
1059
- accountId: "ops",
1060
- });
1061
-
1062
- expect(matrixDoRequestMock).toHaveBeenCalledWith(
1063
- "POST",
1064
- "/_lobi/client/v3/login",
1065
- undefined,
1066
- expect.objectContaining({
1067
- type: "m.login.password",
1068
- identifier: { type: "m.id.user", user: "@ops:example.org" },
1069
- password: "ops-pass",
1070
- }),
1071
- );
1072
- expect(auth).toMatchObject({
1073
- accountId: "ops",
1074
- homeserver: "https://matrix.example.org",
1075
- userId: "@ops:example.org",
1076
- accessToken: "ops-token",
1077
- deviceId: "OPSDEVICE",
1078
- });
1079
- });
1080
-
1081
- it("resolves missing whoami identity fields for token auth", async () => {
1082
- matrixDoRequestMock.mockResolvedValue({
1083
- user_id: "@bot:example.org",
1084
- device_id: "DEVICE123",
1085
- });
1086
-
1087
- const cfg = {
1088
- channels: {
1089
- matrix: {
1090
- homeserver: "https://matrix.example.org",
1091
- accessToken: "tok-123",
1092
- encryption: true,
1093
- },
1094
- },
1095
- } as CoreConfig;
1096
-
1097
- const auth = await resolveMatrixAuth({
1098
- cfg,
1099
- env: {} as NodeJS.ProcessEnv,
1100
- });
1101
-
1102
- expect(matrixDoRequestMock).toHaveBeenCalledWith("GET", "/_lobi/client/v3/account/whoami");
1103
- expect(auth).toMatchObject({
1104
- accountId: "default",
1105
- homeserver: "https://matrix.example.org",
1106
- userId: "@bot:example.org",
1107
- accessToken: "tok-123",
1108
- deviceId: "DEVICE123",
1109
- encryption: true,
1110
- });
1111
- });
1112
-
1113
- it("retries token whoami when startup auth hits a transient network error", async () => {
1114
- matrixDoRequestMock
1115
- .mockRejectedValueOnce(
1116
- Object.assign(new TypeError("fetch failed"), {
1117
- cause: Object.assign(new Error("read ECONNRESET"), {
1118
- code: "ECONNRESET",
1119
- }),
1120
- }),
1121
- )
1122
- .mockResolvedValue({
1123
- user_id: "@bot:example.org",
1124
- device_id: "DEVICE123",
1125
- });
1126
-
1127
- const cfg = {
1128
- channels: {
1129
- matrix: {
1130
- homeserver: "https://matrix.example.org",
1131
- accessToken: "tok-123",
1132
- },
1133
- },
1134
- } as CoreConfig;
1135
-
1136
- const auth = await resolveMatrixAuth({
1137
- cfg,
1138
- env: {} as NodeJS.ProcessEnv,
1139
- });
1140
-
1141
- expect(matrixDoRequestMock).toHaveBeenCalledTimes(2);
1142
- expect(auth).toMatchObject({
1143
- userId: "@bot:example.org",
1144
- deviceId: "DEVICE123",
1145
- });
1146
- });
1147
-
1148
- it("does not call whoami when token auth already has a userId and only deviceId is missing", async () => {
1149
- matrixDoRequestMock.mockRejectedValue(new Error("whoami should not be called"));
1150
-
1151
- const cfg = {
1152
- channels: {
1153
- matrix: {
1154
- homeserver: "https://matrix.example.org",
1155
- userId: "@bot:example.org",
1156
- accessToken: "tok-123",
1157
- encryption: true,
1158
- },
1159
- },
1160
- } as CoreConfig;
1161
-
1162
- const auth = await resolveMatrixAuth({
1163
- cfg,
1164
- env: {} as NodeJS.ProcessEnv,
1165
- });
1166
-
1167
- expect(matrixDoRequestMock).not.toHaveBeenCalled();
1168
- expect(auth).toMatchObject({
1169
- accountId: "default",
1170
- homeserver: "https://matrix.example.org",
1171
- userId: "@bot:example.org",
1172
- accessToken: "tok-123",
1173
- deviceId: undefined,
1174
- encryption: true,
1175
- });
1176
- });
1177
-
1178
- it("retries password login when startup auth hits a transient network error", async () => {
1179
- matrixDoRequestMock
1180
- .mockRejectedValueOnce(
1181
- Object.assign(new TypeError("fetch failed"), {
1182
- cause: Object.assign(new Error("socket hang up"), {
1183
- code: "ECONNRESET",
1184
- }),
1185
- }),
1186
- )
1187
- .mockResolvedValue({
1188
- access_token: "tok-123",
1189
- user_id: "@bot:example.org",
1190
- device_id: "DEVICE123",
1191
- });
1192
-
1193
- const cfg = {
1194
- channels: {
1195
- matrix: {
1196
- homeserver: "https://matrix.example.org",
1197
- userId: "@bot:example.org",
1198
- password: "secret", // pragma: allowlist secret
1199
- },
1200
- },
1201
- } as CoreConfig;
1202
-
1203
- const auth = await resolveMatrixAuth({
1204
- cfg,
1205
- env: {} as NodeJS.ProcessEnv,
1206
- });
1207
-
1208
- expect(matrixDoRequestMock).toHaveBeenCalledTimes(2);
1209
- expect(auth).toMatchObject({
1210
- accessToken: "tok-123",
1211
- deviceId: "DEVICE123",
1212
- });
1213
- });
1214
-
1215
- it("best-effort backfills a missing deviceId after startup", async () => {
1216
- matrixDoRequestMock.mockResolvedValue({
1217
- user_id: "@bot:example.org",
1218
- device_id: "DEVICE123",
1219
- });
1220
-
1221
- const deviceId = await backfillMatrixAuthDeviceIdAfterStartup({
1222
- auth: {
1223
- accountId: "default",
1224
- homeserver: "https://matrix.example.org",
1225
- userId: "@bot:example.org",
1226
- accessToken: "tok-123",
1227
- },
1228
- env: {} as NodeJS.ProcessEnv,
1229
- });
1230
-
1231
- expect(matrixDoRequestMock).toHaveBeenCalledWith("GET", "/_lobi/client/v3/account/whoami");
1232
- expect(saveBackfilledMatrixDeviceIdMock).toHaveBeenCalledWith(
1233
- {
1234
- homeserver: "https://matrix.example.org",
1235
- userId: "@bot:example.org",
1236
- accessToken: "tok-123",
1237
- deviceId: "DEVICE123",
1238
- },
1239
- expect.any(Object),
1240
- "default",
1241
- );
1242
- expect(repairCurrentTokenStorageMetaDeviceIdMock).toHaveBeenCalledWith({
1243
- homeserver: "https://matrix.example.org",
1244
- userId: "@bot:example.org",
1245
- accessToken: "tok-123",
1246
- accountId: "default",
1247
- deviceId: "DEVICE123",
1248
- env: expect.any(Object),
1249
- });
1250
- expect(repairCurrentTokenStorageMetaDeviceIdMock.mock.invocationCallOrder[0]).toBeLessThan(
1251
- saveBackfilledMatrixDeviceIdMock.mock.invocationCallOrder[0],
1252
- );
1253
- expect(deviceId).toBe("DEVICE123");
1254
- });
1255
-
1256
- it("skips deviceId backfill when auth already includes it", async () => {
1257
- const deviceId = await backfillMatrixAuthDeviceIdAfterStartup({
1258
- auth: {
1259
- accountId: "default",
1260
- homeserver: "https://matrix.example.org",
1261
- userId: "@bot:example.org",
1262
- accessToken: "tok-123",
1263
- deviceId: "DEVICE123",
1264
- },
1265
- env: {} as NodeJS.ProcessEnv,
1266
- });
1267
-
1268
- expect(matrixDoRequestMock).not.toHaveBeenCalled();
1269
- expect(saveMatrixCredentialsMock).not.toHaveBeenCalled();
1270
- expect(saveBackfilledMatrixDeviceIdMock).not.toHaveBeenCalled();
1271
- expect(repairCurrentTokenStorageMetaDeviceIdMock).not.toHaveBeenCalled();
1272
- expect(deviceId).toBe("DEVICE123");
1273
- });
1274
-
1275
- it("fails before saving repaired credentials when storage metadata repair fails", async () => {
1276
- matrixDoRequestMock.mockResolvedValue({
1277
- user_id: "@bot:example.org",
1278
- device_id: "DEVICE123",
1279
- });
1280
- repairCurrentTokenStorageMetaDeviceIdMock.mockReturnValue(false);
1281
-
1282
- await expect(
1283
- backfillMatrixAuthDeviceIdAfterStartup({
1284
- auth: {
1285
- accountId: "default",
1286
- homeserver: "https://matrix.example.org",
1287
- userId: "@bot:example.org",
1288
- accessToken: "tok-123",
1289
- },
1290
- env: {} as NodeJS.ProcessEnv,
1291
- }),
1292
- ).rejects.toThrow("Matrix deviceId backfill failed to repair current-token storage metadata");
1293
- expect(saveBackfilledMatrixDeviceIdMock).not.toHaveBeenCalled();
1294
- });
1295
-
1296
- it("skips stale deviceId backfill writes after newer credentials take over", async () => {
1297
- matrixDoRequestMock.mockResolvedValue({
1298
- user_id: "@bot:example.org",
1299
- device_id: "DEVICE123",
1300
- });
1301
- vi.mocked(requireCredentialsReadModule().loadMatrixCredentials).mockReturnValue({
1302
- homeserver: "https://matrix.example.org",
1303
- userId: "@bot:example.org",
1304
- accessToken: "tok-new",
1305
- deviceId: "DEVICE999",
1306
- createdAt: "2026-03-01T00:00:00.000Z",
1307
- });
1308
-
1309
- const deviceId = await backfillMatrixAuthDeviceIdAfterStartup({
1310
- auth: {
1311
- accountId: "default",
1312
- homeserver: "https://matrix.example.org",
1313
- userId: "@bot:example.org",
1314
- accessToken: "tok-old",
1315
- },
1316
- env: {} as NodeJS.ProcessEnv,
1317
- });
1318
-
1319
- expect(deviceId).toBeUndefined();
1320
- expect(repairCurrentTokenStorageMetaDeviceIdMock).not.toHaveBeenCalled();
1321
- expect(saveBackfilledMatrixDeviceIdMock).not.toHaveBeenCalled();
1322
- });
1323
-
1324
- it("skips persistence when startup backfill is aborted before whoami resolves", async () => {
1325
- let resolveWhoami: ((value: { user_id: string; device_id: string }) => void) | undefined;
1326
- matrixDoRequestMock.mockImplementation(
1327
- () =>
1328
- new Promise((resolve) => {
1329
- resolveWhoami = resolve;
1330
- }),
1331
- );
1332
- const abortController = new AbortController();
1333
- const backfillPromise = backfillMatrixAuthDeviceIdAfterStartup({
1334
- auth: {
1335
- accountId: "default",
1336
- homeserver: "https://matrix.example.org",
1337
- userId: "@bot:example.org",
1338
- accessToken: "tok-123",
1339
- },
1340
- env: {} as NodeJS.ProcessEnv,
1341
- abortSignal: abortController.signal,
1342
- });
1343
-
1344
- await vi.waitFor(() => {
1345
- expect(resolveWhoami).toBeTypeOf("function");
1346
- });
1347
- abortController.abort();
1348
- resolveWhoami?.({
1349
- user_id: "@bot:example.org",
1350
- device_id: "DEVICE123",
1351
- });
1352
-
1353
- await expect(backfillPromise).resolves.toBeUndefined();
1354
- expect(repairCurrentTokenStorageMetaDeviceIdMock).not.toHaveBeenCalled();
1355
- expect(saveBackfilledMatrixDeviceIdMock).not.toHaveBeenCalled();
1356
- });
1357
-
1358
- it("resolves file-backed accessToken SecretRefs during Matrix auth", async () => {
1359
- const tempDir = await fs.mkdtemp(path.join(os.tmpdir(), "matrix-secret-ref-"));
1360
- const secretPath = path.join(tempDir, "token.txt");
1361
- await fs.writeFile(secretPath, "file-token\n", "utf8");
1362
- await fs.chmod(secretPath, 0o600);
1363
-
1364
- matrixDoRequestMock.mockResolvedValue({
1365
- user_id: "@bot:example.org",
1366
- device_id: "DEVICE123",
1367
- });
1368
-
1369
- try {
1370
- const cfg = {
1371
- channels: {
1372
- matrix: {
1373
- homeserver: "https://matrix.example.org",
1374
- accessToken: { source: "file", provider: "matrix-file", id: "value" },
1375
- },
1376
- },
1377
- secrets: {
1378
- providers: {
1379
- "matrix-file": {
1380
- source: "file",
1381
- path: secretPath,
1382
- mode: "singleValue",
1383
- },
1384
- },
1385
- },
1386
- } as CoreConfig;
1387
-
1388
- const auth = await resolveMatrixAuth({
1389
- cfg,
1390
- env: {} as NodeJS.ProcessEnv,
1391
- });
1392
-
1393
- expect(matrixDoRequestMock).toHaveBeenCalledWith("GET", "/_lobi/client/v3/account/whoami");
1394
- expect(auth).toMatchObject({
1395
- accountId: "default",
1396
- homeserver: "https://matrix.example.org",
1397
- userId: "@bot:example.org",
1398
- accessToken: "file-token",
1399
- deviceId: "DEVICE123",
1400
- });
1401
- } finally {
1402
- await fs.rm(tempDir, { recursive: true, force: true });
1403
- }
1404
- });
1405
-
1406
- it("does not resolve inactive password SecretRefs when scoped token auth wins", async () => {
1407
- matrixDoRequestMock.mockResolvedValue({
1408
- user_id: "@ops:example.org",
1409
- device_id: "OPSDEVICE",
1410
- });
1411
-
1412
- const cfg = {
1413
- channels: {
1414
- matrix: {
1415
- accounts: {
1416
- ops: {
1417
- homeserver: "https://matrix.example.org",
1418
- password: { source: "env", provider: "default", id: "MATRIX_OPS_PASSWORD" },
1419
- },
1420
- },
1421
- },
1422
- },
1423
- secrets: {
1424
- defaults: {
1425
- env: "default",
1426
- },
1427
- },
1428
- } as CoreConfig;
1429
-
1430
- installMatrixTestRuntime({ cfg });
1431
-
1432
- const auth = await resolveMatrixAuth({
1433
- cfg,
1434
- env: {
1435
- LOBI_OPS_ACCESS_TOKEN: "ops-token",
1436
- } as NodeJS.ProcessEnv,
1437
- accountId: "ops",
1438
- });
1439
-
1440
- expect(matrixDoRequestMock).toHaveBeenCalledWith("GET", "/_lobi/client/v3/account/whoami");
1441
- expect(auth).toMatchObject({
1442
- accountId: "ops",
1443
- homeserver: "https://matrix.example.org",
1444
- userId: "@ops:example.org",
1445
- accessToken: "ops-token",
1446
- deviceId: "OPSDEVICE",
1447
- password: undefined,
1448
- });
1449
- });
1450
-
1451
- it("uses config deviceId with cached credentials when token is loaded from cache", async () => {
1452
- vi.mocked(credentialsReadModule!.loadMatrixCredentials).mockReturnValue({
1453
- homeserver: "https://matrix.example.org",
1454
- userId: "@bot:example.org",
1455
- accessToken: "tok-123",
1456
- createdAt: "2026-01-01T00:00:00.000Z",
1457
- });
1458
- vi.mocked(credentialsReadModule!.credentialsMatchConfig).mockReturnValue(true);
1459
-
1460
- const cfg = {
1461
- channels: {
1462
- matrix: {
1463
- homeserver: "https://matrix.example.org",
1464
- userId: "@bot:example.org",
1465
- deviceId: "DEVICE123",
1466
- encryption: true,
1467
- },
1468
- },
1469
- } as CoreConfig;
1470
-
1471
- const auth = await resolveMatrixAuth({ cfg, env: {} as NodeJS.ProcessEnv });
1472
-
1473
- expect(auth).toMatchObject({
1474
- accountId: "default",
1475
- homeserver: "https://matrix.example.org",
1476
- userId: "@bot:example.org",
1477
- accessToken: "tok-123",
1478
- deviceId: "DEVICE123",
1479
- encryption: true,
1480
- });
1481
- });
1482
-
1483
- it("falls back to the sole configured account when no global homeserver is set", async () => {
1484
- const cfg = {
1485
- channels: {
1486
- matrix: {
1487
- accounts: {
1488
- ops: {
1489
- homeserver: "https://ops.example.org",
1490
- userId: "@ops:example.org",
1491
- accessToken: "ops-token",
1492
- deviceId: "OPSDEVICE",
1493
- encryption: true,
1494
- },
1495
- },
1496
- },
1497
- },
1498
- } as CoreConfig;
1499
-
1500
- const auth = await resolveMatrixAuth({ cfg, env: {} as NodeJS.ProcessEnv });
1501
-
1502
- expect(auth).toMatchObject({
1503
- accountId: "ops",
1504
- homeserver: "https://ops.example.org",
1505
- userId: "@ops:example.org",
1506
- accessToken: "ops-token",
1507
- deviceId: "OPSDEVICE",
1508
- encryption: true,
1509
- });
1510
- expect(saveMatrixCredentialsMock).toHaveBeenCalledWith(
1511
- expect.objectContaining({
1512
- homeserver: "https://ops.example.org",
1513
- userId: "@ops:example.org",
1514
- accessToken: "ops-token",
1515
- deviceId: "OPSDEVICE",
1516
- }),
1517
- expect.any(Object),
1518
- "ops",
1519
- );
1520
- });
1521
- });