@powerhousedao/connect 6.0.0-dev.104 → 6.0.0-dev.106

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 (493) hide show
  1. package/dist/AddDriveModal-7rTpxYpu.js +84 -0
  2. package/dist/AddDriveModal-7rTpxYpu.js.map +1 -0
  3. package/dist/ClearStorageModal-DipDBfNw.js +44 -0
  4. package/dist/ClearStorageModal-DipDBfNw.js.map +1 -0
  5. package/dist/CookiesPolicyModal-Gae1QuhA.js +30 -0
  6. package/dist/CookiesPolicyModal-Gae1QuhA.js.map +1 -0
  7. package/dist/CreateDocumentModal-5i6rmv3C.js +28 -0
  8. package/dist/CreateDocumentModal-5i6rmv3C.js.map +1 -0
  9. package/dist/DebugSettingsModal-BDtsGB5P.js +289 -0
  10. package/dist/DebugSettingsModal-BDtsGB5P.js.map +1 -0
  11. package/dist/DeleteDriveModal-BbAx_yXt.js +40 -0
  12. package/dist/DeleteDriveModal-BbAx_yXt.js.map +1 -0
  13. package/dist/DeleteItemModal-CkWegLlh.js +39 -0
  14. package/dist/DeleteItemModal-CkWegLlh.js.map +1 -0
  15. package/dist/DisclaimerModal-CCnvwoB5.js +21 -0
  16. package/dist/DisclaimerModal-CCnvwoB5.js.map +1 -0
  17. package/dist/DriveSettingsModal-DxMjOsLg.js +45 -0
  18. package/dist/DriveSettingsModal-DxMjOsLg.js.map +1 -0
  19. package/dist/ExportDocumentWithErrorsModal-hgliF8Gy.js +41 -0
  20. package/dist/ExportDocumentWithErrorsModal-hgliF8Gy.js.map +1 -0
  21. package/dist/InspectorModal-C4rE0Y5E.js +302 -0
  22. package/dist/InspectorModal-C4rE0Y5E.js.map +1 -0
  23. package/dist/MissingPackageModal-BOeTH4V6.js +33 -0
  24. package/dist/MissingPackageModal-BOeTH4V6.js.map +1 -0
  25. package/dist/SettingsModal-DdBhkUvH.js +153 -0
  26. package/dist/SettingsModal-DdBhkUvH.js.map +1 -0
  27. package/dist/UpgradeDriveModal-DldcNCaT.js +31 -0
  28. package/dist/UpgradeDriveModal-DldcNCaT.js.map +1 -0
  29. package/dist/connect.config-CUbxYkCy.js +140 -0
  30. package/dist/connect.config-CUbxYkCy.js.map +1 -0
  31. package/dist/i18n-Ch408v5-.js +125 -0
  32. package/dist/i18n-Ch408v5-.js.map +1 -0
  33. package/dist/load-C7EmGD3a.js +105 -0
  34. package/dist/load-C7EmGD3a.js.map +1 -0
  35. package/dist/main.d.ts +1 -0
  36. package/dist/main.js +9 -0
  37. package/dist/main.js.map +1 -0
  38. package/dist/package-b3lpvc8u.js +110 -0
  39. package/dist/package-b3lpvc8u.js.map +1 -0
  40. package/dist/pglite.worker.d.ts +1 -0
  41. package/dist/pglite.worker.js +15 -0
  42. package/dist/pglite.worker.js.map +1 -0
  43. package/dist/reactor-0MsEThFh.js +565 -0
  44. package/dist/reactor-0MsEThFh.js.map +1 -0
  45. package/dist/registerServiceWorker-fSbJUcrq.js +76 -0
  46. package/dist/registerServiceWorker-fSbJUcrq.js.map +1 -0
  47. package/dist/sidebar-AZ4xvZzG.js +1173 -0
  48. package/dist/sidebar-AZ4xvZzG.js.map +1 -0
  49. package/dist/start-connect.d.ts +7 -0
  50. package/dist/start-connect.d.ts.map +1 -0
  51. package/dist/start-connect.js +14 -0
  52. package/dist/start-connect.js.map +1 -0
  53. package/dist/style.css +872 -12
  54. package/dist/toast-iD-70hL8.js +16 -0
  55. package/dist/toast-iD-70hL8.js.map +1 -0
  56. package/dist/useRegistryPackages-Ctlhv061.js +96 -0
  57. package/dist/useRegistryPackages-Ctlhv061.js.map +1 -0
  58. package/package.json +36 -48
  59. package/dist/bundle.d.ts +0 -2
  60. package/dist/bundle.d.ts.map +0 -1
  61. package/dist/bundle.js +0 -48
  62. package/dist/bundle.js.map +0 -1
  63. package/dist/cypress/e2e/navigation.cy.d.ts +0 -2
  64. package/dist/cypress/e2e/navigation.cy.d.ts.map +0 -1
  65. package/dist/cypress/e2e/navigation.cy.js +0 -221
  66. package/dist/cypress/e2e/navigation.cy.js.map +0 -1
  67. package/dist/cypress/e2e/utils/index.d.ts +0 -15
  68. package/dist/cypress/e2e/utils/index.d.ts.map +0 -1
  69. package/dist/cypress/e2e/utils/index.js +0 -121
  70. package/dist/cypress/e2e/utils/index.js.map +0 -1
  71. package/dist/cypress/support/commands.d.ts +0 -2
  72. package/dist/cypress/support/commands.d.ts.map +0 -1
  73. package/dist/cypress/support/commands.js +0 -29
  74. package/dist/cypress/support/commands.js.map +0 -1
  75. package/dist/cypress/support/e2e.d.ts +0 -2
  76. package/dist/cypress/support/e2e.d.ts.map +0 -1
  77. package/dist/cypress/support/e2e.js +0 -19
  78. package/dist/cypress/support/e2e.js.map +0 -1
  79. package/dist/cypress.config.d.ts +0 -3
  80. package/dist/cypress.config.d.ts.map +0 -1
  81. package/dist/cypress.config.js +0 -15
  82. package/dist/cypress.config.js.map +0 -1
  83. package/dist/package.copy.json +0 -121
  84. package/dist/scripts/render-skeleton.d.ts +0 -2
  85. package/dist/scripts/render-skeleton.d.ts.map +0 -1
  86. package/dist/scripts/render-skeleton.js +0 -11
  87. package/dist/scripts/render-skeleton.js.map +0 -1
  88. package/dist/src/components/analytics.d.ts +0 -8
  89. package/dist/src/components/analytics.d.ts.map +0 -1
  90. package/dist/src/components/analytics.js +0 -30
  91. package/dist/src/components/analytics.js.map +0 -1
  92. package/dist/src/components/app-loader.d.ts +0 -3
  93. package/dist/src/components/app-loader.d.ts.map +0 -1
  94. package/dist/src/components/app-loader.js +0 -9
  95. package/dist/src/components/app-loader.js.map +0 -1
  96. package/dist/src/components/app-skeleton.d.ts +0 -3
  97. package/dist/src/components/app-skeleton.d.ts.map +0 -1
  98. package/dist/src/components/app-skeleton.js +0 -38
  99. package/dist/src/components/app-skeleton.js.map +0 -1
  100. package/dist/src/components/app.d.ts +0 -2
  101. package/dist/src/components/app.d.ts.map +0 -1
  102. package/dist/src/components/app.js +0 -29
  103. package/dist/src/components/app.js.map +0 -1
  104. package/dist/src/components/button.d.ts +0 -3
  105. package/dist/src/components/button.d.ts.map +0 -1
  106. package/dist/src/components/button.js +0 -7
  107. package/dist/src/components/button.js.map +0 -1
  108. package/dist/src/components/cookie-banner.d.ts +0 -2
  109. package/dist/src/components/cookie-banner.d.ts.map +0 -1
  110. package/dist/src/components/cookie-banner.js +0 -48
  111. package/dist/src/components/cookie-banner.js.map +0 -1
  112. package/dist/src/components/document-editor-container.d.ts +0 -2
  113. package/dist/src/components/document-editor-container.d.ts.map +0 -1
  114. package/dist/src/components/document-editor-container.js +0 -38
  115. package/dist/src/components/document-editor-container.js.map +0 -1
  116. package/dist/src/components/dots-loader.d.ts +0 -2
  117. package/dist/src/components/dots-loader.d.ts.map +0 -1
  118. package/dist/src/components/dots-loader.js +0 -15
  119. package/dist/src/components/dots-loader.js.map +0 -1
  120. package/dist/src/components/drive-editor-container.d.ts +0 -2
  121. package/dist/src/components/drive-editor-container.d.ts.map +0 -1
  122. package/dist/src/components/drive-editor-container.js +0 -22
  123. package/dist/src/components/drive-editor-container.js.map +0 -1
  124. package/dist/src/components/drive-icon.d.ts +0 -5
  125. package/dist/src/components/drive-icon.d.ts.map +0 -1
  126. package/dist/src/components/drive-icon.js +0 -22
  127. package/dist/src/components/drive-icon.js.map +0 -1
  128. package/dist/src/components/editor-loader.d.ts +0 -9
  129. package/dist/src/components/editor-loader.d.ts.map +0 -1
  130. package/dist/src/components/editor-loader.js +0 -19
  131. package/dist/src/components/editor-loader.js.map +0 -1
  132. package/dist/src/components/editors.d.ts +0 -10
  133. package/dist/src/components/editors.d.ts.map +0 -1
  134. package/dist/src/components/editors.js +0 -94
  135. package/dist/src/components/editors.js.map +0 -1
  136. package/dist/src/components/error-boundary.d.ts +0 -103
  137. package/dist/src/components/error-boundary.d.ts.map +0 -1
  138. package/dist/src/components/error-boundary.js +0 -104
  139. package/dist/src/components/error-boundary.js.map +0 -1
  140. package/dist/src/components/footer.d.ts +0 -2
  141. package/dist/src/components/footer.d.ts.map +0 -1
  142. package/dist/src/components/footer.js +0 -16
  143. package/dist/src/components/footer.js.map +0 -1
  144. package/dist/src/components/index.d.ts +0 -20
  145. package/dist/src/components/index.d.ts.map +0 -1
  146. package/dist/src/components/index.js +0 -20
  147. package/dist/src/components/index.js.map +0 -1
  148. package/dist/src/components/load.d.ts +0 -8
  149. package/dist/src/components/load.d.ts.map +0 -1
  150. package/dist/src/components/load.js +0 -15
  151. package/dist/src/components/load.js.map +0 -1
  152. package/dist/src/components/modal/modals/AddDriveModal.d.ts +0 -2
  153. package/dist/src/components/modal/modals/AddDriveModal.d.ts.map +0 -1
  154. package/dist/src/components/modal/modals/AddDriveModal.js +0 -90
  155. package/dist/src/components/modal/modals/AddDriveModal.js.map +0 -1
  156. package/dist/src/components/modal/modals/ClearStorageModal.d.ts +0 -2
  157. package/dist/src/components/modal/modals/ClearStorageModal.d.ts.map +0 -1
  158. package/dist/src/components/modal/modals/ClearStorageModal.js +0 -35
  159. package/dist/src/components/modal/modals/ClearStorageModal.js.map +0 -1
  160. package/dist/src/components/modal/modals/CookiesPolicyModal.d.ts +0 -2
  161. package/dist/src/components/modal/modals/CookiesPolicyModal.d.ts.map +0 -1
  162. package/dist/src/components/modal/modals/CookiesPolicyModal.js +0 -16
  163. package/dist/src/components/modal/modals/CookiesPolicyModal.js.map +0 -1
  164. package/dist/src/components/modal/modals/CreateDocumentModal.d.ts +0 -2
  165. package/dist/src/components/modal/modals/CreateDocumentModal.d.ts.map +0 -1
  166. package/dist/src/components/modal/modals/CreateDocumentModal.js +0 -24
  167. package/dist/src/components/modal/modals/CreateDocumentModal.js.map +0 -1
  168. package/dist/src/components/modal/modals/DebugSettingsModal.d.ts +0 -2
  169. package/dist/src/components/modal/modals/DebugSettingsModal.d.ts.map +0 -1
  170. package/dist/src/components/modal/modals/DebugSettingsModal.js +0 -108
  171. package/dist/src/components/modal/modals/DebugSettingsModal.js.map +0 -1
  172. package/dist/src/components/modal/modals/DeleteDriveModal.d.ts +0 -2
  173. package/dist/src/components/modal/modals/DeleteDriveModal.d.ts.map +0 -1
  174. package/dist/src/components/modal/modals/DeleteDriveModal.js +0 -32
  175. package/dist/src/components/modal/modals/DeleteDriveModal.js.map +0 -1
  176. package/dist/src/components/modal/modals/DeleteItemModal.d.ts +0 -3
  177. package/dist/src/components/modal/modals/DeleteItemModal.d.ts.map +0 -1
  178. package/dist/src/components/modal/modals/DeleteItemModal.js +0 -33
  179. package/dist/src/components/modal/modals/DeleteItemModal.js.map +0 -1
  180. package/dist/src/components/modal/modals/DisclaimerModal.d.ts +0 -3
  181. package/dist/src/components/modal/modals/DisclaimerModal.d.ts.map +0 -1
  182. package/dist/src/components/modal/modals/DisclaimerModal.js +0 -12
  183. package/dist/src/components/modal/modals/DisclaimerModal.js.map +0 -1
  184. package/dist/src/components/modal/modals/DriveSettingsModal.d.ts +0 -2
  185. package/dist/src/components/modal/modals/DriveSettingsModal.d.ts.map +0 -1
  186. package/dist/src/components/modal/modals/DriveSettingsModal.js +0 -33
  187. package/dist/src/components/modal/modals/DriveSettingsModal.js.map +0 -1
  188. package/dist/src/components/modal/modals/ExportDocumentWithErrorsModal.d.ts +0 -2
  189. package/dist/src/components/modal/modals/ExportDocumentWithErrorsModal.d.ts.map +0 -1
  190. package/dist/src/components/modal/modals/ExportDocumentWithErrorsModal.js +0 -30
  191. package/dist/src/components/modal/modals/ExportDocumentWithErrorsModal.js.map +0 -1
  192. package/dist/src/components/modal/modals/InspectorModal/InspectorModal.d.ts +0 -2
  193. package/dist/src/components/modal/modals/InspectorModal/InspectorModal.d.ts.map +0 -1
  194. package/dist/src/components/modal/modals/InspectorModal/InspectorModal.js +0 -37
  195. package/dist/src/components/modal/modals/InspectorModal/InspectorModal.js.map +0 -1
  196. package/dist/src/components/modal/modals/InspectorModal/index.d.ts +0 -2
  197. package/dist/src/components/modal/modals/InspectorModal/index.d.ts.map +0 -1
  198. package/dist/src/components/modal/modals/InspectorModal/index.js +0 -2
  199. package/dist/src/components/modal/modals/InspectorModal/index.js.map +0 -1
  200. package/dist/src/components/modal/modals/InspectorModal/useDbExplorer.d.ts +0 -31
  201. package/dist/src/components/modal/modals/InspectorModal/useDbExplorer.d.ts.map +0 -1
  202. package/dist/src/components/modal/modals/InspectorModal/useDbExplorer.js +0 -211
  203. package/dist/src/components/modal/modals/InspectorModal/useDbExplorer.js.map +0 -1
  204. package/dist/src/components/modal/modals/InspectorModal/useIntegrityInspector.d.ts +0 -3
  205. package/dist/src/components/modal/modals/InspectorModal/useIntegrityInspector.d.ts.map +0 -1
  206. package/dist/src/components/modal/modals/InspectorModal/useIntegrityInspector.js +0 -39
  207. package/dist/src/components/modal/modals/InspectorModal/useIntegrityInspector.js.map +0 -1
  208. package/dist/src/components/modal/modals/InspectorModal/useProcessorsInspector.d.ts +0 -3
  209. package/dist/src/components/modal/modals/InspectorModal/useProcessorsInspector.d.ts.map +0 -1
  210. package/dist/src/components/modal/modals/InspectorModal/useProcessorsInspector.js +0 -38
  211. package/dist/src/components/modal/modals/InspectorModal/useProcessorsInspector.js.map +0 -1
  212. package/dist/src/components/modal/modals/InspectorModal/useQueueInspector.d.ts +0 -3
  213. package/dist/src/components/modal/modals/InspectorModal/useQueueInspector.d.ts.map +0 -1
  214. package/dist/src/components/modal/modals/InspectorModal/useQueueInspector.js +0 -61
  215. package/dist/src/components/modal/modals/InspectorModal/useQueueInspector.js.map +0 -1
  216. package/dist/src/components/modal/modals/InspectorModal/useRemotesInspector.d.ts +0 -7
  217. package/dist/src/components/modal/modals/InspectorModal/useRemotesInspector.d.ts.map +0 -1
  218. package/dist/src/components/modal/modals/InspectorModal/useRemotesInspector.js +0 -19
  219. package/dist/src/components/modal/modals/InspectorModal/useRemotesInspector.js.map +0 -1
  220. package/dist/src/components/modal/modals/SettingsModal.d.ts +0 -3
  221. package/dist/src/components/modal/modals/SettingsModal.d.ts.map +0 -1
  222. package/dist/src/components/modal/modals/SettingsModal.js +0 -48
  223. package/dist/src/components/modal/modals/SettingsModal.js.map +0 -1
  224. package/dist/src/components/modal/modals/UpgradeDriveModal.d.ts +0 -3
  225. package/dist/src/components/modal/modals/UpgradeDriveModal.d.ts.map +0 -1
  226. package/dist/src/components/modal/modals/UpgradeDriveModal.js +0 -21
  227. package/dist/src/components/modal/modals/UpgradeDriveModal.js.map +0 -1
  228. package/dist/src/components/modal/modals/settings/about.d.ts +0 -2
  229. package/dist/src/components/modal/modals/settings/about.d.ts.map +0 -1
  230. package/dist/src/components/modal/modals/settings/about.js +0 -10
  231. package/dist/src/components/modal/modals/settings/about.js.map +0 -1
  232. package/dist/src/components/modal/modals/settings/danger-zone.d.ts +0 -2
  233. package/dist/src/components/modal/modals/settings/danger-zone.d.ts.map +0 -1
  234. package/dist/src/components/modal/modals/settings/danger-zone.js +0 -15
  235. package/dist/src/components/modal/modals/settings/danger-zone.js.map +0 -1
  236. package/dist/src/components/modal/modals/settings/default-editor.d.ts +0 -2
  237. package/dist/src/components/modal/modals/settings/default-editor.d.ts.map +0 -1
  238. package/dist/src/components/modal/modals/settings/default-editor.js +0 -18
  239. package/dist/src/components/modal/modals/settings/default-editor.js.map +0 -1
  240. package/dist/src/components/modal/modals/settings/package-manager.d.ts +0 -3
  241. package/dist/src/components/modal/modals/settings/package-manager.d.ts.map +0 -1
  242. package/dist/src/components/modal/modals/settings/package-manager.js +0 -97
  243. package/dist/src/components/modal/modals/settings/package-manager.js.map +0 -1
  244. package/dist/src/components/modal/modals-container.d.ts +0 -2
  245. package/dist/src/components/modal/modals-container.d.ts.map +0 -1
  246. package/dist/src/components/modal/modals-container.js +0 -70
  247. package/dist/src/components/modal/modals-container.js.map +0 -1
  248. package/dist/src/components/package-install-prompt.d.ts +0 -3
  249. package/dist/src/components/package-install-prompt.d.ts.map +0 -1
  250. package/dist/src/components/package-install-prompt.js +0 -34
  251. package/dist/src/components/package-install-prompt.js.map +0 -1
  252. package/dist/src/components/reload-connect-toast.d.ts +0 -2
  253. package/dist/src/components/reload-connect-toast.d.ts.map +0 -1
  254. package/dist/src/components/reload-connect-toast.js +0 -7
  255. package/dist/src/components/reload-connect-toast.js.map +0 -1
  256. package/dist/src/components/root.d.ts +0 -2
  257. package/dist/src/components/root.d.ts.map +0 -1
  258. package/dist/src/components/root.js +0 -8
  259. package/dist/src/components/root.js.map +0 -1
  260. package/dist/src/components/router.d.ts +0 -2
  261. package/dist/src/components/router.d.ts.map +0 -1
  262. package/dist/src/components/router.js +0 -41
  263. package/dist/src/components/router.js.map +0 -1
  264. package/dist/src/components/search-bar.d.ts +0 -2
  265. package/dist/src/components/search-bar.d.ts.map +0 -1
  266. package/dist/src/components/search-bar.js +0 -36
  267. package/dist/src/components/search-bar.js.map +0 -1
  268. package/dist/src/components/sidebar.d.ts +0 -2
  269. package/dist/src/components/sidebar.d.ts.map +0 -1
  270. package/dist/src/components/sidebar.js +0 -28
  271. package/dist/src/components/sidebar.js.map +0 -1
  272. package/dist/src/connect.config.d.ts +0 -117
  273. package/dist/src/connect.config.d.ts.map +0 -1
  274. package/dist/src/connect.config.js +0 -149
  275. package/dist/src/connect.config.js.map +0 -1
  276. package/dist/src/context/index.d.ts +0 -4
  277. package/dist/src/context/index.d.ts.map +0 -1
  278. package/dist/src/context/index.js +0 -4
  279. package/dist/src/context/index.js.map +0 -1
  280. package/dist/src/context/processor-manager.d.ts +0 -2
  281. package/dist/src/context/processor-manager.d.ts.map +0 -1
  282. package/dist/src/context/processor-manager.js +0 -2
  283. package/dist/src/context/processor-manager.js.map +0 -1
  284. package/dist/src/context/processor-manager.old.d.ts +0 -3
  285. package/dist/src/context/processor-manager.old.d.ts.map +0 -1
  286. package/dist/src/context/processor-manager.old.js +0 -189
  287. package/dist/src/context/processor-manager.old.js.map +0 -1
  288. package/dist/src/context/read-mode.d.ts +0 -2
  289. package/dist/src/context/read-mode.d.ts.map +0 -1
  290. package/dist/src/context/read-mode.js +0 -219
  291. package/dist/src/context/read-mode.js.map +0 -1
  292. package/dist/src/context/sentry-provider.d.ts +0 -6
  293. package/dist/src/context/sentry-provider.d.ts.map +0 -1
  294. package/dist/src/context/sentry-provider.js +0 -6
  295. package/dist/src/context/sentry-provider.js.map +0 -1
  296. package/dist/src/feature-flags.d.ts +0 -35
  297. package/dist/src/feature-flags.d.ts.map +0 -1
  298. package/dist/src/feature-flags.js +0 -150
  299. package/dist/src/feature-flags.js.map +0 -1
  300. package/dist/src/globals.d.ts +0 -9
  301. package/dist/src/globals.d.ts.map +0 -1
  302. package/dist/src/globals.js +0 -2
  303. package/dist/src/globals.js.map +0 -1
  304. package/dist/src/hmr.d.ts +0 -3
  305. package/dist/src/hmr.d.ts.map +0 -1
  306. package/dist/src/hmr.js +0 -2
  307. package/dist/src/hmr.js.map +0 -1
  308. package/dist/src/hooks/index.d.ts +0 -10
  309. package/dist/src/hooks/index.d.ts.map +0 -1
  310. package/dist/src/hooks/index.js +0 -10
  311. package/dist/src/hooks/index.js.map +0 -1
  312. package/dist/src/hooks/use-registry.d.ts +0 -14
  313. package/dist/src/hooks/use-registry.d.ts.map +0 -1
  314. package/dist/src/hooks/use-registry.js +0 -126
  315. package/dist/src/hooks/use-registry.js.map +0 -1
  316. package/dist/src/hooks/useAcceptedCookies.d.ts +0 -9
  317. package/dist/src/hooks/useAcceptedCookies.d.ts.map +0 -1
  318. package/dist/src/hooks/useAcceptedCookies.js +0 -34
  319. package/dist/src/hooks/useAcceptedCookies.js.map +0 -1
  320. package/dist/src/hooks/useCheckLatestVersion.d.ts +0 -2
  321. package/dist/src/hooks/useCheckLatestVersion.d.ts.map +0 -1
  322. package/dist/src/hooks/useCheckLatestVersion.js +0 -33
  323. package/dist/src/hooks/useCheckLatestVersion.js.map +0 -1
  324. package/dist/src/hooks/useClientErrorHandler.d.ts +0 -6
  325. package/dist/src/hooks/useClientErrorHandler.d.ts.map +0 -1
  326. package/dist/src/hooks/useClientErrorHandler.js +0 -96
  327. package/dist/src/hooks/useClientErrorHandler.js.map +0 -1
  328. package/dist/src/hooks/useCookieBanner.d.ts +0 -5
  329. package/dist/src/hooks/useCookieBanner.d.ts.map +0 -1
  330. package/dist/src/hooks/useCookieBanner.js +0 -32
  331. package/dist/src/hooks/useCookieBanner.js.map +0 -1
  332. package/dist/src/hooks/useInitSentry.d.ts +0 -2
  333. package/dist/src/hooks/useInitSentry.d.ts.map +0 -1
  334. package/dist/src/hooks/useInitSentry.js +0 -80
  335. package/dist/src/hooks/useInitSentry.js.map +0 -1
  336. package/dist/src/hooks/useNodeActions.d.ts +0 -6
  337. package/dist/src/hooks/useNodeActions.d.ts.map +0 -1
  338. package/dist/src/hooks/useNodeActions.js +0 -35
  339. package/dist/src/hooks/useNodeActions.js.map +0 -1
  340. package/dist/src/hooks/useUndoRedoShortcuts.d.ts +0 -8
  341. package/dist/src/hooks/useUndoRedoShortcuts.d.ts.map +0 -1
  342. package/dist/src/hooks/useUndoRedoShortcuts.js +0 -26
  343. package/dist/src/hooks/useUndoRedoShortcuts.js.map +0 -1
  344. package/dist/src/hooks/useWindowSize.d.ts +0 -5
  345. package/dist/src/hooks/useWindowSize.d.ts.map +0 -1
  346. package/dist/src/hooks/useWindowSize.js +0 -21
  347. package/dist/src/hooks/useWindowSize.js.map +0 -1
  348. package/dist/src/hooks/utils.d.ts +0 -7
  349. package/dist/src/hooks/utils.d.ts.map +0 -1
  350. package/dist/src/hooks/utils.js +0 -46
  351. package/dist/src/hooks/utils.js.map +0 -1
  352. package/dist/src/i18n/index.d.ts +0 -4
  353. package/dist/src/i18n/index.d.ts.map +0 -1
  354. package/dist/src/i18n/index.js +0 -26
  355. package/dist/src/i18n/index.js.map +0 -1
  356. package/dist/src/i18n/locales/en.json +0 -114
  357. package/dist/src/index.d.ts +0 -2
  358. package/dist/src/index.d.ts.map +0 -1
  359. package/dist/src/index.js +0 -2
  360. package/dist/src/index.js.map +0 -1
  361. package/dist/src/main.d.ts +0 -2
  362. package/dist/src/main.d.ts.map +0 -1
  363. package/dist/src/main.js +0 -8
  364. package/dist/src/main.js.map +0 -1
  365. package/dist/src/pages/content.d.ts +0 -2
  366. package/dist/src/pages/content.d.ts.map +0 -1
  367. package/dist/src/pages/content.js +0 -39
  368. package/dist/src/pages/content.js.map +0 -1
  369. package/dist/src/pages/demo/atlas-import.d.ts +0 -2
  370. package/dist/src/pages/demo/atlas-import.d.ts.map +0 -1
  371. package/dist/src/pages/demo/atlas-import.js +0 -120
  372. package/dist/src/pages/demo/atlas-import.js.map +0 -1
  373. package/dist/src/pages/index.d.ts +0 -4
  374. package/dist/src/pages/index.d.ts.map +0 -1
  375. package/dist/src/pages/index.js +0 -4
  376. package/dist/src/pages/index.js.map +0 -1
  377. package/dist/src/pages/settings.d.ts +0 -4
  378. package/dist/src/pages/settings.d.ts.map +0 -1
  379. package/dist/src/pages/settings.js +0 -8
  380. package/dist/src/pages/settings.js.map +0 -1
  381. package/dist/src/pglite.db.d.ts +0 -2
  382. package/dist/src/pglite.db.d.ts.map +0 -1
  383. package/dist/src/pglite.db.js +0 -19
  384. package/dist/src/pglite.db.js.map +0 -1
  385. package/dist/src/pglite.worker.d.ts +0 -2
  386. package/dist/src/pglite.worker.d.ts.map +0 -1
  387. package/dist/src/pglite.worker.js +0 -15
  388. package/dist/src/pglite.worker.js.map +0 -1
  389. package/dist/src/services/index.d.ts +0 -3
  390. package/dist/src/services/index.d.ts.map +0 -1
  391. package/dist/src/services/index.js +0 -3
  392. package/dist/src/services/index.js.map +0 -1
  393. package/dist/src/services/logger.d.ts +0 -2
  394. package/dist/src/services/logger.d.ts.map +0 -1
  395. package/dist/src/services/logger.js +0 -28
  396. package/dist/src/services/logger.js.map +0 -1
  397. package/dist/src/services/toast.d.ts +0 -8
  398. package/dist/src/services/toast.d.ts.map +0 -1
  399. package/dist/src/services/toast.js +0 -11
  400. package/dist/src/services/toast.js.map +0 -1
  401. package/dist/src/store/document-model.d.ts +0 -3
  402. package/dist/src/store/document-model.d.ts.map +0 -1
  403. package/dist/src/store/document-model.js +0 -80
  404. package/dist/src/store/document-model.js.map +0 -1
  405. package/dist/src/store/editor.d.ts +0 -4
  406. package/dist/src/store/editor.d.ts.map +0 -1
  407. package/dist/src/store/editor.js +0 -28
  408. package/dist/src/store/editor.js.map +0 -1
  409. package/dist/src/store/index.d.ts +0 -6
  410. package/dist/src/store/index.d.ts.map +0 -1
  411. package/dist/src/store/index.js +0 -6
  412. package/dist/src/store/index.js.map +0 -1
  413. package/dist/src/store/processor-host-module.d.ts +0 -3
  414. package/dist/src/store/processor-host-module.d.ts.map +0 -1
  415. package/dist/src/store/processor-host-module.js +0 -22
  416. package/dist/src/store/processor-host-module.js.map +0 -1
  417. package/dist/src/store/reactor.d.ts +0 -3
  418. package/dist/src/store/reactor.d.ts.map +0 -1
  419. package/dist/src/store/reactor.js +0 -171
  420. package/dist/src/store/reactor.js.map +0 -1
  421. package/dist/src/store/user.d.ts +0 -2
  422. package/dist/src/store/user.d.ts.map +0 -1
  423. package/dist/src/store/user.js +0 -16
  424. package/dist/src/store/user.js.map +0 -1
  425. package/dist/src/store/utils.d.ts +0 -2
  426. package/dist/src/store/utils.d.ts.map +0 -1
  427. package/dist/src/store/utils.js +0 -59
  428. package/dist/src/store/utils.js.map +0 -1
  429. package/dist/src/utils/browser.d.ts +0 -2
  430. package/dist/src/utils/browser.d.ts.map +0 -1
  431. package/dist/src/utils/browser.js +0 -9
  432. package/dist/src/utils/browser.js.map +0 -1
  433. package/dist/src/utils/document-editor-debug-tools.d.ts +0 -17
  434. package/dist/src/utils/document-editor-debug-tools.d.ts.map +0 -1
  435. package/dist/src/utils/document-editor-debug-tools.js +0 -55
  436. package/dist/src/utils/document-editor-debug-tools.js.map +0 -1
  437. package/dist/src/utils/drive-preservation.d.ts +0 -19
  438. package/dist/src/utils/drive-preservation.d.ts.map +0 -1
  439. package/dist/src/utils/drive-preservation.js +0 -51
  440. package/dist/src/utils/drive-preservation.js.map +0 -1
  441. package/dist/src/utils/drive-sections.d.ts +0 -31
  442. package/dist/src/utils/drive-sections.d.ts.map +0 -1
  443. package/dist/src/utils/drive-sections.js +0 -63
  444. package/dist/src/utils/drive-sections.js.map +0 -1
  445. package/dist/src/utils/index.d.ts +0 -13
  446. package/dist/src/utils/index.d.ts.map +0 -1
  447. package/dist/src/utils/index.js +0 -13
  448. package/dist/src/utils/index.js.map +0 -1
  449. package/dist/src/utils/join.d.ts +0 -2
  450. package/dist/src/utils/join.d.ts.map +0 -1
  451. package/dist/src/utils/join.js +0 -11
  452. package/dist/src/utils/join.js.map +0 -1
  453. package/dist/src/utils/openUrl.d.ts +0 -2
  454. package/dist/src/utils/openUrl.d.ts.map +0 -1
  455. package/dist/src/utils/openUrl.js +0 -3
  456. package/dist/src/utils/openUrl.js.map +0 -1
  457. package/dist/src/utils/package-json.d.ts +0 -3
  458. package/dist/src/utils/package-json.d.ts.map +0 -1
  459. package/dist/src/utils/package-json.js +0 -3
  460. package/dist/src/utils/package-json.js.map +0 -1
  461. package/dist/src/utils/path.d.ts +0 -4
  462. package/dist/src/utils/path.d.ts.map +0 -1
  463. package/dist/src/utils/path.js +0 -17
  464. package/dist/src/utils/path.js.map +0 -1
  465. package/dist/src/utils/reactor.d.ts +0 -19
  466. package/dist/src/utils/reactor.d.ts.map +0 -1
  467. package/dist/src/utils/reactor.js +0 -70
  468. package/dist/src/utils/reactor.js.map +0 -1
  469. package/dist/src/utils/registerServiceWorker.d.ts +0 -12
  470. package/dist/src/utils/registerServiceWorker.d.ts.map +0 -1
  471. package/dist/src/utils/registerServiceWorker.js +0 -97
  472. package/dist/src/utils/registerServiceWorker.js.map +0 -1
  473. package/dist/src/utils/registry-url.d.ts +0 -2
  474. package/dist/src/utils/registry-url.d.ts.map +0 -1
  475. package/dist/src/utils/registry-url.js +0 -39
  476. package/dist/src/utils/registry-url.js.map +0 -1
  477. package/dist/src/utils/slug.d.ts +0 -2
  478. package/dist/src/utils/slug.d.ts.map +0 -1
  479. package/dist/src/utils/slug.js +0 -4
  480. package/dist/src/utils/slug.js.map +0 -1
  481. package/dist/test/utils/signer.test.d.ts +0 -2
  482. package/dist/test/utils/signer.test.d.ts.map +0 -1
  483. package/dist/test/utils/signer.test.js +0 -327
  484. package/dist/test/utils/signer.test.js.map +0 -1
  485. package/dist/tsconfig.tsbuildinfo +0 -1
  486. package/dist/vite.config.d.ts +0 -3
  487. package/dist/vite.config.d.ts.map +0 -1
  488. package/dist/vite.config.js +0 -34
  489. package/dist/vite.config.js.map +0 -1
  490. package/dist/vitest.config.d.ts +0 -3
  491. package/dist/vitest.config.d.ts.map +0 -1
  492. package/dist/vitest.config.js +0 -8
  493. package/dist/vitest.config.js.map +0 -1
