@powerhousedao/shared 6.2.3-dev.3 → 6.2.3-dev.31

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 (269) hide show
  1. package/dist/analytics/index.d.ts +4 -4
  2. package/dist/analytics/index.d.ts.map +1 -1
  3. package/dist/analytics/index.js +25 -24
  4. package/dist/analytics/index.js.map +1 -1
  5. package/dist/clis/args/{access-token-To5LaIfL.mjs → access-token-3Hqv_U8I.mjs} +2 -2
  6. package/dist/clis/args/{access-token-To5LaIfL.mjs.map → access-token-3Hqv_U8I.mjs.map} +1 -1
  7. package/dist/clis/args/access-token-C5sKsH2O.d.mts +16 -0
  8. package/dist/clis/args/access-token-C5sKsH2O.d.mts.map +1 -0
  9. package/dist/clis/args/access-token.d.mts +3 -2
  10. package/dist/clis/args/access-token.mjs +1 -1
  11. package/dist/clis/args/{common-CcYbXrBx.mjs → common-BXabdhiO.mjs} +30 -7
  12. package/dist/clis/args/common-BXabdhiO.mjs.map +1 -0
  13. package/dist/clis/args/common-Bnm859xU.d.mts +186 -0
  14. package/dist/clis/args/common-Bnm859xU.d.mts.map +1 -0
  15. package/dist/clis/args/common.d.mts +3 -2
  16. package/dist/clis/args/common.mjs +1 -1
  17. package/dist/clis/args/{connect-BVVvCmL9.mjs → connect-BG3HkYBk.mjs} +8 -3
  18. package/dist/clis/args/connect-BG3HkYBk.mjs.map +1 -0
  19. package/dist/clis/args/connect-DjeiqXus.d.mts +450 -0
  20. package/dist/clis/args/connect-DjeiqXus.d.mts.map +1 -0
  21. package/dist/clis/args/connect.d.mts +3 -2
  22. package/dist/clis/args/connect.mjs +1 -1
  23. package/dist/clis/args/{generate-CA916Fvj.mjs → generate-BOItUNvP.mjs} +40 -2
  24. package/dist/clis/args/generate-BOItUNvP.mjs.map +1 -0
  25. package/dist/clis/args/generate-BPBBLeUD.d.mts +103 -0
  26. package/dist/clis/args/generate-BPBBLeUD.d.mts.map +1 -0
  27. package/dist/clis/args/generate.d.mts +3 -2
  28. package/dist/clis/args/generate.mjs +1 -1
  29. package/dist/clis/args/{help-Bqbgbalu.mjs → help-DS1NlcJQ.mjs} +15 -15
  30. package/dist/clis/args/{help-Bqbgbalu.mjs.map → help-DS1NlcJQ.mjs.map} +1 -1
  31. package/dist/clis/args/help-DVPTARGn.d.mts +190 -0
  32. package/dist/clis/args/help-DVPTARGn.d.mts.map +1 -0
  33. package/dist/clis/args/help.d.mts +3 -2
  34. package/dist/clis/args/help.mjs +1 -1
  35. package/dist/clis/args/index.d.mts +20 -19
  36. package/dist/clis/args/index.mjs +18 -18
  37. package/dist/clis/args/init-CFeTq4Cq.d.mts +52 -0
  38. package/dist/clis/args/init-CFeTq4Cq.d.mts.map +1 -0
  39. package/dist/clis/args/{init-rz9Ei7nq.mjs → init-Dvb42Y87.mjs} +2 -2
  40. package/dist/clis/args/{init-rz9Ei7nq.mjs.map → init-Dvb42Y87.mjs.map} +1 -1
  41. package/dist/clis/args/init.d.mts +3 -2
  42. package/dist/clis/args/init.mjs +1 -1
  43. package/dist/clis/args/inspect-BjRmtB86.d.mts +13 -0
  44. package/dist/clis/args/inspect-BjRmtB86.d.mts.map +1 -0
  45. package/dist/clis/args/{inspect-tckH8mSw.mjs → inspect-UNQgtuR0.mjs} +2 -2
  46. package/dist/clis/args/{inspect-tckH8mSw.mjs.map → inspect-UNQgtuR0.mjs.map} +1 -1
  47. package/dist/clis/args/inspect.d.mts +3 -2
  48. package/dist/clis/args/inspect.mjs +1 -1
  49. package/dist/clis/args/install-B0tMyUMw.d.mts +37 -0
  50. package/dist/clis/args/install-B0tMyUMw.d.mts.map +1 -0
  51. package/dist/clis/args/{install-Sz2DlCHh.mjs → install-F-27kF6m.mjs} +2 -2
  52. package/dist/clis/args/{install-Sz2DlCHh.mjs.map → install-F-27kF6m.mjs.map} +1 -1
  53. package/dist/clis/args/install.d.mts +3 -2
  54. package/dist/clis/args/install.mjs +1 -1
  55. package/dist/clis/args/{list-DM2d6f1m.mjs → list-Bkfn8Yuo.mjs} +2 -2
  56. package/dist/clis/args/{list-DM2d6f1m.mjs.map → list-Bkfn8Yuo.mjs.map} +1 -1
  57. package/dist/clis/args/list-DrbxA7JJ.d.mts +10 -0
  58. package/dist/clis/args/list-DrbxA7JJ.d.mts.map +1 -0
  59. package/dist/clis/args/list.d.mts +3 -2
  60. package/dist/clis/args/list.mjs +1 -1
  61. package/dist/clis/args/{login-DiKT5Jfu.mjs → login-CIFkQExi.mjs} +2 -2
  62. package/dist/clis/args/{login-DiKT5Jfu.mjs.map → login-CIFkQExi.mjs.map} +1 -1
  63. package/dist/clis/args/login-CXRJXg71.d.mts +25 -0
  64. package/dist/clis/args/login-CXRJXg71.d.mts.map +1 -0
  65. package/dist/clis/args/login.d.mts +3 -2
  66. package/dist/clis/args/login.mjs +1 -1
  67. package/dist/clis/args/{magic-string.es-h_0HDQBQ.mjs → magic-string.es-BWtG0AyA.mjs} +33 -27
  68. package/dist/clis/args/magic-string.es-BWtG0AyA.mjs.map +1 -0
  69. package/dist/clis/args/migrate-DkCQRL2D.d.mts +19 -0
  70. package/dist/clis/args/migrate-DkCQRL2D.d.mts.map +1 -0
  71. package/dist/clis/args/{migrate-CG_gWc4k.mjs → migrate-DwJGhc2d.mjs} +2 -2
  72. package/dist/clis/args/{migrate-CG_gWc4k.mjs.map → migrate-DwJGhc2d.mjs.map} +1 -1
  73. package/dist/clis/args/migrate.d.mts +3 -2
  74. package/dist/clis/args/migrate.mjs +1 -1
  75. package/dist/clis/args/publish-CeW4bOrl.d.mts +16 -0
  76. package/dist/clis/args/publish-CeW4bOrl.d.mts.map +1 -0
  77. package/dist/clis/args/{publish-DDZYsUfV.mjs → publish-DHqlGWmL.mjs} +2 -2
  78. package/dist/clis/args/{publish-DDZYsUfV.mjs.map → publish-DHqlGWmL.mjs.map} +1 -1
  79. package/dist/clis/args/publish.d.mts +3 -2
  80. package/dist/clis/args/publish.mjs +1 -1
  81. package/dist/clis/args/{registry-C_OVFQmI.mjs → registry-DIwES3l2.mjs} +2 -2
  82. package/dist/clis/args/{registry-C_OVFQmI.mjs.map → registry-DIwES3l2.mjs.map} +1 -1
  83. package/dist/clis/args/registry-DNH8xuaE.d.mts +17 -0
  84. package/dist/clis/args/registry-DNH8xuaE.d.mts.map +1 -0
  85. package/dist/clis/args/registry.d.mts +3 -2
  86. package/dist/clis/args/registry.mjs +1 -1
  87. package/dist/clis/args/service-BBx5GDTc.d.mts +27 -0
  88. package/dist/clis/args/service-BBx5GDTc.d.mts.map +1 -0
  89. package/dist/clis/args/{service-CHOOr0Gg.mjs → service-Cpjlyeu5.mjs} +2 -2
  90. package/dist/clis/args/{service-CHOOr0Gg.mjs.map → service-Cpjlyeu5.mjs.map} +1 -1
  91. package/dist/clis/args/service.d.mts +3 -2
  92. package/dist/clis/args/service.mjs +1 -1
  93. package/dist/clis/args/{switchboard-Dsp7nosi.mjs → switchboard-CCaAtU56.mjs} +2 -2
  94. package/dist/clis/args/{switchboard-Dsp7nosi.mjs.map → switchboard-CCaAtU56.mjs.map} +1 -1
  95. package/dist/clis/args/switchboard-RrNb1fUH.d.mts +70 -0
  96. package/dist/clis/args/switchboard-RrNb1fUH.d.mts.map +1 -0
  97. package/dist/clis/args/switchboard.d.mts +3 -2
  98. package/dist/clis/args/switchboard.mjs +1 -1
  99. package/dist/clis/args/{uninstall-CTwTX0u_.mjs → uninstall-3U0B8g5c.mjs} +2 -2
  100. package/dist/clis/args/{uninstall-CTwTX0u_.mjs.map → uninstall-3U0B8g5c.mjs.map} +1 -1
  101. package/dist/clis/args/uninstall-CDx7lwxn.d.mts +28 -0
  102. package/dist/clis/args/uninstall-CDx7lwxn.d.mts.map +1 -0
  103. package/dist/clis/args/uninstall.d.mts +3 -2
  104. package/dist/clis/args/uninstall.mjs +1 -1
  105. package/dist/clis/args/unpublish-CEDsk6uv.d.mts +22 -0
  106. package/dist/clis/args/unpublish-CEDsk6uv.d.mts.map +1 -0
  107. package/dist/clis/args/{unpublish-BPMkGEg5.mjs → unpublish-s9zUh6Gw.mjs} +2 -2
  108. package/dist/clis/args/{unpublish-BPMkGEg5.mjs.map → unpublish-s9zUh6Gw.mjs.map} +1 -1
  109. package/dist/clis/args/unpublish.d.mts +3 -2
  110. package/dist/clis/args/unpublish.mjs +1 -1
  111. package/dist/clis/args/{vetra-b4KUu1Ax.mjs → vetra-BUNlAAPp.mjs} +2 -2
  112. package/dist/clis/args/{vetra-b4KUu1Ax.mjs.map → vetra-BUNlAAPp.mjs.map} +1 -1
  113. package/dist/clis/args/vetra-DkDaWFPi.d.mts +111 -0
  114. package/dist/clis/args/vetra-DkDaWFPi.d.mts.map +1 -0
  115. package/dist/clis/args/vetra-ports.test.d.mts +2 -1
  116. package/dist/clis/args/vetra-ports.test.mjs +285 -180
  117. package/dist/clis/args/vetra-ports.test.mjs.map +1 -1
  118. package/dist/clis/args/vetra.d.mts +3 -2
  119. package/dist/clis/args/vetra.mjs +1 -1
  120. package/dist/clis/build-config-CmdMi_wu.mjs +230 -0
  121. package/dist/clis/build-config-CmdMi_wu.mjs.map +1 -0
  122. package/dist/clis/build-config.d.mts +44 -10614
  123. package/dist/clis/build-config.d.mts.map +1 -1
  124. package/dist/clis/build-config.mjs +2 -88
  125. package/dist/clis/build-pieces.d.mts +100 -0
  126. package/dist/clis/build-pieces.d.mts.map +1 -0
  127. package/dist/clis/build-pieces.mjs +371 -0
  128. package/dist/clis/build-pieces.mjs.map +1 -0
  129. package/dist/clis/command-names.d.mts +2 -2
  130. package/dist/clis/command-names.d.mts.map +1 -1
  131. package/dist/clis/command-names.mjs.map +1 -1
  132. package/dist/clis/constants.d.mts +3 -462
  133. package/dist/clis/constants.mjs +25 -8
  134. package/dist/clis/constants.mjs.map +1 -1
  135. package/dist/clis/index-6CZwrmQi.d.mts +11154 -0
  136. package/dist/clis/index-6CZwrmQi.d.mts.map +1 -0
  137. package/dist/clis/index.d.mts +1335 -1221
  138. package/dist/clis/index.d.mts.map +1 -1
  139. package/dist/clis/index.mjs +181 -64
  140. package/dist/clis/index.mjs.map +1 -1
  141. package/dist/clis/project-env.d.mts +4 -4
  142. package/dist/clis/project-env.d.mts.map +1 -1
  143. package/dist/clis/project-env.mjs.map +1 -1
  144. package/dist/clis/project-ports.d.mts +5 -5
  145. package/dist/clis/project-ports.d.mts.map +1 -1
  146. package/dist/clis/project-ports.mjs +1 -1
  147. package/dist/clis/project-ports.mjs.map +1 -1
  148. package/dist/clis/services/telemetry.d.mts +7 -7
  149. package/dist/clis/services/telemetry.d.mts.map +1 -1
  150. package/dist/clis/services/telemetry.mjs.map +1 -1
  151. package/dist/clis/types-CMFHKrgv.d.mts +528 -0
  152. package/dist/clis/types-CMFHKrgv.d.mts.map +1 -0
  153. package/dist/clis/utils.d.mts +4 -4
  154. package/dist/clis/utils.d.mts.map +1 -1
  155. package/dist/clis/utils.mjs.map +1 -1
  156. package/dist/{config-loader-B845Hidf.js → config-loader-CWQxMERh.js} +22 -8
  157. package/dist/config-loader-CWQxMERh.js.map +1 -0
  158. package/dist/connect/config-loader.d.ts +14 -8
  159. package/dist/connect/config-loader.d.ts.map +1 -1
  160. package/dist/connect/config-loader.js +2 -2
  161. package/dist/connect/index.d.ts +158 -56
  162. package/dist/connect/index.d.ts.map +1 -1
  163. package/dist/connect/index.js +271 -30
  164. package/dist/connect/index.js.map +1 -1
  165. package/dist/connect/json-adapter.d.ts +3 -4
  166. package/dist/connect/json-adapter.d.ts.map +1 -1
  167. package/dist/connect/json-adapter.js.map +1 -1
  168. package/dist/{constants-BP_gjn8g.d.ts → constants-DO4IYxuR.d.ts} +2 -1
  169. package/dist/constants-DO4IYxuR.d.ts.map +1 -0
  170. package/dist/constants.d.ts +3 -2
  171. package/dist/constants.js.map +1 -1
  172. package/dist/document-drive/index.d.ts +134 -100
  173. package/dist/document-drive/index.d.ts.map +1 -1
  174. package/dist/document-drive/index.js +120 -52
  175. package/dist/document-drive/index.js.map +1 -1
  176. package/dist/document-model/index.d.ts +5 -4
  177. package/dist/document-model/index.js +449 -227
  178. package/dist/document-model/index.js.map +1 -1
  179. package/dist/document-model/mock.d.ts +2 -3
  180. package/dist/document-model/mock.d.ts.map +1 -1
  181. package/dist/document-model/mock.js +2 -1
  182. package/dist/document-model/mock.js.map +1 -1
  183. package/dist/document-model/utils.d.ts +3 -2
  184. package/dist/document-model/utils.js +1 -1
  185. package/dist/{index-DyYIJtVy.d.ts → index-CDDyUSHE.d.ts} +40 -28
  186. package/dist/index-CDDyUSHE.d.ts.map +1 -0
  187. package/dist/index-D0JljlgO.d.ts +36 -0
  188. package/dist/index-D0JljlgO.d.ts.map +1 -0
  189. package/dist/index.d.ts +7 -6
  190. package/dist/index.js.map +1 -1
  191. package/dist/processors/index.d.ts +3 -2
  192. package/dist/processors/index.js +5 -1
  193. package/dist/processors/index.js.map +1 -1
  194. package/dist/registry/index.d.ts +15 -15
  195. package/dist/registry/index.d.ts.map +1 -1
  196. package/dist/registry/index.js +14 -5
  197. package/dist/registry/index.js.map +1 -1
  198. package/dist/registry/manifest-slim.d.ts +4 -3
  199. package/dist/registry/manifest-slim.d.ts.map +1 -1
  200. package/dist/registry/manifest-slim.js +21 -0
  201. package/dist/registry/manifest-slim.js.map +1 -1
  202. package/dist/registry/updates.d.ts +3 -3
  203. package/dist/registry/updates.d.ts.map +1 -1
  204. package/dist/registry/updates.js.map +1 -1
  205. package/dist/registry/urls.d.ts +2 -2
  206. package/dist/registry/urls.d.ts.map +1 -1
  207. package/dist/registry/urls.js.map +1 -1
  208. package/dist/{types-C1in4fl3.d.ts → types-Bsp8VL2y.d.ts} +2 -2
  209. package/dist/types-Bsp8VL2y.d.ts.map +1 -0
  210. package/dist/{types-YqLqb0Zb.d.ts → types-VDHUeQnm.d.ts} +23 -35
  211. package/dist/types-VDHUeQnm.d.ts.map +1 -0
  212. package/dist/{types-CpnWmiFY.d.ts → types-xLPOHE23.d.ts} +593 -437
  213. package/dist/types-xLPOHE23.d.ts.map +1 -0
  214. package/dist/{utils-DP122OSS.d.ts → utils-BrKxCmKx.d.ts} +2 -2
  215. package/dist/utils-BrKxCmKx.d.ts.map +1 -0
  216. package/dist/{utils-aaTmfxFW.js → utils-XotexSsQ.js} +3 -2
  217. package/dist/{utils-aaTmfxFW.js.map → utils-XotexSsQ.js.map} +1 -1
  218. package/package.json +10 -5
  219. package/dist/clis/args/access-token--9H57y8J.d.mts +0 -18
  220. package/dist/clis/args/access-token--9H57y8J.d.mts.map +0 -1
  221. package/dist/clis/args/common-CcYbXrBx.mjs.map +0 -1
  222. package/dist/clis/args/common-Dsf1vpHV.d.mts +0 -183
  223. package/dist/clis/args/common-Dsf1vpHV.d.mts.map +0 -1
  224. package/dist/clis/args/connect-BVVvCmL9.mjs.map +0 -1
  225. package/dist/clis/args/connect-DetTnI8g.d.mts +0 -443
  226. package/dist/clis/args/connect-DetTnI8g.d.mts.map +0 -1
  227. package/dist/clis/args/generate-CA916Fvj.mjs.map +0 -1
  228. package/dist/clis/args/generate-DnV-bfXt.d.mts +0 -87
  229. package/dist/clis/args/generate-DnV-bfXt.d.mts.map +0 -1
  230. package/dist/clis/args/help-CjAsudUn.d.mts +0 -193
  231. package/dist/clis/args/help-CjAsudUn.d.mts.map +0 -1
  232. package/dist/clis/args/init-CUXyfquF.d.mts +0 -55
  233. package/dist/clis/args/init-CUXyfquF.d.mts.map +0 -1
  234. package/dist/clis/args/inspect-DtZeoA5c.d.mts +0 -15
  235. package/dist/clis/args/inspect-DtZeoA5c.d.mts.map +0 -1
  236. package/dist/clis/args/install-CkP8zcHb.d.mts +0 -40
  237. package/dist/clis/args/install-CkP8zcHb.d.mts.map +0 -1
  238. package/dist/clis/args/list-BGf8s_gj.d.mts +0 -12
  239. package/dist/clis/args/list-BGf8s_gj.d.mts.map +0 -1
  240. package/dist/clis/args/login-DNsHwvqk.d.mts +0 -27
  241. package/dist/clis/args/login-DNsHwvqk.d.mts.map +0 -1
  242. package/dist/clis/args/magic-string.es-h_0HDQBQ.mjs.map +0 -1
  243. package/dist/clis/args/migrate-sixkWhxm.d.mts +0 -21
  244. package/dist/clis/args/migrate-sixkWhxm.d.mts.map +0 -1
  245. package/dist/clis/args/publish-Dqe5DUst.d.mts +0 -18
  246. package/dist/clis/args/publish-Dqe5DUst.d.mts.map +0 -1
  247. package/dist/clis/args/registry-C_RfTsKB.d.mts +0 -19
  248. package/dist/clis/args/registry-C_RfTsKB.d.mts.map +0 -1
  249. package/dist/clis/args/service-DhIkf8-O.d.mts +0 -22
  250. package/dist/clis/args/service-DhIkf8-O.d.mts.map +0 -1
  251. package/dist/clis/args/switchboard-BlPaq2at.d.mts +0 -72
  252. package/dist/clis/args/switchboard-BlPaq2at.d.mts.map +0 -1
  253. package/dist/clis/args/uninstall-BpA3YYbw.d.mts +0 -31
  254. package/dist/clis/args/uninstall-BpA3YYbw.d.mts.map +0 -1
  255. package/dist/clis/args/unpublish-CvwaIimG.d.mts +0 -24
  256. package/dist/clis/args/unpublish-CvwaIimG.d.mts.map +0 -1
  257. package/dist/clis/args/vetra-DLQ6lhLl.d.mts +0 -113
  258. package/dist/clis/args/vetra-DLQ6lhLl.d.mts.map +0 -1
  259. package/dist/clis/build-config.mjs.map +0 -1
  260. package/dist/clis/constants.d.mts.map +0 -1
  261. package/dist/config-loader-B845Hidf.js.map +0 -1
  262. package/dist/constants-BP_gjn8g.d.ts.map +0 -1
  263. package/dist/index-C_iVZe7f.d.ts +0 -7
  264. package/dist/index-C_iVZe7f.d.ts.map +0 -1
  265. package/dist/index-DyYIJtVy.d.ts.map +0 -1
  266. package/dist/types-C1in4fl3.d.ts.map +0 -1
  267. package/dist/types-CpnWmiFY.d.ts.map +0 -1
  268. package/dist/types-YqLqb0Zb.d.ts.map +0 -1
  269. package/dist/utils-DP122OSS.d.ts.map +0 -1
