@powerhousedao/connect 6.0.0-dev.25 → 6.0.0-dev.251

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 (573) hide show
  1. package/.env +1 -1
  2. package/dist/AddDriveModal-ZK9-BWMB.js +92 -0
  3. package/dist/AddDriveModal-ZK9-BWMB.js.map +1 -0
  4. package/dist/ClearStorageModal-Bfb3ube7.js +47 -0
  5. package/dist/ClearStorageModal-Bfb3ube7.js.map +1 -0
  6. package/dist/CookiesPolicyModal-DiXQV82b.js +33 -0
  7. package/dist/CookiesPolicyModal-DiXQV82b.js.map +1 -0
  8. package/dist/CreateDocumentModal-BhJh4nWt.js +31 -0
  9. package/dist/CreateDocumentModal-BhJh4nWt.js.map +1 -0
  10. package/dist/DebugSettingsModal-BvOhyXeo.js +172 -0
  11. package/dist/DebugSettingsModal-BvOhyXeo.js.map +1 -0
  12. package/dist/DeleteDriveModal-CbuIdjKY.js +43 -0
  13. package/dist/DeleteDriveModal-CbuIdjKY.js.map +1 -0
  14. package/dist/DeleteItemModal-9ErYlauT.js +42 -0
  15. package/dist/DeleteItemModal-9ErYlauT.js.map +1 -0
  16. package/dist/DisclaimerModal-CfDeiBz8.js +24 -0
  17. package/dist/DisclaimerModal-CfDeiBz8.js.map +1 -0
  18. package/dist/DownloadDocumentWithErrorsModal-KZGWQ4J7.js +44 -0
  19. package/dist/DownloadDocumentWithErrorsModal-KZGWQ4J7.js.map +1 -0
  20. package/dist/DriveSettingsModal-DEk05PS7.js +51 -0
  21. package/dist/DriveSettingsModal-DEk05PS7.js.map +1 -0
  22. package/dist/InspectorModal-DV7lUbNo.js +375 -0
  23. package/dist/InspectorModal-DV7lUbNo.js.map +1 -0
  24. package/dist/MissingPackageModal-B2EAV_VJ.js +37 -0
  25. package/dist/MissingPackageModal-B2EAV_VJ.js.map +1 -0
  26. package/dist/SettingsModal-2xX1Pgo0.js +297 -0
  27. package/dist/SettingsModal-2xX1Pgo0.js.map +1 -0
  28. package/dist/UpgradeDriveModal-BwI5E5k3.js +34 -0
  29. package/dist/UpgradeDriveModal-BwI5E5k3.js.map +1 -0
  30. package/dist/build-info-D-A4ZnXu.js +15 -0
  31. package/dist/build-info-D-A4ZnXu.js.map +1 -0
  32. package/dist/connect.config-Cuh0hj_Q.js +142 -0
  33. package/dist/connect.config-Cuh0hj_Q.js.map +1 -0
  34. package/dist/i18n-4rfcgnb9.js +128 -0
  35. package/dist/i18n-4rfcgnb9.js.map +1 -0
  36. package/dist/load-BVA6Yfno.js +112 -0
  37. package/dist/load-BVA6Yfno.js.map +1 -0
  38. package/dist/main.d.ts +1 -0
  39. package/dist/main.js +12 -0
  40. package/dist/main.js.map +1 -0
  41. package/dist/package-CvMftS15.js +117 -0
  42. package/dist/package-CvMftS15.js.map +1 -0
  43. package/dist/packages.config-CiH8KJVN.js +32 -0
  44. package/dist/packages.config-CiH8KJVN.js.map +1 -0
  45. package/dist/pglite-runtime-Btp8ZXVH.js +135 -0
  46. package/dist/pglite-runtime-Btp8ZXVH.js.map +1 -0
  47. package/dist/pglite-seed-b1mJUaip.js +49 -0
  48. package/dist/pglite-seed-b1mJUaip.js.map +1 -0
  49. package/dist/pglite.worker.d.ts +1 -0
  50. package/dist/pglite.worker.js +18 -0
  51. package/dist/pglite.worker.js.map +1 -0
  52. package/dist/pglite.worker.legacy.d.ts +1 -0
  53. package/dist/pglite.worker.legacy.js +18 -0
  54. package/dist/pglite.worker.legacy.js.map +1 -0
  55. package/dist/reactor-DFuRedvV.js +913 -0
  56. package/dist/reactor-DFuRedvV.js.map +1 -0
  57. package/dist/registerServiceWorker-CMRF2LWE.js +79 -0
  58. package/dist/registerServiceWorker-CMRF2LWE.js.map +1 -0
  59. package/dist/sidebar-BXOORGUU.js +1473 -0
  60. package/dist/sidebar-BXOORGUU.js.map +1 -0
  61. package/dist/start-connect.d.ts +21 -0
  62. package/dist/start-connect.d.ts.map +1 -0
  63. package/dist/start-connect.js +19 -0
  64. package/dist/start-connect.js.map +1 -0
  65. package/{lib → dist}/style.css +2676 -665
  66. package/dist/toast-DnODOv28.js +23 -0
  67. package/dist/toast-DnODOv28.js.map +1 -0
  68. package/dist/useRegistryPackages-DK8swjWd.js +129 -0
  69. package/dist/useRegistryPackages-DK8swjWd.js.map +1 -0
  70. package/package.json +57 -121
  71. package/public/ph-packages.json +4 -0
  72. package/dist/assets/AddDriveModal-C7Z2sZK_.js +0 -1
  73. package/dist/assets/ClearStorageModal-DbOzc3ZU.js +0 -1
  74. package/dist/assets/CookiesPolicyModal-C_XO21OO.js +0 -1
  75. package/dist/assets/CreateDocumentModal-x_taiRz3.js +0 -1
  76. package/dist/assets/DebugSettingsModal-BJcOlsTZ.js +0 -1
  77. package/dist/assets/DeleteDriveModal-DeH9VQY9.js +0 -1
  78. package/dist/assets/DeleteItemModal-D7Qu84-q.js +0 -1
  79. package/dist/assets/DisclaimerModal-BQIg2v2R.js +0 -1
  80. package/dist/assets/DriveSettingsModal-bqGDyMI3.js +0 -1
  81. package/dist/assets/ExportDocumentWithErrorsModal-R7DEHij0.js +0 -1
  82. package/dist/assets/SettingsModal-DdG8aeDJ.js +0 -1
  83. package/dist/assets/UpgradeDriveModal-B-hBwR2i.js +0 -1
  84. package/dist/assets/_virtual_ph_external-packages-CM1tCR4L.js +0 -1
  85. package/dist/assets/config-CU-aFfVJ.js +0 -1
  86. package/dist/assets/connect-loader-CvOC68Ih.mp4 +0 -0
  87. package/dist/assets/design_system-BcEdk8na.js +0 -45
  88. package/dist/assets/design_system_connect-DP1bez4c.js +0 -47
  89. package/dist/assets/design_system_ui-BfiQDMDm.js +0 -1
  90. package/dist/assets/document_drive-CRnZJpoY.js +0 -316
  91. package/dist/assets/document_engineering-CzgOYc4D.js +0 -1
  92. package/dist/assets/document_model-Cvww2VA-.js +0 -230
  93. package/dist/assets/document_model_editor-DM4sUsBJ.js +0 -25
  94. package/dist/assets/drive_explorer-CT-nxWx1.js +0 -2
  95. package/dist/assets/graphql-AKTCpY7l.js +0 -75
  96. package/dist/assets/graphql-editor-DlrXC8fb.js +0 -73
  97. package/dist/assets/graphql_request-BJtmW2JS.js +0 -3
  98. package/dist/assets/hmr-LMNkvzP7.js +0 -1
  99. package/dist/assets/home-bg-BEhF9NuW.png +0 -0
  100. package/dist/assets/home-bg-BRYzhkhi.avif +0 -0
  101. package/dist/assets/hooks-CvLv823j.js +0 -12
  102. package/dist/assets/index-BQ4PI8SD.js +0 -18
  103. package/dist/assets/index-DAT-H4WM.js +0 -28
  104. package/dist/assets/index-Df9NBjHI.css +0 -1
  105. package/dist/assets/json-editor-CvAYdg64.js +0 -1
  106. package/dist/assets/nodefs-BCDFwcl8.js +0 -1
  107. package/dist/assets/opfs-ahp-P6iX3dK-.js +0 -3
  108. package/dist/assets/pg_dump-CW0pN9tG.wasm +0 -0
  109. package/dist/assets/postgres-CkP7QCDB.data +0 -0
  110. package/dist/assets/postgres-CyuUVpXN.wasm +0 -0
  111. package/dist/assets/powerhouse-rounded-CeKGGUG4.png +0 -0
  112. package/dist/assets/react/jsx-runtime-DldvXD6N.js +0 -1
  113. package/dist/assets/react-DQSxOgtG.js +0 -1
  114. package/dist/assets/react-dom/client-BVPiT_FE.js +0 -9
  115. package/dist/assets/react-dom-D6zQJsh6.js +0 -1
  116. package/dist/assets/reactor_browser-B5Ef2pxf.js +0 -129
  117. package/dist/assets/renown-short-hover-BiSLBV7L.png +0 -0
  118. package/dist/assets/rwa-report-Bb0W5-ac.png +0 -0
  119. package/dist/assets/sentry_browser-B4YoBIIG.js +0 -498
  120. package/dist/assets/sentry_react-cODD7zWc.js +0 -3
  121. package/dist/assets/state-schemas-DKbRkRW0.js +0 -2
  122. package/dist/assets/tailwind_merge-Dr4f9Rms.js +0 -1
  123. package/dist/assets/zod-9j67vCAu.js +0 -39
  124. package/dist/icon.ico +0 -0
  125. package/dist/index.html +0 -51
  126. package/dist/robots.txt +0 -3
  127. package/dist/settings.png +0 -0
  128. package/heroku/Dockerfile +0 -101
  129. package/heroku/Procfile +0 -1
  130. package/heroku/config/nginx.conf.template +0 -77
  131. package/heroku/heroku-entrypoint.sh +0 -38
  132. package/lib/cypress/e2e/navigation.cy.d.ts +0 -2
  133. package/lib/cypress/e2e/navigation.cy.d.ts.map +0 -1
  134. package/lib/cypress/e2e/navigation.cy.js +0 -221
  135. package/lib/cypress/e2e/navigation.cy.js.map +0 -1
  136. package/lib/cypress/e2e/utils/index.d.ts +0 -15
  137. package/lib/cypress/e2e/utils/index.d.ts.map +0 -1
  138. package/lib/cypress/e2e/utils/index.js +0 -121
  139. package/lib/cypress/e2e/utils/index.js.map +0 -1
  140. package/lib/cypress/support/commands.d.ts +0 -2
  141. package/lib/cypress/support/commands.d.ts.map +0 -1
  142. package/lib/cypress/support/commands.js +0 -29
  143. package/lib/cypress/support/commands.js.map +0 -1
  144. package/lib/cypress/support/e2e.d.ts +0 -2
  145. package/lib/cypress/support/e2e.d.ts.map +0 -1
  146. package/lib/cypress/support/e2e.js +0 -19
  147. package/lib/cypress/support/e2e.js.map +0 -1
  148. package/lib/cypress.config.d.ts +0 -3
  149. package/lib/cypress.config.d.ts.map +0 -1
  150. package/lib/cypress.config.js +0 -15
  151. package/lib/cypress.config.js.map +0 -1
  152. package/lib/package.copy.json +0 -177
  153. package/lib/scripts/render-skeleton.d.ts +0 -2
  154. package/lib/scripts/render-skeleton.d.ts.map +0 -1
  155. package/lib/scripts/render-skeleton.js +0 -11
  156. package/lib/scripts/render-skeleton.js.map +0 -1
  157. package/lib/src/components/analytics.d.ts +0 -8
  158. package/lib/src/components/analytics.d.ts.map +0 -1
  159. package/lib/src/components/analytics.js +0 -30
  160. package/lib/src/components/analytics.js.map +0 -1
  161. package/lib/src/components/app-loader.d.ts +0 -3
  162. package/lib/src/components/app-loader.d.ts.map +0 -1
  163. package/lib/src/components/app-loader.js +0 -20
  164. package/lib/src/components/app-loader.js.map +0 -1
  165. package/lib/src/components/app-skeleton.d.ts +0 -3
  166. package/lib/src/components/app-skeleton.d.ts.map +0 -1
  167. package/lib/src/components/app-skeleton.js +0 -38
  168. package/lib/src/components/app-skeleton.js.map +0 -1
  169. package/lib/src/components/app.d.ts +0 -2
  170. package/lib/src/components/app.d.ts.map +0 -1
  171. package/lib/src/components/app.js +0 -29
  172. package/lib/src/components/app.js.map +0 -1
  173. package/lib/src/components/button.d.ts +0 -3
  174. package/lib/src/components/button.d.ts.map +0 -1
  175. package/lib/src/components/button.js +0 -7
  176. package/lib/src/components/button.js.map +0 -1
  177. package/lib/src/components/cookie-banner.d.ts +0 -2
  178. package/lib/src/components/cookie-banner.d.ts.map +0 -1
  179. package/lib/src/components/cookie-banner.js +0 -48
  180. package/lib/src/components/cookie-banner.js.map +0 -1
  181. package/lib/src/components/document-editor-container.d.ts +0 -2
  182. package/lib/src/components/document-editor-container.d.ts.map +0 -1
  183. package/lib/src/components/document-editor-container.js +0 -65
  184. package/lib/src/components/document-editor-container.js.map +0 -1
  185. package/lib/src/components/dots-loader.d.ts +0 -2
  186. package/lib/src/components/dots-loader.d.ts.map +0 -1
  187. package/lib/src/components/dots-loader.js +0 -15
  188. package/lib/src/components/dots-loader.js.map +0 -1
  189. package/lib/src/components/drive-editor-container.d.ts +0 -2
  190. package/lib/src/components/drive-editor-container.d.ts.map +0 -1
  191. package/lib/src/components/drive-editor-container.js +0 -22
  192. package/lib/src/components/drive-editor-container.js.map +0 -1
  193. package/lib/src/components/drive-icon.d.ts +0 -5
  194. package/lib/src/components/drive-icon.d.ts.map +0 -1
  195. package/lib/src/components/drive-icon.js +0 -15
  196. package/lib/src/components/drive-icon.js.map +0 -1
  197. package/lib/src/components/editor-loader.d.ts +0 -9
  198. package/lib/src/components/editor-loader.d.ts.map +0 -1
  199. package/lib/src/components/editor-loader.js +0 -19
  200. package/lib/src/components/editor-loader.js.map +0 -1
  201. package/lib/src/components/editors.d.ts +0 -10
  202. package/lib/src/components/editors.d.ts.map +0 -1
  203. package/lib/src/components/editors.js +0 -89
  204. package/lib/src/components/editors.js.map +0 -1
  205. package/lib/src/components/error-boundary.d.ts +0 -103
  206. package/lib/src/components/error-boundary.d.ts.map +0 -1
  207. package/lib/src/components/error-boundary.js +0 -104
  208. package/lib/src/components/error-boundary.js.map +0 -1
  209. package/lib/src/components/footer.d.ts +0 -2
  210. package/lib/src/components/footer.d.ts.map +0 -1
  211. package/lib/src/components/footer.js +0 -16
  212. package/lib/src/components/footer.js.map +0 -1
  213. package/lib/src/components/index.d.ts +0 -22
  214. package/lib/src/components/index.d.ts.map +0 -1
  215. package/lib/src/components/index.js +0 -22
  216. package/lib/src/components/index.js.map +0 -1
  217. package/lib/src/components/login.d.ts +0 -2
  218. package/lib/src/components/login.d.ts.map +0 -1
  219. package/lib/src/components/login.js +0 -12
  220. package/lib/src/components/login.js.map +0 -1
  221. package/lib/src/components/modal/index.d.ts +0 -18
  222. package/lib/src/components/modal/index.d.ts.map +0 -1
  223. package/lib/src/components/modal/index.js +0 -18
  224. package/lib/src/components/modal/index.js.map +0 -1
  225. package/lib/src/components/modal/modals/AddDriveModal.d.ts +0 -2
  226. package/lib/src/components/modal/modals/AddDriveModal.d.ts.map +0 -1
  227. package/lib/src/components/modal/modals/AddDriveModal.js +0 -121
  228. package/lib/src/components/modal/modals/AddDriveModal.js.map +0 -1
  229. package/lib/src/components/modal/modals/ClearStorageModal.d.ts +0 -2
  230. package/lib/src/components/modal/modals/ClearStorageModal.d.ts.map +0 -1
  231. package/lib/src/components/modal/modals/ClearStorageModal.js +0 -35
  232. package/lib/src/components/modal/modals/ClearStorageModal.js.map +0 -1
  233. package/lib/src/components/modal/modals/CookiesPolicyModal.d.ts +0 -2
  234. package/lib/src/components/modal/modals/CookiesPolicyModal.d.ts.map +0 -1
  235. package/lib/src/components/modal/modals/CookiesPolicyModal.js +0 -16
  236. package/lib/src/components/modal/modals/CookiesPolicyModal.js.map +0 -1
  237. package/lib/src/components/modal/modals/CreateDocumentModal.d.ts +0 -2
  238. package/lib/src/components/modal/modals/CreateDocumentModal.d.ts.map +0 -1
  239. package/lib/src/components/modal/modals/CreateDocumentModal.js +0 -24
  240. package/lib/src/components/modal/modals/CreateDocumentModal.js.map +0 -1
  241. package/lib/src/components/modal/modals/DebugSettingsModal.d.ts +0 -2
  242. package/lib/src/components/modal/modals/DebugSettingsModal.d.ts.map +0 -1
  243. package/lib/src/components/modal/modals/DebugSettingsModal.js +0 -108
  244. package/lib/src/components/modal/modals/DebugSettingsModal.js.map +0 -1
  245. package/lib/src/components/modal/modals/DeleteDriveModal.d.ts +0 -2
  246. package/lib/src/components/modal/modals/DeleteDriveModal.d.ts.map +0 -1
  247. package/lib/src/components/modal/modals/DeleteDriveModal.js +0 -32
  248. package/lib/src/components/modal/modals/DeleteDriveModal.js.map +0 -1
  249. package/lib/src/components/modal/modals/DeleteItemModal.d.ts +0 -3
  250. package/lib/src/components/modal/modals/DeleteItemModal.d.ts.map +0 -1
  251. package/lib/src/components/modal/modals/DeleteItemModal.js +0 -33
  252. package/lib/src/components/modal/modals/DeleteItemModal.js.map +0 -1
  253. package/lib/src/components/modal/modals/DisclaimerModal.d.ts +0 -3
  254. package/lib/src/components/modal/modals/DisclaimerModal.d.ts.map +0 -1
  255. package/lib/src/components/modal/modals/DisclaimerModal.js +0 -12
  256. package/lib/src/components/modal/modals/DisclaimerModal.js.map +0 -1
  257. package/lib/src/components/modal/modals/DriveSettingsModal.d.ts +0 -2
  258. package/lib/src/components/modal/modals/DriveSettingsModal.d.ts.map +0 -1
  259. package/lib/src/components/modal/modals/DriveSettingsModal.js +0 -28
  260. package/lib/src/components/modal/modals/DriveSettingsModal.js.map +0 -1
  261. package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.d.ts +0 -2
  262. package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.d.ts.map +0 -1
  263. package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.js +0 -30
  264. package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.js.map +0 -1
  265. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.d.ts +0 -2
  266. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.d.ts.map +0 -1
  267. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.js +0 -29
  268. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.js.map +0 -1
  269. package/lib/src/components/modal/modals/InspectorModal/index.d.ts +0 -2
  270. package/lib/src/components/modal/modals/InspectorModal/index.d.ts.map +0 -1
  271. package/lib/src/components/modal/modals/InspectorModal/index.js +0 -2
  272. package/lib/src/components/modal/modals/InspectorModal/index.js.map +0 -1
  273. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.d.ts +0 -31
  274. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.d.ts.map +0 -1
  275. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.js +0 -211
  276. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.js.map +0 -1
  277. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.d.ts +0 -4
  278. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.d.ts.map +0 -1
  279. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.js +0 -12
  280. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.js.map +0 -1
  281. package/lib/src/components/modal/modals/SettingsModal.d.ts +0 -3
  282. package/lib/src/components/modal/modals/SettingsModal.d.ts.map +0 -1
  283. package/lib/src/components/modal/modals/SettingsModal.js +0 -45
  284. package/lib/src/components/modal/modals/SettingsModal.js.map +0 -1
  285. package/lib/src/components/modal/modals/UpgradeDriveModal.d.ts +0 -3
  286. package/lib/src/components/modal/modals/UpgradeDriveModal.d.ts.map +0 -1
  287. package/lib/src/components/modal/modals/UpgradeDriveModal.js +0 -21
  288. package/lib/src/components/modal/modals/UpgradeDriveModal.js.map +0 -1
  289. package/lib/src/components/modal/modals/settings/about.d.ts +0 -2
  290. package/lib/src/components/modal/modals/settings/about.d.ts.map +0 -1
  291. package/lib/src/components/modal/modals/settings/about.js +0 -10
  292. package/lib/src/components/modal/modals/settings/about.js.map +0 -1
  293. package/lib/src/components/modal/modals/settings/danger-zone.d.ts +0 -2
  294. package/lib/src/components/modal/modals/settings/danger-zone.d.ts.map +0 -1
  295. package/lib/src/components/modal/modals/settings/danger-zone.js +0 -15
  296. package/lib/src/components/modal/modals/settings/danger-zone.js.map +0 -1
  297. package/lib/src/components/modal/modals/settings/default-editor.d.ts +0 -2
  298. package/lib/src/components/modal/modals/settings/default-editor.d.ts.map +0 -1
  299. package/lib/src/components/modal/modals/settings/default-editor.js +0 -18
  300. package/lib/src/components/modal/modals/settings/default-editor.js.map +0 -1
  301. package/lib/src/components/modal/modals/settings/package-manager.d.ts +0 -3
  302. package/lib/src/components/modal/modals/settings/package-manager.d.ts.map +0 -1
  303. package/lib/src/components/modal/modals/settings/package-manager.js +0 -87
  304. package/lib/src/components/modal/modals/settings/package-manager.js.map +0 -1
  305. package/lib/src/components/modal/modals-container.d.ts +0 -2
  306. package/lib/src/components/modal/modals-container.d.ts.map +0 -1
  307. package/lib/src/components/modal/modals-container.js +0 -66
  308. package/lib/src/components/modal/modals-container.js.map +0 -1
  309. package/lib/src/components/ph-logo.d.ts +0 -2
  310. package/lib/src/components/ph-logo.d.ts.map +0 -1
  311. package/lib/src/components/ph-logo.js +0 -7
  312. package/lib/src/components/ph-logo.js.map +0 -1
  313. package/lib/src/components/reload-connect-toast.d.ts +0 -2
  314. package/lib/src/components/reload-connect-toast.d.ts.map +0 -1
  315. package/lib/src/components/reload-connect-toast.js +0 -7
  316. package/lib/src/components/reload-connect-toast.js.map +0 -1
  317. package/lib/src/components/root.d.ts +0 -2
  318. package/lib/src/components/root.d.ts.map +0 -1
  319. package/lib/src/components/root.js +0 -8
  320. package/lib/src/components/root.js.map +0 -1
  321. package/lib/src/components/router.d.ts +0 -2
  322. package/lib/src/components/router.d.ts.map +0 -1
  323. package/lib/src/components/router.js +0 -41
  324. package/lib/src/components/router.js.map +0 -1
  325. package/lib/src/components/search-bar.d.ts +0 -2
  326. package/lib/src/components/search-bar.d.ts.map +0 -1
  327. package/lib/src/components/search-bar.js +0 -36
  328. package/lib/src/components/search-bar.js.map +0 -1
  329. package/lib/src/components/sidebar.d.ts +0 -2
  330. package/lib/src/components/sidebar.d.ts.map +0 -1
  331. package/lib/src/components/sidebar.js +0 -28
  332. package/lib/src/components/sidebar.js.map +0 -1
  333. package/lib/src/connect.config.d.ts +0 -115
  334. package/lib/src/connect.config.d.ts.map +0 -1
  335. package/lib/src/connect.config.js +0 -148
  336. package/lib/src/connect.config.js.map +0 -1
  337. package/lib/src/context/index.d.ts +0 -4
  338. package/lib/src/context/index.d.ts.map +0 -1
  339. package/lib/src/context/index.js +0 -4
  340. package/lib/src/context/index.js.map +0 -1
  341. package/lib/src/context/processor-manager.d.ts +0 -3
  342. package/lib/src/context/processor-manager.d.ts.map +0 -1
  343. package/lib/src/context/processor-manager.js +0 -189
  344. package/lib/src/context/processor-manager.js.map +0 -1
  345. package/lib/src/context/read-mode.d.ts +0 -2
  346. package/lib/src/context/read-mode.d.ts.map +0 -1
  347. package/lib/src/context/read-mode.js +0 -219
  348. package/lib/src/context/read-mode.js.map +0 -1
  349. package/lib/src/context/sentry-provider.d.ts +0 -6
  350. package/lib/src/context/sentry-provider.d.ts.map +0 -1
  351. package/lib/src/context/sentry-provider.js +0 -6
  352. package/lib/src/context/sentry-provider.js.map +0 -1
  353. package/lib/src/feature-flags.d.ts +0 -53
  354. package/lib/src/feature-flags.d.ts.map +0 -1
  355. package/lib/src/feature-flags.js +0 -186
  356. package/lib/src/feature-flags.js.map +0 -1
  357. package/lib/src/globals.d.ts +0 -9
  358. package/lib/src/globals.d.ts.map +0 -1
  359. package/lib/src/globals.js +0 -2
  360. package/lib/src/globals.js.map +0 -1
  361. package/lib/src/hmr.d.ts +0 -3
  362. package/lib/src/hmr.d.ts.map +0 -1
  363. package/lib/src/hmr.js +0 -2
  364. package/lib/src/hmr.js.map +0 -1
  365. package/lib/src/hooks/index.d.ts +0 -10
  366. package/lib/src/hooks/index.d.ts.map +0 -1
  367. package/lib/src/hooks/index.js +0 -10
  368. package/lib/src/hooks/index.js.map +0 -1
  369. package/lib/src/hooks/useAcceptedCookies.d.ts +0 -9
  370. package/lib/src/hooks/useAcceptedCookies.d.ts.map +0 -1
  371. package/lib/src/hooks/useAcceptedCookies.js +0 -34
  372. package/lib/src/hooks/useAcceptedCookies.js.map +0 -1
  373. package/lib/src/hooks/useCheckLatestVersion.d.ts +0 -2
  374. package/lib/src/hooks/useCheckLatestVersion.d.ts.map +0 -1
  375. package/lib/src/hooks/useCheckLatestVersion.js +0 -33
  376. package/lib/src/hooks/useCheckLatestVersion.js.map +0 -1
  377. package/lib/src/hooks/useClientErrorHandler.d.ts +0 -6
  378. package/lib/src/hooks/useClientErrorHandler.d.ts.map +0 -1
  379. package/lib/src/hooks/useClientErrorHandler.js +0 -131
  380. package/lib/src/hooks/useClientErrorHandler.js.map +0 -1
  381. package/lib/src/hooks/useCookieBanner.d.ts +0 -5
  382. package/lib/src/hooks/useCookieBanner.d.ts.map +0 -1
  383. package/lib/src/hooks/useCookieBanner.js +0 -32
  384. package/lib/src/hooks/useCookieBanner.js.map +0 -1
  385. package/lib/src/hooks/useInitSentry.d.ts +0 -2
  386. package/lib/src/hooks/useInitSentry.d.ts.map +0 -1
  387. package/lib/src/hooks/useInitSentry.js +0 -80
  388. package/lib/src/hooks/useInitSentry.js.map +0 -1
  389. package/lib/src/hooks/useNodeActions.d.ts +0 -6
  390. package/lib/src/hooks/useNodeActions.d.ts.map +0 -1
  391. package/lib/src/hooks/useNodeActions.js +0 -35
  392. package/lib/src/hooks/useNodeActions.js.map +0 -1
  393. package/lib/src/hooks/useUndoRedoShortcuts.d.ts +0 -8
  394. package/lib/src/hooks/useUndoRedoShortcuts.d.ts.map +0 -1
  395. package/lib/src/hooks/useUndoRedoShortcuts.js +0 -26
  396. package/lib/src/hooks/useUndoRedoShortcuts.js.map +0 -1
  397. package/lib/src/hooks/useWindowSize.d.ts +0 -5
  398. package/lib/src/hooks/useWindowSize.d.ts.map +0 -1
  399. package/lib/src/hooks/useWindowSize.js +0 -21
  400. package/lib/src/hooks/useWindowSize.js.map +0 -1
  401. package/lib/src/hooks/utils.d.ts +0 -7
  402. package/lib/src/hooks/utils.d.ts.map +0 -1
  403. package/lib/src/hooks/utils.js +0 -46
  404. package/lib/src/hooks/utils.js.map +0 -1
  405. package/lib/src/i18n/index.d.ts +0 -4
  406. package/lib/src/i18n/index.d.ts.map +0 -1
  407. package/lib/src/i18n/index.js +0 -26
  408. package/lib/src/i18n/index.js.map +0 -1
  409. package/lib/src/i18n/locales/en.json +0 -114
  410. package/lib/src/index.d.ts +0 -2
  411. package/lib/src/index.d.ts.map +0 -1
  412. package/lib/src/index.js +0 -2
  413. package/lib/src/index.js.map +0 -1
  414. package/lib/src/main.d.ts +0 -2
  415. package/lib/src/main.d.ts.map +0 -1
  416. package/lib/src/main.js +0 -5
  417. package/lib/src/main.js.map +0 -1
  418. package/lib/src/pages/content.d.ts +0 -2
  419. package/lib/src/pages/content.d.ts.map +0 -1
  420. package/lib/src/pages/content.js +0 -39
  421. package/lib/src/pages/content.js.map +0 -1
  422. package/lib/src/pages/demo/atlas-import.d.ts +0 -2
  423. package/lib/src/pages/demo/atlas-import.d.ts.map +0 -1
  424. package/lib/src/pages/demo/atlas-import.js +0 -122
  425. package/lib/src/pages/demo/atlas-import.js.map +0 -1
  426. package/lib/src/pages/index.d.ts +0 -4
  427. package/lib/src/pages/index.d.ts.map +0 -1
  428. package/lib/src/pages/index.js +0 -4
  429. package/lib/src/pages/index.js.map +0 -1
  430. package/lib/src/pages/settings.d.ts +0 -4
  431. package/lib/src/pages/settings.d.ts.map +0 -1
  432. package/lib/src/pages/settings.js +0 -9
  433. package/lib/src/pages/settings.js.map +0 -1
  434. package/lib/src/service-worker.d.ts +0 -2
  435. package/lib/src/service-worker.d.ts.map +0 -1
  436. package/lib/src/service-worker.js +0 -58
  437. package/lib/src/service-worker.js.map +0 -1
  438. package/lib/src/services/hmr.d.ts +0 -13
  439. package/lib/src/services/hmr.d.ts.map +0 -1
  440. package/lib/src/services/hmr.js +0 -85
  441. package/lib/src/services/hmr.js.map +0 -1
  442. package/lib/src/services/index.d.ts +0 -10
  443. package/lib/src/services/index.d.ts.map +0 -1
  444. package/lib/src/services/index.js +0 -9
  445. package/lib/src/services/index.js.map +0 -1
  446. package/lib/src/services/logger.d.ts +0 -2
  447. package/lib/src/services/logger.d.ts.map +0 -1
  448. package/lib/src/services/logger.js +0 -28
  449. package/lib/src/services/logger.js.map +0 -1
  450. package/lib/src/services/renown/browser.d.ts +0 -2
  451. package/lib/src/services/renown/browser.d.ts.map +0 -1
  452. package/lib/src/services/renown/browser.js +0 -6
  453. package/lib/src/services/renown/browser.js.map +0 -1
  454. package/lib/src/services/renown/constants.d.ts +0 -130
  455. package/lib/src/services/renown/constants.d.ts.map +0 -1
  456. package/lib/src/services/renown/constants.js +0 -41
  457. package/lib/src/services/renown/constants.js.map +0 -1
  458. package/lib/src/services/renown/utils.d.ts +0 -7
  459. package/lib/src/services/renown/utils.d.ts.map +0 -1
  460. package/lib/src/services/renown/utils.js +0 -20
  461. package/lib/src/services/renown/utils.js.map +0 -1
  462. package/lib/src/services/storage/base-storage.d.ts +0 -9
  463. package/lib/src/services/storage/base-storage.d.ts.map +0 -1
  464. package/lib/src/services/storage/base-storage.js +0 -21
  465. package/lib/src/services/storage/base-storage.js.map +0 -1
  466. package/lib/src/services/storage/browser.d.ts +0 -5
  467. package/lib/src/services/storage/browser.d.ts.map +0 -1
  468. package/lib/src/services/storage/browser.js +0 -25
  469. package/lib/src/services/storage/browser.js.map +0 -1
  470. package/lib/src/services/storage/types.d.ts +0 -6
  471. package/lib/src/services/storage/types.d.ts.map +0 -1
  472. package/lib/src/services/storage/types.js +0 -2
  473. package/lib/src/services/storage/types.js.map +0 -1
  474. package/lib/src/services/toast.d.ts +0 -8
  475. package/lib/src/services/toast.d.ts.map +0 -1
  476. package/lib/src/services/toast.js +0 -11
  477. package/lib/src/services/toast.js.map +0 -1
  478. package/lib/src/store/document-model.d.ts +0 -3
  479. package/lib/src/store/document-model.d.ts.map +0 -1
  480. package/lib/src/store/document-model.js +0 -80
  481. package/lib/src/store/document-model.js.map +0 -1
  482. package/lib/src/store/editor.d.ts +0 -5
  483. package/lib/src/store/editor.d.ts.map +0 -1
  484. package/lib/src/store/editor.js +0 -31
  485. package/lib/src/store/editor.js.map +0 -1
  486. package/lib/src/store/external-packages.d.ts +0 -4
  487. package/lib/src/store/external-packages.d.ts.map +0 -1
  488. package/lib/src/store/external-packages.js +0 -36
  489. package/lib/src/store/external-packages.js.map +0 -1
  490. package/lib/src/store/index.d.ts +0 -7
  491. package/lib/src/store/index.d.ts.map +0 -1
  492. package/lib/src/store/index.js +0 -7
  493. package/lib/src/store/index.js.map +0 -1
  494. package/lib/src/store/reactor.d.ts +0 -3
  495. package/lib/src/store/reactor.d.ts.map +0 -1
  496. package/lib/src/store/reactor.js +0 -272
  497. package/lib/src/store/reactor.js.map +0 -1
  498. package/lib/src/store/user.d.ts +0 -2
  499. package/lib/src/store/user.d.ts.map +0 -1
  500. package/lib/src/store/user.js +0 -16
  501. package/lib/src/store/user.js.map +0 -1
  502. package/lib/src/store/utils.d.ts +0 -2
  503. package/lib/src/store/utils.d.ts.map +0 -1
  504. package/lib/src/store/utils.js +0 -59
  505. package/lib/src/store/utils.js.map +0 -1
  506. package/lib/src/utils/browser.d.ts +0 -2
  507. package/lib/src/utils/browser.d.ts.map +0 -1
  508. package/lib/src/utils/browser.js +0 -9
  509. package/lib/src/utils/browser.js.map +0 -1
  510. package/lib/src/utils/document-editor-debug-tools.d.ts +0 -17
  511. package/lib/src/utils/document-editor-debug-tools.d.ts.map +0 -1
  512. package/lib/src/utils/document-editor-debug-tools.js +0 -55
  513. package/lib/src/utils/document-editor-debug-tools.js.map +0 -1
  514. package/lib/src/utils/drive-preservation.d.ts +0 -19
  515. package/lib/src/utils/drive-preservation.d.ts.map +0 -1
  516. package/lib/src/utils/drive-preservation.js +0 -51
  517. package/lib/src/utils/drive-preservation.js.map +0 -1
  518. package/lib/src/utils/drive-sections.d.ts +0 -31
  519. package/lib/src/utils/drive-sections.d.ts.map +0 -1
  520. package/lib/src/utils/drive-sections.js +0 -63
  521. package/lib/src/utils/drive-sections.js.map +0 -1
  522. package/lib/src/utils/index.d.ts +0 -12
  523. package/lib/src/utils/index.d.ts.map +0 -1
  524. package/lib/src/utils/index.js +0 -12
  525. package/lib/src/utils/index.js.map +0 -1
  526. package/lib/src/utils/join.d.ts +0 -2
  527. package/lib/src/utils/join.d.ts.map +0 -1
  528. package/lib/src/utils/join.js +0 -11
  529. package/lib/src/utils/join.js.map +0 -1
  530. package/lib/src/utils/openUrl.d.ts +0 -2
  531. package/lib/src/utils/openUrl.d.ts.map +0 -1
  532. package/lib/src/utils/openUrl.js +0 -3
  533. package/lib/src/utils/openUrl.js.map +0 -1
  534. package/lib/src/utils/path.d.ts +0 -4
  535. package/lib/src/utils/path.d.ts.map +0 -1
  536. package/lib/src/utils/path.js +0 -17
  537. package/lib/src/utils/path.js.map +0 -1
  538. package/lib/src/utils/reactor.d.ts +0 -26
  539. package/lib/src/utils/reactor.d.ts.map +0 -1
  540. package/lib/src/utils/reactor.js +0 -115
  541. package/lib/src/utils/reactor.js.map +0 -1
  542. package/lib/src/utils/registerServiceWorker.d.ts +0 -12
  543. package/lib/src/utils/registerServiceWorker.d.ts.map +0 -1
  544. package/lib/src/utils/registerServiceWorker.js +0 -97
  545. package/lib/src/utils/registerServiceWorker.js.map +0 -1
  546. package/lib/src/utils/signature.d.ts +0 -4
  547. package/lib/src/utils/signature.d.ts.map +0 -1
  548. package/lib/src/utils/signature.js +0 -36
  549. package/lib/src/utils/signature.js.map +0 -1
  550. package/lib/src/utils/slug.d.ts +0 -2
  551. package/lib/src/utils/slug.d.ts.map +0 -1
  552. package/lib/src/utils/slug.js +0 -4
  553. package/lib/src/utils/slug.js.map +0 -1
  554. package/lib/src/workers/pglite-worker.d.ts +0 -2
  555. package/lib/src/workers/pglite-worker.d.ts.map +0 -1
  556. package/lib/src/workers/pglite-worker.js +0 -32
  557. package/lib/src/workers/pglite-worker.js.map +0 -1
  558. package/lib/test/utils/signer.test.d.ts +0 -2
  559. package/lib/test/utils/signer.test.d.ts.map +0 -1
  560. package/lib/test/utils/signer.test.js +0 -330
  561. package/lib/test/utils/signer.test.js.map +0 -1
  562. package/lib/tsconfig.tsbuildinfo +0 -1
  563. package/lib/vite.config.d.ts +0 -3
  564. package/lib/vite.config.d.ts.map +0 -1
  565. package/lib/vite.config.js +0 -59
  566. package/lib/vite.config.js.map +0 -1
  567. package/lib/vitest.config.d.ts +0 -3
  568. package/lib/vitest.config.d.ts.map +0 -1
  569. package/lib/vitest.config.js +0 -8
  570. package/lib/vitest.config.js.map +0 -1
  571. package/nginx.conf +0 -77
  572. package/package.copy.json +0 -177
  573. package/src/index.css +0 -5
