@powerhousedao/connect 6.0.0-dev.20 → 6.0.0-dev.201

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 (569) hide show
  1. package/.env +1 -1
  2. package/dist/AddDriveModal-CBbXwG8S.js +89 -0
  3. package/dist/AddDriveModal-CBbXwG8S.js.map +1 -0
  4. package/dist/ClearStorageModal-DwiCY6Lt.js +44 -0
  5. package/dist/ClearStorageModal-DwiCY6Lt.js.map +1 -0
  6. package/dist/CookiesPolicyModal-CTXUu4-8.js +30 -0
  7. package/dist/CookiesPolicyModal-CTXUu4-8.js.map +1 -0
  8. package/dist/CreateDocumentModal-CAld-5pv.js +28 -0
  9. package/dist/CreateDocumentModal-CAld-5pv.js.map +1 -0
  10. package/dist/DebugSettingsModal-DeZ-x8H3.js +139 -0
  11. package/dist/DebugSettingsModal-DeZ-x8H3.js.map +1 -0
  12. package/dist/DeleteDriveModal-B7T2CVIX.js +40 -0
  13. package/dist/DeleteDriveModal-B7T2CVIX.js.map +1 -0
  14. package/dist/DeleteItemModal-DJv71YQG.js +39 -0
  15. package/dist/DeleteItemModal-DJv71YQG.js.map +1 -0
  16. package/dist/DisclaimerModal-Co13N7HH.js +21 -0
  17. package/dist/DisclaimerModal-Co13N7HH.js.map +1 -0
  18. package/dist/DriveSettingsModal-BVnVLbtl.js +45 -0
  19. package/dist/DriveSettingsModal-BVnVLbtl.js.map +1 -0
  20. package/dist/ExportDocumentWithErrorsModal-DOV_UVlM.js +41 -0
  21. package/dist/ExportDocumentWithErrorsModal-DOV_UVlM.js.map +1 -0
  22. package/dist/InspectorModal-NoO3f3U7.js +366 -0
  23. package/dist/InspectorModal-NoO3f3U7.js.map +1 -0
  24. package/dist/MissingPackageModal-Df154H9n.js +34 -0
  25. package/dist/MissingPackageModal-Df154H9n.js.map +1 -0
  26. package/dist/SettingsModal-GY9xBmv5.js +191 -0
  27. package/dist/SettingsModal-GY9xBmv5.js.map +1 -0
  28. package/dist/UpgradeDriveModal-BH4ecdCU.js +31 -0
  29. package/dist/UpgradeDriveModal-BH4ecdCU.js.map +1 -0
  30. package/dist/connect.config-Cuh0hj_Q.js +139 -0
  31. package/dist/connect.config-Cuh0hj_Q.js.map +1 -0
  32. package/dist/i18n-Ch408v5-.js +125 -0
  33. package/dist/i18n-Ch408v5-.js.map +1 -0
  34. package/dist/load-Ca9NdAuR.js +109 -0
  35. package/dist/load-Ca9NdAuR.js.map +1 -0
  36. package/dist/main.d.ts +1 -0
  37. package/dist/main.js +9 -0
  38. package/dist/main.js.map +1 -0
  39. package/dist/package-pGOQdXJY.js +114 -0
  40. package/dist/package-pGOQdXJY.js.map +1 -0
  41. package/dist/pglite-runtime-BS9wpAs9.js +132 -0
  42. package/dist/pglite-runtime-BS9wpAs9.js.map +1 -0
  43. package/dist/pglite-seed-VlhY0n-A.js +46 -0
  44. package/dist/pglite-seed-VlhY0n-A.js.map +1 -0
  45. package/dist/pglite.worker.d.ts +1 -0
  46. package/dist/pglite.worker.js +15 -0
  47. package/dist/pglite.worker.js.map +1 -0
  48. package/dist/pglite.worker.legacy.d.ts +1 -0
  49. package/dist/pglite.worker.legacy.js +15 -0
  50. package/dist/pglite.worker.legacy.js.map +1 -0
  51. package/dist/reactor-D1P2nU-G.js +783 -0
  52. package/dist/reactor-D1P2nU-G.js.map +1 -0
  53. package/dist/registerServiceWorker-1maoTQNT.js +76 -0
  54. package/dist/registerServiceWorker-1maoTQNT.js.map +1 -0
  55. package/dist/sidebar-DE4w6Ju_.js +1566 -0
  56. package/dist/sidebar-DE4w6Ju_.js.map +1 -0
  57. package/dist/start-connect.d.ts +13 -0
  58. package/dist/start-connect.d.ts.map +1 -0
  59. package/dist/start-connect.js +16 -0
  60. package/dist/start-connect.js.map +1 -0
  61. package/{lib → dist}/style.css +2171 -331
  62. package/dist/toast-DnODOv28.js +20 -0
  63. package/dist/toast-DnODOv28.js.map +1 -0
  64. package/dist/useRegistryPackages-BOX4NMAb.js +125 -0
  65. package/dist/useRegistryPackages-BOX4NMAb.js.map +1 -0
  66. package/package.json +58 -122
  67. package/public/ph-packages.json +3 -0
  68. package/dist/assets/AddDriveModal-s8uOR7mm.js +0 -1
  69. package/dist/assets/ClearStorageModal-BcoVy6Pt.js +0 -1
  70. package/dist/assets/CookiesPolicyModal-DOUIosI-.js +0 -1
  71. package/dist/assets/CreateDocumentModal-DevgjIU5.js +0 -1
  72. package/dist/assets/DebugSettingsModal-BzhC1zrq.js +0 -1
  73. package/dist/assets/DeleteDriveModal-QrQnkEj4.js +0 -1
  74. package/dist/assets/DeleteItemModal-BGw392wU.js +0 -1
  75. package/dist/assets/DisclaimerModal-C5duNvLF.js +0 -1
  76. package/dist/assets/DriveSettingsModal-ZHSh_ViE.js +0 -1
  77. package/dist/assets/ExportDocumentWithErrorsModal-BL58RR7F.js +0 -1
  78. package/dist/assets/SettingsModal-Dy_yROuv.js +0 -1
  79. package/dist/assets/UpgradeDriveModal-aQslfh0U.js +0 -1
  80. package/dist/assets/_virtual_ph_external-packages-CM1tCR4L.js +0 -1
  81. package/dist/assets/config-CU-aFfVJ.js +0 -1
  82. package/dist/assets/connect-loader-CvOC68Ih.mp4 +0 -0
  83. package/dist/assets/design_system-BIHlsGcH.js +0 -45
  84. package/dist/assets/design_system_connect-Dc5OKmBJ.js +0 -47
  85. package/dist/assets/design_system_ui-Carq_HsS.js +0 -1
  86. package/dist/assets/document_drive-Bubv8iix.js +0 -316
  87. package/dist/assets/document_engineering-DRA8rOX8.js +0 -1
  88. package/dist/assets/document_model-_oCbt5YE.js +0 -230
  89. package/dist/assets/document_model_editor-ATBlIXzw.js +0 -25
  90. package/dist/assets/drive_explorer-x2gagyEV.js +0 -2
  91. package/dist/assets/graphql-AKTCpY7l.js +0 -75
  92. package/dist/assets/graphql-editor-DtyWfKdE.js +0 -73
  93. package/dist/assets/graphql_request-BJtmW2JS.js +0 -3
  94. package/dist/assets/hmr-LMNkvzP7.js +0 -1
  95. package/dist/assets/home-bg-BEhF9NuW.png +0 -0
  96. package/dist/assets/home-bg-BRYzhkhi.avif +0 -0
  97. package/dist/assets/hooks-EeqT2_ED.js +0 -12
  98. package/dist/assets/index-BVCav_kS.js +0 -18
  99. package/dist/assets/index-DYdiZMfn.css +0 -1
  100. package/dist/assets/index-OvcaHHv7.js +0 -28
  101. package/dist/assets/json-editor-B7lvv1g_.js +0 -1
  102. package/dist/assets/nodefs--BZjh6uM.js +0 -1
  103. package/dist/assets/opfs-ahp-C2AuYcpm.js +0 -3
  104. package/dist/assets/pg_dump-CW0pN9tG.wasm +0 -0
  105. package/dist/assets/postgres-CkP7QCDB.data +0 -0
  106. package/dist/assets/postgres-CyuUVpXN.wasm +0 -0
  107. package/dist/assets/powerhouse-rounded-CeKGGUG4.png +0 -0
  108. package/dist/assets/react/jsx-runtime-DldvXD6N.js +0 -1
  109. package/dist/assets/react-DQSxOgtG.js +0 -1
  110. package/dist/assets/react-dom/client-BVPiT_FE.js +0 -9
  111. package/dist/assets/react-dom-D6zQJsh6.js +0 -1
  112. package/dist/assets/reactor_browser-4hqtLkFi.js +0 -129
  113. package/dist/assets/renown-short-hover-BiSLBV7L.png +0 -0
  114. package/dist/assets/rwa-report-Bb0W5-ac.png +0 -0
  115. package/dist/assets/sentry_browser-B4YoBIIG.js +0 -498
  116. package/dist/assets/sentry_react-cODD7zWc.js +0 -3
  117. package/dist/assets/state-schemas-BfQDUAdI.js +0 -2
  118. package/dist/assets/tailwind_merge-Dr4f9Rms.js +0 -1
  119. package/dist/assets/zod-9j67vCAu.js +0 -39
  120. package/dist/icon.ico +0 -0
  121. package/dist/index.html +0 -51
  122. package/dist/robots.txt +0 -3
  123. package/dist/settings.png +0 -0
  124. package/heroku/Dockerfile +0 -101
  125. package/heroku/Procfile +0 -1
  126. package/heroku/config/nginx.conf.template +0 -77
  127. package/heroku/heroku-entrypoint.sh +0 -38
  128. package/lib/cypress/e2e/navigation.cy.d.ts +0 -2
  129. package/lib/cypress/e2e/navigation.cy.d.ts.map +0 -1
  130. package/lib/cypress/e2e/navigation.cy.js +0 -221
  131. package/lib/cypress/e2e/navigation.cy.js.map +0 -1
  132. package/lib/cypress/e2e/utils/index.d.ts +0 -15
  133. package/lib/cypress/e2e/utils/index.d.ts.map +0 -1
  134. package/lib/cypress/e2e/utils/index.js +0 -121
  135. package/lib/cypress/e2e/utils/index.js.map +0 -1
  136. package/lib/cypress/support/commands.d.ts +0 -2
  137. package/lib/cypress/support/commands.d.ts.map +0 -1
  138. package/lib/cypress/support/commands.js +0 -29
  139. package/lib/cypress/support/commands.js.map +0 -1
  140. package/lib/cypress/support/e2e.d.ts +0 -2
  141. package/lib/cypress/support/e2e.d.ts.map +0 -1
  142. package/lib/cypress/support/e2e.js +0 -19
  143. package/lib/cypress/support/e2e.js.map +0 -1
  144. package/lib/cypress.config.d.ts +0 -3
  145. package/lib/cypress.config.d.ts.map +0 -1
  146. package/lib/cypress.config.js +0 -15
  147. package/lib/cypress.config.js.map +0 -1
  148. package/lib/package.copy.json +0 -177
  149. package/lib/scripts/render-skeleton.d.ts +0 -2
  150. package/lib/scripts/render-skeleton.d.ts.map +0 -1
  151. package/lib/scripts/render-skeleton.js +0 -11
  152. package/lib/scripts/render-skeleton.js.map +0 -1
  153. package/lib/src/components/analytics.d.ts +0 -8
  154. package/lib/src/components/analytics.d.ts.map +0 -1
  155. package/lib/src/components/analytics.js +0 -30
  156. package/lib/src/components/analytics.js.map +0 -1
  157. package/lib/src/components/app-loader.d.ts +0 -3
  158. package/lib/src/components/app-loader.d.ts.map +0 -1
  159. package/lib/src/components/app-loader.js +0 -20
  160. package/lib/src/components/app-loader.js.map +0 -1
  161. package/lib/src/components/app-skeleton.d.ts +0 -3
  162. package/lib/src/components/app-skeleton.d.ts.map +0 -1
  163. package/lib/src/components/app-skeleton.js +0 -38
  164. package/lib/src/components/app-skeleton.js.map +0 -1
  165. package/lib/src/components/app.d.ts +0 -2
  166. package/lib/src/components/app.d.ts.map +0 -1
  167. package/lib/src/components/app.js +0 -29
  168. package/lib/src/components/app.js.map +0 -1
  169. package/lib/src/components/button.d.ts +0 -3
  170. package/lib/src/components/button.d.ts.map +0 -1
  171. package/lib/src/components/button.js +0 -7
  172. package/lib/src/components/button.js.map +0 -1
  173. package/lib/src/components/cookie-banner.d.ts +0 -2
  174. package/lib/src/components/cookie-banner.d.ts.map +0 -1
  175. package/lib/src/components/cookie-banner.js +0 -48
  176. package/lib/src/components/cookie-banner.js.map +0 -1
  177. package/lib/src/components/document-editor-container.d.ts +0 -2
  178. package/lib/src/components/document-editor-container.d.ts.map +0 -1
  179. package/lib/src/components/document-editor-container.js +0 -65
  180. package/lib/src/components/document-editor-container.js.map +0 -1
  181. package/lib/src/components/dots-loader.d.ts +0 -2
  182. package/lib/src/components/dots-loader.d.ts.map +0 -1
  183. package/lib/src/components/dots-loader.js +0 -15
  184. package/lib/src/components/dots-loader.js.map +0 -1
  185. package/lib/src/components/drive-editor-container.d.ts +0 -2
  186. package/lib/src/components/drive-editor-container.d.ts.map +0 -1
  187. package/lib/src/components/drive-editor-container.js +0 -22
  188. package/lib/src/components/drive-editor-container.js.map +0 -1
  189. package/lib/src/components/drive-icon.d.ts +0 -5
  190. package/lib/src/components/drive-icon.d.ts.map +0 -1
  191. package/lib/src/components/drive-icon.js +0 -15
  192. package/lib/src/components/drive-icon.js.map +0 -1
  193. package/lib/src/components/editor-loader.d.ts +0 -9
  194. package/lib/src/components/editor-loader.d.ts.map +0 -1
  195. package/lib/src/components/editor-loader.js +0 -19
  196. package/lib/src/components/editor-loader.js.map +0 -1
  197. package/lib/src/components/editors.d.ts +0 -10
  198. package/lib/src/components/editors.d.ts.map +0 -1
  199. package/lib/src/components/editors.js +0 -87
  200. package/lib/src/components/editors.js.map +0 -1
  201. package/lib/src/components/error-boundary.d.ts +0 -103
  202. package/lib/src/components/error-boundary.d.ts.map +0 -1
  203. package/lib/src/components/error-boundary.js +0 -104
  204. package/lib/src/components/error-boundary.js.map +0 -1
  205. package/lib/src/components/footer.d.ts +0 -2
  206. package/lib/src/components/footer.d.ts.map +0 -1
  207. package/lib/src/components/footer.js +0 -16
  208. package/lib/src/components/footer.js.map +0 -1
  209. package/lib/src/components/index.d.ts +0 -22
  210. package/lib/src/components/index.d.ts.map +0 -1
  211. package/lib/src/components/index.js +0 -22
  212. package/lib/src/components/index.js.map +0 -1
  213. package/lib/src/components/login.d.ts +0 -2
  214. package/lib/src/components/login.d.ts.map +0 -1
  215. package/lib/src/components/login.js +0 -12
  216. package/lib/src/components/login.js.map +0 -1
  217. package/lib/src/components/modal/index.d.ts +0 -18
  218. package/lib/src/components/modal/index.d.ts.map +0 -1
  219. package/lib/src/components/modal/index.js +0 -18
  220. package/lib/src/components/modal/index.js.map +0 -1
  221. package/lib/src/components/modal/modals/AddDriveModal.d.ts +0 -2
  222. package/lib/src/components/modal/modals/AddDriveModal.d.ts.map +0 -1
  223. package/lib/src/components/modal/modals/AddDriveModal.js +0 -121
  224. package/lib/src/components/modal/modals/AddDriveModal.js.map +0 -1
  225. package/lib/src/components/modal/modals/ClearStorageModal.d.ts +0 -2
  226. package/lib/src/components/modal/modals/ClearStorageModal.d.ts.map +0 -1
  227. package/lib/src/components/modal/modals/ClearStorageModal.js +0 -35
  228. package/lib/src/components/modal/modals/ClearStorageModal.js.map +0 -1
  229. package/lib/src/components/modal/modals/CookiesPolicyModal.d.ts +0 -2
  230. package/lib/src/components/modal/modals/CookiesPolicyModal.d.ts.map +0 -1
  231. package/lib/src/components/modal/modals/CookiesPolicyModal.js +0 -16
  232. package/lib/src/components/modal/modals/CookiesPolicyModal.js.map +0 -1
  233. package/lib/src/components/modal/modals/CreateDocumentModal.d.ts +0 -2
  234. package/lib/src/components/modal/modals/CreateDocumentModal.d.ts.map +0 -1
  235. package/lib/src/components/modal/modals/CreateDocumentModal.js +0 -24
  236. package/lib/src/components/modal/modals/CreateDocumentModal.js.map +0 -1
  237. package/lib/src/components/modal/modals/DebugSettingsModal.d.ts +0 -2
  238. package/lib/src/components/modal/modals/DebugSettingsModal.d.ts.map +0 -1
  239. package/lib/src/components/modal/modals/DebugSettingsModal.js +0 -108
  240. package/lib/src/components/modal/modals/DebugSettingsModal.js.map +0 -1
  241. package/lib/src/components/modal/modals/DeleteDriveModal.d.ts +0 -2
  242. package/lib/src/components/modal/modals/DeleteDriveModal.d.ts.map +0 -1
  243. package/lib/src/components/modal/modals/DeleteDriveModal.js +0 -32
  244. package/lib/src/components/modal/modals/DeleteDriveModal.js.map +0 -1
  245. package/lib/src/components/modal/modals/DeleteItemModal.d.ts +0 -3
  246. package/lib/src/components/modal/modals/DeleteItemModal.d.ts.map +0 -1
  247. package/lib/src/components/modal/modals/DeleteItemModal.js +0 -33
  248. package/lib/src/components/modal/modals/DeleteItemModal.js.map +0 -1
  249. package/lib/src/components/modal/modals/DisclaimerModal.d.ts +0 -3
  250. package/lib/src/components/modal/modals/DisclaimerModal.d.ts.map +0 -1
  251. package/lib/src/components/modal/modals/DisclaimerModal.js +0 -12
  252. package/lib/src/components/modal/modals/DisclaimerModal.js.map +0 -1
  253. package/lib/src/components/modal/modals/DriveSettingsModal.d.ts +0 -2
  254. package/lib/src/components/modal/modals/DriveSettingsModal.d.ts.map +0 -1
  255. package/lib/src/components/modal/modals/DriveSettingsModal.js +0 -28
  256. package/lib/src/components/modal/modals/DriveSettingsModal.js.map +0 -1
  257. package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.d.ts +0 -2
  258. package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.d.ts.map +0 -1
  259. package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.js +0 -30
  260. package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.js.map +0 -1
  261. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.d.ts +0 -2
  262. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.d.ts.map +0 -1
  263. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.js +0 -29
  264. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.js.map +0 -1
  265. package/lib/src/components/modal/modals/InspectorModal/index.d.ts +0 -2
  266. package/lib/src/components/modal/modals/InspectorModal/index.d.ts.map +0 -1
  267. package/lib/src/components/modal/modals/InspectorModal/index.js +0 -2
  268. package/lib/src/components/modal/modals/InspectorModal/index.js.map +0 -1
  269. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.d.ts +0 -31
  270. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.d.ts.map +0 -1
  271. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.js +0 -211
  272. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.js.map +0 -1
  273. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.d.ts +0 -4
  274. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.d.ts.map +0 -1
  275. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.js +0 -12
  276. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.js.map +0 -1
  277. package/lib/src/components/modal/modals/SettingsModal.d.ts +0 -3
  278. package/lib/src/components/modal/modals/SettingsModal.d.ts.map +0 -1
  279. package/lib/src/components/modal/modals/SettingsModal.js +0 -45
  280. package/lib/src/components/modal/modals/SettingsModal.js.map +0 -1
  281. package/lib/src/components/modal/modals/UpgradeDriveModal.d.ts +0 -3
  282. package/lib/src/components/modal/modals/UpgradeDriveModal.d.ts.map +0 -1
  283. package/lib/src/components/modal/modals/UpgradeDriveModal.js +0 -21
  284. package/lib/src/components/modal/modals/UpgradeDriveModal.js.map +0 -1
  285. package/lib/src/components/modal/modals/settings/about.d.ts +0 -2
  286. package/lib/src/components/modal/modals/settings/about.d.ts.map +0 -1
  287. package/lib/src/components/modal/modals/settings/about.js +0 -10
  288. package/lib/src/components/modal/modals/settings/about.js.map +0 -1
  289. package/lib/src/components/modal/modals/settings/danger-zone.d.ts +0 -2
  290. package/lib/src/components/modal/modals/settings/danger-zone.d.ts.map +0 -1
  291. package/lib/src/components/modal/modals/settings/danger-zone.js +0 -15
  292. package/lib/src/components/modal/modals/settings/danger-zone.js.map +0 -1
  293. package/lib/src/components/modal/modals/settings/default-editor.d.ts +0 -2
  294. package/lib/src/components/modal/modals/settings/default-editor.d.ts.map +0 -1
  295. package/lib/src/components/modal/modals/settings/default-editor.js +0 -18
  296. package/lib/src/components/modal/modals/settings/default-editor.js.map +0 -1
  297. package/lib/src/components/modal/modals/settings/package-manager.d.ts +0 -3
  298. package/lib/src/components/modal/modals/settings/package-manager.d.ts.map +0 -1
  299. package/lib/src/components/modal/modals/settings/package-manager.js +0 -87
  300. package/lib/src/components/modal/modals/settings/package-manager.js.map +0 -1
  301. package/lib/src/components/modal/modals-container.d.ts +0 -2
  302. package/lib/src/components/modal/modals-container.d.ts.map +0 -1
  303. package/lib/src/components/modal/modals-container.js +0 -66
  304. package/lib/src/components/modal/modals-container.js.map +0 -1
  305. package/lib/src/components/ph-logo.d.ts +0 -2
  306. package/lib/src/components/ph-logo.d.ts.map +0 -1
  307. package/lib/src/components/ph-logo.js +0 -7
  308. package/lib/src/components/ph-logo.js.map +0 -1
  309. package/lib/src/components/reload-connect-toast.d.ts +0 -2
  310. package/lib/src/components/reload-connect-toast.d.ts.map +0 -1
  311. package/lib/src/components/reload-connect-toast.js +0 -7
  312. package/lib/src/components/reload-connect-toast.js.map +0 -1
  313. package/lib/src/components/root.d.ts +0 -2
  314. package/lib/src/components/root.d.ts.map +0 -1
  315. package/lib/src/components/root.js +0 -8
  316. package/lib/src/components/root.js.map +0 -1
  317. package/lib/src/components/router.d.ts +0 -2
  318. package/lib/src/components/router.d.ts.map +0 -1
  319. package/lib/src/components/router.js +0 -41
  320. package/lib/src/components/router.js.map +0 -1
  321. package/lib/src/components/search-bar.d.ts +0 -2
  322. package/lib/src/components/search-bar.d.ts.map +0 -1
  323. package/lib/src/components/search-bar.js +0 -36
  324. package/lib/src/components/search-bar.js.map +0 -1
  325. package/lib/src/components/sidebar.d.ts +0 -2
  326. package/lib/src/components/sidebar.d.ts.map +0 -1
  327. package/lib/src/components/sidebar.js +0 -28
  328. package/lib/src/components/sidebar.js.map +0 -1
  329. package/lib/src/connect.config.d.ts +0 -115
  330. package/lib/src/connect.config.d.ts.map +0 -1
  331. package/lib/src/connect.config.js +0 -148
  332. package/lib/src/connect.config.js.map +0 -1
  333. package/lib/src/context/index.d.ts +0 -4
  334. package/lib/src/context/index.d.ts.map +0 -1
  335. package/lib/src/context/index.js +0 -4
  336. package/lib/src/context/index.js.map +0 -1
  337. package/lib/src/context/processor-manager.d.ts +0 -3
  338. package/lib/src/context/processor-manager.d.ts.map +0 -1
  339. package/lib/src/context/processor-manager.js +0 -189
  340. package/lib/src/context/processor-manager.js.map +0 -1
  341. package/lib/src/context/read-mode.d.ts +0 -2
  342. package/lib/src/context/read-mode.d.ts.map +0 -1
  343. package/lib/src/context/read-mode.js +0 -219
  344. package/lib/src/context/read-mode.js.map +0 -1
  345. package/lib/src/context/sentry-provider.d.ts +0 -6
  346. package/lib/src/context/sentry-provider.d.ts.map +0 -1
  347. package/lib/src/context/sentry-provider.js +0 -6
  348. package/lib/src/context/sentry-provider.js.map +0 -1
  349. package/lib/src/feature-flags.d.ts +0 -53
  350. package/lib/src/feature-flags.d.ts.map +0 -1
  351. package/lib/src/feature-flags.js +0 -186
  352. package/lib/src/feature-flags.js.map +0 -1
  353. package/lib/src/globals.d.ts +0 -9
  354. package/lib/src/globals.d.ts.map +0 -1
  355. package/lib/src/globals.js +0 -2
  356. package/lib/src/globals.js.map +0 -1
  357. package/lib/src/hmr.d.ts +0 -3
  358. package/lib/src/hmr.d.ts.map +0 -1
  359. package/lib/src/hmr.js +0 -2
  360. package/lib/src/hmr.js.map +0 -1
  361. package/lib/src/hooks/index.d.ts +0 -10
  362. package/lib/src/hooks/index.d.ts.map +0 -1
  363. package/lib/src/hooks/index.js +0 -10
  364. package/lib/src/hooks/index.js.map +0 -1
  365. package/lib/src/hooks/useAcceptedCookies.d.ts +0 -9
  366. package/lib/src/hooks/useAcceptedCookies.d.ts.map +0 -1
  367. package/lib/src/hooks/useAcceptedCookies.js +0 -34
  368. package/lib/src/hooks/useAcceptedCookies.js.map +0 -1
  369. package/lib/src/hooks/useCheckLatestVersion.d.ts +0 -2
  370. package/lib/src/hooks/useCheckLatestVersion.d.ts.map +0 -1
  371. package/lib/src/hooks/useCheckLatestVersion.js +0 -33
  372. package/lib/src/hooks/useCheckLatestVersion.js.map +0 -1
  373. package/lib/src/hooks/useClientErrorHandler.d.ts +0 -6
  374. package/lib/src/hooks/useClientErrorHandler.d.ts.map +0 -1
  375. package/lib/src/hooks/useClientErrorHandler.js +0 -131
  376. package/lib/src/hooks/useClientErrorHandler.js.map +0 -1
  377. package/lib/src/hooks/useCookieBanner.d.ts +0 -5
  378. package/lib/src/hooks/useCookieBanner.d.ts.map +0 -1
  379. package/lib/src/hooks/useCookieBanner.js +0 -32
  380. package/lib/src/hooks/useCookieBanner.js.map +0 -1
  381. package/lib/src/hooks/useInitSentry.d.ts +0 -2
  382. package/lib/src/hooks/useInitSentry.d.ts.map +0 -1
  383. package/lib/src/hooks/useInitSentry.js +0 -80
  384. package/lib/src/hooks/useInitSentry.js.map +0 -1
  385. package/lib/src/hooks/useNodeActions.d.ts +0 -6
  386. package/lib/src/hooks/useNodeActions.d.ts.map +0 -1
  387. package/lib/src/hooks/useNodeActions.js +0 -35
  388. package/lib/src/hooks/useNodeActions.js.map +0 -1
  389. package/lib/src/hooks/useUndoRedoShortcuts.d.ts +0 -8
  390. package/lib/src/hooks/useUndoRedoShortcuts.d.ts.map +0 -1
  391. package/lib/src/hooks/useUndoRedoShortcuts.js +0 -26
  392. package/lib/src/hooks/useUndoRedoShortcuts.js.map +0 -1
  393. package/lib/src/hooks/useWindowSize.d.ts +0 -5
  394. package/lib/src/hooks/useWindowSize.d.ts.map +0 -1
  395. package/lib/src/hooks/useWindowSize.js +0 -21
  396. package/lib/src/hooks/useWindowSize.js.map +0 -1
  397. package/lib/src/hooks/utils.d.ts +0 -7
  398. package/lib/src/hooks/utils.d.ts.map +0 -1
  399. package/lib/src/hooks/utils.js +0 -46
  400. package/lib/src/hooks/utils.js.map +0 -1
  401. package/lib/src/i18n/index.d.ts +0 -4
  402. package/lib/src/i18n/index.d.ts.map +0 -1
  403. package/lib/src/i18n/index.js +0 -26
  404. package/lib/src/i18n/index.js.map +0 -1
  405. package/lib/src/i18n/locales/en.json +0 -114
  406. package/lib/src/index.d.ts +0 -2
  407. package/lib/src/index.d.ts.map +0 -1
  408. package/lib/src/index.js +0 -2
  409. package/lib/src/index.js.map +0 -1
  410. package/lib/src/main.d.ts +0 -2
  411. package/lib/src/main.d.ts.map +0 -1
  412. package/lib/src/main.js +0 -5
  413. package/lib/src/main.js.map +0 -1
  414. package/lib/src/pages/content.d.ts +0 -2
  415. package/lib/src/pages/content.d.ts.map +0 -1
  416. package/lib/src/pages/content.js +0 -39
  417. package/lib/src/pages/content.js.map +0 -1
  418. package/lib/src/pages/demo/atlas-import.d.ts +0 -2
  419. package/lib/src/pages/demo/atlas-import.d.ts.map +0 -1
  420. package/lib/src/pages/demo/atlas-import.js +0 -122
  421. package/lib/src/pages/demo/atlas-import.js.map +0 -1
  422. package/lib/src/pages/index.d.ts +0 -4
  423. package/lib/src/pages/index.d.ts.map +0 -1
  424. package/lib/src/pages/index.js +0 -4
  425. package/lib/src/pages/index.js.map +0 -1
  426. package/lib/src/pages/settings.d.ts +0 -4
  427. package/lib/src/pages/settings.d.ts.map +0 -1
  428. package/lib/src/pages/settings.js +0 -9
  429. package/lib/src/pages/settings.js.map +0 -1
  430. package/lib/src/service-worker.d.ts +0 -2
  431. package/lib/src/service-worker.d.ts.map +0 -1
  432. package/lib/src/service-worker.js +0 -58
  433. package/lib/src/service-worker.js.map +0 -1
  434. package/lib/src/services/hmr.d.ts +0 -13
  435. package/lib/src/services/hmr.d.ts.map +0 -1
  436. package/lib/src/services/hmr.js +0 -85
  437. package/lib/src/services/hmr.js.map +0 -1
  438. package/lib/src/services/index.d.ts +0 -10
  439. package/lib/src/services/index.d.ts.map +0 -1
  440. package/lib/src/services/index.js +0 -9
  441. package/lib/src/services/index.js.map +0 -1
  442. package/lib/src/services/logger.d.ts +0 -2
  443. package/lib/src/services/logger.d.ts.map +0 -1
  444. package/lib/src/services/logger.js +0 -28
  445. package/lib/src/services/logger.js.map +0 -1
  446. package/lib/src/services/renown/browser.d.ts +0 -2
  447. package/lib/src/services/renown/browser.d.ts.map +0 -1
  448. package/lib/src/services/renown/browser.js +0 -6
  449. package/lib/src/services/renown/browser.js.map +0 -1
  450. package/lib/src/services/renown/constants.d.ts +0 -130
  451. package/lib/src/services/renown/constants.d.ts.map +0 -1
  452. package/lib/src/services/renown/constants.js +0 -41
  453. package/lib/src/services/renown/constants.js.map +0 -1
  454. package/lib/src/services/renown/utils.d.ts +0 -7
  455. package/lib/src/services/renown/utils.d.ts.map +0 -1
  456. package/lib/src/services/renown/utils.js +0 -20
  457. package/lib/src/services/renown/utils.js.map +0 -1
  458. package/lib/src/services/storage/base-storage.d.ts +0 -9
  459. package/lib/src/services/storage/base-storage.d.ts.map +0 -1
  460. package/lib/src/services/storage/base-storage.js +0 -21
  461. package/lib/src/services/storage/base-storage.js.map +0 -1
  462. package/lib/src/services/storage/browser.d.ts +0 -5
  463. package/lib/src/services/storage/browser.d.ts.map +0 -1
  464. package/lib/src/services/storage/browser.js +0 -25
  465. package/lib/src/services/storage/browser.js.map +0 -1
  466. package/lib/src/services/storage/types.d.ts +0 -6
  467. package/lib/src/services/storage/types.d.ts.map +0 -1
  468. package/lib/src/services/storage/types.js +0 -2
  469. package/lib/src/services/storage/types.js.map +0 -1
  470. package/lib/src/services/toast.d.ts +0 -8
  471. package/lib/src/services/toast.d.ts.map +0 -1
  472. package/lib/src/services/toast.js +0 -11
  473. package/lib/src/services/toast.js.map +0 -1
  474. package/lib/src/store/document-model.d.ts +0 -3
  475. package/lib/src/store/document-model.d.ts.map +0 -1
  476. package/lib/src/store/document-model.js +0 -80
  477. package/lib/src/store/document-model.js.map +0 -1
  478. package/lib/src/store/editor.d.ts +0 -5
  479. package/lib/src/store/editor.d.ts.map +0 -1
  480. package/lib/src/store/editor.js +0 -31
  481. package/lib/src/store/editor.js.map +0 -1
  482. package/lib/src/store/external-packages.d.ts +0 -4
  483. package/lib/src/store/external-packages.d.ts.map +0 -1
  484. package/lib/src/store/external-packages.js +0 -36
  485. package/lib/src/store/external-packages.js.map +0 -1
  486. package/lib/src/store/index.d.ts +0 -7
  487. package/lib/src/store/index.d.ts.map +0 -1
  488. package/lib/src/store/index.js +0 -7
  489. package/lib/src/store/index.js.map +0 -1
  490. package/lib/src/store/reactor.d.ts +0 -3
  491. package/lib/src/store/reactor.d.ts.map +0 -1
  492. package/lib/src/store/reactor.js +0 -272
  493. package/lib/src/store/reactor.js.map +0 -1
  494. package/lib/src/store/user.d.ts +0 -2
  495. package/lib/src/store/user.d.ts.map +0 -1
  496. package/lib/src/store/user.js +0 -16
  497. package/lib/src/store/user.js.map +0 -1
  498. package/lib/src/store/utils.d.ts +0 -2
  499. package/lib/src/store/utils.d.ts.map +0 -1
  500. package/lib/src/store/utils.js +0 -59
  501. package/lib/src/store/utils.js.map +0 -1
  502. package/lib/src/utils/browser.d.ts +0 -2
  503. package/lib/src/utils/browser.d.ts.map +0 -1
  504. package/lib/src/utils/browser.js +0 -9
  505. package/lib/src/utils/browser.js.map +0 -1
  506. package/lib/src/utils/document-editor-debug-tools.d.ts +0 -17
  507. package/lib/src/utils/document-editor-debug-tools.d.ts.map +0 -1
  508. package/lib/src/utils/document-editor-debug-tools.js +0 -55
  509. package/lib/src/utils/document-editor-debug-tools.js.map +0 -1
  510. package/lib/src/utils/drive-preservation.d.ts +0 -19
  511. package/lib/src/utils/drive-preservation.d.ts.map +0 -1
  512. package/lib/src/utils/drive-preservation.js +0 -51
  513. package/lib/src/utils/drive-preservation.js.map +0 -1
  514. package/lib/src/utils/drive-sections.d.ts +0 -31
  515. package/lib/src/utils/drive-sections.d.ts.map +0 -1
  516. package/lib/src/utils/drive-sections.js +0 -63
  517. package/lib/src/utils/drive-sections.js.map +0 -1
  518. package/lib/src/utils/index.d.ts +0 -12
  519. package/lib/src/utils/index.d.ts.map +0 -1
  520. package/lib/src/utils/index.js +0 -12
  521. package/lib/src/utils/index.js.map +0 -1
  522. package/lib/src/utils/join.d.ts +0 -2
  523. package/lib/src/utils/join.d.ts.map +0 -1
  524. package/lib/src/utils/join.js +0 -11
  525. package/lib/src/utils/join.js.map +0 -1
  526. package/lib/src/utils/openUrl.d.ts +0 -2
  527. package/lib/src/utils/openUrl.d.ts.map +0 -1
  528. package/lib/src/utils/openUrl.js +0 -3
  529. package/lib/src/utils/openUrl.js.map +0 -1
  530. package/lib/src/utils/path.d.ts +0 -4
  531. package/lib/src/utils/path.d.ts.map +0 -1
  532. package/lib/src/utils/path.js +0 -17
  533. package/lib/src/utils/path.js.map +0 -1
  534. package/lib/src/utils/reactor.d.ts +0 -26
  535. package/lib/src/utils/reactor.d.ts.map +0 -1
  536. package/lib/src/utils/reactor.js +0 -115
  537. package/lib/src/utils/reactor.js.map +0 -1
  538. package/lib/src/utils/registerServiceWorker.d.ts +0 -12
  539. package/lib/src/utils/registerServiceWorker.d.ts.map +0 -1
  540. package/lib/src/utils/registerServiceWorker.js +0 -97
  541. package/lib/src/utils/registerServiceWorker.js.map +0 -1
  542. package/lib/src/utils/signature.d.ts +0 -4
  543. package/lib/src/utils/signature.d.ts.map +0 -1
  544. package/lib/src/utils/signature.js +0 -36
  545. package/lib/src/utils/signature.js.map +0 -1
  546. package/lib/src/utils/slug.d.ts +0 -2
  547. package/lib/src/utils/slug.d.ts.map +0 -1
  548. package/lib/src/utils/slug.js +0 -4
  549. package/lib/src/utils/slug.js.map +0 -1
  550. package/lib/src/workers/pglite-worker.d.ts +0 -2
  551. package/lib/src/workers/pglite-worker.d.ts.map +0 -1
  552. package/lib/src/workers/pglite-worker.js +0 -32
  553. package/lib/src/workers/pglite-worker.js.map +0 -1
  554. package/lib/test/utils/signer.test.d.ts +0 -2
  555. package/lib/test/utils/signer.test.d.ts.map +0 -1
  556. package/lib/test/utils/signer.test.js +0 -330
  557. package/lib/test/utils/signer.test.js.map +0 -1
  558. package/lib/tsconfig.tsbuildinfo +0 -1
  559. package/lib/vite.config.d.ts +0 -3
  560. package/lib/vite.config.d.ts.map +0 -1
  561. package/lib/vite.config.js +0 -59
  562. package/lib/vite.config.js.map +0 -1
  563. package/lib/vitest.config.d.ts +0 -3
  564. package/lib/vitest.config.d.ts.map +0 -1
  565. package/lib/vitest.config.js +0 -8
  566. package/lib/vitest.config.js.map +0 -1
  567. package/nginx.conf +0 -77
  568. package/package.copy.json +0 -177
  569. package/src/index.css +0 -5