@@ -1,6 +1,22 @@
1
- import { i as buildRuntimeConfig, n as deepMerge, r as DEFAULT_CONNECT_CONFIG, t as ConfigLoader } from "../config-loader-B845Hidf.js";
1
+ import { a as buildRuntimeConfig, i as DEFAULT_CONNECT_CONFIG, n as deepMerge, r as resolveSourceConnect, t as ConfigLoader } from "../config-loader-CWQxMERh.js";
2
2
  import { JsonConfigAdapter } from "./json-adapter.js";
3
3
  import { z } from "zod";
4
+ import { satisfies, validRange } from "semver";
5
+ //#region connect/dynamic-base.ts
6
+ /**
7
+ * The base a dynamic-base Connect build is compiled against. The build emits
8
+ * this literal wherever a base-relative URL would go, and the serving layer
9
+ * (the dynamic-base vite plugin at build time, the connect proxy at serve
10
+ * time) rewrites it to the base the app is actually deployed under.
11
+ *
12
+ * It lives here, in the browser-safe shared package, rather than in
13
+ * `@powerhousedao/builder-tools`, because both the node-only build toolchain
14
+ * and Connect's own browser code need it. Importing builder-tools from app
15
+ * code pulls the whole build toolchain (and its node-only `read-pkg`
16
+ * dependency) into the browser graph.
17
+ */
18
+ const DYNAMIC_BASE_PLACEHOLDER = "/__PH_DYNAMIC_BASE__/";
19
+ //#endregion
4
20
  //#region connect/env-config.ts
