@archipelagolab/lobi 1.0.0 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1165) hide show
  1. package/LICENSE +13 -17
  2. package/README.md +136 -0
  3. package/dist/APEv2Parser-6EMKXRZS.js +15 -0
  4. package/dist/APEv2Parser-6EMKXRZS.js.map +7 -0
  5. package/dist/AiffParser-E6XWRTXM.js +194 -0
  6. package/dist/AiffParser-E6XWRTXM.js.map +7 -0
  7. package/dist/AsfParser-WSOH2JQY.js +620 -0
  8. package/dist/AsfParser-WSOH2JQY.js.map +7 -0
  9. package/dist/DsdiffParser-EUWJ4YAR.js +192 -0
  10. package/dist/DsdiffParser-EUWJ4YAR.js.map +7 -0
  11. package/dist/DsfParser-R6TPBJIY.js +114 -0
  12. package/dist/DsfParser-R6TPBJIY.js.map +7 -0
  13. package/dist/FlacParser-VDASGZ3E.js +16 -0
  14. package/dist/FlacParser-VDASGZ3E.js.map +7 -0
  15. package/dist/MP4Parser-64RGJLUM.js +1145 -0
  16. package/dist/MP4Parser-64RGJLUM.js.map +7 -0
  17. package/dist/MatroskaParser-O6RXAKYA.js +662 -0
  18. package/dist/MatroskaParser-O6RXAKYA.js.map +7 -0
  19. package/dist/MpegParser-B6NX6DS3.js +652 -0
  20. package/dist/MpegParser-B6NX6DS3.js.map +7 -0
  21. package/dist/MusepackParser-WUBT63DS.js +331 -0
  22. package/dist/MusepackParser-WUBT63DS.js.map +7 -0
  23. package/dist/OggParser-ZY6E5C2P.js +448 -0
  24. package/dist/OggParser-ZY6E5C2P.js.map +7 -0
  25. package/dist/WavPackParser-5KTCSQEU.js +209 -0
  26. package/dist/WavPackParser-5KTCSQEU.js.map +7 -0
  27. package/dist/WaveParser-RZSHVQPZ.js +300 -0
  28. package/dist/WaveParser-RZSHVQPZ.js.map +7 -0
  29. package/dist/auth-presence.js +46 -0
  30. package/dist/auth-presence.js.map +7 -0
  31. package/dist/channel-plugin-api.js +79 -0
  32. package/dist/channel-plugin-api.js.map +7 -0
  33. package/dist/chunk-22WAAZ6I.js +114 -0
  34. package/dist/chunk-22WAAZ6I.js.map +7 -0
  35. package/dist/chunk-2A6HEFSO.js +676 -0
  36. package/dist/chunk-2A6HEFSO.js.map +7 -0
  37. package/dist/chunk-2KGHUHKU.js +169 -0
  38. package/dist/chunk-2KGHUHKU.js.map +7 -0
  39. package/dist/chunk-2NEQI4K6.js +171 -0
  40. package/dist/chunk-2NEQI4K6.js.map +7 -0
  41. package/dist/chunk-2OSJ3MTW.js +175 -0
  42. package/dist/chunk-2OSJ3MTW.js.map +7 -0
  43. package/dist/chunk-2Q626TDO.js +27 -0
  44. package/dist/chunk-2Q626TDO.js.map +7 -0
  45. package/dist/chunk-2U6OZ7N2.js +155 -0
  46. package/dist/chunk-2U6OZ7N2.js.map +7 -0
  47. package/dist/chunk-2Z4IOUDZ.js +129 -0
  48. package/dist/chunk-2Z4IOUDZ.js.map +7 -0
  49. package/dist/chunk-2ZEPAW7U.js +154 -0
  50. package/dist/chunk-2ZEPAW7U.js.map +7 -0
  51. package/dist/chunk-2ZI6JK5O.js +63 -0
  52. package/dist/chunk-2ZI6JK5O.js.map +7 -0
  53. package/dist/chunk-34UY6D6X.js +36 -0
  54. package/dist/chunk-34UY6D6X.js.map +7 -0
  55. package/dist/chunk-3JD6JSJD.js +111 -0
  56. package/dist/chunk-3JD6JSJD.js.map +7 -0
  57. package/dist/chunk-3TOEIHG5.js +314 -0
  58. package/dist/chunk-3TOEIHG5.js.map +7 -0
  59. package/dist/chunk-3TRKKAVT.js +130 -0
  60. package/dist/chunk-3TRKKAVT.js.map +7 -0
  61. package/dist/chunk-3UFTTK7C.js +418 -0
  62. package/dist/chunk-3UFTTK7C.js.map +7 -0
  63. package/dist/chunk-3XO6AAIC.js +25 -0
  64. package/dist/chunk-3XO6AAIC.js.map +7 -0
  65. package/dist/chunk-427SAQME.js +321 -0
  66. package/dist/chunk-427SAQME.js.map +7 -0
  67. package/dist/chunk-4JVNTZAI.js +80 -0
  68. package/dist/chunk-4JVNTZAI.js.map +7 -0
  69. package/dist/chunk-4O3BEYYM.js +187 -0
  70. package/dist/chunk-4O3BEYYM.js.map +7 -0
  71. package/dist/chunk-4Z2N4GW6.js +247 -0
  72. package/dist/chunk-4Z2N4GW6.js.map +7 -0
  73. package/dist/chunk-56HN4SH6.js +46 -0
  74. package/dist/chunk-56HN4SH6.js.map +7 -0
  75. package/dist/chunk-5APBBTGW.js +7 -0
  76. package/dist/chunk-5APBBTGW.js.map +7 -0
  77. package/dist/chunk-5LNGMBWW.js +93 -0
  78. package/dist/chunk-5LNGMBWW.js.map +7 -0
  79. package/dist/chunk-5XFQSYZ4.js +52 -0
  80. package/dist/chunk-5XFQSYZ4.js.map +7 -0
  81. package/dist/chunk-62N5N4AC.js +241 -0
  82. package/dist/chunk-62N5N4AC.js.map +7 -0
  83. package/dist/chunk-6HX3DEXK.js +178 -0
  84. package/dist/chunk-6HX3DEXK.js.map +7 -0
  85. package/dist/chunk-6NO5VEVV.js +18 -0
  86. package/dist/chunk-6NO5VEVV.js.map +7 -0
  87. package/dist/chunk-6PZGDVLR.js +465 -0
  88. package/dist/chunk-6PZGDVLR.js.map +7 -0
  89. package/dist/chunk-6SOGH3TW.js +163 -0
  90. package/dist/chunk-6SOGH3TW.js.map +7 -0
  91. package/dist/chunk-72TGY3LX.js +104 -0
  92. package/dist/chunk-72TGY3LX.js.map +7 -0
  93. package/dist/chunk-76IE55K7.js +392 -0
  94. package/dist/chunk-76IE55K7.js.map +7 -0
  95. package/dist/chunk-7F3242AO.js +86 -0
  96. package/dist/chunk-7F3242AO.js.map +7 -0
  97. package/dist/chunk-7FLQSTPG.js +57 -0
  98. package/dist/chunk-7FLQSTPG.js.map +7 -0
  99. package/dist/chunk-7MP46JBP.js +177 -0
  100. package/dist/chunk-7MP46JBP.js.map +7 -0
  101. package/dist/chunk-7MVZYR2T.js +87 -0
  102. package/dist/chunk-7MVZYR2T.js.map +7 -0
  103. package/dist/chunk-7N7ISMPG.js +50 -0
  104. package/dist/chunk-7N7ISMPG.js.map +7 -0
  105. package/dist/chunk-7S7LQQPX.js +127 -0
  106. package/dist/chunk-7S7LQQPX.js.map +7 -0
  107. package/dist/chunk-7TTNY5FK.js +21 -0
  108. package/dist/chunk-7TTNY5FK.js.map +7 -0
  109. package/dist/chunk-7W73QCTR.js +244 -0
  110. package/dist/chunk-7W73QCTR.js.map +7 -0
  111. package/dist/chunk-7XXLU33Y.js +76 -0
  112. package/dist/chunk-7XXLU33Y.js.map +7 -0
  113. package/dist/chunk-AAO7BQEV.js +258 -0
  114. package/dist/chunk-AAO7BQEV.js.map +7 -0
  115. package/dist/chunk-AH4MLRYT.js +91 -0
  116. package/dist/chunk-AH4MLRYT.js.map +7 -0
  117. package/dist/chunk-AHKR32FH.js +7 -0
  118. package/dist/chunk-AHKR32FH.js.map +7 -0
  119. package/dist/chunk-ALKRFDAW.js +94 -0
  120. package/dist/chunk-ALKRFDAW.js.map +7 -0
  121. package/dist/chunk-AQQGAE7N.js +12 -0
  122. package/dist/chunk-AQQGAE7N.js.map +7 -0
  123. package/dist/chunk-AWW3YUGJ.js +193 -0
  124. package/dist/chunk-AWW3YUGJ.js.map +7 -0
  125. package/dist/chunk-AX7VEEWJ.js +158 -0
  126. package/dist/chunk-AX7VEEWJ.js.map +7 -0
  127. package/dist/chunk-BAX7Q6GR.js +55 -0
  128. package/dist/chunk-BAX7Q6GR.js.map +7 -0
  129. package/dist/chunk-BBM6BR3Z.js +28 -0
  130. package/dist/chunk-BBM6BR3Z.js.map +7 -0
  131. package/dist/chunk-BHXZMHSX.js +109 -0
  132. package/dist/chunk-BHXZMHSX.js.map +7 -0
  133. package/dist/chunk-BIUXDLVY.js +62 -0
  134. package/dist/chunk-BIUXDLVY.js.map +7 -0
  135. package/dist/chunk-BMFZL2P4.js +97 -0
  136. package/dist/chunk-BMFZL2P4.js.map +7 -0
  137. package/dist/chunk-BQXEXK4H.js +114 -0
  138. package/dist/chunk-BQXEXK4H.js.map +7 -0
  139. package/dist/chunk-BU2CTWBG.js +30 -0
  140. package/dist/chunk-BU2CTWBG.js.map +7 -0
  141. package/dist/chunk-BVKSCLF7.js +195 -0
  142. package/dist/chunk-BVKSCLF7.js.map +7 -0
  143. package/dist/chunk-BWA3D22L.js +88 -0
  144. package/dist/chunk-BWA3D22L.js.map +7 -0
  145. package/dist/chunk-CE24RSPL.js +506 -0
  146. package/dist/chunk-CE24RSPL.js.map +7 -0
  147. package/dist/chunk-CETZGSCP.js +71 -0
  148. package/dist/chunk-CETZGSCP.js.map +7 -0
  149. package/dist/chunk-CGBWMONK.js +412 -0
  150. package/dist/chunk-CGBWMONK.js.map +7 -0
  151. package/dist/chunk-CPNIXMGX.js +127 -0
  152. package/dist/chunk-CPNIXMGX.js.map +7 -0
  153. package/dist/chunk-CSJO73LD.js +84 -0
  154. package/dist/chunk-CSJO73LD.js.map +7 -0
  155. package/dist/chunk-CTKBDSL6.js +81 -0
  156. package/dist/chunk-CTKBDSL6.js.map +7 -0
  157. package/dist/chunk-CY6WHUCW.js +54 -0
  158. package/dist/chunk-CY6WHUCW.js.map +7 -0
  159. package/dist/chunk-D7Q6Z74D.js +123 -0
  160. package/dist/chunk-D7Q6Z74D.js.map +7 -0
  161. package/dist/chunk-DZIM4OWK.js +17 -0
  162. package/dist/chunk-DZIM4OWK.js.map +7 -0
  163. package/dist/chunk-E3GC4V5V.js +30 -0
  164. package/dist/chunk-E3GC4V5V.js.map +7 -0
  165. package/dist/chunk-E5HPDHCW.js +34 -0
  166. package/dist/chunk-E5HPDHCW.js.map +7 -0
  167. package/dist/chunk-E75BJJZ2.js +635 -0
  168. package/dist/chunk-E75BJJZ2.js.map +7 -0
  169. package/dist/chunk-EE4DHUUZ.js +472 -0
  170. package/dist/chunk-EE4DHUUZ.js.map +7 -0
  171. package/dist/chunk-EHELTAAD.js +198 -0
  172. package/dist/chunk-EHELTAAD.js.map +7 -0
  173. package/dist/chunk-EKXPSI7Z.js +135 -0
  174. package/dist/chunk-EKXPSI7Z.js.map +7 -0
  175. package/dist/chunk-ERCH75SH.js +292 -0
  176. package/dist/chunk-ERCH75SH.js.map +7 -0
  177. package/dist/chunk-EVFWZGFL.js +235 -0
  178. package/dist/chunk-EVFWZGFL.js.map +7 -0
  179. package/dist/chunk-EVPBRKMZ.js +45 -0
  180. package/dist/chunk-EVPBRKMZ.js.map +7 -0
  181. package/dist/chunk-F6AFJHWV.js +45 -0
  182. package/dist/chunk-F6AFJHWV.js.map +7 -0
  183. package/dist/chunk-FG4NVFKM.js +455 -0
  184. package/dist/chunk-FG4NVFKM.js.map +7 -0
  185. package/dist/chunk-FHNEN6IR.js +14 -0
  186. package/dist/chunk-FHNEN6IR.js.map +7 -0
  187. package/dist/chunk-FQ4R7IOX.js +32 -0
  188. package/dist/chunk-FQ4R7IOX.js.map +7 -0
  189. package/dist/chunk-FQPYAPJJ.js +124 -0
  190. package/dist/chunk-FQPYAPJJ.js.map +7 -0
  191. package/dist/chunk-FQTLJO4W.js +335 -0
  192. package/dist/chunk-FQTLJO4W.js.map +7 -0
  193. package/dist/chunk-FVLJSB2W.js +124 -0
  194. package/dist/chunk-FVLJSB2W.js.map +7 -0
  195. package/dist/chunk-FYRKBNTI.js +18 -0
  196. package/dist/chunk-FYRKBNTI.js.map +7 -0
  197. package/dist/chunk-GD6L3SLC.js +30 -0
  198. package/dist/chunk-GD6L3SLC.js.map +7 -0
  199. package/dist/chunk-GI2ZANRY.js +24 -0
  200. package/dist/chunk-GI2ZANRY.js.map +7 -0
  201. package/dist/chunk-GK3XVKXT.js +737 -0
  202. package/dist/chunk-GK3XVKXT.js.map +7 -0
  203. package/dist/chunk-GKOWCDQV.js +699 -0
  204. package/dist/chunk-GKOWCDQV.js.map +7 -0
  205. package/dist/chunk-GLLRCKKE.js +26 -0
  206. package/dist/chunk-GLLRCKKE.js.map +7 -0
  207. package/dist/chunk-GNYG6I36.js +175 -0
  208. package/dist/chunk-GNYG6I36.js.map +7 -0
  209. package/dist/chunk-GVYGUH2V.js +7 -0
  210. package/dist/chunk-GVYGUH2V.js.map +7 -0
  211. package/dist/chunk-GZAGAWSU.js +28 -0
  212. package/dist/chunk-GZAGAWSU.js.map +7 -0
  213. package/dist/chunk-H23E72SB.js +163 -0
  214. package/dist/chunk-H23E72SB.js.map +7 -0
  215. package/dist/chunk-H6YVV7GE.js +22 -0
  216. package/dist/chunk-H6YVV7GE.js.map +7 -0
  217. package/dist/chunk-HDPICD3P.js +4890 -0
  218. package/dist/chunk-HDPICD3P.js.map +7 -0
  219. package/dist/chunk-HP5HMWOM.js +123 -0
  220. package/dist/chunk-HP5HMWOM.js.map +7 -0
  221. package/dist/chunk-HQSHS6IB.js +88 -0
  222. package/dist/chunk-HQSHS6IB.js.map +7 -0
  223. package/dist/chunk-HTV3R73W.js +51 -0
  224. package/dist/chunk-HTV3R73W.js.map +7 -0
  225. package/dist/chunk-IJCMYMZB.js +239 -0
  226. package/dist/chunk-IJCMYMZB.js.map +7 -0
  227. package/dist/chunk-INNENDEE.js +472 -0
  228. package/dist/chunk-INNENDEE.js.map +7 -0
  229. package/dist/chunk-IOTLSMEQ.js +177 -0
  230. package/dist/chunk-IOTLSMEQ.js.map +7 -0
  231. package/dist/chunk-IQYYEHSM.js +300 -0
  232. package/dist/chunk-IQYYEHSM.js.map +7 -0
  233. package/dist/chunk-IRA5NJ4Q.js +21 -0
  234. package/dist/chunk-IRA5NJ4Q.js.map +7 -0
  235. package/dist/chunk-IU7EXXK7.js +1662 -0
  236. package/dist/chunk-IU7EXXK7.js.map +7 -0
  237. package/dist/chunk-IUXAKDAY.js +102 -0
  238. package/dist/chunk-IUXAKDAY.js.map +7 -0
  239. package/dist/chunk-JMYIFYY5.js +233 -0
  240. package/dist/chunk-JMYIFYY5.js.map +7 -0
  241. package/dist/chunk-JSZBX2TA.js +5853 -0
  242. package/dist/chunk-JSZBX2TA.js.map +7 -0
  243. package/dist/chunk-KHFWQ334.js +138 -0
  244. package/dist/chunk-KHFWQ334.js.map +7 -0
  245. package/dist/chunk-KJW6JLM6.js +95 -0
  246. package/dist/chunk-KJW6JLM6.js.map +7 -0
  247. package/dist/chunk-KSEANSJE.js +40 -0
  248. package/dist/chunk-KSEANSJE.js.map +7 -0
  249. package/dist/chunk-KVU54E6W.js +63 -0
  250. package/dist/chunk-KVU54E6W.js.map +7 -0
  251. package/dist/chunk-L5OUVMHK.js +174 -0
  252. package/dist/chunk-L5OUVMHK.js.map +7 -0
  253. package/dist/chunk-LIVQ7GIO.js +86 -0
  254. package/dist/chunk-LIVQ7GIO.js.map +7 -0
  255. package/dist/chunk-LO4F6E3N.js +163 -0
  256. package/dist/chunk-LO4F6E3N.js.map +7 -0
  257. package/dist/chunk-LSVKDUNM.js +151 -0
  258. package/dist/chunk-LSVKDUNM.js.map +7 -0
  259. package/dist/chunk-LVMK2GPM.js +18 -0
  260. package/dist/chunk-LVMK2GPM.js.map +7 -0
  261. package/dist/chunk-LXVPETLK.js +1405 -0
  262. package/dist/chunk-LXVPETLK.js.map +7 -0
  263. package/dist/chunk-LZNW24OB.js +78 -0
  264. package/dist/chunk-LZNW24OB.js.map +7 -0
  265. package/dist/chunk-MAF6PSCJ.js +44 -0
  266. package/dist/chunk-MAF6PSCJ.js.map +7 -0
  267. package/dist/chunk-MBIX6Z7U.js +80 -0
  268. package/dist/chunk-MBIX6Z7U.js.map +7 -0
  269. package/dist/chunk-MDLLXMC3.js +183 -0
  270. package/dist/chunk-MDLLXMC3.js.map +7 -0
  271. package/dist/chunk-MEI5HTWV.js +127 -0
  272. package/dist/chunk-MEI5HTWV.js.map +7 -0
  273. package/dist/chunk-MH74AJ3A.js +82 -0
  274. package/dist/chunk-MH74AJ3A.js.map +7 -0
  275. package/dist/chunk-MIFIM4PI.js +163 -0
  276. package/dist/chunk-MIFIM4PI.js.map +7 -0
  277. package/dist/chunk-MISZB5QJ.js +22 -0
  278. package/dist/chunk-MISZB5QJ.js.map +7 -0
  279. package/dist/chunk-MJ27XQYG.js +125 -0
  280. package/dist/chunk-MJ27XQYG.js.map +7 -0
  281. package/dist/chunk-MLQY5SKR.js +52 -0
  282. package/dist/chunk-MLQY5SKR.js.map +7 -0
  283. package/dist/chunk-MTMHGC3G.js +39 -0
  284. package/dist/chunk-MTMHGC3G.js.map +7 -0
  285. package/dist/chunk-MWBAW3YV.js +244 -0
  286. package/dist/chunk-MWBAW3YV.js.map +7 -0
  287. package/dist/chunk-MZGGB2YT.js +50 -0
  288. package/dist/chunk-MZGGB2YT.js.map +7 -0
  289. package/dist/chunk-N5SNGZJV.js +217 -0
  290. package/dist/chunk-N5SNGZJV.js.map +7 -0
  291. package/dist/chunk-NGCTBYQ3.js +181 -0
  292. package/dist/chunk-NGCTBYQ3.js.map +7 -0
  293. package/dist/chunk-NMUX7SGU.js +676 -0
  294. package/dist/chunk-NMUX7SGU.js.map +7 -0
  295. package/dist/chunk-NO7GMLNU.js +292 -0
  296. package/dist/chunk-NO7GMLNU.js.map +7 -0
  297. package/dist/chunk-NTOGVX2Y.js +92 -0
  298. package/dist/chunk-NTOGVX2Y.js.map +7 -0
  299. package/dist/chunk-O5IVKDX7.js +30 -0
  300. package/dist/chunk-O5IVKDX7.js.map +7 -0
  301. package/dist/chunk-OFWMLQMU.js +7287 -0
  302. package/dist/chunk-OFWMLQMU.js.map +7 -0
  303. package/dist/chunk-OJ3ZUKBI.js +73 -0
  304. package/dist/chunk-OJ3ZUKBI.js.map +7 -0
  305. package/dist/chunk-OJTHE4B7.js +50 -0
  306. package/dist/chunk-OJTHE4B7.js.map +7 -0
  307. package/dist/chunk-OOYPYBTA.js +446 -0
  308. package/dist/chunk-OOYPYBTA.js.map +7 -0
  309. package/dist/chunk-OQP4W4AR.js +105 -0
  310. package/dist/chunk-OQP4W4AR.js.map +7 -0
  311. package/dist/chunk-OVTT2EKA.js +516 -0
  312. package/dist/chunk-OVTT2EKA.js.map +7 -0
  313. package/dist/chunk-P5N63LBS.js +94 -0
  314. package/dist/chunk-P5N63LBS.js.map +7 -0
  315. package/dist/chunk-PARITZ7F.js +28 -0
  316. package/dist/chunk-PARITZ7F.js.map +7 -0
  317. package/dist/chunk-PBQK4KY4.js +195 -0
  318. package/dist/chunk-PBQK4KY4.js.map +7 -0
  319. package/dist/chunk-PSL2AHIA.js +27 -0
  320. package/dist/chunk-PSL2AHIA.js.map +7 -0
  321. package/dist/chunk-Q5QT7JBM.js +92 -0
  322. package/dist/chunk-Q5QT7JBM.js.map +7 -0
  323. package/dist/chunk-Q7WA5DCR.js +62 -0
  324. package/dist/chunk-Q7WA5DCR.js.map +7 -0
  325. package/dist/chunk-QATEENP2.js +7 -0
  326. package/dist/chunk-QATEENP2.js.map +7 -0
  327. package/dist/chunk-QDT24CIA.js +485 -0
  328. package/dist/chunk-QDT24CIA.js.map +7 -0
  329. package/dist/chunk-QI3NB7D5.js +455 -0
  330. package/dist/chunk-QI3NB7D5.js.map +7 -0
  331. package/dist/chunk-QIDAVXSX.js +106 -0
  332. package/dist/chunk-QIDAVXSX.js.map +7 -0
  333. package/dist/chunk-QKIGQVP2.js +104 -0
  334. package/dist/chunk-QKIGQVP2.js.map +7 -0
  335. package/dist/chunk-QNJENPK2.js +81 -0
  336. package/dist/chunk-QNJENPK2.js.map +7 -0
  337. package/dist/chunk-REVXXWAS.js +31 -0
  338. package/dist/chunk-REVXXWAS.js.map +7 -0
  339. package/dist/chunk-RFH4HRZP.js +94 -0
  340. package/dist/chunk-RFH4HRZP.js.map +7 -0
  341. package/dist/chunk-RNGAGYCL.js +49 -0
  342. package/dist/chunk-RNGAGYCL.js.map +7 -0
  343. package/dist/chunk-RPCVN3JA.js +261 -0
  344. package/dist/chunk-RPCVN3JA.js.map +7 -0
  345. package/dist/chunk-RQQE5DDT.js +193 -0
  346. package/dist/chunk-RQQE5DDT.js.map +7 -0
  347. package/dist/chunk-RVOD3ESA.js +38 -0
  348. package/dist/chunk-RVOD3ESA.js.map +7 -0
  349. package/dist/chunk-SAOUP24A.js +70 -0
  350. package/dist/chunk-SAOUP24A.js.map +7 -0
  351. package/dist/chunk-SFZL2TCV.js +55 -0
  352. package/dist/chunk-SFZL2TCV.js.map +7 -0
  353. package/dist/chunk-SJPFUXBV.js +45 -0
  354. package/dist/chunk-SJPFUXBV.js.map +7 -0
  355. package/dist/chunk-SLIUQWAR.js +58 -0
  356. package/dist/chunk-SLIUQWAR.js.map +7 -0
  357. package/dist/chunk-SSEX66OL.js +39 -0
  358. package/dist/chunk-SSEX66OL.js.map +7 -0
  359. package/dist/chunk-SX2LOHOX.js +251 -0
  360. package/dist/chunk-SX2LOHOX.js.map +7 -0
  361. package/dist/chunk-T72EMFTX.js +74 -0
  362. package/dist/chunk-T72EMFTX.js.map +7 -0
  363. package/dist/chunk-TA2QJPPG.js +169 -0
  364. package/dist/chunk-TA2QJPPG.js.map +7 -0
  365. package/dist/chunk-TFEETDNY.js +78 -0
  366. package/dist/chunk-TFEETDNY.js.map +7 -0
  367. package/dist/chunk-THM2QV25.js +108 -0
  368. package/dist/chunk-THM2QV25.js.map +7 -0
  369. package/dist/chunk-TRWT2N6Z.js +15 -0
  370. package/dist/chunk-TRWT2N6Z.js.map +7 -0
  371. package/dist/chunk-TTXEM54Y.js +76 -0
  372. package/dist/chunk-TTXEM54Y.js.map +7 -0
  373. package/dist/chunk-U4LVIY5F.js +1405 -0
  374. package/dist/chunk-U4LVIY5F.js.map +7 -0
  375. package/dist/chunk-U767LCSG.js +78 -0
  376. package/dist/chunk-U767LCSG.js.map +7 -0
  377. package/dist/chunk-U7GKLHU6.js +120 -0
  378. package/dist/chunk-U7GKLHU6.js.map +7 -0
  379. package/dist/chunk-UAB5P5QO.js +60 -0
  380. package/dist/chunk-UAB5P5QO.js.map +7 -0
  381. package/dist/chunk-UEHPJQBL.js +38 -0
  382. package/dist/chunk-UEHPJQBL.js.map +7 -0
  383. package/dist/chunk-UIBV6IGR.js +31 -0
  384. package/dist/chunk-UIBV6IGR.js.map +7 -0
  385. package/dist/chunk-UIYFRUET.js +16352 -0
  386. package/dist/chunk-UIYFRUET.js.map +7 -0
  387. package/dist/chunk-UJS3TIVS.js +52 -0
  388. package/dist/chunk-UJS3TIVS.js.map +7 -0
  389. package/dist/chunk-UU5PSBSI.js +176 -0
  390. package/dist/chunk-UU5PSBSI.js.map +7 -0
  391. package/dist/chunk-UV63XYFU.js +173 -0
  392. package/dist/chunk-UV63XYFU.js.map +7 -0
  393. package/dist/chunk-UWPHOAOC.js +29 -0
  394. package/dist/chunk-UWPHOAOC.js.map +7 -0
  395. package/dist/chunk-UXDDOSJC.js +52 -0
  396. package/dist/chunk-UXDDOSJC.js.map +7 -0
  397. package/dist/chunk-V3VAOMCO.js +465 -0
  398. package/dist/chunk-V3VAOMCO.js.map +7 -0
  399. package/dist/chunk-VA7ENH2S.js +38 -0
  400. package/dist/chunk-VA7ENH2S.js.map +7 -0
  401. package/dist/chunk-VFPDFLVE.js +516 -0
  402. package/dist/chunk-VFPDFLVE.js.map +7 -0
  403. package/dist/chunk-VHG4FNIJ.js +93 -0
  404. package/dist/chunk-VHG4FNIJ.js.map +7 -0
  405. package/dist/chunk-VKOO6MIZ.js +51 -0
  406. package/dist/chunk-VKOO6MIZ.js.map +7 -0
  407. package/dist/chunk-VKXKRZG7.js +62 -0
  408. package/dist/chunk-VKXKRZG7.js.map +7 -0
  409. package/dist/chunk-VUOLPEUZ.js +7 -0
  410. package/dist/chunk-VUOLPEUZ.js.map +7 -0
  411. package/dist/chunk-W6SOBS7M.js +138 -0
  412. package/dist/chunk-W6SOBS7M.js.map +7 -0
  413. package/dist/chunk-WDOKKRTE.js +7 -0
  414. package/dist/chunk-WDOKKRTE.js.map +7 -0
  415. package/dist/chunk-WGXXKFN5.js +7 -0
  416. package/dist/chunk-WGXXKFN5.js.map +7 -0
  417. package/dist/chunk-WHPUUP3J.js +25 -0
  418. package/dist/chunk-WHPUUP3J.js.map +7 -0
  419. package/dist/chunk-XF7LD6VV.js +122 -0
  420. package/dist/chunk-XF7LD6VV.js.map +7 -0
  421. package/dist/chunk-XFTXM3RE.js +64 -0
  422. package/dist/chunk-XFTXM3RE.js.map +7 -0
  423. package/dist/chunk-XJABPO2T.js +235 -0
  424. package/dist/chunk-XJABPO2T.js.map +7 -0
  425. package/dist/chunk-XK6VF3H7.js +3586 -0
  426. package/dist/chunk-XK6VF3H7.js.map +7 -0
  427. package/dist/chunk-XQYIIPOJ.js +266 -0
  428. package/dist/chunk-XQYIIPOJ.js.map +7 -0
  429. package/dist/chunk-XZSAN55E.js +58 -0
  430. package/dist/chunk-XZSAN55E.js.map +7 -0
  431. package/dist/chunk-Y3KJR4OG.js +64 -0
  432. package/dist/chunk-Y3KJR4OG.js.map +7 -0
  433. package/dist/chunk-Y4JKH7FF.js +45 -0
  434. package/dist/chunk-Y4JKH7FF.js.map +7 -0
  435. package/dist/chunk-Y6CJN4ID.js +31 -0
  436. package/dist/chunk-Y6CJN4ID.js.map +7 -0
  437. package/dist/chunk-YABGJU5M.js +271 -0
  438. package/dist/chunk-YABGJU5M.js.map +7 -0
  439. package/dist/chunk-YEJH7ZC2.js +34 -0
  440. package/dist/chunk-YEJH7ZC2.js.map +7 -0
  441. package/dist/chunk-YFTE4H54.js +44117 -0
  442. package/dist/chunk-YFTE4H54.js.map +7 -0
  443. package/dist/chunk-YNJYMD43.js +392 -0
  444. package/dist/chunk-YNJYMD43.js.map +7 -0
  445. package/dist/chunk-YNYEQGVN.js +251 -0
  446. package/dist/chunk-YNYEQGVN.js.map +7 -0
  447. package/dist/chunk-YUPBD27Z.js +70 -0
  448. package/dist/chunk-YUPBD27Z.js.map +7 -0
  449. package/dist/chunk-YXJ52FD5.js +271 -0
  450. package/dist/chunk-YXJ52FD5.js.map +7 -0
  451. package/dist/chunk-YZGORRQN.js +3101 -0
  452. package/dist/chunk-YZGORRQN.js.map +7 -0
  453. package/dist/chunk-Z6IVJ6ZW.js +30 -0
  454. package/dist/chunk-Z6IVJ6ZW.js.map +7 -0
  455. package/dist/chunk-ZFC44XJJ.js +86 -0
  456. package/dist/chunk-ZFC44XJJ.js.map +7 -0
  457. package/dist/chunk-ZJDJC5TP.js +82 -0
  458. package/dist/chunk-ZJDJC5TP.js.map +7 -0
  459. package/dist/chunk-ZJGZNPDK.js +171 -0
  460. package/dist/chunk-ZJGZNPDK.js.map +7 -0
  461. package/dist/chunk-ZJHBJWZX.js +699 -0
  462. package/dist/chunk-ZJHBJWZX.js.map +7 -0
  463. package/dist/chunk-ZNOTD65D.js +95 -0
  464. package/dist/chunk-ZNOTD65D.js.map +7 -0
  465. package/dist/chunk-ZQ2QIFXW.js +122 -0
  466. package/dist/chunk-ZQ2QIFXW.js.map +7 -0
  467. package/dist/chunk-ZRMXPQGY.js +241 -0
  468. package/dist/chunk-ZRMXPQGY.js.map +7 -0
  469. package/dist/chunk-ZVEE5IDC.js +3101 -0
  470. package/dist/chunk-ZVEE5IDC.js.map +7 -0
  471. package/dist/cli-metadata.js +12 -0
  472. package/dist/cli-metadata.js.map +7 -0
  473. package/dist/contract-api.js +104 -0
  474. package/dist/contract-api.js.map +7 -0
  475. package/dist/dist-F3K7S5SS.js +549 -0
  476. package/dist/dist-F3K7S5SS.js.map +7 -0
  477. package/dist/helper-api.js +51 -0
  478. package/dist/helper-api.js.map +7 -0
  479. package/dist/index.js +71 -0
  480. package/dist/index.js.map +7 -0
  481. package/dist/magic-string.es-V5NOGTUV.js +1315 -0
  482. package/dist/magic-string.es-V5NOGTUV.js.map +7 -0
  483. package/dist/openclaw.plugin.json +23 -0
  484. package/dist/package.json +59 -0
  485. package/dist/plugin-entry.handlers.runtime-POD4CSHM.js +20 -0
  486. package/dist/plugin-entry.handlers.runtime-POD4CSHM.js.map +7 -0
  487. package/dist/plugin-entry.handlers.runtime-YOSG6V6U.js +20 -0
  488. package/dist/plugin-entry.handlers.runtime-YOSG6V6U.js.map +7 -0
  489. package/dist/runtime-api.js +104 -0
  490. package/dist/runtime-api.js.map +7 -0
  491. package/dist/rust-crypto-H35BXWUU.js +5323 -0
  492. package/dist/rust-crypto-H35BXWUU.js.map +7 -0
  493. package/dist/secret-contract-api.js +18 -0
  494. package/dist/secret-contract-api.js.map +7 -0
  495. package/dist/setup-entry.js +23 -0
  496. package/dist/setup-entry.js.map +7 -0
  497. package/dist/src/account-selection.js +19 -0
  498. package/dist/src/account-selection.js.map +7 -0
  499. package/dist/src/actions.js +24 -0
  500. package/dist/src/actions.js.map +7 -0
  501. package/dist/src/approval-auth.js +27 -0
  502. package/dist/src/approval-auth.js.map +7 -0
  503. package/dist/src/approval-handler.runtime.js +378 -0
  504. package/dist/src/approval-handler.runtime.js.map +7 -0
  505. package/dist/src/approval-ids.js +9 -0
  506. package/dist/src/approval-ids.js.map +7 -0
  507. package/dist/src/approval-native.js +28 -0
  508. package/dist/src/approval-native.js.map +7 -0
  509. package/dist/src/approval-reactions.js +20 -0
  510. package/dist/src/approval-reactions.js.map +7 -0
  511. package/dist/src/auth-precedence.js +8 -0
  512. package/dist/src/auth-precedence.js.map +7 -0
  513. package/dist/src/channel-account-paths.js +11 -0
  514. package/dist/src/channel-account-paths.js.map +7 -0
  515. package/dist/src/channel.js +74 -0
  516. package/dist/src/channel.js.map +7 -0
  517. package/dist/src/channel.runtime.js +82 -0
  518. package/dist/src/channel.runtime.js.map +7 -0
  519. package/dist/src/cli-metadata.js +8 -0
  520. package/dist/src/cli-metadata.js.map +7 -0
  521. package/dist/src/cli.js +936 -0
  522. package/dist/src/cli.js.map +7 -0
  523. package/dist/src/config-adapter.js +26 -0
  524. package/dist/src/config-adapter.js.map +7 -0
  525. package/dist/src/config-schema.js +8 -0
  526. package/dist/src/config-schema.js.map +7 -0
  527. package/dist/src/directory-live.js +35 -0
  528. package/dist/src/directory-live.js.map +7 -0
  529. package/dist/src/doctor-contract.js +11 -0
  530. package/dist/src/doctor-contract.js.map +7 -0
  531. package/dist/src/doctor.js +42 -0
  532. package/dist/src/doctor.js.map +7 -0
  533. package/dist/src/env-vars.js +12 -0
  534. package/dist/src/env-vars.js.map +7 -0
  535. package/dist/src/exec-approval-resolver.js +10 -0
  536. package/dist/src/exec-approval-resolver.js.map +7 -0
  537. package/dist/src/exec-approvals.js +51 -0
  538. package/dist/src/exec-approvals.js.map +7 -0
  539. package/dist/src/group-mentions.js +28 -0
  540. package/dist/src/group-mentions.js.map +7 -0
  541. package/dist/src/legacy-crypto-inspector-availability.js +8 -0
  542. package/dist/src/legacy-crypto-inspector-availability.js.map +7 -0
  543. package/dist/src/legacy-crypto.js +26 -0
  544. package/dist/src/legacy-crypto.js.map +7 -0
  545. package/dist/src/legacy-state.js +24 -0
  546. package/dist/src/legacy-state.js.map +7 -0
  547. package/dist/src/matrix/account-config.js +16 -0
  548. package/dist/src/matrix/account-config.js.map +7 -0
  549. package/dist/src/matrix/accounts.js +31 -0
  550. package/dist/src/matrix/accounts.js.map +7 -0
  551. package/dist/src/matrix/actions/client.js +40 -0
  552. package/dist/src/matrix/actions/client.js.map +7 -0
  553. package/dist/src/matrix/actions/devices.js +42 -0
  554. package/dist/src/matrix/actions/devices.js.map +7 -0
  555. package/dist/src/matrix/actions/limits.js +8 -0
  556. package/dist/src/matrix/actions/limits.js.map +7 -0
  557. package/dist/src/matrix/actions/messages.js +49 -0
  558. package/dist/src/matrix/actions/messages.js.map +7 -0
  559. package/dist/src/matrix/actions/pins.js +46 -0
  560. package/dist/src/matrix/actions/pins.js.map +7 -0
  561. package/dist/src/matrix/actions/polls.js +37 -0
  562. package/dist/src/matrix/actions/polls.js.map +7 -0
  563. package/dist/src/matrix/actions/profile.js +38 -0
  564. package/dist/src/matrix/actions/profile.js.map +7 -0
  565. package/dist/src/matrix/actions/reactions.js +40 -0
  566. package/dist/src/matrix/actions/reactions.js.map +7 -0
  567. package/dist/src/matrix/actions/room.js +40 -0
  568. package/dist/src/matrix/actions/room.js.map +7 -0
  569. package/dist/src/matrix/actions/summary.js +19 -0
  570. package/dist/src/matrix/actions/summary.js.map +7 -0
  571. package/dist/src/matrix/actions/types.js +13 -0
  572. package/dist/src/matrix/actions/types.js.map +7 -0
  573. package/dist/src/matrix/actions/verification.js +77 -0
  574. package/dist/src/matrix/actions/verification.js.map +7 -0
  575. package/dist/src/matrix/actions.js +126 -0
  576. package/dist/src/matrix/actions.js.map +7 -0
  577. package/dist/src/matrix/active-client.js +10 -0
  578. package/dist/src/matrix/active-client.js.map +7 -0
  579. package/dist/src/matrix/async-lock.js +8 -0
  580. package/dist/src/matrix/async-lock.js.map +7 -0
  581. package/dist/src/matrix/backup-health.js +10 -0
  582. package/dist/src/matrix/backup-health.js.map +7 -0
  583. package/dist/src/matrix/client/config-runtime-api.js +24 -0
  584. package/dist/src/matrix/client/config-runtime-api.js.map +7 -0
  585. package/dist/src/matrix/client/config-secret-input.runtime.js +11 -0
  586. package/dist/src/matrix/client/config-secret-input.runtime.js.map +7 -0
  587. package/dist/src/matrix/client/config.js +42 -0
  588. package/dist/src/matrix/client/config.js.map +7 -0
  589. package/dist/src/matrix/client/create-client.js +20 -0
  590. package/dist/src/matrix/client/create-client.js.map +7 -0
  591. package/dist/src/matrix/client/env-auth.js +26 -0
  592. package/dist/src/matrix/client/env-auth.js.map +7 -0
  593. package/dist/src/matrix/client/file-sync-store.js +23 -0
  594. package/dist/src/matrix/client/file-sync-store.js.map +7 -0
  595. package/dist/src/matrix/client/logging.js +17 -0
  596. package/dist/src/matrix/client/logging.js.map +7 -0
  597. package/dist/src/matrix/client/migration-snapshot.runtime.js +13 -0
  598. package/dist/src/matrix/client/migration-snapshot.runtime.js.map +7 -0
  599. package/dist/src/matrix/client/private-network-host.js +8 -0
  600. package/dist/src/matrix/client/private-network-host.js.map +7 -0
  601. package/dist/src/matrix/client/runtime.js +8 -0
  602. package/dist/src/matrix/client/runtime.js.map +7 -0
  603. package/dist/src/matrix/client/shared.js +34 -0
  604. package/dist/src/matrix/client/shared.js.map +7 -0
  605. package/dist/src/matrix/client/storage.js +26 -0
  606. package/dist/src/matrix/client/storage.js.map +7 -0
  607. package/dist/src/matrix/client/types.js +7 -0
  608. package/dist/src/matrix/client/types.js.map +7 -0
  609. package/dist/src/matrix/client-bootstrap.js +15 -0
  610. package/dist/src/matrix/client-bootstrap.js.map +7 -0
  611. package/dist/src/matrix/client-resolver.test-helpers.js +122 -0
  612. package/dist/src/matrix/client-resolver.test-helpers.js.map +7 -0
  613. package/dist/src/matrix/client.js +63 -0
  614. package/dist/src/matrix/client.js.map +7 -0
  615. package/dist/src/matrix/config-paths.js +12 -0
  616. package/dist/src/matrix/config-paths.js.map +7 -0
  617. package/dist/src/matrix/config-update.js +17 -0
  618. package/dist/src/matrix/config-update.js.map +7 -0
  619. package/dist/src/matrix/credentials-read.js +22 -0
  620. package/dist/src/matrix/credentials-read.js.map +7 -0
  621. package/dist/src/matrix/credentials-write.runtime.js +24 -0
  622. package/dist/src/matrix/credentials-write.runtime.js.map +7 -0
  623. package/dist/src/matrix/credentials.js +90 -0
  624. package/dist/src/matrix/credentials.js.map +7 -0
  625. package/dist/src/matrix/deps.js +12 -0
  626. package/dist/src/matrix/deps.js.map +7 -0
  627. package/dist/src/matrix/device-health.js +10 -0
  628. package/dist/src/matrix/device-health.js.map +7 -0
  629. package/dist/src/matrix/direct-management.js +18 -0
  630. package/dist/src/matrix/direct-management.js.map +7 -0
  631. package/dist/src/matrix/direct-room.js +18 -0
  632. package/dist/src/matrix/direct-room.js.map +7 -0
  633. package/dist/src/matrix/draft-stream.js +33 -0
  634. package/dist/src/matrix/draft-stream.js.map +7 -0
  635. package/dist/src/matrix/encryption-guidance.js +17 -0
  636. package/dist/src/matrix/encryption-guidance.js.map +7 -0
  637. package/dist/src/matrix/errors.js +12 -0
  638. package/dist/src/matrix/errors.js.map +7 -0
  639. package/dist/src/matrix/format.js +13 -0
  640. package/dist/src/matrix/format.js.map +7 -0
  641. package/dist/src/matrix/legacy-crypto-inspector.js +73 -0
  642. package/dist/src/matrix/legacy-crypto-inspector.js.map +7 -0
  643. package/dist/src/matrix/media-errors.js +12 -0
  644. package/dist/src/matrix/media-errors.js.map +7 -0
  645. package/dist/src/matrix/media-text.js +22 -0
  646. package/dist/src/matrix/media-text.js.map +7 -0
  647. package/dist/src/matrix/monitor/access-state.js +9 -0
  648. package/dist/src/matrix/monitor/access-state.js.map +7 -0
  649. package/dist/src/matrix/monitor/ack-config.js +10 -0
  650. package/dist/src/matrix/monitor/ack-config.js.map +7 -0
  651. package/dist/src/matrix/monitor/allowlist.js +12 -0
  652. package/dist/src/matrix/monitor/allowlist.js.map +7 -0
  653. package/dist/src/matrix/monitor/auto-join.js +9 -0
  654. package/dist/src/matrix/monitor/auto-join.js.map +7 -0
  655. package/dist/src/matrix/monitor/config.js +37 -0
  656. package/dist/src/matrix/monitor/config.js.map +7 -0
  657. package/dist/src/matrix/monitor/context-summary.js +13 -0
  658. package/dist/src/matrix/monitor/context-summary.js.map +7 -0
  659. package/dist/src/matrix/monitor/direct.js +13 -0
  660. package/dist/src/matrix/monitor/direct.js.map +7 -0
  661. package/dist/src/matrix/monitor/events.js +20 -0
  662. package/dist/src/matrix/monitor/events.js.map +7 -0
  663. package/dist/src/matrix/monitor/handler.js +76 -0
  664. package/dist/src/matrix/monitor/handler.js.map +7 -0
  665. package/dist/src/matrix/monitor/handler.test-helpers.js +268 -0
  666. package/dist/src/matrix/monitor/handler.test-helpers.js.map +7 -0
  667. package/dist/src/matrix/monitor/inbound-dedupe.js +17 -0
  668. package/dist/src/matrix/monitor/inbound-dedupe.js.map +7 -0
  669. package/dist/src/matrix/monitor/index.js +502 -0
  670. package/dist/src/matrix/monitor/index.js.map +7 -0
  671. package/dist/src/matrix/monitor/legacy-crypto-restore.js +99 -0
  672. package/dist/src/matrix/monitor/legacy-crypto-restore.js.map +7 -0
  673. package/dist/src/matrix/monitor/location.js +11 -0
  674. package/dist/src/matrix/monitor/location.js.map +7 -0
  675. package/dist/src/matrix/monitor/media.js +10 -0
  676. package/dist/src/matrix/monitor/media.js.map +7 -0
  677. package/dist/src/matrix/monitor/mentions.js +9 -0
  678. package/dist/src/matrix/monitor/mentions.js.map +7 -0
  679. package/dist/src/matrix/monitor/reaction-events.js +38 -0
  680. package/dist/src/matrix/monitor/reaction-events.js.map +7 -0
  681. package/dist/src/matrix/monitor/recent-invite.js +10 -0
  682. package/dist/src/matrix/monitor/recent-invite.js.map +7 -0
  683. package/dist/src/matrix/monitor/replies.js +33 -0
  684. package/dist/src/matrix/monitor/replies.js.map +7 -0
  685. package/dist/src/matrix/monitor/reply-context.js +14 -0
  686. package/dist/src/matrix/monitor/reply-context.js.map +7 -0
  687. package/dist/src/matrix/monitor/room-history.js +10 -0
  688. package/dist/src/matrix/monitor/room-history.js.map +7 -0
  689. package/dist/src/matrix/monitor/room-info.js +9 -0
  690. package/dist/src/matrix/monitor/room-info.js.map +7 -0
  691. package/dist/src/matrix/monitor/rooms.js +9 -0
  692. package/dist/src/matrix/monitor/rooms.js.map +7 -0
  693. package/dist/src/matrix/monitor/route.js +12 -0
  694. package/dist/src/matrix/monitor/route.js.map +7 -0
  695. package/dist/src/matrix/monitor/runtime-api.js +40 -0
  696. package/dist/src/matrix/monitor/runtime-api.js.map +7 -0
  697. package/dist/src/matrix/monitor/startup-verification.js +174 -0
  698. package/dist/src/matrix/monitor/startup-verification.js.map +7 -0
  699. package/dist/src/matrix/monitor/startup.js +9 -0
  700. package/dist/src/matrix/monitor/startup.js.map +7 -0
  701. package/dist/src/matrix/monitor/status.js +10 -0
  702. package/dist/src/matrix/monitor/status.js.map +7 -0
  703. package/dist/src/matrix/monitor/sync-lifecycle.js +9 -0
  704. package/dist/src/matrix/monitor/sync-lifecycle.js.map +7 -0
  705. package/dist/src/matrix/monitor/task-runner.js +8 -0
  706. package/dist/src/matrix/monitor/task-runner.js.map +7 -0
  707. package/dist/src/matrix/monitor/thread-context.js +14 -0
  708. package/dist/src/matrix/monitor/thread-context.js.map +7 -0
  709. package/dist/src/matrix/monitor/threads.js +16 -0
  710. package/dist/src/matrix/monitor/threads.js.map +7 -0
  711. package/dist/src/matrix/monitor/types.js +11 -0
  712. package/dist/src/matrix/monitor/types.js.map +7 -0
  713. package/dist/src/matrix/monitor/verification-events.js +13 -0
  714. package/dist/src/matrix/monitor/verification-events.js.map +7 -0
  715. package/dist/src/matrix/monitor/verification-utils.js +16 -0
  716. package/dist/src/matrix/monitor/verification-utils.js.map +7 -0
  717. package/dist/src/matrix/outbound-media-runtime.js +9 -0
  718. package/dist/src/matrix/outbound-media-runtime.js.map +7 -0
  719. package/dist/src/matrix/poll-summary.js +14 -0
  720. package/dist/src/matrix/poll-summary.js.map +7 -0
  721. package/dist/src/matrix/poll-types.js +55 -0
  722. package/dist/src/matrix/poll-types.js.map +7 -0
  723. package/dist/src/matrix/probe.js +9 -0
  724. package/dist/src/matrix/probe.js.map +7 -0
  725. package/dist/src/matrix/probe.runtime.js +30 -0
  726. package/dist/src/matrix/probe.runtime.js.map +7 -0
  727. package/dist/src/matrix/profile.js +16 -0
  728. package/dist/src/matrix/profile.js.map +7 -0
  729. package/dist/src/matrix/reaction-common.js +26 -0
  730. package/dist/src/matrix/reaction-common.js.map +7 -0
  731. package/dist/src/matrix/sdk/crypto-bootstrap.js +15 -0
  732. package/dist/src/matrix/sdk/crypto-bootstrap.js.map +7 -0
  733. package/dist/src/matrix/sdk/crypto-facade.js +8 -0
  734. package/dist/src/matrix/sdk/crypto-facade.js.map +7 -0
  735. package/dist/src/matrix/sdk/crypto-node.runtime.js +15 -0
  736. package/dist/src/matrix/sdk/crypto-node.runtime.js.map +7 -0
  737. package/dist/src/matrix/sdk/crypto-runtime.js +84 -0
  738. package/dist/src/matrix/sdk/crypto-runtime.js.map +7 -0
  739. package/dist/src/matrix/sdk/decrypt-bridge.js +11 -0
  740. package/dist/src/matrix/sdk/decrypt-bridge.js.map +7 -0
  741. package/dist/src/matrix/sdk/event-helpers.js +12 -0
  742. package/dist/src/matrix/sdk/event-helpers.js.map +7 -0
  743. package/dist/src/matrix/sdk/http-client.js +13 -0
  744. package/dist/src/matrix/sdk/http-client.js.map +7 -0
  745. package/dist/src/matrix/sdk/idb-persistence-lock.js +12 -0
  746. package/dist/src/matrix/sdk/idb-persistence-lock.js.map +7 -0
  747. package/dist/src/matrix/sdk/idb-persistence.js +13 -0
  748. package/dist/src/matrix/sdk/idb-persistence.js.map +7 -0
  749. package/dist/src/matrix/sdk/idb-persistence.test-helpers.js +83 -0
  750. package/dist/src/matrix/sdk/idb-persistence.test-helpers.js.map +7 -0
  751. package/dist/src/matrix/sdk/logger.js +15 -0
  752. package/dist/src/matrix/sdk/logger.js.map +7 -0
  753. package/dist/src/matrix/sdk/read-response-with-limit.js +8 -0
  754. package/dist/src/matrix/sdk/read-response-with-limit.js.map +7 -0
  755. package/dist/src/matrix/sdk/recovery-key-store.js +14 -0
  756. package/dist/src/matrix/sdk/recovery-key-store.js.map +7 -0
  757. package/dist/src/matrix/sdk/transport.js +13 -0
  758. package/dist/src/matrix/sdk/transport.js.map +7 -0
  759. package/dist/src/matrix/sdk/types.js +7 -0
  760. package/dist/src/matrix/sdk/types.js.map +7 -0
  761. package/dist/src/matrix/sdk/verification-manager.js +11 -0
  762. package/dist/src/matrix/sdk/verification-manager.js.map +7 -0
  763. package/dist/src/matrix/sdk/verification-status.js +12 -0
  764. package/dist/src/matrix/sdk/verification-status.js.map +7 -0
  765. package/dist/src/matrix/sdk.js +1375 -0
  766. package/dist/src/matrix/sdk.js.map +7 -0
  767. package/dist/src/matrix/send/client.js +14 -0
  768. package/dist/src/matrix/send/client.js.map +7 -0
  769. package/dist/src/matrix/send/formatting.js +29 -0
  770. package/dist/src/matrix/send/formatting.js.map +7 -0
  771. package/dist/src/matrix/send/media.js +26 -0
  772. package/dist/src/matrix/send/media.js.map +7 -0
  773. package/dist/src/matrix/send/targets.js +15 -0
  774. package/dist/src/matrix/send/targets.js.map +7 -0
  775. package/dist/src/matrix/send/types.js +17 -0
  776. package/dist/src/matrix/send/types.js.map +7 -0
  777. package/dist/src/matrix/send.js +51 -0
  778. package/dist/src/matrix/send.js.map +7 -0
  779. package/dist/src/matrix/session-store-metadata.js +15 -0
  780. package/dist/src/matrix/session-store-metadata.js.map +7 -0
  781. package/dist/src/matrix/startup-abort.js +14 -0
  782. package/dist/src/matrix/startup-abort.js.map +7 -0
  783. package/dist/src/matrix/sync-state.js +12 -0
  784. package/dist/src/matrix/sync-state.js.map +7 -0
  785. package/dist/src/matrix/target-ids.js +20 -0
  786. package/dist/src/matrix/target-ids.js.map +7 -0
  787. package/dist/src/matrix/thread-bindings-shared.js +34 -0
  788. package/dist/src/matrix/thread-bindings-shared.js.map +7 -0
  789. package/dist/src/matrix/thread-bindings.js +49 -0
  790. package/dist/src/matrix/thread-bindings.js.map +7 -0
  791. package/dist/src/matrix-migration.runtime.js +45 -0
  792. package/dist/src/matrix-migration.runtime.js.map +7 -0
  793. package/dist/src/migration-config.js +29 -0
  794. package/dist/src/migration-config.js.map +7 -0
  795. package/dist/src/migration-snapshot-backup.js +12 -0
  796. package/dist/src/migration-snapshot-backup.js.map +7 -0
  797. package/dist/src/migration-snapshot.js +38 -0
  798. package/dist/src/migration-snapshot.js.map +7 -0
  799. package/dist/src/onboarding.js +43 -0
  800. package/dist/src/onboarding.js.map +7 -0
  801. package/dist/src/onboarding.test-harness.js +124 -0
  802. package/dist/src/onboarding.test-harness.js.map +7 -0
  803. package/dist/src/outbound.js +33 -0
  804. package/dist/src/outbound.js.map +7 -0
  805. package/dist/src/plugin-entry.runtime.js +15 -0
  806. package/dist/src/plugin-entry.runtime.js.map +7 -0
  807. package/dist/src/profile-update.js +41 -0
  808. package/dist/src/profile-update.js.map +7 -0
  809. package/dist/src/record-shared.js +8 -0
  810. package/dist/src/record-shared.js.map +7 -0
  811. package/dist/src/resolve-targets.js +34 -0
  812. package/dist/src/resolve-targets.js.map +7 -0
  813. package/dist/src/resolver.js +8 -0
  814. package/dist/src/resolver.js.map +7 -0
  815. package/dist/src/runtime-api.js +120 -0
  816. package/dist/src/runtime-api.js.map +7 -0
  817. package/dist/src/runtime.js +10 -0
  818. package/dist/src/runtime.js.map +7 -0
  819. package/dist/src/secret-contract.js +13 -0
  820. package/dist/src/secret-contract.js.map +7 -0
  821. package/dist/src/session-route.js +25 -0
  822. package/dist/src/session-route.js.map +7 -0
  823. package/dist/src/setup-bootstrap.js +124 -0
  824. package/dist/src/setup-bootstrap.js.map +7 -0
  825. package/dist/src/setup-config.js +28 -0
  826. package/dist/src/setup-config.js.map +7 -0
  827. package/dist/src/setup-contract.js +16 -0
  828. package/dist/src/setup-contract.js.map +7 -0
  829. package/dist/src/setup-core.js +25 -0
  830. package/dist/src/setup-core.js.map +7 -0
  831. package/dist/src/setup-surface.js +45 -0
  832. package/dist/src/setup-surface.js.map +7 -0
  833. package/dist/src/startup-maintenance.js +29 -0
  834. package/dist/src/startup-maintenance.js.map +7 -0
  835. package/dist/src/storage-paths.js +24 -0
  836. package/dist/src/storage-paths.js.map +7 -0
  837. package/dist/src/test-helpers.js +49 -0
  838. package/dist/src/test-helpers.js.map +7 -0
  839. package/dist/src/test-mocks.js +40 -0
  840. package/dist/src/test-mocks.js.map +7 -0
  841. package/dist/src/test-runtime.js +65 -0
  842. package/dist/src/test-runtime.js.map +7 -0
  843. package/dist/src/tool-actions.js +68 -0
  844. package/dist/src/tool-actions.js.map +7 -0
  845. package/dist/src/tool-actions.runtime.js +73 -0
  846. package/dist/src/tool-actions.runtime.js.map +7 -0
  847. package/dist/src/types.js +7 -0
  848. package/dist/src/types.js.map +7 -0
  849. package/dist/test-api.js +82 -0
  850. package/dist/test-api.js.map +7 -0
  851. package/dist/thread-bindings-runtime.js +15 -0
  852. package/dist/thread-bindings-runtime.js.map +7 -0
  853. package/package.json +12 -6
  854. package/CHANGELOG.md +0 -164
  855. package/ENDOFFILE +0 -0
  856. package/EOF +0 -0
  857. package/SPEC-SUPPORT.md +0 -116
  858. package/YAMLEND +0 -0
  859. package/api.ts +0 -18
  860. package/archipelagolab-lobi-1.0.0.tgz +0 -0
  861. package/auth-presence.ts +0 -56
  862. package/channel-plugin-api.ts +0 -3
  863. package/cli-metadata.ts +0 -11
  864. package/contract-api.ts +0 -17
  865. package/docs/CHECKLIST.md +0 -83
  866. package/docs/FORK_SDK_GUIDE.md +0 -279
  867. package/helper-api.ts +0 -3
  868. package/index.test.ts +0 -61
  869. package/index.ts +0 -65
  870. package/plugin-entry.handlers.runtime.ts +0 -1
  871. package/runtime-api.ts +0 -54
  872. package/runtime-heavy-api.ts +0 -1
  873. package/scripts/migrate-to-lobi.sh +0 -72
  874. package/secret-contract-api.ts +0 -5
  875. package/setup-entry.ts +0 -13
  876. package/src/account-selection.test.ts +0 -124
  877. package/src/account-selection.ts +0 -226
  878. package/src/actions.account-propagation.test.ts +0 -251
  879. package/src/actions.test.ts +0 -251
  880. package/src/actions.ts +0 -336
  881. package/src/approval-auth.test.ts +0 -23
  882. package/src/approval-auth.ts +0 -25
  883. package/src/approval-handler.runtime.test.ts +0 -46
  884. package/src/approval-handler.runtime.ts +0 -400
  885. package/src/approval-ids.ts +0 -6
  886. package/src/approval-native.test.ts +0 -329
  887. package/src/approval-native.ts +0 -336
  888. package/src/approval-reactions.test.ts +0 -107
  889. package/src/approval-reactions.ts +0 -158
  890. package/src/auth-precedence.ts +0 -61
  891. package/src/channel-account-paths.ts +0 -92
  892. package/src/channel.account-paths.test.ts +0 -102
  893. package/src/channel.directory.test.ts +0 -601
  894. package/src/channel.resolve.test.ts +0 -38
  895. package/src/channel.runtime.ts +0 -16
  896. package/src/channel.setup.test.ts +0 -269
  897. package/src/channel.ts +0 -570
  898. package/src/cli-metadata.ts +0 -19
  899. package/src/cli.test.ts +0 -1015
  900. package/src/cli.ts +0 -1198
  901. package/src/config-adapter.ts +0 -41
  902. package/src/config-schema.test.ts +0 -90
  903. package/src/config-schema.ts +0 -114
  904. package/src/directory-live.test.ts +0 -200
  905. package/src/directory-live.ts +0 -238
  906. package/src/doctor-contract.ts +0 -287
  907. package/src/doctor.test.ts +0 -440
  908. package/src/doctor.ts +0 -262
  909. package/src/env-vars.ts +0 -92
  910. package/src/exec-approval-resolver.test.ts +0 -68
  911. package/src/exec-approval-resolver.ts +0 -23
  912. package/src/exec-approvals.test.ts +0 -483
  913. package/src/exec-approvals.ts +0 -290
  914. package/src/group-mentions.ts +0 -41
  915. package/src/legacy-crypto-inspector-availability.test.ts +0 -81
  916. package/src/legacy-crypto-inspector-availability.ts +0 -60
  917. package/src/legacy-crypto.test.ts +0 -234
  918. package/src/legacy-crypto.ts +0 -549
  919. package/src/legacy-state.test.ts +0 -86
  920. package/src/legacy-state.ts +0 -156
  921. package/src/matrix/account-config.ts +0 -150
  922. package/src/matrix/accounts.readiness.test.ts +0 -27
  923. package/src/matrix/accounts.test.ts +0 -757
  924. package/src/matrix/accounts.ts +0 -194
  925. package/src/matrix/actions/client.test.ts +0 -215
  926. package/src/matrix/actions/client.ts +0 -31
  927. package/src/matrix/actions/devices.test.ts +0 -114
  928. package/src/matrix/actions/devices.ts +0 -34
  929. package/src/matrix/actions/limits.test.ts +0 -15
  930. package/src/matrix/actions/limits.ts +0 -6
  931. package/src/matrix/actions/messages.test.ts +0 -289
  932. package/src/matrix/actions/messages.ts +0 -123
  933. package/src/matrix/actions/pins.test.ts +0 -74
  934. package/src/matrix/actions/pins.ts +0 -64
  935. package/src/matrix/actions/polls.test.ts +0 -71
  936. package/src/matrix/actions/polls.ts +0 -109
  937. package/src/matrix/actions/profile.test.ts +0 -109
  938. package/src/matrix/actions/profile.ts +0 -37
  939. package/src/matrix/actions/reactions.test.ts +0 -135
  940. package/src/matrix/actions/reactions.ts +0 -59
  941. package/src/matrix/actions/room.test.ts +0 -79
  942. package/src/matrix/actions/room.ts +0 -71
  943. package/src/matrix/actions/summary.test.ts +0 -87
  944. package/src/matrix/actions/summary.ts +0 -88
  945. package/src/matrix/actions/types.ts +0 -82
  946. package/src/matrix/actions/verification.test.ts +0 -105
  947. package/src/matrix/actions/verification.ts +0 -237
  948. package/src/matrix/actions.ts +0 -37
  949. package/src/matrix/active-client.ts +0 -26
  950. package/src/matrix/async-lock.ts +0 -18
  951. package/src/matrix/backup-health.ts +0 -115
  952. package/src/matrix/client/config-runtime-api.ts +0 -14
  953. package/src/matrix/client/config-secret-input.runtime.ts +0 -1
  954. package/src/matrix/client/config.ts +0 -982
  955. package/src/matrix/client/create-client.test.ts +0 -115
  956. package/src/matrix/client/create-client.ts +0 -101
  957. package/src/matrix/client/env-auth.ts +0 -6
  958. package/src/matrix/client/file-sync-store.test.ts +0 -265
  959. package/src/matrix/client/file-sync-store.ts +0 -289
  960. package/src/matrix/client/logging.ts +0 -123
  961. package/src/matrix/client/migration-snapshot.runtime.ts +0 -1
  962. package/src/matrix/client/private-network-host.ts +0 -56
  963. package/src/matrix/client/runtime.ts +0 -4
  964. package/src/matrix/client/shared.test.ts +0 -344
  965. package/src/matrix/client/shared.ts +0 -306
  966. package/src/matrix/client/storage.test.ts +0 -634
  967. package/src/matrix/client/storage.ts +0 -544
  968. package/src/matrix/client/types.ts +0 -50
  969. package/src/matrix/client-bootstrap.test.ts +0 -84
  970. package/src/matrix/client-bootstrap.ts +0 -164
  971. package/src/matrix/client-resolver.test-helpers.ts +0 -147
  972. package/src/matrix/client.test.ts +0 -1521
  973. package/src/matrix/client.ts +0 -23
  974. package/src/matrix/config-paths.ts +0 -31
  975. package/src/matrix/config-update.test.ts +0 -237
  976. package/src/matrix/config-update.ts +0 -291
  977. package/src/matrix/credentials-read.ts +0 -206
  978. package/src/matrix/credentials-write.runtime.ts +0 -26
  979. package/src/matrix/credentials.test.ts +0 -501
  980. package/src/matrix/credentials.ts +0 -95
  981. package/src/matrix/deps.test.ts +0 -74
  982. package/src/matrix/deps.ts +0 -225
  983. package/src/matrix/device-health.test.ts +0 -45
  984. package/src/matrix/device-health.ts +0 -31
  985. package/src/matrix/direct-management.test.ts +0 -350
  986. package/src/matrix/direct-management.ts +0 -347
  987. package/src/matrix/direct-room.test.ts +0 -61
  988. package/src/matrix/direct-room.ts +0 -128
  989. package/src/matrix/draft-stream.test.ts +0 -406
  990. package/src/matrix/draft-stream.ts +0 -216
  991. package/src/matrix/encryption-guidance.ts +0 -27
  992. package/src/matrix/errors.ts +0 -21
  993. package/src/matrix/format.test.ts +0 -340
  994. package/src/matrix/format.ts +0 -428
  995. package/src/matrix/legacy-crypto-inspector.ts +0 -95
  996. package/src/matrix/media-errors.ts +0 -20
  997. package/src/matrix/media-text.ts +0 -169
  998. package/src/matrix/monitor/access-state.test.ts +0 -45
  999. package/src/matrix/monitor/access-state.ts +0 -77
  1000. package/src/matrix/monitor/ack-config.test.ts +0 -57
  1001. package/src/matrix/monitor/ack-config.ts +0 -26
  1002. package/src/matrix/monitor/allowlist.test.ts +0 -45
  1003. package/src/matrix/monitor/allowlist.ts +0 -94
  1004. package/src/matrix/monitor/auto-join.test.ts +0 -203
  1005. package/src/matrix/monitor/auto-join.ts +0 -86
  1006. package/src/matrix/monitor/config.test.ts +0 -197
  1007. package/src/matrix/monitor/config.ts +0 -303
  1008. package/src/matrix/monitor/context-summary.ts +0 -43
  1009. package/src/matrix/monitor/direct.test.ts +0 -529
  1010. package/src/matrix/monitor/direct.ts +0 -270
  1011. package/src/matrix/monitor/events.test.ts +0 -1524
  1012. package/src/matrix/monitor/events.ts +0 -213
  1013. package/src/matrix/monitor/handler.body-for-agent.test.ts +0 -396
  1014. package/src/matrix/monitor/handler.group-history.test.ts +0 -648
  1015. package/src/matrix/monitor/handler.media-failure.test.ts +0 -267
  1016. package/src/matrix/monitor/handler.test-helpers.ts +0 -308
  1017. package/src/matrix/monitor/handler.test.ts +0 -2952
  1018. package/src/matrix/monitor/handler.thread-root-media.test.ts +0 -82
  1019. package/src/matrix/monitor/handler.ts +0 -1679
  1020. package/src/matrix/monitor/inbound-dedupe.test.ts +0 -146
  1021. package/src/matrix/monitor/inbound-dedupe.ts +0 -267
  1022. package/src/matrix/monitor/index.test.ts +0 -920
  1023. package/src/matrix/monitor/index.ts +0 -434
  1024. package/src/matrix/monitor/legacy-crypto-restore.test.ts +0 -206
  1025. package/src/matrix/monitor/legacy-crypto-restore.ts +0 -139
  1026. package/src/matrix/monitor/location.ts +0 -100
  1027. package/src/matrix/monitor/media.test.ts +0 -159
  1028. package/src/matrix/monitor/media.ts +0 -119
  1029. package/src/matrix/monitor/mentions.test.ts +0 -289
  1030. package/src/matrix/monitor/mentions.ts +0 -177
  1031. package/src/matrix/monitor/reaction-events.test.ts +0 -326
  1032. package/src/matrix/monitor/reaction-events.ts +0 -187
  1033. package/src/matrix/monitor/recent-invite.test.ts +0 -92
  1034. package/src/matrix/monitor/recent-invite.ts +0 -30
  1035. package/src/matrix/monitor/replies.test.ts +0 -265
  1036. package/src/matrix/monitor/replies.ts +0 -136
  1037. package/src/matrix/monitor/reply-context.test.ts +0 -276
  1038. package/src/matrix/monitor/reply-context.ts +0 -92
  1039. package/src/matrix/monitor/room-history.test.ts +0 -258
  1040. package/src/matrix/monitor/room-history.ts +0 -301
  1041. package/src/matrix/monitor/room-info.test.ts +0 -201
  1042. package/src/matrix/monitor/room-info.ts +0 -126
  1043. package/src/matrix/monitor/rooms.test.ts +0 -121
  1044. package/src/matrix/monitor/rooms.ts +0 -52
  1045. package/src/matrix/monitor/route.test.ts +0 -255
  1046. package/src/matrix/monitor/route.ts +0 -178
  1047. package/src/matrix/monitor/runtime-api.ts +0 -31
  1048. package/src/matrix/monitor/startup-verification.test.ts +0 -294
  1049. package/src/matrix/monitor/startup-verification.ts +0 -237
  1050. package/src/matrix/monitor/startup.test.ts +0 -257
  1051. package/src/matrix/monitor/startup.ts +0 -218
  1052. package/src/matrix/monitor/status.ts +0 -111
  1053. package/src/matrix/monitor/sync-lifecycle.test.ts +0 -224
  1054. package/src/matrix/monitor/sync-lifecycle.ts +0 -91
  1055. package/src/matrix/monitor/task-runner.ts +0 -38
  1056. package/src/matrix/monitor/thread-context.test.ts +0 -149
  1057. package/src/matrix/monitor/thread-context.ts +0 -108
  1058. package/src/matrix/monitor/threads.test.ts +0 -68
  1059. package/src/matrix/monitor/threads.ts +0 -85
  1060. package/src/matrix/monitor/types.ts +0 -30
  1061. package/src/matrix/monitor/verification-events.ts +0 -627
  1062. package/src/matrix/monitor/verification-utils.test.ts +0 -47
  1063. package/src/matrix/monitor/verification-utils.ts +0 -46
  1064. package/src/matrix/outbound-media-runtime.ts +0 -1
  1065. package/src/matrix/poll-summary.ts +0 -110
  1066. package/src/matrix/poll-types.test.ts +0 -205
  1067. package/src/matrix/poll-types.ts +0 -433
  1068. package/src/matrix/probe.runtime.ts +0 -4
  1069. package/src/matrix/probe.test.ts +0 -154
  1070. package/src/matrix/probe.ts +0 -96
  1071. package/src/matrix/profile.test.ts +0 -154
  1072. package/src/matrix/profile.ts +0 -184
  1073. package/src/matrix/reaction-common.test.ts +0 -96
  1074. package/src/matrix/reaction-common.ts +0 -147
  1075. package/src/matrix/sdk/crypto-bootstrap.test.ts +0 -505
  1076. package/src/matrix/sdk/crypto-bootstrap.ts +0 -341
  1077. package/src/matrix/sdk/crypto-facade.test.ts +0 -197
  1078. package/src/matrix/sdk/crypto-facade.ts +0 -207
  1079. package/src/matrix/sdk/crypto-node.runtime.test.ts +0 -27
  1080. package/src/matrix/sdk/crypto-node.runtime.ts +0 -9
  1081. package/src/matrix/sdk/crypto-runtime.ts +0 -11
  1082. package/src/matrix/sdk/decrypt-bridge.ts +0 -356
  1083. package/src/matrix/sdk/event-helpers.test.ts +0 -60
  1084. package/src/matrix/sdk/event-helpers.ts +0 -71
  1085. package/src/matrix/sdk/http-client.test.ts +0 -134
  1086. package/src/matrix/sdk/http-client.ts +0 -87
  1087. package/src/matrix/sdk/idb-persistence-lock.ts +0 -51
  1088. package/src/matrix/sdk/idb-persistence.lock-order.test.ts +0 -108
  1089. package/src/matrix/sdk/idb-persistence.test-helpers.ts +0 -88
  1090. package/src/matrix/sdk/idb-persistence.test.ts +0 -149
  1091. package/src/matrix/sdk/idb-persistence.ts +0 -283
  1092. package/src/matrix/sdk/logger.test.ts +0 -25
  1093. package/src/matrix/sdk/logger.ts +0 -108
  1094. package/src/matrix/sdk/read-response-with-limit.ts +0 -19
  1095. package/src/matrix/sdk/recovery-key-store.test.ts +0 -385
  1096. package/src/matrix/sdk/recovery-key-store.ts +0 -430
  1097. package/src/matrix/sdk/transport.test.ts +0 -161
  1098. package/src/matrix/sdk/transport.ts +0 -344
  1099. package/src/matrix/sdk/types.ts +0 -236
  1100. package/src/matrix/sdk/verification-manager.test.ts +0 -509
  1101. package/src/matrix/sdk/verification-manager.ts +0 -694
  1102. package/src/matrix/sdk/verification-status.ts +0 -23
  1103. package/src/matrix/sdk.test.ts +0 -2568
  1104. package/src/matrix/sdk.ts +0 -1789
  1105. package/src/matrix/send/client.test.ts +0 -174
  1106. package/src/matrix/send/client.ts +0 -90
  1107. package/src/matrix/send/formatting.ts +0 -189
  1108. package/src/matrix/send/media.ts +0 -244
  1109. package/src/matrix/send/targets.test.ts +0 -254
  1110. package/src/matrix/send/targets.ts +0 -104
  1111. package/src/matrix/send/types.ts +0 -134
  1112. package/src/matrix/send.test.ts +0 -958
  1113. package/src/matrix/send.ts +0 -609
  1114. package/src/matrix/session-store-metadata.ts +0 -108
  1115. package/src/matrix/startup-abort.ts +0 -44
  1116. package/src/matrix/sync-state.ts +0 -27
  1117. package/src/matrix/target-ids.ts +0 -102
  1118. package/src/matrix/thread-bindings-shared.ts +0 -201
  1119. package/src/matrix/thread-bindings.test.ts +0 -673
  1120. package/src/matrix/thread-bindings.ts +0 -577
  1121. package/src/matrix-migration.runtime.ts +0 -9
  1122. package/src/migration-config.test.ts +0 -228
  1123. package/src/migration-config.ts +0 -243
  1124. package/src/migration-snapshot-backup.ts +0 -117
  1125. package/src/migration-snapshot.test.ts +0 -184
  1126. package/src/migration-snapshot.ts +0 -55
  1127. package/src/onboarding.resolve.test.ts +0 -55
  1128. package/src/onboarding.test-harness.ts +0 -158
  1129. package/src/onboarding.test.ts +0 -665
  1130. package/src/onboarding.ts +0 -773
  1131. package/src/outbound.test.ts +0 -173
  1132. package/src/outbound.ts +0 -78
  1133. package/src/plugin-entry.runtime.js +0 -159
  1134. package/src/plugin-entry.runtime.test.ts +0 -108
  1135. package/src/plugin-entry.runtime.ts +0 -68
  1136. package/src/profile-update.ts +0 -68
  1137. package/src/record-shared.ts +0 -3
  1138. package/src/resolve-targets.test.ts +0 -178
  1139. package/src/resolve-targets.ts +0 -175
  1140. package/src/resolver.ts +0 -21
  1141. package/src/runtime-api.ts +0 -144
  1142. package/src/runtime.ts +0 -7
  1143. package/src/secret-contract.ts +0 -174
  1144. package/src/session-route.test.ts +0 -315
  1145. package/src/session-route.ts +0 -113
  1146. package/src/setup-bootstrap.ts +0 -94
  1147. package/src/setup-config.ts +0 -222
  1148. package/src/setup-contract.ts +0 -89
  1149. package/src/setup-core.test.ts +0 -326
  1150. package/src/setup-core.ts +0 -50
  1151. package/src/setup-surface.ts +0 -4
  1152. package/src/startup-maintenance.test.ts +0 -227
  1153. package/src/startup-maintenance.ts +0 -114
  1154. package/src/storage-paths.ts +0 -92
  1155. package/src/test-helpers.ts +0 -42
  1156. package/src/test-mocks.ts +0 -55
  1157. package/src/test-runtime.ts +0 -72
  1158. package/src/test-support/monitor-route-test-support.ts +0 -8
  1159. package/src/tool-actions.runtime.ts +0 -1
  1160. package/src/tool-actions.test.ts +0 -422
  1161. package/src/tool-actions.ts +0 -498
  1162. package/src/types.ts +0 -230
  1163. package/test-api.ts +0 -2
  1164. package/thread-bindings-runtime.ts +0 -4
  1165. package/tsconfig.json +0 -16
