@powerhousedao/connect 6.0.0-staging.4 → 6.0.0

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 (659) hide show
  1. package/dist/AddDriveModal-ZK9-BWMB.js +92 -0
  2. package/dist/AddDriveModal-ZK9-BWMB.js.map +1 -0
  3. package/dist/ClearStorageModal-Bfb3ube7.js +47 -0
  4. package/dist/ClearStorageModal-Bfb3ube7.js.map +1 -0
  5. package/dist/CookiesPolicyModal-DiXQV82b.js +33 -0
  6. package/dist/CookiesPolicyModal-DiXQV82b.js.map +1 -0
  7. package/dist/CreateDocumentModal-BhJh4nWt.js +31 -0
  8. package/dist/CreateDocumentModal-BhJh4nWt.js.map +1 -0
  9. package/dist/DebugSettingsModal-CHmUFkkM.js +172 -0
  10. package/dist/DebugSettingsModal-CHmUFkkM.js.map +1 -0
  11. package/dist/DeleteDriveModal-CbuIdjKY.js +43 -0
  12. package/dist/DeleteDriveModal-CbuIdjKY.js.map +1 -0
  13. package/dist/DeleteItemModal-9ErYlauT.js +42 -0
  14. package/dist/DeleteItemModal-9ErYlauT.js.map +1 -0
  15. package/dist/DisclaimerModal-CfDeiBz8.js +24 -0
  16. package/dist/DisclaimerModal-CfDeiBz8.js.map +1 -0
  17. package/dist/DownloadDocumentWithErrorsModal-KZGWQ4J7.js +44 -0
  18. package/dist/DownloadDocumentWithErrorsModal-KZGWQ4J7.js.map +1 -0
  19. package/dist/DriveSettingsModal-DEk05PS7.js +51 -0
  20. package/dist/DriveSettingsModal-DEk05PS7.js.map +1 -0
  21. package/dist/InspectorModal-DV7lUbNo.js +375 -0
  22. package/dist/InspectorModal-DV7lUbNo.js.map +1 -0
  23. package/dist/MissingPackageModal-B2EAV_VJ.js +37 -0
  24. package/dist/MissingPackageModal-B2EAV_VJ.js.map +1 -0
  25. package/dist/SettingsModal-bLjRDGnI.js +297 -0
  26. package/dist/SettingsModal-bLjRDGnI.js.map +1 -0
  27. package/dist/UpgradeDriveModal-BwI5E5k3.js +34 -0
  28. package/dist/UpgradeDriveModal-BwI5E5k3.js.map +1 -0
  29. package/dist/build-info-_k6UQ_N_.js +15 -0
  30. package/dist/build-info-_k6UQ_N_.js.map +1 -0
  31. package/dist/connect.config-Cuh0hj_Q.js +142 -0
  32. package/dist/connect.config-Cuh0hj_Q.js.map +1 -0
  33. package/dist/i18n-4rfcgnb9.js +128 -0
  34. package/dist/i18n-4rfcgnb9.js.map +1 -0
  35. package/dist/load-B3msG504.js +112 -0
  36. package/dist/load-B3msG504.js.map +1 -0
  37. package/dist/main.d.ts +1 -0
  38. package/dist/main.js +12 -0
  39. package/dist/main.js.map +1 -0
  40. package/dist/package-_fdHqCU9.js +117 -0
  41. package/dist/package-_fdHqCU9.js.map +1 -0
  42. package/dist/packages.config-CiH8KJVN.js +32 -0
  43. package/dist/packages.config-CiH8KJVN.js.map +1 -0
  44. package/dist/pglite-runtime-Btp8ZXVH.js +135 -0
  45. package/dist/pglite-runtime-Btp8ZXVH.js.map +1 -0
  46. package/dist/pglite-seed-b1mJUaip.js +49 -0
  47. package/dist/pglite-seed-b1mJUaip.js.map +1 -0
  48. package/dist/pglite.worker.d.ts +1 -0
  49. package/dist/pglite.worker.js +18 -0
  50. package/dist/pglite.worker.js.map +1 -0
  51. package/dist/pglite.worker.legacy.d.ts +1 -0
  52. package/dist/pglite.worker.legacy.js +18 -0
  53. package/dist/pglite.worker.legacy.js.map +1 -0
  54. package/dist/reactor-DFuRedvV.js +913 -0
  55. package/dist/reactor-DFuRedvV.js.map +1 -0
  56. package/dist/registerServiceWorker-CMRF2LWE.js +79 -0
  57. package/dist/registerServiceWorker-CMRF2LWE.js.map +1 -0
  58. package/dist/sidebar-DUc9taAT.js +1473 -0
  59. package/dist/sidebar-DUc9taAT.js.map +1 -0
  60. package/dist/start-connect.d.ts +21 -0
  61. package/dist/start-connect.d.ts.map +1 -0
  62. package/dist/start-connect.js +19 -0
  63. package/dist/start-connect.js.map +1 -0
  64. package/{lib → dist}/style.css +2629 -705
  65. package/dist/toast-DnODOv28.js +23 -0
  66. package/dist/toast-DnODOv28.js.map +1 -0
  67. package/dist/useRegistryPackages-DK8swjWd.js +129 -0
  68. package/dist/useRegistryPackages-DK8swjWd.js.map +1 -0
  69. package/package.json +51 -106
  70. package/public/ph-packages.json +4 -0
  71. package/dist/assets/AddDriveModal-B2OzA49M.js +0 -2
  72. package/dist/assets/AddDriveModal-B2OzA49M.js.map +0 -1
  73. package/dist/assets/ClearStorageModal-DvAaEmpU.js +0 -2
  74. package/dist/assets/ClearStorageModal-DvAaEmpU.js.map +0 -1
  75. package/dist/assets/CookiesPolicyModal-B9gVPv9G.js +0 -2
  76. package/dist/assets/CookiesPolicyModal-B9gVPv9G.js.map +0 -1
  77. package/dist/assets/CreateDocumentModal-GMzcBLvk.js +0 -2
  78. package/dist/assets/CreateDocumentModal-GMzcBLvk.js.map +0 -1
  79. package/dist/assets/DebugSettingsModal-BcG2Mqw7.js +0 -7
  80. package/dist/assets/DebugSettingsModal-BcG2Mqw7.js.map +0 -1
  81. package/dist/assets/DeleteDriveModal-Cb7QftpO.js +0 -2
  82. package/dist/assets/DeleteDriveModal-Cb7QftpO.js.map +0 -1
  83. package/dist/assets/DeleteItemModal-C0Oli-yZ.js +0 -2
  84. package/dist/assets/DeleteItemModal-C0Oli-yZ.js.map +0 -1
  85. package/dist/assets/DisclaimerModal-r19KeC-t.js +0 -2
  86. package/dist/assets/DisclaimerModal-r19KeC-t.js.map +0 -1
  87. package/dist/assets/DriveSettingsModal-LXXF7O0w.js +0 -2
  88. package/dist/assets/DriveSettingsModal-LXXF7O0w.js.map +0 -1
  89. package/dist/assets/ExportDocumentWithErrorsModal-DAq_RjJN.js +0 -2
  90. package/dist/assets/ExportDocumentWithErrorsModal-DAq_RjJN.js.map +0 -1
  91. package/dist/assets/SettingsModal-4S6HLFxW.js +0 -2
  92. package/dist/assets/SettingsModal-4S6HLFxW.js.map +0 -1
  93. package/dist/assets/UpgradeDriveModal-CaZ3JzP8.js +0 -2
  94. package/dist/assets/UpgradeDriveModal-CaZ3JzP8.js.map +0 -1
  95. package/dist/assets/__vite-browser-external-BIHI7g3E.js +0 -2
  96. package/dist/assets/__vite-browser-external-BIHI7g3E.js.map +0 -1
  97. package/dist/assets/_virtual_ph_external-packages-CM1tCR4L.js +0 -2
  98. package/dist/assets/_virtual_ph_external-packages-CM1tCR4L.js.map +0 -1
  99. package/dist/assets/analytics-DnmcxPX5.js +0 -3
  100. package/dist/assets/analytics-DnmcxPX5.js.map +0 -1
  101. package/dist/assets/ccip-UDhRXdzi.js +0 -2
  102. package/dist/assets/ccip-UDhRXdzi.js.map +0 -1
  103. package/dist/assets/confirmation-modal-Do6d90CR.js +0 -2
  104. package/dist/assets/confirmation-modal-Do6d90CR.js.map +0 -1
  105. package/dist/assets/connect-loader-CvOC68Ih.mp4 +0 -0
  106. package/dist/assets/core-BmuZEe8D.js +0 -2
  107. package/dist/assets/core-BmuZEe8D.js.map +0 -1
  108. package/dist/assets/disclosure-BADahqD3.js +0 -2
  109. package/dist/assets/disclosure-BADahqD3.js.map +0 -1
  110. package/dist/assets/drive-by-id-YQkZFrsm.js +0 -2
  111. package/dist/assets/drive-by-id-YQkZFrsm.js.map +0 -1
  112. package/dist/assets/drives-DjHuIXXn.js +0 -2
  113. package/dist/assets/drives-DjHuIXXn.js.map +0 -1
  114. package/dist/assets/dropdown-menu-CsZSE5K1.js +0 -2
  115. package/dist/assets/dropdown-menu-CsZSE5K1.js.map +0 -1
  116. package/dist/assets/editor-BBwfmqzN.js +0 -46
  117. package/dist/assets/editor-BBwfmqzN.js.map +0 -1
  118. package/dist/assets/editor-DDmWmx1v.js +0 -2
  119. package/dist/assets/editor-DDmWmx1v.js.map +0 -1
  120. package/dist/assets/exports-CQVZRuji.js +0 -3
  121. package/dist/assets/exports-CQVZRuji.js.map +0 -1
  122. package/dist/assets/form-input-BWFBnTPa.js +0 -2
  123. package/dist/assets/form-input-BWFBnTPa.js.map +0 -1
  124. package/dist/assets/graphql-editor-C9uaKdLl.js +0 -74
  125. package/dist/assets/graphql-editor-C9uaKdLl.js.map +0 -1
  126. package/dist/assets/hmr-CMTKSAoU.js +0 -2
  127. package/dist/assets/hmr-CMTKSAoU.js.map +0 -1
  128. package/dist/assets/hmr-LMNkvzP7.js +0 -2
  129. package/dist/assets/hmr-LMNkvzP7.js.map +0 -1
  130. package/dist/assets/home-bg-BEhF9NuW.png +0 -0
  131. package/dist/assets/home-bg-BRYzhkhi.avif +0 -0
  132. package/dist/assets/hooks-BKUT5wls.js +0 -13
  133. package/dist/assets/hooks-BKUT5wls.js.map +0 -1
  134. package/dist/assets/index-5ks1b3CI.js +0 -2
  135. package/dist/assets/index-5ks1b3CI.js.map +0 -1
  136. package/dist/assets/index-B2HJvmmA.js +0 -2
  137. package/dist/assets/index-B2HJvmmA.js.map +0 -1
  138. package/dist/assets/index-Bjr8l4Lp.js +0 -226
  139. package/dist/assets/index-Bjr8l4Lp.js.map +0 -1
  140. package/dist/assets/index-CA8P5YOr.js +0 -2
  141. package/dist/assets/index-CA8P5YOr.js.map +0 -1
  142. package/dist/assets/index-CyM1iH71.js +0 -32
  143. package/dist/assets/index-CyM1iH71.js.map +0 -1
  144. package/dist/assets/index-DKJNt857.js +0 -222
  145. package/dist/assets/index-DKJNt857.js.map +0 -1
  146. package/dist/assets/index-DcvFnjR9.css +0 -1
  147. package/dist/assets/index-DllbJ-jR.js +0 -2
  148. package/dist/assets/index-DllbJ-jR.js.map +0 -1
  149. package/dist/assets/index-d9BeLBQW.js +0 -500
  150. package/dist/assets/index-d9BeLBQW.js.map +0 -1
  151. package/dist/assets/index.esm-DO_MjL5C.js +0 -2
  152. package/dist/assets/index.esm-DO_MjL5C.js.map +0 -1
  153. package/dist/assets/index.modern-CzMihhZ3.js +0 -2
  154. package/dist/assets/index.modern-CzMihhZ3.js.map +0 -1
  155. package/dist/assets/json-editor-Bv-KcWhT.js +0 -2
  156. package/dist/assets/json-editor-Bv-KcWhT.js.map +0 -1
  157. package/dist/assets/load-CeSMAIAm.js +0 -4
  158. package/dist/assets/load-CeSMAIAm.js.map +0 -1
  159. package/dist/assets/location-info-BVlJ1aF9.js +0 -2
  160. package/dist/assets/location-info-BVlJ1aF9.js.map +0 -1
  161. package/dist/assets/message-list-DlWi0RRQ.js +0 -2
  162. package/dist/assets/message-list-DlWi0RRQ.js.map +0 -1
  163. package/dist/assets/migrator-CwAI4Gd8.js +0 -82
  164. package/dist/assets/migrator-CwAI4Gd8.js.map +0 -1
  165. package/dist/assets/node-input-D8e6aYFc.js +0 -2
  166. package/dist/assets/node-input-D8e6aYFc.js.map +0 -1
  167. package/dist/assets/nodefs-DIXqIvAz.js +0 -2
  168. package/dist/assets/nodefs-DIXqIvAz.js.map +0 -1
  169. package/dist/assets/nodefs-_NvywCGz.js +0 -2
  170. package/dist/assets/nodefs-_NvywCGz.js.map +0 -1
  171. package/dist/assets/opfs-ahp-Bc4zaq12.js +0 -4
  172. package/dist/assets/opfs-ahp-Bc4zaq12.js.map +0 -1
  173. package/dist/assets/opfs-ahp-DN9nZuJs.js +0 -4
  174. package/dist/assets/opfs-ahp-DN9nZuJs.js.map +0 -1
  175. package/dist/assets/options-BSt_0wHe.js +0 -2
  176. package/dist/assets/options-BSt_0wHe.js.map +0 -1
  177. package/dist/assets/pg_dump-Cvfbb5Q0.wasm +0 -0
  178. package/dist/assets/pglite-COscPi1Y.data +0 -0
  179. package/dist/assets/pglite-CeYkvzd0.wasm +0 -0
  180. package/dist/assets/pglite.db-DC0KvC5U.js +0 -133
  181. package/dist/assets/pglite.db-DC0KvC5U.js.map +0 -1
  182. package/dist/assets/pglite.worker-Ca6pWokV.js +0 -142
  183. package/dist/assets/pglite.worker-Ca6pWokV.js.map +0 -1
  184. package/dist/assets/powerhouse-rounded-CeKGGUG4.png +0 -0
  185. package/dist/assets/processor-host-module-BZEzZTSp.js +0 -3
  186. package/dist/assets/processor-host-module-BZEzZTSp.js.map +0 -1
  187. package/dist/assets/queue-OvbfeDVp.js +0 -2
  188. package/dist/assets/queue-OvbfeDVp.js.map +0 -1
  189. package/dist/assets/reactor-BOu1venx.js +0 -16
  190. package/dist/assets/reactor-BOu1venx.js.map +0 -1
  191. package/dist/assets/reactor-BotX9Wt3.css +0 -1
  192. package/dist/assets/reactor-CUNrZqFI.js +0 -193
  193. package/dist/assets/reactor-CUNrZqFI.js.map +0 -1
  194. package/dist/assets/read-required-modal-DH5foaat.js +0 -2
  195. package/dist/assets/read-required-modal-DH5foaat.js.map +0 -1
  196. package/dist/assets/renown-6V5_LczO.js +0 -2
  197. package/dist/assets/renown-6V5_LczO.js.map +0 -1
  198. package/dist/assets/renown-short-hover-BiSLBV7L.png +0 -0
  199. package/dist/assets/rwa-report-Bb0W5-ac.png +0 -0
  200. package/dist/assets/state-schemas-B1jikGuO.js +0 -3
  201. package/dist/assets/state-schemas-B1jikGuO.js.map +0 -1
  202. package/dist/assets/tabs-Bnawlajt.js +0 -2
  203. package/dist/assets/tabs-Bnawlajt.js.map +0 -1
  204. package/dist/assets/use-get-switchboard-link-Dpa5wa4J.js +0 -12
  205. package/dist/assets/use-get-switchboard-link-Dpa5wa4J.js.map +0 -1
  206. package/dist/assets/user-permissions-B72vjsm_.js +0 -2
  207. package/dist/assets/user-permissions-B72vjsm_.js.map +0 -1
  208. package/dist/assets/vetra-m73JUyje.js +0 -221
  209. package/dist/assets/vetra-m73JUyje.js.map +0 -1
  210. package/dist/icon.ico +0 -0
  211. package/dist/index.html +0 -32
  212. package/dist/robots.txt +0 -3
  213. package/dist/settings.png +0 -0
  214. package/heroku/Dockerfile +0 -101
  215. package/heroku/Procfile +0 -1
  216. package/heroku/config/nginx.conf.template +0 -77
  217. package/heroku/heroku-entrypoint.sh +0 -38
  218. package/lib/cypress/e2e/navigation.cy.d.ts +0 -2
  219. package/lib/cypress/e2e/navigation.cy.d.ts.map +0 -1
  220. package/lib/cypress/e2e/navigation.cy.js +0 -221
  221. package/lib/cypress/e2e/navigation.cy.js.map +0 -1
  222. package/lib/cypress/e2e/utils/index.d.ts +0 -15
  223. package/lib/cypress/e2e/utils/index.d.ts.map +0 -1
  224. package/lib/cypress/e2e/utils/index.js +0 -121
  225. package/lib/cypress/e2e/utils/index.js.map +0 -1
  226. package/lib/cypress/support/commands.d.ts +0 -2
  227. package/lib/cypress/support/commands.d.ts.map +0 -1
  228. package/lib/cypress/support/commands.js +0 -29
  229. package/lib/cypress/support/commands.js.map +0 -1
  230. package/lib/cypress/support/e2e.d.ts +0 -2
  231. package/lib/cypress/support/e2e.d.ts.map +0 -1
  232. package/lib/cypress/support/e2e.js +0 -19
  233. package/lib/cypress/support/e2e.js.map +0 -1
  234. package/lib/cypress.config.d.ts +0 -3
  235. package/lib/cypress.config.d.ts.map +0 -1
  236. package/lib/cypress.config.js +0 -15
  237. package/lib/cypress.config.js.map +0 -1
  238. package/lib/package.copy.json +0 -168
  239. package/lib/scripts/render-skeleton.d.ts +0 -2
  240. package/lib/scripts/render-skeleton.d.ts.map +0 -1
  241. package/lib/scripts/render-skeleton.js +0 -11
  242. package/lib/scripts/render-skeleton.js.map +0 -1
  243. package/lib/src/components/analytics.d.ts +0 -8
  244. package/lib/src/components/analytics.d.ts.map +0 -1
  245. package/lib/src/components/analytics.js +0 -30
  246. package/lib/src/components/analytics.js.map +0 -1
  247. package/lib/src/components/app-loader.d.ts +0 -3
  248. package/lib/src/components/app-loader.d.ts.map +0 -1
  249. package/lib/src/components/app-loader.js +0 -9
  250. package/lib/src/components/app-loader.js.map +0 -1
  251. package/lib/src/components/app-skeleton.d.ts +0 -3
  252. package/lib/src/components/app-skeleton.d.ts.map +0 -1
  253. package/lib/src/components/app-skeleton.js +0 -38
  254. package/lib/src/components/app-skeleton.js.map +0 -1
  255. package/lib/src/components/app.d.ts +0 -2
  256. package/lib/src/components/app.d.ts.map +0 -1
  257. package/lib/src/components/app.js +0 -29
  258. package/lib/src/components/app.js.map +0 -1
  259. package/lib/src/components/button.d.ts +0 -3
  260. package/lib/src/components/button.d.ts.map +0 -1
  261. package/lib/src/components/button.js +0 -7
  262. package/lib/src/components/button.js.map +0 -1
  263. package/lib/src/components/cookie-banner.d.ts +0 -2
  264. package/lib/src/components/cookie-banner.d.ts.map +0 -1
  265. package/lib/src/components/cookie-banner.js +0 -48
  266. package/lib/src/components/cookie-banner.js.map +0 -1
  267. package/lib/src/components/document-editor-container.d.ts +0 -2
  268. package/lib/src/components/document-editor-container.d.ts.map +0 -1
  269. package/lib/src/components/document-editor-container.js +0 -38
  270. package/lib/src/components/document-editor-container.js.map +0 -1
  271. package/lib/src/components/dots-loader.d.ts +0 -2
  272. package/lib/src/components/dots-loader.d.ts.map +0 -1
  273. package/lib/src/components/dots-loader.js +0 -15
  274. package/lib/src/components/dots-loader.js.map +0 -1
  275. package/lib/src/components/drive-editor-container.d.ts +0 -2
  276. package/lib/src/components/drive-editor-container.d.ts.map +0 -1
  277. package/lib/src/components/drive-editor-container.js +0 -22
  278. package/lib/src/components/drive-editor-container.js.map +0 -1
  279. package/lib/src/components/drive-icon.d.ts +0 -5
  280. package/lib/src/components/drive-icon.d.ts.map +0 -1
  281. package/lib/src/components/drive-icon.js +0 -22
  282. package/lib/src/components/drive-icon.js.map +0 -1
  283. package/lib/src/components/editor-loader.d.ts +0 -9
  284. package/lib/src/components/editor-loader.d.ts.map +0 -1
  285. package/lib/src/components/editor-loader.js +0 -19
  286. package/lib/src/components/editor-loader.js.map +0 -1
  287. package/lib/src/components/editors.d.ts +0 -10
  288. package/lib/src/components/editors.d.ts.map +0 -1
  289. package/lib/src/components/editors.js +0 -94
  290. package/lib/src/components/editors.js.map +0 -1
  291. package/lib/src/components/error-boundary.d.ts +0 -103
  292. package/lib/src/components/error-boundary.d.ts.map +0 -1
  293. package/lib/src/components/error-boundary.js +0 -104
  294. package/lib/src/components/error-boundary.js.map +0 -1
  295. package/lib/src/components/footer.d.ts +0 -2
  296. package/lib/src/components/footer.d.ts.map +0 -1
  297. package/lib/src/components/footer.js +0 -16
  298. package/lib/src/components/footer.js.map +0 -1
  299. package/lib/src/components/index.d.ts +0 -21
  300. package/lib/src/components/index.d.ts.map +0 -1
  301. package/lib/src/components/index.js +0 -21
  302. package/lib/src/components/index.js.map +0 -1
  303. package/lib/src/components/load.d.ts +0 -8
  304. package/lib/src/components/load.d.ts.map +0 -1
  305. package/lib/src/components/load.js +0 -17
  306. package/lib/src/components/load.js.map +0 -1
  307. package/lib/src/components/login.d.ts +0 -2
  308. package/lib/src/components/login.d.ts.map +0 -1
  309. package/lib/src/components/login.js +0 -12
  310. package/lib/src/components/login.js.map +0 -1
  311. package/lib/src/components/modal/modals/AddDriveModal.d.ts +0 -2
  312. package/lib/src/components/modal/modals/AddDriveModal.d.ts.map +0 -1
  313. package/lib/src/components/modal/modals/AddDriveModal.js +0 -90
  314. package/lib/src/components/modal/modals/AddDriveModal.js.map +0 -1
  315. package/lib/src/components/modal/modals/ClearStorageModal.d.ts +0 -2
  316. package/lib/src/components/modal/modals/ClearStorageModal.d.ts.map +0 -1
  317. package/lib/src/components/modal/modals/ClearStorageModal.js +0 -35
  318. package/lib/src/components/modal/modals/ClearStorageModal.js.map +0 -1
  319. package/lib/src/components/modal/modals/CookiesPolicyModal.d.ts +0 -2
  320. package/lib/src/components/modal/modals/CookiesPolicyModal.d.ts.map +0 -1
  321. package/lib/src/components/modal/modals/CookiesPolicyModal.js +0 -16
  322. package/lib/src/components/modal/modals/CookiesPolicyModal.js.map +0 -1
  323. package/lib/src/components/modal/modals/CreateDocumentModal.d.ts +0 -2
  324. package/lib/src/components/modal/modals/CreateDocumentModal.d.ts.map +0 -1
  325. package/lib/src/components/modal/modals/CreateDocumentModal.js +0 -24
  326. package/lib/src/components/modal/modals/CreateDocumentModal.js.map +0 -1
  327. package/lib/src/components/modal/modals/DebugSettingsModal.d.ts +0 -2
  328. package/lib/src/components/modal/modals/DebugSettingsModal.d.ts.map +0 -1
  329. package/lib/src/components/modal/modals/DebugSettingsModal.js +0 -108
  330. package/lib/src/components/modal/modals/DebugSettingsModal.js.map +0 -1
  331. package/lib/src/components/modal/modals/DeleteDriveModal.d.ts +0 -2
  332. package/lib/src/components/modal/modals/DeleteDriveModal.d.ts.map +0 -1
  333. package/lib/src/components/modal/modals/DeleteDriveModal.js +0 -32
  334. package/lib/src/components/modal/modals/DeleteDriveModal.js.map +0 -1
  335. package/lib/src/components/modal/modals/DeleteItemModal.d.ts +0 -3
  336. package/lib/src/components/modal/modals/DeleteItemModal.d.ts.map +0 -1
  337. package/lib/src/components/modal/modals/DeleteItemModal.js +0 -33
  338. package/lib/src/components/modal/modals/DeleteItemModal.js.map +0 -1
  339. package/lib/src/components/modal/modals/DisclaimerModal.d.ts +0 -3
  340. package/lib/src/components/modal/modals/DisclaimerModal.d.ts.map +0 -1
  341. package/lib/src/components/modal/modals/DisclaimerModal.js +0 -12
  342. package/lib/src/components/modal/modals/DisclaimerModal.js.map +0 -1
  343. package/lib/src/components/modal/modals/DriveSettingsModal.d.ts +0 -2
  344. package/lib/src/components/modal/modals/DriveSettingsModal.d.ts.map +0 -1
  345. package/lib/src/components/modal/modals/DriveSettingsModal.js +0 -33
  346. package/lib/src/components/modal/modals/DriveSettingsModal.js.map +0 -1
  347. package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.d.ts +0 -2
  348. package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.d.ts.map +0 -1
  349. package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.js +0 -30
  350. package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.js.map +0 -1
  351. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.d.ts +0 -2
  352. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.d.ts.map +0 -1
  353. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.js +0 -32
  354. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.js.map +0 -1
  355. package/lib/src/components/modal/modals/InspectorModal/index.d.ts +0 -2
  356. package/lib/src/components/modal/modals/InspectorModal/index.d.ts.map +0 -1
  357. package/lib/src/components/modal/modals/InspectorModal/index.js +0 -2
  358. package/lib/src/components/modal/modals/InspectorModal/index.js.map +0 -1
  359. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.d.ts +0 -31
  360. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.d.ts.map +0 -1
  361. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.js +0 -211
  362. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.js.map +0 -1
  363. package/lib/src/components/modal/modals/InspectorModal/useQueueInspector.d.ts +0 -3
  364. package/lib/src/components/modal/modals/InspectorModal/useQueueInspector.d.ts.map +0 -1
  365. package/lib/src/components/modal/modals/InspectorModal/useQueueInspector.js +0 -61
  366. package/lib/src/components/modal/modals/InspectorModal/useQueueInspector.js.map +0 -1
  367. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.d.ts +0 -6
  368. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.d.ts.map +0 -1
  369. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.js +0 -17
  370. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.js.map +0 -1
  371. package/lib/src/components/modal/modals/SettingsModal.d.ts +0 -3
  372. package/lib/src/components/modal/modals/SettingsModal.d.ts.map +0 -1
  373. package/lib/src/components/modal/modals/SettingsModal.js +0 -48
  374. package/lib/src/components/modal/modals/SettingsModal.js.map +0 -1
  375. package/lib/src/components/modal/modals/UpgradeDriveModal.d.ts +0 -3
  376. package/lib/src/components/modal/modals/UpgradeDriveModal.d.ts.map +0 -1
  377. package/lib/src/components/modal/modals/UpgradeDriveModal.js +0 -21
  378. package/lib/src/components/modal/modals/UpgradeDriveModal.js.map +0 -1
  379. package/lib/src/components/modal/modals/settings/about.d.ts +0 -2
  380. package/lib/src/components/modal/modals/settings/about.d.ts.map +0 -1
  381. package/lib/src/components/modal/modals/settings/about.js +0 -10
  382. package/lib/src/components/modal/modals/settings/about.js.map +0 -1
  383. package/lib/src/components/modal/modals/settings/danger-zone.d.ts +0 -2
  384. package/lib/src/components/modal/modals/settings/danger-zone.d.ts.map +0 -1
  385. package/lib/src/components/modal/modals/settings/danger-zone.js +0 -15
  386. package/lib/src/components/modal/modals/settings/danger-zone.js.map +0 -1
  387. package/lib/src/components/modal/modals/settings/default-editor.d.ts +0 -2
  388. package/lib/src/components/modal/modals/settings/default-editor.d.ts.map +0 -1
  389. package/lib/src/components/modal/modals/settings/default-editor.js +0 -18
  390. package/lib/src/components/modal/modals/settings/default-editor.js.map +0 -1
  391. package/lib/src/components/modal/modals/settings/package-manager.d.ts +0 -3
  392. package/lib/src/components/modal/modals/settings/package-manager.d.ts.map +0 -1
  393. package/lib/src/components/modal/modals/settings/package-manager.js +0 -87
  394. package/lib/src/components/modal/modals/settings/package-manager.js.map +0 -1
  395. package/lib/src/components/modal/modals-container.d.ts +0 -2
  396. package/lib/src/components/modal/modals-container.d.ts.map +0 -1
  397. package/lib/src/components/modal/modals-container.js +0 -70
  398. package/lib/src/components/modal/modals-container.js.map +0 -1
  399. package/lib/src/components/ph-logo.d.ts +0 -2
  400. package/lib/src/components/ph-logo.d.ts.map +0 -1
  401. package/lib/src/components/ph-logo.js +0 -7
  402. package/lib/src/components/ph-logo.js.map +0 -1
  403. package/lib/src/components/reload-connect-toast.d.ts +0 -2
  404. package/lib/src/components/reload-connect-toast.d.ts.map +0 -1
  405. package/lib/src/components/reload-connect-toast.js +0 -7
  406. package/lib/src/components/reload-connect-toast.js.map +0 -1
  407. package/lib/src/components/root.d.ts +0 -2
  408. package/lib/src/components/root.d.ts.map +0 -1
  409. package/lib/src/components/root.js +0 -8
  410. package/lib/src/components/root.js.map +0 -1
  411. package/lib/src/components/router.d.ts +0 -2
  412. package/lib/src/components/router.d.ts.map +0 -1
  413. package/lib/src/components/router.js +0 -41
  414. package/lib/src/components/router.js.map +0 -1
  415. package/lib/src/components/search-bar.d.ts +0 -2
  416. package/lib/src/components/search-bar.d.ts.map +0 -1
  417. package/lib/src/components/search-bar.js +0 -36
  418. package/lib/src/components/search-bar.js.map +0 -1
  419. package/lib/src/components/sidebar.d.ts +0 -2
  420. package/lib/src/components/sidebar.d.ts.map +0 -1
  421. package/lib/src/components/sidebar.js +0 -28
  422. package/lib/src/components/sidebar.js.map +0 -1
  423. package/lib/src/connect.config.d.ts +0 -115
  424. package/lib/src/connect.config.d.ts.map +0 -1
  425. package/lib/src/connect.config.js +0 -148
  426. package/lib/src/connect.config.js.map +0 -1
  427. package/lib/src/context/index.d.ts +0 -4
  428. package/lib/src/context/index.d.ts.map +0 -1
  429. package/lib/src/context/index.js +0 -4
  430. package/lib/src/context/index.js.map +0 -1
  431. package/lib/src/context/processor-manager.d.ts +0 -2
  432. package/lib/src/context/processor-manager.d.ts.map +0 -1
  433. package/lib/src/context/processor-manager.js +0 -2
  434. package/lib/src/context/processor-manager.js.map +0 -1
  435. package/lib/src/context/processor-manager.old.d.ts +0 -3
  436. package/lib/src/context/processor-manager.old.d.ts.map +0 -1
  437. package/lib/src/context/processor-manager.old.js +0 -189
  438. package/lib/src/context/processor-manager.old.js.map +0 -1
  439. package/lib/src/context/read-mode.d.ts +0 -2
  440. package/lib/src/context/read-mode.d.ts.map +0 -1
  441. package/lib/src/context/read-mode.js +0 -219
  442. package/lib/src/context/read-mode.js.map +0 -1
  443. package/lib/src/context/sentry-provider.d.ts +0 -6
  444. package/lib/src/context/sentry-provider.d.ts.map +0 -1
  445. package/lib/src/context/sentry-provider.js +0 -6
  446. package/lib/src/context/sentry-provider.js.map +0 -1
  447. package/lib/src/feature-flags.d.ts +0 -35
  448. package/lib/src/feature-flags.d.ts.map +0 -1
  449. package/lib/src/feature-flags.js +0 -150
  450. package/lib/src/feature-flags.js.map +0 -1
  451. package/lib/src/globals.d.ts +0 -9
  452. package/lib/src/globals.d.ts.map +0 -1
  453. package/lib/src/globals.js +0 -2
  454. package/lib/src/globals.js.map +0 -1
  455. package/lib/src/hmr.d.ts +0 -3
  456. package/lib/src/hmr.d.ts.map +0 -1
  457. package/lib/src/hmr.js +0 -2
  458. package/lib/src/hmr.js.map +0 -1
  459. package/lib/src/hooks/index.d.ts +0 -10
  460. package/lib/src/hooks/index.d.ts.map +0 -1
  461. package/lib/src/hooks/index.js +0 -10
  462. package/lib/src/hooks/index.js.map +0 -1
  463. package/lib/src/hooks/useAcceptedCookies.d.ts +0 -9
  464. package/lib/src/hooks/useAcceptedCookies.d.ts.map +0 -1
  465. package/lib/src/hooks/useAcceptedCookies.js +0 -34
  466. package/lib/src/hooks/useAcceptedCookies.js.map +0 -1
  467. package/lib/src/hooks/useCheckLatestVersion.d.ts +0 -2
  468. package/lib/src/hooks/useCheckLatestVersion.d.ts.map +0 -1
  469. package/lib/src/hooks/useCheckLatestVersion.js +0 -33
  470. package/lib/src/hooks/useCheckLatestVersion.js.map +0 -1
  471. package/lib/src/hooks/useClientErrorHandler.d.ts +0 -6
  472. package/lib/src/hooks/useClientErrorHandler.d.ts.map +0 -1
  473. package/lib/src/hooks/useClientErrorHandler.js +0 -96
  474. package/lib/src/hooks/useClientErrorHandler.js.map +0 -1
  475. package/lib/src/hooks/useCookieBanner.d.ts +0 -5
  476. package/lib/src/hooks/useCookieBanner.d.ts.map +0 -1
  477. package/lib/src/hooks/useCookieBanner.js +0 -32
  478. package/lib/src/hooks/useCookieBanner.js.map +0 -1
  479. package/lib/src/hooks/useInitSentry.d.ts +0 -2
  480. package/lib/src/hooks/useInitSentry.d.ts.map +0 -1
  481. package/lib/src/hooks/useInitSentry.js +0 -80
  482. package/lib/src/hooks/useInitSentry.js.map +0 -1
  483. package/lib/src/hooks/useNodeActions.d.ts +0 -6
  484. package/lib/src/hooks/useNodeActions.d.ts.map +0 -1
  485. package/lib/src/hooks/useNodeActions.js +0 -35
  486. package/lib/src/hooks/useNodeActions.js.map +0 -1
  487. package/lib/src/hooks/useUndoRedoShortcuts.d.ts +0 -8
  488. package/lib/src/hooks/useUndoRedoShortcuts.d.ts.map +0 -1
  489. package/lib/src/hooks/useUndoRedoShortcuts.js +0 -26
  490. package/lib/src/hooks/useUndoRedoShortcuts.js.map +0 -1
  491. package/lib/src/hooks/useWindowSize.d.ts +0 -5
  492. package/lib/src/hooks/useWindowSize.d.ts.map +0 -1
  493. package/lib/src/hooks/useWindowSize.js +0 -21
  494. package/lib/src/hooks/useWindowSize.js.map +0 -1
  495. package/lib/src/hooks/utils.d.ts +0 -7
  496. package/lib/src/hooks/utils.d.ts.map +0 -1
  497. package/lib/src/hooks/utils.js +0 -46
  498. package/lib/src/hooks/utils.js.map +0 -1
  499. package/lib/src/i18n/index.d.ts +0 -4
  500. package/lib/src/i18n/index.d.ts.map +0 -1
  501. package/lib/src/i18n/index.js +0 -26
  502. package/lib/src/i18n/index.js.map +0 -1
  503. package/lib/src/i18n/locales/en.json +0 -114
  504. package/lib/src/index.d.ts +0 -2
  505. package/lib/src/index.d.ts.map +0 -1
  506. package/lib/src/index.js +0 -2
  507. package/lib/src/index.js.map +0 -1
  508. package/lib/src/main.d.ts +0 -2
  509. package/lib/src/main.d.ts.map +0 -1
  510. package/lib/src/main.js +0 -8
  511. package/lib/src/main.js.map +0 -1
  512. package/lib/src/pages/content.d.ts +0 -2
  513. package/lib/src/pages/content.d.ts.map +0 -1
  514. package/lib/src/pages/content.js +0 -39
  515. package/lib/src/pages/content.js.map +0 -1
  516. package/lib/src/pages/demo/atlas-import.d.ts +0 -2
  517. package/lib/src/pages/demo/atlas-import.d.ts.map +0 -1
  518. package/lib/src/pages/demo/atlas-import.js +0 -122
  519. package/lib/src/pages/demo/atlas-import.js.map +0 -1
  520. package/lib/src/pages/index.d.ts +0 -4
  521. package/lib/src/pages/index.d.ts.map +0 -1
  522. package/lib/src/pages/index.js +0 -4
  523. package/lib/src/pages/index.js.map +0 -1
  524. package/lib/src/pages/settings.d.ts +0 -4
  525. package/lib/src/pages/settings.d.ts.map +0 -1
  526. package/lib/src/pages/settings.js +0 -9
  527. package/lib/src/pages/settings.js.map +0 -1
  528. package/lib/src/pglite.db.d.ts +0 -2
  529. package/lib/src/pglite.db.d.ts.map +0 -1
  530. package/lib/src/pglite.db.js +0 -19
  531. package/lib/src/pglite.db.js.map +0 -1
  532. package/lib/src/pglite.worker.d.ts +0 -2
  533. package/lib/src/pglite.worker.d.ts.map +0 -1
  534. package/lib/src/pglite.worker.js +0 -15
  535. package/lib/src/pglite.worker.js.map +0 -1
  536. package/lib/src/services/hmr.d.ts +0 -13
  537. package/lib/src/services/hmr.d.ts.map +0 -1
  538. package/lib/src/services/hmr.js +0 -85
  539. package/lib/src/services/hmr.js.map +0 -1
  540. package/lib/src/services/index.d.ts +0 -7
  541. package/lib/src/services/index.d.ts.map +0 -1
  542. package/lib/src/services/index.js +0 -6
  543. package/lib/src/services/index.js.map +0 -1
  544. package/lib/src/services/logger.d.ts +0 -2
  545. package/lib/src/services/logger.d.ts.map +0 -1
  546. package/lib/src/services/logger.js +0 -28
  547. package/lib/src/services/logger.js.map +0 -1
  548. package/lib/src/services/storage/base-storage.d.ts +0 -9
  549. package/lib/src/services/storage/base-storage.d.ts.map +0 -1
  550. package/lib/src/services/storage/base-storage.js +0 -21
  551. package/lib/src/services/storage/base-storage.js.map +0 -1
  552. package/lib/src/services/storage/browser.d.ts +0 -5
  553. package/lib/src/services/storage/browser.d.ts.map +0 -1
  554. package/lib/src/services/storage/browser.js +0 -25
  555. package/lib/src/services/storage/browser.js.map +0 -1
  556. package/lib/src/services/storage/types.d.ts +0 -6
  557. package/lib/src/services/storage/types.d.ts.map +0 -1
  558. package/lib/src/services/storage/types.js +0 -2
  559. package/lib/src/services/storage/types.js.map +0 -1
  560. package/lib/src/services/toast.d.ts +0 -8
  561. package/lib/src/services/toast.d.ts.map +0 -1
  562. package/lib/src/services/toast.js +0 -11
  563. package/lib/src/services/toast.js.map +0 -1
  564. package/lib/src/store/document-model.d.ts +0 -3
  565. package/lib/src/store/document-model.d.ts.map +0 -1
  566. package/lib/src/store/document-model.js +0 -80
  567. package/lib/src/store/document-model.js.map +0 -1
  568. package/lib/src/store/editor.d.ts +0 -5
  569. package/lib/src/store/editor.d.ts.map +0 -1
  570. package/lib/src/store/editor.js +0 -29
  571. package/lib/src/store/editor.js.map +0 -1
  572. package/lib/src/store/external-packages.d.ts +0 -4
  573. package/lib/src/store/external-packages.d.ts.map +0 -1
  574. package/lib/src/store/external-packages.js +0 -36
  575. package/lib/src/store/external-packages.js.map +0 -1
  576. package/lib/src/store/index.d.ts +0 -7
  577. package/lib/src/store/index.d.ts.map +0 -1
  578. package/lib/src/store/index.js +0 -7
  579. package/lib/src/store/index.js.map +0 -1
  580. package/lib/src/store/processor-host-module.d.ts +0 -3
  581. package/lib/src/store/processor-host-module.d.ts.map +0 -1
  582. package/lib/src/store/processor-host-module.js +0 -22
  583. package/lib/src/store/processor-host-module.js.map +0 -1
  584. package/lib/src/store/reactor.d.ts +0 -3
  585. package/lib/src/store/reactor.d.ts.map +0 -1
  586. package/lib/src/store/reactor.js +0 -165
  587. package/lib/src/store/reactor.js.map +0 -1
  588. package/lib/src/store/user.d.ts +0 -2
  589. package/lib/src/store/user.d.ts.map +0 -1
  590. package/lib/src/store/user.js +0 -16
  591. package/lib/src/store/user.js.map +0 -1
  592. package/lib/src/store/utils.d.ts +0 -2
  593. package/lib/src/store/utils.d.ts.map +0 -1
  594. package/lib/src/store/utils.js +0 -59
  595. package/lib/src/store/utils.js.map +0 -1
  596. package/lib/src/utils/browser.d.ts +0 -2
  597. package/lib/src/utils/browser.d.ts.map +0 -1
  598. package/lib/src/utils/browser.js +0 -9
  599. package/lib/src/utils/browser.js.map +0 -1
  600. package/lib/src/utils/document-editor-debug-tools.d.ts +0 -17
  601. package/lib/src/utils/document-editor-debug-tools.d.ts.map +0 -1
  602. package/lib/src/utils/document-editor-debug-tools.js +0 -55
  603. package/lib/src/utils/document-editor-debug-tools.js.map +0 -1
  604. package/lib/src/utils/drive-preservation.d.ts +0 -19
  605. package/lib/src/utils/drive-preservation.d.ts.map +0 -1
  606. package/lib/src/utils/drive-preservation.js +0 -51
  607. package/lib/src/utils/drive-preservation.js.map +0 -1
  608. package/lib/src/utils/drive-sections.d.ts +0 -31
  609. package/lib/src/utils/drive-sections.d.ts.map +0 -1
  610. package/lib/src/utils/drive-sections.js +0 -63
  611. package/lib/src/utils/drive-sections.js.map +0 -1
  612. package/lib/src/utils/index.d.ts +0 -12
  613. package/lib/src/utils/index.d.ts.map +0 -1
  614. package/lib/src/utils/index.js +0 -12
  615. package/lib/src/utils/index.js.map +0 -1
  616. package/lib/src/utils/join.d.ts +0 -2
  617. package/lib/src/utils/join.d.ts.map +0 -1
  618. package/lib/src/utils/join.js +0 -11
  619. package/lib/src/utils/join.js.map +0 -1
  620. package/lib/src/utils/openUrl.d.ts +0 -2
  621. package/lib/src/utils/openUrl.d.ts.map +0 -1
  622. package/lib/src/utils/openUrl.js +0 -3
  623. package/lib/src/utils/openUrl.js.map +0 -1
  624. package/lib/src/utils/path.d.ts +0 -4
  625. package/lib/src/utils/path.d.ts.map +0 -1
  626. package/lib/src/utils/path.js +0 -17
  627. package/lib/src/utils/path.js.map +0 -1
  628. package/lib/src/utils/reactor.d.ts +0 -19
  629. package/lib/src/utils/reactor.d.ts.map +0 -1
  630. package/lib/src/utils/reactor.js +0 -67
  631. package/lib/src/utils/reactor.js.map +0 -1
  632. package/lib/src/utils/registerServiceWorker.d.ts +0 -12
  633. package/lib/src/utils/registerServiceWorker.d.ts.map +0 -1
  634. package/lib/src/utils/registerServiceWorker.js +0 -97
  635. package/lib/src/utils/registerServiceWorker.js.map +0 -1
  636. package/lib/src/utils/signature.d.ts +0 -4
  637. package/lib/src/utils/signature.d.ts.map +0 -1
  638. package/lib/src/utils/signature.js +0 -36
  639. package/lib/src/utils/signature.js.map +0 -1
  640. package/lib/src/utils/slug.d.ts +0 -2
  641. package/lib/src/utils/slug.d.ts.map +0 -1
  642. package/lib/src/utils/slug.js +0 -4
  643. package/lib/src/utils/slug.js.map +0 -1
  644. package/lib/test/utils/signer.test.d.ts +0 -2
  645. package/lib/test/utils/signer.test.d.ts.map +0 -1
  646. package/lib/test/utils/signer.test.js +0 -327
  647. package/lib/test/utils/signer.test.js.map +0 -1
  648. package/lib/tsconfig.tsbuildinfo +0 -1
  649. package/lib/vite.config.d.ts +0 -3
  650. package/lib/vite.config.d.ts.map +0 -1
  651. package/lib/vite.config.js +0 -27
  652. package/lib/vite.config.js.map +0 -1
  653. package/lib/vitest.config.d.ts +0 -3
  654. package/lib/vitest.config.d.ts.map +0 -1
  655. package/lib/vitest.config.js +0 -8
  656. package/lib/vitest.config.js.map +0 -1
  657. package/nginx.conf +0 -77
  658. package/package.copy.json +0 -168
  659. package/src/index.css +0 -5