5
21
  /**
6
22
  * Coerces string values to boolean.
@@ -14,10 +30,26 @@ const booleanString = z.union([z.boolean(), z.enum(["true", "false"])]).transfor
14
30
  * Build-time configuration schema
15
31
  */
16
32
  const buildEnvSchema = z.object({
33
+ /**
34
+ * Comma-separated list of package names to load
35
+ * @example "package1,package2"
36
+ */
17
37
  PH_PACKAGES: z.string().optional(),
38
+ /**
39
+ * Path to local package to load during development
40
+ */
18
41
  PH_LOCAL_PACKAGE: z.string().optional(),
42
+ /**
43
+ * Sentry authentication token for uploading source maps
44
+ */
19
45
  PH_SENTRY_AUTH_TOKEN: z.string().optional(),
46
+ /**
47
+ * Sentry organization slug
48
+ */
20
49
  PH_SENTRY_ORG: z.string().optional(),
50
+ /**
51
+ * Sentry project slug
52
+ */
21
53
  PH_SENTRY_PROJECT: z.string().optional()
22
54
  });
23
55
  /**
@@ -30,7 +62,14 @@ const buildEnvSchema = z.object({
30
62
  * credentials, analytics processor toggles, etc.
31
63
  */
32
64
  const appConfigSchema = z.object({
65
+ /**
66
+ * Application version number (build metadata stamp)
67
+ * @default "unknown"
68
+ */
33
69
  PH_CONNECT_VERSION: z.string().default("unknown"),
70
+ /**
71
+ * CLI version number (build metadata stamp)
72
+ */
34
73
  PH_CONNECT_CLI_VERSION: z.string().optional()
35
74
  });