@@ -0,0 +1,913 @@
1
+
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="21506f07-3c8e-5e4e-9317-9b57a4c695bc")}catch(e){}}();
3
+ import { i as phGlobalConfigFromEnv } from "./connect.config-Cuh0hj_Q.js";
4
+ import { n as toast } from "./toast-DnODOv28.js";
5
+ import { n as loadPackagesConfig } from "./packages.config-CiH8KJVN.js";
6
+ import { a as loadPGliteModule, n as detectRelationalPgMajor, s as resolvePgMajorForRuntime, t as detectReactorPgMajor } from "./pglite-runtime-Btp8ZXVH.js";
7
+ import { BrowserLocalStorage, ChannelScheme, DocumentCache, DocumentChangeType, ReactorBuilder, ReactorClientBuilder, RegistryClient, addPHEventHandlers, addRemoteDrive, createAnalyticsStore, extractDriveSlugFromPath, extractNodeSlugFromPath, getDrives, login, refreshReactorDataClient, setDefaultPHGlobalConfig, setDocumentCache, setDrives, setFeatures, setPHToast, setPackageDiscoveryService, setReactorClient, setReactorClientModule, setRenown, setSelectedDrive, setSelectedNode, setVetraPackageManager } from "@powerhousedao/reactor-browser";
8
+ import { ConsoleLogger, logger, setLogLevel as setLogLevel$1 } from "document-model";
9
+ import { createRelationalDb } from "@powerhousedao/shared/processors";
10
+ import { BrowserKeyStorage, RenownBuilder, RenownCryptoBuilder, createSignatureVerifier } from "@renown/sdk";
11
+ import { Kysely } from "kysely";
12
+ import { PGliteDialect } from "kysely-pglite-dialect";
13
+ import { OpenFeature } from "@openfeature/web-sdk";
14
+ import * as common from "@powerhousedao/powerhouse-vetra-packages";
15
+ import commonPkg from "@powerhousedao/powerhouse-vetra-packages/package.json" with { type: "json" };
16
+ import * as vetra from "@powerhousedao/vetra";
17
+ import vetraPkg from "@powerhousedao/vetra/package.json" with { type: "json" };
18
+ //#region src/utils/reactor.ts
19
+ /**
20
+ * Creates a Reactor that plugs into legacy storage but syncs through the new
21
+ * Reactor GQL API.
22
+ */
23
+ async function createBrowserReactor(documentModelModules, upgradeManifests, renown, documentModelLoader) {
24
+ const signerConfig = {
25
+ signer: renown.signer,
26
+ verifier: createSignatureVerifier()
27
+ };
28
+ const jwtHandler = async (url) => {
29
+ if (!renown.user) return;
30
+ return renown.getBearerToken({
31
+ expiresIn: 10,
32
+ aud: url
33
+ });
34
+ };
35
+ const major = resolvePgMajorForRuntime(await detectReactorPgMajor());
36
+ if (major !== 17) console.warn(`[reactor] Running against legacy PGlite data dir (Postgres ${major}). Migrate to PG17 from the banner or the Inspector → Debug tab.`);
37
+ const { PGlite } = await loadPGliteModule(major);
38
+ const pg = new PGlite("idb://reactor", { relaxedDurability: true });
39
+ const logger = new ConsoleLogger(["reactor-client"]);
40
+ const builder = new ReactorClientBuilder().withLogger(logger).withSigner(signerConfig).withReactorBuilder(new ReactorBuilder().withDocumentModels(documentModelModules).withUpgradeManifests(upgradeManifests).withChannelScheme(ChannelScheme.CONNECT).withJwtHandler(jwtHandler).withKysely(new Kysely({ dialect: new PGliteDialect(pg) })));
41
+ if (documentModelLoader) builder.withDocumentModelLoader(documentModelLoader);
42
+ return {
43
+ ...await builder.buildModule(),
44
+ pg
45
+ };
46
+ }
47
+ /**
48
+ * Parse default drives from environment variable.
49
+ * Returns an array of drive REST endpoint URLs (e.g., "https://example.com/d/powerhouse").
50
+ */
51
+ function getDefaultDrivesFromEnv() {
52
+ const envValue = import.meta.env.PH_CONNECT_DEFAULT_DRIVES_URL;
53
+ if (!envValue) return [];
54
+ return envValue.split(",").filter((url) => url.trim().length > 0);
55
+ }
56
+ /**
57
+ * Add default drives for the new reactor via sync manager.
58
+ *
59
+ * Retries with linear backoff to handle the common race where Connect's
60
+ * dev server is ready before the switchboard has finished binding its port.
61
+ *
62
+ * @param defaultDriveUrls - Array of drive REST endpoint URLs (e.g., "https://example.com/d/powerhouse")
63
+ */
64
+ async function addDefaultDrivesForNewReactor(defaultDriveUrls) {
65
+ const MAX_ATTEMPTS = 3;
66
+ const BACKOFF_MS = 2e3;
67
+ for (const url of defaultDriveUrls) for (let attempt = 1; attempt <= MAX_ATTEMPTS; attempt++) try {
68
+ await addRemoteDrive(url);
69
+ break;
70
+ } catch (error) {
71
+ if (attempt === MAX_ATTEMPTS) console.error(`Failed to add default drive ${url} after ${MAX_ATTEMPTS} attempts:`, error);
72
+ else {
73
+ const delay = BACKOFF_MS * attempt;
74
+ console.warn(`Default drive ${url} not reachable (attempt ${attempt}/${MAX_ATTEMPTS}), retrying in ${delay}ms...`);
75
+ await new Promise((resolve) => setTimeout(resolve, delay));
76
+ }
77
+ }
78
+ }
79
+ //#endregion
80
+ //#region src/feature-flags.ts
81
+ /**
82
+ * QueryParamProvider reads feature flags from URL query parameters.
83
+ *
84
+ * Usage:
85
+ * const params = new URLSearchParams(window.location.search);
86
+ * const provider = new QueryParamProvider(params);
87
+ * await OpenFeature.setProviderAndWait(provider);
88
+ *
89
+ * Query parameter format:
90
+ * ?FEATURE_DUAL_ACTION_CREATE_ENABLED=true&FEATURE_FOO=false
91
+ */
92
+ var QueryParamProvider = class {
93
+ runsOn = "client";
94
+ metadata = { name: "QueryParamProvider" };
95
+ flags;
96
+ constructor(searchParams) {
97
+ this.flags = /* @__PURE__ */ new Map();
98
+ for (const [key, value] of searchParams.entries()) this.flags.set(key, value);
99
+ }
100
+ resolveBooleanEvaluation(flagKey, defaultValue) {
101
+ const value = this.flags.get(flagKey);
102
+ if (value === void 0) return {
103
+ value: defaultValue,
104
+ reason: "DEFAULT"
105
+ };
106
+ return {
107
+ value: value.toLowerCase() === "true" || value === "1",
108
+ reason: "STATIC",
109
+ variant: value
110
+ };
111
+ }
112
+ resolveStringEvaluation(flagKey, defaultValue) {
113
+ const value = this.flags.get(flagKey);
114
+ if (value === void 0) return {
115
+ value: defaultValue,
116
+ reason: "DEFAULT"
117
+ };
118
+ return {
119
+ value,
120
+ reason: "STATIC",
121
+ variant: value
122
+ };
123
+ }
124
+ resolveNumberEvaluation(flagKey, defaultValue) {
125
+ const value = this.flags.get(flagKey);
126
+ if (value === void 0) return {
127
+ value: defaultValue,
128
+ reason: "DEFAULT"
129
+ };
130
+ const numValue = Number(value);
131
+ if (isNaN(numValue)) return {
132
+ value: defaultValue,
133
+ reason: "ERROR",
134
+ errorCode: "PARSE_ERROR",
135
+ errorMessage: `Failed to parse "${value}" as a number`
136
+ };
137
+ return {
138
+ value: numValue,
139
+ reason: "STATIC",
140
+ variant: value
141
+ };
142
+ }
143
+ resolveObjectEvaluation(flagKey, defaultValue) {
144
+ const value = this.flags.get(flagKey);
145
+ if (value === void 0) return {
146
+ value: defaultValue,
147
+ reason: "DEFAULT"
148
+ };
149
+ try {
150
+ return {
151
+ value: JSON.parse(value),
152
+ reason: "STATIC",
153
+ variant: value
154
+ };
155
+ } catch (error) {
156
+ return {
157
+ value: defaultValue,
158
+ reason: "ERROR",
159
+ errorCode: "PARSE_ERROR",
160
+ errorMessage: `Failed to parse JSON: ${error instanceof Error ? error.message : String(error)}`
161
+ };
162
+ }
163
+ }
164
+ };
165
+ /**
166
+ * Initialize OpenFeature with the QueryParamProvider.
167
+ * Reads feature flags from query parameters.
168
+ */
169
+ async function initFeatureFlags(searchParams) {
170
+ const params = searchParams ?? (typeof window !== "undefined" ? new URLSearchParams(window.location.search) : new URLSearchParams());
171
+ const provider = new QueryParamProvider(params);
172
+ await OpenFeature.setProviderAndWait(provider);
173
+ const features = /* @__PURE__ */ new Map();
174
+ const logLevelParam = params.get("LOG_LEVEL");
175
+ if (logLevelParam) {
176
+ const validLogLevels = [
177
+ "verbose",
178
+ "debug",
179
+ "info",
180
+ "warn",
181
+ "error"
182
+ ];
183
+ if (validLogLevels.includes(logLevelParam.toLowerCase())) {
184
+ setLogLevel$1(logLevelParam.toLowerCase());
185
+ logger.info("Log level set to @level via query param", logLevelParam.toLowerCase());
186
+ } else logger.warn("Invalid LOG_LEVEL query param: @param. Valid values: @validLevels", logLevelParam, validLogLevels.join(", "));
187
+ }
188
+ return features;
189
+ }
190
+ //#endregion
191
+ //#region src/no-registry-discovery.ts
192
+ /**
193
+ * Discovery service used when no package registry is configured. Every load
194
+ * for an unknown document type is recorded as a failure with reason
195
+ * "no-registry" so the UI can surface the issue; the modal install flow is a
196
+ * no-op because there is no registry to query.
197
+ */
198
+ var NoRegistryDiscoveryService = class {
199
+ #packageManager;
200
+ #failed = /* @__PURE__ */ new Map();
201
+ #failedMemo = [];
202
+ #failedSubscribers = /* @__PURE__ */ new Set();
203
+ #eventSubscribers = /* @__PURE__ */ new Set();
204
+ constructor(packageManager) {
205
+ this.#packageManager = packageManager;
206
+ }
207
+ load(documentType) {
208
+ const existing = this.#findModuleInLoadedPackages(documentType);
209
+ if (existing) {
210
+ this.#clearFailed(documentType);
211
+ return Promise.resolve(existing);
212
+ }
213
+ this.#recordFailure(documentType);
214
+ return Promise.reject(/* @__PURE__ */ new Error(`No package registry configured; cannot resolve "${documentType}"`));
215
+ }
216
+ promptInstallation() {}
217
+ approveInstallation() {
218
+ return Promise.resolve();
219
+ }
220
+ dismissInstallation() {}
221
+ getPendingInstallations() {
222
+ return [];
223
+ }
224
+ subscribePending() {
225
+ return () => {};
226
+ }
227
+ getFailedInstallations() {
228
+ return this.#failedMemo;
229
+ }
230
+ subscribeFailed(listener) {
231
+ this.#failedSubscribers.add(listener);
232
+ return () => {
233
+ this.#failedSubscribers.delete(listener);
234
+ };
235
+ }
236
+ subscribeEvents(listener) {
237
+ this.#eventSubscribers.add(listener);
238
+ return () => {
239
+ this.#eventSubscribers.delete(listener);
240
+ };
241
+ }
242
+ retryInstallation(documentType) {
243
+ this.#recordFailure(documentType);
244
+ return Promise.resolve();
245
+ }
246
+ #findModuleInLoadedPackages(documentType) {
247
+ return this.#packageManager.packages.flatMap((p) => p.documentModels).find((m) => m.documentModel.global.id === documentType);
248
+ }
249
+ #recordFailure(documentType) {
250
+ this.#failed.set(documentType, {
251
+ documentType,
252
+ reason: "no-registry",
253
+ packageNames: [],
254
+ error: null
255
+ });
256
+ this.#emitEvent({
257
+ type: "load-failed",
258
+ documentType,
259
+ reason: "no-registry"
260
+ });
261
+ this.#notifyFailedChanged();
262
+ }
263
+ #clearFailed(documentType) {
264
+ if (this.#failed.delete(documentType)) this.#notifyFailedChanged();
265
+ }
266
+ #notifyFailedChanged() {
267
+ this.#failedMemo = Array.from(this.#failed.values());
268
+ for (const listener of this.#failedSubscribers) listener();
269
+ }
270
+ #emitEvent(event) {
271
+ for (const listener of this.#eventSubscribers) listener(event);
272
+ }
273
+ };
274
+ //#endregion
275
+ //#region src/package-discovery.ts
276
+ var PackageDiscoveryService = class {
277
+ #packageManager;
278
+ #registryClient;
279
+ #mode;
280
+ #deferred = /* @__PURE__ */ new Map();
281
+ #pending = /* @__PURE__ */ new Map();
282
+ #pendingMemo = [];
283
+ #pendingSubscribers = /* @__PURE__ */ new Set();
284
+ #failed = /* @__PURE__ */ new Map();
285
+ #failedMemo = [];
286
+ #failedSubscribers = /* @__PURE__ */ new Set();
287
+ #eventSubscribers = /* @__PURE__ */ new Set();
288
+ #dismissedStorage;
289
+ #discoveredTypes = /* @__PURE__ */ new Map();
290
+ constructor(packageManager, registryClient, options) {
291
+ this.#packageManager = packageManager;
292
+ this.#registryClient = registryClient;
293
+ this.#mode = options.mode;
294
+ this.#dismissedStorage = new BrowserLocalStorage(options.storageKey + ":PH_DISMISSED_TYPES");
295
+ }
296
+ load(documentType) {
297
+ const existing = this.#findModuleInLoadedPackages(documentType);
298
+ if (existing) {
299
+ this.#clearFailed(documentType);
300
+ return Promise.resolve(existing);
301
+ }
302
+ if (this.#dismissedStorage.has(documentType)) {
303
+ this.#recordFailure(documentType, "dismissed", [], null);
304
+ return Promise.reject(/* @__PURE__ */ new Error(`Document type "${documentType}" was dismissed`));
305
+ }
306
+ const tracked = this.#deferred.get(documentType);
307
+ if (tracked) return tracked.promise;
308
+ return this.#discover(documentType);
309
+ }
310
+ promptInstallation(documentType) {
311
+ const packageNames = this.#discoveredTypes.get(documentType);
312
+ if (!packageNames) return;
313
+ if (this.#pending.has(documentType)) return;
314
+ this.#discoveredTypes.delete(documentType);
315
+ this.#addToPending(documentType, packageNames);
316
+ }
317
+ async approveInstallation(packageName) {
318
+ const affectedTypes = this.#findTypesByPackage(packageName);
319
+ if (affectedTypes.length === 0) return;
320
+ const result = await this.#packageManager.addPackage(packageName);
321
+ if (result.type === "error") {
322
+ this.#emitEvent({
323
+ type: "installation-failed",
324
+ packageName,
325
+ error: result.error
326
+ });
327
+ for (const documentType of affectedTypes) {
328
+ const entry = this.#deferred.get(documentType);
329
+ if (entry) {
330
+ entry.reject(result.error);
331
+ this.#deferred.delete(documentType);
332
+ this.#pending.delete(documentType);
333
+ }
334
+ this.#recordFailure(documentType, "install-failed", [packageName], result.error);
335
+ }
336
+ this.#notifyPendingChanged();
337
+ return;
338
+ }
339
+ this.#emitEvent({
340
+ type: "installation-approved",
341
+ packageName,
342
+ documentTypes: affectedTypes
343
+ });
344
+ for (const documentType of affectedTypes) {
345
+ const entry = this.#deferred.get(documentType);
346
+ if (!entry) continue;
347
+ const module = this.#findModuleInLoadedPackages(documentType);
348
+ if (module) {
349
+ entry.resolve(module);
350
+ this.#clearFailed(documentType);
351
+ } else {
352
+ const error = /* @__PURE__ */ new Error(`Package "${packageName}" installed but module for "${documentType}" not found`);
353
+ entry.reject(error);
354
+ this.#recordFailure(documentType, "install-failed", [packageName], error);
355
+ }
356
+ this.#deferred.delete(documentType);
357
+ this.#pending.delete(documentType);
358
+ }
359
+ this.#notifyPendingChanged();
360
+ }
361
+ dismissInstallation(packageName) {
362
+ const affectedTypes = this.#findTypesByPackage(packageName);
363
+ if (affectedTypes.length === 0) return;
364
+ for (const documentType of affectedTypes) {
365
+ this.#dismissedStorage.set(documentType, true);
366
+ const entry = this.#deferred.get(documentType);
367
+ if (entry) entry.reject(/* @__PURE__ */ new Error(`Document type "${documentType}" was dismissed`));
368
+ this.#deferred.delete(documentType);
369
+ this.#pending.delete(documentType);
370
+ this.#discoveredTypes.delete(documentType);
371
+ this.#recordFailure(documentType, "dismissed", [packageName], null);
372
+ }
373
+ this.#emitEvent({
374
+ type: "installation-dismissed",
375
+ packageName,
376
+ documentTypes: affectedTypes
377
+ });
378
+ this.#notifyPendingChanged();
379
+ }
380
+ getPendingInstallations() {
381
+ return this.#pendingMemo;
382
+ }
383
+ subscribePending(listener) {
384
+ this.#pendingSubscribers.add(listener);
385
+ return () => {
386
+ this.#pendingSubscribers.delete(listener);
387
+ };
388
+ }
389
+ getFailedInstallations() {
390
+ return this.#failedMemo;
391
+ }
392
+ subscribeFailed(listener) {
393
+ this.#failedSubscribers.add(listener);
394
+ return () => {
395
+ this.#failedSubscribers.delete(listener);
396
+ };
397
+ }
398
+ subscribeEvents(listener) {
399
+ this.#eventSubscribers.add(listener);
400
+ return () => {
401
+ this.#eventSubscribers.delete(listener);
402
+ };
403
+ }
404
+ async retryInstallation(documentType) {
405
+ this.#dismissedStorage.delete(documentType);
406
+ this.#clearFailed(documentType);
407
+ try {
408
+ await this.#discover(documentType);
409
+ } catch {}
410
+ }
411
+ async #discover(documentType) {
412
+ let packageNames;
413
+ try {
414
+ packageNames = await this.#registryClient.getPackagesByDocumentType(documentType);
415
+ } catch (error) {
416
+ const normalized = error instanceof Error ? error : new Error(String(error));
417
+ this.#emitEvent({
418
+ type: "registry-query-failed",
419
+ documentType,
420
+ error: normalized
421
+ });
422
+ this.#recordFailure(documentType, "registry-error", [], normalized);
423
+ return Promise.reject(normalized);
424
+ }
425
+ if (packageNames.length === 0) {
426
+ this.#recordFailure(documentType, "not-in-registry", [], null);
427
+ return Promise.reject(/* @__PURE__ */ new Error(`No packages found for document type "${documentType}"`));
428
+ }
429
+ const entry = this.#createDeferredEntry(documentType, packageNames);
430
+ this.#emitEvent({
431
+ type: "type-discovered",
432
+ documentType,
433
+ packageNames
434
+ });
435
+ if (this.#mode === "immediate") this.#addToPending(documentType, packageNames);
436
+ else this.#discoveredTypes.set(documentType, packageNames);
437
+ return entry.promise;
438
+ }
439
+ #createDeferredEntry(documentType, packageNames) {
440
+ let resolve;
441
+ let reject;
442
+ const promise = new Promise((res, rej) => {
443
+ resolve = res;
444
+ reject = rej;
445
+ });
446
+ const entry = {
447
+ packageNames,
448
+ resolve,
449
+ reject,
450
+ promise
451
+ };
452
+ this.#deferred.set(documentType, entry);
453
+ return entry;
454
+ }
455
+ #addToPending(documentType, packageNames) {
456
+ const installation = {
457
+ documentType,
458
+ packageNames
459
+ };
460
+ this.#pending.set(documentType, installation);
461
+ this.#emitEvent({
462
+ type: "installation-prompted",
463
+ documentType,
464
+ packageNames
465
+ });
466
+ this.#notifyPendingChanged();
467
+ }
468
+ #findModuleInLoadedPackages(documentType) {
469
+ return this.#packageManager.packages.flatMap((p) => p.documentModels).find((m) => m.documentModel.global.id === documentType);
470
+ }
471
+ #findTypesByPackage(packageName) {
472
+ const types = [];
473
+ for (const [documentType, entry] of this.#deferred) if (entry.packageNames.includes(packageName)) types.push(documentType);
474
+ return types;
475
+ }
476
+ #notifyPendingChanged() {
477
+ this.#pendingMemo = Array.from(this.#pending.values());
478
+ for (const listener of this.#pendingSubscribers) listener();
479
+ }
480
+ #notifyFailedChanged() {
481
+ this.#failedMemo = Array.from(this.#failed.values());
482
+ for (const listener of this.#failedSubscribers) listener();
483
+ }
484
+ #recordFailure(documentType, reason, packageNames, error) {
485
+ this.#failed.set(documentType, {
486
+ documentType,
487
+ reason,
488
+ packageNames,
489
+ error
490
+ });
491
+ this.#emitEvent({
492
+ type: "load-failed",
493
+ documentType,
494
+ reason
495
+ });
496
+ this.#notifyFailedChanged();
497
+ }
498
+ #clearFailed(documentType) {
499
+ if (this.#failed.delete(documentType)) this.#notifyFailedChanged();
500
+ }
501
+ #emitEvent(event) {
502
+ for (const listener of this.#eventSubscribers) listener(event);
503
+ }
504
+ };
505
+ //#endregion
506
+ //#region src/package-manager.ts
507
+ /**
508
+ * Strip any `@tag` / `@version` suffix from a package spec, returning the bare
509
+ * package name. Mirrors `parsePackageSpec` on the UI side.
510
+ */
511
+ function parseBareName(spec) {
512
+ const trimmed = spec.trim();
513
+ const at = trimmed.startsWith("@") ? trimmed.lastIndexOf("@") : trimmed.indexOf("@");
514
+ return at > 0 ? trimmed.slice(0, at) : trimmed;
515
+ }
516
+ async function fetchPackageJsonVersion(baseUrl) {
517
+ try {
518
+ const res = await fetch(baseUrl);
519
+ if (!res.ok) return void 0;
520
+ const pkg = await res.json();
521
+ return typeof pkg.version === "string" ? pkg.version : void 0;
522
+ } catch {
523
+ return;
524
+ }
525
+ }
526
+ const LOCAL_PACKAGE_NAME = "Local";
527
+ var BrowserPackageManager = class {
528
+ registryUrl;
529
+ #storage;
530
+ #packages = /* @__PURE__ */ new Map();
531
+ #subscribers = /* @__PURE__ */ new Set();
532
+ #packagesMemo = [];
533
+ #stylesheets = /* @__PURE__ */ new Map();
534
+ #localPackage;
535
+ #cdnUrl;
536
+ #localPackageVersion;
537
+ #localPackageNames = new Set([LOCAL_PACKAGE_NAME]);
538
+ constructor(namespace, registryUrl) {
539
+ this.#storage = new BrowserLocalStorage(namespace + ":PH_PACKAGES");
540
+ this.registryUrl = registryUrl;
541
+ this.#cdnUrl = registryUrl !== null ? this.#toCdnUrl(registryUrl) : null;
542
+ }
543
+ #toCdnUrl(baseUrl) {
544
+ if (baseUrl.includes("/-/cdn")) return baseUrl;
545
+ return `${baseUrl.endsWith("/") ? baseUrl.slice(0, -1) : baseUrl}/-/cdn`;
546
+ }
547
+ async init(localPackage, localPackageVersion) {
548
+ this.addLocalPackage(common.manifest.name, common, commonPkg.version);
549
+ this.addLocalPackage(vetra.manifest.name, vetra, vetraPkg.version);
550
+ if (localPackage) this.updateLocalPackage(localPackage, localPackageVersion);
551
+ for (const packageName of this.#storage.keys()) {
552
+ const specForReload = this.#storage.get(packageName)?.spec ?? packageName;
553
+ console.debug(`[Connect][PackageManager] Rehydrating "${packageName}" via spec "${specForReload}"`);
554
+ if ((await this.addPackage(specForReload)).type === "error") this.#storage.delete(packageName);
555
+ }
556
+ }
557
+ addLocalPackage(name, loadedPackage, version) {
558
+ this.#localPackageNames.add(name);
559
+ this.#registerPackage({
560
+ name,
561
+ importUrl: null,
562
+ stylesheetUrl: null,
563
+ loadedPackage,
564
+ version
565
+ });
566
+ }
567
+ updateLocalPackage(pkg, version) {
568
+ console.debug("Updating local package:", pkg);
569
+ this.#localPackage = pkg;
570
+ this.#registerPackage({
571
+ name: LOCAL_PACKAGE_NAME,
572
+ stylesheetUrl: null,
573
+ importUrl: null,
574
+ loadedPackage: pkg
575
+ });
576
+ if (version) {
577
+ this.#localPackageVersion = version;
578
+ this.#notifyPackagesChanged();
579
+ return;
580
+ }
581
+ fetchPackageJsonVersion("/package.json").then((fetchedVersion) => {
582
+ this.#localPackageVersion = fetchedVersion;
583
+ if (fetchedVersion) this.#notifyPackagesChanged();
584
+ }).catch(() => {});
585
+ }
586
+ get packages() {
587
+ return this.#packagesMemo;
588
+ }
589
+ get cdnUrl() {
590
+ return this.#cdnUrl;
591
+ }
592
+ getPackageSource(packageName) {
593
+ if (this.#localPackageNames.has(packageName)) return "common";
594
+ if (packageName === this.#localPackage?.manifest.name) return "project";
595
+ const packageMeta = this.#storage.get(packageName);
596
+ if (!packageMeta) return null;
597
+ if (packageMeta.importUrl === `/node_modules/${packageName}`) return "local-install";
598
+ return "registry-install";
599
+ }
600
+ getPackageVersion(packageName) {
601
+ if (packageName === this.#localPackage?.manifest.name) return this.#localPackageVersion;
602
+ return this.#storage.get(packageName)?.version;
603
+ }
604
+ async addPackage(packageSpec) {
605
+ const bareName = parseBareName(packageSpec);
606
+ const hasTagOrVersion = bareName !== packageSpec;
607
+ console.debug(`[Connect][PackageManager] addPackage spec="${packageSpec}" bareName="${bareName}"`);
608
+ const existingPackage = this.#packages.get(bareName);
609
+ if (existingPackage) {
610
+ console.debug(`[Connect][PackageManager] "${bareName}" already loaded; skipping re-fetch`);
611
+ return {
612
+ type: "success",
613
+ package: existingPackage
614
+ };
615
+ }
616
+ try {
617
+ const packageWithMeta = await this.#loadPackage(packageSpec);
618
+ packageWithMeta.name = bareName;
619
+ if (hasTagOrVersion) packageWithMeta.spec = packageSpec;
620
+ this.#registerPackage(packageWithMeta);
621
+ return {
622
+ type: "success",
623
+ package: packageWithMeta.loadedPackage
624
+ };
625
+ } catch (error) {
626
+ const normalized = error instanceof Error ? error : new Error(String(error));
627
+ console.error(`[Connect][PackageManager] Failed to install package "${packageSpec}": ${normalized.message}`, normalized);
628
+ return {
629
+ type: "error",
630
+ error: normalized
631
+ };
632
+ }
633
+ }
634
+ async addPackages(packageNames) {
635
+ const results = [];
636
+ for (const packageName of packageNames) {
637
+ const result = await this.addPackage(packageName);
638
+ results.push(result);
639
+ }
640
+ return results;
641
+ }
642
+ removePackage(name) {
643
+ this.#packages.delete(name);
644
+ this.#storage.delete(name);
645
+ this.#unmountStylesheet(name);
646
+ this.#notifyPackagesChanged();
647
+ }
648
+ subscribe(handler) {
649
+ this.#subscribers.add(handler);
650
+ return () => {
651
+ this.#subscribers.delete(handler);
652
+ };
653
+ }
654
+ load(documentType) {
655
+ const documentModelModule = Array.from(this.#packages.values().flatMap((p) => p.documentModels)).find((m) => m.documentModel.global.id === documentType);
656
+ if (documentModelModule) return Promise.resolve(documentModelModule);
657
+ return Promise.reject(/* @__PURE__ */ new Error("Model not available"));
658
+ }
659
+ async #loadPackageFromNodeModules(name) {
660
+ const importUrl = `/node_modules/${name}/browser/index.js`;
661
+ const stylesheetUrl = `/node_modules/${name}/style.css`;
662
+ const packageWithMeta = await this.#importPackage({
663
+ name,
664
+ importUrl,
665
+ stylesheetUrl
666
+ });
667
+ packageWithMeta.version = await fetchPackageJsonVersion(`/node_modules/${name}/package.json`);
668
+ return packageWithMeta;
669
+ }
670
+ async #loadPackageFromRegistry(name) {
671
+ const importUrl = `${this.#cdnUrl}/${name}/browser/index.js`;
672
+ const stylesheetUrl = `${this.#cdnUrl}/${name}/style.css`;
673
+ const packageWithMeta = await this.#importPackage({
674
+ name,
675
+ importUrl,
676
+ stylesheetUrl
677
+ });
678
+ packageWithMeta.version = await fetchPackageJsonVersion(`${this.#cdnUrl}/${name}/package.json`);
679
+ return packageWithMeta;
680
+ }
681
+ async #importPackage(packageMeta) {
682
+ const { name, importUrl, stylesheetUrl } = packageMeta;
683
+ if (!importUrl) throw new Error(`Import url not defined for package "${name}".`);
684
+ return {
685
+ name,
686
+ loadedPackage: await import(
687
+ /* @vite-ignore */
688
+ importUrl
689
+ ),
690
+ importUrl,
691
+ stylesheetUrl
692
+ };
693
+ }
694
+ async #loadPackage(packageName) {
695
+ if (this.#localPackageNames.has(packageName)) throw new Error(`Package "${packageName}" is a local package and cannot be loaded dynamically.`);
696
+ if (!import.meta.env.PROD) try {
697
+ return await this.#loadPackageFromNodeModules(packageName);
698
+ } catch (error) {
699
+ console.warn(`Failed to load package "${packageName}" from node_modules:`, error);
700
+ }
701
+ if (!this.registryUrl) throw new Error("Registry url not defined.");
702
+ return await this.#loadPackageFromRegistry(packageName);
703
+ }
704
+ #registerPackage(packageWithMeta) {
705
+ const { name, loadedPackage, importUrl, stylesheetUrl, version, spec } = packageWithMeta;
706
+ if (stylesheetUrl !== null) this.#mountStylesheet(name, stylesheetUrl);
707
+ this.#packages.set(name, loadedPackage);
708
+ this.#storage.set(name, {
709
+ name,
710
+ importUrl,
711
+ stylesheetUrl,
712
+ version,
713
+ ...spec ? { spec } : {}
714
+ });
715
+ console.debug(`[Connect][PackageManager] Registered "${name}" (version=${version ?? "?"}, spec=${spec ?? "—"})`);
716
+ this.#notifyPackagesChanged();
717
+ }
718
+ #mountStylesheet(name, href) {
719
+ const existing = this.#stylesheets.get(name);
720
+ if (existing) return existing;
721
+ const link = document.createElement("link");
722
+ link.rel = "stylesheet";
723
+ link.href = href;
724
+ document.head.appendChild(link);
725
+ this.#stylesheets.set(name, link);
726
+ }
727
+ #unmountStylesheet(name) {
728
+ const link = this.#stylesheets.get(name);
729
+ if (!link) return;
730
+ link.remove();
731
+ this.#stylesheets.delete(name);
732
+ }
733
+ #notifyPackagesChanged() {
734
+ this.#packagesMemo = Array.from(this.#packages.values());
735
+ const packages = this.packages;
736
+ this.#subscribers.forEach((handler) => {
737
+ handler({ packages });
738
+ });
739
+ }
740
+ };
741
+ //#endregion
742
+ //#region src/pglite.db.ts
743
+ async function createPGliteWorkerForMajor(major) {
744
+ if (major === 16) {
745
+ const [legacyWorker, legacyLive] = await Promise.all([import("pglite-legacy-02/worker"), import("pglite-legacy-02/live")]);
746
+ const worker = new Worker(new URL("./pglite.worker.legacy.js", import.meta.url), { type: "module" });
747
+ return legacyWorker.PGliteWorker.create(worker, { extensions: { live: legacyLive.live } });
748
+ }
749
+ const [{ PGliteWorker }, { live }] = await Promise.all([import("@electric-sql/pglite/worker"), import("@electric-sql/pglite/live")]);
750
+ const worker = new Worker(new URL("./pglite.worker.js", import.meta.url), { type: "module" });
751
+ return PGliteWorker.create(worker, { extensions: { live } });
752
+ }
753
+ async function getDb() {
754
+ const major = resolvePgMajorForRuntime(await detectRelationalPgMajor());
755
+ if (major !== 17) console.warn(`[reactor] Relational worker is opening legacy Postgres ${major} data dir. Migrate to PG17 from the banner or the Inspector → Debug tab.`);
756
+ const pgLite = await createPGliteWorkerForMajor(major);
757
+ return {
758
+ pgLite,
759
+ relationalDb: createRelationalDb(new Kysely({ dialect: new PGliteDialect(pgLite) }))
760
+ };
761
+ }
762
+ //#endregion
763
+ //#region src/store/processor-host-module.ts
764
+ async function createProcessorHostModule(reactorClient, readModels) {
765
+ try {
766
+ const { pgLite, relationalDb } = await getDb();
767
+ const { store: analyticsStore } = await createAnalyticsStore({ pgLite });
768
+ return {
769
+ relationalDb,
770
+ analyticsStore,
771
+ processorApp: "connect",
772
+ dispatch: { async execute(docId, branch, actions, signal) {
773
+ const jobInfo = await reactorClient.executeAsync(docId, branch, actions, signal);
774
+ return {
775
+ id: jobInfo.id,
776
+ status: jobInfo.status
777
+ };
778
+ } },
779
+ getReadModel(name) {
780
+ const model = readModels.find((m) => m.name === name);
781
+ if (!model) throw new Error(`Read model "${name}" not found`);
782
+ return model;
783
+ }
784
+ };
785
+ } catch (error) {
786
+ console.error(`Failed to initialize processor host module:`);
787
+ console.error(error);
788
+ }
789
+ }
790
+ //#endregion
791
+ //#region src/store/reactor.ts
792
+ async function clearReactorStorage() {
793
+ await window.ph?.reactorClientModule?.pg?.close();
794
+ const targets = (await indexedDB.databases()).map((d) => d.name).filter((n) => !!n && !n.startsWith("ph-pglite-backup::") && /pglite|reactor/i.test(n));
795
+ await Promise.all(targets.map((name) => new Promise((resolve) => {
796
+ const req = indexedDB.deleteDatabase(name);
797
+ req.onsuccess = req.onerror = req.onblocked = () => resolve();
798
+ })));
799
+ }
800
+ async function createReactor(localPackage) {
801
+ if (!window.ph) window.ph = {};
802
+ if (window.ph.loading) return;
803
+ window.ph.loading = true;
804
+ addPHEventHandlers();
805
+ setPHToast(toast);
806
+ const features = await initFeatureFlags();
807
+ logger.info("Features: @features", JSON.stringify(Object.fromEntries(features), null, 2));
808
+ const keyPairStorage = await BrowserKeyStorage.create();
809
+ const renownCrypto = await new RenownCryptoBuilder().withKeyPairStorage(keyPairStorage).build();
810
+ const renown = await new RenownBuilder("connect", {
811
+ basename: phGlobalConfigFromEnv.routerBasename,
812
+ baseUrl: phGlobalConfigFromEnv.renownUrl
813
+ }).withCrypto(renownCrypto).build();
814
+ const packagesConfig = await loadPackagesConfig();
815
+ const packageManager = new BrowserPackageManager(phGlobalConfigFromEnv.routerBasename ?? "", packagesConfig.registryUrl ?? null);
816
+ setVetraPackageManager(packageManager);
817
+ await packageManager.init(localPackage, packagesConfig.localPackage?.version);
818
+ try {
819
+ const { default: registerBundledPackages } = await import("ph-bundled-packages-virtual");
820
+ registerBundledPackages(packageManager);
821
+ } catch {}
822
+ (await packageManager.addPackages(packagesConfig.packages)).map((r) => {
823
+ if (r.type === "error") console.error(r.error);
824
+ });
825
+ const documentModelModules = packageManager.packages.flatMap((pkg) => pkg.documentModels).filter((module, index, modules) => modules.findIndex((m) => m.documentModel.global.id === module.documentModel.global.id && m.version === module.version) === index);
826
+ const upgradeManifests = packageManager.packages.flatMap((pkg) => pkg.upgradeManifests).filter((manifest, index, manifests) => manifest !== void 0 && manifests.findIndex((m) => m && m.documentType === manifest.documentType) === index);
827
+ const discoveryService = packageManager.cdnUrl !== null ? new PackageDiscoveryService(packageManager, new RegistryClient(packageManager.cdnUrl), {
828
+ mode: "immediate",
829
+ storageKey: phGlobalConfigFromEnv.routerBasename ?? ""
830
+ }) : new NoRegistryDiscoveryService(packageManager);
831
+ setPackageDiscoveryService(discoveryService);
832
+ const reactorClientModule = await createBrowserReactor(documentModelModules, upgradeManifests, renown, discoveryService);
833
+ const drives = await getDrives(reactorClientModule.client);
834
+ const path = window.location.pathname;
835
+ const driveSlug = extractDriveSlugFromPath(path);
836
+ const nodeSlug = extractNodeSlugFromPath(path);
837
+ await login(getDidFromUrl(), renown);
838
+ const documentCache = new DocumentCache(reactorClientModule.client);
839
+ setDefaultPHGlobalConfig(phGlobalConfigFromEnv);
840
+ setReactorClientModule(reactorClientModule);
841
+ setReactorClient(reactorClientModule.client);
842
+ setDocumentCache(documentCache);
843
+ setRenown(renown);
844
+ setDrives(drives);
845
+ setSelectedDrive(driveSlug);
846
+ setSelectedNode(nodeSlug);
847
+ setFeatures(features);
848
+ const defaultDrivesConfig = getDefaultDrivesFromEnv();
849
+ if (defaultDrivesConfig.length > 0) await addDefaultDrivesForNewReactor(defaultDrivesConfig);
850
+ const remoteUrl = getDriveUrl();
851
+ if (remoteUrl) try {
852
+ await addRemoteDrive(remoteUrl);
853
+ } catch (error) {
854
+ console.error(`Failed to add remote drive from ${remoteUrl}:`, error);
855
+ }
856
+ const reactorClient = reactorClientModule.client;
857
+ reactorClient.subscribe({ type: "powerhouse/document-drive" }, (event) => {
858
+ logger.verbose("ReactorClient subscription event: @event", event);
859
+ refreshReactorDataClient(reactorClientModule.client).catch((e) => logger.error("@error", e));
860
+ });
861
+ reactorClient.subscribe({}, (event) => {
862
+ if (event.type !== DocumentChangeType.Deleted) return;
863
+ const deletedId = event.context?.childId;
864
+ if (!deletedId) return;
865
+ const selectedDriveId = window.ph?.selectedDriveId;
866
+ const selectedNodeId = window.ph?.selectedNodeId;
867
+ if (selectedDriveId && deletedId === selectedDriveId) {
868
+ setSelectedDrive(void 0);
869
+ toast("The drive you were viewing has been deleted");
870
+ return;
871
+ }
872
+ if (selectedNodeId && deletedId === selectedNodeId) {
873
+ setSelectedNode(void 0);
874
+ toast("The document you were editing has been deleted");
875
+ }
876
+ });
877
+ await refreshReactorDataClient(reactorClientModule.client);
878
+ const packagesWithProcessorFactories = packageManager.packages.filter((pkg) => pkg.processorFactory !== void 0);
879
+ if (packagesWithProcessorFactories.length > 0) {
880
+ const readModels = reactorClientModule.reactorModule?.readModelCoordinator?.readModels ?? [];
881
+ const processorHostModule = await createProcessorHostModule(reactorClientModule.client, readModels);
882
+ if (processorHostModule !== void 0) await Promise.all(packagesWithProcessorFactories.map(async (pkg) => {
883
+ const { manifest, processorFactory } = pkg;
884
+ const name = manifest.name;
885
+ const id = manifest.name;
886
+ const version = packageManager.getPackageVersion(name);
887
+ const label = version ? `${name}@${version}` : name;
888
+ logger.info("Loading processor factory: @label", label);
889
+ try {
890
+ const factory = await processorFactory?.(processorHostModule);
891
+ if (!factory) return;
892
+ await reactorClientModule.reactorModule?.processorManager.registerFactory(id, factory);
893
+ } catch (error) {
894
+ logger.error(`Error registering processor: @label`, label);
895
+ logger.error("@error", error);
896
+ }
897
+ }));
898
+ }
899
+ window.ph.loading = false;
900
+ }
901
+ function getDidFromUrl() {
902
+ const didComponent = new URLSearchParams(window.location.search).get("user");
903
+ return didComponent ? decodeURIComponent(didComponent) : void 0;
904
+ }
905
+ function getDriveUrl() {
906
+ const driveUrl = new URLSearchParams(window.location.search).get("driveUrl");
907
+ return driveUrl ? decodeURIComponent(driveUrl) : void 0;
908
+ }
909
+ //#endregion
910
+ export { createReactor as n, clearReactorStorage as t };
911
+
912
+ //# sourceMappingURL=reactor-DFuRedvV.js.map
913
+ //# debugId=21506f07-3c8e-5e4e-9317-9b57a4c695bc