@@ -1,3 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/pglite.db-DC0KvC5U.js","assets/reactor-CUNrZqFI.js","assets/index-DKJNt857.js","assets/index-DcvFnjR9.css","assets/vetra-m73JUyje.js","assets/renown-6V5_LczO.js","assets/reactor-BOu1venx.js","assets/migrator-CwAI4Gd8.js","assets/queue-OvbfeDVp.js","assets/drives-DjHuIXXn.js","assets/reactor-BotX9Wt3.css","assets/analytics-DnmcxPX5.js","assets/core-BmuZEe8D.js"])))=>i.map(i=>d[i]);
2
- import{aS as r}from"./index-DKJNt857.js";const s="analytics-db";async function _(){try{const{getDb:t}=await r(async()=>{const{getDb:o}=await import("./pglite.db-DC0KvC5U.js");return{getDb:o}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10])),{createOrGetAnalyticsStore:e}=await r(async()=>{const{createOrGetAnalyticsStore:o}=await import("./analytics-DnmcxPX5.js");return{createOrGetAnalyticsStore:o}},__vite__mapDeps([11,2,3,12])),a=await t(),c=await e({databaseName:s});return{relationalDb:a,analyticsStore:c,processorApp:"connect"}}catch(t){console.error("Failed to initialize processor host module:"),console.error(t)}}export{_ as createProcessorHostModule};
3
- //# sourceMappingURL=processor-host-module-BZEzZTSp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"mappings":";yCAEO,MAAMA,EAAsC,eCGnD,eAAsBC,GAEpB,CACA,GAAI,CACF,KAAM,CAAE,MAAAC,CAAA,EAAU,MAAAC,EAAA,sBAAAD,GAAA,KAAM,QAAO,yBAAiB,eAAAA,CAAA,8CAC1C,CAAE,0BAAAE,CAAA,EACN,MAAAD,EAAA,0CAAAC,GAAA,KAAM,QAAO,yBAA0C,mCAAAA,CAAA,iCACnDC,EAAe,MAAMH,EAAA,EACrBI,EAAiB,MAAMF,EAA0B,CACrD,aAAcJ,CAAA,CACf,EAED,MAAO,CACL,aAAAK,EACA,eAAAC,EACA,aAJmB,SAInB,CAEJ,OAASC,EAAO,CACd,QAAQ,MAAM,6CAA6C,EAC3D,QAAQ,MAAMA,CAAK,CACrB,CACF","names":["DEFAULT_ANALYTICS_PROCESSOR_DB_NAME","createProcessorHostModule","getDb","__vitePreload","createOrGetAnalyticsStore","relationalDb","analyticsStore","error"],"ignoreList":[],"sources":["../../../../packages/shared/dist/processors/constants.js","../../src/store/processor-host-module.ts"],"sourcesContent":["export const PROCESSOR_APPS = [\"connect\", \"switchboard\"];\nexport const DEFAULT_RELATIONAL_PROCESSOR_DB_NAME = \"relational-db\";\nexport const DEFAULT_ANALYTICS_PROCESSOR_DB_NAME = \"analytics-db\";\n//# sourceMappingURL=constants.js.map","import {\n DEFAULT_ANALYTICS_PROCESSOR_DB_NAME,\n type IProcessorHostModule,\n} from \"@powerhousedao/shared/processors\";\n\nexport async function createProcessorHostModule(): Promise<\n IProcessorHostModule | undefined\n> {\n try {\n const { getDb } = await import(\"../pglite.db.js\");\n const { createOrGetAnalyticsStore } =\n await import(\"@powerhousedao/reactor-browser/analytics\");\n const relationalDb = await getDb();\n const analyticsStore = await createOrGetAnalyticsStore({\n databaseName: DEFAULT_ANALYTICS_PROCESSOR_DB_NAME,\n });\n const processorApp = \"connect\" as const;\n return {\n relationalDb,\n analyticsStore,\n processorApp,\n };\n } catch (error) {\n console.error(`Failed to initialize processor host module:`);\n console.error(error);\n }\n}\n"],"file":"processor-host-module-BZEzZTSp.js"}
@@ -1,2 +0,0 @@
1
- class E extends Error{errors;constructor(e){const t=`EventBus emit failed with ${e.length} error(s): ${e.map(s=>s&&typeof s=="object"&&"message"in s?s.message:String(s)).join("; ")}`;super(t),this.name="EventBusAggregateError",this.errors=e}}const m={JOB_PENDING:10001,JOB_RUNNING:10002,JOB_WRITE_READY:10003,JOB_READ_READY:10004,JOB_FAILED:10005};var i;(function(r){r[r.UNKNOWN=-1]="UNKNOWN",r[r.PREPROCESSING=0]="PREPROCESSING",r[r.PENDING=1]="PENDING",r[r.READY=2]="READY",r[r.RUNNING=3]="RUNNING",r[r.RESOLVED=4]="RESOLVED"})(i||(i={}));const d={JOB_AVAILABLE:1e4};class c{_state;_job;onStart;onComplete;onFail;onDefer;getStateName(e){switch(e){case i.PREPROCESSING:return"PREPROCESSING";case i.PENDING:return"PENDING";case i.READY:return"READY";case i.RUNNING:return"RUNNING";case i.RESOLVED:return"RESOLVED";default:return"UNKNOWN"}}constructor(e,t,s){this._job=e,this._state=t,this.onStart=s?.onStart,this.onComplete=s?.onComplete,this.onFail=s?.onFail,this.onDefer=s?.onDefer}get job(){return this._job}get state(){return this._state}start(){if(this._state!==i.READY)throw new Error(`Cannot start job in state ${this.getStateName(this._state)}`);this._state=i.RUNNING,this.onStart?.()}complete(){if(this._state!==i.RUNNING)throw new Error(`Cannot complete job in state ${this.getStateName(this._state)}`);this._state=i.RESOLVED,this.onComplete?.()}fail(e){if(this._state!==i.RUNNING)throw new Error(`Cannot fail job in state ${this.getStateName(this._state)}`);this._state=i.RESOLVED,this.onFail?.(e)}defer(){if(this._state!==i.RUNNING)throw new Error(`Cannot defer job in state ${this.getStateName(this._state)}`);this._state=i.RESOLVED,this.onDefer?.()}}class g{eventBus;resolver;queues=new Map;jobIdToQueueKey=new Map;docIdToJobId=new Map;jobIdToDocId=new Map;completedJobs=new Set;jobIndex=new Map;isBlocked=!1;onDrainedCallback;isPausedFlag=!1;constructor(e,t){this.eventBus=e,this.resolver=t}toErrorInfo(e){return e instanceof Error?{message:e.message,stack:e.stack||new Error().stack||""}:{message:e,stack:new Error().stack||""}}createQueueKey(e,t,s){return`${e}:${t}:${s}`}getQueue(e){let t=this.queues.get(e);return t||(t=[],this.queues.set(e,t)),t}isDocumentExecuting(e){const t=this.docIdToJobId.get(e);return t?t.size>0:!1}markJobExecuting(e){let t=this.docIdToJobId.get(e.documentId);t||(t=new Set,this.docIdToJobId.set(e.documentId,t)),t.add(e.id),this.jobIdToDocId.set(e.id,e.documentId)}markJobComplete(e,t){const s=this.docIdToJobId.get(t);s&&(s.delete(e),s.size===0&&this.docIdToJobId.delete(t)),this.jobIdToDocId.delete(e)}areDependenciesMet(e){return e.queueHint.length===0?!0:e.queueHint.every(t=>this.completedJobs.has(t))}getNextJobWithMetDependencies(e){for(const t of e)if(this.areDependenciesMet(t))return t;return null}getCreateDocumentType(e){for(const t of e.actions)if(t.type==="CREATE_DOCUMENT")return t.input.model;for(const t of e.operations)if(t.action.type==="CREATE_DOCUMENT")return t.action.input.model}async enqueue(e){if(this.isBlocked)throw new Error("Queue is blocked");const t=this.createQueueKey(e.documentId,e.scope,e.branch);this.getQueue(t).push(e),this.jobIdToQueueKey.set(e.id,t),this.jobIndex.set(e.id,e);const o=this.getCreateDocumentType(e);if(o)try{await this.resolver.ensureModelLoaded(o)}catch{await this.failJob(e.id,{message:`Failed to load document model for type: ${o}`,stack:new Error().stack||""});return}const n={documentId:e.documentId,scope:e.scope,branch:e.branch,jobId:e.id};await this.eventBus.emit(d.JOB_AVAILABLE,n)}dequeue(e,t,s,o){const n=this.createQueueKey(e,t,s),u=this.queues.get(n);if(o?.aborted)return Promise.reject(new Error("Operation aborted"));if(!u||u.length===0)return Promise.resolve(null);const a=this.getNextJobWithMetDependencies(u);if(!a)return Promise.resolve(null);const h=u.indexOf(a);u.splice(h,1),this.jobIdToQueueKey.delete(a.id),this.markJobExecuting(a),u.length===0&&this.queues.delete(n);const l=new c(a,i.READY,{onStart:()=>{},onComplete:()=>{this.completeJob(a.id)},onFail:f=>{this.failJob(a.id,f)},onDefer:()=>{this.deferJob(a.id)}});return Promise.resolve(l)}dequeueNext(e){if(e?.aborted)return Promise.reject(new Error("Operation aborted"));if(this.isPausedFlag)return Promise.resolve(null);for(const[t,s]of this.queues.entries())if(s.length>0){const o=this.getNextJobWithMetDependencies(s);if(!o)continue;if(!this.isDocumentExecuting(o.documentId)){const n=s.indexOf(o);s.splice(n,1),this.jobIdToQueueKey.delete(o.id),this.markJobExecuting(o),s.length===0&&this.queues.delete(t);const u=new c(o,i.READY,{onStart:()=>{},onComplete:()=>{this.completeJob(o.id)},onFail:a=>{this.failJob(o.id,a)},onDefer:()=>{this.deferJob(o.id)}});return Promise.resolve(u)}}return Promise.resolve(null)}size(e,t,s){const o=this.createQueueKey(e,t,s),n=this.queues.get(o);return Promise.resolve(n?n.length:0)}totalSize(){let e=0;for(const t of this.queues.values())e+=t.length;return Promise.resolve(e)}remove(e){const t=this.jobIdToQueueKey.get(e);if(!t)return Promise.resolve(!1);const s=this.queues.get(t);if(!s)return this.jobIdToQueueKey.delete(e),this.jobIndex.delete(e),Promise.resolve(!1);const o=s.findIndex(n=>n.id===e);return o===-1?(this.jobIdToQueueKey.delete(e),this.jobIndex.delete(e),Promise.resolve(!1)):(s.splice(o,1),this.jobIdToQueueKey.delete(e),this.jobIndex.delete(e),s.length===0&&this.queues.delete(t),Promise.resolve(!0))}clear(e,t,s){const o=this.createQueueKey(e,t,s),n=this.queues.get(o);if(n){for(const u of n)this.jobIdToQueueKey.delete(u.id),this.jobIndex.delete(u.id);this.queues.delete(o)}return Promise.resolve()}clearAll(){return this.jobIdToQueueKey.clear(),this.jobIndex.clear(),this.completedJobs.clear(),this.queues.clear(),Promise.resolve()}hasJobs(){return Promise.resolve(this.queues.size>0&&Array.from(this.queues.values()).some(e=>e.length>0))}async completeJob(e){const t=this.jobIdToDocId.get(e);t&&this.markJobComplete(e,t),this.completedJobs.add(e),this.jobIndex.delete(e),await this.remove(e),this.checkDrained()}async failJob(e,t){const s=this.jobIdToDocId.get(e);s&&this.markJobComplete(e,s);const o=this.jobIndex.get(e);o&&(o.lastError=t,t&&o.errorHistory.push(t)),this.jobIndex.delete(e),this.completedJobs.add(e),await this.remove(e),this.eventBus.emit(m.JOB_FAILED,{jobId:e,error:new Error(t?.message??"Job failed"),job:o}).catch(()=>{}),this.checkDrained()}deferJob(e){const t=this.jobIdToDocId.get(e);t&&this.markJobComplete(e,t),this.jobIndex.delete(e)}async retryJob(e,t){const s=this.jobIndex.get(e);if(!s)return;s.lastError=t;const o=this.jobIdToDocId.get(e);o&&this.markJobComplete(e,o),this.jobIndex.delete(e),this.jobIdToQueueKey.delete(e),t&&s.errorHistory.push(t);const n={...s,retryCount:(s.retryCount||0)+1,lastError:t};await this.enqueue(n)}checkDrained(){if(this.isDrained&&this.onDrainedCallback){const e=this.onDrainedCallback;this.onDrainedCallback=void 0,e()}}get isDrained(){const e=this.queues.size>0&&Array.from(this.queues.values()).some(s=>s.length>0),t=this.docIdToJobId.size>0&&Array.from(this.docIdToJobId.values()).some(s=>s.size>0);return!e&&!t}block(e){this.isBlocked=!0,this.onDrainedCallback=e,this.checkDrained()}unblock(){this.isBlocked=!1,this.onDrainedCallback=void 0}pause(){this.isPausedFlag=!0}async resume(){this.isPausedFlag=!1;for(const[,e]of this.queues.entries())if(e.length>0){const t=e[0];await this.eventBus.emit(d.JOB_AVAILABLE,{documentId:t.documentId,scope:t.scope,branch:t.branch,jobId:t.id})}}get paused(){return this.isPausedFlag}getPendingJobs(){const e=[];for(const t of this.queues.values())e.push(...t);return e}getExecutingJobIds(){return new Map(Array.from(this.docIdToJobId.entries()).map(([e,t])=>[e,new Set(t)]))}getJob(e){return this.jobIndex.get(e)}}export{E,g as I,d as Q,m as R};
2
- //# sourceMappingURL=queue-OvbfeDVp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"queue-OvbfeDVp.js","sources":["../../../../packages/reactor/dist/src/events/types.js","../../../../packages/reactor/dist/src/queue/types.js","../../../../packages/reactor/dist/src/queue/job-execution-handle.js","../../../../packages/reactor/dist/src/queue/queue.js"],"sourcesContent":["/**\n * Custom error class that aggregates multiple errors from event subscribers.\n */\nexport class EventBusAggregateError extends Error {\n errors;\n constructor(errors) {\n const message = `EventBus emit failed with ${errors.length} error(s): ${errors\n .map((e) => {\n if (e && typeof e === \"object\" && \"message\" in e) {\n return e.message;\n }\n return String(e);\n })\n .join(\"; \")}`;\n super(message);\n this.name = \"EventBusAggregateError\";\n this.errors = errors;\n }\n}\n/**\n * Event types for reactor lifecycle events.\n */\nexport const ReactorEventTypes = {\n JOB_PENDING: 10001,\n JOB_RUNNING: 10002,\n JOB_WRITE_READY: 10003,\n JOB_READ_READY: 10004,\n JOB_FAILED: 10005,\n};\n//# sourceMappingURL=types.js.map","/**\n * State of a job in the queue\n */\nexport var JobQueueState;\n(function (JobQueueState) {\n JobQueueState[JobQueueState[\"UNKNOWN\"] = -1] = \"UNKNOWN\";\n JobQueueState[JobQueueState[\"PREPROCESSING\"] = 0] = \"PREPROCESSING\";\n JobQueueState[JobQueueState[\"PENDING\"] = 1] = \"PENDING\";\n JobQueueState[JobQueueState[\"READY\"] = 2] = \"READY\";\n JobQueueState[JobQueueState[\"RUNNING\"] = 3] = \"RUNNING\";\n JobQueueState[JobQueueState[\"RESOLVED\"] = 4] = \"RESOLVED\";\n})(JobQueueState || (JobQueueState = {}));\n/**\n * Event types for the queue system\n */\nexport const QueueEventTypes = {\n JOB_AVAILABLE: 10000,\n};\n//# sourceMappingURL=types.js.map","import { JobQueueState } from \"./types.js\";\n/**\n * Implementation of the IJobExecutionHandle interface\n */\nexport class JobExecutionHandle {\n _state;\n _job;\n onStart;\n onComplete;\n onFail;\n onDefer;\n getStateName(state) {\n switch (state) {\n case JobQueueState.PREPROCESSING:\n return \"PREPROCESSING\";\n case JobQueueState.PENDING:\n return \"PENDING\";\n case JobQueueState.READY:\n return \"READY\";\n case JobQueueState.RUNNING:\n return \"RUNNING\";\n case JobQueueState.RESOLVED:\n return \"RESOLVED\";\n default:\n return `UNKNOWN`;\n }\n }\n constructor(job, initialState, callbacks) {\n this._job = job;\n this._state = initialState;\n this.onStart = callbacks?.onStart;\n this.onComplete = callbacks?.onComplete;\n this.onFail = callbacks?.onFail;\n this.onDefer = callbacks?.onDefer;\n }\n get job() {\n return this._job;\n }\n get state() {\n return this._state;\n }\n start() {\n if (this._state !== JobQueueState.READY) {\n throw new Error(`Cannot start job in state ${this.getStateName(this._state)}`);\n }\n this._state = JobQueueState.RUNNING;\n this.onStart?.();\n }\n complete() {\n if (this._state !== JobQueueState.RUNNING) {\n throw new Error(`Cannot complete job in state ${this.getStateName(this._state)}`);\n }\n this._state = JobQueueState.RESOLVED;\n this.onComplete?.();\n }\n fail(error) {\n if (this._state !== JobQueueState.RUNNING) {\n throw new Error(`Cannot fail job in state ${this.getStateName(this._state)}`);\n }\n this._state = JobQueueState.RESOLVED;\n this.onFail?.(error);\n }\n defer() {\n if (this._state !== JobQueueState.RUNNING) {\n throw new Error(`Cannot defer job in state ${this.getStateName(this._state)}`);\n }\n this._state = JobQueueState.RESOLVED;\n this.onDefer?.();\n }\n}\n//# sourceMappingURL=job-execution-handle.js.map","import { ReactorEventTypes } from \"../events/types.js\";\nimport { JobExecutionHandle } from \"./job-execution-handle.js\";\nimport { JobQueueState, QueueEventTypes } from \"./types.js\";\n/**\n * In-memory implementation of the IQueue interface.\n * Organizes jobs by documentId, scope, and branch to ensure proper ordering.\n * Ensures serial execution per document by tracking executing jobs.\n * Implements dependency management through queue hints.\n */\nexport class InMemoryQueue {\n eventBus;\n resolver;\n queues = new Map();\n jobIdToQueueKey = new Map();\n docIdToJobId = new Map();\n jobIdToDocId = new Map();\n completedJobs = new Set();\n jobIndex = new Map();\n isBlocked = false;\n onDrainedCallback;\n isPausedFlag = false;\n constructor(eventBus, resolver) {\n this.eventBus = eventBus;\n this.resolver = resolver;\n }\n toErrorInfo(error) {\n if (error instanceof Error) {\n return {\n message: error.message,\n stack: error.stack || new Error().stack || \"\",\n };\n }\n return {\n message: error,\n stack: new Error().stack || \"\",\n };\n }\n /**\n * Creates a unique key for a document/scope/branch combination\n */\n createQueueKey(documentId, scope, branch) {\n return `${documentId}:${scope}:${branch}`;\n }\n /**\n * Gets or creates a queue for the given key\n */\n getQueue(queueKey) {\n let queue = this.queues.get(queueKey);\n if (!queue) {\n queue = [];\n this.queues.set(queueKey, queue);\n }\n return queue;\n }\n /**\n * Check if a document has any jobs currently executing\n */\n isDocumentExecuting(documentId) {\n const executingSet = this.docIdToJobId.get(documentId);\n return executingSet ? executingSet.size > 0 : false;\n }\n /**\n * Mark a job as executing for its document\n */\n markJobExecuting(job) {\n let executingSet = this.docIdToJobId.get(job.documentId);\n if (!executingSet) {\n executingSet = new Set();\n this.docIdToJobId.set(job.documentId, executingSet);\n }\n executingSet.add(job.id);\n this.jobIdToDocId.set(job.id, job.documentId);\n }\n /**\n * Mark a job as no longer executing for its document\n */\n markJobComplete(jobId, documentId) {\n const executingSet = this.docIdToJobId.get(documentId);\n if (executingSet) {\n executingSet.delete(jobId);\n if (executingSet.size === 0) {\n this.docIdToJobId.delete(documentId);\n }\n }\n this.jobIdToDocId.delete(jobId);\n }\n /**\n * Check if all dependencies for a job have been completed\n */\n areDependenciesMet(job) {\n if (job.queueHint.length === 0) {\n return true;\n }\n return job.queueHint.every((depId) => this.completedJobs.has(depId));\n }\n /**\n * Get the next job that has all its dependencies met\n */\n getNextJobWithMetDependencies(queue) {\n for (const job of queue) {\n if (this.areDependenciesMet(job)) {\n return job;\n }\n }\n return null;\n }\n getCreateDocumentType(job) {\n for (const action of job.actions) {\n if (action.type === \"CREATE_DOCUMENT\") {\n return action.input.model;\n }\n }\n for (const operation of job.operations) {\n if (operation.action.type === \"CREATE_DOCUMENT\") {\n return operation.action.input.model;\n }\n }\n return undefined;\n }\n async enqueue(job) {\n // Throw error if queue is blocked\n if (this.isBlocked) {\n throw new Error(\"Queue is blocked\");\n }\n const queueKey = this.createQueueKey(job.documentId, job.scope, job.branch);\n const queue = this.getQueue(queueKey);\n // Add job to the end of the queue (FIFO)\n queue.push(job);\n // Track job location for removal and dependency resolution\n this.jobIdToQueueKey.set(job.id, queueKey);\n this.jobIndex.set(job.id, job);\n // Gate CREATE_DOCUMENT jobs on model availability\n const documentType = this.getCreateDocumentType(job);\n if (documentType) {\n try {\n await this.resolver.ensureModelLoaded(documentType);\n }\n catch {\n await this.failJob(job.id, {\n message: `Failed to load document model for type: ${documentType}`,\n stack: new Error().stack || \"\",\n });\n return;\n }\n }\n // Emit job available event\n const eventData = {\n documentId: job.documentId,\n scope: job.scope,\n branch: job.branch,\n jobId: job.id,\n };\n await this.eventBus.emit(QueueEventTypes.JOB_AVAILABLE, eventData);\n }\n dequeue(documentId, scope, branch, signal) {\n const queueKey = this.createQueueKey(documentId, scope, branch);\n const queue = this.queues.get(queueKey);\n if (signal?.aborted) {\n return Promise.reject(new Error(\"Operation aborted\"));\n }\n if (!queue || queue.length === 0) {\n return Promise.resolve(null);\n }\n // Find the first job with met dependencies\n const job = this.getNextJobWithMetDependencies(queue);\n if (!job) {\n return Promise.resolve(null);\n }\n // Remove job from queue\n const jobIndex = queue.indexOf(job);\n queue.splice(jobIndex, 1);\n // Remove from queue tracking but keep in job index for retry\n this.jobIdToQueueKey.delete(job.id);\n // Mark this job as executing for its document\n this.markJobExecuting(job);\n // Clean up empty queue\n if (queue.length === 0) {\n this.queues.delete(queueKey);\n }\n // Create and return the execution handle\n const handle = new JobExecutionHandle(job, JobQueueState.READY, {\n onStart: () => {\n // Job is now running\n },\n onComplete: () => {\n void this.completeJob(job.id);\n },\n onFail: (error) => {\n void this.failJob(job.id, error);\n },\n onDefer: () => {\n void this.deferJob(job.id);\n },\n });\n return Promise.resolve(handle);\n }\n dequeueNext(signal) {\n if (signal?.aborted) {\n return Promise.reject(new Error(\"Operation aborted\"));\n }\n if (this.isPausedFlag) {\n return Promise.resolve(null);\n }\n // Find the first non-empty queue for a document that's not currently executing\n for (const [queueKey, queue] of this.queues.entries()) {\n if (queue.length > 0) {\n // Find the first job with met dependencies\n const job = this.getNextJobWithMetDependencies(queue);\n if (!job) {\n continue; // No job with met dependencies in this queue\n }\n // Only dequeue if the document is not currently executing jobs\n if (!this.isDocumentExecuting(job.documentId)) {\n // Remove job from queue\n const jobIdx = queue.indexOf(job);\n queue.splice(jobIdx, 1);\n // Remove from queue tracking but keep in job index for retry\n this.jobIdToQueueKey.delete(job.id);\n // Keep job in jobIndex so we can retry it if needed\n // Mark this job as executing for its document\n this.markJobExecuting(job);\n // Clean up empty queue\n if (queue.length === 0) {\n this.queues.delete(queueKey);\n }\n // Create and return the execution handle\n const handle = new JobExecutionHandle(job, JobQueueState.READY, {\n onStart: () => {\n // Job is now running\n },\n onComplete: () => {\n void this.completeJob(job.id);\n },\n onFail: (error) => {\n void this.failJob(job.id, error);\n },\n onDefer: () => {\n void this.deferJob(job.id);\n },\n });\n return Promise.resolve(handle);\n }\n }\n }\n return Promise.resolve(null);\n }\n size(documentId, scope, branch) {\n const queueKey = this.createQueueKey(documentId, scope, branch);\n const queue = this.queues.get(queueKey);\n return Promise.resolve(queue ? queue.length : 0);\n }\n totalSize() {\n let total = 0;\n for (const queue of this.queues.values()) {\n total += queue.length;\n }\n return Promise.resolve(total);\n }\n remove(jobId) {\n const queueKey = this.jobIdToQueueKey.get(jobId);\n if (!queueKey) {\n return Promise.resolve(false);\n }\n const queue = this.queues.get(queueKey);\n if (!queue) {\n // Clean up orphaned index entry\n this.jobIdToQueueKey.delete(jobId);\n this.jobIndex.delete(jobId);\n return Promise.resolve(false);\n }\n const jobIdx = queue.findIndex((job) => job.id === jobId);\n if (jobIdx === -1) {\n // Clean up orphaned index entry\n this.jobIdToQueueKey.delete(jobId);\n this.jobIndex.delete(jobId);\n return Promise.resolve(false);\n }\n // Remove job from queue\n queue.splice(jobIdx, 1);\n // Remove from job index\n this.jobIdToQueueKey.delete(jobId);\n this.jobIndex.delete(jobId);\n // Clean up empty queue\n if (queue.length === 0) {\n this.queues.delete(queueKey);\n }\n return Promise.resolve(true);\n }\n clear(documentId, scope, branch) {\n const queueKey = this.createQueueKey(documentId, scope, branch);\n const queue = this.queues.get(queueKey);\n if (queue) {\n // Remove all jobs from the job index\n for (const job of queue) {\n this.jobIdToQueueKey.delete(job.id);\n this.jobIndex.delete(job.id);\n }\n // Remove the queue\n this.queues.delete(queueKey);\n }\n return Promise.resolve();\n }\n clearAll() {\n // Clear all job indices\n this.jobIdToQueueKey.clear();\n this.jobIndex.clear();\n this.completedJobs.clear();\n // Clear all queues\n this.queues.clear();\n return Promise.resolve();\n }\n hasJobs() {\n return Promise.resolve(this.queues.size > 0 &&\n Array.from(this.queues.values()).some((q) => q.length > 0));\n }\n async completeJob(jobId) {\n // Get the documentId for the executing job\n const documentId = this.jobIdToDocId.get(jobId);\n if (documentId) {\n // Mark the job as no longer executing\n this.markJobComplete(jobId, documentId);\n }\n // Track the job as completed for dependency resolution\n this.completedJobs.add(jobId);\n // Remove from job index\n this.jobIndex.delete(jobId);\n // For in-memory queue, completing just removes the job\n // In a persistent queue, this would update the job status\n await this.remove(jobId);\n // Check if queue is now drained\n this.checkDrained();\n }\n async failJob(jobId, error) {\n // Get the documentId for the executing job\n const documentId = this.jobIdToDocId.get(jobId);\n if (documentId) {\n // Mark the job as no longer executing\n this.markJobComplete(jobId, documentId);\n }\n // update the job lastError and errorHistory\n const job = this.jobIndex.get(jobId);\n if (job) {\n job.lastError = error;\n if (error) {\n job.errorHistory.push(error);\n }\n }\n // Remove from job index\n this.jobIndex.delete(jobId);\n // Track as completed so dependent jobs are unblocked\n this.completedJobs.add(jobId);\n // For in-memory queue, failing just removes the job\n // In a persistent queue, this would update the job status and store the error\n await this.remove(jobId);\n // Emit JOB_FAILED so subscribers (sync manager, job tracker, etc.) can react\n this.eventBus\n .emit(ReactorEventTypes.JOB_FAILED, {\n jobId,\n error: new Error(error?.message ?? \"Job failed\"),\n job,\n })\n .catch(() => { });\n // Check if queue is now drained\n this.checkDrained();\n }\n deferJob(jobId) {\n const documentId = this.jobIdToDocId.get(jobId);\n if (documentId) {\n this.markJobComplete(jobId, documentId);\n }\n this.jobIndex.delete(jobId);\n }\n async retryJob(jobId, error) {\n // Get the job from the index (it might be executing, not in queue)\n const job = this.jobIndex.get(jobId);\n if (!job) {\n return;\n }\n // update the job lastError\n job.lastError = error;\n // Mark it as no longer executing if it was\n const documentId = this.jobIdToDocId.get(jobId);\n if (documentId) {\n this.markJobComplete(jobId, documentId);\n }\n // Remove from indices\n this.jobIndex.delete(jobId);\n this.jobIdToQueueKey.delete(jobId);\n // Add error to history\n if (error) {\n job.errorHistory.push(error);\n }\n // Update retry count\n const updatedJob = {\n ...job,\n retryCount: (job.retryCount || 0) + 1,\n lastError: error,\n };\n // Re-enqueue with updated retry count\n await this.enqueue(updatedJob);\n }\n /**\n * Check if the queue is drained and call the callback if it is\n */\n checkDrained() {\n if (this.isDrained && this.onDrainedCallback) {\n const callback = this.onDrainedCallback;\n this.onDrainedCallback = undefined;\n callback();\n }\n }\n /**\n * Returns true if and only if all jobs have been resolved.\n */\n get isDrained() {\n // Queue is drained if there are no pending jobs and no executing jobs\n const hasPendingJobs = this.queues.size > 0 &&\n Array.from(this.queues.values()).some((q) => q.length > 0);\n const hasExecutingJobs = this.docIdToJobId.size > 0 &&\n Array.from(this.docIdToJobId.values()).some((set) => set.size > 0);\n return !hasPendingJobs && !hasExecutingJobs;\n }\n /**\n * Blocks the queue from accepting new jobs.\n * @param onDrained - Optional callback to call when the queue is drained\n */\n block(onDrained) {\n this.isBlocked = true;\n this.onDrainedCallback = onDrained;\n // Check if already drained\n this.checkDrained();\n }\n /**\n * Unblocks the queue from accepting new jobs.\n */\n unblock() {\n this.isBlocked = false;\n this.onDrainedCallback = undefined;\n }\n /**\n * Pauses job dequeuing. Jobs can still be enqueued but dequeueNext() will return null.\n */\n pause() {\n this.isPausedFlag = true;\n }\n /**\n * Resumes job dequeuing and emits JOB_AVAILABLE events for pending jobs to wake up executors.\n */\n async resume() {\n this.isPausedFlag = false;\n // Emit JOB_AVAILABLE for each queue with pending jobs to wake up the executor manager\n for (const [, queue] of this.queues.entries()) {\n if (queue.length > 0) {\n const job = queue[0];\n await this.eventBus.emit(QueueEventTypes.JOB_AVAILABLE, {\n documentId: job.documentId,\n scope: job.scope,\n branch: job.branch,\n jobId: job.id,\n });\n }\n }\n }\n /**\n * Returns whether job dequeuing is paused.\n */\n get paused() {\n return this.isPausedFlag;\n }\n /**\n * Returns all pending jobs across all queues.\n */\n getPendingJobs() {\n const jobs = [];\n for (const queue of this.queues.values()) {\n jobs.push(...queue);\n }\n return jobs;\n }\n /**\n * Returns a map of document IDs to sets of executing job IDs.\n */\n getExecutingJobIds() {\n return new Map(Array.from(this.docIdToJobId.entries()).map(([k, v]) => [k, new Set(v)]));\n }\n /**\n * Returns a job by ID from the job index.\n */\n getJob(jobId) {\n return this.jobIndex.get(jobId);\n }\n}\n//# sourceMappingURL=queue.js.map"],"names":["EventBusAggregateError","errors","message","e","ReactorEventTypes","JobQueueState","QueueEventTypes","JobExecutionHandle","state","job","initialState","callbacks","error","InMemoryQueue","eventBus","resolver","documentId","scope","branch","queueKey","queue","executingSet","jobId","depId","action","operation","documentType","eventData","signal","jobIndex","handle","jobIdx","total","q","updatedJob","callback","hasPendingJobs","hasExecutingJobs","set","onDrained","jobs","k","v"],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import{aU as E,bW as p}from"./index-DKJNt857.js";import{R as D}from"./migrator-CwAI4Gd8.js";var u;(function(s){s.Created="created",s.Deleted="deleted",s.Updated="updated",s.ParentAdded="parent_added",s.ParentRemoved="parent_removed",s.ChildAdded="child_added",s.ChildRemoved="child_removed"})(u||(u={}));function P(s){if("status"in s)return s;const e=s;return e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{throw e.status="rejected",e.reason=t,t}),e}function R(s){return"status"in s?s:{status:"pending"}}const h=E("toast"),C=h.useValue,S=h.setValue,O=h.addEventHandler;async function f(s,e){await s.exec(`
2
- DO $$
3
- DECLARE
4
- _schemaname text := '${e}';
5
- _tablename text;
6
- BEGIN
7
- FOR _tablename IN SELECT tablename FROM pg_catalog.pg_tables WHERE schemaname = _schemaname LOOP
8
- RAISE INFO 'Dropping table %.%', _schemaname, _tablename;
9
- EXECUTE format('DROP TABLE %I.%I CASCADE;', _schemaname, _tablename);
10
- END LOOP;
11
- IF NOT FOUND THEN
12
- RAISE WARNING 'Schema % does not exist', _schemaname;
13
- END IF;
14
- END $$;
15
- `)}async function F(s){await f(s,D),await f(s,"public")}class I{client;documents=new Map;batchPromises=new Map;listeners=new Map;unsubscribe=null;constructor(e){this.client=e,this.unsubscribe=e.subscribe({},t=>{this.handleDocumentChange(t)})}handleDocumentChange(e){if(e.type===u.Deleted){const t=e.context?.childId;t&&this.handleDocumentDeleted(t)}else if(e.type===u.Updated)for(const t of e.documents)this.handleDocumentUpdated(t.header.id).catch(console.warn)}handleDocumentDeleted(e){const t=this.listeners.get(e);this.documents.delete(e),this.invalidateBatchesContaining(e),t&&t.forEach(a=>a()),this.listeners.delete(e)}async handleDocumentUpdated(e){if(this.documents.has(e)){await this.get(e,!0);const t=this.listeners.get(e);t&&t.forEach(a=>a())}}invalidateBatchesContaining(e){for(const t of this.batchPromises.keys())t.split(",").includes(e)&&this.batchPromises.delete(t)}get(e,t){const a=this.documents.get(e);if(a&&(a.status==="pending"||!t))return a;const i=this.client.get(e);return this.documents.set(e,P(i)),i}getBatch(e){const t=e.join(","),a=this.batchPromises.get(t),i=e.some(n=>!this.documents.has(n)),r=e.map(n=>this.get(n));if(i){const n=Promise.all(r);return this.batchPromises.set(t,{promises:r,promise:n}),n}if(a&&r.every((c,d)=>c===a.promises[d]))return a.promise;const o=r.map(n=>R(n));if(o.every(n=>n.status==="fulfilled")){const n=o.map(d=>d.value),c=Promise.resolve(n);return c.status="fulfilled",c.value=n,this.batchPromises.set(t,{promises:r,promise:c}),c}if(a)return a.promise;const l=Promise.all(r);return this.batchPromises.set(t,{promises:r,promise:l}),l}subscribe(e,t){const a=Array.isArray(e)?e:[e];for(const i of a){const r=this.listeners.get(i)??[];this.listeners.set(i,[...r,t])}return()=>{for(const i of a){const r=this.listeners.get(i)??[];this.listeners.set(i,r.filter(o=>o!==t))}}}dispose(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null)}}const _=200,v=1e3;async function b(s){if(!s)return;const e=await s.find({type:"powerhouse/document-drive"});p(e.results)}function A(s=_,e=v){let t=null,a=0;return(i,r=!1)=>{const o=Date.now(),m=o-a;return t!==null&&clearTimeout(t),r||m>=e?(a=o,b(i)):new Promise(l=>{t=setTimeout(()=>{a=Date.now(),b(i).then(l)},s)})}}const N=A();export{u as D,I as R,P as a,N as b,O as c,F as d,R as r,S as s,C as u};
16
- //# sourceMappingURL=reactor-BOu1venx.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reactor-BOu1venx.js","sources":["../../../../packages/reactor/dist/src/client/types.js","../../../../packages/reactor-browser/dist/src/document-cache.js","../../../../packages/reactor-browser/dist/src/hooks/toast.js","../../../../packages/reactor-browser/dist/src/pglite/drop.js","../../../../packages/reactor-browser/dist/src/reactor-client-document-cache.js","../../../../packages/reactor-browser/dist/src/reactor.js"],"sourcesContent":["/**\n * Describes the types of document changes that can occur.\n */\nexport var DocumentChangeType;\n(function (DocumentChangeType) {\n DocumentChangeType[\"Created\"] = \"created\";\n DocumentChangeType[\"Deleted\"] = \"deleted\";\n DocumentChangeType[\"Updated\"] = \"updated\";\n DocumentChangeType[\"ParentAdded\"] = \"parent_added\";\n DocumentChangeType[\"ParentRemoved\"] = \"parent_removed\";\n DocumentChangeType[\"ChildAdded\"] = \"child_added\";\n DocumentChangeType[\"ChildRemoved\"] = \"child_removed\";\n})(DocumentChangeType || (DocumentChangeType = {}));\n//# sourceMappingURL=types.js.map","export function addPromiseState(promise) {\n if (\"status\" in promise) {\n return promise;\n }\n const promiseWithState = promise;\n promiseWithState.status = \"pending\";\n promiseWithState.then((value) => {\n promiseWithState.status = \"fulfilled\";\n promiseWithState.value = value;\n }, (reason) => {\n promiseWithState.status = \"rejected\";\n promiseWithState.reason = reason;\n // Re-throw to preserve unhandled rejection behavior\n // This allows React's error boundaries to catch the error\n throw reason;\n });\n return promiseWithState;\n}\nexport function readPromiseState(promise) {\n return \"status\" in promise ? promise : { status: \"pending\" };\n}\nexport class DocumentCache {\n reactor;\n documents = new Map();\n batchPromises = new Map();\n listeners = new Map();\n constructor(reactor) {\n this.reactor = reactor;\n reactor.on(\"documentDeleted\", (documentId) => {\n const listeners = this.listeners.get(documentId);\n this.documents.delete(documentId);\n // Invalidate any batch that includes this document\n this.#invalidateBatchesContaining(documentId);\n if (listeners) {\n listeners.forEach((listener) => listener());\n }\n this.listeners.delete(documentId);\n });\n reactor.on(\"operationsAdded\", (documentId) => {\n if (this.documents.has(documentId)) {\n this.#updateDocument(documentId).catch(console.warn);\n }\n });\n }\n #invalidateBatchesContaining(documentId) {\n for (const key of this.batchPromises.keys()) {\n if (key.split(\",\").includes(documentId)) {\n this.batchPromises.delete(key);\n }\n }\n }\n async #updateDocument(documentId) {\n // Only updates listeners when document refetch is completed.\n // Listeners use stale data while refetch is in progress.\n const result = this.get(documentId, true);\n await result;\n const listeners = this.listeners.get(documentId);\n if (listeners) {\n listeners.forEach((listener) => listener());\n }\n }\n get(id, refetch) {\n const currentData = this.documents.get(id);\n if (currentData) {\n // If pending then deduplicate requests\n if (currentData.status === \"pending\") {\n return currentData;\n }\n if (!refetch) {\n return currentData;\n }\n }\n const documentPromise = this.reactor.getDocument(id);\n this.documents.set(id, addPromiseState(documentPromise));\n return documentPromise;\n }\n getBatch(ids) {\n const key = ids.join(\",\");\n const cached = this.batchPromises.get(key);\n // Check if any documents have been removed from cache (deleted)\n // This must be done BEFORE calling get() which would re-add them\n const hasDeletedDocuments = ids.some((id) => !this.documents.has(id));\n // Get current individual promises\n const currentPromises = ids.map((id) => this.get(id));\n // If documents were deleted, don't return stale data - let it fail\n if (hasDeletedDocuments) {\n const batchPromise = Promise.all(currentPromises);\n this.batchPromises.set(key, {\n promises: currentPromises,\n promise: batchPromise,\n });\n return batchPromise;\n }\n // Check if we have a valid cached batch (same underlying promises)\n if (cached) {\n const samePromises = currentPromises.every((p, i) => p === cached.promises[i]);\n if (samePromises) {\n return cached.promise;\n }\n }\n // Check the state of all individual promises\n const states = currentPromises.map((p) => readPromiseState(p));\n const allFulfilled = states.every((s) => s.status === \"fulfilled\");\n if (allFulfilled) {\n // All promises are fulfilled - create a pre-resolved batch promise\n // with status already set to avoid suspending in use()\n const values = states.map((s) => s.value);\n const batchPromise = Promise.resolve(values);\n batchPromise.status = \"fulfilled\";\n batchPromise.value = values;\n this.batchPromises.set(key, {\n promises: currentPromises,\n promise: batchPromise,\n });\n return batchPromise;\n }\n // Some promises are pending (refetch in progress) - return stale data if available\n if (cached) {\n return cached.promise;\n }\n // Initial load - create new batch promise\n const batchPromise = Promise.all(currentPromises);\n this.batchPromises.set(key, {\n promises: currentPromises,\n promise: batchPromise,\n });\n return batchPromise;\n }\n subscribe(id, callback) {\n const ids = Array.isArray(id) ? id : [id];\n for (const id of ids) {\n const listeners = this.listeners.get(id) ?? [];\n this.listeners.set(id, [...listeners, callback]);\n }\n return () => {\n for (const id of ids) {\n const listeners = this.listeners.get(id) ?? [];\n this.listeners.set(id, listeners.filter((listener) => listener !== callback));\n }\n };\n }\n}\n//# sourceMappingURL=document-cache.js.map","import { makePHEventFunctions } from \"./make-ph-event-functions.js\";\nconst toastEventFunctions = makePHEventFunctions(\"toast\");\n/** Returns the toast function */\nexport const usePHToast = toastEventFunctions.useValue;\n/** Sets the toast function */\nexport const setPHToast = toastEventFunctions.setValue;\n/** Adds an event handler for the toast */\nexport const addToastEventHandler = toastEventFunctions.addEventHandler;\n//# sourceMappingURL=toast.js.map","import { REACTOR_SCHEMA } from \"@powerhousedao/reactor\";\nasync function dropTablesInSchema(pg, schema) {\n await pg.exec(`\nDO $$\nDECLARE\n _schemaname text := '${schema}';\n _tablename text;\nBEGIN\n FOR _tablename IN SELECT tablename FROM pg_catalog.pg_tables WHERE schemaname = _schemaname LOOP\n RAISE INFO 'Dropping table %.%', _schemaname, _tablename;\n EXECUTE format('DROP TABLE %I.%I CASCADE;', _schemaname, _tablename);\n END LOOP;\n IF NOT FOUND THEN\n RAISE WARNING 'Schema % does not exist', _schemaname;\n END IF;\nEND $$;\n`);\n}\nexport async function dropAllTables(pg, schema = REACTOR_SCHEMA) {\n await dropTablesInSchema(pg, schema);\n}\nexport async function dropAllReactorStorage(pg) {\n await dropTablesInSchema(pg, REACTOR_SCHEMA);\n // legacy\n await dropTablesInSchema(pg, \"public\");\n}\n//# sourceMappingURL=drop.js.map","import { DocumentChangeType, } from \"@powerhousedao/reactor\";\nimport { addPromiseState, readPromiseState } from \"./document-cache.js\";\n/**\n * Document cache implementation that uses the new ReactorClient API.\n *\n * This cache subscribes to document change events via IReactorClient.subscribe()\n * and automatically updates the cache when documents are created, updated, or deleted.\n */\nexport class ReactorClientDocumentCache {\n client;\n documents = new Map();\n batchPromises = new Map();\n listeners = new Map();\n unsubscribe = null;\n constructor(client) {\n this.client = client;\n this.unsubscribe = client.subscribe({}, (event) => {\n this.handleDocumentChange(event);\n });\n }\n handleDocumentChange(event) {\n if (event.type === DocumentChangeType.Deleted) {\n const documentId = event.context?.childId;\n if (documentId) {\n this.handleDocumentDeleted(documentId);\n }\n }\n else if (event.type === DocumentChangeType.Updated) {\n for (const doc of event.documents) {\n this.handleDocumentUpdated(doc.header.id).catch(console.warn);\n }\n }\n }\n handleDocumentDeleted(documentId) {\n const listeners = this.listeners.get(documentId);\n this.documents.delete(documentId);\n this.invalidateBatchesContaining(documentId);\n if (listeners) {\n listeners.forEach((listener) => listener());\n }\n this.listeners.delete(documentId);\n }\n async handleDocumentUpdated(documentId) {\n if (this.documents.has(documentId)) {\n await this.get(documentId, true);\n const listeners = this.listeners.get(documentId);\n if (listeners) {\n listeners.forEach((listener) => listener());\n }\n }\n }\n invalidateBatchesContaining(documentId) {\n for (const key of this.batchPromises.keys()) {\n if (key.split(\",\").includes(documentId)) {\n this.batchPromises.delete(key);\n }\n }\n }\n get(id, refetch) {\n const currentData = this.documents.get(id);\n if (currentData) {\n if (currentData.status === \"pending\") {\n return currentData;\n }\n if (!refetch) {\n return currentData;\n }\n }\n const documentPromise = this.client.get(id);\n this.documents.set(id, addPromiseState(documentPromise));\n return documentPromise;\n }\n getBatch(ids) {\n const key = ids.join(\",\");\n const cached = this.batchPromises.get(key);\n const hasDeletedDocuments = ids.some((id) => !this.documents.has(id));\n const currentPromises = ids.map((id) => this.get(id));\n if (hasDeletedDocuments) {\n const batchPromise = Promise.all(currentPromises);\n this.batchPromises.set(key, {\n promises: currentPromises,\n promise: batchPromise,\n });\n return batchPromise;\n }\n if (cached) {\n const samePromises = currentPromises.every((p, i) => p === cached.promises[i]);\n if (samePromises) {\n return cached.promise;\n }\n }\n const states = currentPromises.map((p) => readPromiseState(p));\n const allFulfilled = states.every((s) => s.status === \"fulfilled\");\n if (allFulfilled) {\n const values = states.map((s) => s.value);\n const batchPromise = Promise.resolve(values);\n batchPromise.status = \"fulfilled\";\n batchPromise.value = values;\n this.batchPromises.set(key, {\n promises: currentPromises,\n promise: batchPromise,\n });\n return batchPromise;\n }\n if (cached) {\n return cached.promise;\n }\n const batchPromise = Promise.all(currentPromises);\n this.batchPromises.set(key, {\n promises: currentPromises,\n promise: batchPromise,\n });\n return batchPromise;\n }\n subscribe(id, callback) {\n const ids = Array.isArray(id) ? id : [id];\n for (const docId of ids) {\n const listeners = this.listeners.get(docId) ?? [];\n this.listeners.set(docId, [...listeners, callback]);\n }\n return () => {\n for (const docId of ids) {\n const listeners = this.listeners.get(docId) ?? [];\n this.listeners.set(docId, listeners.filter((listener) => listener !== callback));\n }\n };\n }\n /**\n * Disposes of the cache and unsubscribes from document change events.\n */\n dispose() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n }\n}\n//# sourceMappingURL=reactor-client-document-cache.js.map","import { BrowserKeyStorage, RenownCryptoBuilder } from \"@renown/sdk\";\nimport {} from \"document-drive\";\nimport { setDrives } from \"./hooks/drives.js\";\nimport { getDrives } from \"./utils/drives.js\";\nexport const getReactorDefaultDrivesConfig = (config = {}) => {\n const defaultDrivesUrl = config.defaultDrivesUrl || [];\n const remoteDrives = defaultDrivesUrl.map((driveUrl) => ({\n url: driveUrl,\n options: {\n sharingType: \"PUBLIC\",\n availableOffline: true,\n listeners: [\n {\n block: true,\n callInfo: {\n data: driveUrl,\n name: \"switchboard-push\",\n transmitterType: \"SwitchboardPush\",\n },\n filter: {\n branch: [\"main\"],\n documentId: [\"*\"],\n documentType: [\"*\"],\n scope: [\"global\"],\n },\n label: \"Switchboard Sync\",\n listenerId: \"1\",\n system: true,\n },\n ],\n triggers: [],\n },\n }));\n return {\n defaultDrives: {\n remoteDrives,\n removeOldRemoteDrives: defaultDrivesUrl.length > 0\n ? {\n strategy: \"preserve-by-url-and-detach\",\n urls: defaultDrivesUrl,\n }\n : { strategy: \"preserve-all\" },\n },\n };\n};\nconst DEFAULT_DEBOUNCE_DELAY_MS = 200;\nconst DEFAULT_IMMEDIATE_THRESHOLD_MS = 1000;\nasync function _refreshReactorData(reactor) {\n const drives = await getDrives(reactor);\n setDrives(drives);\n}\nasync function _refreshReactorDataClient(reactor) {\n if (!reactor)\n return;\n const result = await reactor.find({ type: \"powerhouse/document-drive\" });\n setDrives(result.results);\n}\nfunction createDebouncedRefreshReactorData(debounceDelayMs = DEFAULT_DEBOUNCE_DELAY_MS, immediateThresholdMs = DEFAULT_IMMEDIATE_THRESHOLD_MS) {\n let timeout = null;\n let lastRefreshTime = 0;\n return (reactor, immediate = false) => {\n const now = Date.now();\n const timeSinceLastRefresh = now - lastRefreshTime;\n // Clear any pending timeout\n if (timeout !== null) {\n clearTimeout(timeout);\n }\n // If caller requests immediate execution or enough time has passed, execute immediately\n if (immediate || timeSinceLastRefresh >= immediateThresholdMs) {\n lastRefreshTime = now;\n return _refreshReactorData(reactor);\n }\n // Otherwise, debounce the call\n return new Promise((resolve) => {\n timeout = setTimeout(() => {\n lastRefreshTime = Date.now();\n void _refreshReactorData(reactor).then(resolve);\n }, debounceDelayMs);\n });\n };\n}\nfunction createDebouncedRefreshReactorDataClient(debounceDelayMs = DEFAULT_DEBOUNCE_DELAY_MS, immediateThresholdMs = DEFAULT_IMMEDIATE_THRESHOLD_MS) {\n let timeout = null;\n let lastRefreshTime = 0;\n return (reactor, immediate = false) => {\n const now = Date.now();\n const timeSinceLastRefresh = now - lastRefreshTime;\n // Clear any pending timeout\n if (timeout !== null) {\n clearTimeout(timeout);\n }\n // If caller requests immediate execution or enough time has passed, execute immediately\n if (immediate || timeSinceLastRefresh >= immediateThresholdMs) {\n lastRefreshTime = now;\n return _refreshReactorDataClient(reactor);\n }\n // Otherwise, debounce the call\n return new Promise((resolve) => {\n timeout = setTimeout(() => {\n lastRefreshTime = Date.now();\n void _refreshReactorDataClient(reactor).then(resolve);\n }, debounceDelayMs);\n });\n };\n}\nexport const refreshReactorData = createDebouncedRefreshReactorData();\nexport const refreshReactorDataClient = createDebouncedRefreshReactorDataClient();\nexport async function initLegacyReactor(legacyReactor, renown) {\n await initJwtHandler(legacyReactor, renown);\n const errors = await legacyReactor.initialize();\n const error = errors?.at(0);\n if (error) {\n throw error;\n }\n}\nasync function initJwtHandler(legacyReactor, renown) {\n const user = renown?.user;\n if (!renown || !user) {\n return;\n }\n legacyReactor.setGenerateJwtHandler(async (driveUrl) => {\n return renown.getBearerToken({\n expiresIn: 10,\n aud: driveUrl,\n });\n });\n}\n/**\n * @deprecated Use {@link initRenownCrypto} instead\n *\n * Initialize ConnectCrypto\n * @returns ConnectCrypto instance\n */\nexport async function initConnectCrypto() {\n return initRenownCrypto();\n}\n/**\n * Initialize RenownCrypto\n * @returns RenownCrypto instance\n */\nexport async function initRenownCrypto() {\n const keyStorage = await BrowserKeyStorage.create();\n return await new RenownCryptoBuilder().withKeyPairStorage(keyStorage).build();\n}\n//# sourceMappingURL=reactor.js.map"],"names":["DocumentChangeType","addPromiseState","promise","promiseWithState","value","reason","readPromiseState","toastEventFunctions","makePHEventFunctions","usePHToast","setPHToast","addToastEventHandler","dropTablesInSchema","pg","schema","dropAllReactorStorage","REACTOR_SCHEMA","ReactorClientDocumentCache","client","event","documentId","doc","listeners","listener","key","id","refetch","currentData","documentPromise","ids","cached","hasDeletedDocuments","currentPromises","batchPromise","p","i","states","s","values","callback","docId","DEFAULT_DEBOUNCE_DELAY_MS","DEFAULT_IMMEDIATE_THRESHOLD_MS","_refreshReactorDataClient","reactor","result","setDrives","createDebouncedRefreshReactorDataClient","debounceDelayMs","immediateThresholdMs","timeout","lastRefreshTime","immediate","now","timeSinceLastRefresh","resolve","refreshReactorDataClient"],"mappings":"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"}
@@ -1 +0,0 @@
1
- @layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: "Inter", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-600: hsl(4 81% 74%);--color-red-800: hsl(5 81% 61%);--color-red-900: hsl(5 81% 56%);--color-blue-100: hsl(209 100% 90%);--color-slate-50: hsl(210 20% 96%);--color-gray-50: hsl(0 0% 99%);--color-gray-100: hsl(0 0% 96%);--color-gray-200: hsl(0 0% 94%);--color-gray-300: hsl(210 3% 85%);--color-gray-400: hsl(180 2% 78%);--color-gray-500: hsl(200 2% 63%);--color-gray-600: hsl(200 4% 44%);--color-gray-700: hsl(189 5% 29%);--color-gray-800: hsl(200 4% 26%);--color-gray-900: hsl(192 5% 21%);--spacing: .25rem;--container-sm: 24rem;--container-6xl: 72rem;--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-base--line-height: 1.5 ;--text-lg: 1.125rem;--text-lg--line-height: calc(1.75 / 1.125);--text-xl: 1.25rem;--text-xl--line-height: calc(1.75 / 1.25);--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-3xl: 1.5rem;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.absolute{position:absolute}.relative{position:relative}.top-1{top:calc(var(--spacing) * 1)}.top-8{top:calc(var(--spacing) * 8)}.right-1{right:calc(var(--spacing) * 1)}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.m-4{margin:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing) * 2)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-6{margin-block:calc(var(--spacing) * 6)}.my-8{margin-block:calc(var(--spacing) * 8)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-4{margin-left:calc(var(--spacing) * 4)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.size-0{width:calc(var(--spacing) * 0);height:calc(var(--spacing) * 0)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-4{height:calc(var(--spacing) * 4)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-full{height:100%}.h-px{height:1px}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-dvh{min-height:100dvh}.w-1\/2{width:50%}.w-4{width:calc(var(--spacing) * 4)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.max-w-sm{max-width:var(--container-sm)}.flex-0{flex:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.rotate-0{rotate:0deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-rows-\[auto\,1fr\]{grid-template-rows:auto,1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-x-12{column-gap:calc(var(--spacing) * 12)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-dashed{--tw-border-style: dashed;border-style:dashed}.border-none{--tw-border-style: none;border-style:none}.border-blue-100{border-color:var(--color-blue-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-transparent{border-color:transparent}.bg-blue-100{background-color:var(--color-blue-100)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-transparent{background-color:transparent}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-6{padding:calc(var(--spacing) * 6)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-6{padding-right:calc(var(--spacing) * 6)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pl-0{padding-left:calc(var(--spacing) * 0)}.pl-2{padding-left:calc(var(--spacing) * 2)}.text-right{text-align:right}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading, var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading, var(--text-xl--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.leading-none{--tw-leading: 1;line-height:1}.font-bold{--tw-font-weight: var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-red-600{color:var(--color-red-600)}.text-red-800{color:var(--color-red-800)}.text-red-900{color:var(--color-red-900)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.shadow-\[inset_0px_0px_2px_rgba\(255\,255\,255\,0\.50\)\]{--tw-shadow: inset 0px 0px 2px var(--tw-shadow-color, rgba(255,255,255,.5));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:70%}.placeholder\:text-gray-600::placeholder{color:var(--color-gray-600)}@media(hover:hover){.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}}@media(hover:hover){.hover\:text-gray-500:hover{color:var(--color-gray-500)}}@media(hover:hover){.hover\:text-gray-900:hover{color:var(--color-gray-900)}}.focus-visible\:bg-gray-200:focus-visible{background-color:var(--color-gray-200)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style: none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:50%}.data-\[state\=active\]\:bg-gray-50[data-state=active]{background-color:var(--color-gray-50)}.data-\[state\=active\]\:text-gray-800[data-state=active]{color:var(--color-gray-800)}.data-\[state\=active\]\:shadow-\[0px_16px_16px_-4px_rgba\(0\,0\,0\,0\.10\)\][data-state=active]{--tw-shadow: 0px 16px 16px -4px var(--tw-shadow-color, rgba(0,0,0,.1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-leading{syntax: "*"; inherits: false;}@property --tw-font-weight{syntax: "*"; inherits: false;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-blur{syntax: "*"; inherits: false;}@property --tw-brightness{syntax: "*"; inherits: false;}@property --tw-contrast{syntax: "*"; inherits: false;}@property --tw-grayscale{syntax: "*"; inherits: false;}@property --tw-hue-rotate{syntax: "*"; inherits: false;}@property --tw-invert{syntax: "*"; inherits: false;}@property --tw-opacity{syntax: "*"; inherits: false;}@property --tw-saturate{syntax: "*"; inherits: false;}@property --tw-sepia{syntax: "*"; inherits: false;}@property --tw-drop-shadow{syntax: "*"; inherits: false;}@property --tw-drop-shadow-color{syntax: "*"; inherits: false;}@property --tw-drop-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-drop-shadow-size{syntax: "*"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-border-style: solid;--tw-leading: initial;--tw-font-weight: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-blur: initial;--tw-brightness: initial;--tw-contrast: initial;--tw-grayscale: initial;--tw-hue-rotate: initial;--tw-invert: initial;--tw-opacity: initial;--tw-saturate: initial;--tw-sepia: initial;--tw-drop-shadow: initial;--tw-drop-shadow-color: initial;--tw-drop-shadow-alpha: 100%;--tw-drop-shadow-size: initial}}}