36
75
  /**
@@ -39,17 +78,43 @@ const appConfigSchema = z.object({
39
78
  * schema and stay env-driven.
40
79
  */
41
80
  const processorsConfigSchema = z.object({
81
+ /**
82
+ * Enable diff analytics tracking
83
+ * @default false
84
+ */
42
85
  PH_CONNECT_DIFF_ANALYTICS_ENABLED: booleanString.default(false),
86
+ /**
87
+ * Enable drive analytics tracking
88
+ * @default true
89
+ */
43
90
  PH_CONNECT_DRIVE_ANALYTICS_ENABLED: booleanString.default(true),
91
+ /**
92
+ * Enable external analytics processors
93
+ * @default true
94
+ */
44
95
  PH_CONNECT_EXTERNAL_ANALYTICS_PROCESSORS_ENABLED: booleanString.default(true)
45
96
  });
46
97
  /**
47
98
  * OpenPanel analytics configuration schema
48
99
  */
49
100
  const openPanelConfigSchema = z.object({
101
+ /**
102
+ * OpenPanel client ID. When unset, the OpenPanel subsystem is a no-op.
103
+ */
50
104
  PH_CONNECT_OPENPANEL_CLIENT_ID: z.string().optional(),
105
+ /**
106
+ * OpenPanel API URL override. Defaults to the OpenPanel cloud when unset.
107
+ */
51
108
  PH_CONNECT_OPENPANEL_API_URL: z.string().optional(),
109
+ /**
110
+ * Track UI events via the useOpenPanel() hook
111
+ * @default true
112
+ */
52
113
  PH_CONNECT_OPENPANEL_TRACK_UI_EVENTS: booleanString.default(true),
114
+ /**
115
+ * Track document operations via the OpenPanel processor
116
+ * @default true
117
+ */
53
118
  PH_CONNECT_OPENPANEL_TRACK_OPERATIONS: booleanString.default(true)
54
119
  });