@@ -0,0 +1,3586 @@
1
+ import {
2
+ MATRIX_IDB_SNAPSHOT_LOCK_OPTIONS
3
+ } from "./chunk-CY6WHUCW.js";
4
+ import {
5
+ LogService
6
+ } from "./chunk-BMFZL2P4.js";
7
+ import {
8
+ init_shims
9
+ } from "./chunk-7FLQSTPG.js";
10
+
11
+ // src/matrix/sdk/idb-persistence.ts
12
+ init_shims();
13
+ import fs from "node:fs";
14
+ import path from "node:path";
15
+
16
+ // ../../node_modules/fake-indexeddb/build/esm/index.js
17
+ init_shims();
18
+
19
+ // ../../node_modules/fake-indexeddb/build/esm/fakeIndexedDB.js
20
+ init_shims();
21
+
22
+ // ../../node_modules/fake-indexeddb/build/esm/FDBFactory.js
23
+ init_shims();
24
+
25
+ // ../../node_modules/fake-indexeddb/build/esm/FDBDatabase.js
26
+ init_shims();
27
+
28
+ // ../../node_modules/fake-indexeddb/build/esm/FDBTransaction.js
29
+ init_shims();
30
+
31
+ // ../../node_modules/fake-indexeddb/build/esm/FDBObjectStore.js
32
+ init_shims();
33
+
34
+ // ../../node_modules/fake-indexeddb/build/esm/FDBCursor.js
35
+ init_shims();
36
+
37
+ // ../../node_modules/fake-indexeddb/build/esm/FDBKeyRange.js
38
+ init_shims();
39
+
40
+ // ../../node_modules/fake-indexeddb/build/esm/lib/cmp.js
41
+ init_shims();
42
+
43
+ // ../../node_modules/fake-indexeddb/build/esm/lib/errors.js
44
+ init_shims();
45
+ var messages = {
46
+ AbortError: "A request was aborted, for example through a call to IDBTransaction.abort.",
47
+ ConstraintError: "A mutation operation in the transaction failed because a constraint was not satisfied. For example, an object such as an object store or index already exists and a request attempted to create a new one.",
48
+ DataCloneError: "The data being stored could not be cloned by the internal structured cloning algorithm.",
49
+ DataError: "Data provided to an operation does not meet requirements.",
50
+ InvalidAccessError: "An invalid operation was performed on an object. For example transaction creation attempt was made, but an empty scope was provided.",
51
+ InvalidStateError: "An operation was called on an object on which it is not allowed or at a time when it is not allowed. Also occurs if a request is made on a source object that has been deleted or removed. Use TransactionInactiveError or ReadOnlyError when possible, as they are more specific variations of InvalidStateError.",
52
+ NotFoundError: "The operation failed because the requested database object could not be found. For example, an object store did not exist but was being opened.",
53
+ ReadOnlyError: 'The mutating operation was attempted in a "readonly" transaction.',
54
+ TransactionInactiveError: "A request was placed against a transaction which is currently not active, or which is finished.",
55
+ SyntaxError: "The keypath argument contains an invalid key path",
56
+ VersionError: "An attempt was made to open a database using a lower version than the existing version."
57
+ };
58
+ var setErrorCode = (error, value) => {
59
+ Object.defineProperty(error, "code", {
60
+ value,
61
+ writable: false,
62
+ enumerable: true,
63
+ configurable: false
64
+ });
65
+ };
66
+ var AbortError = class extends DOMException {
67
+ constructor(message = messages.AbortError) {
68
+ super(message, "AbortError");
69
+ }
70
+ };
71
+ var ConstraintError = class extends DOMException {
72
+ constructor(message = messages.ConstraintError) {
73
+ super(message, "ConstraintError");
74
+ }
75
+ };
76
+ var DataError = class extends DOMException {
77
+ constructor(message = messages.DataError) {
78
+ super(message, "DataError");
79
+ setErrorCode(this, 0);
80
+ }
81
+ };
82
+ var InvalidAccessError = class extends DOMException {
83
+ constructor(message = messages.InvalidAccessError) {
84
+ super(message, "InvalidAccessError");
85
+ }
86
+ };
87
+ var InvalidStateError = class extends DOMException {
88
+ constructor(message = messages.InvalidStateError) {
89
+ super(message, "InvalidStateError");
90
+ setErrorCode(this, 11);
91
+ }
92
+ };
93
+ var NotFoundError = class extends DOMException {
94
+ constructor(message = messages.NotFoundError) {
95
+ super(message, "NotFoundError");
96
+ }
97
+ };
98
+ var ReadOnlyError = class extends DOMException {
99
+ constructor(message = messages.ReadOnlyError) {
100
+ super(message, "ReadOnlyError");
101
+ }
102
+ };
103
+ var SyntaxError = class extends DOMException {
104
+ constructor(message = messages.VersionError) {
105
+ super(message, "SyntaxError");
106
+ setErrorCode(this, 12);
107
+ }
108
+ };
109
+ var TransactionInactiveError = class extends DOMException {
110
+ constructor(message = messages.TransactionInactiveError) {
111
+ super(message, "TransactionInactiveError");
112
+ setErrorCode(this, 0);
113
+ }
114
+ };
115
+ var VersionError = class extends DOMException {
116
+ constructor(message = messages.VersionError) {
117
+ super(message, "VersionError");
118
+ }
119
+ };
120
+
121
+ // ../../node_modules/fake-indexeddb/build/esm/lib/valueToKey.js
122
+ init_shims();
123
+
124
+ // ../../node_modules/fake-indexeddb/build/esm/lib/valueToKeyWithoutThrowing.js
125
+ init_shims();
126
+
127
+ // ../../node_modules/fake-indexeddb/build/esm/lib/isSharedArrayBuffer.js
128
+ init_shims();
129
+ function isSharedArrayBuffer(input) {
130
+ return typeof SharedArrayBuffer !== "undefined" && input instanceof SharedArrayBuffer;
131
+ }
132
+
133
+ // ../../node_modules/fake-indexeddb/build/esm/lib/valueToKeyWithoutThrowing.js
134
+ var INVALID_TYPE = /* @__PURE__ */ Symbol("INVALID_TYPE");
135
+ var INVALID_VALUE = /* @__PURE__ */ Symbol("INVALID_VALUE");
136
+ var valueToKeyWithoutThrowing = (input, seen) => {
137
+ if (typeof input === "number") {
138
+ if (isNaN(input)) {
139
+ return INVALID_VALUE;
140
+ }
141
+ return input;
142
+ } else if (Object.prototype.toString.call(input) === "[object Date]") {
143
+ const ms = input.valueOf();
144
+ if (isNaN(ms)) {
145
+ return INVALID_VALUE;
146
+ }
147
+ return new Date(ms);
148
+ } else if (typeof input === "string") {
149
+ return input;
150
+ } else if (
151
+ // https://w3c.github.io/IndexedDB/#ref-for-dfn-buffer-source-type
152
+ input instanceof ArrayBuffer || isSharedArrayBuffer(input) || typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView && ArrayBuffer.isView(input)
153
+ ) {
154
+ if ("detached" in input ? input.detached : input.byteLength === 0) {
155
+ return INVALID_VALUE;
156
+ }
157
+ let arrayBuffer;
158
+ let offset = 0;
159
+ let length = 0;
160
+ if (input instanceof ArrayBuffer || isSharedArrayBuffer(input)) {
161
+ arrayBuffer = input;
162
+ length = input.byteLength;
163
+ } else {
164
+ arrayBuffer = input.buffer;
165
+ offset = input.byteOffset;
166
+ length = input.byteLength;
167
+ }
168
+ return arrayBuffer.slice(offset, offset + length);
169
+ } else if (Array.isArray(input)) {
170
+ if (seen === void 0) {
171
+ seen = /* @__PURE__ */ new Set();
172
+ } else if (seen.has(input)) {
173
+ return INVALID_VALUE;
174
+ }
175
+ seen.add(input);
176
+ let hasInvalid = false;
177
+ const keys = Array.from({
178
+ length: input.length
179
+ }, (_, i) => {
180
+ if (hasInvalid) {
181
+ return;
182
+ }
183
+ const hop = Object.hasOwn(input, i);
184
+ if (!hop) {
185
+ hasInvalid = true;
186
+ return;
187
+ }
188
+ const entry = input[i];
189
+ const key = valueToKeyWithoutThrowing(entry, seen);
190
+ if (key === INVALID_VALUE || key === INVALID_TYPE) {
191
+ hasInvalid = true;
192
+ return;
193
+ }
194
+ return key;
195
+ });
196
+ if (hasInvalid) {
197
+ return INVALID_VALUE;
198
+ }
199
+ return keys;
200
+ } else {
201
+ return INVALID_TYPE;
202
+ }
203
+ };
204
+ var valueToKeyWithoutThrowing_default = valueToKeyWithoutThrowing;
205
+
206
+ // ../../node_modules/fake-indexeddb/build/esm/lib/valueToKey.js
207
+ var valueToKey = (input, seen) => {
208
+ const result = valueToKeyWithoutThrowing_default(input, seen);
209
+ if (result === INVALID_VALUE || result === INVALID_TYPE) {
210
+ throw new DataError();
211
+ }
212
+ return result;
213
+ };
214
+ var valueToKey_default = valueToKey;
215
+
216
+ // ../../node_modules/fake-indexeddb/build/esm/lib/cmp.js
217
+ var getType = (x) => {
218
+ if (typeof x === "number") {
219
+ return "Number";
220
+ }
221
+ if (Object.prototype.toString.call(x) === "[object Date]") {
222
+ return "Date";
223
+ }
224
+ if (Array.isArray(x)) {
225
+ return "Array";
226
+ }
227
+ if (typeof x === "string") {
228
+ return "String";
229
+ }
230
+ if (x instanceof ArrayBuffer) {
231
+ return "Binary";
232
+ }
233
+ throw new DataError();
234
+ };
235
+ var cmp = (first, second) => {
236
+ if (second === void 0) {
237
+ throw new TypeError();
238
+ }
239
+ first = valueToKey_default(first);
240
+ second = valueToKey_default(second);
241
+ const t1 = getType(first);
242
+ const t2 = getType(second);
243
+ if (t1 !== t2) {
244
+ if (t1 === "Array") {
245
+ return 1;
246
+ }
247
+ if (t1 === "Binary" && (t2 === "String" || t2 === "Date" || t2 === "Number")) {
248
+ return 1;
249
+ }
250
+ if (t1 === "String" && (t2 === "Date" || t2 === "Number")) {
251
+ return 1;
252
+ }
253
+ if (t1 === "Date" && t2 === "Number") {
254
+ return 1;
255
+ }
256
+ return -1;
257
+ }
258
+ if (t1 === "Binary") {
259
+ first = new Uint8Array(first);
260
+ second = new Uint8Array(second);
261
+ }
262
+ if (t1 === "Array" || t1 === "Binary") {
263
+ const length = Math.min(first.length, second.length);
264
+ for (let i = 0; i < length; i++) {
265
+ const result = cmp(first[i], second[i]);
266
+ if (result !== 0) {
267
+ return result;
268
+ }
269
+ }
270
+ if (first.length > second.length) {
271
+ return 1;
272
+ }
273
+ if (first.length < second.length) {
274
+ return -1;
275
+ }
276
+ return 0;
277
+ }
278
+ if (t1 === "Date") {
279
+ if (first.getTime() === second.getTime()) {
280
+ return 0;
281
+ }
282
+ } else {
283
+ if (first === second) {
284
+ return 0;
285
+ }
286
+ }
287
+ return first > second ? 1 : -1;
288
+ };
289
+ var cmp_default = cmp;
290
+
291
+ // ../../node_modules/fake-indexeddb/build/esm/FDBKeyRange.js
292
+ var FDBKeyRange = class _FDBKeyRange {
293
+ static only(value) {
294
+ if (arguments.length === 0) {
295
+ throw new TypeError();
296
+ }
297
+ value = valueToKey_default(value);
298
+ return new _FDBKeyRange(value, value, false, false);
299
+ }
300
+ static lowerBound(lower, open = false) {
301
+ if (arguments.length === 0) {
302
+ throw new TypeError();
303
+ }
304
+ lower = valueToKey_default(lower);
305
+ return new _FDBKeyRange(lower, void 0, open, true);
306
+ }
307
+ static upperBound(upper, open = false) {
308
+ if (arguments.length === 0) {
309
+ throw new TypeError();
310
+ }
311
+ upper = valueToKey_default(upper);
312
+ return new _FDBKeyRange(void 0, upper, true, open);
313
+ }
314
+ static bound(lower, upper, lowerOpen = false, upperOpen = false) {
315
+ if (arguments.length < 2) {
316
+ throw new TypeError();
317
+ }
318
+ const cmpResult = cmp_default(lower, upper);
319
+ if (cmpResult === 1 || cmpResult === 0 && (lowerOpen || upperOpen)) {
320
+ throw new DataError();
321
+ }
322
+ lower = valueToKey_default(lower);
323
+ upper = valueToKey_default(upper);
324
+ return new _FDBKeyRange(lower, upper, lowerOpen, upperOpen);
325
+ }
326
+ constructor(lower, upper, lowerOpen, upperOpen) {
327
+ this.lower = lower;
328
+ this.upper = upper;
329
+ this.lowerOpen = lowerOpen;
330
+ this.upperOpen = upperOpen;
331
+ }
332
+ // https://w3c.github.io/IndexedDB/#dom-idbkeyrange-includes
333
+ includes(key) {
334
+ if (arguments.length === 0) {
335
+ throw new TypeError();
336
+ }
337
+ key = valueToKey_default(key);
338
+ if (this.lower !== void 0) {
339
+ const cmpResult = cmp_default(this.lower, key);
340
+ if (cmpResult === 1 || cmpResult === 0 && this.lowerOpen) {
341
+ return false;
342
+ }
343
+ }
344
+ if (this.upper !== void 0) {
345
+ const cmpResult = cmp_default(this.upper, key);
346
+ if (cmpResult === -1 || cmpResult === 0 && this.upperOpen) {
347
+ return false;
348
+ }
349
+ }
350
+ return true;
351
+ }
352
+ get [Symbol.toStringTag]() {
353
+ return "IDBKeyRange";
354
+ }
355
+ };
356
+ var FDBKeyRange_default = FDBKeyRange;
357
+
358
+ // ../../node_modules/fake-indexeddb/build/esm/lib/extractKey.js
359
+ init_shims();
360
+ var extractKey = (keyPath, value) => {
361
+ if (Array.isArray(keyPath)) {
362
+ const result = [];
363
+ for (let item of keyPath) {
364
+ if (item !== void 0 && item !== null && typeof item !== "string" && item.toString) {
365
+ item = item.toString();
366
+ }
367
+ const key = extractKey(item, value).key;
368
+ result.push(valueToKey_default(key));
369
+ }
370
+ return {
371
+ type: "found",
372
+ key: result
373
+ };
374
+ }
375
+ if (keyPath === "") {
376
+ return {
377
+ type: "found",
378
+ key: value
379
+ };
380
+ }
381
+ let remainingKeyPath = keyPath;
382
+ let object = value;
383
+ while (remainingKeyPath !== null) {
384
+ let identifier;
385
+ const i = remainingKeyPath.indexOf(".");
386
+ if (i >= 0) {
387
+ identifier = remainingKeyPath.slice(0, i);
388
+ remainingKeyPath = remainingKeyPath.slice(i + 1);
389
+ } else {
390
+ identifier = remainingKeyPath;
391
+ remainingKeyPath = null;
392
+ }
393
+ const isSpecialIdentifier = identifier === "length" && (typeof object === "string" || Array.isArray(object)) || (identifier === "size" || identifier === "type") && typeof Blob !== "undefined" && object instanceof Blob || (identifier === "name" || identifier === "lastModified") && typeof File !== "undefined" && object instanceof File;
394
+ if (!isSpecialIdentifier && (typeof object !== "object" || object === null || !Object.hasOwn(object, identifier))) {
395
+ return {
396
+ type: "notFound"
397
+ };
398
+ }
399
+ object = object[identifier];
400
+ }
401
+ return {
402
+ type: "found",
403
+ key: object
404
+ };
405
+ };
406
+ var extractKey_default = extractKey;
407
+
408
+ // ../../node_modules/fake-indexeddb/build/esm/lib/cloneValueForInsertion.js
409
+ init_shims();
410
+ function cloneValueForInsertion(value, transaction) {
411
+ if (transaction._state !== "active") {
412
+ throw new Error("Assert: transaction state is active");
413
+ }
414
+ transaction._state = "inactive";
415
+ try {
416
+ return structuredClone(value);
417
+ } finally {
418
+ transaction._state = "active";
419
+ }
420
+ }
421
+
422
+ // ../../node_modules/fake-indexeddb/build/esm/FDBCursor.js
423
+ var getEffectiveObjectStore = (cursor) => {
424
+ if (cursor.source instanceof FDBObjectStore_default) {
425
+ return cursor.source;
426
+ }
427
+ return cursor.source.objectStore;
428
+ };
429
+ var makeKeyRange = (range, lowers, uppers) => {
430
+ let lower = range !== void 0 ? range.lower : void 0;
431
+ let upper = range !== void 0 ? range.upper : void 0;
432
+ for (const lowerTemp of lowers) {
433
+ if (lowerTemp === void 0) {
434
+ continue;
435
+ }
436
+ if (lower === void 0 || cmp_default(lower, lowerTemp) === 1) {
437
+ lower = lowerTemp;
438
+ }
439
+ }
440
+ for (const upperTemp of uppers) {
441
+ if (upperTemp === void 0) {
442
+ continue;
443
+ }
444
+ if (upper === void 0 || cmp_default(upper, upperTemp) === -1) {
445
+ upper = upperTemp;
446
+ }
447
+ }
448
+ if (lower !== void 0 && upper !== void 0) {
449
+ return FDBKeyRange_default.bound(lower, upper);
450
+ }
451
+ if (lower !== void 0) {
452
+ return FDBKeyRange_default.lowerBound(lower);
453
+ }
454
+ if (upper !== void 0) {
455
+ return FDBKeyRange_default.upperBound(upper);
456
+ }
457
+ };
458
+ var FDBCursor = class {
459
+ _gotValue = false;
460
+ _position = void 0;
461
+ // Key of previously returned record
462
+ _objectStorePosition = void 0;
463
+ _keyOnly = false;
464
+ _key = void 0;
465
+ _primaryKey = void 0;
466
+ constructor(source, range, direction = "next", request, keyOnly = false) {
467
+ this._range = range;
468
+ this._source = source;
469
+ this._direction = direction;
470
+ this._request = request;
471
+ this._keyOnly = keyOnly;
472
+ }
473
+ // Read only properties
474
+ get source() {
475
+ return this._source;
476
+ }
477
+ set source(val) {
478
+ }
479
+ get request() {
480
+ return this._request;
481
+ }
482
+ set request(val) {
483
+ }
484
+ get direction() {
485
+ return this._direction;
486
+ }
487
+ set direction(val) {
488
+ }
489
+ get key() {
490
+ return this._key;
491
+ }
492
+ set key(val) {
493
+ }
494
+ get primaryKey() {
495
+ return this._primaryKey;
496
+ }
497
+ set primaryKey(val) {
498
+ }
499
+ // https://w3c.github.io/IndexedDB/#iterate-a-cursor
500
+ _iterate(key, primaryKey) {
501
+ const sourceIsObjectStore = this.source instanceof FDBObjectStore_default;
502
+ const records = this.source instanceof FDBObjectStore_default ? this.source._rawObjectStore.records : this.source._rawIndex.records;
503
+ let foundRecord;
504
+ if (this.direction === "next") {
505
+ const range = makeKeyRange(this._range, [key, this._position], []);
506
+ for (const record of records.values(range)) {
507
+ const cmpResultKey = key !== void 0 ? cmp_default(record.key, key) : void 0;
508
+ const cmpResultPosition = this._position !== void 0 ? cmp_default(record.key, this._position) : void 0;
509
+ if (key !== void 0) {
510
+ if (cmpResultKey === -1) {
511
+ continue;
512
+ }
513
+ }
514
+ if (primaryKey !== void 0) {
515
+ if (cmpResultKey === -1) {
516
+ continue;
517
+ }
518
+ const cmpResultPrimaryKey = cmp_default(record.value, primaryKey);
519
+ if (cmpResultKey === 0 && cmpResultPrimaryKey === -1) {
520
+ continue;
521
+ }
522
+ }
523
+ if (this._position !== void 0 && sourceIsObjectStore) {
524
+ if (cmpResultPosition !== 1) {
525
+ continue;
526
+ }
527
+ }
528
+ if (this._position !== void 0 && !sourceIsObjectStore) {
529
+ if (cmpResultPosition === -1) {
530
+ continue;
531
+ }
532
+ if (cmpResultPosition === 0 && cmp_default(record.value, this._objectStorePosition) !== 1) {
533
+ continue;
534
+ }
535
+ }
536
+ if (this._range !== void 0) {
537
+ if (!this._range.includes(record.key)) {
538
+ continue;
539
+ }
540
+ }
541
+ foundRecord = record;
542
+ break;
543
+ }
544
+ } else if (this.direction === "nextunique") {
545
+ const range = makeKeyRange(this._range, [key, this._position], []);
546
+ for (const record of records.values(range)) {
547
+ if (key !== void 0) {
548
+ if (cmp_default(record.key, key) === -1) {
549
+ continue;
550
+ }
551
+ }
552
+ if (this._position !== void 0) {
553
+ if (cmp_default(record.key, this._position) !== 1) {
554
+ continue;
555
+ }
556
+ }
557
+ if (this._range !== void 0) {
558
+ if (!this._range.includes(record.key)) {
559
+ continue;
560
+ }
561
+ }
562
+ foundRecord = record;
563
+ break;
564
+ }
565
+ } else if (this.direction === "prev") {
566
+ const range = makeKeyRange(this._range, [], [key, this._position]);
567
+ for (const record of records.values(range, "prev")) {
568
+ const cmpResultKey = key !== void 0 ? cmp_default(record.key, key) : void 0;
569
+ const cmpResultPosition = this._position !== void 0 ? cmp_default(record.key, this._position) : void 0;
570
+ if (key !== void 0) {
571
+ if (cmpResultKey === 1) {
572
+ continue;
573
+ }
574
+ }
575
+ if (primaryKey !== void 0) {
576
+ if (cmpResultKey === 1) {
577
+ continue;
578
+ }
579
+ const cmpResultPrimaryKey = cmp_default(record.value, primaryKey);
580
+ if (cmpResultKey === 0 && cmpResultPrimaryKey === 1) {
581
+ continue;
582
+ }
583
+ }
584
+ if (this._position !== void 0 && sourceIsObjectStore) {
585
+ if (cmpResultPosition !== -1) {
586
+ continue;
587
+ }
588
+ }
589
+ if (this._position !== void 0 && !sourceIsObjectStore) {
590
+ if (cmpResultPosition === 1) {
591
+ continue;
592
+ }
593
+ if (cmpResultPosition === 0 && cmp_default(record.value, this._objectStorePosition) !== -1) {
594
+ continue;
595
+ }
596
+ }
597
+ if (this._range !== void 0) {
598
+ if (!this._range.includes(record.key)) {
599
+ continue;
600
+ }
601
+ }
602
+ foundRecord = record;
603
+ break;
604
+ }
605
+ } else if (this.direction === "prevunique") {
606
+ let tempRecord;
607
+ const range = makeKeyRange(this._range, [], [key, this._position]);
608
+ for (const record of records.values(range, "prev")) {
609
+ if (key !== void 0) {
610
+ if (cmp_default(record.key, key) === 1) {
611
+ continue;
612
+ }
613
+ }
614
+ if (this._position !== void 0) {
615
+ if (cmp_default(record.key, this._position) !== -1) {
616
+ continue;
617
+ }
618
+ }
619
+ if (this._range !== void 0) {
620
+ if (!this._range.includes(record.key)) {
621
+ continue;
622
+ }
623
+ }
624
+ tempRecord = record;
625
+ break;
626
+ }
627
+ if (tempRecord) {
628
+ foundRecord = records.get(tempRecord.key);
629
+ }
630
+ }
631
+ let result;
632
+ if (!foundRecord) {
633
+ this._key = void 0;
634
+ if (!sourceIsObjectStore) {
635
+ this._objectStorePosition = void 0;
636
+ }
637
+ if (!this._keyOnly && this.toString() === "[object IDBCursorWithValue]") {
638
+ this.value = void 0;
639
+ }
640
+ result = null;
641
+ } else {
642
+ this._position = foundRecord.key;
643
+ if (!sourceIsObjectStore) {
644
+ this._objectStorePosition = foundRecord.value;
645
+ }
646
+ this._key = foundRecord.key;
647
+ if (sourceIsObjectStore) {
648
+ this._primaryKey = structuredClone(foundRecord.key);
649
+ if (!this._keyOnly && this.toString() === "[object IDBCursorWithValue]") {
650
+ this.value = structuredClone(foundRecord.value);
651
+ }
652
+ } else {
653
+ this._primaryKey = structuredClone(foundRecord.value);
654
+ if (!this._keyOnly && this.toString() === "[object IDBCursorWithValue]") {
655
+ if (this.source instanceof FDBObjectStore_default) {
656
+ throw new Error("This should never happen");
657
+ }
658
+ const value = this.source.objectStore._rawObjectStore.getValue(foundRecord.value);
659
+ this.value = structuredClone(value);
660
+ }
661
+ }
662
+ this._gotValue = true;
663
+ result = this;
664
+ }
665
+ return result;
666
+ }
667
+ // http://www.w3.org/TR/2015/REC-IndexedDB-20150108/#widl-IDBCursor-update-IDBRequest-any-value
668
+ update(value) {
669
+ if (value === void 0) {
670
+ throw new TypeError();
671
+ }
672
+ const effectiveObjectStore = getEffectiveObjectStore(this);
673
+ const effectiveKey = Object.hasOwn(this.source, "_rawIndex") ? this.primaryKey : this._position;
674
+ const transaction = effectiveObjectStore.transaction;
675
+ if (transaction._state !== "active") {
676
+ throw new TransactionInactiveError();
677
+ }
678
+ if (transaction.mode === "readonly") {
679
+ throw new ReadOnlyError();
680
+ }
681
+ if (effectiveObjectStore._rawObjectStore.deleted) {
682
+ throw new InvalidStateError();
683
+ }
684
+ if (!(this.source instanceof FDBObjectStore_default) && this.source._rawIndex.deleted) {
685
+ throw new InvalidStateError();
686
+ }
687
+ if (!this._gotValue || !Object.hasOwn(this, "value")) {
688
+ throw new InvalidStateError();
689
+ }
690
+ const clone = cloneValueForInsertion(value, transaction);
691
+ if (effectiveObjectStore.keyPath !== null) {
692
+ let tempKey;
693
+ try {
694
+ tempKey = extractKey_default(effectiveObjectStore.keyPath, clone).key;
695
+ } catch (err) {
696
+ }
697
+ if (cmp_default(tempKey, effectiveKey) !== 0) {
698
+ throw new DataError();
699
+ }
700
+ }
701
+ const record = {
702
+ key: effectiveKey,
703
+ value: clone
704
+ };
705
+ return transaction._execRequestAsync({
706
+ operation: effectiveObjectStore._rawObjectStore.storeRecord.bind(effectiveObjectStore._rawObjectStore, record, false, transaction._rollbackLog),
707
+ source: this
708
+ });
709
+ }
710
+ // http://www.w3.org/TR/2015/REC-IndexedDB-20150108/#widl-IDBCursor-advance-void-unsigned-long-count
711
+ advance(count) {
712
+ if (!Number.isInteger(count) || count <= 0) {
713
+ throw new TypeError();
714
+ }
715
+ const effectiveObjectStore = getEffectiveObjectStore(this);
716
+ const transaction = effectiveObjectStore.transaction;
717
+ if (transaction._state !== "active") {
718
+ throw new TransactionInactiveError();
719
+ }
720
+ if (effectiveObjectStore._rawObjectStore.deleted) {
721
+ throw new InvalidStateError();
722
+ }
723
+ if (!(this.source instanceof FDBObjectStore_default) && this.source._rawIndex.deleted) {
724
+ throw new InvalidStateError();
725
+ }
726
+ if (!this._gotValue) {
727
+ throw new InvalidStateError();
728
+ }
729
+ if (this._request) {
730
+ this._request.readyState = "pending";
731
+ }
732
+ transaction._execRequestAsync({
733
+ operation: () => {
734
+ let result;
735
+ for (let i = 0; i < count; i++) {
736
+ result = this._iterate();
737
+ if (!result) {
738
+ break;
739
+ }
740
+ }
741
+ return result;
742
+ },
743
+ request: this._request,
744
+ source: this.source
745
+ });
746
+ this._gotValue = false;
747
+ }
748
+ // http://www.w3.org/TR/2015/REC-IndexedDB-20150108/#widl-IDBCursor-continue-void-any-key
749
+ continue(key) {
750
+ const effectiveObjectStore = getEffectiveObjectStore(this);
751
+ const transaction = effectiveObjectStore.transaction;
752
+ if (transaction._state !== "active") {
753
+ throw new TransactionInactiveError();
754
+ }
755
+ if (effectiveObjectStore._rawObjectStore.deleted) {
756
+ throw new InvalidStateError();
757
+ }
758
+ if (!(this.source instanceof FDBObjectStore_default) && this.source._rawIndex.deleted) {
759
+ throw new InvalidStateError();
760
+ }
761
+ if (!this._gotValue) {
762
+ throw new InvalidStateError();
763
+ }
764
+ if (key !== void 0) {
765
+ key = valueToKey_default(key);
766
+ const cmpResult = cmp_default(key, this._position);
767
+ if (cmpResult <= 0 && (this.direction === "next" || this.direction === "nextunique") || cmpResult >= 0 && (this.direction === "prev" || this.direction === "prevunique")) {
768
+ throw new DataError();
769
+ }
770
+ }
771
+ if (this._request) {
772
+ this._request.readyState = "pending";
773
+ }
774
+ transaction._execRequestAsync({
775
+ operation: this._iterate.bind(this, key),
776
+ request: this._request,
777
+ source: this.source
778
+ });
779
+ this._gotValue = false;
780
+ }
781
+ // hthttps://w3c.github.io/IndexedDB/#dom-idbcursor-continueprimarykey
782
+ continuePrimaryKey(key, primaryKey) {
783
+ const effectiveObjectStore = getEffectiveObjectStore(this);
784
+ const transaction = effectiveObjectStore.transaction;
785
+ if (transaction._state !== "active") {
786
+ throw new TransactionInactiveError();
787
+ }
788
+ if (effectiveObjectStore._rawObjectStore.deleted) {
789
+ throw new InvalidStateError();
790
+ }
791
+ if (!(this.source instanceof FDBObjectStore_default) && this.source._rawIndex.deleted) {
792
+ throw new InvalidStateError();
793
+ }
794
+ if (this.source instanceof FDBObjectStore_default || this.direction !== "next" && this.direction !== "prev") {
795
+ throw new InvalidAccessError();
796
+ }
797
+ if (!this._gotValue) {
798
+ throw new InvalidStateError();
799
+ }
800
+ if (key === void 0 || primaryKey === void 0) {
801
+ throw new DataError();
802
+ }
803
+ key = valueToKey_default(key);
804
+ const cmpResult = cmp_default(key, this._position);
805
+ if (cmpResult === -1 && this.direction === "next" || cmpResult === 1 && this.direction === "prev") {
806
+ throw new DataError();
807
+ }
808
+ const cmpResult2 = cmp_default(primaryKey, this._objectStorePosition);
809
+ if (cmpResult === 0) {
810
+ if (cmpResult2 <= 0 && this.direction === "next" || cmpResult2 >= 0 && this.direction === "prev") {
811
+ throw new DataError();
812
+ }
813
+ }
814
+ if (this._request) {
815
+ this._request.readyState = "pending";
816
+ }
817
+ transaction._execRequestAsync({
818
+ operation: this._iterate.bind(this, key, primaryKey),
819
+ request: this._request,
820
+ source: this.source
821
+ });
822
+ this._gotValue = false;
823
+ }
824
+ delete() {
825
+ const effectiveObjectStore = getEffectiveObjectStore(this);
826
+ const effectiveKey = Object.hasOwn(this.source, "_rawIndex") ? this.primaryKey : this._position;
827
+ const transaction = effectiveObjectStore.transaction;
828
+ if (transaction._state !== "active") {
829
+ throw new TransactionInactiveError();
830
+ }
831
+ if (transaction.mode === "readonly") {
832
+ throw new ReadOnlyError();
833
+ }
834
+ if (effectiveObjectStore._rawObjectStore.deleted) {
835
+ throw new InvalidStateError();
836
+ }
837
+ if (!(this.source instanceof FDBObjectStore_default) && this.source._rawIndex.deleted) {
838
+ throw new InvalidStateError();
839
+ }
840
+ if (!this._gotValue || !Object.hasOwn(this, "value")) {
841
+ throw new InvalidStateError();
842
+ }
843
+ return transaction._execRequestAsync({
844
+ operation: effectiveObjectStore._rawObjectStore.deleteRecord.bind(effectiveObjectStore._rawObjectStore, effectiveKey, transaction._rollbackLog),
845
+ source: this
846
+ });
847
+ }
848
+ get [Symbol.toStringTag]() {
849
+ return "IDBCursor";
850
+ }
851
+ };
852
+ var FDBCursor_default = FDBCursor;
853
+
854
+ // ../../node_modules/fake-indexeddb/build/esm/FDBCursorWithValue.js
855
+ init_shims();
856
+ var FDBCursorWithValue = class extends FDBCursor_default {
857
+ value = void 0;
858
+ constructor(source, range, direction, request) {
859
+ super(source, range, direction, request);
860
+ }
861
+ get [Symbol.toStringTag]() {
862
+ return "IDBCursorWithValue";
863
+ }
864
+ };
865
+ var FDBCursorWithValue_default = FDBCursorWithValue;
866
+
867
+ // ../../node_modules/fake-indexeddb/build/esm/FDBIndex.js
868
+ init_shims();
869
+
870
+ // ../../node_modules/fake-indexeddb/build/esm/FDBRequest.js
871
+ init_shims();
872
+
873
+ // ../../node_modules/fake-indexeddb/build/esm/lib/FakeEventTarget.js
874
+ init_shims();
875
+ var stopped = (event, listener) => {
876
+ return event.immediatePropagationStopped || event.eventPhase === event.CAPTURING_PHASE && listener.capture === false || event.eventPhase === event.BUBBLING_PHASE && listener.capture === true;
877
+ };
878
+ var invokeEventListeners = (event, obj) => {
879
+ event.currentTarget = obj;
880
+ const errors = [];
881
+ const invoke = (callbackOrObject) => {
882
+ try {
883
+ const callback2 = typeof callbackOrObject === "function" ? callbackOrObject : callbackOrObject.handleEvent;
884
+ callback2.call(event.currentTarget, event);
885
+ } catch (err) {
886
+ errors.push(err);
887
+ }
888
+ };
889
+ for (const listener of obj.listeners.slice()) {
890
+ if (event.type !== listener.type || stopped(event, listener)) {
891
+ continue;
892
+ }
893
+ invoke(listener.callback);
894
+ }
895
+ const typeToProp = {
896
+ abort: "onabort",
897
+ blocked: "onblocked",
898
+ close: "onclose",
899
+ complete: "oncomplete",
900
+ error: "onerror",
901
+ success: "onsuccess",
902
+ upgradeneeded: "onupgradeneeded",
903
+ versionchange: "onversionchange"
904
+ };
905
+ const prop = typeToProp[event.type];
906
+ if (prop === void 0) {
907
+ throw new Error(`Unknown event type: "${event.type}"`);
908
+ }
909
+ const callback = event.currentTarget[prop];
910
+ if (callback) {
911
+ const listener = {
912
+ callback,
913
+ capture: false,
914
+ type: event.type
915
+ };
916
+ if (!stopped(event, listener)) {
917
+ invoke(listener.callback);
918
+ }
919
+ }
920
+ if (errors.length) {
921
+ throw new AggregateError(errors);
922
+ }
923
+ };
924
+ var FakeEventTarget = class {
925
+ listeners = [];
926
+ // These will be overridden in individual subclasses and made not readonly
927
+ addEventListener(type, callback, options) {
928
+ const capture = !!(typeof options === "object" && options ? options.capture : options);
929
+ this.listeners.push({
930
+ callback,
931
+ capture,
932
+ type
933
+ });
934
+ }
935
+ removeEventListener(type, callback, options) {
936
+ const capture = !!(typeof options === "object" && options ? options.capture : options);
937
+ const i = this.listeners.findIndex((listener) => {
938
+ return listener.type === type && listener.callback === callback && listener.capture === capture;
939
+ });
940
+ this.listeners.splice(i, 1);
941
+ }
942
+ // http://www.w3.org/TR/dom/#dispatching-events
943
+ dispatchEvent(event) {
944
+ if (event.dispatched || !event.initialized) {
945
+ throw new InvalidStateError("The object is in an invalid state.");
946
+ }
947
+ event.isTrusted = false;
948
+ event.dispatched = true;
949
+ event.target = this;
950
+ event.eventPhase = event.CAPTURING_PHASE;
951
+ for (const obj of event.eventPath) {
952
+ if (!event.propagationStopped) {
953
+ invokeEventListeners(event, obj);
954
+ }
955
+ }
956
+ event.eventPhase = event.AT_TARGET;
957
+ if (!event.propagationStopped) {
958
+ invokeEventListeners(event, event.target);
959
+ }
960
+ if (event.bubbles) {
961
+ event.eventPath.reverse();
962
+ event.eventPhase = event.BUBBLING_PHASE;
963
+ for (const obj of event.eventPath) {
964
+ if (!event.propagationStopped) {
965
+ invokeEventListeners(event, obj);
966
+ }
967
+ }
968
+ }
969
+ event.dispatched = false;
970
+ event.eventPhase = event.NONE;
971
+ event.currentTarget = null;
972
+ if (event.canceled) {
973
+ return false;
974
+ }
975
+ return true;
976
+ }
977
+ };
978
+ var FakeEventTarget_default = FakeEventTarget;
979
+
980
+ // ../../node_modules/fake-indexeddb/build/esm/FDBRequest.js
981
+ var FDBRequest = class extends FakeEventTarget_default {
982
+ _result = null;
983
+ _error = null;
984
+ source = null;
985
+ transaction = null;
986
+ readyState = "pending";
987
+ onsuccess = null;
988
+ onerror = null;
989
+ get error() {
990
+ if (this.readyState === "pending") {
991
+ throw new InvalidStateError();
992
+ }
993
+ return this._error;
994
+ }
995
+ set error(value) {
996
+ this._error = value;
997
+ }
998
+ get result() {
999
+ if (this.readyState === "pending") {
1000
+ throw new InvalidStateError();
1001
+ }
1002
+ return this._result;
1003
+ }
1004
+ set result(value) {
1005
+ this._result = value;
1006
+ }
1007
+ get [Symbol.toStringTag]() {
1008
+ return "IDBRequest";
1009
+ }
1010
+ };
1011
+ var FDBRequest_default = FDBRequest;
1012
+
1013
+ // ../../node_modules/fake-indexeddb/build/esm/lib/FakeDOMStringList.js
1014
+ init_shims();
1015
+ var FakeDOMStringList = class {
1016
+ constructor(...values) {
1017
+ this._values = values;
1018
+ for (let i = 0; i < values.length; i++) {
1019
+ this[i] = values[i];
1020
+ }
1021
+ }
1022
+ contains(value) {
1023
+ return this._values.includes(value);
1024
+ }
1025
+ item(i) {
1026
+ if (i < 0 || i >= this._values.length) {
1027
+ return null;
1028
+ }
1029
+ return this._values[i];
1030
+ }
1031
+ get length() {
1032
+ return this._values.length;
1033
+ }
1034
+ [Symbol.iterator]() {
1035
+ return this._values[Symbol.iterator]();
1036
+ }
1037
+ // Handled by proxy
1038
+ // Used internally, should not be used by others. I could maybe get rid of these and replace rather than mutate, but too lazy to check the spec.
1039
+ _push(...values) {
1040
+ for (let i = 0; i < values.length; i++) {
1041
+ this[this._values.length + i] = values[i];
1042
+ }
1043
+ this._values.push(...values);
1044
+ }
1045
+ _sort(...values) {
1046
+ this._values.sort(...values);
1047
+ for (let i = 0; i < this._values.length; i++) {
1048
+ this[i] = this._values[i];
1049
+ }
1050
+ return this;
1051
+ }
1052
+ };
1053
+ var FakeDOMStringList_default = FakeDOMStringList;
1054
+
1055
+ // ../../node_modules/fake-indexeddb/build/esm/lib/valueToKeyRange.js
1056
+ init_shims();
1057
+ var valueToKeyRange = (value, nullDisallowedFlag = false) => {
1058
+ if (value instanceof FDBKeyRange_default) {
1059
+ return value;
1060
+ }
1061
+ if (value === null || value === void 0) {
1062
+ if (nullDisallowedFlag) {
1063
+ throw new DataError();
1064
+ }
1065
+ return new FDBKeyRange_default(void 0, void 0, false, false);
1066
+ }
1067
+ const key = valueToKey_default(value);
1068
+ return FDBKeyRange_default.only(key);
1069
+ };
1070
+ var valueToKeyRange_default = valueToKeyRange;
1071
+
1072
+ // ../../node_modules/fake-indexeddb/build/esm/lib/getKeyPath.js
1073
+ init_shims();
1074
+ var convertKey = (key) => typeof key === "object" && key ? key + "" : key;
1075
+ function getKeyPath(keyPath) {
1076
+ return Array.isArray(keyPath) ? keyPath.map(convertKey) : convertKey(keyPath);
1077
+ }
1078
+
1079
+ // ../../node_modules/fake-indexeddb/build/esm/lib/extractGetAllOptions.js
1080
+ init_shims();
1081
+
1082
+ // ../../node_modules/fake-indexeddb/build/esm/lib/isPotentiallyValidKeyRange.js
1083
+ init_shims();
1084
+ var isPotentiallyValidKeyRange = (value) => {
1085
+ if (value instanceof FDBKeyRange_default) {
1086
+ return true;
1087
+ }
1088
+ const key = valueToKeyWithoutThrowing_default(value);
1089
+ return key !== INVALID_TYPE;
1090
+ };
1091
+ var isPotentiallyValidKeyRange_default = isPotentiallyValidKeyRange;
1092
+
1093
+ // ../../node_modules/fake-indexeddb/build/esm/lib/enforceRange.js
1094
+ init_shims();
1095
+ var enforceRange = (num, type) => {
1096
+ const min = 0;
1097
+ const max = type === "unsigned long" ? 4294967295 : 9007199254740991;
1098
+ if (isNaN(num) || num < min || num > max) {
1099
+ throw new TypeError();
1100
+ }
1101
+ if (num >= 0) {
1102
+ return Math.floor(num);
1103
+ }
1104
+ };
1105
+ var enforceRange_default = enforceRange;
1106
+
1107
+ // ../../node_modules/fake-indexeddb/build/esm/lib/extractGetAllOptions.js
1108
+ var extractGetAllOptions = (queryOrOptions, count, numArguments) => {
1109
+ let query;
1110
+ let direction;
1111
+ if (queryOrOptions === void 0 || queryOrOptions === null || isPotentiallyValidKeyRange_default(queryOrOptions)) {
1112
+ query = queryOrOptions;
1113
+ if (numArguments > 1 && count !== void 0) {
1114
+ count = enforceRange_default(count, "unsigned long");
1115
+ }
1116
+ } else {
1117
+ const getAllOptions = queryOrOptions;
1118
+ if (getAllOptions.query !== void 0) {
1119
+ query = getAllOptions.query;
1120
+ }
1121
+ if (getAllOptions.count !== void 0) {
1122
+ count = enforceRange_default(getAllOptions.count, "unsigned long");
1123
+ }
1124
+ if (getAllOptions.direction !== void 0) {
1125
+ direction = getAllOptions.direction;
1126
+ }
1127
+ }
1128
+ return {
1129
+ query,
1130
+ count,
1131
+ direction
1132
+ };
1133
+ };
1134
+ var extractGetAllOptions_default = extractGetAllOptions;
1135
+
1136
+ // ../../node_modules/fake-indexeddb/build/esm/FDBIndex.js
1137
+ var confirmActiveTransaction = (index) => {
1138
+ if (index._rawIndex.deleted || index.objectStore._rawObjectStore.deleted) {
1139
+ throw new InvalidStateError();
1140
+ }
1141
+ if (index.objectStore.transaction._state !== "active") {
1142
+ throw new TransactionInactiveError();
1143
+ }
1144
+ };
1145
+ var FDBIndex = class {
1146
+ constructor(objectStore, rawIndex) {
1147
+ this._rawIndex = rawIndex;
1148
+ this._name = rawIndex.name;
1149
+ this.objectStore = objectStore;
1150
+ this.keyPath = getKeyPath(rawIndex.keyPath);
1151
+ this.multiEntry = rawIndex.multiEntry;
1152
+ this.unique = rawIndex.unique;
1153
+ }
1154
+ get name() {
1155
+ return this._name;
1156
+ }
1157
+ // https://w3c.github.io/IndexedDB/#dom-idbindex-name
1158
+ set name(name) {
1159
+ const transaction = this.objectStore.transaction;
1160
+ if (!transaction.db._runningVersionchangeTransaction) {
1161
+ throw transaction._state === "active" ? new InvalidStateError() : new TransactionInactiveError();
1162
+ }
1163
+ if (transaction._state !== "active") {
1164
+ throw new TransactionInactiveError();
1165
+ }
1166
+ if (this._rawIndex.deleted || this.objectStore._rawObjectStore.deleted) {
1167
+ throw new InvalidStateError();
1168
+ }
1169
+ name = String(name);
1170
+ if (name === this._name) {
1171
+ return;
1172
+ }
1173
+ if (this.objectStore.indexNames.contains(name)) {
1174
+ throw new ConstraintError();
1175
+ }
1176
+ const oldName = this._name;
1177
+ const oldIndexNames = [...this.objectStore.indexNames];
1178
+ this._name = name;
1179
+ this._rawIndex.name = name;
1180
+ this.objectStore._indexesCache.delete(oldName);
1181
+ this.objectStore._indexesCache.set(name, this);
1182
+ this.objectStore._rawObjectStore.rawIndexes.delete(oldName);
1183
+ this.objectStore._rawObjectStore.rawIndexes.set(name, this._rawIndex);
1184
+ this.objectStore.indexNames = new FakeDOMStringList_default(...Array.from(this.objectStore._rawObjectStore.rawIndexes.keys()).filter((indexName) => {
1185
+ const index = this.objectStore._rawObjectStore.rawIndexes.get(indexName);
1186
+ return index && !index.deleted;
1187
+ }).sort());
1188
+ if (!this.objectStore.transaction._createdIndexes.has(this._rawIndex)) {
1189
+ transaction._rollbackLog.push(() => {
1190
+ this._name = oldName;
1191
+ this._rawIndex.name = oldName;
1192
+ this.objectStore._indexesCache.delete(name);
1193
+ this.objectStore._indexesCache.set(oldName, this);
1194
+ this.objectStore._rawObjectStore.rawIndexes.delete(name);
1195
+ this.objectStore._rawObjectStore.rawIndexes.set(oldName, this._rawIndex);
1196
+ this.objectStore.indexNames = new FakeDOMStringList_default(...oldIndexNames);
1197
+ });
1198
+ }
1199
+ }
1200
+ // http://www.w3.org/TR/2015/REC-IndexedDB-20150108/#widl-IDBIndex-openCursor-IDBRequest-any-range-IDBCursorDirection-direction
1201
+ openCursor(range, direction) {
1202
+ confirmActiveTransaction(this);
1203
+ if (range === null) {
1204
+ range = void 0;
1205
+ }
1206
+ if (range !== void 0 && !(range instanceof FDBKeyRange_default)) {
1207
+ range = FDBKeyRange_default.only(valueToKey_default(range));
1208
+ }
1209
+ const request = new FDBRequest_default();
1210
+ request.source = this;
1211
+ request.transaction = this.objectStore.transaction;
1212
+ const cursor = new FDBCursorWithValue_default(this, range, direction, request);
1213
+ return this.objectStore.transaction._execRequestAsync({
1214
+ operation: cursor._iterate.bind(cursor),
1215
+ request,
1216
+ source: this
1217
+ });
1218
+ }
1219
+ // http://www.w3.org/TR/2015/REC-IndexedDB-20150108/#widl-IDBIndex-openKeyCursor-IDBRequest-any-range-IDBCursorDirection-direction
1220
+ openKeyCursor(range, direction) {
1221
+ confirmActiveTransaction(this);
1222
+ if (range === null) {
1223
+ range = void 0;
1224
+ }
1225
+ if (range !== void 0 && !(range instanceof FDBKeyRange_default)) {
1226
+ range = FDBKeyRange_default.only(valueToKey_default(range));
1227
+ }
1228
+ const request = new FDBRequest_default();
1229
+ request.source = this;
1230
+ request.transaction = this.objectStore.transaction;
1231
+ const cursor = new FDBCursor_default(this, range, direction, request, true);
1232
+ return this.objectStore.transaction._execRequestAsync({
1233
+ operation: cursor._iterate.bind(cursor),
1234
+ request,
1235
+ source: this
1236
+ });
1237
+ }
1238
+ get(key) {
1239
+ confirmActiveTransaction(this);
1240
+ if (!(key instanceof FDBKeyRange_default)) {
1241
+ key = valueToKey_default(key);
1242
+ }
1243
+ return this.objectStore.transaction._execRequestAsync({
1244
+ operation: this._rawIndex.getValue.bind(this._rawIndex, key),
1245
+ source: this
1246
+ });
1247
+ }
1248
+ // http://w3c.github.io/IndexedDB/#dom-idbindex-getall
1249
+ getAll(queryOrOptions, count) {
1250
+ const options = extractGetAllOptions_default(queryOrOptions, count, arguments.length);
1251
+ confirmActiveTransaction(this);
1252
+ const range = valueToKeyRange_default(options.query);
1253
+ return this.objectStore.transaction._execRequestAsync({
1254
+ operation: this._rawIndex.getAllValues.bind(this._rawIndex, range, options.count, options.direction),
1255
+ source: this
1256
+ });
1257
+ }
1258
+ // http://www.w3.org/TR/2015/REC-IndexedDB-20150108/#widl-IDBIndex-getKey-IDBRequest-any-key
1259
+ getKey(key) {
1260
+ confirmActiveTransaction(this);
1261
+ if (!(key instanceof FDBKeyRange_default)) {
1262
+ key = valueToKey_default(key);
1263
+ }
1264
+ return this.objectStore.transaction._execRequestAsync({
1265
+ operation: this._rawIndex.getKey.bind(this._rawIndex, key),
1266
+ source: this
1267
+ });
1268
+ }
1269
+ // http://w3c.github.io/IndexedDB/#dom-idbindex-getallkeys
1270
+ getAllKeys(queryOrOptions, count) {
1271
+ const options = extractGetAllOptions_default(queryOrOptions, count, arguments.length);
1272
+ confirmActiveTransaction(this);
1273
+ const range = valueToKeyRange_default(options.query);
1274
+ return this.objectStore.transaction._execRequestAsync({
1275
+ operation: this._rawIndex.getAllKeys.bind(this._rawIndex, range, options.count, options.direction),
1276
+ source: this
1277
+ });
1278
+ }
1279
+ // https://www.w3.org/TR/IndexedDB/#dom-idbobjectstore-getallrecords
1280
+ getAllRecords(options) {
1281
+ let query;
1282
+ let count;
1283
+ let direction;
1284
+ if (options !== void 0) {
1285
+ if (options.query !== void 0) {
1286
+ query = options.query;
1287
+ }
1288
+ if (options.count !== void 0) {
1289
+ count = enforceRange_default(options.count, "unsigned long");
1290
+ }
1291
+ if (options.direction !== void 0) {
1292
+ direction = options.direction;
1293
+ }
1294
+ }
1295
+ confirmActiveTransaction(this);
1296
+ const range = valueToKeyRange_default(query);
1297
+ return this.objectStore.transaction._execRequestAsync({
1298
+ operation: this._rawIndex.getAllRecords.bind(this._rawIndex, range, count, direction),
1299
+ source: this
1300
+ });
1301
+ }
1302
+ // http://www.w3.org/TR/2015/REC-IndexedDB-20150108/#widl-IDBIndex-count-IDBRequest-any-key
1303
+ count(key) {
1304
+ confirmActiveTransaction(this);
1305
+ if (key === null) {
1306
+ key = void 0;
1307
+ }
1308
+ if (key !== void 0 && !(key instanceof FDBKeyRange_default)) {
1309
+ key = FDBKeyRange_default.only(valueToKey_default(key));
1310
+ }
1311
+ return this.objectStore.transaction._execRequestAsync({
1312
+ operation: () => {
1313
+ return this._rawIndex.count(key);
1314
+ },
1315
+ source: this
1316
+ });
1317
+ }
1318
+ get [Symbol.toStringTag]() {
1319
+ return "IDBIndex";
1320
+ }
1321
+ };
1322
+ var FDBIndex_default = FDBIndex;
1323
+
1324
+ // ../../node_modules/fake-indexeddb/build/esm/lib/canInjectKey.js
1325
+ init_shims();
1326
+ var canInjectKey = (keyPath, value) => {
1327
+ if (Array.isArray(keyPath)) {
1328
+ throw new Error("The key paths used in this section are always strings and never sequences, since it is not possible to create a object store which has a key generator and also has a key path that is a sequence.");
1329
+ }
1330
+ const identifiers = keyPath.split(".");
1331
+ if (identifiers.length === 0) {
1332
+ throw new Error("Assert: identifiers is not empty");
1333
+ }
1334
+ identifiers.pop();
1335
+ for (const identifier of identifiers) {
1336
+ if (typeof value !== "object" && !Array.isArray(value)) {
1337
+ return false;
1338
+ }
1339
+ const hop = Object.hasOwn(value, identifier);
1340
+ if (!hop) {
1341
+ return true;
1342
+ }
1343
+ value = value[identifier];
1344
+ }
1345
+ return typeof value === "object" || Array.isArray(value);
1346
+ };
1347
+ var canInjectKey_default = canInjectKey;
1348
+
1349
+ // ../../node_modules/fake-indexeddb/build/esm/lib/Index.js
1350
+ init_shims();
1351
+
1352
+ // ../../node_modules/fake-indexeddb/build/esm/FDBRecord.js
1353
+ init_shims();
1354
+ var FDBRecord = class {
1355
+ constructor(key, primaryKey, value) {
1356
+ this._key = key;
1357
+ this._primaryKey = primaryKey;
1358
+ this._value = value;
1359
+ }
1360
+ get key() {
1361
+ return this._key;
1362
+ }
1363
+ set key(_) {
1364
+ }
1365
+ get primaryKey() {
1366
+ return this._primaryKey;
1367
+ }
1368
+ set primaryKey(_) {
1369
+ }
1370
+ get value() {
1371
+ return this._value;
1372
+ }
1373
+ set value(_) {
1374
+ }
1375
+ get [Symbol.toStringTag]() {
1376
+ return "IDBRecord";
1377
+ }
1378
+ };
1379
+ var FDBRecord_default = FDBRecord;
1380
+
1381
+ // ../../node_modules/fake-indexeddb/build/esm/lib/RecordStore.js
1382
+ init_shims();
1383
+
1384
+ // ../../node_modules/fake-indexeddb/build/esm/lib/binarySearchTree.js
1385
+ init_shims();
1386
+ var MAX_TOMBSTONE_FACTOR = 2 / 3;
1387
+ var EVERYTHING_KEY_RANGE = new FDBKeyRange_default(void 0, void 0, false, false);
1388
+ var BinarySearchTree = class {
1389
+ _numTombstones = 0;
1390
+ _numNodes = 0;
1391
+ /**
1392
+ *
1393
+ * @param keysAreUnique - whether keys can be unique, and thus whether we cn skip checking `record.value` when
1394
+ * comparing. This is basically used to distinguish ObjectStores (where the value is the entire object, not used
1395
+ * as a key) from non-unique Indexes (where both the key and the value are meaningful keys used for sorting)
1396
+ */
1397
+ constructor(keysAreUnique) {
1398
+ this._keysAreUnique = !!keysAreUnique;
1399
+ }
1400
+ size() {
1401
+ return this._numNodes - this._numTombstones;
1402
+ }
1403
+ get(record) {
1404
+ return this._getByComparator(this._root, (otherRecord) => this._compare(record, otherRecord));
1405
+ }
1406
+ contains(record) {
1407
+ return !!this.get(record);
1408
+ }
1409
+ _compare(a, b) {
1410
+ const keyComparison = cmp_default(a.key, b.key);
1411
+ if (keyComparison !== 0) {
1412
+ return keyComparison;
1413
+ }
1414
+ return this._keysAreUnique ? 0 : cmp_default(a.value, b.value);
1415
+ }
1416
+ _getByComparator(node, comparator) {
1417
+ let current = node;
1418
+ while (current) {
1419
+ const comparison = comparator(current.record);
1420
+ if (comparison < 0) {
1421
+ current = current.left;
1422
+ } else if (comparison > 0) {
1423
+ current = current.right;
1424
+ } else {
1425
+ return current.record;
1426
+ }
1427
+ }
1428
+ }
1429
+ /**
1430
+ * Put a new record, and return the overwritten record if an overwrite occurred.
1431
+ * @param record
1432
+ * @param noOverwrite - throw a ConstraintError in case of overwrite
1433
+ */
1434
+ put(record, noOverwrite = false) {
1435
+ if (!this._root) {
1436
+ this._root = {
1437
+ record,
1438
+ left: void 0,
1439
+ right: void 0,
1440
+ parent: void 0,
1441
+ deleted: false,
1442
+ // the root is always black in a red-black tree
1443
+ red: false
1444
+ };
1445
+ this._numNodes++;
1446
+ return;
1447
+ }
1448
+ return this._put(this._root, record, noOverwrite);
1449
+ }
1450
+ _put(node, record, noOverwrite) {
1451
+ const comparison = this._compare(record, node.record);
1452
+ if (comparison < 0) {
1453
+ if (node.left) {
1454
+ return this._put(node.left, record, noOverwrite);
1455
+ } else {
1456
+ node.left = {
1457
+ record,
1458
+ left: void 0,
1459
+ right: void 0,
1460
+ parent: node,
1461
+ deleted: false,
1462
+ red: true
1463
+ };
1464
+ this._onNewNodeInserted(node.left);
1465
+ }
1466
+ } else if (comparison > 0) {
1467
+ if (node.right) {
1468
+ return this._put(node.right, record, noOverwrite);
1469
+ } else {
1470
+ node.right = {
1471
+ record,
1472
+ left: void 0,
1473
+ right: void 0,
1474
+ parent: node,
1475
+ deleted: false,
1476
+ red: true
1477
+ };
1478
+ this._onNewNodeInserted(node.right);
1479
+ }
1480
+ } else if (node.deleted) {
1481
+ node.deleted = false;
1482
+ node.record = record;
1483
+ this._numTombstones--;
1484
+ } else if (noOverwrite) {
1485
+ throw new ConstraintError();
1486
+ } else {
1487
+ const overwrittenRecord = node.record;
1488
+ node.record = record;
1489
+ return overwrittenRecord;
1490
+ }
1491
+ }
1492
+ delete(record) {
1493
+ if (!this._root) {
1494
+ return;
1495
+ }
1496
+ this._delete(this._root, record);
1497
+ if (this._numTombstones > this._numNodes * MAX_TOMBSTONE_FACTOR) {
1498
+ const records = [...this.getAllRecords()];
1499
+ this._root = this._rebuild(records, void 0, false);
1500
+ this._numNodes = records.length;
1501
+ this._numTombstones = 0;
1502
+ }
1503
+ }
1504
+ _delete(node, record) {
1505
+ if (!node) {
1506
+ return;
1507
+ }
1508
+ const comparison = this._compare(record, node.record);
1509
+ if (comparison < 0) {
1510
+ this._delete(node.left, record);
1511
+ } else if (comparison > 0) {
1512
+ this._delete(node.right, record);
1513
+ } else if (!node.deleted) {
1514
+ this._numTombstones++;
1515
+ node.deleted = true;
1516
+ }
1517
+ }
1518
+ *getAllRecords(descending = false) {
1519
+ yield* this.getRecords(EVERYTHING_KEY_RANGE, descending);
1520
+ }
1521
+ *getRecords(keyRange, descending = false) {
1522
+ yield* this._getRecordsForNode(this._root, keyRange, descending);
1523
+ }
1524
+ *_getRecordsForNode(node, keyRange, descending = false) {
1525
+ if (!node) {
1526
+ return;
1527
+ }
1528
+ yield* this._findRecords(node, keyRange, descending);
1529
+ }
1530
+ *_findRecords(node, keyRange, descending = false) {
1531
+ const {
1532
+ lower,
1533
+ upper,
1534
+ lowerOpen,
1535
+ upperOpen
1536
+ } = keyRange;
1537
+ const {
1538
+ record: {
1539
+ key
1540
+ }
1541
+ } = node;
1542
+ const lowerComparison = lower === void 0 ? -1 : cmp_default(lower, key);
1543
+ const upperComparison = upper === void 0 ? 1 : cmp_default(upper, key);
1544
+ const moreLeft = this._keysAreUnique ? lowerComparison < 0 : lowerComparison <= 0;
1545
+ const moreRight = this._keysAreUnique ? upperComparison > 0 : upperComparison >= 0;
1546
+ const moreStart = descending ? moreRight : moreLeft;
1547
+ const moreEnd = descending ? moreLeft : moreRight;
1548
+ const start = descending ? "right" : "left";
1549
+ const end = descending ? "left" : "right";
1550
+ const lowerMatches = lowerOpen ? lowerComparison < 0 : lowerComparison <= 0;
1551
+ const upperMatches = upperOpen ? upperComparison > 0 : upperComparison >= 0;
1552
+ if (moreStart && node[start]) {
1553
+ yield* this._findRecords(node[start], keyRange, descending);
1554
+ }
1555
+ if (lowerMatches && upperMatches && !node.deleted) {
1556
+ yield node.record;
1557
+ }
1558
+ if (moreEnd && node[end]) {
1559
+ yield* this._findRecords(node[end], keyRange, descending);
1560
+ }
1561
+ }
1562
+ _onNewNodeInserted(newNode) {
1563
+ this._numNodes++;
1564
+ this._rebalanceTree(newNode);
1565
+ }
1566
+ // based on https://en.wikipedia.org/wiki/Red%E2%80%93black_tree#Insertion
1567
+ _rebalanceTree(node) {
1568
+ let parent = node.parent;
1569
+ do {
1570
+ if (!parent.red) {
1571
+ return;
1572
+ }
1573
+ const grandparent = parent.parent;
1574
+ if (!grandparent) {
1575
+ parent.red = false;
1576
+ return;
1577
+ }
1578
+ const parentIsRightChild = parent === grandparent.right;
1579
+ const uncle = parentIsRightChild ? grandparent.left : grandparent.right;
1580
+ if (!uncle || !uncle.red) {
1581
+ if (node === (parentIsRightChild ? parent.left : parent.right)) {
1582
+ this._rotateSubtree(parent, parentIsRightChild);
1583
+ node = parent;
1584
+ parent = parentIsRightChild ? grandparent.right : grandparent.left;
1585
+ }
1586
+ this._rotateSubtree(grandparent, !parentIsRightChild);
1587
+ parent.red = false;
1588
+ grandparent.red = true;
1589
+ return;
1590
+ }
1591
+ parent.red = false;
1592
+ uncle.red = false;
1593
+ grandparent.red = true;
1594
+ node = grandparent;
1595
+ } while (node.parent ? parent = node.parent : false);
1596
+ }
1597
+ // based on https://en.wikipedia.org/wiki/Red%E2%80%93black_tree#Implementation
1598
+ _rotateSubtree(node, right) {
1599
+ const parent = node.parent;
1600
+ const newRoot = right ? node.left : node.right;
1601
+ const newChild = right ? newRoot.right : newRoot.left;
1602
+ node[right ? "left" : "right"] = newChild;
1603
+ if (newChild) {
1604
+ newChild.parent = node;
1605
+ }
1606
+ newRoot[right ? "right" : "left"] = node;
1607
+ newRoot.parent = parent;
1608
+ node.parent = newRoot;
1609
+ if (parent) {
1610
+ parent[node === parent.right ? "right" : "left"] = newRoot;
1611
+ } else {
1612
+ this._root = newRoot;
1613
+ }
1614
+ return newRoot;
1615
+ }
1616
+ // rebuild the whole tree from scratch, used to avoid too many deletion tombstones accumulating
1617
+ _rebuild(records, parent, red) {
1618
+ const {
1619
+ length
1620
+ } = records;
1621
+ if (!length) {
1622
+ return void 0;
1623
+ }
1624
+ const mid = length >>> 1;
1625
+ const node = {
1626
+ record: records[mid],
1627
+ left: void 0,
1628
+ right: void 0,
1629
+ parent,
1630
+ deleted: false,
1631
+ red
1632
+ };
1633
+ const left = this._rebuild(records.slice(0, mid), node, !red);
1634
+ const right = this._rebuild(records.slice(mid + 1), node, !red);
1635
+ node.left = left;
1636
+ node.right = right;
1637
+ return node;
1638
+ }
1639
+ };
1640
+
1641
+ // ../../node_modules/fake-indexeddb/build/esm/lib/RecordStore.js
1642
+ var RecordStore = class {
1643
+ constructor(keysAreUnique) {
1644
+ this.keysAreUnique = keysAreUnique;
1645
+ this.records = new BinarySearchTree(this.keysAreUnique);
1646
+ }
1647
+ get(key) {
1648
+ const range = key instanceof FDBKeyRange_default ? key : FDBKeyRange_default.only(key);
1649
+ return this.records.getRecords(range).next().value;
1650
+ }
1651
+ /**
1652
+ * Put a new record, and return the overwritten record if an overwrite occurred.
1653
+ * @param newRecord
1654
+ * @param noOverwrite - throw a ConstraintError in case of overwrite
1655
+ */
1656
+ put(newRecord, noOverwrite = false) {
1657
+ return this.records.put(newRecord, noOverwrite);
1658
+ }
1659
+ delete(key) {
1660
+ const range = key instanceof FDBKeyRange_default ? key : FDBKeyRange_default.only(key);
1661
+ const deletedRecords = [...this.records.getRecords(range)];
1662
+ for (const record of deletedRecords) {
1663
+ this.records.delete(record);
1664
+ }
1665
+ return deletedRecords;
1666
+ }
1667
+ deleteByValue(key) {
1668
+ const range = key instanceof FDBKeyRange_default ? key : FDBKeyRange_default.only(key);
1669
+ const deletedRecords = [];
1670
+ for (const record of this.records.getAllRecords()) {
1671
+ if (range.includes(record.value)) {
1672
+ this.records.delete(record);
1673
+ deletedRecords.push(record);
1674
+ }
1675
+ }
1676
+ return deletedRecords;
1677
+ }
1678
+ clear() {
1679
+ const deletedRecords = [...this.records.getAllRecords()];
1680
+ this.records = new BinarySearchTree(this.keysAreUnique);
1681
+ return deletedRecords;
1682
+ }
1683
+ values(range, direction = "next") {
1684
+ const descending = direction === "prev" || direction === "prevunique";
1685
+ const records = range ? this.records.getRecords(range, descending) : this.records.getAllRecords(descending);
1686
+ return {
1687
+ [Symbol.iterator]: () => {
1688
+ const next = () => {
1689
+ return records.next();
1690
+ };
1691
+ if (direction === "next" || direction === "prev") {
1692
+ return {
1693
+ next
1694
+ };
1695
+ }
1696
+ if (direction === "nextunique") {
1697
+ let previousValue = void 0;
1698
+ return {
1699
+ next: () => {
1700
+ let current2 = next();
1701
+ while (!current2.done && previousValue !== void 0 && cmp_default(previousValue.key, current2.value.key) === 0) {
1702
+ current2 = next();
1703
+ }
1704
+ previousValue = current2.value;
1705
+ return current2;
1706
+ }
1707
+ };
1708
+ }
1709
+ let current = next();
1710
+ let nextResult = next();
1711
+ return {
1712
+ next: () => {
1713
+ while (!nextResult.done && cmp_default(current.value.key, nextResult.value.key) === 0) {
1714
+ current = nextResult;
1715
+ nextResult = next();
1716
+ }
1717
+ const result = current;
1718
+ current = nextResult;
1719
+ nextResult = next();
1720
+ return result;
1721
+ }
1722
+ };
1723
+ }
1724
+ };
1725
+ }
1726
+ size() {
1727
+ return this.records.size();
1728
+ }
1729
+ };
1730
+ var RecordStore_default = RecordStore;
1731
+
1732
+ // ../../node_modules/fake-indexeddb/build/esm/lib/Index.js
1733
+ var Index = class {
1734
+ deleted = false;
1735
+ // Initialized should be used to decide whether to throw an error or abort the versionchange transaction when there is a
1736
+ // constraint
1737
+ initialized = false;
1738
+ constructor(rawObjectStore, name, keyPath, multiEntry, unique) {
1739
+ this.rawObjectStore = rawObjectStore;
1740
+ this.name = name;
1741
+ this.keyPath = keyPath;
1742
+ this.multiEntry = multiEntry;
1743
+ this.unique = unique;
1744
+ this.records = new RecordStore_default(unique);
1745
+ }
1746
+ // http://www.w3.org/TR/2015/REC-IndexedDB-20150108/#dfn-steps-for-retrieving-a-value-from-an-index
1747
+ getKey(key) {
1748
+ const record = this.records.get(key);
1749
+ return record !== void 0 ? record.value : void 0;
1750
+ }
1751
+ // http://w3c.github.io/IndexedDB/#retrieve-multiple-referenced-values-from-an-index
1752
+ getAllKeys(range, count, direction) {
1753
+ if (count === void 0 || count === 0) {
1754
+ count = Infinity;
1755
+ }
1756
+ const records = [];
1757
+ for (const record of this.records.values(range, direction)) {
1758
+ records.push(structuredClone(record.value));
1759
+ if (records.length >= count) {
1760
+ break;
1761
+ }
1762
+ }
1763
+ return records;
1764
+ }
1765
+ // http://www.w3.org/TR/2015/REC-IndexedDB-20150108/#index-referenced-value-retrieval-operation
1766
+ getValue(key) {
1767
+ const record = this.records.get(key);
1768
+ return record !== void 0 ? this.rawObjectStore.getValue(record.value) : void 0;
1769
+ }
1770
+ // http://w3c.github.io/IndexedDB/#retrieve-multiple-referenced-values-from-an-index
1771
+ getAllValues(range, count, direction) {
1772
+ if (count === void 0 || count === 0) {
1773
+ count = Infinity;
1774
+ }
1775
+ const records = [];
1776
+ for (const record of this.records.values(range, direction)) {
1777
+ records.push(this.rawObjectStore.getValue(record.value));
1778
+ if (records.length >= count) {
1779
+ break;
1780
+ }
1781
+ }
1782
+ return records;
1783
+ }
1784
+ // https://www.w3.org/TR/IndexedDB/#dom-idbindex-getallrecords
1785
+ getAllRecords(range, count, direction) {
1786
+ if (count === void 0 || count === 0) {
1787
+ count = Infinity;
1788
+ }
1789
+ const records = [];
1790
+ for (const record of this.records.values(range, direction)) {
1791
+ records.push(new FDBRecord_default(structuredClone(record.key), structuredClone(this.rawObjectStore.getKey(record.value)), this.rawObjectStore.getValue(record.value)));
1792
+ if (records.length >= count) {
1793
+ break;
1794
+ }
1795
+ }
1796
+ return records;
1797
+ }
1798
+ // http://www.w3.org/TR/2015/REC-IndexedDB-20150108/#dfn-steps-for-storing-a-record-into-an-object-store (step 7)
1799
+ storeRecord(newRecord) {
1800
+ let indexKey;
1801
+ try {
1802
+ indexKey = extractKey_default(this.keyPath, newRecord.value).key;
1803
+ } catch (err) {
1804
+ if (err.name === "DataError") {
1805
+ return;
1806
+ }
1807
+ throw err;
1808
+ }
1809
+ if (!this.multiEntry || !Array.isArray(indexKey)) {
1810
+ try {
1811
+ valueToKey_default(indexKey);
1812
+ } catch (e) {
1813
+ return;
1814
+ }
1815
+ } else {
1816
+ const keep = [];
1817
+ for (const part of indexKey) {
1818
+ if (keep.indexOf(part) < 0) {
1819
+ try {
1820
+ keep.push(valueToKey_default(part));
1821
+ } catch (err) {
1822
+ }
1823
+ }
1824
+ }
1825
+ indexKey = keep;
1826
+ }
1827
+ if (!this.multiEntry || !Array.isArray(indexKey)) {
1828
+ if (this.unique) {
1829
+ const existingRecord = this.records.get(indexKey);
1830
+ if (existingRecord) {
1831
+ throw new ConstraintError();
1832
+ }
1833
+ }
1834
+ } else {
1835
+ if (this.unique) {
1836
+ for (const individualIndexKey of indexKey) {
1837
+ const existingRecord = this.records.get(individualIndexKey);
1838
+ if (existingRecord) {
1839
+ throw new ConstraintError();
1840
+ }
1841
+ }
1842
+ }
1843
+ }
1844
+ if (!this.multiEntry || !Array.isArray(indexKey)) {
1845
+ this.records.put({
1846
+ key: indexKey,
1847
+ value: newRecord.key
1848
+ });
1849
+ } else {
1850
+ for (const individualIndexKey of indexKey) {
1851
+ this.records.put({
1852
+ key: individualIndexKey,
1853
+ value: newRecord.key
1854
+ });
1855
+ }
1856
+ }
1857
+ }
1858
+ initialize(transaction) {
1859
+ if (this.initialized) {
1860
+ throw new Error("Index already initialized");
1861
+ }
1862
+ transaction._execRequestAsync({
1863
+ operation: () => {
1864
+ try {
1865
+ for (const record of this.rawObjectStore.records.values()) {
1866
+ this.storeRecord(record);
1867
+ }
1868
+ this.initialized = true;
1869
+ } catch (err) {
1870
+ transaction._abort(err.name);
1871
+ }
1872
+ },
1873
+ source: null
1874
+ });
1875
+ }
1876
+ count(range) {
1877
+ let count = 0;
1878
+ for (const record of this.records.values(range)) {
1879
+ count += 1;
1880
+ }
1881
+ return count;
1882
+ }
1883
+ };
1884
+ var Index_default = Index;
1885
+
1886
+ // ../../node_modules/fake-indexeddb/build/esm/lib/validateKeyPath.js
1887
+ init_shims();
1888
+ var validateKeyPath = (keyPath, parent) => {
1889
+ if (keyPath !== void 0 && keyPath !== null && typeof keyPath !== "string" && keyPath.toString && (parent === "array" || !Array.isArray(keyPath))) {
1890
+ keyPath = keyPath.toString();
1891
+ }
1892
+ if (typeof keyPath === "string") {
1893
+ if (keyPath === "" && parent !== "string") {
1894
+ return;
1895
+ }
1896
+ try {
1897
+ const validIdentifierRegex = (
1898
+ // eslint-disable-next-line no-misleading-character-class
1899
+ /^(?:[$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B2\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC])(?:[$0-9A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B2\u08E4-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58\u0C59\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D60-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA69D\uA69F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2D\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC])*$/
1900
+ );
1901
+ if (keyPath.length >= 1 && validIdentifierRegex.test(keyPath)) {
1902
+ return;
1903
+ }
1904
+ } catch (err) {
1905
+ throw new SyntaxError(err.message);
1906
+ }
1907
+ if (keyPath.indexOf(" ") >= 0) {
1908
+ throw new SyntaxError("The keypath argument contains an invalid key path (no spaces allowed).");
1909
+ }
1910
+ }
1911
+ if (Array.isArray(keyPath) && keyPath.length > 0) {
1912
+ if (parent) {
1913
+ throw new SyntaxError("The keypath argument contains an invalid key path (nested arrays).");
1914
+ }
1915
+ for (const part of keyPath) {
1916
+ validateKeyPath(part, "array");
1917
+ }
1918
+ return;
1919
+ } else if (typeof keyPath === "string" && keyPath.indexOf(".") >= 0) {
1920
+ keyPath = keyPath.split(".");
1921
+ for (const part of keyPath) {
1922
+ validateKeyPath(part, "string");
1923
+ }
1924
+ return;
1925
+ }
1926
+ throw new SyntaxError();
1927
+ };
1928
+ var validateKeyPath_default = validateKeyPath;
1929
+
1930
+ // ../../node_modules/fake-indexeddb/build/esm/FDBObjectStore.js
1931
+ var confirmActiveTransaction2 = (objectStore) => {
1932
+ if (objectStore._rawObjectStore.deleted) {
1933
+ throw new InvalidStateError();
1934
+ }
1935
+ if (objectStore.transaction._state !== "active") {
1936
+ throw new TransactionInactiveError();
1937
+ }
1938
+ };
1939
+ var buildRecordAddPut = (objectStore, value, key) => {
1940
+ confirmActiveTransaction2(objectStore);
1941
+ if (objectStore.transaction.mode === "readonly") {
1942
+ throw new ReadOnlyError();
1943
+ }
1944
+ if (objectStore.keyPath !== null) {
1945
+ if (key !== void 0) {
1946
+ throw new DataError();
1947
+ }
1948
+ }
1949
+ const clone = cloneValueForInsertion(value, objectStore.transaction);
1950
+ if (objectStore.keyPath !== null) {
1951
+ const tempKey = extractKey_default(objectStore.keyPath, clone);
1952
+ if (tempKey.type === "found") {
1953
+ valueToKey_default(tempKey.key);
1954
+ } else {
1955
+ if (!objectStore._rawObjectStore.keyGenerator) {
1956
+ throw new DataError();
1957
+ } else if (!canInjectKey_default(objectStore.keyPath, clone)) {
1958
+ throw new DataError();
1959
+ }
1960
+ }
1961
+ }
1962
+ if (objectStore.keyPath === null && objectStore._rawObjectStore.keyGenerator === null && key === void 0) {
1963
+ throw new DataError();
1964
+ }
1965
+ if (key !== void 0) {
1966
+ key = valueToKey_default(key);
1967
+ }
1968
+ return {
1969
+ key,
1970
+ value: clone
1971
+ };
1972
+ };
1973
+ var FDBObjectStore = class {
1974
+ _indexesCache = /* @__PURE__ */ new Map();
1975
+ constructor(transaction, rawObjectStore) {
1976
+ this._rawObjectStore = rawObjectStore;
1977
+ this._name = rawObjectStore.name;
1978
+ this.keyPath = getKeyPath(rawObjectStore.keyPath);
1979
+ this.autoIncrement = rawObjectStore.autoIncrement;
1980
+ this.transaction = transaction;
1981
+ this.indexNames = new FakeDOMStringList_default(...Array.from(rawObjectStore.rawIndexes.keys()).sort());
1982
+ }
1983
+ get name() {
1984
+ return this._name;
1985
+ }
1986
+ // http://w3c.github.io/IndexedDB/#dom-idbobjectstore-name
1987
+ set name(name) {
1988
+ const transaction = this.transaction;
1989
+ if (!transaction.db._runningVersionchangeTransaction) {
1990
+ throw transaction._state === "active" ? new InvalidStateError() : new TransactionInactiveError();
1991
+ }
1992
+ confirmActiveTransaction2(this);
1993
+ name = String(name);
1994
+ if (name === this._name) {
1995
+ return;
1996
+ }
1997
+ if (this._rawObjectStore.rawDatabase.rawObjectStores.has(name)) {
1998
+ throw new ConstraintError();
1999
+ }
2000
+ const oldName = this._name;
2001
+ const oldObjectStoreNames = [...transaction.db.objectStoreNames];
2002
+ this._name = name;
2003
+ this._rawObjectStore.name = name;
2004
+ this.transaction._objectStoresCache.delete(oldName);
2005
+ this.transaction._objectStoresCache.set(name, this);
2006
+ this._rawObjectStore.rawDatabase.rawObjectStores.delete(oldName);
2007
+ this._rawObjectStore.rawDatabase.rawObjectStores.set(name, this._rawObjectStore);
2008
+ transaction.db.objectStoreNames = new FakeDOMStringList_default(...Array.from(this._rawObjectStore.rawDatabase.rawObjectStores.keys()).filter((objectStoreName) => {
2009
+ const objectStore = this._rawObjectStore.rawDatabase.rawObjectStores.get(objectStoreName);
2010
+ return objectStore && !objectStore.deleted;
2011
+ }).sort());
2012
+ const oldScope = new Set(transaction._scope);
2013
+ const oldTransactionObjectStoreNames = [...transaction.objectStoreNames];
2014
+ this.transaction._scope.delete(oldName);
2015
+ transaction._scope.add(name);
2016
+ transaction.objectStoreNames = new FakeDOMStringList_default(...Array.from(transaction._scope).sort());
2017
+ if (!this.transaction._createdObjectStores.has(this._rawObjectStore)) {
2018
+ transaction._rollbackLog.push(() => {
2019
+ this._name = oldName;
2020
+ this._rawObjectStore.name = oldName;
2021
+ this.transaction._objectStoresCache.delete(name);
2022
+ this.transaction._objectStoresCache.set(oldName, this);
2023
+ this._rawObjectStore.rawDatabase.rawObjectStores.delete(name);
2024
+ this._rawObjectStore.rawDatabase.rawObjectStores.set(oldName, this._rawObjectStore);
2025
+ transaction.db.objectStoreNames = new FakeDOMStringList_default(...oldObjectStoreNames);
2026
+ transaction._scope = oldScope;
2027
+ transaction.objectStoreNames = new FakeDOMStringList_default(...oldTransactionObjectStoreNames);
2028
+ });
2029
+ }
2030
+ }
2031
+ put(value, key) {
2032
+ if (arguments.length === 0) {
2033
+ throw new TypeError();
2034
+ }
2035
+ const record = buildRecordAddPut(this, value, key);
2036
+ return this.transaction._execRequestAsync({
2037
+ operation: this._rawObjectStore.storeRecord.bind(this._rawObjectStore, record, false, this.transaction._rollbackLog),
2038
+ source: this
2039
+ });
2040
+ }
2041
+ add(value, key) {
2042
+ if (arguments.length === 0) {
2043
+ throw new TypeError();
2044
+ }
2045
+ const record = buildRecordAddPut(this, value, key);
2046
+ return this.transaction._execRequestAsync({
2047
+ operation: this._rawObjectStore.storeRecord.bind(this._rawObjectStore, record, true, this.transaction._rollbackLog),
2048
+ source: this
2049
+ });
2050
+ }
2051
+ delete(key) {
2052
+ if (arguments.length === 0) {
2053
+ throw new TypeError();
2054
+ }
2055
+ confirmActiveTransaction2(this);
2056
+ if (this.transaction.mode === "readonly") {
2057
+ throw new ReadOnlyError();
2058
+ }
2059
+ if (!(key instanceof FDBKeyRange_default)) {
2060
+ key = valueToKey_default(key);
2061
+ }
2062
+ return this.transaction._execRequestAsync({
2063
+ operation: this._rawObjectStore.deleteRecord.bind(this._rawObjectStore, key, this.transaction._rollbackLog),
2064
+ source: this
2065
+ });
2066
+ }
2067
+ get(key) {
2068
+ if (arguments.length === 0) {
2069
+ throw new TypeError();
2070
+ }
2071
+ confirmActiveTransaction2(this);
2072
+ if (!(key instanceof FDBKeyRange_default)) {
2073
+ key = valueToKey_default(key);
2074
+ }
2075
+ return this.transaction._execRequestAsync({
2076
+ operation: this._rawObjectStore.getValue.bind(this._rawObjectStore, key),
2077
+ source: this
2078
+ });
2079
+ }
2080
+ // http://w3c.github.io/IndexedDB/#dom-idbobjectstore-getall
2081
+ getAll(queryOrOptions, count) {
2082
+ const options = extractGetAllOptions_default(queryOrOptions, count, arguments.length);
2083
+ confirmActiveTransaction2(this);
2084
+ const range = valueToKeyRange_default(options.query);
2085
+ return this.transaction._execRequestAsync({
2086
+ operation: this._rawObjectStore.getAllValues.bind(this._rawObjectStore, range, options.count, options.direction),
2087
+ source: this
2088
+ });
2089
+ }
2090
+ // http://w3c.github.io/IndexedDB/#dom-idbobjectstore-getkey
2091
+ getKey(key) {
2092
+ if (arguments.length === 0) {
2093
+ throw new TypeError();
2094
+ }
2095
+ confirmActiveTransaction2(this);
2096
+ if (!(key instanceof FDBKeyRange_default)) {
2097
+ key = valueToKey_default(key);
2098
+ }
2099
+ return this.transaction._execRequestAsync({
2100
+ operation: this._rawObjectStore.getKey.bind(this._rawObjectStore, key),
2101
+ source: this
2102
+ });
2103
+ }
2104
+ // http://w3c.github.io/IndexedDB/#dom-idbobjectstore-getallkeys
2105
+ getAllKeys(queryOrOptions, count) {
2106
+ const options = extractGetAllOptions_default(queryOrOptions, count, arguments.length);
2107
+ confirmActiveTransaction2(this);
2108
+ const range = valueToKeyRange_default(options.query);
2109
+ return this.transaction._execRequestAsync({
2110
+ operation: this._rawObjectStore.getAllKeys.bind(this._rawObjectStore, range, options.count, options.direction),
2111
+ source: this
2112
+ });
2113
+ }
2114
+ // https://www.w3.org/TR/IndexedDB/#dom-idbobjectstore-getallrecords
2115
+ getAllRecords(options) {
2116
+ let query;
2117
+ let count;
2118
+ let direction;
2119
+ if (options !== void 0) {
2120
+ if (options.query !== void 0) {
2121
+ query = options.query;
2122
+ }
2123
+ if (options.count !== void 0) {
2124
+ count = enforceRange_default(options.count, "unsigned long");
2125
+ }
2126
+ if (options.direction !== void 0) {
2127
+ direction = options.direction;
2128
+ }
2129
+ }
2130
+ confirmActiveTransaction2(this);
2131
+ const range = valueToKeyRange_default(query);
2132
+ return this.transaction._execRequestAsync({
2133
+ operation: this._rawObjectStore.getAllRecords.bind(this._rawObjectStore, range, count, direction),
2134
+ source: this
2135
+ });
2136
+ }
2137
+ clear() {
2138
+ confirmActiveTransaction2(this);
2139
+ if (this.transaction.mode === "readonly") {
2140
+ throw new ReadOnlyError();
2141
+ }
2142
+ return this.transaction._execRequestAsync({
2143
+ operation: this._rawObjectStore.clear.bind(this._rawObjectStore, this.transaction._rollbackLog),
2144
+ source: this
2145
+ });
2146
+ }
2147
+ openCursor(range, direction) {
2148
+ confirmActiveTransaction2(this);
2149
+ if (range === null) {
2150
+ range = void 0;
2151
+ }
2152
+ if (range !== void 0 && !(range instanceof FDBKeyRange_default)) {
2153
+ range = FDBKeyRange_default.only(valueToKey_default(range));
2154
+ }
2155
+ const request = new FDBRequest_default();
2156
+ request.source = this;
2157
+ request.transaction = this.transaction;
2158
+ const cursor = new FDBCursorWithValue_default(this, range, direction, request);
2159
+ return this.transaction._execRequestAsync({
2160
+ operation: cursor._iterate.bind(cursor),
2161
+ request,
2162
+ source: this
2163
+ });
2164
+ }
2165
+ openKeyCursor(range, direction) {
2166
+ confirmActiveTransaction2(this);
2167
+ if (range === null) {
2168
+ range = void 0;
2169
+ }
2170
+ if (range !== void 0 && !(range instanceof FDBKeyRange_default)) {
2171
+ range = FDBKeyRange_default.only(valueToKey_default(range));
2172
+ }
2173
+ const request = new FDBRequest_default();
2174
+ request.source = this;
2175
+ request.transaction = this.transaction;
2176
+ const cursor = new FDBCursor_default(this, range, direction, request, true);
2177
+ return this.transaction._execRequestAsync({
2178
+ operation: cursor._iterate.bind(cursor),
2179
+ request,
2180
+ source: this
2181
+ });
2182
+ }
2183
+ // tslint:-next-line max-line-length
2184
+ // http://www.w3.org/TR/2015/REC-IndexedDB-20150108/#widl-IDBObjectStore-createIndex-IDBIndex-DOMString-name-DOMString-sequence-DOMString--keyPath-IDBIndexParameters-optionalParameters
2185
+ createIndex(name, keyPath, optionalParameters = {}) {
2186
+ if (arguments.length < 2) {
2187
+ throw new TypeError();
2188
+ }
2189
+ const multiEntry = optionalParameters.multiEntry !== void 0 ? optionalParameters.multiEntry : false;
2190
+ const unique = optionalParameters.unique !== void 0 ? optionalParameters.unique : false;
2191
+ if (this.transaction.mode !== "versionchange") {
2192
+ throw new InvalidStateError();
2193
+ }
2194
+ confirmActiveTransaction2(this);
2195
+ if (this.indexNames.contains(name)) {
2196
+ throw new ConstraintError();
2197
+ }
2198
+ validateKeyPath_default(keyPath);
2199
+ if (Array.isArray(keyPath) && multiEntry) {
2200
+ throw new InvalidAccessError();
2201
+ }
2202
+ const indexNames = [...this.indexNames];
2203
+ const index = new Index_default(this._rawObjectStore, name, keyPath, multiEntry, unique);
2204
+ this.indexNames._push(name);
2205
+ this.indexNames._sort();
2206
+ this.transaction._createdIndexes.add(index);
2207
+ this._rawObjectStore.rawIndexes.set(name, index);
2208
+ index.initialize(this.transaction);
2209
+ this.transaction._rollbackLog.push(() => {
2210
+ index.deleted = true;
2211
+ this.indexNames = new FakeDOMStringList_default(...indexNames);
2212
+ this._rawObjectStore.rawIndexes.delete(index.name);
2213
+ });
2214
+ return new FDBIndex_default(this, index);
2215
+ }
2216
+ // https://w3c.github.io/IndexedDB/#dom-idbobjectstore-index
2217
+ index(name) {
2218
+ if (arguments.length === 0) {
2219
+ throw new TypeError();
2220
+ }
2221
+ if (this._rawObjectStore.deleted || this.transaction._state === "finished") {
2222
+ throw new InvalidStateError();
2223
+ }
2224
+ const index = this._indexesCache.get(name);
2225
+ if (index !== void 0) {
2226
+ return index;
2227
+ }
2228
+ const rawIndex = this._rawObjectStore.rawIndexes.get(name);
2229
+ if (!this.indexNames.contains(name) || rawIndex === void 0) {
2230
+ throw new NotFoundError();
2231
+ }
2232
+ const index2 = new FDBIndex_default(this, rawIndex);
2233
+ this._indexesCache.set(name, index2);
2234
+ return index2;
2235
+ }
2236
+ deleteIndex(name) {
2237
+ if (arguments.length === 0) {
2238
+ throw new TypeError();
2239
+ }
2240
+ if (this.transaction.mode !== "versionchange") {
2241
+ throw new InvalidStateError();
2242
+ }
2243
+ confirmActiveTransaction2(this);
2244
+ const rawIndex = this._rawObjectStore.rawIndexes.get(name);
2245
+ if (rawIndex === void 0) {
2246
+ throw new NotFoundError();
2247
+ }
2248
+ this.transaction._rollbackLog.push(() => {
2249
+ rawIndex.deleted = false;
2250
+ this._rawObjectStore.rawIndexes.set(rawIndex.name, rawIndex);
2251
+ this.indexNames._push(rawIndex.name);
2252
+ this.indexNames._sort();
2253
+ });
2254
+ this.indexNames = new FakeDOMStringList_default(...Array.from(this.indexNames).filter((indexName) => {
2255
+ return indexName !== name;
2256
+ }));
2257
+ rawIndex.deleted = true;
2258
+ this.transaction._execRequestAsync({
2259
+ operation: () => {
2260
+ const rawIndex2 = this._rawObjectStore.rawIndexes.get(name);
2261
+ if (rawIndex === rawIndex2) {
2262
+ this._rawObjectStore.rawIndexes.delete(name);
2263
+ }
2264
+ },
2265
+ source: this
2266
+ });
2267
+ }
2268
+ // http://www.w3.org/TR/2015/REC-IndexedDB-20150108/#widl-IDBObjectStore-count-IDBRequest-any-key
2269
+ count(key) {
2270
+ confirmActiveTransaction2(this);
2271
+ if (key === null) {
2272
+ key = void 0;
2273
+ }
2274
+ if (key !== void 0 && !(key instanceof FDBKeyRange_default)) {
2275
+ key = FDBKeyRange_default.only(valueToKey_default(key));
2276
+ }
2277
+ return this.transaction._execRequestAsync({
2278
+ operation: () => {
2279
+ return this._rawObjectStore.count(key);
2280
+ },
2281
+ source: this
2282
+ });
2283
+ }
2284
+ get [Symbol.toStringTag]() {
2285
+ return "IDBObjectStore";
2286
+ }
2287
+ };
2288
+ var FDBObjectStore_default = FDBObjectStore;
2289
+
2290
+ // ../../node_modules/fake-indexeddb/build/esm/lib/FakeEvent.js
2291
+ init_shims();
2292
+ var Event = class {
2293
+ eventPath = [];
2294
+ NONE = 0;
2295
+ CAPTURING_PHASE = 1;
2296
+ AT_TARGET = 2;
2297
+ BUBBLING_PHASE = 3;
2298
+ // Flags
2299
+ propagationStopped = false;
2300
+ immediatePropagationStopped = false;
2301
+ canceled = false;
2302
+ initialized = true;
2303
+ dispatched = false;
2304
+ target = null;
2305
+ currentTarget = null;
2306
+ eventPhase = 0;
2307
+ defaultPrevented = false;
2308
+ isTrusted = false;
2309
+ timeStamp = Date.now();
2310
+ constructor(type, eventInitDict = {}) {
2311
+ this.type = type;
2312
+ this.bubbles = eventInitDict.bubbles !== void 0 ? eventInitDict.bubbles : false;
2313
+ this.cancelable = eventInitDict.cancelable !== void 0 ? eventInitDict.cancelable : false;
2314
+ }
2315
+ preventDefault() {
2316
+ if (this.cancelable) {
2317
+ this.canceled = true;
2318
+ }
2319
+ }
2320
+ stopPropagation() {
2321
+ this.propagationStopped = true;
2322
+ }
2323
+ stopImmediatePropagation() {
2324
+ this.propagationStopped = true;
2325
+ this.immediatePropagationStopped = true;
2326
+ }
2327
+ };
2328
+ var FakeEvent_default = Event;
2329
+
2330
+ // ../../node_modules/fake-indexeddb/build/esm/lib/scheduling.js
2331
+ init_shims();
2332
+ function getSetImmediateFromJsdom() {
2333
+ if (typeof navigator !== "undefined" && /jsdom/.test(navigator.userAgent)) {
2334
+ const outerRealmFunctionConstructor = Node.constructor;
2335
+ return new outerRealmFunctionConstructor("return setImmediate")();
2336
+ } else {
2337
+ return void 0;
2338
+ }
2339
+ }
2340
+ var schedulerPostTask = typeof scheduler !== "undefined" && ((fn) => scheduler.postTask(fn));
2341
+ var doSetTimeout = (fn) => setTimeout(fn, 0);
2342
+ var queueTask = (fn) => {
2343
+ const setImmediate = globalThis.setImmediate || getSetImmediateFromJsdom() || schedulerPostTask || doSetTimeout;
2344
+ setImmediate(fn);
2345
+ };
2346
+
2347
+ // ../../node_modules/fake-indexeddb/build/esm/FDBTransaction.js
2348
+ var prioritizedListenerTypes = ["error", "abort", "complete"];
2349
+ var FDBTransaction = class extends FakeEventTarget_default {
2350
+ _state = "active";
2351
+ _started = false;
2352
+ _rollbackLog = [];
2353
+ _objectStoresCache = /* @__PURE__ */ new Map();
2354
+ _openRequest = null;
2355
+ error = null;
2356
+ onabort = null;
2357
+ oncomplete = null;
2358
+ onerror = null;
2359
+ _prioritizedListeners = /* @__PURE__ */ new Map();
2360
+ _requests = [];
2361
+ _createdIndexes = /* @__PURE__ */ new Set();
2362
+ _createdObjectStores = /* @__PURE__ */ new Set();
2363
+ constructor(storeNames, mode, durability, db) {
2364
+ super();
2365
+ this._scope = new Set(storeNames);
2366
+ this.mode = mode;
2367
+ this.durability = durability;
2368
+ this.db = db;
2369
+ this.objectStoreNames = new FakeDOMStringList_default(...Array.from(this._scope).sort());
2370
+ for (const type of prioritizedListenerTypes) {
2371
+ this.addEventListener(type, () => {
2372
+ this._prioritizedListeners.get(type)?.();
2373
+ });
2374
+ }
2375
+ }
2376
+ // https://w3c.github.io/IndexedDB/#abort-transaction
2377
+ _abort(errName) {
2378
+ for (const f of this._rollbackLog.reverse()) {
2379
+ f();
2380
+ }
2381
+ if (errName !== null) {
2382
+ const e = new DOMException(void 0, errName);
2383
+ this.error = e;
2384
+ }
2385
+ for (const {
2386
+ request
2387
+ } of this._requests) {
2388
+ if (request.readyState !== "done") {
2389
+ request.readyState = "done";
2390
+ if (request.source) {
2391
+ queueTask(() => {
2392
+ request.result = void 0;
2393
+ request.error = new AbortError();
2394
+ const event = new FakeEvent_default("error", {
2395
+ bubbles: true,
2396
+ cancelable: true
2397
+ });
2398
+ event.eventPath = [this.db, this];
2399
+ try {
2400
+ request.dispatchEvent(event);
2401
+ } catch (_err) {
2402
+ if (this._state === "active") {
2403
+ this._abort("AbortError");
2404
+ }
2405
+ }
2406
+ });
2407
+ }
2408
+ }
2409
+ }
2410
+ queueTask(() => {
2411
+ const isUpgradeTransaction = this.mode === "versionchange";
2412
+ if (isUpgradeTransaction) {
2413
+ this.db._rawDatabase.connections = this.db._rawDatabase.connections.filter((connection) => !connection._rawDatabase.transactions.includes(this));
2414
+ }
2415
+ const event = new FakeEvent_default("abort", {
2416
+ bubbles: true,
2417
+ cancelable: false
2418
+ });
2419
+ event.eventPath = [this.db];
2420
+ this.dispatchEvent(event);
2421
+ if (isUpgradeTransaction) {
2422
+ const request = this._openRequest;
2423
+ request.transaction = null;
2424
+ request.result = void 0;
2425
+ }
2426
+ });
2427
+ this._state = "finished";
2428
+ }
2429
+ abort() {
2430
+ if (this._state === "committing" || this._state === "finished") {
2431
+ throw new InvalidStateError();
2432
+ }
2433
+ this._state = "active";
2434
+ this._abort(null);
2435
+ }
2436
+ // http://w3c.github.io/IndexedDB/#dom-idbtransaction-objectstore
2437
+ objectStore(name) {
2438
+ if (this._state !== "active") {
2439
+ throw new InvalidStateError();
2440
+ }
2441
+ const objectStore = this._objectStoresCache.get(name);
2442
+ if (objectStore !== void 0) {
2443
+ return objectStore;
2444
+ }
2445
+ const rawObjectStore = this.db._rawDatabase.rawObjectStores.get(name);
2446
+ if (!this._scope.has(name) || rawObjectStore === void 0) {
2447
+ throw new NotFoundError();
2448
+ }
2449
+ const objectStore2 = new FDBObjectStore_default(this, rawObjectStore);
2450
+ this._objectStoresCache.set(name, objectStore2);
2451
+ return objectStore2;
2452
+ }
2453
+ // http://www.w3.org/TR/2015/REC-IndexedDB-20150108/#dfn-steps-for-asynchronously-executing-a-request
2454
+ _execRequestAsync(obj) {
2455
+ const source = obj.source;
2456
+ const operation = obj.operation;
2457
+ let request = Object.hasOwn(obj, "request") ? obj.request : null;
2458
+ if (this._state !== "active") {
2459
+ throw new TransactionInactiveError();
2460
+ }
2461
+ if (!request) {
2462
+ if (!source) {
2463
+ request = new FDBRequest_default();
2464
+ } else {
2465
+ request = new FDBRequest_default();
2466
+ request.source = source;
2467
+ request.transaction = source.transaction;
2468
+ }
2469
+ }
2470
+ this._requests.push({
2471
+ operation,
2472
+ request
2473
+ });
2474
+ return request;
2475
+ }
2476
+ _start() {
2477
+ this._started = true;
2478
+ let operation;
2479
+ let request;
2480
+ while (this._requests.length > 0) {
2481
+ const r = this._requests.shift();
2482
+ if (r && r.request.readyState !== "done") {
2483
+ request = r.request;
2484
+ operation = r.operation;
2485
+ break;
2486
+ }
2487
+ }
2488
+ if (request && operation) {
2489
+ if (!request.source) {
2490
+ operation();
2491
+ } else {
2492
+ let defaultAction;
2493
+ let event;
2494
+ try {
2495
+ const result = operation();
2496
+ request.readyState = "done";
2497
+ request.result = result;
2498
+ request.error = void 0;
2499
+ if (this._state === "inactive") {
2500
+ this._state = "active";
2501
+ }
2502
+ event = new FakeEvent_default("success", {
2503
+ bubbles: false,
2504
+ cancelable: false
2505
+ });
2506
+ } catch (err) {
2507
+ request.readyState = "done";
2508
+ request.result = void 0;
2509
+ request.error = err;
2510
+ if (this._state === "inactive") {
2511
+ this._state = "active";
2512
+ }
2513
+ event = new FakeEvent_default("error", {
2514
+ bubbles: true,
2515
+ cancelable: true
2516
+ });
2517
+ defaultAction = this._abort.bind(this, err.name);
2518
+ }
2519
+ try {
2520
+ event.eventPath = [this.db, this];
2521
+ request.dispatchEvent(event);
2522
+ } catch (_err) {
2523
+ if (this._state === "active") {
2524
+ this._abort("AbortError");
2525
+ defaultAction = void 0;
2526
+ }
2527
+ }
2528
+ if (!event.canceled) {
2529
+ if (defaultAction) {
2530
+ defaultAction();
2531
+ }
2532
+ }
2533
+ }
2534
+ queueTask(this._start.bind(this));
2535
+ return;
2536
+ }
2537
+ if (this._state !== "finished") {
2538
+ this._state = "finished";
2539
+ if (!this.error) {
2540
+ const event = new FakeEvent_default("complete");
2541
+ this.dispatchEvent(event);
2542
+ }
2543
+ }
2544
+ }
2545
+ commit() {
2546
+ if (this._state !== "active") {
2547
+ throw new InvalidStateError();
2548
+ }
2549
+ this._state = "committing";
2550
+ }
2551
+ get [Symbol.toStringTag]() {
2552
+ return "IDBTransaction";
2553
+ }
2554
+ };
2555
+ var FDBTransaction_default = FDBTransaction;
2556
+
2557
+ // ../../node_modules/fake-indexeddb/build/esm/lib/ObjectStore.js
2558
+ init_shims();
2559
+
2560
+ // ../../node_modules/fake-indexeddb/build/esm/lib/KeyGenerator.js
2561
+ init_shims();
2562
+ var MAX_KEY = 9007199254740992;
2563
+ var KeyGenerator = class {
2564
+ // This is kind of wrong. Should start at 1 and increment only after record is saved
2565
+ num = 0;
2566
+ next() {
2567
+ if (this.num >= MAX_KEY) {
2568
+ throw new ConstraintError();
2569
+ }
2570
+ this.num += 1;
2571
+ return this.num;
2572
+ }
2573
+ // https://w3c.github.io/IndexedDB/#possibly-update-the-key-generator
2574
+ setIfLarger(num) {
2575
+ const value = Math.floor(Math.min(num, MAX_KEY)) - 1;
2576
+ if (value >= this.num) {
2577
+ this.num = value + 1;
2578
+ }
2579
+ }
2580
+ };
2581
+ var KeyGenerator_default = KeyGenerator;
2582
+
2583
+ // ../../node_modules/fake-indexeddb/build/esm/lib/ObjectStore.js
2584
+ var ObjectStore = class {
2585
+ deleted = false;
2586
+ records = new RecordStore_default(true);
2587
+ rawIndexes = /* @__PURE__ */ new Map();
2588
+ constructor(rawDatabase, name, keyPath, autoIncrement) {
2589
+ this.rawDatabase = rawDatabase;
2590
+ this.keyGenerator = autoIncrement === true ? new KeyGenerator_default() : null;
2591
+ this.deleted = false;
2592
+ this.name = name;
2593
+ this.keyPath = keyPath;
2594
+ this.autoIncrement = autoIncrement;
2595
+ }
2596
+ // http://www.w3.org/TR/2015/REC-IndexedDB-20150108/#dfn-steps-for-retrieving-a-value-from-an-object-store
2597
+ getKey(key) {
2598
+ const record = this.records.get(key);
2599
+ return record !== void 0 ? structuredClone(record.key) : void 0;
2600
+ }
2601
+ // http://w3c.github.io/IndexedDB/#retrieve-multiple-keys-from-an-object-store
2602
+ getAllKeys(range, count, direction) {
2603
+ if (count === void 0 || count === 0) {
2604
+ count = Infinity;
2605
+ }
2606
+ const records = [];
2607
+ for (const record of this.records.values(range, direction)) {
2608
+ records.push(structuredClone(record.key));
2609
+ if (records.length >= count) {
2610
+ break;
2611
+ }
2612
+ }
2613
+ return records;
2614
+ }
2615
+ // http://www.w3.org/TR/2015/REC-IndexedDB-20150108/#dfn-steps-for-retrieving-a-value-from-an-object-store
2616
+ getValue(key) {
2617
+ const record = this.records.get(key);
2618
+ return record !== void 0 ? structuredClone(record.value) : void 0;
2619
+ }
2620
+ // http://w3c.github.io/IndexedDB/#retrieve-multiple-values-from-an-object-store
2621
+ getAllValues(range, count, direction) {
2622
+ if (count === void 0 || count === 0) {
2623
+ count = Infinity;
2624
+ }
2625
+ const records = [];
2626
+ for (const record of this.records.values(range, direction)) {
2627
+ records.push(structuredClone(record.value));
2628
+ if (records.length >= count) {
2629
+ break;
2630
+ }
2631
+ }
2632
+ return records;
2633
+ }
2634
+ // https://www.w3.org/TR/IndexedDB/#dom-idbobjectstore-getallrecords
2635
+ getAllRecords(range, count, direction) {
2636
+ if (count === void 0 || count === 0) {
2637
+ count = Infinity;
2638
+ }
2639
+ const records = [];
2640
+ for (const record of this.records.values(range, direction)) {
2641
+ records.push(new FDBRecord_default(structuredClone(record.key), structuredClone(record.key), structuredClone(record.value)));
2642
+ if (records.length >= count) {
2643
+ break;
2644
+ }
2645
+ }
2646
+ return records;
2647
+ }
2648
+ // http://www.w3.org/TR/2015/REC-IndexedDB-20150108/#dfn-steps-for-storing-a-record-into-an-object-store
2649
+ storeRecord(newRecord, noOverwrite, rollbackLog) {
2650
+ if (this.keyPath !== null) {
2651
+ const key = extractKey_default(this.keyPath, newRecord.value).key;
2652
+ if (key !== void 0) {
2653
+ newRecord.key = key;
2654
+ }
2655
+ }
2656
+ const rollbackLogForThisOperation = [];
2657
+ if (this.keyGenerator !== null && newRecord.key === void 0) {
2658
+ let rolledBack2 = false;
2659
+ const keyGeneratorBefore = this.keyGenerator.num;
2660
+ const rollbackKeyGenerator = () => {
2661
+ if (rolledBack2) {
2662
+ return;
2663
+ }
2664
+ rolledBack2 = true;
2665
+ if (this.keyGenerator) {
2666
+ this.keyGenerator.num = keyGeneratorBefore;
2667
+ }
2668
+ };
2669
+ rollbackLogForThisOperation.push(rollbackKeyGenerator);
2670
+ if (rollbackLog) {
2671
+ rollbackLog.push(rollbackKeyGenerator);
2672
+ }
2673
+ newRecord.key = this.keyGenerator.next();
2674
+ if (this.keyPath !== null) {
2675
+ if (Array.isArray(this.keyPath)) {
2676
+ throw new Error("Cannot have an array key path in an object store with a key generator");
2677
+ }
2678
+ let remainingKeyPath = this.keyPath;
2679
+ let object = newRecord.value;
2680
+ let identifier;
2681
+ let i = 0;
2682
+ while (i >= 0) {
2683
+ if (typeof object !== "object") {
2684
+ throw new DataError();
2685
+ }
2686
+ i = remainingKeyPath.indexOf(".");
2687
+ if (i >= 0) {
2688
+ identifier = remainingKeyPath.slice(0, i);
2689
+ remainingKeyPath = remainingKeyPath.slice(i + 1);
2690
+ if (!Object.hasOwn(object, identifier)) {
2691
+ Object.defineProperty(object, identifier, {
2692
+ configurable: true,
2693
+ enumerable: true,
2694
+ writable: true,
2695
+ value: {}
2696
+ });
2697
+ }
2698
+ object = object[identifier];
2699
+ }
2700
+ }
2701
+ identifier = remainingKeyPath;
2702
+ Object.defineProperty(object, identifier, {
2703
+ configurable: true,
2704
+ enumerable: true,
2705
+ writable: true,
2706
+ value: newRecord.key
2707
+ });
2708
+ }
2709
+ } else if (this.keyGenerator !== null && typeof newRecord.key === "number") {
2710
+ this.keyGenerator.setIfLarger(newRecord.key);
2711
+ }
2712
+ const existingRecord = this.records.put(newRecord, noOverwrite);
2713
+ let rolledBack = false;
2714
+ const rollbackStoreRecord = () => {
2715
+ if (rolledBack) {
2716
+ return;
2717
+ }
2718
+ rolledBack = true;
2719
+ if (existingRecord) {
2720
+ this.storeRecord(existingRecord, false);
2721
+ } else {
2722
+ this.deleteRecord(newRecord.key);
2723
+ }
2724
+ };
2725
+ rollbackLogForThisOperation.push(rollbackStoreRecord);
2726
+ if (rollbackLog) {
2727
+ rollbackLog.push(rollbackStoreRecord);
2728
+ }
2729
+ if (existingRecord) {
2730
+ for (const rawIndex of this.rawIndexes.values()) {
2731
+ rawIndex.records.deleteByValue(newRecord.key);
2732
+ }
2733
+ }
2734
+ try {
2735
+ for (const rawIndex of this.rawIndexes.values()) {
2736
+ if (rawIndex.initialized) {
2737
+ rawIndex.storeRecord(newRecord);
2738
+ }
2739
+ }
2740
+ } catch (err) {
2741
+ if (err.name === "ConstraintError") {
2742
+ for (const rollback of rollbackLogForThisOperation) {
2743
+ rollback();
2744
+ }
2745
+ }
2746
+ throw err;
2747
+ }
2748
+ return newRecord.key;
2749
+ }
2750
+ // http://www.w3.org/TR/2015/REC-IndexedDB-20150108/#dfn-steps-for-deleting-records-from-an-object-store
2751
+ deleteRecord(key, rollbackLog) {
2752
+ const deletedRecords = this.records.delete(key);
2753
+ if (rollbackLog) {
2754
+ for (const record of deletedRecords) {
2755
+ rollbackLog.push(() => {
2756
+ this.storeRecord(record, true);
2757
+ });
2758
+ }
2759
+ }
2760
+ for (const rawIndex of this.rawIndexes.values()) {
2761
+ rawIndex.records.deleteByValue(key);
2762
+ }
2763
+ }
2764
+ // http://www.w3.org/TR/2015/REC-IndexedDB-20150108/#dfn-steps-for-clearing-an-object-store
2765
+ clear(rollbackLog) {
2766
+ const deletedRecords = this.records.clear();
2767
+ if (rollbackLog) {
2768
+ for (const record of deletedRecords) {
2769
+ rollbackLog.push(() => {
2770
+ this.storeRecord(record, true);
2771
+ });
2772
+ }
2773
+ }
2774
+ for (const rawIndex of this.rawIndexes.values()) {
2775
+ rawIndex.records.clear();
2776
+ }
2777
+ }
2778
+ count(range) {
2779
+ if (range === void 0 || range.lower === void 0 && range.upper === void 0) {
2780
+ return this.records.size();
2781
+ }
2782
+ let count = 0;
2783
+ for (const record of this.records.values(range)) {
2784
+ count += 1;
2785
+ }
2786
+ return count;
2787
+ }
2788
+ };
2789
+ var ObjectStore_default = ObjectStore;
2790
+
2791
+ // ../../node_modules/fake-indexeddb/build/esm/lib/closeConnection.js
2792
+ init_shims();
2793
+ var closeConnection = (connection, forced = false) => {
2794
+ connection._closePending = true;
2795
+ const transactionsComplete = connection._rawDatabase.transactions.every((transaction) => {
2796
+ return transaction._state === "finished";
2797
+ });
2798
+ if (transactionsComplete) {
2799
+ connection._closed = true;
2800
+ connection._rawDatabase.connections = connection._rawDatabase.connections.filter((otherConnection) => {
2801
+ return connection !== otherConnection;
2802
+ });
2803
+ if (forced) {
2804
+ const event = new FakeEvent_default("close", {
2805
+ bubbles: false,
2806
+ cancelable: false
2807
+ });
2808
+ event.eventPath = [];
2809
+ connection.dispatchEvent(event);
2810
+ }
2811
+ } else {
2812
+ queueTask(() => {
2813
+ closeConnection(connection, forced);
2814
+ });
2815
+ }
2816
+ };
2817
+ var closeConnection_default = closeConnection;
2818
+
2819
+ // ../../node_modules/fake-indexeddb/build/esm/FDBDatabase.js
2820
+ var confirmActiveVersionchangeTransaction = (database) => {
2821
+ let transaction;
2822
+ if (database._runningVersionchangeTransaction) {
2823
+ transaction = database._rawDatabase.transactions.findLast((tx) => {
2824
+ return tx.mode === "versionchange";
2825
+ });
2826
+ }
2827
+ if (!transaction) {
2828
+ throw new InvalidStateError();
2829
+ }
2830
+ if (transaction._state !== "active") {
2831
+ throw new TransactionInactiveError();
2832
+ }
2833
+ return transaction;
2834
+ };
2835
+ var FDBDatabase = class extends FakeEventTarget_default {
2836
+ _closePending = false;
2837
+ _closed = false;
2838
+ _runningVersionchangeTransaction = false;
2839
+ constructor(rawDatabase) {
2840
+ super();
2841
+ this._rawDatabase = rawDatabase;
2842
+ this._rawDatabase.connections.push(this);
2843
+ this.name = rawDatabase.name;
2844
+ this.version = rawDatabase.version;
2845
+ this.objectStoreNames = new FakeDOMStringList_default(...Array.from(rawDatabase.rawObjectStores.keys()).sort());
2846
+ }
2847
+ // http://w3c.github.io/IndexedDB/#dom-idbdatabase-createobjectstore
2848
+ createObjectStore(name, options = {}) {
2849
+ if (name === void 0) {
2850
+ throw new TypeError();
2851
+ }
2852
+ const transaction = confirmActiveVersionchangeTransaction(this);
2853
+ const keyPath = options !== null && options.keyPath !== void 0 ? options.keyPath : null;
2854
+ const autoIncrement = options !== null && options.autoIncrement !== void 0 ? options.autoIncrement : false;
2855
+ if (keyPath !== null) {
2856
+ validateKeyPath_default(keyPath);
2857
+ }
2858
+ if (this._rawDatabase.rawObjectStores.has(name)) {
2859
+ throw new ConstraintError();
2860
+ }
2861
+ if (autoIncrement && (keyPath === "" || Array.isArray(keyPath))) {
2862
+ throw new InvalidAccessError();
2863
+ }
2864
+ const objectStoreNames = [...this.objectStoreNames];
2865
+ const transactionObjectStoreNames = [...transaction.objectStoreNames];
2866
+ const rawObjectStore = new ObjectStore_default(this._rawDatabase, name, keyPath, autoIncrement);
2867
+ this.objectStoreNames._push(name);
2868
+ this.objectStoreNames._sort();
2869
+ transaction._scope.add(name);
2870
+ transaction._createdObjectStores.add(rawObjectStore);
2871
+ this._rawDatabase.rawObjectStores.set(name, rawObjectStore);
2872
+ transaction.objectStoreNames = new FakeDOMStringList_default(...this.objectStoreNames);
2873
+ transaction._rollbackLog.push(() => {
2874
+ rawObjectStore.deleted = true;
2875
+ this.objectStoreNames = new FakeDOMStringList_default(...objectStoreNames);
2876
+ transaction.objectStoreNames = new FakeDOMStringList_default(...transactionObjectStoreNames);
2877
+ transaction._scope.delete(rawObjectStore.name);
2878
+ this._rawDatabase.rawObjectStores.delete(rawObjectStore.name);
2879
+ });
2880
+ return transaction.objectStore(name);
2881
+ }
2882
+ // https://www.w3.org/TR/IndexedDB/#dom-idbdatabase-deleteobjectstore
2883
+ deleteObjectStore(name) {
2884
+ if (name === void 0) {
2885
+ throw new TypeError();
2886
+ }
2887
+ const transaction = confirmActiveVersionchangeTransaction(this);
2888
+ const store = this._rawDatabase.rawObjectStores.get(name);
2889
+ if (store === void 0) {
2890
+ throw new NotFoundError();
2891
+ }
2892
+ this.objectStoreNames = new FakeDOMStringList_default(...Array.from(this.objectStoreNames).filter((objectStoreName) => {
2893
+ return objectStoreName !== name;
2894
+ }));
2895
+ transaction.objectStoreNames = new FakeDOMStringList_default(...this.objectStoreNames);
2896
+ const objectStore = transaction._objectStoresCache.get(name);
2897
+ let prevIndexNames;
2898
+ if (objectStore) {
2899
+ prevIndexNames = [...objectStore.indexNames];
2900
+ objectStore.indexNames = new FakeDOMStringList_default();
2901
+ }
2902
+ transaction._rollbackLog.push(() => {
2903
+ store.deleted = false;
2904
+ this._rawDatabase.rawObjectStores.set(store.name, store);
2905
+ this.objectStoreNames._push(store.name);
2906
+ transaction.objectStoreNames._push(store.name);
2907
+ this.objectStoreNames._sort();
2908
+ if (objectStore && prevIndexNames) {
2909
+ objectStore.indexNames = new FakeDOMStringList_default(...prevIndexNames);
2910
+ }
2911
+ });
2912
+ store.deleted = true;
2913
+ this._rawDatabase.rawObjectStores.delete(name);
2914
+ transaction._objectStoresCache.delete(name);
2915
+ }
2916
+ transaction(storeNames, mode, options) {
2917
+ mode = mode !== void 0 ? mode : "readonly";
2918
+ if (mode !== "readonly" && mode !== "readwrite" && mode !== "versionchange") {
2919
+ throw new TypeError("Invalid mode: " + mode);
2920
+ }
2921
+ const hasActiveVersionchange = this._rawDatabase.transactions.some((transaction) => {
2922
+ return transaction._state === "active" && transaction.mode === "versionchange" && transaction.db === this;
2923
+ });
2924
+ if (hasActiveVersionchange) {
2925
+ throw new InvalidStateError();
2926
+ }
2927
+ if (this._closePending) {
2928
+ throw new InvalidStateError();
2929
+ }
2930
+ if (!Array.isArray(storeNames)) {
2931
+ storeNames = [storeNames];
2932
+ }
2933
+ if (storeNames.length === 0 && mode !== "versionchange") {
2934
+ throw new InvalidAccessError();
2935
+ }
2936
+ for (const storeName of storeNames) {
2937
+ if (!this.objectStoreNames.contains(storeName)) {
2938
+ throw new NotFoundError("No objectStore named " + storeName + " in this database");
2939
+ }
2940
+ }
2941
+ const durability = options?.durability ?? "default";
2942
+ if (durability !== "default" && durability !== "strict" && durability !== "relaxed") {
2943
+ throw new TypeError(
2944
+ // based on Firefox's error message
2945
+ `'${durability}' (value of 'durability' member of IDBTransactionOptions) is not a valid value for enumeration IDBTransactionDurability`
2946
+ );
2947
+ }
2948
+ const tx = new FDBTransaction_default(storeNames, mode, durability, this);
2949
+ this._rawDatabase.transactions.push(tx);
2950
+ this._rawDatabase.processTransactions();
2951
+ return tx;
2952
+ }
2953
+ close() {
2954
+ closeConnection_default(this);
2955
+ }
2956
+ get [Symbol.toStringTag]() {
2957
+ return "IDBDatabase";
2958
+ }
2959
+ };
2960
+ var FDBDatabase_default = FDBDatabase;
2961
+
2962
+ // ../../node_modules/fake-indexeddb/build/esm/FDBOpenDBRequest.js
2963
+ init_shims();
2964
+ var FDBOpenDBRequest = class extends FDBRequest_default {
2965
+ onupgradeneeded = null;
2966
+ onblocked = null;
2967
+ get [Symbol.toStringTag]() {
2968
+ return "IDBOpenDBRequest";
2969
+ }
2970
+ };
2971
+ var FDBOpenDBRequest_default = FDBOpenDBRequest;
2972
+
2973
+ // ../../node_modules/fake-indexeddb/build/esm/FDBVersionChangeEvent.js
2974
+ init_shims();
2975
+ var FDBVersionChangeEvent = class extends FakeEvent_default {
2976
+ constructor(type, parameters = {}) {
2977
+ super(type);
2978
+ this.newVersion = parameters.newVersion !== void 0 ? parameters.newVersion : null;
2979
+ this.oldVersion = parameters.oldVersion !== void 0 ? parameters.oldVersion : 0;
2980
+ }
2981
+ get [Symbol.toStringTag]() {
2982
+ return "IDBVersionChangeEvent";
2983
+ }
2984
+ };
2985
+ var FDBVersionChangeEvent_default = FDBVersionChangeEvent;
2986
+
2987
+ // ../../node_modules/fake-indexeddb/build/esm/lib/Database.js
2988
+ init_shims();
2989
+
2990
+ // ../../node_modules/fake-indexeddb/build/esm/lib/intersection.js
2991
+ init_shims();
2992
+ function intersection(set1, set2) {
2993
+ if ("intersection" in set1) {
2994
+ return set1.intersection(set2);
2995
+ }
2996
+ return new Set([...set1].filter((item) => set2.has(item)));
2997
+ }
2998
+
2999
+ // ../../node_modules/fake-indexeddb/build/esm/lib/Database.js
3000
+ var Database = class {
3001
+ transactions = [];
3002
+ rawObjectStores = /* @__PURE__ */ new Map();
3003
+ connections = [];
3004
+ constructor(name, version) {
3005
+ this.name = name;
3006
+ this.version = version;
3007
+ this.processTransactions = this.processTransactions.bind(this);
3008
+ }
3009
+ processTransactions() {
3010
+ queueTask(() => {
3011
+ const running = this.transactions.filter((transaction) => transaction._started && transaction._state !== "finished");
3012
+ const waiting = this.transactions.filter((transaction) => !transaction._started && transaction._state !== "finished");
3013
+ const next = waiting.find((transaction, i) => {
3014
+ const anyRunning = running.some((other) => !(transaction.mode === "readonly" && other.mode === "readonly") && intersection(other._scope, transaction._scope).size > 0);
3015
+ if (anyRunning) {
3016
+ return false;
3017
+ }
3018
+ const anyWaiting = waiting.slice(0, i).some((other) => intersection(other._scope, transaction._scope).size > 0);
3019
+ return !anyWaiting;
3020
+ });
3021
+ if (next) {
3022
+ next.addEventListener("complete", this.processTransactions);
3023
+ next.addEventListener("abort", this.processTransactions);
3024
+ next._start();
3025
+ }
3026
+ });
3027
+ }
3028
+ };
3029
+ var Database_default = Database;
3030
+
3031
+ // ../../node_modules/fake-indexeddb/build/esm/lib/validateRequiredArguments.js
3032
+ init_shims();
3033
+ function validateRequiredArguments(numArguments, expectedNumArguments, methodName) {
3034
+ if (numArguments < expectedNumArguments) {
3035
+ throw new TypeError(`${methodName}: At least ${expectedNumArguments} ${expectedNumArguments === 1 ? "argument" : "arguments"} required, but only ${arguments.length} passed`);
3036
+ }
3037
+ }
3038
+
3039
+ // ../../node_modules/fake-indexeddb/build/esm/FDBFactory.js
3040
+ var runTaskInConnectionQueue = (connectionQueues, name, task) => {
3041
+ const queue = connectionQueues.get(name) ?? Promise.resolve();
3042
+ connectionQueues.set(name, queue.then(task));
3043
+ };
3044
+ var waitForOthersClosedDelete = (databases, name, openDatabases, cb) => {
3045
+ const anyOpen = openDatabases.some((openDatabase2) => {
3046
+ return !openDatabase2._closed && !openDatabase2._closePending;
3047
+ });
3048
+ if (anyOpen) {
3049
+ queueTask(() => waitForOthersClosedDelete(databases, name, openDatabases, cb));
3050
+ return;
3051
+ }
3052
+ databases.delete(name);
3053
+ cb(null);
3054
+ };
3055
+ var deleteDatabase = (databases, connectionQueues, name, request, cb) => {
3056
+ const deleteDBTask = () => {
3057
+ return new Promise((resolve) => {
3058
+ const db = databases.get(name);
3059
+ const oldVersion = db !== void 0 ? db.version : 0;
3060
+ const onComplete = (err) => {
3061
+ try {
3062
+ if (err) {
3063
+ cb(err);
3064
+ } else {
3065
+ cb(null, oldVersion);
3066
+ }
3067
+ } finally {
3068
+ resolve();
3069
+ }
3070
+ };
3071
+ try {
3072
+ const db2 = databases.get(name);
3073
+ if (db2 === void 0) {
3074
+ onComplete(null);
3075
+ return;
3076
+ }
3077
+ const openConnections = db2.connections.filter((connection) => {
3078
+ return !connection._closed;
3079
+ });
3080
+ for (const openDatabase2 of openConnections) {
3081
+ if (!openDatabase2._closePending) {
3082
+ queueTask(() => {
3083
+ const event = new FDBVersionChangeEvent_default("versionchange", {
3084
+ newVersion: null,
3085
+ oldVersion: db2.version
3086
+ });
3087
+ openDatabase2.dispatchEvent(event);
3088
+ });
3089
+ }
3090
+ }
3091
+ queueTask(() => {
3092
+ const anyOpen = openConnections.some((openDatabase3) => {
3093
+ return !openDatabase3._closed && !openDatabase3._closePending;
3094
+ });
3095
+ if (anyOpen) {
3096
+ queueTask(() => {
3097
+ const event = new FDBVersionChangeEvent_default("blocked", {
3098
+ newVersion: null,
3099
+ oldVersion: db2.version
3100
+ });
3101
+ request.dispatchEvent(event);
3102
+ });
3103
+ }
3104
+ waitForOthersClosedDelete(databases, name, openConnections, onComplete);
3105
+ });
3106
+ } catch (err) {
3107
+ onComplete(err);
3108
+ }
3109
+ });
3110
+ };
3111
+ runTaskInConnectionQueue(connectionQueues, name, deleteDBTask);
3112
+ };
3113
+ var runVersionchangeTransaction = (connection, version, request, cb) => {
3114
+ connection._runningVersionchangeTransaction = true;
3115
+ const oldVersion = connection._oldVersion = connection.version;
3116
+ const openConnections = connection._rawDatabase.connections.filter((otherDatabase) => {
3117
+ return connection !== otherDatabase;
3118
+ });
3119
+ for (const openDatabase2 of openConnections) {
3120
+ if (!openDatabase2._closed && !openDatabase2._closePending) {
3121
+ queueTask(() => {
3122
+ const event = new FDBVersionChangeEvent_default("versionchange", {
3123
+ newVersion: version,
3124
+ oldVersion
3125
+ });
3126
+ openDatabase2.dispatchEvent(event);
3127
+ });
3128
+ }
3129
+ }
3130
+ queueTask(() => {
3131
+ const anyOpen = openConnections.some((openDatabase3) => {
3132
+ return !openDatabase3._closed && !openDatabase3._closePending;
3133
+ });
3134
+ if (anyOpen) {
3135
+ queueTask(() => {
3136
+ const event = new FDBVersionChangeEvent_default("blocked", {
3137
+ newVersion: version,
3138
+ oldVersion
3139
+ });
3140
+ request.dispatchEvent(event);
3141
+ });
3142
+ }
3143
+ const waitForOthersClosed = () => {
3144
+ const anyOpen2 = openConnections.some((openDatabase2) => {
3145
+ return !openDatabase2._closed && !openDatabase2._closePending;
3146
+ });
3147
+ if (anyOpen2) {
3148
+ queueTask(waitForOthersClosed);
3149
+ return;
3150
+ }
3151
+ connection._rawDatabase.version = version;
3152
+ connection.version = version;
3153
+ const transaction = connection.transaction(Array.from(connection.objectStoreNames), "versionchange");
3154
+ transaction._openRequest = request;
3155
+ request.result = connection;
3156
+ request.readyState = "done";
3157
+ request.transaction = transaction;
3158
+ transaction._rollbackLog.push(() => {
3159
+ connection._rawDatabase.version = oldVersion;
3160
+ connection.version = oldVersion;
3161
+ });
3162
+ transaction._state = "active";
3163
+ const event = new FDBVersionChangeEvent_default("upgradeneeded", {
3164
+ newVersion: version,
3165
+ oldVersion
3166
+ });
3167
+ let didThrow = false;
3168
+ try {
3169
+ request.dispatchEvent(event);
3170
+ } catch (_err) {
3171
+ didThrow = true;
3172
+ }
3173
+ const concludeUpgrade = () => {
3174
+ if (transaction._state === "active") {
3175
+ transaction._state = "inactive";
3176
+ if (didThrow) {
3177
+ transaction._abort("AbortError");
3178
+ }
3179
+ }
3180
+ };
3181
+ if (didThrow) {
3182
+ concludeUpgrade();
3183
+ } else {
3184
+ queueTask(concludeUpgrade);
3185
+ }
3186
+ transaction._prioritizedListeners.set("error", () => {
3187
+ connection._runningVersionchangeTransaction = false;
3188
+ connection._oldVersion = void 0;
3189
+ });
3190
+ transaction._prioritizedListeners.set("abort", () => {
3191
+ connection._runningVersionchangeTransaction = false;
3192
+ connection._oldVersion = void 0;
3193
+ queueTask(() => {
3194
+ request.transaction = null;
3195
+ cb(new AbortError());
3196
+ });
3197
+ });
3198
+ transaction._prioritizedListeners.set("complete", () => {
3199
+ connection._runningVersionchangeTransaction = false;
3200
+ connection._oldVersion = void 0;
3201
+ queueTask(() => {
3202
+ request.transaction = null;
3203
+ if (connection._closePending) {
3204
+ cb(new AbortError());
3205
+ } else {
3206
+ cb(null);
3207
+ }
3208
+ });
3209
+ });
3210
+ };
3211
+ waitForOthersClosed();
3212
+ });
3213
+ };
3214
+ var openDatabase = (databases, connectionQueues, name, version, request, cb) => {
3215
+ const openDBTask = () => {
3216
+ return new Promise((resolve) => {
3217
+ const onComplete = (err) => {
3218
+ try {
3219
+ if (err) {
3220
+ cb(err);
3221
+ } else {
3222
+ cb(null, connection);
3223
+ }
3224
+ } finally {
3225
+ resolve();
3226
+ }
3227
+ };
3228
+ let db = databases.get(name);
3229
+ if (db === void 0) {
3230
+ db = new Database_default(name, 0);
3231
+ databases.set(name, db);
3232
+ }
3233
+ if (version === void 0) {
3234
+ version = db.version !== 0 ? db.version : 1;
3235
+ }
3236
+ if (db.version > version) {
3237
+ return onComplete(new VersionError());
3238
+ }
3239
+ const connection = new FDBDatabase_default(db);
3240
+ if (db.version < version) {
3241
+ runVersionchangeTransaction(connection, version, request, (err) => {
3242
+ onComplete(err);
3243
+ });
3244
+ } else {
3245
+ onComplete(null);
3246
+ }
3247
+ });
3248
+ };
3249
+ runTaskInConnectionQueue(connectionQueues, name, openDBTask);
3250
+ };
3251
+ var FDBFactory = class {
3252
+ _databases = /* @__PURE__ */ new Map();
3253
+ // https://w3c.github.io/IndexedDB/#connection-queue
3254
+ _connectionQueues = /* @__PURE__ */ new Map();
3255
+ // promise chain as lightweight FIFO task queue
3256
+ // https://w3c.github.io/IndexedDB/#dom-idbfactory-cmp
3257
+ cmp(first, second) {
3258
+ validateRequiredArguments(arguments.length, 2, "IDBFactory.cmp");
3259
+ return cmp_default(first, second);
3260
+ }
3261
+ // https://w3c.github.io/IndexedDB/#dom-idbfactory-deletedatabase
3262
+ deleteDatabase(name) {
3263
+ validateRequiredArguments(arguments.length, 1, "IDBFactory.deleteDatabase");
3264
+ const request = new FDBOpenDBRequest_default();
3265
+ request.source = null;
3266
+ queueTask(() => {
3267
+ deleteDatabase(this._databases, this._connectionQueues, name, request, (err, oldVersion) => {
3268
+ if (err) {
3269
+ request.error = new DOMException(err.message, err.name);
3270
+ request.readyState = "done";
3271
+ const event = new FakeEvent_default("error", {
3272
+ bubbles: true,
3273
+ cancelable: true
3274
+ });
3275
+ event.eventPath = [];
3276
+ request.dispatchEvent(event);
3277
+ return;
3278
+ }
3279
+ request.result = void 0;
3280
+ request.readyState = "done";
3281
+ const event2 = new FDBVersionChangeEvent_default("success", {
3282
+ newVersion: null,
3283
+ oldVersion
3284
+ });
3285
+ request.dispatchEvent(event2);
3286
+ });
3287
+ });
3288
+ return request;
3289
+ }
3290
+ // http://www.w3.org/TR/2015/REC-IndexedDB-20150108/#widl-IDBFactory-open-IDBOpenDBRequest-DOMString-name-unsigned-long-long-version
3291
+ open(name, version) {
3292
+ validateRequiredArguments(arguments.length, 1, "IDBFactory.open");
3293
+ if (arguments.length > 1 && version !== void 0) {
3294
+ version = enforceRange_default(version, "MAX_SAFE_INTEGER");
3295
+ }
3296
+ if (version === 0) {
3297
+ throw new TypeError("Database version cannot be 0");
3298
+ }
3299
+ const request = new FDBOpenDBRequest_default();
3300
+ request.source = null;
3301
+ queueTask(() => {
3302
+ openDatabase(this._databases, this._connectionQueues, name, version, request, (err, connection) => {
3303
+ if (err) {
3304
+ request.result = void 0;
3305
+ request.readyState = "done";
3306
+ request.error = new DOMException(err.message, err.name);
3307
+ const event = new FakeEvent_default("error", {
3308
+ bubbles: true,
3309
+ cancelable: true
3310
+ });
3311
+ event.eventPath = [];
3312
+ request.dispatchEvent(event);
3313
+ return;
3314
+ }
3315
+ request.result = connection;
3316
+ request.readyState = "done";
3317
+ const event2 = new FakeEvent_default("success");
3318
+ event2.eventPath = [];
3319
+ request.dispatchEvent(event2);
3320
+ });
3321
+ });
3322
+ return request;
3323
+ }
3324
+ // https://w3c.github.io/IndexedDB/#dom-idbfactory-databases
3325
+ databases() {
3326
+ return Promise.resolve(Array.from(this._databases.entries(), ([name, database]) => {
3327
+ const activeVersionChangeConnection = database.connections.find((connection) => connection._runningVersionchangeTransaction);
3328
+ const version = activeVersionChangeConnection ? activeVersionChangeConnection._oldVersion : database.version;
3329
+ return {
3330
+ name,
3331
+ version
3332
+ };
3333
+ }).filter(({
3334
+ version
3335
+ }) => {
3336
+ return version > 0;
3337
+ }));
3338
+ }
3339
+ get [Symbol.toStringTag]() {
3340
+ return "IDBFactory";
3341
+ }
3342
+ };
3343
+ var FDBFactory_default = FDBFactory;
3344
+
3345
+ // ../../node_modules/fake-indexeddb/build/esm/fakeIndexedDB.js
3346
+ var fakeIndexedDB = new FDBFactory_default();
3347
+ var fakeIndexedDB_default = fakeIndexedDB;
3348
+
3349
+ // ../../node_modules/fake-indexeddb/build/esm/forceCloseDatabase.js
3350
+ init_shims();
3351
+
3352
+ // src/matrix/sdk/idb-persistence.ts
3353
+ import { withFileLock } from "openclaw/plugin-sdk/infra-runtime";
3354
+ function isValidIdbIndexSnapshot(value) {
3355
+ if (!value || typeof value !== "object") {
3356
+ return false;
3357
+ }
3358
+ const candidate = value;
3359
+ return typeof candidate.name === "string" && (typeof candidate.keyPath === "string" || Array.isArray(candidate.keyPath) && candidate.keyPath.every((entry) => typeof entry === "string")) && typeof candidate.multiEntry === "boolean" && typeof candidate.unique === "boolean";
3360
+ }
3361
+ function isValidIdbRecordSnapshot(value) {
3362
+ if (!value || typeof value !== "object") {
3363
+ return false;
3364
+ }
3365
+ return "key" in value && "value" in value;
3366
+ }
3367
+ function isValidIdbStoreSnapshot(value) {
3368
+ if (!value || typeof value !== "object") {
3369
+ return false;
3370
+ }
3371
+ const candidate = value;
3372
+ const validKeyPath = candidate.keyPath === null || typeof candidate.keyPath === "string" || Array.isArray(candidate.keyPath) && candidate.keyPath.every((entry) => typeof entry === "string");
3373
+ return typeof candidate.name === "string" && validKeyPath && typeof candidate.autoIncrement === "boolean" && Array.isArray(candidate.indexes) && candidate.indexes.every((entry) => isValidIdbIndexSnapshot(entry)) && Array.isArray(candidate.records) && candidate.records.every((entry) => isValidIdbRecordSnapshot(entry));
3374
+ }
3375
+ function isValidIdbDatabaseSnapshot(value) {
3376
+ if (!value || typeof value !== "object") {
3377
+ return false;
3378
+ }
3379
+ const candidate = value;
3380
+ return typeof candidate.name === "string" && typeof candidate.version === "number" && Number.isFinite(candidate.version) && candidate.version > 0 && Array.isArray(candidate.stores) && candidate.stores.every((entry) => isValidIdbStoreSnapshot(entry));
3381
+ }
3382
+ function parseSnapshotPayload(data) {
3383
+ const parsed = JSON.parse(data);
3384
+ if (!Array.isArray(parsed) || parsed.length === 0) {
3385
+ return null;
3386
+ }
3387
+ if (!parsed.every((entry) => isValidIdbDatabaseSnapshot(entry))) {
3388
+ throw new Error("Malformed IndexedDB snapshot payload");
3389
+ }
3390
+ return parsed;
3391
+ }
3392
+ function idbReq(req) {
3393
+ return new Promise((resolve, reject) => {
3394
+ req.addEventListener("success", () => resolve(req.result), { once: true });
3395
+ req.addEventListener("error", () => reject(req.error), { once: true });
3396
+ });
3397
+ }
3398
+ async function dumpIndexedDatabases(databasePrefix) {
3399
+ const idb = fakeIndexedDB_default;
3400
+ const dbList = await idb.databases();
3401
+ const snapshot = [];
3402
+ const expectedPrefix = databasePrefix ? `${databasePrefix}::` : null;
3403
+ for (const { name, version } of dbList) {
3404
+ if (!name || !version) {
3405
+ continue;
3406
+ }
3407
+ if (expectedPrefix && !name.startsWith(expectedPrefix)) {
3408
+ continue;
3409
+ }
3410
+ const db = await new Promise((resolve, reject) => {
3411
+ const r = idb.open(name, version);
3412
+ r.addEventListener("success", () => resolve(r.result), { once: true });
3413
+ r.addEventListener("error", () => reject(r.error), { once: true });
3414
+ });
3415
+ const stores = [];
3416
+ for (const storeName of db.objectStoreNames) {
3417
+ const tx = db.transaction(storeName, "readonly");
3418
+ const store = tx.objectStore(storeName);
3419
+ const storeInfo = {
3420
+ name: storeName,
3421
+ keyPath: store.keyPath,
3422
+ autoIncrement: store.autoIncrement,
3423
+ indexes: [],
3424
+ records: []
3425
+ };
3426
+ for (const idxName of store.indexNames) {
3427
+ const idx = store.index(idxName);
3428
+ storeInfo.indexes.push({
3429
+ name: idxName,
3430
+ keyPath: idx.keyPath,
3431
+ multiEntry: idx.multiEntry,
3432
+ unique: idx.unique
3433
+ });
3434
+ }
3435
+ const keys = await idbReq(store.getAllKeys());
3436
+ const values = await idbReq(store.getAll());
3437
+ storeInfo.records = keys.map((k, i) => ({ key: k, value: values[i] }));
3438
+ stores.push(storeInfo);
3439
+ }
3440
+ snapshot.push({ name, version, stores });
3441
+ db.close();
3442
+ }
3443
+ return snapshot;
3444
+ }
3445
+ async function restoreIndexedDatabases(snapshot) {
3446
+ const idb = fakeIndexedDB_default;
3447
+ for (const dbSnap of snapshot) {
3448
+ await new Promise((resolve, reject) => {
3449
+ const r = idb.open(dbSnap.name, dbSnap.version);
3450
+ r.addEventListener("upgradeneeded", () => {
3451
+ const db = r.result;
3452
+ for (const storeSnap of dbSnap.stores) {
3453
+ const opts = {};
3454
+ if (storeSnap.keyPath !== null) {
3455
+ opts.keyPath = storeSnap.keyPath;
3456
+ }
3457
+ if (storeSnap.autoIncrement) {
3458
+ opts.autoIncrement = true;
3459
+ }
3460
+ const store = db.createObjectStore(storeSnap.name, opts);
3461
+ for (const idx of storeSnap.indexes) {
3462
+ store.createIndex(idx.name, idx.keyPath, {
3463
+ unique: idx.unique,
3464
+ multiEntry: idx.multiEntry
3465
+ });
3466
+ }
3467
+ }
3468
+ });
3469
+ r.addEventListener(
3470
+ "success",
3471
+ () => {
3472
+ void (async () => {
3473
+ const db = r.result;
3474
+ for (const storeSnap of dbSnap.stores) {
3475
+ if (storeSnap.records.length === 0) {
3476
+ continue;
3477
+ }
3478
+ const tx = db.transaction(storeSnap.name, "readwrite");
3479
+ const store = tx.objectStore(storeSnap.name);
3480
+ for (const rec of storeSnap.records) {
3481
+ if (storeSnap.keyPath !== null) {
3482
+ store.put(rec.value);
3483
+ } else {
3484
+ store.put(rec.value, rec.key);
3485
+ }
3486
+ }
3487
+ await new Promise((res) => {
3488
+ tx.addEventListener("complete", () => res(), { once: true });
3489
+ });
3490
+ }
3491
+ db.close();
3492
+ resolve();
3493
+ })().catch(reject);
3494
+ },
3495
+ { once: true }
3496
+ );
3497
+ r.addEventListener("error", () => reject(r.error), { once: true });
3498
+ });
3499
+ }
3500
+ }
3501
+ function resolveDefaultIdbSnapshotPath() {
3502
+ const stateDir = process.env.OPENCLAW_STATE_DIR || path.join(process.env.HOME || "/tmp", ".openclaw");
3503
+ return path.join(stateDir, "matrix", "crypto-idb-snapshot.json");
3504
+ }
3505
+ async function restoreIdbFromDisk(snapshotPath) {
3506
+ const candidatePaths = snapshotPath ? [snapshotPath] : [resolveDefaultIdbSnapshotPath()];
3507
+ for (const resolvedPath of candidatePaths) {
3508
+ try {
3509
+ const restored = await withFileLock(
3510
+ resolvedPath,
3511
+ MATRIX_IDB_SNAPSHOT_LOCK_OPTIONS,
3512
+ async () => {
3513
+ const data = fs.readFileSync(resolvedPath, "utf8");
3514
+ const snapshot = parseSnapshotPayload(data);
3515
+ if (!snapshot) {
3516
+ return false;
3517
+ }
3518
+ await restoreIndexedDatabases(snapshot);
3519
+ LogService.info(
3520
+ "IdbPersistence",
3521
+ `Restored ${snapshot.length} IndexedDB database(s) from ${resolvedPath}`
3522
+ );
3523
+ return true;
3524
+ }
3525
+ );
3526
+ if (restored) {
3527
+ return true;
3528
+ }
3529
+ } catch (err) {
3530
+ LogService.warn(
3531
+ "IdbPersistence",
3532
+ `Failed to restore IndexedDB snapshot from ${resolvedPath}:`,
3533
+ err
3534
+ );
3535
+ continue;
3536
+ }
3537
+ }
3538
+ return false;
3539
+ }
3540
+ async function persistIdbToDisk(params) {
3541
+ const snapshotPath = params?.snapshotPath ?? resolveDefaultIdbSnapshotPath();
3542
+ try {
3543
+ fs.mkdirSync(path.dirname(snapshotPath), { recursive: true });
3544
+ const persistedCount = await withFileLock(
3545
+ snapshotPath,
3546
+ MATRIX_IDB_SNAPSHOT_LOCK_OPTIONS,
3547
+ async () => {
3548
+ const snapshot = await dumpIndexedDatabases(params?.databasePrefix);
3549
+ if (snapshot.length === 0) {
3550
+ return 0;
3551
+ }
3552
+ fs.writeFileSync(snapshotPath, JSON.stringify(snapshot));
3553
+ fs.chmodSync(snapshotPath, 384);
3554
+ return snapshot.length;
3555
+ }
3556
+ );
3557
+ if (persistedCount === 0) {
3558
+ return;
3559
+ }
3560
+ LogService.debug(
3561
+ "IdbPersistence",
3562
+ `Persisted ${persistedCount} IndexedDB database(s) to ${snapshotPath}`
3563
+ );
3564
+ } catch (err) {
3565
+ LogService.warn("IdbPersistence", "Failed to persist IndexedDB snapshot:", err);
3566
+ }
3567
+ }
3568
+
3569
+ export {
3570
+ FDBKeyRange_default,
3571
+ FDBCursor_default,
3572
+ FDBCursorWithValue_default,
3573
+ FDBRequest_default,
3574
+ FDBIndex_default,
3575
+ FDBRecord_default,
3576
+ FDBObjectStore_default,
3577
+ FDBTransaction_default,
3578
+ FDBDatabase_default,
3579
+ FDBOpenDBRequest_default,
3580
+ FDBVersionChangeEvent_default,
3581
+ FDBFactory_default,
3582
+ fakeIndexedDB_default,
3583
+ restoreIdbFromDisk,
3584
+ persistIdbToDisk
3585
+ };
3586
+ //# sourceMappingURL=chunk-XK6VF3H7.js.map