@@ -0,0 +1,21 @@
1
+ import { closePHModal, usePHModal } from "@powerhousedao/reactor-browser";
2
+ import "react";
3
+ import { ReadRequiredModal } from "@powerhousedao/design-system/connect";
4
+ import { useTranslation } from "react-i18next";
5
+ import { jsx } from "react/jsx-runtime";
6
+ //#region src/components/modal/modals/DisclaimerModal.tsx
7
+ const DisclaimerModal = () => {
8
+ const open = usePHModal()?.type === "disclaimer";
9
+ const { t } = useTranslation();
10
+ return /* @__PURE__ */ jsx(ReadRequiredModal, {
11
+ open,
12
+ header: t("modals.disclaimer.title"),
13
+ body: t("modals.disclaimer.body"),
14
+ closeLabel: "Close",
15
+ onContinue: () => closePHModal()
16
+ });
17
+ };
18
+ //#endregion
19
+ export { DisclaimerModal };
20
+
21
+ //# sourceMappingURL=DisclaimerModal-CCnvwoB5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisclaimerModal-CCnvwoB5.js","names":[],"sources":["../src/components/modal/modals/DisclaimerModal.tsx"],"sourcesContent":["import { ReadRequiredModal } from \"@powerhousedao/design-system/connect\";\nimport { closePHModal, usePHModal } from \"@powerhousedao/reactor-browser\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nexport const DisclaimerModal: React.FC = () => {\n const phModal = usePHModal();\n const open = phModal?.type === \"disclaimer\";\n\n const { t } = useTranslation();\n\n return (\n <ReadRequiredModal\n open={open}\n header={t(\"modals.disclaimer.title\")}\n body={t(\"modals.disclaimer.body\")}\n closeLabel=\"Close\"\n onContinue={() => closePHModal()}\n />\n );\n};\n"],"mappings":";;;;;;AAKA,MAAa,wBAAkC;CAE7C,MAAM,OADU,YAAY,EACN,SAAS;CAE/B,MAAM,EAAE,MAAM,gBAAgB;AAE9B,QACE,oBAAC,mBAAD;EACQ;EACN,QAAQ,EAAE,0BAA0B;EACpC,MAAM,EAAE,yBAAyB;EACjC,YAAW;EACX,kBAAkB,cAAc;EAChC,CAAA"}
@@ -0,0 +1,45 @@
1
+ import { closePHModal, driveCollectionId, renameDrive, setDriveAvailableOffline, setDriveSharingType, showPHModal, useDriveById, usePHModal, useSyncList } from "@powerhousedao/reactor-browser";
2
+ import { useMemo } from "react";
3
+ import { DriveSettingsModal as DriveSettingsModal$1 } from "@powerhousedao/design-system/connect";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region src/components/modal/modals/DriveSettingsModal.tsx
6
+ function DriveSettingsModal() {
7
+ const phModal = usePHModal();
8
+ const open = phModal?.type === "driveSettings";
9
+ const driveId = open ? phModal.driveId : void 0;
10
+ const [drive] = useDriveById(driveId);
11
+ const remotes = useSyncList();
12
+ const isRemoteDrive = useMemo(() => {
13
+ return remotes.some((remote) => remote.collectionId === driveCollectionId("main", drive.header.id));
14
+ }, [remotes, drive]);
15
+ if (!driveId || !drive) return null;
16
+ async function onRenameDrive(drive, newName) {
17
+ await renameDrive(drive.header.id, newName);
18
+ }
19
+ async function onChangeSharingType(drive, newSharingType) {
20
+ await setDriveSharingType(drive.header.id, newSharingType);
21
+ }
22
+ async function onChangeAvailableOffline(drive, newAvailableOffline) {
23
+ await setDriveAvailableOffline(drive.header.id, newAvailableOffline);
24
+ }
25
+ return /* @__PURE__ */ jsx(DriveSettingsModal$1, {
26
+ drive,
27
+ sharingType: isRemoteDrive ? "PUBLIC" : "LOCAL",
28
+ availableOffline: !isRemoteDrive,
29
+ open,
30
+ onRenameDrive,
31
+ onDeleteDrive: () => showPHModal({
32
+ type: "deleteDrive",
33
+ driveId
34
+ }),
35
+ onChangeAvailableOffline,
36
+ onChangeSharingType,
37
+ onOpenChange: (status) => {
38
+ if (!status) return closePHModal();
39
+ }
40
+ });
41
+ }
42
+ //#endregion
43
+ export { DriveSettingsModal };
44
+
45
+ //# sourceMappingURL=DriveSettingsModal-DxMjOsLg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DriveSettingsModal-DxMjOsLg.js","names":["ConnectDriveSettingsModal"],"sources":["../src/components/modal/modals/DriveSettingsModal.tsx"],"sourcesContent":["import { DriveSettingsModal as ConnectDriveSettingsModal } from \"@powerhousedao/design-system/connect\";\nimport {\n closePHModal,\n driveCollectionId,\n renameDrive,\n setDriveAvailableOffline,\n setDriveSharingType,\n showPHModal,\n useDriveById,\n usePHModal,\n useSyncList,\n} from \"@powerhousedao/reactor-browser\";\nimport type { DocumentDriveDocument } from \"@powerhousedao/shared/document-drive\";\nimport type { SharingType } from \"document-drive\";\nimport { useMemo } from \"react\";\n\nexport function DriveSettingsModal() {\n const phModal = usePHModal();\n const open = phModal?.type === \"driveSettings\";\n const driveId = open ? phModal.driveId : undefined;\n const [drive] = useDriveById(driveId);\n const remotes = useSyncList();\n\n const isRemoteDrive = useMemo(() => {\n return remotes.some(\n (remote) =>\n remote.collectionId === driveCollectionId(\"main\", drive.header.id),\n );\n }, [remotes, drive]);\n\n if (!driveId || !drive) {\n return null;\n }\n\n async function onRenameDrive(drive: DocumentDriveDocument, newName: string) {\n await renameDrive(drive.header.id, newName);\n }\n\n async function onChangeSharingType(\n drive: DocumentDriveDocument,\n newSharingType: SharingType,\n ) {\n await setDriveSharingType(drive.header.id, newSharingType);\n }\n\n async function onChangeAvailableOffline(\n drive: DocumentDriveDocument,\n newAvailableOffline: boolean,\n ) {\n await setDriveAvailableOffline(drive.header.id, newAvailableOffline);\n }\n\n return (\n <ConnectDriveSettingsModal\n drive={drive}\n sharingType={isRemoteDrive ? \"PUBLIC\" : \"LOCAL\"}\n availableOffline={!isRemoteDrive}\n open={open}\n onRenameDrive={onRenameDrive}\n onDeleteDrive={() => showPHModal({ type: \"deleteDrive\", driveId })}\n onChangeAvailableOffline={onChangeAvailableOffline}\n onChangeSharingType={onChangeSharingType}\n onOpenChange={(status) => {\n if (!status) return closePHModal();\n }}\n />\n );\n}\n"],"mappings":";;;;;AAgBA,SAAgB,qBAAqB;CACnC,MAAM,UAAU,YAAY;CAC5B,MAAM,OAAO,SAAS,SAAS;CAC/B,MAAM,UAAU,OAAO,QAAQ,UAAU,KAAA;CACzC,MAAM,CAAC,SAAS,aAAa,QAAQ;CACrC,MAAM,UAAU,aAAa;CAE7B,MAAM,gBAAgB,cAAc;AAClC,SAAO,QAAQ,MACZ,WACC,OAAO,iBAAiB,kBAAkB,QAAQ,MAAM,OAAO,GAAG,CACrE;IACA,CAAC,SAAS,MAAM,CAAC;AAEpB,KAAI,CAAC,WAAW,CAAC,MACf,QAAO;CAGT,eAAe,cAAc,OAA8B,SAAiB;AAC1E,QAAM,YAAY,MAAM,OAAO,IAAI,QAAQ;;CAG7C,eAAe,oBACb,OACA,gBACA;AACA,QAAM,oBAAoB,MAAM,OAAO,IAAI,eAAe;;CAG5D,eAAe,yBACb,OACA,qBACA;AACA,QAAM,yBAAyB,MAAM,OAAO,IAAI,oBAAoB;;AAGtE,QACE,oBAACA,sBAAD;EACS;EACP,aAAa,gBAAgB,WAAW;EACxC,kBAAkB,CAAC;EACb;EACS;EACf,qBAAqB,YAAY;GAAE,MAAM;GAAe;GAAS,CAAC;EACxC;EACL;EACrB,eAAe,WAAW;AACxB,OAAI,CAAC,OAAQ,QAAO,cAAc;;EAEpC,CAAA"}
@@ -0,0 +1,41 @@
1
+ import { closePHModal, exportFile, useDocumentById, usePHModal, validateDocument } from "@powerhousedao/reactor-browser";
2
+ import { ConnectConfirmationModal } from "@powerhousedao/design-system/connect";
3
+ import { useTranslation } from "react-i18next";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ //#region src/components/modal/modals/ExportDocumentWithErrorsModal.tsx
6
+ function ExportDocumentWithErrorsModal() {
7
+ const phModal = usePHModal();
8
+ const open = phModal?.type === "exportDocumentWithErrors";
9
+ const [document] = useDocumentById(open ? phModal.documentId : void 0);
10
+ const { t } = useTranslation();
11
+ if (!document) return null;
12
+ const validationErrors = validateDocument(document);
13
+ return /* @__PURE__ */ jsx(ConnectConfirmationModal, {
14
+ header: t("modals.exportDocumentWithErrors.title"),
15
+ title: t("modals.exportDocumentWithErrors.title"),
16
+ body: /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", { children: t("modals.exportDocumentWithErrors.body") }), /* @__PURE__ */ jsx("ul", {
17
+ className: "mt-4 flex list-disc flex-col items-start px-4 text-xs",
18
+ children: validationErrors.map((error, index) => /* @__PURE__ */ jsx("li", { children: error.message }, index))
19
+ })] }),
20
+ cancelLabel: t("common.cancel"),
21
+ continueLabel: t("common.export"),
22
+ onCancel: () => closePHModal(),
23
+ onContinue: async () => {
24
+ try {
25
+ await exportFile(document);
26
+ } catch (error) {
27
+ console.error(error);
28
+ } finally {
29
+ closePHModal();
30
+ }
31
+ },
32
+ open,
33
+ onOpenChange: (status) => {
34
+ if (!status) return closePHModal();
35
+ }
36
+ });
37
+ }
38
+ //#endregion
39
+ export { ExportDocumentWithErrorsModal };
40
+
41
+ //# sourceMappingURL=ExportDocumentWithErrorsModal-hgliF8Gy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExportDocumentWithErrorsModal-hgliF8Gy.js","names":[],"sources":["../src/components/modal/modals/ExportDocumentWithErrorsModal.tsx"],"sourcesContent":["import { ConnectConfirmationModal } from \"@powerhousedao/design-system/connect\";\nimport {\n closePHModal,\n exportFile,\n useDocumentById,\n usePHModal,\n validateDocument,\n} from \"@powerhousedao/reactor-browser\";\nimport { useTranslation } from \"react-i18next\";\nexport function ExportDocumentWithErrorsModal() {\n const phModal = usePHModal();\n const open = phModal?.type === \"exportDocumentWithErrors\";\n const documentId = open ? phModal.documentId : undefined;\n const [document] = useDocumentById(documentId);\n const { t } = useTranslation();\n\n if (!document) {\n return null;\n }\n\n const validationErrors = validateDocument(document);\n return (\n <ConnectConfirmationModal\n header={t(\"modals.exportDocumentWithErrors.title\")}\n title={t(\"modals.exportDocumentWithErrors.title\")}\n body={\n <div>\n <p>{t(\"modals.exportDocumentWithErrors.body\")}</p>\n <ul className=\"mt-4 flex list-disc flex-col items-start px-4 text-xs\">\n {validationErrors.map((error, index) => (\n <li key={index}>{error.message}</li>\n ))}\n </ul>\n </div>\n }\n cancelLabel={t(\"common.cancel\")}\n continueLabel={t(\"common.export\")}\n onCancel={() => closePHModal()}\n onContinue={async () => {\n try {\n await exportFile(document);\n } catch (error) {\n console.error(error);\n } finally {\n closePHModal();\n }\n }}\n open={open}\n onOpenChange={(status: boolean) => {\n if (!status) return closePHModal();\n }}\n />\n );\n}\n"],"mappings":";;;;;AASA,SAAgB,gCAAgC;CAC9C,MAAM,UAAU,YAAY;CAC5B,MAAM,OAAO,SAAS,SAAS;CAE/B,MAAM,CAAC,YAAY,gBADA,OAAO,QAAQ,aAAa,KAAA,EACD;CAC9C,MAAM,EAAE,MAAM,gBAAgB;AAE9B,KAAI,CAAC,SACH,QAAO;CAGT,MAAM,mBAAmB,iBAAiB,SAAS;AACnD,QACE,oBAAC,0BAAD;EACE,QAAQ,EAAE,wCAAwC;EAClD,OAAO,EAAE,wCAAwC;EACjD,MACE,qBAAC,OAAD,EAAA,UAAA,CACE,oBAAC,KAAD,EAAA,UAAI,EAAE,uCAAuC,EAAK,CAAA,EAClD,oBAAC,MAAD;GAAI,WAAU;aACX,iBAAiB,KAAK,OAAO,UAC5B,oBAAC,MAAD,EAAA,UAAiB,MAAM,SAAa,EAA3B,MAA2B,CACpC;GACC,CAAA,CACD,EAAA,CAAA;EAER,aAAa,EAAE,gBAAgB;EAC/B,eAAe,EAAE,gBAAgB;EACjC,gBAAgB,cAAc;EAC9B,YAAY,YAAY;AACtB,OAAI;AACF,UAAM,WAAW,SAAS;YACnB,OAAO;AACd,YAAQ,MAAM,MAAM;aACZ;AACR,kBAAc;;;EAGZ;EACN,eAAe,WAAoB;AACjC,OAAI,CAAC,OAAQ,QAAO,cAAc;;EAEpC,CAAA"}
@@ -0,0 +1,302 @@
1
+ import { DocumentIntegrityService, InMemoryQueue, REACTOR_SCHEMA, closePHModal, useConnectionStates, useDatabase, usePGlite, usePHModal, useReactorClientModule, useSync } from "@powerhousedao/reactor-browser";
2
+ import { useCallback, useMemo } from "react";
3
+ import { InspectorModal as InspectorModal$1 } from "@powerhousedao/design-system/connect";
4
+ import { jsx } from "react/jsx-runtime";
5
+ import { sql } from "kysely";
6
+ import { pgDump } from "@electric-sql/pglite-tools/pg_dump";
7
+ //#region src/components/modal/modals/InspectorModal/useDbExplorer.ts
8
+ const PRIORITY_COLUMNS = [
9
+ "documentType",
10
+ "documentId",
11
+ "scope",
12
+ "branch",
13
+ "index",
14
+ "skip"
15
+ ];
16
+ function useDbExplorer() {
17
+ const database = useDatabase();
18
+ const pglite = usePGlite();
19
+ const getTables = useCallback(async () => {
20
+ if (!database) return [];
21
+ const result = await sql`
22
+ SELECT
23
+ c.table_name,
24
+ c.column_name,
25
+ c.data_type,
26
+ c.is_nullable
27
+ FROM information_schema.columns c
28
+ INNER JOIN information_schema.tables t
29
+ ON c.table_name = t.table_name
30
+ AND c.table_schema = t.table_schema
31
+ WHERE c.table_schema = ${REACTOR_SCHEMA}
32
+ AND t.table_type = 'BASE TABLE'
33
+ ORDER BY c.table_name, c.ordinal_position
34
+ `.execute(database);
35
+ const tableMap = /* @__PURE__ */ new Map();
36
+ for (const row of result.rows) {
37
+ if (!tableMap.has(row.table_name)) tableMap.set(row.table_name, []);
38
+ tableMap.get(row.table_name).push({
39
+ name: row.column_name,
40
+ dataType: row.data_type,
41
+ isNullable: row.is_nullable === "YES"
42
+ });
43
+ }
44
+ return Array.from(tableMap).map(([name, columns]) => {
45
+ const columnNames = columns.map((col) => col.name);
46
+ return {
47
+ name,
48
+ columns: [...PRIORITY_COLUMNS.filter((col) => columnNames.includes(col)).map((col) => columns.find((c) => c.name === col)), ...columns.filter((col) => !PRIORITY_COLUMNS.includes(col.name))]
49
+ };
50
+ });
51
+ }, [database]);
52
+ const getTableRows = useCallback(async (table, options) => {
53
+ if (!database) return {
54
+ columns: [],
55
+ rows: [],
56
+ total: null
57
+ };
58
+ const limit = options.limit;
59
+ const offset = options.offset;
60
+ const sort = options.sort;
61
+ const filters = options.filters;
62
+ const tableRef = sql.raw(`${REACTOR_SCHEMA}."${table}"`);
63
+ let whereClause = sql``;
64
+ if (filters?.clauses && filters.clauses.length > 0) {
65
+ const conditions = [];
66
+ for (let i = 0; i < filters.clauses.length; i++) {
67
+ const clause = filters.clauses[i];
68
+ if (!clause) continue;
69
+ const columnRef = sql.raw(`"${clause.column}"`);
70
+ let condition;
71
+ if (clause.operator === "IS NULL") condition = sql`${columnRef} IS NULL`;
72
+ else if (clause.operator === "IS NOT NULL") condition = sql`${columnRef} IS NOT NULL`;
73
+ else if (clause.operator === "LIKE" || clause.operator === "ILIKE") {
74
+ const value = clause.value;
75
+ condition = sql`${columnRef} ${clause.operator === "LIKE" ? sql`LIKE` : sql`ILIKE`} ${value}`;
76
+ } else {
77
+ const operator = sql.raw(clause.operator);
78
+ const value = clause.value;
79
+ let parsedValue = value;
80
+ if (value !== "" && !isNaN(Number(value)) && value.trim() !== "") parsedValue = Number(value);
81
+ condition = sql`${columnRef} ${operator} ${parsedValue}`;
82
+ }
83
+ conditions.push(condition);
84
+ if (i < filters.clauses.length - 1) {
85
+ const connector = filters.connectors?.[i] ?? "AND";
86
+ conditions.push(sql.raw(connector));
87
+ }
88
+ }
89
+ if (conditions.length > 0) whereClause = sql`WHERE ${sql.join(conditions, sql` `)}`;
90
+ }
91
+ let query;
92
+ if (sort) {
93
+ const columnRef = sql.raw(`"${sort.column}"`);
94
+ const direction = sort.direction === "desc" ? sql`DESC` : sql`ASC`;
95
+ query = sql`
96
+ SELECT * FROM ${tableRef}
97
+ ${whereClause}
98
+ ORDER BY ${columnRef} ${direction}
99
+ LIMIT ${limit} OFFSET ${offset}
100
+ `;
101
+ } else query = sql`
102
+ SELECT * FROM ${tableRef}
103
+ ${whereClause}
104
+ LIMIT ${limit} OFFSET ${offset}
105
+ `;
106
+ const result = await query.execute(database);
107
+ const countResult = await sql`
108
+ SELECT COUNT(*) as count FROM ${tableRef}
109
+ ${whereClause}
110
+ `.execute(database);
111
+ const total = countResult.rows[0] ? parseInt(countResult.rows[0].count, 10) : null;
112
+ const rawColumns = result.rows.length > 0 ? Object.keys(result.rows[0]) : [];
113
+ return {
114
+ columns: [...PRIORITY_COLUMNS.filter((col) => rawColumns.includes(col)), ...rawColumns.filter((col) => !PRIORITY_COLUMNS.includes(col))],
115
+ rows: result.rows,
116
+ total
117
+ };
118
+ }, [database]);
119
+ const onExportDb = useCallback(async () => {
120
+ if (!pglite) return;
121
+ const sqlContent = await (await pgDump({ pg: pglite })).text();
122
+ const blob = new Blob([sqlContent], { type: "text/sql" });
123
+ const url = URL.createObjectURL(blob);
124
+ const a = document.createElement("a");
125
+ a.href = url;
126
+ a.download = `database-export-${Date.now()}.sql`;
127
+ a.click();
128
+ URL.revokeObjectURL(url);
129
+ }, [pglite]);
130
+ const onImportDb = useCallback(async (sqlContent) => {
131
+ if (!pglite) return;
132
+ await pglite.transaction(async (tx) => {
133
+ await tx.exec(`DROP SCHEMA ${REACTOR_SCHEMA} CASCADE`);
134
+ await tx.exec(`CREATE SCHEMA ${REACTOR_SCHEMA}`);
135
+ await tx.exec(sqlContent);
136
+ await tx.exec(`SET search_path TO ${REACTOR_SCHEMA}`);
137
+ });
138
+ }, [pglite]);
139
+ return {
140
+ getTables,
141
+ getTableRows,
142
+ getDefaultSort: useCallback((table) => {
143
+ if (table === "Operation") return {
144
+ column: "timestampUtcMs",
145
+ direction: "desc"
146
+ };
147
+ }, []),
148
+ onExportDb,
149
+ onImportDb
150
+ };
151
+ }
152
+ //#endregion
153
+ //#region src/components/modal/modals/InspectorModal/useIntegrityInspector.ts
154
+ function useIntegrityInspector() {
155
+ const reactorModule = useReactorClientModule()?.reactorModule;
156
+ const service = useMemo(() => {
157
+ if (!reactorModule) return void 0;
158
+ return new DocumentIntegrityService(reactorModule.keyframeStore, reactorModule.operationStore, reactorModule.writeCache, reactorModule.documentView, reactorModule.documentModelRegistry);
159
+ }, [reactorModule]);
160
+ const onValidate = useCallback(async (documentId, branch) => {
161
+ if (!service) throw new Error("Reactor module not available");
162
+ return service.validateDocument(documentId, branch);
163
+ }, [service]);
164
+ const onRebuildKeyframes = useCallback(async (documentId, branch) => {
165
+ if (!service) throw new Error("Reactor module not available");
166
+ return service.rebuildKeyframes(documentId, branch);
167
+ }, [service]);
168
+ const onRebuildSnapshots = useCallback(async (documentId, branch) => {
169
+ if (!service) throw new Error("Reactor module not available");
170
+ return service.rebuildSnapshots(documentId, branch);
171
+ }, [service]);
172
+ if (!service) return;
173
+ return {
174
+ onValidate,
175
+ onRebuildKeyframes,
176
+ onRebuildSnapshots
177
+ };
178
+ }
179
+ //#endregion
180
+ //#region src/components/modal/modals/InspectorModal/useProcessorsInspector.ts
181
+ function useProcessorsInspector() {
182
+ const processorManager = useReactorClientModule()?.reactorModule?.processorManager;
183
+ const hasProcessorManager = useMemo(() => processorManager != null, [processorManager]);
184
+ const getProcessors = useCallback(async () => {
185
+ if (!processorManager) return [];
186
+ return processorManager.getAll().map((tracked) => ({
187
+ processorId: tracked.processorId,
188
+ factoryId: tracked.factoryId,
189
+ driveId: tracked.driveId,
190
+ processorIndex: tracked.processorIndex,
191
+ lastOrdinal: tracked.lastOrdinal,
192
+ status: tracked.status,
193
+ lastError: tracked.lastError,
194
+ lastErrorTimestamp: tracked.lastErrorTimestamp
195
+ }));
196
+ }, [processorManager]);
197
+ const onRetry = useCallback(async (processorId) => {
198
+ if (!processorManager) return;
199
+ const tracked = processorManager.get(processorId);
200
+ if (tracked) await tracked.retry();
201
+ }, [processorManager]);
202
+ if (!hasProcessorManager) return;
203
+ return {
204
+ getProcessors,
205
+ onRetry
206
+ };
207
+ }
208
+ //#endregion
209
+ //#region src/components/modal/modals/InspectorModal/useQueueInspector.ts
210
+ function useQueueInspector() {
211
+ const queue = useReactorClientModule()?.reactorModule?.queue;
212
+ const inMemoryQueue = useMemo(() => {
213
+ if (queue instanceof InMemoryQueue) return queue;
214
+ }, [queue]);
215
+ const getQueueState = useCallback(async () => {
216
+ if (!inMemoryQueue) return {
217
+ isPaused: false,
218
+ pendingJobs: [],
219
+ executingJobs: [],
220
+ totalPending: 0,
221
+ totalExecuting: 0
222
+ };
223
+ const pendingJobs = inMemoryQueue.getPendingJobs();
224
+ const executingJobIds = inMemoryQueue.getExecutingJobIds();
225
+ const executingJobs = [];
226
+ for (const jobIdSet of executingJobIds.values()) for (const jobId of jobIdSet) {
227
+ const job = inMemoryQueue.getJob(jobId);
228
+ if (job) executingJobs.push(job);
229
+ }
230
+ return {
231
+ isPaused: inMemoryQueue.paused,
232
+ pendingJobs,
233
+ executingJobs,
234
+ totalPending: pendingJobs.length,
235
+ totalExecuting: executingJobs.length
236
+ };
237
+ }, [inMemoryQueue]);
238
+ const onPause = useCallback(async () => {
239
+ if (inMemoryQueue) inMemoryQueue.pause();
240
+ }, [inMemoryQueue]);
241
+ const onResume = useCallback(async () => {
242
+ if (inMemoryQueue) await inMemoryQueue.resume();
243
+ }, [inMemoryQueue]);
244
+ if (!inMemoryQueue) return;
245
+ return {
246
+ getQueueState,
247
+ onPause,
248
+ onResume
249
+ };
250
+ }
251
+ //#endregion
252
+ //#region src/components/modal/modals/InspectorModal/useRemotesInspector.ts
253
+ function useRemotesInspector() {
254
+ const syncManager = useSync();
255
+ if (!syncManager) throw new Error("Sync manager not found");
256
+ const connectionStates = useConnectionStates();
257
+ return {
258
+ getRemotes: useCallback(() => {
259
+ return Promise.resolve(syncManager.list());
260
+ }, [syncManager]),
261
+ removeRemote: useCallback((name) => syncManager.remove(name), [syncManager]),
262
+ connectionStates
263
+ };
264
+ }
265
+ //#endregion
266
+ //#region src/components/modal/modals/InspectorModal/InspectorModal.tsx
267
+ const DEFAULT_PAGE_SIZE = 25;
268
+ const InspectorModal = () => {
269
+ const open = usePHModal()?.type === "inspector";
270
+ const { getTables, getTableRows, getDefaultSort, onExportDb, onImportDb } = useDbExplorer();
271
+ const { getRemotes, removeRemote, connectionStates } = useRemotesInspector();
272
+ const queueInspectorProps = useQueueInspector();
273
+ const processorsInspectorProps = useProcessorsInspector();
274
+ const integrityInspectorProps = useIntegrityInspector();
275
+ return /* @__PURE__ */ jsx(InspectorModal$1, {
276
+ open,
277
+ onOpenChange: (status) => {
278
+ if (!status) closePHModal();
279
+ },
280
+ dbExplorerProps: {
281
+ schema: REACTOR_SCHEMA,
282
+ getTables,
283
+ getTableRows,
284
+ getDefaultSort,
285
+ pageSize: DEFAULT_PAGE_SIZE,
286
+ onExportDb,
287
+ onImportDb
288
+ },
289
+ remotesInspectorProps: {
290
+ getRemotes,
291
+ removeRemote,
292
+ connectionStates
293
+ },
294
+ queueInspectorProps,
295
+ processorsInspectorProps,
296
+ integrityInspectorProps
297
+ });
298
+ };
299
+ //#endregion
300
+ export { InspectorModal };
301
+
302
+ //# sourceMappingURL=InspectorModal-C4rE0Y5E.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InspectorModal-C4rE0Y5E.js","names":["ConnectInspectorModal"],"sources":["../src/components/modal/modals/InspectorModal/useDbExplorer.ts","../src/components/modal/modals/InspectorModal/useIntegrityInspector.ts","../src/components/modal/modals/InspectorModal/useProcessorsInspector.ts","../src/components/modal/modals/InspectorModal/useQueueInspector.ts","../src/components/modal/modals/InspectorModal/useRemotesInspector.ts","../src/components/modal/modals/InspectorModal/InspectorModal.tsx"],"sourcesContent":["import { pgDump } from \"@electric-sql/pglite-tools/pg_dump\";\nimport type {\n FilterGroup,\n SortOptions,\n} from \"@powerhousedao/design-system/connect\";\nimport {\n REACTOR_SCHEMA,\n useDatabase,\n usePGlite,\n} from \"@powerhousedao/reactor-browser\";\nimport { sql } from \"kysely\";\nimport { useCallback } from \"react\";\n\ntype ColumnInfo = {\n readonly name: string;\n readonly dataType: string;\n readonly isNullable: boolean;\n};\n\ntype TableInfo = {\n readonly name: string;\n readonly columns: ColumnInfo[];\n};\n\ntype ColumnRow = {\n table_name: string;\n column_name: string;\n data_type: string;\n is_nullable: string;\n};\n\ntype GetTableRowsOptions = {\n readonly schema?: string;\n readonly limit: number;\n readonly offset: number;\n readonly sort?: SortOptions;\n readonly filters?: FilterGroup;\n};\n\ntype TablePage = {\n readonly columns: string[];\n readonly rows: Record<string, unknown>[];\n readonly total: number | null;\n};\n\nconst PRIORITY_COLUMNS = [\n \"documentType\",\n \"documentId\",\n \"scope\",\n \"branch\",\n \"index\",\n \"skip\",\n] as const;\n\nexport function useDbExplorer() {\n const database = useDatabase();\n const pglite = usePGlite();\n\n const getTables = useCallback(async (): Promise<TableInfo[]> => {\n if (!database) return [];\n\n const result = await sql<ColumnRow>`\n SELECT\n c.table_name,\n c.column_name,\n c.data_type,\n c.is_nullable\n FROM information_schema.columns c\n INNER JOIN information_schema.tables t\n ON c.table_name = t.table_name\n AND c.table_schema = t.table_schema\n WHERE c.table_schema = ${REACTOR_SCHEMA}\n AND t.table_type = 'BASE TABLE'\n ORDER BY c.table_name, c.ordinal_position\n `.execute(database);\n\n const tableMap = new Map<string, ColumnInfo[]>();\n for (const row of result.rows) {\n if (!tableMap.has(row.table_name)) {\n tableMap.set(row.table_name, []);\n }\n tableMap.get(row.table_name)!.push({\n name: row.column_name,\n dataType: row.data_type,\n isNullable: row.is_nullable === \"YES\",\n });\n }\n\n return Array.from(tableMap).map(([name, columns]) => {\n const columnNames = columns.map((col) => col.name);\n const orderedColumns = [\n ...PRIORITY_COLUMNS.filter((col) => columnNames.includes(col)).map(\n (col) => columns.find((c) => c.name === col)!,\n ),\n ...columns.filter(\n (col) =>\n !PRIORITY_COLUMNS.includes(\n col.name as (typeof PRIORITY_COLUMNS)[number],\n ),\n ),\n ];\n return {\n name,\n columns: orderedColumns,\n };\n });\n }, [database]);\n\n const getTableRows = useCallback(\n async (table: string, options: GetTableRowsOptions): Promise<TablePage> => {\n if (!database) {\n return { columns: [], rows: [], total: null };\n }\n\n const limit = options.limit;\n const offset = options.offset;\n const sort = options.sort;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const filters = options.filters;\n const tableRef = sql.raw(`${REACTOR_SCHEMA}.\"${table}\"`);\n\n // Build WHERE clause from filters\n let whereClause = sql``;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (filters?.clauses && filters.clauses.length > 0) {\n const conditions: ReturnType<typeof sql>[] = [];\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n for (let i = 0; i < filters.clauses.length; i++) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment\n const clause = filters.clauses[i];\n if (!clause) continue;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const columnRef = sql.raw(`\"${clause.column}\"`);\n\n let condition: ReturnType<typeof sql>;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (clause.operator === \"IS NULL\") {\n condition = sql`${columnRef} IS NULL`;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n } else if (clause.operator === \"IS NOT NULL\") {\n condition = sql`${columnRef} IS NOT NULL`;\n } else if (\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n clause.operator === \"LIKE\" ||\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n clause.operator === \"ILIKE\"\n ) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment\n const value = clause.value;\n const operator =\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n clause.operator === \"LIKE\" ? sql`LIKE` : sql`ILIKE`;\n condition = sql`${columnRef} ${operator} ${value}`;\n } else {\n // For =, !=, >, <, >=, <=\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-argument\n const operator = sql.raw(clause.operator);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment\n const value = clause.value;\n\n // Try to parse as number if it looks like a number\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n let parsedValue: string | number = value;\n if (\n value !== \"\" &&\n !isNaN(Number(value)) &&\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access\n value.trim() !== \"\"\n ) {\n parsedValue = Number(value);\n }\n\n condition = sql`${columnRef} ${operator} ${parsedValue}`;\n }\n\n conditions.push(condition);\n\n // Add connector if not the last clause\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (i < filters.clauses.length - 1) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment\n const connector = filters.connectors?.[i] ?? \"AND\";\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n conditions.push(sql.raw(connector));\n }\n }\n\n // Combine all conditions\n if (conditions.length > 0) {\n whereClause = sql`WHERE ${sql.join(conditions, sql` `)}`;\n }\n }\n\n // Build main query\n let query;\n if (sort) {\n const columnRef = sql.raw(`\"${sort.column}\"`);\n const direction = sort.direction === \"desc\" ? sql`DESC` : sql`ASC`;\n query = sql<Record<string, unknown>>`\n SELECT * FROM ${tableRef}\n ${whereClause}\n ORDER BY ${columnRef} ${direction}\n LIMIT ${limit} OFFSET ${offset}\n `;\n } else {\n query = sql<Record<string, unknown>>`\n SELECT * FROM ${tableRef}\n ${whereClause}\n LIMIT ${limit} OFFSET ${offset}\n `;\n }\n\n const result = await query.execute(database);\n\n // Build count query with same filters\n const countQuery = sql<{ count: string }>`\n SELECT COUNT(*) as count FROM ${tableRef}\n ${whereClause}\n `;\n const countResult = await countQuery.execute(database);\n const total = countResult.rows[0]\n ? parseInt(countResult.rows[0].count, 10)\n : null;\n\n const rawColumns =\n result.rows.length > 0 ? Object.keys(result.rows[0]) : [];\n const columns = [\n ...PRIORITY_COLUMNS.filter((col) => rawColumns.includes(col)),\n ...rawColumns.filter(\n (col) =>\n !PRIORITY_COLUMNS.includes(\n col as (typeof PRIORITY_COLUMNS)[number],\n ),\n ),\n ];\n\n return {\n columns,\n rows: result.rows,\n total,\n };\n },\n [database],\n );\n\n const onExportDb = useCallback(async () => {\n if (!pglite) return;\n\n const dump = await pgDump({ pg: pglite });\n const sqlContent = await dump.text();\n\n const blob = new Blob([sqlContent], { type: \"text/sql\" });\n const url = URL.createObjectURL(blob);\n const a = document.createElement(\"a\");\n a.href = url;\n a.download = `database-export-${Date.now()}.sql`;\n a.click();\n URL.revokeObjectURL(url);\n }, [pglite]);\n\n const onImportDb = useCallback(\n async (sqlContent: string) => {\n if (!pglite) return;\n\n // Use explicit transaction to ensure writable transaction context\n await pglite.transaction(async (tx) => {\n await tx.exec(`DROP SCHEMA ${REACTOR_SCHEMA} CASCADE`);\n await tx.exec(`CREATE SCHEMA ${REACTOR_SCHEMA}`);\n await tx.exec(sqlContent);\n await tx.exec(`SET search_path TO ${REACTOR_SCHEMA}`);\n });\n },\n [pglite],\n );\n\n const getDefaultSort = useCallback(\n (table: string): SortOptions | undefined => {\n if (table === \"Operation\") {\n return { column: \"timestampUtcMs\", direction: \"desc\" };\n }\n return undefined;\n },\n [],\n );\n\n return {\n getTables,\n getTableRows,\n getDefaultSort,\n onExportDb,\n onImportDb,\n };\n}\n","import type { IntegrityInspectorProps } from \"@powerhousedao/design-system/connect\";\nimport {\n DocumentIntegrityService,\n useReactorClientModule,\n} from \"@powerhousedao/reactor-browser\";\nimport { useCallback, useMemo } from \"react\";\n\nexport function useIntegrityInspector(): IntegrityInspectorProps | undefined {\n const reactorClientModule = useReactorClientModule();\n const reactorModule = reactorClientModule?.reactorModule;\n\n const service = useMemo(() => {\n if (!reactorModule) return undefined;\n\n return new DocumentIntegrityService(\n reactorModule.keyframeStore,\n reactorModule.operationStore,\n reactorModule.writeCache,\n reactorModule.documentView,\n reactorModule.documentModelRegistry,\n );\n }, [reactorModule]);\n\n const onValidate = useCallback(\n async (documentId: string, branch?: string) => {\n if (!service) {\n throw new Error(\"Reactor module not available\");\n }\n return service.validateDocument(documentId, branch);\n },\n [service],\n );\n\n const onRebuildKeyframes = useCallback(\n async (documentId: string, branch?: string) => {\n if (!service) {\n throw new Error(\"Reactor module not available\");\n }\n return service.rebuildKeyframes(documentId, branch);\n },\n [service],\n );\n\n const onRebuildSnapshots = useCallback(\n async (documentId: string, branch?: string) => {\n if (!service) {\n throw new Error(\"Reactor module not available\");\n }\n return service.rebuildSnapshots(documentId, branch);\n },\n [service],\n );\n\n if (!service) {\n return undefined;\n }\n\n return {\n onValidate,\n onRebuildKeyframes,\n onRebuildSnapshots,\n };\n}\n","import type { ProcessorsInspectorProps } from \"@powerhousedao/design-system/connect\";\nimport { useReactorClientModule } from \"@powerhousedao/reactor-browser\";\nimport { useCallback, useMemo } from \"react\";\n\nexport function useProcessorsInspector(): ProcessorsInspectorProps | undefined {\n const reactorClientModule = useReactorClientModule();\n const processorManager = reactorClientModule?.reactorModule?.processorManager;\n\n const hasProcessorManager = useMemo(\n () => processorManager != null,\n [processorManager],\n );\n\n const getProcessors = useCallback(async () => {\n if (!processorManager) {\n return [];\n }\n\n return processorManager.getAll().map((tracked) => ({\n processorId: tracked.processorId,\n factoryId: tracked.factoryId,\n driveId: tracked.driveId,\n processorIndex: tracked.processorIndex,\n lastOrdinal: tracked.lastOrdinal,\n status: tracked.status,\n lastError: tracked.lastError,\n lastErrorTimestamp: tracked.lastErrorTimestamp,\n }));\n }, [processorManager]);\n\n const onRetry = useCallback(\n async (processorId: string) => {\n if (!processorManager) return;\n const tracked = processorManager.get(processorId);\n if (tracked) {\n await tracked.retry();\n }\n },\n [processorManager],\n );\n\n if (!hasProcessorManager) {\n return undefined;\n }\n\n return {\n getProcessors,\n onRetry,\n };\n}\n","import type {\n QueueInspectorProps,\n QueueState,\n} from \"@powerhousedao/design-system/connect\";\nimport {\n InMemoryQueue,\n useReactorClientModule,\n type Job,\n} from \"@powerhousedao/reactor-browser\";\nimport { useCallback, useMemo } from \"react\";\n\nexport function useQueueInspector(): QueueInspectorProps | undefined {\n const reactorClientModule = useReactorClientModule();\n const queue = reactorClientModule?.reactorModule?.queue;\n\n const inMemoryQueue = useMemo(() => {\n if (queue instanceof InMemoryQueue) {\n return queue;\n }\n return undefined;\n }, [queue]);\n\n const getQueueState = useCallback(async (): Promise<QueueState> => {\n if (!inMemoryQueue) {\n return {\n isPaused: false,\n pendingJobs: [],\n executingJobs: [],\n totalPending: 0,\n totalExecuting: 0,\n };\n }\n\n const pendingJobs = inMemoryQueue.getPendingJobs();\n const executingJobIds = inMemoryQueue.getExecutingJobIds();\n\n const executingJobs: Job[] = [];\n for (const jobIdSet of executingJobIds.values()) {\n for (const jobId of jobIdSet) {\n const job = inMemoryQueue.getJob(jobId);\n if (job) {\n executingJobs.push(job);\n }\n }\n }\n\n return {\n isPaused: inMemoryQueue.paused,\n pendingJobs,\n executingJobs,\n totalPending: pendingJobs.length,\n totalExecuting: executingJobs.length,\n };\n }, [inMemoryQueue]);\n\n const onPause = useCallback(async (): Promise<void> => {\n if (inMemoryQueue) {\n inMemoryQueue.pause();\n }\n }, [inMemoryQueue]);\n\n const onResume = useCallback(async (): Promise<void> => {\n if (inMemoryQueue) {\n await inMemoryQueue.resume();\n }\n }, [inMemoryQueue]);\n\n if (!inMemoryQueue) {\n return undefined;\n }\n\n return {\n getQueueState,\n onPause,\n onResume,\n };\n}\n","import type {\n ConnectionStateSnapshot,\n Remote,\n} from \"@powerhousedao/reactor-browser\";\nimport { useConnectionStates, useSync } from \"@powerhousedao/reactor-browser\";\nimport { useCallback } from \"react\";\n\nexport function useRemotesInspector(): {\n getRemotes: () => Promise<Remote[]>;\n removeRemote: (name: string) => Promise<void>;\n connectionStates: ReadonlyMap<string, ConnectionStateSnapshot>;\n} {\n const syncManager = useSync();\n if (!syncManager) {\n throw new Error(\"Sync manager not found\");\n }\n\n const connectionStates = useConnectionStates();\n\n const getRemotes = useCallback(() => {\n return Promise.resolve(syncManager.list());\n }, [syncManager]);\n\n const removeRemote = useCallback(\n (name: string) => syncManager.remove(name),\n [syncManager],\n );\n\n return {\n getRemotes,\n removeRemote,\n connectionStates,\n };\n}\n","import { InspectorModal as ConnectInspectorModal } from \"@powerhousedao/design-system/connect\";\nimport { REACTOR_SCHEMA } from \"@powerhousedao/reactor-browser\";\nimport { closePHModal, usePHModal } from \"@powerhousedao/reactor-browser\";\nimport { useDbExplorer } from \"./useDbExplorer.js\";\nimport { useIntegrityInspector } from \"./useIntegrityInspector.js\";\nimport { useProcessorsInspector } from \"./useProcessorsInspector.js\";\nimport { useQueueInspector } from \"./useQueueInspector.js\";\nimport { useRemotesInspector } from \"./useRemotesInspector.js\";\n\nconst DEFAULT_PAGE_SIZE = 25;\n\nexport const InspectorModal: React.FC = () => {\n const phModal = usePHModal();\n const open = phModal?.type === \"inspector\";\n\n const { getTables, getTableRows, getDefaultSort, onExportDb, onImportDb } =\n useDbExplorer();\n const { getRemotes, removeRemote, connectionStates } = useRemotesInspector();\n const queueInspectorProps = useQueueInspector();\n const processorsInspectorProps = useProcessorsInspector();\n const integrityInspectorProps = useIntegrityInspector();\n\n return (\n <ConnectInspectorModal\n open={open}\n onOpenChange={(status) => {\n if (!status) closePHModal();\n }}\n dbExplorerProps={{\n schema: REACTOR_SCHEMA,\n getTables,\n getTableRows,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n getDefaultSort,\n pageSize: DEFAULT_PAGE_SIZE,\n onExportDb,\n onImportDb,\n }}\n remotesInspectorProps={{\n getRemotes,\n removeRemote,\n connectionStates,\n }}\n queueInspectorProps={queueInspectorProps}\n processorsInspectorProps={processorsInspectorProps}\n integrityInspectorProps={integrityInspectorProps}\n />\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { t as useRegistryPackages } from "./useRegistryPackages-Ctlhv061.js";
2
+ import { closePHModal, usePHModal, useVetraPackageManager } from "@powerhousedao/reactor-browser";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { MissingPackageModal } from "@powerhousedao/design-system/connect/index";
5
+ //#region src/components/modal/modals/MissingPackageModal.tsx
6
+ function ConnectMissingPackageModal() {
7
+ const phModal = usePHModal();
8
+ const { registryPackageList, updateRegistryPackageStatus } = useRegistryPackages();
9
+ const packageManager = useVetraPackageManager();
10
+ const open = phModal?.type === "missingPackage";
11
+ const documentType = open ? phModal.documentType : void 0;
12
+ if (!packageManager || !documentType) return null;
13
+ async function onInstall(packageName) {
14
+ if ((await packageManager?.addPackage(packageName))?.type === "success") updateRegistryPackageStatus(packageName, "registry-install");
15
+ }
16
+ function onDismiss(packageName) {
17
+ updateRegistryPackageStatus(packageName, "dismissed");
18
+ }
19
+ return /* @__PURE__ */ jsx(MissingPackageModal, {
20
+ documentType,
21
+ requiredPackages: registryPackageList.filter((rp) => rp.documentTypes.includes(documentType)),
22
+ open,
23
+ onInstall,
24
+ onDismiss,
25
+ onOpenChange: (status) => {
26
+ if (!status) return closePHModal();
27
+ }
28
+ });
29
+ }
30
+ //#endregion
31
+ export { ConnectMissingPackageModal };
32
+
33
+ //# sourceMappingURL=MissingPackageModal-BOeTH4V6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MissingPackageModal-BOeTH4V6.js","names":[],"sources":["../src/components/modal/modals/MissingPackageModal.tsx"],"sourcesContent":["import { useRegistryPackages } from \"@powerhousedao/connect/hooks\";\nimport { MissingPackageModal } from \"@powerhousedao/design-system/connect/index\";\nimport {\n closePHModal,\n usePHModal,\n useVetraPackageManager,\n} from \"@powerhousedao/reactor-browser\";\n\nexport function ConnectMissingPackageModal() {\n const phModal = usePHModal();\n const { registryPackageList, updateRegistryPackageStatus } =\n useRegistryPackages();\n const packageManager = useVetraPackageManager();\n const open = phModal?.type === \"missingPackage\";\n\n const documentType = open ? phModal.documentType : undefined;\n\n if (!packageManager || !documentType) return null;\n\n async function onInstall(packageName: string) {\n const result = await packageManager?.addPackage(packageName);\n if (result?.type === \"success\") {\n updateRegistryPackageStatus(packageName, \"registry-install\");\n }\n }\n\n function onDismiss(packageName: string) {\n updateRegistryPackageStatus(packageName, \"dismissed\");\n }\n\n const requiredPackages = registryPackageList.filter((rp) =>\n rp.documentTypes.includes(documentType),\n );\n\n return (\n <MissingPackageModal\n documentType={documentType}\n requiredPackages={requiredPackages}\n open={open}\n onInstall={onInstall}\n onDismiss={onDismiss}\n onOpenChange={(status: boolean) => {\n if (!status) return closePHModal();\n }}\n />\n );\n}\n"],"mappings":";;;;;AAQA,SAAgB,6BAA6B;CAC3C,MAAM,UAAU,YAAY;CAC5B,MAAM,EAAE,qBAAqB,gCAC3B,qBAAqB;CACvB,MAAM,iBAAiB,wBAAwB;CAC/C,MAAM,OAAO,SAAS,SAAS;CAE/B,MAAM,eAAe,OAAO,QAAQ,eAAe,KAAA;AAEnD,KAAI,CAAC,kBAAkB,CAAC,aAAc,QAAO;CAE7C,eAAe,UAAU,aAAqB;AAE5C,OADe,MAAM,gBAAgB,WAAW,YAAY,GAChD,SAAS,UACnB,6BAA4B,aAAa,mBAAmB;;CAIhE,SAAS,UAAU,aAAqB;AACtC,8BAA4B,aAAa,YAAY;;AAOvD,QACE,oBAAC,qBAAD;EACgB;EACd,kBAPqB,oBAAoB,QAAQ,OACnD,GAAG,cAAc,SAAS,aAAa,CACxC;EAMS;EACK;EACA;EACX,eAAe,WAAoB;AACjC,OAAI,CAAC,OAAQ,QAAO,cAAc;;EAEpC,CAAA"}