55
120
  /**
@@ -108,7 +173,7 @@ function mergeEnvSources(options, keys, schema) {
108
173
  * @returns Validated and typed environment configuration
109
174
  */
110
175
  function loadConnectEnv(options = {}) {
111
- const merged = mergeEnvSources(options, new Set([...Object.keys(buildEnvSchema.shape), ...Object.keys(runtimeEnvSchema.shape)]), connectEnvSchema);
176
+ const merged = mergeEnvSources(options, /* @__PURE__ */ new Set([...Object.keys(buildEnvSchema.shape), ...Object.keys(runtimeEnvSchema.shape)]), connectEnvSchema);
112
177
  return connectEnvSchema.parse(merged);
113
178
  }
114
179
  /**
@@ -207,7 +272,8 @@ const ROOT_STORAGE_NAMESPACE = "reactor";
207
272
  function getStorageNamespace(basePath) {
208
273
  const normalized = normalizeBasePath(basePath);
209
274
  if (normalized === "/") return ROOT_STORAGE_NAMESPACE;
210
- return `${ROOT_STORAGE_NAMESPACE}--${normalized.slice(1, -1).toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "") || "default"}`;
275
+ const slug = normalized.slice(1, -1).toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
276
+ return `${ROOT_STORAGE_NAMESPACE}--${slug || "default"}`;
211
277
  }
212
278
  //#endregion
213
279
  //#region connect/pwa-config.ts
@@ -222,7 +288,7 @@ const MANIFEST_SCALAR_KEYS = [
222
288
  "scope",
223
289
  "launch_handler"
224
290
  ];
225
- const ADDITIVE_MANIFEST_KEYS = new Set([
291
+ const ADDITIVE_MANIFEST_KEYS = /* @__PURE__ */ new Set([
226
292
  "icons",
227
293
  "file_handlers",
228
294
  "categories"
@@ -560,6 +626,10 @@ const phConnectRuntimeConfigSchema = {
560
626
  type: "boolean",
561
627
  description: "Studio mode. Enables builder-only capabilities: Connect loads the vetra package and exposes DocumentModel (and vetra spec types) as creatable documents. Forced on by `ph vetra` / `ph connect studio`; false by default.",
562
628
  default: false
629
+ },
630
+ workflowsEnabled: {
631
+ type: "boolean",
632
+ description: "Powerhouse workflows in Connect. When true the tab loads the @powerhousedao/workflow package (workflow + connection documents, their editors and Workflow Studio) and the reactor worker registers its document models. Falls back to the top-level `workflows.enabled`; set it to override that for Connect. Independent of studioMode. False when neither is set."
563
633
  }
564
634
  }
565
635
  },