@@ -0,0 +1,366 @@
1
+ import { c as subscribeReactorPgMajor, o as loadPgDump, r as getCachedReactorPgMajor, s as resolvePgMajorForRuntime } from "./pglite-runtime-BS9wpAs9.js";
2
+ import { t as PENDING_PG_SEED_KEY } from "./pglite-seed-VlhY0n-A.js";
3
+ import { t as clearReactorStorage } from "./reactor-D1P2nU-G.js";
4
+ import { DocumentIntegrityService, InMemoryQueue, REACTOR_SCHEMA, closePHModal, useConnectionStates, useDatabase, usePGlite, usePHModal, useReactorClientModule, useSync } from "@powerhousedao/reactor-browser";
5
+ import { useCallback, useMemo, useSyncExternalStore } from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ import { InspectorModal as InspectorModal$1 } from "@powerhousedao/design-system/connect";
8
+ import { sql } from "kysely";
9
+ //#region src/components/modal/modals/InspectorModal/useDbExplorer.ts
10
+ async function quiesceQueue(queue) {
11
+ await new Promise((resolve) => queue.block(() => resolve()));
12
+ }
13
+ async function syncPgliteToIdb(pglite) {
14
+ await new Promise((resolve, reject) => {
15
+ pglite.Module.FS.syncfs(false, (err) => err ? reject(err) : resolve());
16
+ });
17
+ }
18
+ const PRIORITY_COLUMNS = [
19
+ "documentType",
20
+ "documentId",
21
+ "scope",
22
+ "branch",
23
+ "index",
24
+ "skip"
25
+ ];
26
+ function useDbExplorer() {
27
+ const database = useDatabase();
28
+ const pglite = usePGlite();
29
+ const reactorClientModule = useReactorClientModule();
30
+ const reactor = reactorClientModule?.reactorModule?.reactor;
31
+ const queue = reactorClientModule?.reactorModule?.queue;
32
+ const getTables = useCallback(async () => {
33
+ if (!database) return [];
34
+ const result = await sql`
35
+ SELECT
36
+ c.table_name,
37
+ c.column_name,
38
+ c.data_type,
39
+ c.is_nullable
40
+ FROM information_schema.columns c
41
+ INNER JOIN information_schema.tables t
42
+ ON c.table_name = t.table_name
43
+ AND c.table_schema = t.table_schema
44
+ WHERE c.table_schema = ${REACTOR_SCHEMA}
45
+ AND t.table_type = 'BASE TABLE'
46
+ ORDER BY c.table_name, c.ordinal_position
47
+ `.execute(database);
48
+ const tableMap = /* @__PURE__ */ new Map();
49
+ for (const row of result.rows) {
50
+ if (!tableMap.has(row.table_name)) tableMap.set(row.table_name, []);
51
+ tableMap.get(row.table_name).push({
52
+ name: row.column_name,
53
+ dataType: row.data_type,
54
+ isNullable: row.is_nullable === "YES"
55
+ });
56
+ }
57
+ return Array.from(tableMap).map(([name, columns]) => {
58
+ const columnNames = columns.map((col) => col.name);
59
+ return {
60
+ name,
61
+ columns: [...PRIORITY_COLUMNS.filter((col) => columnNames.includes(col)).map((col) => columns.find((c) => c.name === col)), ...columns.filter((col) => !PRIORITY_COLUMNS.includes(col.name))]
62
+ };
63
+ });
64
+ }, [database]);
65
+ const getTableRows = useCallback(async (table, options) => {
66
+ if (!database) return {
67
+ columns: [],
68
+ rows: [],
69
+ total: null
70
+ };
71
+ const limit = options.limit;
72
+ const offset = options.offset;
73
+ const sort = options.sort;
74
+ const filters = options.filters;
75
+ const tableRef = sql.raw(`${REACTOR_SCHEMA}."${table}"`);
76
+ let whereClause = sql``;
77
+ if (filters?.clauses && filters.clauses.length > 0) {
78
+ const conditions = [];
79
+ for (let i = 0; i < filters.clauses.length; i++) {
80
+ const clause = filters.clauses[i];
81
+ if (!clause) continue;
82
+ const columnRef = sql.raw(`"${clause.column}"`);
83
+ let condition;
84
+ if (clause.operator === "IS NULL") condition = sql`${columnRef} IS NULL`;
85
+ else if (clause.operator === "IS NOT NULL") condition = sql`${columnRef} IS NOT NULL`;
86
+ else if (clause.operator === "LIKE" || clause.operator === "ILIKE") {
87
+ const value = clause.value;
88
+ condition = sql`${columnRef} ${clause.operator === "LIKE" ? sql`LIKE` : sql`ILIKE`} ${value}`;
89
+ } else {
90
+ const operator = sql.raw(clause.operator);
91
+ const value = clause.value;
92
+ let parsedValue = value;
93
+ if (value !== "" && !isNaN(Number(value)) && value.trim() !== "") parsedValue = Number(value);
94
+ condition = sql`${columnRef} ${operator} ${parsedValue}`;
95
+ }
96
+ conditions.push(condition);
97
+ if (i < filters.clauses.length - 1) {
98
+ const connector = filters.connectors?.[i] ?? "AND";
99
+ conditions.push(sql.raw(connector));
100
+ }
101
+ }
102
+ if (conditions.length > 0) whereClause = sql`WHERE ${sql.join(conditions, sql` `)}`;
103
+ }
104
+ let query;
105
+ if (sort) {
106
+ const columnRef = sql.raw(`"${sort.column}"`);
107
+ const direction = sort.direction === "desc" ? sql`DESC` : sql`ASC`;
108
+ query = sql`
109
+ SELECT * FROM ${tableRef}
110
+ ${whereClause}
111
+ ORDER BY ${columnRef} ${direction}
112
+ LIMIT ${limit} OFFSET ${offset}
113
+ `;
114
+ } else query = sql`
115
+ SELECT * FROM ${tableRef}
116
+ ${whereClause}
117
+ LIMIT ${limit} OFFSET ${offset}
118
+ `;
119
+ const result = await query.execute(database);
120
+ const countResult = await sql`
121
+ SELECT COUNT(*) as count FROM ${tableRef}
122
+ ${whereClause}
123
+ `.execute(database);
124
+ const total = countResult.rows[0] ? parseInt(countResult.rows[0].count, 10) : null;
125
+ const rawColumns = result.rows.length > 0 ? Object.keys(result.rows[0]) : [];
126
+ return {
127
+ columns: [...PRIORITY_COLUMNS.filter((col) => rawColumns.includes(col)), ...rawColumns.filter((col) => !PRIORITY_COLUMNS.includes(col))],
128
+ rows: result.rows,
129
+ total
130
+ };
131
+ }, [database]);
132
+ const onExportDb = useCallback(async () => {
133
+ if (!pglite) return;
134
+ if (queue) await quiesceQueue(queue);
135
+ try {
136
+ const sqlContent = await (await (await loadPgDump(resolvePgMajorForRuntime(getCachedReactorPgMajor() ?? null)))({ pg: pglite })).text();
137
+ const blob = new Blob([sqlContent], { type: "text/sql" });
138
+ const url = URL.createObjectURL(blob);
139
+ const a = document.createElement("a");
140
+ a.href = url;
141
+ a.download = `database-export-${Date.now()}.sql`;
142
+ a.click();
143
+ URL.revokeObjectURL(url);
144
+ } finally {
145
+ queue?.unblock();
146
+ }
147
+ }, [pglite, queue]);
148
+ const onImportDb = useCallback(async (sqlContent) => {
149
+ if (!pglite) return;
150
+ if (queue) await quiesceQueue(queue);
151
+ if (reactor) await reactor.kill().completed;
152
+ await pglite.transaction(async (tx) => {
153
+ const schemas = await tx.query(`SELECT nspname FROM pg_namespace
154
+ WHERE nspname NOT IN ('pg_catalog', 'pg_toast', 'information_schema', 'public')
155
+ AND nspname NOT LIKE 'pg_temp_%'
156
+ AND nspname NOT LIKE 'pg_toast_temp_%'`);
157
+ for (const { nspname } of schemas.rows) await tx.exec(`DROP SCHEMA IF EXISTS "${nspname}" CASCADE`);
158
+ try {
159
+ await tx.exec("SET standard_conforming_strings = off;");
160
+ } catch {}
161
+ await tx.exec(sqlContent);
162
+ await tx.exec(`SET search_path TO ${REACTOR_SCHEMA}`);
163
+ });
164
+ await syncPgliteToIdb(pglite);
165
+ window.location.reload();
166
+ await new Promise(() => {});
167
+ }, [
168
+ pglite,
169
+ queue,
170
+ reactor
171
+ ]);
172
+ return {
173
+ getTables,
174
+ getTableRows,
175
+ getDefaultSort: useCallback((table) => {
176
+ if (table === "Operation") return {
177
+ column: "timestampUtcMs",
178
+ direction: "desc"
179
+ };
180
+ }, []),
181
+ onExportDb,
182
+ onImportDb
183
+ };
184
+ }
185
+ //#endregion
186
+ //#region src/components/modal/modals/InspectorModal/useDebugInspector.ts
187
+ const SUPPORTED_PG_VERSIONS = [16, 17];
188
+ function useDebugInspector() {
189
+ const currentPgVersion = useSyncExternalStore(subscribeReactorPgMajor, getCachedReactorPgMajor, () => void 0);
190
+ const onResetToPgVersion = useCallback(async (major) => {
191
+ console.info(`[debug-inspector] Reset requested: PG${major}`);
192
+ try {
193
+ localStorage.setItem(PENDING_PG_SEED_KEY, String(major));
194
+ console.info(`[debug-inspector] Clearing reactor storage...`);
195
+ await clearReactorStorage();
196
+ console.info(`[debug-inspector] Storage cleared. Reloading...`);
197
+ window.location.reload();
198
+ } catch (err) {
199
+ console.error("[debug-inspector] Reset failed:", err);
200
+ localStorage.removeItem(PENDING_PG_SEED_KEY);
201
+ throw err;
202
+ }
203
+ }, []);
204
+ return {
205
+ supportedPgVersions: SUPPORTED_PG_VERSIONS,
206
+ currentPgVersion: currentPgVersion ?? null,
207
+ onResetToPgVersion
208
+ };
209
+ }
210
+ //#endregion
211
+ //#region src/components/modal/modals/InspectorModal/useIntegrityInspector.ts
212
+ function useIntegrityInspector() {
213
+ const reactorModule = useReactorClientModule()?.reactorModule;
214
+ const service = useMemo(() => {
215
+ if (!reactorModule) return void 0;
216
+ return new DocumentIntegrityService(reactorModule.keyframeStore, reactorModule.operationStore, reactorModule.writeCache, reactorModule.documentView, reactorModule.documentModelRegistry);
217
+ }, [reactorModule]);
218
+ const onValidate = useCallback(async (documentId, branch) => {
219
+ if (!service) throw new Error("Reactor module not available");
220
+ return service.validateDocument(documentId, branch);
221
+ }, [service]);
222
+ const onRebuildKeyframes = useCallback(async (documentId, branch) => {
223
+ if (!service) throw new Error("Reactor module not available");
224
+ return service.rebuildKeyframes(documentId, branch);
225
+ }, [service]);
226
+ const onRebuildSnapshots = useCallback(async (documentId, branch) => {
227
+ if (!service) throw new Error("Reactor module not available");
228
+ return service.rebuildSnapshots(documentId, branch);
229
+ }, [service]);
230
+ if (!service) return;
231
+ return {
232
+ onValidate,
233
+ onRebuildKeyframes,
234
+ onRebuildSnapshots
235
+ };
236
+ }
237
+ //#endregion
238
+ //#region src/components/modal/modals/InspectorModal/useProcessorsInspector.ts
239
+ function useProcessorsInspector() {
240
+ const processorManager = useReactorClientModule()?.reactorModule?.processorManager;
241
+ const hasProcessorManager = useMemo(() => processorManager != null, [processorManager]);
242
+ const getProcessors = useCallback(async () => {
243
+ if (!processorManager) return [];
244
+ return processorManager.getAll().map((tracked) => ({
245
+ processorId: tracked.processorId,
246
+ factoryId: tracked.factoryId,
247
+ driveId: tracked.driveId,
248
+ processorIndex: tracked.processorIndex,
249
+ lastOrdinal: tracked.lastOrdinal,
250
+ status: tracked.status,
251
+ lastError: tracked.lastError,
252
+ lastErrorTimestamp: tracked.lastErrorTimestamp
253
+ }));
254
+ }, [processorManager]);
255
+ const onRetry = useCallback(async (processorId) => {
256
+ if (!processorManager) return;
257
+ const tracked = processorManager.get(processorId);
258
+ if (tracked) await tracked.retry();
259
+ }, [processorManager]);
260
+ if (!hasProcessorManager) return;
261
+ return {
262
+ getProcessors,
263
+ onRetry
264
+ };
265
+ }
266
+ //#endregion
267
+ //#region src/components/modal/modals/InspectorModal/useQueueInspector.ts
268
+ function useQueueInspector() {
269
+ const queue = useReactorClientModule()?.reactorModule?.queue;
270
+ const inMemoryQueue = useMemo(() => {
271
+ if (queue instanceof InMemoryQueue) return queue;
272
+ }, [queue]);
273
+ const getQueueState = useCallback(async () => {
274
+ if (!inMemoryQueue) return {
275
+ isPaused: false,
276
+ pendingJobs: [],
277
+ executingJobs: [],
278
+ totalPending: 0,
279
+ totalExecuting: 0
280
+ };
281
+ const pendingJobs = inMemoryQueue.getPendingJobs();
282
+ const executingJobIds = inMemoryQueue.getExecutingJobIds();
283
+ const executingJobs = [];
284
+ for (const jobIdSet of executingJobIds.values()) for (const jobId of jobIdSet) {
285
+ const job = inMemoryQueue.getJob(jobId);
286
+ if (job) executingJobs.push(job);
287
+ }
288
+ return {
289
+ isPaused: inMemoryQueue.paused,
290
+ pendingJobs,
291
+ executingJobs,
292
+ totalPending: pendingJobs.length,
293
+ totalExecuting: executingJobs.length
294
+ };
295
+ }, [inMemoryQueue]);
296
+ const onPause = useCallback(async () => {
297
+ if (inMemoryQueue) inMemoryQueue.pause();
298
+ }, [inMemoryQueue]);
299
+ const onResume = useCallback(async () => {
300
+ if (inMemoryQueue) await inMemoryQueue.resume();
301
+ }, [inMemoryQueue]);
302
+ if (!inMemoryQueue) return;
303
+ return {
304
+ getQueueState,
305
+ onPause,
306
+ onResume
307
+ };
308
+ }
309
+ //#endregion
310
+ //#region src/components/modal/modals/InspectorModal/useRemotesInspector.ts
311
+ function useRemotesInspector() {
312
+ const syncManager = useSync();
313
+ if (!syncManager) throw new Error("Sync manager not found");
314
+ const connectionStates = useConnectionStates();
315
+ return {
316
+ getRemotes: useCallback(() => {
317
+ return Promise.resolve(syncManager.list());
318
+ }, [syncManager]),
319
+ removeRemote: useCallback((name) => syncManager.remove(name), [syncManager]),
320
+ connectionStates
321
+ };
322
+ }
323
+ //#endregion
324
+ //#region src/components/modal/modals/InspectorModal/InspectorModal.tsx
325
+ const DEFAULT_PAGE_SIZE = 25;
326
+ const InspectorModal = () => {
327
+ const open = usePHModal()?.type === "inspector";
328
+ const { getTables, getTableRows, getDefaultSort, onExportDb, onImportDb } = useDbExplorer();
329
+ const { getRemotes, removeRemote, connectionStates } = useRemotesInspector();
330
+ const queueInspectorProps = useQueueInspector();
331
+ const processorsInspectorProps = useProcessorsInspector();
332
+ const integrityInspectorProps = useIntegrityInspector();
333
+ const { currentPgVersion, supportedPgVersions, onResetToPgVersion } = useDebugInspector();
334
+ return /* @__PURE__ */ jsx(InspectorModal$1, {
335
+ open,
336
+ onOpenChange: (status) => {
337
+ if (!status) closePHModal();
338
+ },
339
+ dbExplorerProps: {
340
+ schema: REACTOR_SCHEMA,
341
+ getTables,
342
+ getTableRows,
343
+ getDefaultSort,
344
+ pageSize: DEFAULT_PAGE_SIZE,
345
+ onExportDb,
346
+ onImportDb,
347
+ pgVersionControl: {
348
+ currentPgVersion,
349
+ supportedPgVersions,
350
+ onResetToPgVersion
351
+ }
352
+ },
353
+ remotesInspectorProps: {
354
+ getRemotes,
355
+ removeRemote,
356
+ connectionStates
357
+ },
358
+ queueInspectorProps,
359
+ processorsInspectorProps,
360
+ integrityInspectorProps
361
+ });
362
+ };
363
+ //#endregion
364
+ export { InspectorModal };
365
+
366
+ //# sourceMappingURL=InspectorModal-NoO3f3U7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InspectorModal-NoO3f3U7.js","names":["ConnectInspectorModal"],"sources":["../src/components/modal/modals/InspectorModal/useDbExplorer.ts","../src/components/modal/modals/InspectorModal/useDebugInspector.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 {\n getCachedReactorPgMajor,\n loadPgDump,\n resolvePgMajorForRuntime,\n} from \"@powerhousedao/connect/utils\";\nimport type {\n FilterGroup,\n SortOptions,\n} from \"@powerhousedao/design-system/connect\";\nimport {\n REACTOR_SCHEMA,\n useDatabase,\n usePGlite,\n useReactorClientModule,\n type IQueue,\n} from \"@powerhousedao/reactor-browser\";\nimport { sql } from \"kysely\";\nimport { useCallback } from \"react\";\n\nasync function quiesceQueue(queue: IQueue): Promise<void> {\n await new Promise<void>((resolve) => queue.block(() => resolve()));\n}\n\n// The reactor runs with `relaxedDurability: true`, which makes PGlite's\n// `syncToFs()` fire the IDBFS→IndexedDB write and return without awaiting\n// Emscripten's syncfs callback. `close()` also doesn't flush. Calling\n// `FS.syncfs(false, cb)` directly gives us a callback that fires from the\n// IDBFS transaction's `oncomplete` — i.e. after IDB has actually committed.\nasync function syncPgliteToIdb(pglite: {\n readonly Module: {\n readonly FS: {\n syncfs(populate: boolean, cb: (err: Error | null) => void): void;\n };\n };\n}): Promise<void> {\n await new Promise<void>((resolve, reject) => {\n pglite.Module.FS.syncfs(false, (err) => (err ? reject(err) : resolve()));\n });\n}\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 const reactorClientModule = useReactorClientModule();\n const reactor = reactorClientModule?.reactorModule?.reactor;\n const queue = reactorClientModule?.reactorModule?.queue;\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 if (queue) await quiesceQueue(queue);\n\n try {\n const major = resolvePgMajorForRuntime(getCachedReactorPgMajor() ?? null);\n const pgDump = await loadPgDump(major);\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 } finally {\n queue?.unblock();\n }\n }, [pglite, queue]);\n\n const onImportDb = useCallback(\n async (sqlContent: string) => {\n if (!pglite) return;\n\n if (queue) await quiesceQueue(queue);\n\n if (reactor) {\n const status = reactor.kill();\n await status.completed;\n }\n\n // Drop every user-created schema before restoring. Processors may own\n // schemas beyond `reactor`, so dropping only that one leaves orphans\n // whose tables collide with whatever the dump recreates. The dump\n // itself emits `CREATE SCHEMA ...;` statements, so we don't pre-create.\n // `standard_conforming_strings=off` matches pg_dump's escape-string\n // literals so doubled backslashes in JSONB collapse correctly.\n await pglite.transaction(async (tx) => {\n const schemas = await tx.query<{ nspname: string }>(\n `SELECT nspname FROM pg_namespace\n WHERE nspname NOT IN ('pg_catalog', 'pg_toast', 'information_schema', 'public')\n AND nspname NOT LIKE 'pg_temp_%'\n AND nspname NOT LIKE 'pg_toast_temp_%'`,\n );\n for (const { nspname } of schemas.rows) {\n await tx.exec(`DROP SCHEMA IF EXISTS \"${nspname}\" CASCADE`);\n }\n try {\n await tx.exec(\"SET standard_conforming_strings = off;\");\n } catch {\n // PG17 still accepts this but log if it ever fails.\n }\n await tx.exec(sqlContent);\n await tx.exec(`SET search_path TO ${REACTOR_SCHEMA}`);\n });\n\n // Flush IDBFS → IndexedDB synchronously. PGlite's own syncToFs is\n // fire-and-forget under relaxedDurability, and close() doesn't run\n // a final sync, so we drive Emscripten's syncfs directly — its\n // callback fires from the IDB transaction's oncomplete, guaranteeing\n // the writes have committed before we reload.\n await syncPgliteToIdb(pglite);\n\n window.location.reload();\n // reload() is asynchronous; without blocking here the DBExplorer caller\n // would continue and call loadTables() against an in-flight shutdown.\n await new Promise(() => {});\n },\n [pglite, queue, reactor],\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 { clearReactorStorage } from \"@powerhousedao/connect/store\";\nimport {\n getCachedReactorPgMajor,\n PENDING_PG_SEED_KEY,\n subscribeReactorPgMajor,\n} from \"@powerhousedao/connect/utils\";\nimport { useCallback, useSyncExternalStore } from \"react\";\n\nconst SUPPORTED_PG_VERSIONS = [16, 17] as const;\n\nexport function useDebugInspector() {\n const currentPgVersion = useSyncExternalStore(\n subscribeReactorPgMajor,\n getCachedReactorPgMajor,\n () => undefined,\n );\n\n const onResetToPgVersion = useCallback(async (major: number) => {\n console.info(`[debug-inspector] Reset requested: PG${major}`);\n try {\n localStorage.setItem(PENDING_PG_SEED_KEY, String(major));\n console.info(`[debug-inspector] Clearing reactor storage...`);\n await clearReactorStorage();\n console.info(`[debug-inspector] Storage cleared. Reloading...`);\n window.location.reload();\n } catch (err) {\n console.error(\"[debug-inspector] Reset failed:\", err);\n localStorage.removeItem(PENDING_PG_SEED_KEY);\n throw err;\n }\n }, []);\n\n return {\n supportedPgVersions: SUPPORTED_PG_VERSIONS,\n currentPgVersion: currentPgVersion ?? null,\n onResetToPgVersion,\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 { useDebugInspector } from \"./useDebugInspector.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 const { currentPgVersion, supportedPgVersions, onResetToPgVersion } =\n useDebugInspector();\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 pgVersionControl: {\n currentPgVersion,\n supportedPgVersions,\n onResetToPgVersion,\n },\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,34 @@
1
+ import { t as useRegistryPackages } from "./useRegistryPackages-BOX4NMAb.js";
2
+ import { closePHModal, usePHModal, useVetraPackageManager } from "@powerhousedao/reactor-browser";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { PackageInstallModal } 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 documentType = phModal?.type === "missingPackage" ? phModal.documentType : void 0;
11
+ if (!packageManager || !documentType) return null;
12
+ const pendingInstallations = registryPackageList.filter((rp) => rp.documentTypes.includes(documentType)).map((rp) => ({
13
+ documentType,
14
+ packageName: rp.name
15
+ }));
16
+ async function onInstall(packageName) {
17
+ if ((await packageManager?.addPackage(packageName))?.type === "success") updateRegistryPackageStatus(packageName, "registry-install");
18
+ }
19
+ function onDismiss(packageName) {
20
+ updateRegistryPackageStatus(packageName, "dismissed");
21
+ }
22
+ return /* @__PURE__ */ jsx(PackageInstallModal, {
23
+ pendingInstallations,
24
+ onInstall,
25
+ onDismiss,
26
+ onOpenChange: (status) => {
27
+ if (!status) return closePHModal();
28
+ }
29
+ });
30
+ }
31
+ //#endregion
32
+ export { ConnectMissingPackageModal };
33
+
34
+ //# sourceMappingURL=MissingPackageModal-Df154H9n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MissingPackageModal-Df154H9n.js","names":[],"sources":["../src/components/modal/modals/MissingPackageModal.tsx"],"sourcesContent":["import { useRegistryPackages } from \"@powerhousedao/connect/hooks\";\nimport {\n PackageInstallModal,\n type PendingPackageInstallation,\n} 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 const pendingInstallations: PendingPackageInstallation[] = registryPackageList\n .filter((rp) => rp.documentTypes.includes(documentType))\n .map((rp) => ({\n documentType,\n packageName: rp.name,\n }));\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 return (\n <PackageInstallModal\n pendingInstallations={pendingInstallations}\n onInstall={onInstall}\n onDismiss={onDismiss}\n onOpenChange={(status: boolean) => {\n if (!status) return closePHModal();\n }}\n />\n );\n}\n"],"mappings":";;;;;AAWA,SAAgB,6BAA6B;CAC3C,MAAM,UAAU,YAAY;CAC5B,MAAM,EAAE,qBAAqB,gCAC3B,qBAAqB;CACvB,MAAM,iBAAiB,wBAAwB;CAG/C,MAAM,eAFO,SAAS,SAAS,mBAEH,QAAQ,eAAe,KAAA;AAEnD,KAAI,CAAC,kBAAkB,CAAC,aAAc,QAAO;CAE7C,MAAM,uBAAqD,oBACxD,QAAQ,OAAO,GAAG,cAAc,SAAS,aAAa,CAAC,CACvD,KAAK,QAAQ;EACZ;EACA,aAAa,GAAG;EACjB,EAAE;CAEL,eAAe,UAAU,aAAqB;AAE5C,OADe,MAAM,gBAAgB,WAAW,YAAY,GAChD,SAAS,UACnB,6BAA4B,aAAa,mBAAmB;;CAIhE,SAAS,UAAU,aAAqB;AACtC,8BAA4B,aAAa,YAAY;;AAGvD,QACE,oBAAC,qBAAD;EACwB;EACX;EACA;EACX,eAAe,WAAoB;AACjC,OAAI,CAAC,OAAQ,QAAO,cAAc;;EAEpC,CAAA"}
@@ -0,0 +1,191 @@
1
+ import { t as connectConfig } from "./connect.config-Cuh0hj_Q.js";
2
+ import { n as toast } from "./toast-DnODOv28.js";
3
+ import { t as useRegistryPackages } from "./useRegistryPackages-BOX4NMAb.js";
4
+ import { t as package_default } from "./package-pGOQdXJY.js";
5
+ import { closePHModal, deleteDrive, setSelectedDrive, showPHModal, useDrives, usePHModal, useVetraPackageManager } from "@powerhousedao/reactor-browser";
6
+ import { useCallback, useMemo, useState } from "react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ import { About, DangerZone, DefaultEditor, PackageManager, SettingsModal as SettingsModal$1 } from "@powerhousedao/design-system/connect";
9
+ import { Icon } from "@powerhousedao/design-system";
10
+ import { t } from "i18next";
11
+ //#region src/components/modal/modals/settings/about.tsx
12
+ const About$1 = () => {
13
+ const onOpenInspector = () => {
14
+ closePHModal();
15
+ showPHModal({ type: "inspector" });
16
+ };
17
+ return /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx(About, {
18
+ packageJson: package_default,
19
+ phCliVersion: typeof connectConfig.phCliVersion === "string" ? connectConfig.phCliVersion : void 0
20
+ }), /* @__PURE__ */ jsxs("div", {
21
+ className: "bg-white p-3",
22
+ children: [
23
+ /* @__PURE__ */ jsx("h2", {
24
+ className: "mb-2 font-semibold",
25
+ children: "Inspector"
26
+ }),
27
+ /* @__PURE__ */ jsx("p", {
28
+ className: "mb-3 text-sm font-normal text-gray-600",
29
+ children: "Explore the local database and sync state for debugging."
30
+ }),
31
+ /* @__PURE__ */ jsxs("button", {
32
+ className: "flex items-center gap-x-2 rounded-md border border-gray-300 bg-transparent px-3 py-1 text-sm font-medium text-gray-900 transition-colors hover:bg-gray-100",
33
+ onClick: onOpenInspector,
34
+ type: "button",
35
+ children: ["Open Inspector ", /* @__PURE__ */ jsx(Icon, {
36
+ name: "CircleInfo",
37
+ size: 16
38
+ })]
39
+ })
40
+ ]
41
+ })] });
42
+ };
43
+ //#endregion
44
+ //#region src/components/modal/modals/settings/danger-zone.tsx
45
+ const DangerZone$1 = () => {
46
+ const drives = useDrives();
47
+ const handleDeleteDrive = async (drive) => {
48
+ await deleteDrive(drive.header.id);
49
+ setSelectedDrive(void 0);
50
+ };
51
+ const handleClearStorage = () => {
52
+ showPHModal({ type: "clearStorage" });
53
+ };
54
+ return /* @__PURE__ */ jsx(DangerZone, {
55
+ drives: drives ?? [],
56
+ onDeleteDrive: handleDeleteDrive,
57
+ onClearStorage: handleClearStorage
58
+ });
59
+ };
60
+ //#endregion
61
+ //#region src/components/modal/modals/settings/default-editor.tsx
62
+ const documentModelEditorOptions = [{
63
+ label: "V1",
64
+ value: "document-model-editor"
65
+ }, {
66
+ label: "V2",
67
+ value: "document-model-editor-v2"
68
+ }];
69
+ const DefaultEditor$1 = () => {
70
+ const [documentModelEditor, setDocumentModelEditor] = useState(documentModelEditorOptions[1]);
71
+ const handleSetDocumentEditor = useCallback((value) => {
72
+ const option = documentModelEditorOptions.find((dm) => dm.value == value);
73
+ if (option) setDocumentModelEditor(option);
74
+ }, []);
75
+ return /* @__PURE__ */ jsx(DefaultEditor, {
76
+ documentModelEditor: documentModelEditor.value,
77
+ setDocumentModelEditor: handleSetDocumentEditor,
78
+ documentModelEditorOptions
79
+ });
80
+ };
81
+ //#endregion
82
+ //#region src/components/modal/modals/settings/package-manager.tsx
83
+ /**
84
+ * Split a `name@tag` spec into its bare package name. Mirrors the design-system's
85
+ * `parsePackageSpec` — duplicated here to avoid reaching into a deep subpath
86
+ * export. Scoped names split on the LAST `@`, unscoped on the first.
87
+ */
88
+ function parseBareName(spec) {
89
+ const trimmed = spec.trim();
90
+ const at = trimmed.startsWith("@") ? trimmed.lastIndexOf("@") : trimmed.indexOf("@");
91
+ return at > 0 ? trimmed.slice(0, at) : trimmed;
92
+ }
93
+ const ConnectPackageManager = () => {
94
+ const packageManager = useVetraPackageManager();
95
+ const { registryPackageList, updateRegistryPackageStatus, registerFallbackRegistryPackage } = useRegistryPackages();
96
+ async function handleInstall(packageSpec) {
97
+ if (!packageManager) return;
98
+ const bareName = parseBareName(packageSpec);
99
+ const wasKnownToRegistry = registryPackageList.some((p) => p.name === bareName);
100
+ const result = await packageManager.addPackage(packageSpec);
101
+ if (result.type === "success") {
102
+ if (wasKnownToRegistry) updateRegistryPackageStatus(bareName, "registry-install");
103
+ else registerFallbackRegistryPackage(bareName, result.package, packageManager.getPackageVersion(bareName) ?? packageManager.getPackageVersion(packageSpec), "registry-install");
104
+ toast(`Package "${packageSpec}" installed successfully`, { type: "connect-success" });
105
+ } else {
106
+ const message = result.error.message;
107
+ toast(/failed to fetch|404|not found/i.test(message) ? `Could not install "${packageSpec}". The package isn't available on this registry, and the npmjs.org fallback could not resolve it either.` : `Failed to install "${packageSpec}": ${message}`, { type: "error" });
108
+ }
109
+ }
110
+ function handleUninstall(packageName) {
111
+ if (!packageManager) return;
112
+ try {
113
+ packageManager.removePackage(packageName);
114
+ updateRegistryPackageStatus(packageName, "available");
115
+ toast(`Package "${packageName}" uninstalled successfully`, { type: "connect-success" });
116
+ } catch (error) {
117
+ toast(`Failed to uninstall "${packageName}": ${error instanceof Error ? error.message : "Unknown error"}`, { type: "error" });
118
+ }
119
+ }
120
+ return /* @__PURE__ */ jsx("div", {
121
+ className: "flex h-full flex-1 flex-col",
122
+ children: /* @__PURE__ */ jsx(PackageManager, {
123
+ mutable: true,
124
+ registryPackageList,
125
+ onInstall: handleInstall,
126
+ onUninstall: handleUninstall
127
+ })
128
+ });
129
+ };
130
+ //#endregion
131
+ //#region src/components/modal/modals/SettingsModal.tsx
132
+ const SettingsModal = () => {
133
+ const open = usePHModal()?.type === "settings";
134
+ function onRefresh() {
135
+ window.location.reload();
136
+ }
137
+ const tabs = useMemo(() => [
138
+ {
139
+ id: "package-manager",
140
+ icon: /* @__PURE__ */ jsx(Icon, {
141
+ name: "PackageManager",
142
+ size: 12
143
+ }),
144
+ label: "Package Manager",
145
+ content: ConnectPackageManager
146
+ },
147
+ {
148
+ id: "default-editors",
149
+ icon: /* @__PURE__ */ jsx(Icon, {
150
+ name: "Edit",
151
+ size: 12
152
+ }),
153
+ label: "Default Editors",
154
+ content: DefaultEditor$1
155
+ },
156
+ {
157
+ id: "danger-zone",
158
+ icon: /* @__PURE__ */ jsx(Icon, {
159
+ name: "Danger",
160
+ size: 12,
161
+ className: "text-red-900"
162
+ }),
163
+ label: /* @__PURE__ */ jsx("span", {
164
+ className: "text-red-900",
165
+ children: "Danger Zone"
166
+ }),
167
+ content: () => /* @__PURE__ */ jsx(DangerZone$1, {})
168
+ },
169
+ {
170
+ id: "about",
171
+ icon: /* @__PURE__ */ jsx(Icon, {
172
+ name: "QuestionSquare",
173
+ size: 12
174
+ }),
175
+ label: "About",
176
+ content: About$1
177
+ }
178
+ ], [onRefresh]);
179
+ return /* @__PURE__ */ jsx(SettingsModal$1, {
180
+ open,
181
+ title: t("modals.connectSettings.title"),
182
+ onOpenChange: (status) => {
183
+ if (!status) return closePHModal();
184
+ },
185
+ tabs
186
+ });
187
+ };
188
+ //#endregion
189
+ export { SettingsModal };
190
+
191
+ //# sourceMappingURL=SettingsModal-GY9xBmv5.js.map