@@ -767,33 +837,41 @@ const phConnectRuntimeConfigSchema = {
767
837
  type: "object",
768
838
  additionalProperties: false,
769
839
  description: "Settings for the reactor Connect runs in the browser, on the main thread or in the shared worker alike.",
770
- properties: { featureFlags: {
771
- type: "object",
772
- additionalProperties: false,
773
- description: "Enforcement flags. Each implies its predecessors, and the reactor refuses to boot on a set that names a later flag without an earlier one. These are consensus settings: a Connect syncing with a fleet must carry the same flags the fleet does, or the two reach different replay outcomes for the same history and diverge.",
774
- properties: {
775
- documentDecisions: {
776
- type: "boolean",
777
- description: "Decide writes from the document stream rather than the document meta cache, so a backdated deletion denies the operations that sort after it.",
778
- default: false
779
- },
780
- authEnforcement: {
781
- type: "boolean",
782
- description: "Enforce the auth scope's policy at admission, replay, and read. Requires documentDecisions.",
783
- default: false
784
- },
785
- authGroups: {
786
- type: "boolean",
787
- description: "Let `{ group }` principals match against the rosters of the group documents a policy names. Requires authEnforcement.",
788
- default: false
789
- },
790
- authConditions: {
791
- type: "boolean",
792
- description: "Evaluate `where` and `match` conditions on grants. Requires authGroups. Do not enable on a fleet `preflight:auth` reports as crossing a reducer version.",
793
- default: false
840
+ properties: {
841
+ featureFlags: {
842
+ type: "object",
843
+ additionalProperties: false,
844
+ description: "Enforcement flags. Each implies its predecessors, and the reactor refuses to boot on a set that names a later flag without an earlier one. These are consensus settings: a Connect syncing with a fleet must carry the same flags the fleet does, or the two reach different replay outcomes for the same history and diverge.",
845
+ properties: {
846
+ documentDecisions: {
847
+ type: "boolean",
848
+ description: "Decide writes from the document stream rather than the document meta cache, so a backdated deletion denies the operations that sort after it.",
849
+ default: false
850
+ },
851
+ authEnforcement: {
852
+ type: "boolean",
853
+ description: "Enforce the auth scope's policy at admission, replay, and read. Requires documentDecisions.",
854
+ default: false
855
+ },
856
+ authGroups: {
857
+ type: "boolean",
858
+ description: "Let `{ group }` principals match against the rosters of the group documents a policy names. Requires authEnforcement.",
859
+ default: false
860
+ },
861
+ authConditions: {
862
+ type: "boolean",
863
+ description: "Evaluate `where` and `match` conditions on grants. Requires authGroups. Do not enable on a fleet `preflight:auth` reports as crossing a reducer version.",
864
+ default: false
865
+ }
794
866
  }
867
+ },
868
+ createSignaturePolicy: {
869
+ type: "string",
870
+ enum: ["legacy", "v2-required"],
871
+ description: "What new documents are created as. `v2-required` documents accept only v2 action signatures and take content-addressed ids; set `legacy` while any peer Connect syncs with predates them. Existing documents keep their policy.",
872
+ default: "v2-required"
795
873
  }
796
- } }
874
+ }
797
875
  },
798
876
  pwa: {
799
877
  type: "object",
@@ -964,6 +1042,169 @@ const phConnectRuntimeConfigSchema = {
964
1042
  }
965
1043
  };
966
1044
  //#endregion
967
- export { ConfigLoader, DEFAULT_CONNECT_CONFIG, JsonConfigAdapter, PWA_FILE_HANDLER_ACTION, PWA_IDB_KEY, PWA_IDB_NAME, PWA_IDB_STORE, PWA_IDB_VERSION, ROOT_STORAGE_NAMESPACE, buildRuntimeConfig, connectEnvSchema, dedupeFileHandlers, dedupeIcons, deepMerge, getStorageNamespace, loadConnectEnv, loadRuntimeEnv, mergeManifest, mergePwaConfig, normalizeBasePath, phConnectRuntimeConfigSchema, powerhousePackageSchema, runtimeEnvSchema, setConnectEnv, toRegExpOrString, unionStrings, withInferredCategory };
1045
+ //#region connect/shared-deps.ts
1046
+ /**
1047
+ * The dependency set Connect and loaded packages share via the import map.
1048
+ * `@powerhousedao/connect` is deliberately absent: it is the Connect app
1049
+ * itself (no importable exports), so there is nothing to share.
1050
+ */
1051
+ const SHARED_DEPS = [
1052
+ {
1053
+ specifier: "document-model",
1054
+ package: "document-model"
1055
+ },
1056
+ {
1057
+ specifier: "@powerhousedao/document-engineering",
1058
+ package: "@powerhousedao/document-engineering"
1059
+ },
1060
+ {
1061
+ specifier: "@powerhousedao/shared",
1062
+ package: "@powerhousedao/shared"
1063
+ },
1064
+ {
1065
+ specifier: "@powerhousedao/shared/registry/urls",
1066
+ package: "@powerhousedao/shared"
1067
+ },
1068
+ {
1069
+ specifier: "@powerhousedao/design-system/connect",
1070
+ package: "@powerhousedao/design-system"
1071
+ },
1072
+ {
1073
+ specifier: "@powerhousedao/reactor-browser",
1074
+ package: "@powerhousedao/reactor-browser"
1075
+ },
1076
+ {
1077
+ specifier: "zod",
1078
+ package: "zod"
1079
+ }
1080
+ ];
1081
+ const SHARED_DEP_SPECIFIERS = SHARED_DEPS.map((d) => d.specifier);
1082
+ /**
1083
+ * The `@powerhousedao/shared` subpaths the production vendor bundles. The
1084
+ * bare root is deliberately absent: its type barrel references node-only
1085
+ * modules (`clis/`), which the current vite/rolldown cannot bundle for the
1086
+ * browser — vendoring the root fails the build (a pre-existing latent
1087
+ * issue). A package that imports the bare root is simply not shared; it
1088
+ * bundles its own copy.
1089
+ */
1090
+ const SHARED_SUBPATHS = [
1091
+ "connect",
1092
+ "document-model",
1093
+ "processors",
1094
+ "document-drive",
1095
+ "registry",
1096
+ "registry/urls",
1097
+ "registry/manifest-slim"
1098
+ ];
1099
+ /**
1100
+ * The specifiers a package build may safely externalize onto the host's
1101
+ * import map — i.e. the ones the vendor actually publishes an entry for.
1102
+ *
1103
+ * `@powerhousedao/shared` is narrowed to SHARED_SUBPATHS rather than taken as
1104
+ * a prefix: the bare root is never vendored (see SHARED_SUBPATHS), and
1105
+ * neither are its other subpaths (`analytics`, `constants`, `clis`, ...).
1106
+ * Externalizing those would leave a bare specifier in the package's output
1107
+ * that nothing in the import map resolves, so the package would fail to load
1108
+ * at runtime instead of simply bundling its own copy.
1109
+ */
1110
+ const EXTERNALIZABLE_SHARED_SPECIFIERS = [.../* @__PURE__ */ new Set([...SHARED_DEP_SPECIFIERS.filter((s) => s !== "@powerhousedao/shared"), ...SHARED_SUBPATHS.map((s) => `@powerhousedao/shared/${s}`)])];
1111
+ /** Split a specifier into its package name and subpath ("" for a root). */
1112
+ function parseDepSpec(spec) {
1113
+ if (spec.startsWith("@")) {
1114
+ const parts = spec.split("/");
1115
+ return {
1116
+ pkg: parts.slice(0, 2).join("/"),
1117
+ sub: parts.slice(2).join("/")
1118
+ };
1119
+ }
1120
+ const i = spec.indexOf("/");
1121
+ return i === -1 ? {
1122
+ pkg: spec,
1123
+ sub: ""
1124
+ } : {
1125
+ pkg: spec.slice(0, i),
1126
+ sub: spec.slice(i + 1)
1127
+ };
1128
+ }
1129
+ function isSharedSpecifier(spec, specs) {
1130
+ return specs.some((s) => spec === s || spec.startsWith(s + "/"));
1131
+ }
1132
+ /**
1133
+ * Return the import/export specifiers in `source` that are a shared
1134
+ * specifier (or a subpath of one), sorted. Heuristic: only statement
1135
+ * positions are scanned (`from "x"`, `import "x"`, `import("x")`;
1136
+ * `export … from "x"` is covered by the `from` pattern), so import-like
1137
+ * text inside comments or strings can be reported too. That errs toward
1138
+ * over-reporting, which is the safe direction for the advisory build
1139
+ * warning.
1140
+ */
1141
+ function findSharedImports(source, specs = SHARED_DEP_SPECIFIERS) {
1142
+ const found = /* @__PURE__ */ new Set();
1143
+ for (const re of [
1144
+ /\bfrom\s+["']([^"'\\]+)["']/g,
1145
+ /\bimport\s+["']([^"'\\]+)["']/g,
1146
+ /\bimport\s*\(\s*["']([^"'\\]+)["']\s*\)/g
1147
+ ]) for (const m of source.matchAll(re)) {
1148
+ const spec = m[1];
1149
+ if (isSharedSpecifier(spec, specs)) found.add(spec);
1150
+ }
1151
+ return [...found].sort();
1152
+ }
1153
+ /**
1154
+ * Rewrite a package source for blob import in a worker context (import maps
1155
+ * don't apply there): shared specifiers become their mapped URLs, and
1156
+ * relative (`./`, `../`) specifiers become absolute against `sourceUrl`
1157
+ * (a blob URL has no directory to resolve against). `#` subpath imports are
1158
+ * deliberately left alone: they resolve via the package's own
1159
+ * `package.json` "imports" field, which the rewrite cannot reproduce.
1160
+ * Returns the input unchanged when nothing matched.
1161
+ */
1162
+ function rewritePackageSource(source, sourceUrl, imports) {
1163
+ if (!Object.keys(imports).length) return source;
1164
+ const base = new URL(sourceUrl);
1165
+ const map = (spec) => {
1166
+ const mapped = imports[spec];
1167
+ if (mapped) return mapped;
1168
+ if (spec.startsWith("./") || spec.startsWith("../")) return new URL(spec, base).href;
1169
+ return null;
1170
+ };
1171
+ let out = source;
1172
+ for (const re of [
1173
+ /\bfrom\s+(["'])([^"'\\]+)\1/g,
1174
+ /\bimport\s+(["'])([^"'\\]+)\1/g,
1175
+ /\bimport\s*\(\s*(["'])([^"'\\]+)\1\s*\)/g
1176
+ ]) out = out.replace(re, (match, quote, spec) => {
1177
+ const mapped = map(spec);
1178
+ return mapped ? match.replace(`${quote}${spec}${quote}`, `${quote}${mapped}${quote}`) : match;
1179
+ });
1180
+ return out;
1181
+ }
1182
+ /**
1183
+ * Compare a package's declared ranges against the host's version table.
1184
+ * `hostVersions` defines the checked set (only deps present in it are
1185
+ * checked). `*`, non-semver protocols (workspace:, file:, git:, npm:, URLs)
1186
+ * and unparseable ranges never mismatch.
1187
+ */
1188
+ function checkSharedDeps(pkgJson, hostVersions) {
1189
+ const out = [];
1190
+ const entries = [...Object.entries(pkgJson.dependencies ?? {}), ...Object.entries(pkgJson.peerDependencies ?? {})];
1191
+ for (const [dep, range] of entries) {
1192
+ const provided = hostVersions[dep];
1193
+ if (provided === void 0 || typeof range !== "string") continue;
1194
+ if (range === "*" || /^[a-z]+:/i.test(range)) continue;
1195
+ if (!validRange(range)) continue;
1196
+ if (!satisfies(provided, range, { includePrerelease: true })) out.push({
1197
+ package: dep,
1198
+ required: range,
1199
+ provided
1200
+ });
1201
+ }
1202
+ return out;
1203
+ }
1204
+ function formatSharedDepWarnings(mismatches) {
1205
+ return mismatches.map((m) => `${m.package}: requires ${m.required}, Connect provides ${m.provided}`);
1206
+ }
1207
+ //#endregion
1208
+ export { ConfigLoader, DEFAULT_CONNECT_CONFIG, DYNAMIC_BASE_PLACEHOLDER, EXTERNALIZABLE_SHARED_SPECIFIERS, JsonConfigAdapter, PWA_FILE_HANDLER_ACTION, PWA_IDB_KEY, PWA_IDB_NAME, PWA_IDB_STORE, PWA_IDB_VERSION, ROOT_STORAGE_NAMESPACE, SHARED_DEPS, SHARED_DEP_SPECIFIERS, SHARED_SUBPATHS, buildRuntimeConfig, checkSharedDeps, connectEnvSchema, dedupeFileHandlers, dedupeIcons, deepMerge, findSharedImports, formatSharedDepWarnings, getStorageNamespace, loadConnectEnv, loadRuntimeEnv, mergeManifest, mergePwaConfig, normalizeBasePath, parseDepSpec, phConnectRuntimeConfigSchema, powerhousePackageSchema, resolveSourceConnect, rewritePackageSource, runtimeEnvSchema, setConnectEnv, toRegExpOrString, unionStrings, withInferredCategory };
968
1209
 
969
1210
  //# sourceMappingURL=index.js.map