@powerhousedao/ph-clint-app 0.1.0-dev.89 → 0.1.0-dev.90

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 (106) hide show
  1. package/dist/browser/{editor-BuHwuzRa.js → editor-Bp2wUo8R.js} +748 -522
  2. package/dist/browser/editor-Bp2wUo8R.js.map +1 -0
  3. package/dist/browser/editors/ph-clint-project-editor/module.js +1 -1
  4. package/dist/connect/assets/{AddDriveModal-BoKLJyUY-DwlVwt2n.js → AddDriveModal-BoKLJyUY-cGJwd_2F.js} +2 -2
  5. package/dist/connect/assets/{AddDriveModal-BoKLJyUY-DwlVwt2n.js.map → AddDriveModal-BoKLJyUY-cGJwd_2F.js.map} +1 -1
  6. package/dist/connect/assets/{ClearStorageModal-CXoNWmRe-lBEW3sSH.js → ClearStorageModal-CXoNWmRe-D3ifKRm-.js} +2 -2
  7. package/dist/connect/assets/{ClearStorageModal-CXoNWmRe-lBEW3sSH.js.map → ClearStorageModal-CXoNWmRe-D3ifKRm-.js.map} +1 -1
  8. package/dist/connect/assets/{CookiesPolicyModal-1nOh6oN3-BYSDp-5J.js → CookiesPolicyModal-1nOh6oN3-kK_sx5mz.js} +2 -2
  9. package/dist/connect/assets/{CookiesPolicyModal-1nOh6oN3-BYSDp-5J.js.map → CookiesPolicyModal-1nOh6oN3-kK_sx5mz.js.map} +1 -1
  10. package/dist/connect/assets/{CreateDocumentModal-nQbLVDq3-DJbJhlYp.js → CreateDocumentModal-nQbLVDq3-DFAye2CX.js} +2 -2
  11. package/dist/connect/assets/{CreateDocumentModal-nQbLVDq3-DJbJhlYp.js.map → CreateDocumentModal-nQbLVDq3-DFAye2CX.js.map} +1 -1
  12. package/dist/connect/assets/{DebugSettingsModal-5SDhy5gt-Du3PKhbh.js → DebugSettingsModal-5SDhy5gt-DLMPdDQB.js} +2 -2
  13. package/dist/connect/assets/{DebugSettingsModal-5SDhy5gt-Du3PKhbh.js.map → DebugSettingsModal-5SDhy5gt-DLMPdDQB.js.map} +1 -1
  14. package/dist/connect/assets/{DeleteDriveModal-6P0T1QgD-CaEKmseP.js → DeleteDriveModal-6P0T1QgD-CK6cPXbT.js} +2 -2
  15. package/dist/connect/assets/{DeleteDriveModal-6P0T1QgD-CaEKmseP.js.map → DeleteDriveModal-6P0T1QgD-CK6cPXbT.js.map} +1 -1
  16. package/dist/connect/assets/{DeleteItemModal-BmV1aQyZ-B01dssV-.js → DeleteItemModal-BmV1aQyZ-Ld9lHNhl.js} +2 -2
  17. package/dist/connect/assets/{DeleteItemModal-BmV1aQyZ-B01dssV-.js.map → DeleteItemModal-BmV1aQyZ-Ld9lHNhl.js.map} +1 -1
  18. package/dist/connect/assets/{DisclaimerModal-CVTFfN0_-CfPGYzP1.js → DisclaimerModal-CVTFfN0_-D7N9TDI4.js} +2 -2
  19. package/dist/connect/assets/{DisclaimerModal-CVTFfN0_-CfPGYzP1.js.map → DisclaimerModal-CVTFfN0_-D7N9TDI4.js.map} +1 -1
  20. package/dist/connect/assets/{DownloadDocumentWithErrorsModal-CXeFUtaz-UexzRqQT.js → DownloadDocumentWithErrorsModal-CXeFUtaz-CYIIl42M.js} +2 -2
  21. package/dist/connect/assets/{DownloadDocumentWithErrorsModal-CXeFUtaz-UexzRqQT.js.map → DownloadDocumentWithErrorsModal-CXeFUtaz-CYIIl42M.js.map} +1 -1
  22. package/dist/connect/assets/{DriveAuthRequiredModal-B3VdLwSH-C5FZCMC5.js → DriveAuthRequiredModal-B3VdLwSH-fqmI_4sF.js} +2 -2
  23. package/dist/connect/assets/{DriveAuthRequiredModal-B3VdLwSH-C5FZCMC5.js.map → DriveAuthRequiredModal-B3VdLwSH-fqmI_4sF.js.map} +1 -1
  24. package/dist/connect/assets/{DriveSettingsModal-CsNFEJ9E-BoXSbW1c.js → DriveSettingsModal-CsNFEJ9E-BR2vyeU8.js} +2 -2
  25. package/dist/connect/assets/{DriveSettingsModal-CsNFEJ9E-BoXSbW1c.js.map → DriveSettingsModal-CsNFEJ9E-BR2vyeU8.js.map} +1 -1
  26. package/dist/connect/assets/{InspectorModal-BsSihzuc-hukmcBoP.js → InspectorModal-BsSihzuc-B0n5gbGB.js} +2 -2
  27. package/dist/connect/assets/{InspectorModal-BsSihzuc-hukmcBoP.js.map → InspectorModal-BsSihzuc-B0n5gbGB.js.map} +1 -1
  28. package/dist/connect/assets/{MissingPackageModal-Bn036mWQ-BOXHWmFa.js → MissingPackageModal-Bn036mWQ-C021G1nV.js} +2 -2
  29. package/dist/connect/assets/{MissingPackageModal-Bn036mWQ-BOXHWmFa.js.map → MissingPackageModal-Bn036mWQ-C021G1nV.js.map} +1 -1
  30. package/dist/connect/assets/{SettingsModal-S_A5qf95-Fz0f2CXX.js → SettingsModal-S_A5qf95-uzigz0nk.js} +2 -2
  31. package/dist/connect/assets/{SettingsModal-S_A5qf95-Fz0f2CXX.js.map → SettingsModal-S_A5qf95-uzigz0nk.js.map} +1 -1
  32. package/dist/connect/assets/{UpgradeDriveModal-C7lV4rAX-BkeBWpDi.js → UpgradeDriveModal-C7lV4rAX-CTIf4duw.js} +2 -2
  33. package/dist/connect/assets/{UpgradeDriveModal-C7lV4rAX-BkeBWpDi.js.map → UpgradeDriveModal-C7lV4rAX-CTIf4duw.js.map} +1 -1
  34. package/dist/connect/assets/build-info-cc1PjSvF-DtAGzh0W.js.map +1 -1
  35. package/dist/connect/assets/chunk-pbuEa-1d-KEQyMDN_.js.map +1 -1
  36. package/dist/connect/assets/{components-ByEUkO4U-Mc23VVA-.js → components-ByEUkO4U-xPZUVkzr.js} +4 -4
  37. package/dist/connect/assets/{components-ByEUkO4U-Mc23VVA-.js.map → components-ByEUkO4U-xPZUVkzr.js.map} +1 -1
  38. package/dist/connect/assets/{components-HCKyLh9m.js → components-Djrujufg.js} +2 -2
  39. package/dist/connect/assets/{components-HCKyLh9m.js.map → components-Djrujufg.js.map} +1 -1
  40. package/dist/connect/assets/{connect-pRAhId57.js → connect-CGvtDtZh.js} +2 -2
  41. package/dist/connect/assets/{connect-pRAhId57.js.map → connect-CGvtDtZh.js.map} +1 -1
  42. package/dist/connect/assets/{connect.config-Bt4pvvWV-CAyer5pZ.js → connect.config-Bt4pvvWV-Dj3FkjaZ.js} +2 -2
  43. package/dist/connect/assets/{connect.config-Bt4pvvWV-CAyer5pZ.js.map → connect.config-Bt4pvvWV-Dj3FkjaZ.js.map} +1 -1
  44. package/dist/connect/assets/{dist-DmhUSVtT.js → dist-t-ezfpxv.js} +3 -3
  45. package/dist/connect/assets/{dist-DmhUSVtT.js.map → dist-t-ezfpxv.js.map} +1 -1
  46. package/dist/connect/assets/{editor-B560eld_-CIE3_3II.js → editor-B560eld_-DLpKHubk.js} +2 -2
  47. package/dist/connect/assets/{editor-B560eld_-CIE3_3II.js.map → editor-B560eld_-DLpKHubk.js.map} +1 -1
  48. package/dist/connect/assets/editor-BaQ62r3i.js +2 -0
  49. package/dist/connect/assets/editor-BaQ62r3i.js.map +1 -0
  50. package/dist/connect/assets/{editor-CAVHtR-v-ClzvSfK5.js → editor-CAVHtR-v-D33T9vW0.js} +2 -2
  51. package/dist/connect/assets/{editor-CAVHtR-v-ClzvSfK5.js.map → editor-CAVHtR-v-D33T9vW0.js.map} +1 -1
  52. package/dist/connect/assets/{editor-CVCLxUhe-C6nP7EPN.js → editor-CVCLxUhe-C9Ftgu1S.js} +2 -2
  53. package/dist/connect/assets/{editor-CVCLxUhe-C6nP7EPN.js.map → editor-CVCLxUhe-C9Ftgu1S.js.map} +1 -1
  54. package/dist/connect/assets/{editor-DnG2Zzet-CRhirYbH.js → editor-DnG2Zzet-CQ38uSti.js} +2 -2
  55. package/dist/connect/assets/{editor-DnG2Zzet-CRhirYbH.js.map → editor-DnG2Zzet-CQ38uSti.js.map} +1 -1
  56. package/dist/connect/assets/{editor-mor7dV6n-DDigdbLM.js → editor-mor7dV6n-NTU9k1uj.js} +2 -2
  57. package/dist/connect/assets/{editor-mor7dV6n-DDigdbLM.js.map → editor-mor7dV6n-NTU9k1uj.js.map} +1 -1
  58. package/dist/connect/assets/{editor-xCnDas6c-CyHuSL7M.js → editor-xCnDas6c-DdGhx--5.js} +2 -2
  59. package/dist/connect/assets/{editor-xCnDas6c-CyHuSL7M.js.map → editor-xCnDas6c-DdGhx--5.js.map} +1 -1
  60. package/dist/connect/assets/esm-dD38MHAT.js +10 -0
  61. package/dist/connect/assets/esm-dD38MHAT.js.map +1 -0
  62. package/dist/connect/assets/{hooks-Btogj1f0-CMXQZV6d.js → hooks-Btogj1f0-BKAAmyt-.js} +2 -2
  63. package/dist/connect/assets/{hooks-Btogj1f0-CMXQZV6d.js.map → hooks-Btogj1f0-BKAAmyt-.js.map} +1 -1
  64. package/dist/connect/assets/index-NB86TKkT.js +3 -0
  65. package/dist/connect/assets/{index-DS7vbdaR.js.map → index-NB86TKkT.js.map} +1 -1
  66. package/dist/connect/assets/{load-BWibkoFV-BVilFVpD.js → load-BWibkoFV-CDRjWwYQ.js} +2 -2
  67. package/dist/connect/assets/{load-BWibkoFV-BVilFVpD.js.map → load-BWibkoFV-CDRjWwYQ.js.map} +1 -1
  68. package/dist/connect/assets/module-1hr_ne9w-CWAVsMzZ.js.map +1 -1
  69. package/dist/connect/assets/{module-DP3LMNU7.js → module-7zCQE1MC.js} +2 -2
  70. package/dist/connect/assets/{module-DP3LMNU7.js.map → module-7zCQE1MC.js.map} +1 -1
  71. package/dist/connect/assets/module-CRq_lUkG-D61oeRlC.js.map +1 -1
  72. package/dist/connect/assets/module-DP3bVbak-VbUPIBZP.js.map +1 -1
  73. package/dist/connect/assets/package-BZLLR0Ma-B7vswMvI.js.map +1 -1
  74. package/dist/connect/assets/{pglite-seed-BWk7yOwr-T-NGWlGh.js → pglite-seed-BWk7yOwr-b2F0oJiP.js} +2 -2
  75. package/dist/connect/assets/{pglite-seed-BWk7yOwr-T-NGWlGh.js.map → pglite-seed-BWk7yOwr-b2F0oJiP.js.map} +1 -1
  76. package/dist/connect/assets/pglite.worker-BuyZ0d7u.js.map +1 -1
  77. package/dist/connect/assets/pglite.worker.legacy-D5InEf0i.js.map +1 -1
  78. package/dist/connect/assets/{ph-clint-project-BZ5X7dVQ.js → ph-clint-project-p1zY6e17.js} +2 -2
  79. package/dist/connect/assets/{ph-clint-project-BZ5X7dVQ.js.map → ph-clint-project-p1zY6e17.js.map} +1 -1
  80. package/dist/connect/assets/{reactor-BxNvHOKC-DmVBqCt_.js → reactor-BxNvHOKC-CeMF1M2u.js} +4 -4
  81. package/dist/connect/assets/{reactor-BxNvHOKC-DmVBqCt_.js.map → reactor-BxNvHOKC-CeMF1M2u.js.map} +1 -1
  82. package/dist/connect/assets/{registerServiceWorker-D9l1kja7-oC4nicB2.js → registerServiceWorker-D9l1kja7-DG3DqQna.js} +2 -2
  83. package/dist/connect/assets/{registerServiceWorker-D9l1kja7-oC4nicB2.js.map → registerServiceWorker-D9l1kja7-DG3DqQna.js.map} +1 -1
  84. package/dist/connect/assets/reload-connect-toast-CwvSc6F--BQcqGaN_.js.map +1 -1
  85. package/dist/connect/assets/runtime-config-DL3QjcfM-D9g4VFtY.js.map +1 -1
  86. package/dist/connect/assets/toast-BEy42aYx-Dg_jZf6v.js.map +1 -1
  87. package/dist/connect/assets/{useRegistryPackages-B-gFECmd-CXOBKziY.js → useRegistryPackages-B-gFECmd-C8h2M5qM.js} +2 -2
  88. package/dist/connect/assets/{useRegistryPackages-B-gFECmd-CXOBKziY.js.map → useRegistryPackages-B-gFECmd-C8h2M5qM.js.map} +1 -1
  89. package/dist/connect/assets/{useVetraDocument-tpjMF571-DT5T1mNT.js → useVetraDocument-tpjMF571-DxT9GgCx.js} +2 -2
  90. package/dist/connect/assets/{useVetraDocument-tpjMF571-DT5T1mNT.js.map → useVetraDocument-tpjMF571-DxT9GgCx.js.map} +1 -1
  91. package/dist/connect/assets/utils-BiV3cs9Y-B7i9WJ1b.js.map +1 -1
  92. package/dist/connect/assets/{utils-CkWB3DRk-CxqNKFWP.js → utils-CkWB3DRk-BURJYofr.js} +2 -2
  93. package/dist/connect/assets/{utils-CkWB3DRk-CxqNKFWP.js.map → utils-CkWB3DRk-BURJYofr.js.map} +1 -1
  94. package/dist/connect/index.html +3 -3
  95. package/dist/connect/powerhouse.config.json +1 -1
  96. package/dist/node/{editor-Bev0bZuJ.mjs → editor-BC9t7D3T.mjs} +748 -517
  97. package/dist/node/editor-BC9t7D3T.mjs.map +1 -0
  98. package/dist/node/editors/ph-clint-project-editor/module.mjs +1 -1
  99. package/package.json +2 -2
  100. package/dist/browser/editor-BuHwuzRa.js.map +0 -1
  101. package/dist/connect/assets/editor-BrPMvNFl.js +0 -2
  102. package/dist/connect/assets/editor-BrPMvNFl.js.map +0 -1
  103. package/dist/connect/assets/esm-mbrYcWED.js +0 -10
  104. package/dist/connect/assets/esm-mbrYcWED.js.map +0 -1
  105. package/dist/connect/assets/index-DS7vbdaR.js +0 -3
  106. package/dist/node/editor-Bev0bZuJ.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/editor-BzhVjRaX-9Dxtetvs.js","assets/preload-helper-ca-nBW7U.js","assets/connect-CahHnhpc-DAWtLyxf.js","assets/parser-CkF6Qt8V-CqvnWRuI.js","assets/dist-D8H48e8N-Blh-WMaA.js","assets/dist-DXM8ccKa-DV1gto78.js","assets/dist-HgA907mh-Cyiona0j.js","assets/linting-Dn6pXRkK-wzup7z6r.js","assets/documents-D4ek7Ubv-BwoHIQS-.js","assets/schema-context-DY-GEGnY-DDnDCqkg.js","assets/editor-CVCLxUhe-C6nP7EPN.js","assets/connect-pRAhId57.js","assets/chunk-BNv3lrIs.js","assets/dist-DmhUSVtT.js","assets/hmac-wnxCe4SN.js","assets/worker-XYrQaEmt-w0FhumYk.js","assets/error-info-Cpu4OY3o-DJ8lg6ye.js","assets/types-CxSpmNGK-BaNo7EHQ.js","assets/esm-0nAQjFUV.js","assets/errors-D3S6Eysd-DUmQAeoG.js","assets/dist-Cb4AoJ-8.js","assets/clsx-CtFH8AOT.js","assets/components-HCKyLh9m.js","assets/hooks-Btogj1f0-CMXQZV6d.js","assets/module-CRq_lUkG-D61oeRlC.js","assets/chunk-pbuEa-1d-KEQyMDN_.js","assets/editor-DnG2Zzet-CRhirYbH.js","assets/module-DP3bVbak-VbUPIBZP.js","assets/editor-B560eld_-CIE3_3II.js","assets/useVetraDocument-tpjMF571-DT5T1mNT.js","assets/utils-CkWB3DRk-CxqNKFWP.js","assets/editor-CAVHtR-v-ClzvSfK5.js","assets/utils-BiV3cs9Y-B7i9WJ1b.js","assets/editor-mor7dV6n-DDigdbLM.js","assets/editor-xCnDas6c-CyHuSL7M.js","assets/module-1hr_ne9w-CWAVsMzZ.js","assets/worker-C5dOZDTw.js","assets/chunk-A7RFOIQ7-LfOdAcBB.js","assets/chunk-BTBUZ646-BwTZXBLs.js","assets/chunk-EADU5A67-BHbnANQy.js","assets/live-BNFn5R0a.js","assets/worker-CzUqQwa7.js","assets/chunk-3WWIVTCY-Dk4atnGX.js","assets/chunk-QY3QWFKW-Dw6-Hpdq.js","assets/chunk-F2DQ4FIK-B5wKwnbU.js","assets/live-C1s3S4Zn.js"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./chunk-BNv3lrIs.js";import{$t as t,Bt as n,D as r,E as i,Ht as a,I as o,L as s,M as c,N as l,P as u,Qt as d,R as ee,S as f,Vt as te,Wt as ne,Xt as re,Zt as ie,_n as p,an as ae,cn as oe,f as se,fn as m,in as h,j as ce,m as le,o as ue,p as de,pn as g,qt as fe,r as pe,rn as me,s as he,sn as _,t as v,w as y,x as ge,y as _e}from"./dist-DmhUSVtT.js";import{n as ve}from"./runtime-config-DL3QjcfM-D9g4VFtY.js";import{t as b}from"./preload-helper-ca-nBW7U.js";import{C as x,x as S}from"./types-CxSpmNGK-BaNo7EHQ.js";import{a as C,o as w,t as T}from"./dist-Cb4AoJ-8.js";import{b as E}from"./esm-0nAQjFUV.js";import{t as D}from"./dist-DMXkjzve.js";import{n as O}from"./toast-BEy42aYx-Dg_jZf6v.js";import{n as ye,o as k}from"./connect.config-Bt4pvvWV-CAyer5pZ.js";import{a as A,c as j,f as M,g as N,i as P,s as be,t as xe}from"./module-DP3LMNU7.js";import{C as Se,c as Ce,w as we}from"./dist-DXM8ccKa-DV1gto78.js";import{t as Te}from"./chunk-pbuEa-1d-KEQyMDN_.js";import{t as Ee}from"./module-CRq_lUkG-D61oeRlC.js";import{t as De}from"./module-DP3bVbak-VbUPIBZP.js";import{i as Oe,t as ke,u as Ae}from"./utils-CkWB3DRk-CxqNKFWP.js";import{a as je,n as Me,t as Ne}from"./utils-BiV3cs9Y-B7i9WJ1b.js";import{t as Pe}from"./module-1hr_ne9w-CWAVsMzZ.js";import{lazy as F}from"react";var Fe=Object.defineProperty,Ie=Object.defineProperties,Le=Object.getOwnPropertyDescriptors,Re=Object.getOwnPropertySymbols,ze=Object.prototype.hasOwnProperty,Be=Object.prototype.propertyIsEnumerable,Ve=(e,t,n)=>t in e?Fe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,I=(e,t)=>{for(var n in t||={})ze.call(t,n)&&Ve(e,n,t[n]);if(Re)for(var n of Re(t))Be.call(t,n)&&Ve(e,n,t[n]);return e},L=(e,t)=>Ie(e,Le(t)),R=(e,t,n)=>new Promise((r,i)=>{var a=e=>{try{s(n.next(e))}catch(e){i(e)}},o=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(a,o);s((n=n.apply(e,t)).next())}),He=class{constructor(){this.data=new Map}set(e,t){this.data.set(e,t)}get(e){return this.data.get(e)}has(e){return this.data.has(e)}delete(e){return this.data.delete(e)}clear(){this.data.clear()}},Ue={STATIC:`STATIC`,DEFAULT:`DEFAULT`,TARGETING_MATCH:`TARGETING_MATCH`,SPLIT:`SPLIT`,CACHED:`CACHED`,DISABLED:`DISABLED`,UNKNOWN:`UNKNOWN`,STALE:`STALE`,ERROR:`ERROR`},We=(e=>(e.PROVIDER_NOT_READY=`PROVIDER_NOT_READY`,e.PROVIDER_FATAL=`PROVIDER_FATAL`,e.FLAG_NOT_FOUND=`FLAG_NOT_FOUND`,e.PARSE_ERROR=`PARSE_ERROR`,e.TYPE_MISMATCH=`TYPE_MISMATCH`,e.TARGETING_KEY_MISSING=`TARGETING_KEY_MISSING`,e.INVALID_CONTEXT=`INVALID_CONTEXT`,e.GENERAL=`GENERAL`,e))(We||{}),z=class e extends Error{constructor(t,n){super(t),Object.setPrototypeOf(this,e.prototype),this.name=`OpenFeatureError`,this.cause=n?.cause}},Ge=class e extends z{constructor(t,n){super(t,n),Object.setPrototypeOf(this,e.prototype),this.name=`FlagNotFoundError`,this.code=`FLAG_NOT_FOUND`}},Ke=class e extends z{constructor(t,n){super(t,n),Object.setPrototypeOf(this,e.prototype),this.name=`GeneralError`,this.code=`GENERAL`}},qe=class e extends z{constructor(t,n){super(t,n),Object.setPrototypeOf(this,e.prototype),this.name=`InvalidContextError`,this.code=`INVALID_CONTEXT`}},Je=class e extends z{constructor(t,n){super(t,n),Object.setPrototypeOf(this,e.prototype),this.name=`ParseError`,this.code=`PARSE_ERROR`}},B=class e extends z{constructor(t,n){super(t,n),Object.setPrototypeOf(this,e.prototype),this.name=`ProviderFatalError`,this.code=`PROVIDER_FATAL`}},V=class e extends z{constructor(t,n){super(t,n),Object.setPrototypeOf(this,e.prototype),this.name=`ProviderNotReadyError`,this.code=`PROVIDER_NOT_READY`}},Ye=class e extends z{constructor(t,n){super(t,n),Object.setPrototypeOf(this,e.prototype),this.name=`TargetingKeyMissingError`,this.code=`TARGETING_KEY_MISSING`}},Xe=class e extends z{constructor(t,n){super(t,n),Object.setPrototypeOf(this,e.prototype),this.name=`TypeMismatchError`,this.code=`TYPE_MISMATCH`}},Ze=(e,t)=>{switch(e){case`FLAG_NOT_FOUND`:return new Ge(t);case`PARSE_ERROR`:return new Je(t);case`TYPE_MISMATCH`:return new Xe(t);case`TARGETING_KEY_MISSING`:return new Ye(t);case`INVALID_CONTEXT`:return new qe(t);case`PROVIDER_NOT_READY`:return new V(t);case`PROVIDER_FATAL`:return new B(t);default:return new Ke(t)}},H=(e=>(e.NOT_READY=`NOT_READY`,e.READY=`READY`,e.ERROR=`ERROR`,e.STALE=`STALE`,e.FATAL=`FATAL`,e.RECONCILING=`RECONCILING`,e))(H||{}),U=(e=>(e.Ready=`PROVIDER_READY`,e.Error=`PROVIDER_ERROR`,e.ConfigurationChanged=`PROVIDER_CONFIGURATION_CHANGED`,e.ContextChanged=`PROVIDER_CONTEXT_CHANGED`,e.Reconciling=`PROVIDER_RECONCILING`,e.Stale=`PROVIDER_STALE`,e))(U||{}),Qe={READY:`PROVIDER_READY`,ERROR:`PROVIDER_ERROR`,FATAL:`PROVIDER_ERROR`,STALE:`PROVIDER_STALE`,RECONCILING:`PROVIDER_RECONCILING`,NOT_READY:void 0},W=(e,t)=>!t&&e===`PROVIDER_READY`||Qe[t]===e,G=class{error(...e){console.error(...e)}warn(...e){console.warn(...e)}info(){}debug(){}},$e=[`error`,`warn`,`info`,`debug`],K=class{constructor(e){this.fallbackLogger=new G;try{for(let t of $e)if(!e[t]||typeof e[t]!=`function`)throw Error(`The provided logger is missing the ${t} method.`);this.logger=e}catch(e){console.error(e),console.error(`Falling back to the default logger.`),this.logger=this.fallbackLogger}}error(...e){this.log(`error`,...e)}warn(...e){this.log(`warn`,...e)}info(...e){this.log(`info`,...e)}debug(...e){this.log(`debug`,...e)}log(e,...t){try{this.logger[e](...t)}catch{this.fallbackLogger[e](...t)}}},et=class{constructor(e){this.globalLogger=e,this._handlers={PROVIDER_CONFIGURATION_CHANGED:new WeakMap,PROVIDER_CONTEXT_CHANGED:new WeakMap,PROVIDER_READY:new WeakMap,PROVIDER_ERROR:new WeakMap,PROVIDER_STALE:new WeakMap,PROVIDER_RECONCILING:new WeakMap}}emit(e,t){this.eventEmitter.emit(e,t)}addHandler(e,t){let n=e=>R(this,null,function*(){var n;try{yield t(e)}catch(e){(n=this._logger)==null||n.error(`Error running event handler:`,e)}}),r=this._handlers[e].get(t);this._handlers[e].set(t,[...r||[],n]),this.eventEmitter.on(e,n)}removeHandler(e,t){let n=this._handlers[e].get(t);if(n){let t=n.pop();t&&this.eventEmitter.removeListener(e,t)}}removeAllHandlers(e){e?this.eventEmitter.removeAllListeners(e):this.eventEmitter.removeAllListeners()}getHandlers(e){return this.eventEmitter.listeners(e)}setLogger(e){return this._eventLogger=new K(e),this}get _logger(){return this._eventLogger??this.globalLogger?.call(this)}};function tt(e){return typeof e==`string`}function q(e){return tt(e)?e:void 0}function nt(e){return typeof e==`object`}function J(e){return nt(e)?e:void 0}function rt(e){return e!=null}var Y=class{constructor(e,t,n){this._provider=e,this._status=t,this._pendingContextChanges=0;var r,i,a;(r=e.events)==null||r.addHandler(`PROVIDER_READY`,()=>{this._status=n.READY}),(i=e.events)==null||i.addHandler(`PROVIDER_STALE`,()=>{this._status=n.STALE}),(a=e.events)==null||a.addHandler(`PROVIDER_ERROR`,e=>{e?.errorCode===`PROVIDER_FATAL`?this._status=n.FATAL:this._status=n.ERROR})}get provider(){return this._provider}set provider(e){this._provider=e}get status(){return this._status}set status(e){this._status=e}get allContextChangesSettled(){return this._pendingContextChanges===0}incrementPendingContextChanges(){this._pendingContextChanges++}decrementPendingContextChanges(){this._pendingContextChanges--}},it=class{constructor(e){this._hooks=[],this._context={},this._logger=new G,this._clientEventHandlers=new Map,this._domainScopedContext=new Map,this._clientEvents=new Map,this._runsOn=e}addHooks(...e){return this._hooks=[...this._hooks,...e],this}getHooks(){return this._hooks}clearHooks(){return this._hooks=[],this}setLogger(e){return this._logger=new K(e),this}get providerMetadata(){return this.getProviderMetadata()}getProviderMetadata(e){return this.getProviderForClient(e).metadata}addHandler(e,t,n){[...new Map([[void 0,this._defaultProvider]]),...this._domainScopedProviders].forEach(n=>{var r;let i=n[0],a=n[1].provider,o=n[1].status;if(W(e,o))try{t({domain:i,providerName:a.metadata.name})}catch(e){(r=this._logger)==null||r.error(`Error running event handler:`,e)}}),this._apiEmitter.addHandler(e,t),n?.signal&&typeof n.signal.addEventListener==`function`&&n.signal.addEventListener(`abort`,()=>{this.removeHandler(e,t)})}removeHandler(e,t){this._apiEmitter.removeHandler(e,t)}clearHandlers(){this._apiEmitter.removeAllHandlers()}getHandlers(e){return this._apiEmitter.getHandlers(e)}setAwaitableProvider(e,t){var n,r;let i=q(e),a=J(e)??J(t);if(!a){this._logger.debug(`No provider defined, ignoring setProvider call`);return}let o=this.getProviderForClient(i),s=a.metadata.name;if(o===a){this._logger.debug(`Provider is already set, ignoring setProvider call`);return}if(!a.runsOn)this._logger.debug(`Provider '${a.metadata.name}' has not defined its intended use.`);else if(a.runsOn!==this._runsOn)throw new Ke(`Provider '${a.metadata.name}' is intended for use on the ${a.runsOn}.`);let c=this.getAssociatedEventEmitters(i),l,u=new Y(a,this._statusEnumType.NOT_READY,this._statusEnumType);return typeof a.initialize==`function`&&!this.allProviders.includes(a)?l=((a.initialize?.call(a,i?this._domainScopedContext.get(i)??this._context:this._context))?.then(()=>{var e;u.status=this._statusEnumType.READY,this.getAssociatedEventEmitters(i).forEach(e=>{e?.emit(`PROVIDER_READY`,{clientName:i,domain:i,providerName:s})}),(e=this._apiEmitter)==null||e.emit(`PROVIDER_READY`,{clientName:i,domain:i,providerName:s})}))?.catch(e=>{var t;throw e?.code===`PROVIDER_FATAL`?u.status=this._statusEnumType.FATAL:u.status=this._statusEnumType.ERROR,this.getAssociatedEventEmitters(i).forEach(t=>{t?.emit(`PROVIDER_ERROR`,{clientName:i,domain:i,providerName:s,message:e?.message})}),(t=this._apiEmitter)==null||t.emit(`PROVIDER_ERROR`,{clientName:i,domain:i,providerName:s,message:e?.message}),e}):(u.status=this._statusEnumType.READY,c.forEach(e=>{e?.emit(`PROVIDER_READY`,{clientName:i,domain:i,providerName:s})}),(n=this._apiEmitter)==null||n.emit(`PROVIDER_READY`,{clientName:i,domain:i,providerName:s})),i?this._domainScopedProviders.set(i,u):this._defaultProvider=u,this.transferListeners(o,a,i,c),this.allProviders.includes(o)||(r=(o?.onClose)?.call(o))==null||r.catch(e=>{this._logger.error(`error closing provider: ${e?.message}, ${e?.stack}`)}),l}getProviderForClient(e){return e?this._domainScopedProviders.get(e)?.provider??this._defaultProvider.provider:this._defaultProvider.provider}buildAndCacheEventEmitterForClient(e){let t=this._clientEvents.get(e);if(t)return t;let n=this._createEventEmitter();this._clientEvents.set(e,n);let r=this.getProviderForClient(e);return Object.values(U).forEach(t=>r.events?.addHandler(t,i=>R(this,null,function*(){n.emit(t,L(I({},i),{clientName:e,domain:e,providerName:r.metadata.name}))}))),n}getUnboundEmitters(){let e=[...this._domainScopedProviders.keys()];return[...[...this._clientEvents.keys()].filter(rt).filter(t=>!e.includes(t)).map(e=>this._clientEvents.get(e)),this._clientEvents.get(void 0)].filter(rt)}getAssociatedEventEmitters(e){return e?[this.buildAndCacheEventEmitterForClient(e)]:this.getUnboundEmitters()}transferListeners(e,t,n,r){var i;(i=this._clientEventHandlers.get(n))==null||i.forEach(t=>e.events?.removeHandler(...t));let a=Object.values(U).map(e=>[e,i=>R(this,null,function*(){r.forEach(r=>{r?.emit(e,L(I({},i),{clientName:n,domain:n,providerName:t.metadata.name}))}),this._apiEmitter.emit(e,L(I({},i),{clientName:n,domain:n,providerName:t.metadata.name}))})]);this._clientEventHandlers.set(n,a),a.forEach(e=>t.events?.addHandler(...e))}close(){return R(this,null,function*(){var e;try{yield((e=this==null?void 0:this._defaultProvider.provider)?.onClose)?.call(e)}catch(e){this.handleShutdownError(this._defaultProvider.provider,e)}let t=Array.from(this._domainScopedProviders);yield Promise.all(t.map(e=>R(this,[e],function*([,e]){var t;try{yield(e==null?void 0:(t=e.provider).onClose)?.call(t)}catch(t){this.handleShutdownError(e?.provider,t)}})))})}clearProvidersAndSetDefault(e){return R(this,null,function*(){try{yield this.close()}catch{this._logger.error(`Unable to cleanly close providers. Resetting to the default configuration.`)}finally{this._domainScopedProviders.clear(),this._defaultProvider=new Y(e,this._statusEnumType.NOT_READY,this._statusEnumType)}})}get allProviders(){return[...[...this._domainScopedProviders.values()].map(e=>e.provider),this._defaultProvider.provider]}handleShutdownError(e,t){this._logger.error(`Error during shutdown of provider ${e.metadata.name}: ${t}`),this._logger.error(t?.stack)}},at=Object.create,X=Object.defineProperty,ot=Object.defineProperties,st=Object.getOwnPropertyDescriptor,ct=Object.getOwnPropertyDescriptors,lt=Object.getOwnPropertyNames,ut=Object.getOwnPropertySymbols,dt=Object.getPrototypeOf,ft=Object.prototype.hasOwnProperty,pt=Object.prototype.propertyIsEnumerable,mt=Reflect.get,ht=(e,t,n)=>t in e?X(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Z=(e,t)=>{for(var n in t||={})ft.call(t,n)&&ht(e,n,t[n]);if(ut)for(var n of ut(t))pt.call(t,n)&&ht(e,n,t[n]);return e},gt=(e,t)=>ot(e,ct(t)),_t=(e,t)=>function(){return t||(0,e[lt(e)[0]])((t={exports:{}}).exports,t),t.exports},vt=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of lt(t))!ft.call(e,i)&&i!==n&&X(e,i,{get:()=>t[i],enumerable:!(r=st(t,i))||r.enumerable});return e},yt=(e,t,n)=>(n=e==null?{}:at(dt(e)),vt(t||!e||!e.__esModule?X(n,`default`,{value:e,enumerable:!0}):n,e)),bt=(e,t,n)=>mt(dt(e),n,t),Q=(e,t,n)=>new Promise((r,i)=>{var a=e=>{try{s(n.next(e))}catch(e){i(e)}},o=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(a,o);s((n=n.apply(e,t)).next())}),xt=_t({"../../node_modules/eventemitter3/index.js"(e,t){var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i<a;i++)o[i]=n[i].fn;return o},c.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},c.prototype.emit=function(e,t,n,i,a,o){var s=r?r+e:e;if(!this._events[s])return!1;var c=this._events[s],l=arguments.length,u,d;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,a),!0;case 6:return c.fn.call(c.context,t,n,i,a,o),!0}for(d=1,u=Array(l-1);d<l;d++)u[d-1]=arguments[d];c.fn.apply(c.context,u)}else{var ee=c.length,f;for(d=0;d<ee;d++)switch(c[d].once&&this.removeListener(e,c[d].fn,void 0,!0),l){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,t);break;case 3:c[d].fn.call(c[d].context,t,n);break;case 4:c[d].fn.call(c[d].context,t,n,i);break;default:if(!u)for(f=1,u=Array(l-1);f<l;f++)u[f-1]=arguments[f];c[d].fn.apply(c[d].context,u)}}return!0},c.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},c.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},c.prototype.removeListener=function(e,t,n,i){var a=r?r+e:e;if(!this._events[a])return this;if(!t)return s(this,a),this;var o=this._events[a];if(o.fn)o.fn===t&&(!i||o.once)&&(!n||o.context===n)&&s(this,a);else{for(var c=0,l=[],u=o.length;c<u;c++)(o[c].fn!==t||i&&!o[c].once||n&&o[c].context!==n)&&l.push(o[c]);l.length?this._events[a]=l.length===1?l[0]:l:s(this,a)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&s(this,t)):(this._events=new i,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=r,c.EventEmitter=c,t!==void 0&&(t.exports=c)}}),St=`No-op`,Ct=new class{constructor(){this.metadata={name:`No-op Provider`}}resolveBooleanEvaluation(e,t){return this.noOp(t)}resolveStringEvaluation(e,t){return this.noOp(t)}resolveNumberEvaluation(e,t){return this.noOp(t)}resolveObjectEvaluation(e,t){return this.noOp(t)}noOp(e){return{value:e,reason:St}}},wt=yt(xt(),1),Tt=class extends et{constructor(){super(),this.eventEmitter=new wt.default}},Et=class{constructor(e,t,n,r,i,a,o){this.providerAccessor=e,this.providerStatusAccessor=t,this.emitterAccessor=n,this.apiContextAccessor=r,this.apiHooksAccessor=i,this.globalLogger=a,this.options=o,this._hooks=[]}get metadata(){return{name:this.options.domain??this.options.name,domain:this.options.domain??this.options.name,version:this.options.version,providerMetadata:this.providerAccessor().metadata}}get providerStatus(){return this.providerStatusAccessor()}addHandler(e,t,n){var r;if(this.emitterAccessor().addHandler(e,t),W(e,this.providerStatus))try{t({clientName:this.metadata.name,domain:this.metadata.domain,providerName:this._provider.metadata.name})}catch(e){(r=this._logger)==null||r.error(`Error running event handler:`,e)}n?.signal&&typeof n.signal.addEventListener==`function`&&n.signal.addEventListener(`abort`,()=>{this.removeHandler(e,t)})}removeHandler(e,t){this.emitterAccessor().removeHandler(e,t)}getHandlers(e){return this.emitterAccessor().getHandlers(e)}setLogger(e){return this._clientLogger=new K(e),this}addHooks(...e){return this._hooks=[...this._hooks,...e],this}getHooks(){return this._hooks}clearHooks(){return this._hooks=[],this}getBooleanValue(e,t,n){return this.getBooleanDetails(e,t,n).value}getBooleanDetails(e,t,n){return this.evaluate(e,this._provider.resolveBooleanEvaluation,t,`boolean`,n)}getStringValue(e,t,n){return this.getStringDetails(e,t,n).value}getStringDetails(e,t,n){return this.evaluate(e,this._provider.resolveStringEvaluation,t,`string`,n)}getNumberValue(e,t,n){return this.getNumberDetails(e,t,n).value}getNumberDetails(e,t,n){return this.evaluate(e,this._provider.resolveNumberEvaluation,t,`number`,n)}getObjectValue(e,t,n){return this.getObjectDetails(e,t,n).value}getObjectDetails(e,t,n){return this.evaluate(e,this._provider.resolveObjectEvaluation,t,`object`,n)}track(e,t={}){var n;try{if(this.shortCircuitIfNotReady(),typeof this._provider.track==`function`){let r=Object.freeze(Z({},this.apiContextAccessor((this==null?void 0:this.options)?.domain)));return(n=this._provider).track?.call(n,e,r,t)}else this._logger.debug(`Provider does not support the track function; will no-op.`)}catch(e){this._logger.debug(`Error recording tracking event.`,e)}}evaluate(e,t,n,r,i={}){let a=[...this.apiHooksAccessor(),...this.getHooks(),...i.hooks||[],...this._provider.hooks||[]],o=[...a].reverse(),s=Z({},this.apiContextAccessor((this==null?void 0:this.options)?.domain)),c=o.map(()=>Object.freeze({flagKey:e,defaultValue:n,flagValueType:r,clientMetadata:this.metadata,providerMetadata:this._provider.metadata,context:s,logger:this._logger,hookData:new He})),l;try{this.beforeHooks(a,c,i),this.shortCircuitIfNotReady();let r=t.call(this._provider,e,n,s,this._logger),u=gt(Z({},r),{flagMetadata:Object.freeze(r.flagMetadata??{}),flagKey:e});if(u.errorCode){let t=Ze(u.errorCode,u.errorMessage);this.errorHooks(o,c,t,i),l=this.getErrorEvaluationDetails(e,n,t,u.flagMetadata)}else this.afterHooks(o,c,u,i),l=u}catch(t){this.errorHooks(o,c,t,i),l=this.getErrorEvaluationDetails(e,n,t)}return this.finallyHooks(o,c,l,i),l}beforeHooks(e,t,n){var r;for(let[i,a]of e.entries()){let o=t[e.length-1-i];Object.freeze(o),Object.freeze(o.context),(r=a?.before)==null||r.call(a,o,Object.freeze(n.hookHints))}}afterHooks(e,t,n,r){var i;for(let[a,o]of e.entries()){let e=t[a];(i=o?.after)==null||i.call(o,e,n,r.hookHints)}}errorHooks(e,t,n,r){var i;for(let[a,o]of e.entries())try{let e=t[a];(i=o?.error)==null||i.call(o,e,n,r.hookHints)}catch(e){this._logger.error(`Unhandled error during 'error' hook: ${e}`),e instanceof Error&&this._logger.error(e.stack),this._logger.error(e?.stack)}}finallyHooks(e,t,n,r){var i;for(let[a,o]of e.entries())try{let e=t[a];(i=o?.finally)==null||i.call(o,e,n,r.hookHints)}catch(e){this._logger.error(`Unhandled error during 'finally' hook: ${e}`),e instanceof Error&&this._logger.error(e.stack),this._logger.error(e?.stack)}}get _provider(){return this.providerAccessor()}get _logger(){return this._clientLogger||this.globalLogger()}shortCircuitIfNotReady(){if(this.providerStatus===H.NOT_READY)throw new V(`provider has not yet initialized`);if(this.providerStatus===H.FATAL)throw new B(`provider is in an irrecoverable error state`)}getErrorEvaluationDetails(e,t,n,r={}){let i=n?.message;return{errorCode:n?.code||We.GENERAL,errorMessage:i,value:t,reason:Ue.ERROR,flagMetadata:Object.freeze(r),flagKey:e}}},Dt=Symbol.for(`@openfeature/web-sdk/api`),Ot=globalThis,kt=class e extends it{constructor(){super(`client`),this._statusEnumType=H,this._apiEmitter=new Tt,this._defaultProvider=new Y(Ct,H.NOT_READY,this._statusEnumType),this._domainScopedProviders=new Map,this._createEventEmitter=()=>new Tt}static getInstance(){let t=Ot[Dt];if(t)return t;let n=new e;return Ot[Dt]=n,n}getProviderStatus(e){return e?this._domainScopedProviders.get(e)?.status??this._defaultProvider.status:this._defaultProvider.status}setProviderAndWait(e,t,n){return Q(this,null,function*(){let r=q(e),i=J(r?t:e),a=J(r?n:t);a&&(r?this._domainScopedContext.set(r,a):this._context=a),yield this.setAwaitableProvider(r,i)})}setProvider(e,t,n){let r=q(e),i=J(r?t:e),a=J(r?n:t);a&&(r?this._domainScopedContext.set(r,a):this._context=a);let o=this.setAwaitableProvider(r,i);return Promise.resolve(o).catch(e=>{this._logger.error(`Error during provider initialization:`,e)}),this}getProvider(e){return this.getProviderForClient(e)}setContext(e,t){return Q(this,null,function*(){let n=q(e),r=J(e)??J(t)??{};if(n){let e=this._domainScopedProviders.get(n);if(e){let t=this.getContext(n);this._domainScopedContext.set(n,r),yield this.runProviderContextChangeHandler(n,e,t,r)}else this._domainScopedContext.set(n,r)}else{let e=this._context;this._context=r;let t=Array.from(this._domainScopedProviders.entries()).filter(([e])=>!this._domainScopedContext.has(e)).reduce((e,[t,n])=>(e.push({domain:t,wrapper:n}),e),[]),n=[{domain:void 0,wrapper:this._defaultProvider},...t];yield Promise.all(n.map(t=>this.runProviderContextChangeHandler(t.domain,t.wrapper,e,r)))}})}getContext(e){let t=q(e);if(t){let e=this._domainScopedContext.get(t);if(e)return e;this._logger.debug(`Unable to find context for '${t}'.`)}return this._context}clearContext(e){return Q(this,null,function*(){let t=q(e);if(t){let e=this._domainScopedProviders.get(t);if(e){let n=this.getContext(t);this._domainScopedContext.delete(t);let r=this.getContext();yield this.runProviderContextChangeHandler(t,e,n,r)}else this._domainScopedContext.delete(t)}else return this.setContext({})})}clearContexts(){return Q(this,null,function*(){yield this.clearContext(),yield Promise.allSettled(Array.from(this._domainScopedProviders.keys()).map(e=>this.clearContext(e)))})}getClient(e,t){return new Et(()=>this.getProviderForClient(e),()=>this.getProviderStatus(e),()=>this.buildAndCacheEventEmitterForClient(e),e=>this.getContext(e),()=>this.getHooks(),()=>this._logger,{domain:e,version:t})}clearProviders(){return Q(this,null,function*(){yield bt(e.prototype,this,`clearProvidersAndSetDefault`).call(this,Ct),this._domainScopedContext.clear()})}runProviderContextChangeHandler(e,t,n,r){return Q(this,null,function*(){var i,a,o,s;let c=t.provider?.metadata?.name||`unnamed-provider`;try{if(typeof t.provider.onContextChange==`function`){let a=t.provider.onContextChange(n,r);a&&typeof a?.then==`function`&&(t.incrementPendingContextChanges(),t.status=this._statusEnumType.RECONCILING,this.getAssociatedEventEmitters(e).forEach(t=>{t?.emit(U.Reconciling,{domain:e,providerName:c})}),(i=this._apiEmitter)==null||i.emit(U.Reconciling,{domain:e,providerName:c}),yield a,t.decrementPendingContextChanges())}t.status=this._statusEnumType.READY,t.allContextChangesSettled&&(this.getAssociatedEventEmitters(e).forEach(t=>{t?.emit(U.ContextChanged,{clientName:e,domain:e,providerName:c})}),(a=this._apiEmitter)==null||a.emit(U.ContextChanged,{clientName:e,domain:e,providerName:c}))}catch(n){if(t.decrementPendingContextChanges(),t.status=this._statusEnumType.ERROR,t.allContextChangesSettled){let t=`Error running ${c}'s context change handler: ${n?.message}`;(o=this._logger)==null||o.error(`${t}`,n),this.getAssociatedEventEmitters(e).forEach(n=>{n?.emit(U.Error,{clientName:e,domain:e,providerName:c,message:t})}),(s=this._apiEmitter)==null||s.emit(U.Error,{clientName:e,domain:e,providerName:c,message:t})}}})}}.getInstance(),At={config:{id:`document-model-editor-v2`,name:`Document Model Editor`},documentTypes:[`powerhouse/document-model`],Component:F(()=>b(()=>import(`./editor-BzhVjRaX-9Dxtetvs.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])))},jt=e({documentModels:()=>Nt,editors:()=>Pt,manifest:()=>Ft}),Mt={name:`Common`,description:`Common`,category:`Common`,publisher:{name:`@powerhousedao`,url:`https://github.com/powerhouse-inc/powerhouse/tree/main/packages/powerhouse-vetra-packages`},documentModels:[{id:`powerhouse/package`,name:`Vetra Package`},{id:`powerhouse/document-editor`,name:`Document Editor`},{id:`powerhouse/subgraph-module`,name:`Subgraph Module`},{id:`powerhouse/processor`,name:`Processor Module`},{id:`powerhouse/app`,name:`App Module`}],editors:[{id:`vetra-package-editor`,name:`Vetra Package Editor`,documentTypes:[`powerhouse/package`]},{id:`document-editor-editor`,name:`Document Editor`,documentTypes:[`powerhouse/document-editor`]},{id:`subgraph-module-editor`,name:`Subgraph Module Editor`,documentTypes:[`powerhouse/subgraph-module`]},{id:`processor-module-editor`,name:`Processor Module Editor`,documentTypes:[`powerhouse/processor`]},{id:`app-module-editor`,name:`App Module Editor`,documentTypes:[`powerhouse/app`]}],apps:[{id:`vetra-drive-app`,name:`Vetra Drive App`,app:`vetra-drive-app`}],subgraphs:[],importScripts:[]},Nt=[Se,we,Ce],Pt=[At,xe],Ft=Mt,It={name:`@powerhousedao/powerhouse-vetra-packages`,version:`6.2.0-dev.23`,description:``,keywords:[],author:``,license:`AGPL-3.0-only`,type:`module`,sideEffects:[`**/*.css`],repository:{type:`git`,url:`https://github.com/powerhouse-inc/powerhouse`},publishConfig:{access:`public`},files:[`dist`,`style.css`],exports:{".":{source:`./index.ts`,types:`./dist/index.d.ts`,browser:`./dist/browser/index.js`,node:`./dist/node/index.mjs`},"./document-models":{source:`./document-models/index.ts`,types:`./dist/document-models/index.d.ts`,browser:`./dist/browser/document-models/index.js`,node:`./dist/node/document-models/index.mjs`},"./document-models/*":{source:`./document-models/*/index.ts`,types:`./dist/document-models/*/index.d.ts`,browser:`./dist/browser/document-models/*/index.js`,node:`./dist/node/document-models/*/index.mjs`},"./editors":{source:`./editors/index.ts`,types:`./dist/editors/index.d.ts`,browser:`./dist/browser/editors/index.js`,node:`./dist/node/editors/index.mjs`},"./editors/*":{source:`./editors/*/index.ts`,types:`./dist/editors/*/index.d.ts`,browser:`./dist/browser/editors/*/index.js`,node:`./dist/node/editors/*/index.mjs`},"./subgraphs":{types:`./dist/subgraphs/index.d.ts`,browser:`./dist/browser/subgraphs/index.js`,node:`./dist/node/subgraphs/index.mjs`},"./processors":{types:`./dist/processors/index.d.ts`,browser:`./dist/browser/processors/index.js`,node:`./dist/node/processors/index.mjs`},"./manifest":`./dist/powerhouse.manifest.json`,"./style.css":`./style.css`,"./package.json":`./package.json`},peerDependencies:{graphql:`^16`,react:`^19`,"react-dom":`^19`},devDependencies:{"@codemirror/autocomplete":`6.18.6`,"@codemirror/commands":`6.8.1`,"@codemirror/lang-json":`6.0.1`,"@codemirror/language":`6.11.0`,"@codemirror/lint":`6.8.5`,"@codemirror/search":`6.5.10`,"@codemirror/state":`6.5.2`,"@codemirror/view":`6.36.7`,"@graphql-tools/utils":`11.0.0`,"@hookform/resolvers":`^5.0.1`,"@powerhousedao/document-engineering":`1.40.5`,"@radix-ui/react-label":`^2.1.4`,"@radix-ui/react-slot":`^1.2.0`,"@radix-ui/react-tabs":`^1.1.9`,"@tailwindcss/cli":`4.2.2`,"@tanstack/react-virtual":`^3.8.1`,"@types/react":`19.2.14`,"@types/react-dom":`19.2.3`,"change-case":`5.4.4`,"class-variance-authority":`0.7.0`,clsx:`^2.1.1`,"cm6-graphql":`^0.2.1`,graphql:`^16`,react:`19.2.6`,"react-dom":`19.2.6`,"react-hook-form":`^7.56.1`,"react-i18next":`16.5.4`,rolldown:`1.0.0-rc.8`,"tailwind-merge":`3.4.0`,tailwindcss:`4.2.2`,thememirror:`^2.0.1`,tsdown:`0.21.1`,tsx:`4.21.0`,zod:`4.3.6`,"@powerhousedao/design-system":`6.2.0-dev.23`,"@powerhousedao/reactor-drive":`6.2.0-dev.23`,"@powerhousedao/reactor-browser":`6.2.0-dev.23`,"document-model":`6.2.0-dev.23`,"@powerhousedao/shared":`6.2.0-dev.23`},scripts:{tsc:`tsc`,lint:`eslint`,test:`vitest --run`,build:`tsx ./build`,"test:watch":`vitest`,generate:`ph-cli generate`,reactor:`ph-cli reactor`,service:`ph-cli service`,migrate:`ph-cli migrate`,"service-startup":`bash ./node_modules/@powerhousedao/ph-cli/dist/scripts/service-startup.sh`,"service-unstartup":`bash ./node_modules/@powerhousedao/ph-cli/dist/scripts/service-unstartup.sh`}},Lt={name:`@powerhousedao/vetra`,description:`Vetra package`,category:``,publisher:{name:`@powerhousedao`,url:`https://github.com/powerhouse-inc/powerhouse/tree/main/packages/vetra`},documentModels:[{id:`powerhouse/package`,name:`Vetra Package`},{id:`powerhouse/document-editor`,name:`Document Editor`},{id:`powerhouse/subgraph`,name:`Subgraph Module`},{id:`powerhouse/processor`,name:`Processor Module`},{id:`powerhouse/app`,name:`App Module`}],apps:[{id:`vetra-drive-app`,name:`Vetra Drive App`}],editors:[{id:`vetra-package-editor`,name:`Vetra Package Editor`,documentTypes:[`powerhouse/package`]},{id:`document-editor-editor`,name:`Document Editor`,documentTypes:[`powerhouse/document-editor`]},{id:`subgraph-module-editor`,name:`Subgraph Module Editor`,documentTypes:[`powerhouse/subgraph`]},{id:`processor-module-editor`,name:`Processor Module Editor`,documentTypes:[`powerhouse/processor`]},{id:`app-editor`,name:`App Editor`,documentTypes:[`powerhouse/app`]}],processors:[{id:`codegen`,name:`codegen`},{id:`vetra-read-model`,name:`vetra-read-model`}],subgraphs:[],config:[]},Rt={id:`powerhouse/processor`,name:`Processor Module`,author:{name:`Powerhouse`,website:`https://powerhouse.inc`},extension:`.processor`,description:"Declares a processor (a server-side function that reacts to document operations to build read models, send notifications, sync to external systems, etc.) shipped by a Vetra Reactor Package. Create one Processor Module document per processor: pick the processor type, list the document types it subscribes to, attach it to any drive apps that should run it, and mark it CONFIRMED to trigger codegen of the processor scaffold under `processors/`.",specifications:[{state:{local:{schema:``,examples:[],initialValue:``},global:{schema:`"""
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/editor-BzhVjRaX-9Dxtetvs.js","assets/preload-helper-ca-nBW7U.js","assets/connect-CahHnhpc-DAWtLyxf.js","assets/parser-CkF6Qt8V-CqvnWRuI.js","assets/dist-D8H48e8N-Blh-WMaA.js","assets/dist-DXM8ccKa-DV1gto78.js","assets/dist-HgA907mh-Cyiona0j.js","assets/linting-Dn6pXRkK-wzup7z6r.js","assets/documents-D4ek7Ubv-BwoHIQS-.js","assets/schema-context-DY-GEGnY-DDnDCqkg.js","assets/editor-CVCLxUhe-C9Ftgu1S.js","assets/connect-CGvtDtZh.js","assets/chunk-BNv3lrIs.js","assets/dist-t-ezfpxv.js","assets/hmac-wnxCe4SN.js","assets/worker-XYrQaEmt-w0FhumYk.js","assets/error-info-Cpu4OY3o-DJ8lg6ye.js","assets/types-CxSpmNGK-BaNo7EHQ.js","assets/esm-0nAQjFUV.js","assets/errors-D3S6Eysd-DUmQAeoG.js","assets/dist-Cb4AoJ-8.js","assets/clsx-CtFH8AOT.js","assets/components-Djrujufg.js","assets/hooks-Btogj1f0-BKAAmyt-.js","assets/module-CRq_lUkG-D61oeRlC.js","assets/chunk-pbuEa-1d-KEQyMDN_.js","assets/editor-DnG2Zzet-CQ38uSti.js","assets/module-DP3bVbak-VbUPIBZP.js","assets/editor-B560eld_-DLpKHubk.js","assets/useVetraDocument-tpjMF571-DxT9GgCx.js","assets/utils-CkWB3DRk-BURJYofr.js","assets/editor-CAVHtR-v-D33T9vW0.js","assets/utils-BiV3cs9Y-B7i9WJ1b.js","assets/editor-mor7dV6n-NTU9k1uj.js","assets/editor-xCnDas6c-DdGhx--5.js","assets/module-1hr_ne9w-CWAVsMzZ.js","assets/worker-C5dOZDTw.js","assets/chunk-A7RFOIQ7-LfOdAcBB.js","assets/chunk-BTBUZ646-BwTZXBLs.js","assets/chunk-EADU5A67-BHbnANQy.js","assets/live-BNFn5R0a.js","assets/worker-CzUqQwa7.js","assets/chunk-3WWIVTCY-Dk4atnGX.js","assets/chunk-QY3QWFKW-Dw6-Hpdq.js","assets/chunk-F2DQ4FIK-B5wKwnbU.js","assets/live-C1s3S4Zn.js"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./chunk-BNv3lrIs.js";import{$t as t,Bt as n,D as r,E as i,Ht as a,I as o,L as s,M as c,N as l,P as u,Qt as d,R as ee,S as f,Vt as te,Wt as ne,Xt as re,Zt as ie,_n as p,an as ae,cn as oe,f as se,fn as m,in as h,j as ce,m as le,o as ue,p as de,pn as g,qt as fe,r as pe,rn as me,s as he,sn as _,t as v,w as y,x as ge,y as _e}from"./dist-t-ezfpxv.js";import{n as ve}from"./runtime-config-DL3QjcfM-D9g4VFtY.js";import{t as b}from"./preload-helper-ca-nBW7U.js";import{C as x,x as S}from"./types-CxSpmNGK-BaNo7EHQ.js";import{a as C,o as w,t as T}from"./dist-Cb4AoJ-8.js";import{b as E}from"./esm-0nAQjFUV.js";import{t as D}from"./dist-DMXkjzve.js";import{n as O}from"./toast-BEy42aYx-Dg_jZf6v.js";import{n as ye,o as k}from"./connect.config-Bt4pvvWV-Dj3FkjaZ.js";import{a as A,c as j,f as M,g as N,i as P,s as be,t as xe}from"./module-7zCQE1MC.js";import{C as Se,c as Ce,w as we}from"./dist-DXM8ccKa-DV1gto78.js";import{t as Te}from"./chunk-pbuEa-1d-KEQyMDN_.js";import{t as Ee}from"./module-CRq_lUkG-D61oeRlC.js";import{t as De}from"./module-DP3bVbak-VbUPIBZP.js";import{i as Oe,t as ke,u as Ae}from"./utils-CkWB3DRk-BURJYofr.js";import{a as je,n as Me,t as Ne}from"./utils-BiV3cs9Y-B7i9WJ1b.js";import{t as Pe}from"./module-1hr_ne9w-CWAVsMzZ.js";import{lazy as F}from"react";var Fe=Object.defineProperty,Ie=Object.defineProperties,Le=Object.getOwnPropertyDescriptors,Re=Object.getOwnPropertySymbols,ze=Object.prototype.hasOwnProperty,Be=Object.prototype.propertyIsEnumerable,Ve=(e,t,n)=>t in e?Fe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,I=(e,t)=>{for(var n in t||={})ze.call(t,n)&&Ve(e,n,t[n]);if(Re)for(var n of Re(t))Be.call(t,n)&&Ve(e,n,t[n]);return e},L=(e,t)=>Ie(e,Le(t)),R=(e,t,n)=>new Promise((r,i)=>{var a=e=>{try{s(n.next(e))}catch(e){i(e)}},o=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(a,o);s((n=n.apply(e,t)).next())}),He=class{constructor(){this.data=new Map}set(e,t){this.data.set(e,t)}get(e){return this.data.get(e)}has(e){return this.data.has(e)}delete(e){return this.data.delete(e)}clear(){this.data.clear()}},Ue={STATIC:`STATIC`,DEFAULT:`DEFAULT`,TARGETING_MATCH:`TARGETING_MATCH`,SPLIT:`SPLIT`,CACHED:`CACHED`,DISABLED:`DISABLED`,UNKNOWN:`UNKNOWN`,STALE:`STALE`,ERROR:`ERROR`},We=(e=>(e.PROVIDER_NOT_READY=`PROVIDER_NOT_READY`,e.PROVIDER_FATAL=`PROVIDER_FATAL`,e.FLAG_NOT_FOUND=`FLAG_NOT_FOUND`,e.PARSE_ERROR=`PARSE_ERROR`,e.TYPE_MISMATCH=`TYPE_MISMATCH`,e.TARGETING_KEY_MISSING=`TARGETING_KEY_MISSING`,e.INVALID_CONTEXT=`INVALID_CONTEXT`,e.GENERAL=`GENERAL`,e))(We||{}),z=class e extends Error{constructor(t,n){super(t),Object.setPrototypeOf(this,e.prototype),this.name=`OpenFeatureError`,this.cause=n?.cause}},Ge=class e extends z{constructor(t,n){super(t,n),Object.setPrototypeOf(this,e.prototype),this.name=`FlagNotFoundError`,this.code=`FLAG_NOT_FOUND`}},Ke=class e extends z{constructor(t,n){super(t,n),Object.setPrototypeOf(this,e.prototype),this.name=`GeneralError`,this.code=`GENERAL`}},qe=class e extends z{constructor(t,n){super(t,n),Object.setPrototypeOf(this,e.prototype),this.name=`InvalidContextError`,this.code=`INVALID_CONTEXT`}},Je=class e extends z{constructor(t,n){super(t,n),Object.setPrototypeOf(this,e.prototype),this.name=`ParseError`,this.code=`PARSE_ERROR`}},B=class e extends z{constructor(t,n){super(t,n),Object.setPrototypeOf(this,e.prototype),this.name=`ProviderFatalError`,this.code=`PROVIDER_FATAL`}},V=class e extends z{constructor(t,n){super(t,n),Object.setPrototypeOf(this,e.prototype),this.name=`ProviderNotReadyError`,this.code=`PROVIDER_NOT_READY`}},Ye=class e extends z{constructor(t,n){super(t,n),Object.setPrototypeOf(this,e.prototype),this.name=`TargetingKeyMissingError`,this.code=`TARGETING_KEY_MISSING`}},Xe=class e extends z{constructor(t,n){super(t,n),Object.setPrototypeOf(this,e.prototype),this.name=`TypeMismatchError`,this.code=`TYPE_MISMATCH`}},Ze=(e,t)=>{switch(e){case`FLAG_NOT_FOUND`:return new Ge(t);case`PARSE_ERROR`:return new Je(t);case`TYPE_MISMATCH`:return new Xe(t);case`TARGETING_KEY_MISSING`:return new Ye(t);case`INVALID_CONTEXT`:return new qe(t);case`PROVIDER_NOT_READY`:return new V(t);case`PROVIDER_FATAL`:return new B(t);default:return new Ke(t)}},H=(e=>(e.NOT_READY=`NOT_READY`,e.READY=`READY`,e.ERROR=`ERROR`,e.STALE=`STALE`,e.FATAL=`FATAL`,e.RECONCILING=`RECONCILING`,e))(H||{}),U=(e=>(e.Ready=`PROVIDER_READY`,e.Error=`PROVIDER_ERROR`,e.ConfigurationChanged=`PROVIDER_CONFIGURATION_CHANGED`,e.ContextChanged=`PROVIDER_CONTEXT_CHANGED`,e.Reconciling=`PROVIDER_RECONCILING`,e.Stale=`PROVIDER_STALE`,e))(U||{}),Qe={READY:`PROVIDER_READY`,ERROR:`PROVIDER_ERROR`,FATAL:`PROVIDER_ERROR`,STALE:`PROVIDER_STALE`,RECONCILING:`PROVIDER_RECONCILING`,NOT_READY:void 0},W=(e,t)=>!t&&e===`PROVIDER_READY`||Qe[t]===e,G=class{error(...e){console.error(...e)}warn(...e){console.warn(...e)}info(){}debug(){}},$e=[`error`,`warn`,`info`,`debug`],K=class{constructor(e){this.fallbackLogger=new G;try{for(let t of $e)if(!e[t]||typeof e[t]!=`function`)throw Error(`The provided logger is missing the ${t} method.`);this.logger=e}catch(e){console.error(e),console.error(`Falling back to the default logger.`),this.logger=this.fallbackLogger}}error(...e){this.log(`error`,...e)}warn(...e){this.log(`warn`,...e)}info(...e){this.log(`info`,...e)}debug(...e){this.log(`debug`,...e)}log(e,...t){try{this.logger[e](...t)}catch{this.fallbackLogger[e](...t)}}},et=class{constructor(e){this.globalLogger=e,this._handlers={PROVIDER_CONFIGURATION_CHANGED:new WeakMap,PROVIDER_CONTEXT_CHANGED:new WeakMap,PROVIDER_READY:new WeakMap,PROVIDER_ERROR:new WeakMap,PROVIDER_STALE:new WeakMap,PROVIDER_RECONCILING:new WeakMap}}emit(e,t){this.eventEmitter.emit(e,t)}addHandler(e,t){let n=e=>R(this,null,function*(){var n;try{yield t(e)}catch(e){(n=this._logger)==null||n.error(`Error running event handler:`,e)}}),r=this._handlers[e].get(t);this._handlers[e].set(t,[...r||[],n]),this.eventEmitter.on(e,n)}removeHandler(e,t){let n=this._handlers[e].get(t);if(n){let t=n.pop();t&&this.eventEmitter.removeListener(e,t)}}removeAllHandlers(e){e?this.eventEmitter.removeAllListeners(e):this.eventEmitter.removeAllListeners()}getHandlers(e){return this.eventEmitter.listeners(e)}setLogger(e){return this._eventLogger=new K(e),this}get _logger(){return this._eventLogger??this.globalLogger?.call(this)}};function tt(e){return typeof e==`string`}function q(e){return tt(e)?e:void 0}function nt(e){return typeof e==`object`}function J(e){return nt(e)?e:void 0}function rt(e){return e!=null}var Y=class{constructor(e,t,n){this._provider=e,this._status=t,this._pendingContextChanges=0;var r,i,a;(r=e.events)==null||r.addHandler(`PROVIDER_READY`,()=>{this._status=n.READY}),(i=e.events)==null||i.addHandler(`PROVIDER_STALE`,()=>{this._status=n.STALE}),(a=e.events)==null||a.addHandler(`PROVIDER_ERROR`,e=>{e?.errorCode===`PROVIDER_FATAL`?this._status=n.FATAL:this._status=n.ERROR})}get provider(){return this._provider}set provider(e){this._provider=e}get status(){return this._status}set status(e){this._status=e}get allContextChangesSettled(){return this._pendingContextChanges===0}incrementPendingContextChanges(){this._pendingContextChanges++}decrementPendingContextChanges(){this._pendingContextChanges--}},it=class{constructor(e){this._hooks=[],this._context={},this._logger=new G,this._clientEventHandlers=new Map,this._domainScopedContext=new Map,this._clientEvents=new Map,this._runsOn=e}addHooks(...e){return this._hooks=[...this._hooks,...e],this}getHooks(){return this._hooks}clearHooks(){return this._hooks=[],this}setLogger(e){return this._logger=new K(e),this}get providerMetadata(){return this.getProviderMetadata()}getProviderMetadata(e){return this.getProviderForClient(e).metadata}addHandler(e,t,n){[...new Map([[void 0,this._defaultProvider]]),...this._domainScopedProviders].forEach(n=>{var r;let i=n[0],a=n[1].provider,o=n[1].status;if(W(e,o))try{t({domain:i,providerName:a.metadata.name})}catch(e){(r=this._logger)==null||r.error(`Error running event handler:`,e)}}),this._apiEmitter.addHandler(e,t),n?.signal&&typeof n.signal.addEventListener==`function`&&n.signal.addEventListener(`abort`,()=>{this.removeHandler(e,t)})}removeHandler(e,t){this._apiEmitter.removeHandler(e,t)}clearHandlers(){this._apiEmitter.removeAllHandlers()}getHandlers(e){return this._apiEmitter.getHandlers(e)}setAwaitableProvider(e,t){var n,r;let i=q(e),a=J(e)??J(t);if(!a){this._logger.debug(`No provider defined, ignoring setProvider call`);return}let o=this.getProviderForClient(i),s=a.metadata.name;if(o===a){this._logger.debug(`Provider is already set, ignoring setProvider call`);return}if(!a.runsOn)this._logger.debug(`Provider '${a.metadata.name}' has not defined its intended use.`);else if(a.runsOn!==this._runsOn)throw new Ke(`Provider '${a.metadata.name}' is intended for use on the ${a.runsOn}.`);let c=this.getAssociatedEventEmitters(i),l,u=new Y(a,this._statusEnumType.NOT_READY,this._statusEnumType);return typeof a.initialize==`function`&&!this.allProviders.includes(a)?l=((a.initialize?.call(a,i?this._domainScopedContext.get(i)??this._context:this._context))?.then(()=>{var e;u.status=this._statusEnumType.READY,this.getAssociatedEventEmitters(i).forEach(e=>{e?.emit(`PROVIDER_READY`,{clientName:i,domain:i,providerName:s})}),(e=this._apiEmitter)==null||e.emit(`PROVIDER_READY`,{clientName:i,domain:i,providerName:s})}))?.catch(e=>{var t;throw e?.code===`PROVIDER_FATAL`?u.status=this._statusEnumType.FATAL:u.status=this._statusEnumType.ERROR,this.getAssociatedEventEmitters(i).forEach(t=>{t?.emit(`PROVIDER_ERROR`,{clientName:i,domain:i,providerName:s,message:e?.message})}),(t=this._apiEmitter)==null||t.emit(`PROVIDER_ERROR`,{clientName:i,domain:i,providerName:s,message:e?.message}),e}):(u.status=this._statusEnumType.READY,c.forEach(e=>{e?.emit(`PROVIDER_READY`,{clientName:i,domain:i,providerName:s})}),(n=this._apiEmitter)==null||n.emit(`PROVIDER_READY`,{clientName:i,domain:i,providerName:s})),i?this._domainScopedProviders.set(i,u):this._defaultProvider=u,this.transferListeners(o,a,i,c),this.allProviders.includes(o)||(r=(o?.onClose)?.call(o))==null||r.catch(e=>{this._logger.error(`error closing provider: ${e?.message}, ${e?.stack}`)}),l}getProviderForClient(e){return e?this._domainScopedProviders.get(e)?.provider??this._defaultProvider.provider:this._defaultProvider.provider}buildAndCacheEventEmitterForClient(e){let t=this._clientEvents.get(e);if(t)return t;let n=this._createEventEmitter();this._clientEvents.set(e,n);let r=this.getProviderForClient(e);return Object.values(U).forEach(t=>r.events?.addHandler(t,i=>R(this,null,function*(){n.emit(t,L(I({},i),{clientName:e,domain:e,providerName:r.metadata.name}))}))),n}getUnboundEmitters(){let e=[...this._domainScopedProviders.keys()];return[...[...this._clientEvents.keys()].filter(rt).filter(t=>!e.includes(t)).map(e=>this._clientEvents.get(e)),this._clientEvents.get(void 0)].filter(rt)}getAssociatedEventEmitters(e){return e?[this.buildAndCacheEventEmitterForClient(e)]:this.getUnboundEmitters()}transferListeners(e,t,n,r){var i;(i=this._clientEventHandlers.get(n))==null||i.forEach(t=>e.events?.removeHandler(...t));let a=Object.values(U).map(e=>[e,i=>R(this,null,function*(){r.forEach(r=>{r?.emit(e,L(I({},i),{clientName:n,domain:n,providerName:t.metadata.name}))}),this._apiEmitter.emit(e,L(I({},i),{clientName:n,domain:n,providerName:t.metadata.name}))})]);this._clientEventHandlers.set(n,a),a.forEach(e=>t.events?.addHandler(...e))}close(){return R(this,null,function*(){var e;try{yield((e=this==null?void 0:this._defaultProvider.provider)?.onClose)?.call(e)}catch(e){this.handleShutdownError(this._defaultProvider.provider,e)}let t=Array.from(this._domainScopedProviders);yield Promise.all(t.map(e=>R(this,[e],function*([,e]){var t;try{yield(e==null?void 0:(t=e.provider).onClose)?.call(t)}catch(t){this.handleShutdownError(e?.provider,t)}})))})}clearProvidersAndSetDefault(e){return R(this,null,function*(){try{yield this.close()}catch{this._logger.error(`Unable to cleanly close providers. Resetting to the default configuration.`)}finally{this._domainScopedProviders.clear(),this._defaultProvider=new Y(e,this._statusEnumType.NOT_READY,this._statusEnumType)}})}get allProviders(){return[...[...this._domainScopedProviders.values()].map(e=>e.provider),this._defaultProvider.provider]}handleShutdownError(e,t){this._logger.error(`Error during shutdown of provider ${e.metadata.name}: ${t}`),this._logger.error(t?.stack)}},at=Object.create,X=Object.defineProperty,ot=Object.defineProperties,st=Object.getOwnPropertyDescriptor,ct=Object.getOwnPropertyDescriptors,lt=Object.getOwnPropertyNames,ut=Object.getOwnPropertySymbols,dt=Object.getPrototypeOf,ft=Object.prototype.hasOwnProperty,pt=Object.prototype.propertyIsEnumerable,mt=Reflect.get,ht=(e,t,n)=>t in e?X(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Z=(e,t)=>{for(var n in t||={})ft.call(t,n)&&ht(e,n,t[n]);if(ut)for(var n of ut(t))pt.call(t,n)&&ht(e,n,t[n]);return e},gt=(e,t)=>ot(e,ct(t)),_t=(e,t)=>function(){return t||(0,e[lt(e)[0]])((t={exports:{}}).exports,t),t.exports},vt=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of lt(t))!ft.call(e,i)&&i!==n&&X(e,i,{get:()=>t[i],enumerable:!(r=st(t,i))||r.enumerable});return e},yt=(e,t,n)=>(n=e==null?{}:at(dt(e)),vt(t||!e||!e.__esModule?X(n,`default`,{value:e,enumerable:!0}):n,e)),bt=(e,t,n)=>mt(dt(e),n,t),Q=(e,t,n)=>new Promise((r,i)=>{var a=e=>{try{s(n.next(e))}catch(e){i(e)}},o=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(a,o);s((n=n.apply(e,t)).next())}),xt=_t({"../../node_modules/eventemitter3/index.js"(e,t){var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i<a;i++)o[i]=n[i].fn;return o},c.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},c.prototype.emit=function(e,t,n,i,a,o){var s=r?r+e:e;if(!this._events[s])return!1;var c=this._events[s],l=arguments.length,u,d;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,a),!0;case 6:return c.fn.call(c.context,t,n,i,a,o),!0}for(d=1,u=Array(l-1);d<l;d++)u[d-1]=arguments[d];c.fn.apply(c.context,u)}else{var ee=c.length,f;for(d=0;d<ee;d++)switch(c[d].once&&this.removeListener(e,c[d].fn,void 0,!0),l){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,t);break;case 3:c[d].fn.call(c[d].context,t,n);break;case 4:c[d].fn.call(c[d].context,t,n,i);break;default:if(!u)for(f=1,u=Array(l-1);f<l;f++)u[f-1]=arguments[f];c[d].fn.apply(c[d].context,u)}}return!0},c.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},c.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},c.prototype.removeListener=function(e,t,n,i){var a=r?r+e:e;if(!this._events[a])return this;if(!t)return s(this,a),this;var o=this._events[a];if(o.fn)o.fn===t&&(!i||o.once)&&(!n||o.context===n)&&s(this,a);else{for(var c=0,l=[],u=o.length;c<u;c++)(o[c].fn!==t||i&&!o[c].once||n&&o[c].context!==n)&&l.push(o[c]);l.length?this._events[a]=l.length===1?l[0]:l:s(this,a)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&s(this,t)):(this._events=new i,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=r,c.EventEmitter=c,t!==void 0&&(t.exports=c)}}),St=`No-op`,Ct=new class{constructor(){this.metadata={name:`No-op Provider`}}resolveBooleanEvaluation(e,t){return this.noOp(t)}resolveStringEvaluation(e,t){return this.noOp(t)}resolveNumberEvaluation(e,t){return this.noOp(t)}resolveObjectEvaluation(e,t){return this.noOp(t)}noOp(e){return{value:e,reason:St}}},wt=yt(xt(),1),Tt=class extends et{constructor(){super(),this.eventEmitter=new wt.default}},Et=class{constructor(e,t,n,r,i,a,o){this.providerAccessor=e,this.providerStatusAccessor=t,this.emitterAccessor=n,this.apiContextAccessor=r,this.apiHooksAccessor=i,this.globalLogger=a,this.options=o,this._hooks=[]}get metadata(){return{name:this.options.domain??this.options.name,domain:this.options.domain??this.options.name,version:this.options.version,providerMetadata:this.providerAccessor().metadata}}get providerStatus(){return this.providerStatusAccessor()}addHandler(e,t,n){var r;if(this.emitterAccessor().addHandler(e,t),W(e,this.providerStatus))try{t({clientName:this.metadata.name,domain:this.metadata.domain,providerName:this._provider.metadata.name})}catch(e){(r=this._logger)==null||r.error(`Error running event handler:`,e)}n?.signal&&typeof n.signal.addEventListener==`function`&&n.signal.addEventListener(`abort`,()=>{this.removeHandler(e,t)})}removeHandler(e,t){this.emitterAccessor().removeHandler(e,t)}getHandlers(e){return this.emitterAccessor().getHandlers(e)}setLogger(e){return this._clientLogger=new K(e),this}addHooks(...e){return this._hooks=[...this._hooks,...e],this}getHooks(){return this._hooks}clearHooks(){return this._hooks=[],this}getBooleanValue(e,t,n){return this.getBooleanDetails(e,t,n).value}getBooleanDetails(e,t,n){return this.evaluate(e,this._provider.resolveBooleanEvaluation,t,`boolean`,n)}getStringValue(e,t,n){return this.getStringDetails(e,t,n).value}getStringDetails(e,t,n){return this.evaluate(e,this._provider.resolveStringEvaluation,t,`string`,n)}getNumberValue(e,t,n){return this.getNumberDetails(e,t,n).value}getNumberDetails(e,t,n){return this.evaluate(e,this._provider.resolveNumberEvaluation,t,`number`,n)}getObjectValue(e,t,n){return this.getObjectDetails(e,t,n).value}getObjectDetails(e,t,n){return this.evaluate(e,this._provider.resolveObjectEvaluation,t,`object`,n)}track(e,t={}){var n;try{if(this.shortCircuitIfNotReady(),typeof this._provider.track==`function`){let r=Object.freeze(Z({},this.apiContextAccessor((this==null?void 0:this.options)?.domain)));return(n=this._provider).track?.call(n,e,r,t)}else this._logger.debug(`Provider does not support the track function; will no-op.`)}catch(e){this._logger.debug(`Error recording tracking event.`,e)}}evaluate(e,t,n,r,i={}){let a=[...this.apiHooksAccessor(),...this.getHooks(),...i.hooks||[],...this._provider.hooks||[]],o=[...a].reverse(),s=Z({},this.apiContextAccessor((this==null?void 0:this.options)?.domain)),c=o.map(()=>Object.freeze({flagKey:e,defaultValue:n,flagValueType:r,clientMetadata:this.metadata,providerMetadata:this._provider.metadata,context:s,logger:this._logger,hookData:new He})),l;try{this.beforeHooks(a,c,i),this.shortCircuitIfNotReady();let r=t.call(this._provider,e,n,s,this._logger),u=gt(Z({},r),{flagMetadata:Object.freeze(r.flagMetadata??{}),flagKey:e});if(u.errorCode){let t=Ze(u.errorCode,u.errorMessage);this.errorHooks(o,c,t,i),l=this.getErrorEvaluationDetails(e,n,t,u.flagMetadata)}else this.afterHooks(o,c,u,i),l=u}catch(t){this.errorHooks(o,c,t,i),l=this.getErrorEvaluationDetails(e,n,t)}return this.finallyHooks(o,c,l,i),l}beforeHooks(e,t,n){var r;for(let[i,a]of e.entries()){let o=t[e.length-1-i];Object.freeze(o),Object.freeze(o.context),(r=a?.before)==null||r.call(a,o,Object.freeze(n.hookHints))}}afterHooks(e,t,n,r){var i;for(let[a,o]of e.entries()){let e=t[a];(i=o?.after)==null||i.call(o,e,n,r.hookHints)}}errorHooks(e,t,n,r){var i;for(let[a,o]of e.entries())try{let e=t[a];(i=o?.error)==null||i.call(o,e,n,r.hookHints)}catch(e){this._logger.error(`Unhandled error during 'error' hook: ${e}`),e instanceof Error&&this._logger.error(e.stack),this._logger.error(e?.stack)}}finallyHooks(e,t,n,r){var i;for(let[a,o]of e.entries())try{let e=t[a];(i=o?.finally)==null||i.call(o,e,n,r.hookHints)}catch(e){this._logger.error(`Unhandled error during 'finally' hook: ${e}`),e instanceof Error&&this._logger.error(e.stack),this._logger.error(e?.stack)}}get _provider(){return this.providerAccessor()}get _logger(){return this._clientLogger||this.globalLogger()}shortCircuitIfNotReady(){if(this.providerStatus===H.NOT_READY)throw new V(`provider has not yet initialized`);if(this.providerStatus===H.FATAL)throw new B(`provider is in an irrecoverable error state`)}getErrorEvaluationDetails(e,t,n,r={}){let i=n?.message;return{errorCode:n?.code||We.GENERAL,errorMessage:i,value:t,reason:Ue.ERROR,flagMetadata:Object.freeze(r),flagKey:e}}},Dt=Symbol.for(`@openfeature/web-sdk/api`),Ot=globalThis,kt=class e extends it{constructor(){super(`client`),this._statusEnumType=H,this._apiEmitter=new Tt,this._defaultProvider=new Y(Ct,H.NOT_READY,this._statusEnumType),this._domainScopedProviders=new Map,this._createEventEmitter=()=>new Tt}static getInstance(){let t=Ot[Dt];if(t)return t;let n=new e;return Ot[Dt]=n,n}getProviderStatus(e){return e?this._domainScopedProviders.get(e)?.status??this._defaultProvider.status:this._defaultProvider.status}setProviderAndWait(e,t,n){return Q(this,null,function*(){let r=q(e),i=J(r?t:e),a=J(r?n:t);a&&(r?this._domainScopedContext.set(r,a):this._context=a),yield this.setAwaitableProvider(r,i)})}setProvider(e,t,n){let r=q(e),i=J(r?t:e),a=J(r?n:t);a&&(r?this._domainScopedContext.set(r,a):this._context=a);let o=this.setAwaitableProvider(r,i);return Promise.resolve(o).catch(e=>{this._logger.error(`Error during provider initialization:`,e)}),this}getProvider(e){return this.getProviderForClient(e)}setContext(e,t){return Q(this,null,function*(){let n=q(e),r=J(e)??J(t)??{};if(n){let e=this._domainScopedProviders.get(n);if(e){let t=this.getContext(n);this._domainScopedContext.set(n,r),yield this.runProviderContextChangeHandler(n,e,t,r)}else this._domainScopedContext.set(n,r)}else{let e=this._context;this._context=r;let t=Array.from(this._domainScopedProviders.entries()).filter(([e])=>!this._domainScopedContext.has(e)).reduce((e,[t,n])=>(e.push({domain:t,wrapper:n}),e),[]),n=[{domain:void 0,wrapper:this._defaultProvider},...t];yield Promise.all(n.map(t=>this.runProviderContextChangeHandler(t.domain,t.wrapper,e,r)))}})}getContext(e){let t=q(e);if(t){let e=this._domainScopedContext.get(t);if(e)return e;this._logger.debug(`Unable to find context for '${t}'.`)}return this._context}clearContext(e){return Q(this,null,function*(){let t=q(e);if(t){let e=this._domainScopedProviders.get(t);if(e){let n=this.getContext(t);this._domainScopedContext.delete(t);let r=this.getContext();yield this.runProviderContextChangeHandler(t,e,n,r)}else this._domainScopedContext.delete(t)}else return this.setContext({})})}clearContexts(){return Q(this,null,function*(){yield this.clearContext(),yield Promise.allSettled(Array.from(this._domainScopedProviders.keys()).map(e=>this.clearContext(e)))})}getClient(e,t){return new Et(()=>this.getProviderForClient(e),()=>this.getProviderStatus(e),()=>this.buildAndCacheEventEmitterForClient(e),e=>this.getContext(e),()=>this.getHooks(),()=>this._logger,{domain:e,version:t})}clearProviders(){return Q(this,null,function*(){yield bt(e.prototype,this,`clearProvidersAndSetDefault`).call(this,Ct),this._domainScopedContext.clear()})}runProviderContextChangeHandler(e,t,n,r){return Q(this,null,function*(){var i,a,o,s;let c=t.provider?.metadata?.name||`unnamed-provider`;try{if(typeof t.provider.onContextChange==`function`){let a=t.provider.onContextChange(n,r);a&&typeof a?.then==`function`&&(t.incrementPendingContextChanges(),t.status=this._statusEnumType.RECONCILING,this.getAssociatedEventEmitters(e).forEach(t=>{t?.emit(U.Reconciling,{domain:e,providerName:c})}),(i=this._apiEmitter)==null||i.emit(U.Reconciling,{domain:e,providerName:c}),yield a,t.decrementPendingContextChanges())}t.status=this._statusEnumType.READY,t.allContextChangesSettled&&(this.getAssociatedEventEmitters(e).forEach(t=>{t?.emit(U.ContextChanged,{clientName:e,domain:e,providerName:c})}),(a=this._apiEmitter)==null||a.emit(U.ContextChanged,{clientName:e,domain:e,providerName:c}))}catch(n){if(t.decrementPendingContextChanges(),t.status=this._statusEnumType.ERROR,t.allContextChangesSettled){let t=`Error running ${c}'s context change handler: ${n?.message}`;(o=this._logger)==null||o.error(`${t}`,n),this.getAssociatedEventEmitters(e).forEach(n=>{n?.emit(U.Error,{clientName:e,domain:e,providerName:c,message:t})}),(s=this._apiEmitter)==null||s.emit(U.Error,{clientName:e,domain:e,providerName:c,message:t})}}})}}.getInstance(),At={config:{id:`document-model-editor-v2`,name:`Document Model Editor`},documentTypes:[`powerhouse/document-model`],Component:F(()=>b(()=>import(`./editor-BzhVjRaX-9Dxtetvs.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])))},jt=e({documentModels:()=>Nt,editors:()=>Pt,manifest:()=>Ft}),Mt={name:`Common`,description:`Common`,category:`Common`,publisher:{name:`@powerhousedao`,url:`https://github.com/powerhouse-inc/powerhouse/tree/main/packages/powerhouse-vetra-packages`},documentModels:[{id:`powerhouse/package`,name:`Vetra Package`},{id:`powerhouse/document-editor`,name:`Document Editor`},{id:`powerhouse/subgraph-module`,name:`Subgraph Module`},{id:`powerhouse/processor`,name:`Processor Module`},{id:`powerhouse/app`,name:`App Module`}],editors:[{id:`vetra-package-editor`,name:`Vetra Package Editor`,documentTypes:[`powerhouse/package`]},{id:`document-editor-editor`,name:`Document Editor`,documentTypes:[`powerhouse/document-editor`]},{id:`subgraph-module-editor`,name:`Subgraph Module Editor`,documentTypes:[`powerhouse/subgraph-module`]},{id:`processor-module-editor`,name:`Processor Module Editor`,documentTypes:[`powerhouse/processor`]},{id:`app-module-editor`,name:`App Module Editor`,documentTypes:[`powerhouse/app`]}],apps:[{id:`vetra-drive-app`,name:`Vetra Drive App`,app:`vetra-drive-app`}],subgraphs:[],importScripts:[]},Nt=[Se,we,Ce],Pt=[At,xe],Ft=Mt,It={name:`@powerhousedao/powerhouse-vetra-packages`,version:`6.2.0-dev.23`,description:``,keywords:[],author:``,license:`AGPL-3.0-only`,type:`module`,sideEffects:[`**/*.css`],repository:{type:`git`,url:`https://github.com/powerhouse-inc/powerhouse`},publishConfig:{access:`public`},files:[`dist`,`style.css`],exports:{".":{source:`./index.ts`,types:`./dist/index.d.ts`,browser:`./dist/browser/index.js`,node:`./dist/node/index.mjs`},"./document-models":{source:`./document-models/index.ts`,types:`./dist/document-models/index.d.ts`,browser:`./dist/browser/document-models/index.js`,node:`./dist/node/document-models/index.mjs`},"./document-models/*":{source:`./document-models/*/index.ts`,types:`./dist/document-models/*/index.d.ts`,browser:`./dist/browser/document-models/*/index.js`,node:`./dist/node/document-models/*/index.mjs`},"./editors":{source:`./editors/index.ts`,types:`./dist/editors/index.d.ts`,browser:`./dist/browser/editors/index.js`,node:`./dist/node/editors/index.mjs`},"./editors/*":{source:`./editors/*/index.ts`,types:`./dist/editors/*/index.d.ts`,browser:`./dist/browser/editors/*/index.js`,node:`./dist/node/editors/*/index.mjs`},"./subgraphs":{types:`./dist/subgraphs/index.d.ts`,browser:`./dist/browser/subgraphs/index.js`,node:`./dist/node/subgraphs/index.mjs`},"./processors":{types:`./dist/processors/index.d.ts`,browser:`./dist/browser/processors/index.js`,node:`./dist/node/processors/index.mjs`},"./manifest":`./dist/powerhouse.manifest.json`,"./style.css":`./style.css`,"./package.json":`./package.json`},peerDependencies:{graphql:`^16`,react:`^19`,"react-dom":`^19`},devDependencies:{"@codemirror/autocomplete":`6.18.6`,"@codemirror/commands":`6.8.1`,"@codemirror/lang-json":`6.0.1`,"@codemirror/language":`6.11.0`,"@codemirror/lint":`6.8.5`,"@codemirror/search":`6.5.10`,"@codemirror/state":`6.5.2`,"@codemirror/view":`6.36.7`,"@graphql-tools/utils":`11.0.0`,"@hookform/resolvers":`^5.0.1`,"@powerhousedao/document-engineering":`1.40.5`,"@radix-ui/react-label":`^2.1.4`,"@radix-ui/react-slot":`^1.2.0`,"@radix-ui/react-tabs":`^1.1.9`,"@tailwindcss/cli":`4.2.2`,"@tanstack/react-virtual":`^3.8.1`,"@types/react":`19.2.14`,"@types/react-dom":`19.2.3`,"change-case":`5.4.4`,"class-variance-authority":`0.7.0`,clsx:`^2.1.1`,"cm6-graphql":`^0.2.1`,graphql:`^16`,react:`19.2.6`,"react-dom":`19.2.6`,"react-hook-form":`^7.56.1`,"react-i18next":`16.5.4`,rolldown:`1.0.0-rc.8`,"tailwind-merge":`3.4.0`,tailwindcss:`4.2.2`,thememirror:`^2.0.1`,tsdown:`0.21.1`,tsx:`4.21.0`,zod:`4.3.6`,"@powerhousedao/design-system":`6.2.0-dev.23`,"@powerhousedao/reactor-drive":`6.2.0-dev.23`,"@powerhousedao/reactor-browser":`6.2.0-dev.23`,"document-model":`6.2.0-dev.23`,"@powerhousedao/shared":`6.2.0-dev.23`},scripts:{tsc:`tsc`,lint:`eslint`,test:`vitest --run`,build:`tsx ./build`,"test:watch":`vitest`,generate:`ph-cli generate`,reactor:`ph-cli reactor`,service:`ph-cli service`,migrate:`ph-cli migrate`,"service-startup":`bash ./node_modules/@powerhousedao/ph-cli/dist/scripts/service-startup.sh`,"service-unstartup":`bash ./node_modules/@powerhousedao/ph-cli/dist/scripts/service-unstartup.sh`}},Lt={name:`@powerhousedao/vetra`,description:`Vetra package`,category:``,publisher:{name:`@powerhousedao`,url:`https://github.com/powerhouse-inc/powerhouse/tree/main/packages/vetra`},documentModels:[{id:`powerhouse/package`,name:`Vetra Package`},{id:`powerhouse/document-editor`,name:`Document Editor`},{id:`powerhouse/subgraph`,name:`Subgraph Module`},{id:`powerhouse/processor`,name:`Processor Module`},{id:`powerhouse/app`,name:`App Module`}],apps:[{id:`vetra-drive-app`,name:`Vetra Drive App`}],editors:[{id:`vetra-package-editor`,name:`Vetra Package Editor`,documentTypes:[`powerhouse/package`]},{id:`document-editor-editor`,name:`Document Editor`,documentTypes:[`powerhouse/document-editor`]},{id:`subgraph-module-editor`,name:`Subgraph Module Editor`,documentTypes:[`powerhouse/subgraph`]},{id:`processor-module-editor`,name:`Processor Module Editor`,documentTypes:[`powerhouse/processor`]},{id:`app-editor`,name:`App Editor`,documentTypes:[`powerhouse/app`]}],processors:[{id:`codegen`,name:`codegen`},{id:`vetra-read-model`,name:`vetra-read-model`}],subgraphs:[],config:[]},Rt={id:`powerhouse/processor`,name:`Processor Module`,author:{name:`Powerhouse`,website:`https://powerhouse.inc`},extension:`.processor`,description:"Declares a processor (a server-side function that reacts to document operations to build read models, send notifications, sync to external systems, etc.) shipped by a Vetra Reactor Package. Create one Processor Module document per processor: pick the processor type, list the document types it subscribes to, attach it to any drive apps that should run it, and mark it CONFIRMED to trigger codegen of the processor scaffold under `processors/`.",specifications:[{state:{local:{schema:``,examples:[],initialValue:``},global:{schema:`"""
3
3
  Configuration for a processor contributed by the package. A processor receives
4
4
  operations from documents of matching types and runs server-side logic (e.g.
5
5
  building a read model, indexing, syncing to an external system).
@@ -80,5 +80,5 @@ enum StatusType {
80
80
  name: String!
81
81
  }`,template:``,reducer:``,errors:[],examples:[],scope:`global`},{id:`5a20e641-dc36-428e-8924-ecb07f3f1b94`,name:`SET_SUBGRAPH_STATUS`,description:`Move the subgraph between DRAFT and CONFIRMED. Codegen only runs once the status is CONFIRMED.`,schema:`input SetSubgraphStatusInput {
82
82
  status: StatusType!
83
- }`,template:``,reducer:``,errors:[],examples:[],scope:`global`}]}],version:1,changeLog:[]}]},Ht=Te({}),Ut={version:1,reducer:Me,actions:Ne,utils:{...je,...Ht},documentModel:S(x(),Vt)},Wt={Component:F(()=>b(()=>import(`./editor-CVCLxUhe-C6nP7EPN.js`),__vite__mapDeps([10,11,12,1,13,14,15,16,17,18,19,20,21,22,23,24,25]))),documentTypes:[`powerhouse/app`],config:{id:`app-editor`,name:`AppEditor`}},Gt={Component:F(()=>b(()=>import(`./editor-DnG2Zzet-CRhirYbH.js`),__vite__mapDeps([26,11,12,1,13,14,15,16,17,18,19,20,21,22,23,27,25]))),documentTypes:[`powerhouse/document-editor`],config:{id:`document-editor-editor`,name:`Document Editor Editor`}},Kt={Component:F(()=>b(()=>import(`./editor-B560eld_-CIE3_3II.js`),__vite__mapDeps([28,11,12,1,13,14,15,16,17,18,19,20,21,22,23,29,30,25]))),documentTypes:[`powerhouse/processor`],config:{id:`processor-module-editor`,name:`Processor Module Editor`}},qt={Component:F(()=>b(()=>import(`./editor-CAVHtR-v-ClzvSfK5.js`),__vite__mapDeps([31,11,12,1,13,14,15,16,17,18,19,20,21,22,23,29,32,25]))),documentTypes:[`powerhouse/subgraph`],config:{id:`subgraph-module-editor`,name:`Subgraph Module Editor`}},Jt={Component:F(()=>b(()=>import(`./editor-mor7dV6n-DDigdbLM.js`),__vite__mapDeps([33,11,12,1,13,14,15,16,17,18,19,20,21]))),documentTypes:[`powerhouse/document-drive`],config:{id:`vetra-drive-app`,name:`Vetra Drive App`}},Yt={Component:F(()=>b(()=>import(`./editor-xCnDas6c-CyHuSL7M.js`),__vite__mapDeps([34,11,12,1,13,14,15,16,17,18,19,20,21,23,35,25,29]))),documentTypes:[`powerhouse/package`],config:{id:`vetra-package-editor`,name:`Vetra Package Editor`}},Xt=e({documentModels:()=>Zt,editors:()=>Qt,manifest:()=>$t}),Zt=[Ee,De,Bt,Ut,Pe],Qt=[Wt,Gt,Kt,qt,Jt,Yt],$t=Lt,en={name:`@powerhousedao/vetra`,version:`6.2.0-dev.23`,license:`AGPL-3.0-only`,type:`module`,sideEffects:!1,repository:{type:`git`,url:`https://github.com/powerhouse-inc/powerhouse`,directory:`packages/vetra`},publishConfig:{access:`public`},files:[`dist`,`style.css`],exports:{".":{source:`./index.ts`,types:`./dist/index.d.ts`,import:`./dist/index.js`},"./document-models":{source:`./document-models/index.ts`,types:`./dist/document-models/index.d.ts`,import:`./dist/document-models/index.js`},"./document-models/*":{source:`./document-models/*/index.ts`,types:`./dist/document-models/*/index.d.ts`,import:`./dist/document-models/*/index.js`},"./editors/*":{types:`./dist/editors/*/index.d.ts`,import:`./dist/editors/*/index.js`},"./editors":{source:`./editors/index.ts`,types:`./dist/editors/index.d.ts`,import:`./dist/editors/index.js`},"./processors":{source:`./processors/index.ts`,types:`./dist/processors/index.d.ts`,import:`./dist/processors/index.js`},"./codegen":{source:`./codegen/index.ts`,types:`./dist/codegen/index.d.ts`,import:`./dist/codegen/index.js`},"./manifest":`./dist/powerhouse.manifest.json`,"./style.css":`./style.css`,"./package.json":`./package.json`},dependencies:{"change-case":`5.4.4`,react:`19.2.6`,zod:`4.3.6`,"tailwind-merge":`3.4.0`,"@powerhousedao/codegen":`6.2.0-dev.23`,"@powerhousedao/config":`6.2.0-dev.23`,"@powerhousedao/design-system":`6.2.0-dev.23`,"@powerhousedao/reactor-browser":`6.2.0-dev.23`,"@powerhousedao/shared":`6.2.0-dev.23`,"document-model":`6.2.0-dev.23`},devDependencies:{"@tailwindcss/cli":`4.2.2`,"@testing-library/jest-dom":`^6.9.1`,"@testing-library/react":`^16.3.0`,"@testing-library/user-event":`^14.6.1`,"@types/node":`25.2.3`,"@types/react":`19.2.14`,"@types/react-dom":`19.2.3`,"@vitejs/plugin-react":`6.0.1`,kysely:`0.28.16`,"react-dom":`19.2.6`,tailwindcss:`4.2.2`,"ts-morph":`27.0.2`,tsdown:`0.21.1`,vite:`8.0.10`,"vite-tsconfig-paths":`6.1.1`,vitest:`4.1.1`,"@powerhousedao/builder-tools":`6.2.0-dev.23`},description:`Vetra — the agent-first builder platform for the Powerhouse ecosystem. Spec-driven and AI-native development of open-source, decentralized back-ends.`,keywords:[`powerhouse`,`vetra`,`document-model`,`local-first`,`event-sourcing`,`vetra`,`agent`,`ai-native`,`builder`,`decentralized`],homepage:`https://academy.vetra.io`,scripts:{tsc:`tsc`,lint:`eslint`,test:`vitest --run`,"test:watch":`vitest`,"test:document-models":`vitest run document-models`,"test:editors":`vitest run editors`,"test:processors":`vitest run processors`,build:`pnpm run build:bundle`,"build:bundle":`tsdown`,generate:`ph-cli generate`,reactor:`ph-cli reactor`,service:`ph-cli service`,migrate:`ph-cli migrate`,"service-startup":`bash ./node_modules/@powerhousedao/ph-cli/dist/scripts/service-startup.sh`,"service-unstartup":`bash ./node_modules/@powerhousedao/ph-cli/dist/scripts/service-unstartup.sh`}};(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`d17abc36-680f-59c7-9a6f-834f46f065ea`)}catch{}})();async function tn(e,n,r,i){let a={signer:r.signer,verifier:t()},o=async e=>{if(r.user)return r.getBearerToken({expiresIn:10})},s=N(await be());s!==17&&console.warn(`[reactor] Running against legacy PGlite data dir (Postgres ${s}). Migrate to PG17 from the banner or the Inspector → Debug tab.`);let{PGlite:c}=await M(s),l=new c(`idb://${P}`,{relaxedDurability:!0}),u=new T([`reactor-client`]),d=new g().withLogger(u).withSigner(a).withReactorBuilder(new m().withDocumentModels(e).withUpgradeManifests(n).withChannelScheme(_.CONNECT).withJwtHandler(o).withKysely(new E({dialect:new D(l)})));return i&&d.withDocumentModelLoader(i),{...await d.buildModule(),pg:l}}function nn(e){return e.connect.drives?.defaultDrives??[]}function rn(e){let t=e instanceof Error?e.message:String(e);return/forbidden|unauthorized|insufficient permissions|\b401\b|\b403\b/i.test(t)}async function an(e){await Promise.all(e.map(async e=>{let t;for(let n=1;n<=3;n++)try{t=await he(e.url);break}catch(t){if(rn(t))break;if(n===3)console.error(`Failed to add default drive ${e.url} after 3 attempts:`,t);else{let t=2e3*n;console.warn(`Default drive ${e.url} not reachable (attempt ${n}/3), retrying in ${t}ms...`),await new Promise(e=>setTimeout(e,t))}}if(t&&(e.name||e.icon))try{let r=window.ph?.reactorClient;r&&await n(r,t,{timeoutMs:15e3}),await y(t,{name:e.name,icon:e.icon})}catch(t){console.warn(`Default drive ${e.url} was added but metadata update failed:`,t)}}))}var on=class{runsOn=`client`;metadata={name:`QueryParamProvider`};flags;constructor(e){this.flags=new Map;for(let[t,n]of e.entries())this.flags.set(t,n)}resolveBooleanEvaluation(e,t){let n=this.flags.get(e);return n===void 0?{value:t,reason:`DEFAULT`}:{value:n.toLowerCase()===`true`||n===`1`,reason:`STATIC`,variant:n}}resolveStringEvaluation(e,t){let n=this.flags.get(e);return n===void 0?{value:t,reason:`DEFAULT`}:{value:n,reason:`STATIC`,variant:n}}resolveNumberEvaluation(e,t){let n=this.flags.get(e);if(n===void 0)return{value:t,reason:`DEFAULT`};let r=Number(n);return isNaN(r)?{value:t,reason:`ERROR`,errorCode:`PARSE_ERROR`,errorMessage:`Failed to parse "${n}" as a number`}:{value:r,reason:`STATIC`,variant:n}}resolveObjectEvaluation(e,t){let n=this.flags.get(e);if(n===void 0)return{value:t,reason:`DEFAULT`};try{return{value:JSON.parse(n),reason:`STATIC`,variant:n}}catch(e){return{value:t,reason:`ERROR`,errorCode:`PARSE_ERROR`,errorMessage:`Failed to parse JSON: ${e instanceof Error?e.message:String(e)}`}}}};async function sn(e){let t=e??(typeof window<`u`?new URLSearchParams(window.location.search):new URLSearchParams),n=new on(t);await kt.setProviderAndWait(n);let r=new Map,i=t.get(`LOG_LEVEL`);if(i){let e=[`verbose`,`debug`,`info`,`warn`,`error`];e.includes(i.toLowerCase())?(w(i.toLowerCase()),C.info(`Log level set to @level via query param`,i.toLowerCase())):C.warn(`Invalid LOG_LEVEL query param: @param. Valid values: @validLevels`,i,e.join(`, `))}return r}var cn=class{#e;#t=new Map;#n=[];#r=new Set;#i=new Set;constructor(e){this.#e=e}load(e){let t=this.#a(e);return t?(this.#s(e),Promise.resolve(t)):(this.#o(e),Promise.reject(Error(`No package registry configured; cannot resolve "${e}"`)))}promptInstallation(){}approveInstallation(){return Promise.resolve()}dismissInstallation(){}getPendingInstallations(){return[]}subscribePending(){return()=>{}}getFailedInstallations(){return this.#n}subscribeFailed(e){return this.#r.add(e),()=>{this.#r.delete(e)}}subscribeEvents(e){return this.#i.add(e),()=>{this.#i.delete(e)}}retryInstallation(e){return this.#o(e),Promise.resolve()}#a(e){return this.#e.packages.flatMap(e=>e.documentModels).find(t=>t.documentModel.global.id===e)}#o(e){this.#t.set(e,{documentType:e,reason:`no-registry`,packageNames:[],error:null}),this.#l({type:`load-failed`,documentType:e,reason:`no-registry`}),this.#c()}#s(e){this.#t.delete(e)&&this.#c()}#c(){this.#n=Array.from(this.#t.values());for(let e of this.#r)e()}#l(e){for(let t of this.#i)t(e)}},ln=class{#e;#t;#n;#r=new Map;#i=new Map;#a=[];#o=new Set;#s=new Map;#c=[];#l=new Set;#u=new Set;#d;#f=new Map;constructor(e,t,n){this.#e=e,this.#t=t,this.#n=n.mode,this.#d=new v(n.storageKey+`:PH_DISMISSED_TYPES`)}load(e){let t=this.#g(e);if(t)return this.#x(e),Promise.resolve(t);if(this.#d.has(e))return this.#b(e,`dismissed`,[],null),Promise.reject(Error(`Document type "${e}" was dismissed`));let n=this.#r.get(e);return n?n.promise:this.#p(e)}promptInstallation(e){let t=this.#f.get(e);t&&(this.#i.has(e)||(this.#f.delete(e),this.#h(e,t)))}async approveInstallation(e){let t=this.#_(e);if(t.length===0)return;let n=await this.#e.addPackage(e);if(n.type===`error`){this.#S({type:`installation-failed`,packageName:e,error:n.error});for(let r of t){let t=this.#r.get(r);t&&(t.reject(n.error),this.#r.delete(r),this.#i.delete(r)),this.#b(r,`install-failed`,[e],n.error)}this.#v();return}this.#S({type:`installation-approved`,packageName:e,documentTypes:t});for(let n of t){let t=this.#r.get(n);if(!t)continue;let r=this.#g(n);if(r)t.resolve(r),this.#x(n);else{let r=Error(`Package "${e}" installed but module for "${n}" not found`);t.reject(r),this.#b(n,`install-failed`,[e],r)}this.#r.delete(n),this.#i.delete(n)}this.#v()}dismissInstallation(e){let t=this.#_(e);if(t.length!==0){for(let n of t){this.#d.set(n,!0);let t=this.#r.get(n);t&&t.reject(Error(`Document type "${n}" was dismissed`)),this.#r.delete(n),this.#i.delete(n),this.#f.delete(n),this.#b(n,`dismissed`,[e],null)}this.#S({type:`installation-dismissed`,packageName:e,documentTypes:t}),this.#v()}}getPendingInstallations(){return this.#a}subscribePending(e){return this.#o.add(e),()=>{this.#o.delete(e)}}getFailedInstallations(){return this.#c}subscribeFailed(e){return this.#l.add(e),()=>{this.#l.delete(e)}}subscribeEvents(e){return this.#u.add(e),()=>{this.#u.delete(e)}}async retryInstallation(e){this.#d.delete(e),this.#x(e);try{await this.#p(e)}catch{}}async#p(e){let t;try{t=await this.#t.getPackagesByDocumentType(e)}catch(t){let n=t instanceof Error?t:Error(String(t));return this.#S({type:`registry-query-failed`,documentType:e,error:n}),this.#b(e,`registry-error`,[],n),Promise.reject(n)}if(t.length===0)return this.#b(e,`not-in-registry`,[],null),Promise.reject(Error(`No packages found for document type "${e}"`));let n=this.#m(e,t);return this.#S({type:`type-discovered`,documentType:e,packageNames:t}),this.#n===`immediate`?this.#h(e,t):this.#f.set(e,t),n.promise}#m(e,t){let n,r,i=new Promise((e,t)=>{n=e,r=t}),a={packageNames:t,resolve:n,reject:r,promise:i};return this.#r.set(e,a),a}#h(e,t){let n={documentType:e,packageNames:t};this.#i.set(e,n),this.#S({type:`installation-prompted`,documentType:e,packageNames:t}),this.#v()}#g(e){return this.#e.packages.flatMap(e=>e.documentModels).find(t=>t.documentModel.global.id===e)}#_(e){let t=[];for(let[n,r]of this.#r)r.packageNames.includes(e)&&t.push(n);return t}#v(){this.#a=Array.from(this.#i.values());for(let e of this.#o)e()}#y(){this.#c=Array.from(this.#s.values());for(let e of this.#l)e()}#b(e,t,n,r){this.#s.set(e,{documentType:e,reason:t,packageNames:n,error:r}),this.#S({type:`load-failed`,documentType:e,reason:t}),this.#y()}#x(e){this.#s.delete(e)&&this.#y()}#S(e){for(let t of this.#u)t(e)}};function un(e){let t=e.trim(),n=t.startsWith(`@`)?t.lastIndexOf(`@`):t.indexOf(`@`);return n>0?t.slice(0,n):t}async function dn(e){try{let t=await fetch(e);if(!t.ok)return;let n=await t.json();return typeof n.version==`string`?n.version:void 0}catch{return}}var $=`Local`,fn=class{registryUrl;#e;#t=new Map;#n=new Set;#r=[];#i=new Map;#a;#o;#s;#c=new Set([$]);constructor(e,t){this.#e=new v(e+`:PH_PACKAGES`),this.registryUrl=t,this.#o=t===null?null:this.#l(t)}#l(e){return e.includes(`/-/cdn`)?e:`${e.endsWith(`/`)?e.slice(0,-1):e}/-/cdn`}async init(e,t){this.addLocalPackage(Ft.name,jt,It.version),this.addLocalPackage($t.name,Xt,en.version),e&&this.updateLocalPackage(e,t);for(let e of this.#e.keys()){let t=this.#e.get(e)?.spec??e;console.debug(`[Connect][PackageManager] Rehydrating "${e}" via spec "${t}"`),(await this.addPackage(t)).type===`error`&&this.#e.delete(e)}}addLocalPackage(e,t,n){this.#c.add(e),this.#p({name:e,importUrl:null,stylesheetUrl:null,loadedPackage:t,version:n})}updateLocalPackage(e,t){if(console.debug(`Updating local package:`,e),this.#a=e,this.#p({name:$,stylesheetUrl:null,importUrl:null,loadedPackage:e}),t){this.#s=t,this.#g();return}dn(`/package.json`).then(e=>{this.#s=e,e&&this.#g()}).catch(()=>{})}get packages(){return this.#r}get cdnUrl(){return this.#o}getPackageSource(e){if(this.#c.has(e))return`common`;if(e===this.#a?.manifest.name)return`project`;let t=this.#e.get(e);return t?t.importUrl===`/node_modules/${e}`?`local-install`:`registry-install`:null}getRegistryPackages(){let e=[];for(let[t,n]of this.#e)this.#c.has(t)||t!==$&&n.importUrl!==`/node_modules/${t}`&&e.push({name:t,version:n.version});return e}getPackageVersion(e){return e===this.#a?.manifest.name?this.#s:this.#e.get(e)?.version}async addPackage(e){let t=un(e),n=t!==e;console.debug(`[Connect][PackageManager] addPackage spec="${e}" bareName="${t}"`);let r=this.#t.get(t);if(r){let i=n?e.slice(t.length+1):void 0,a=this.#e.get(t)?.version;if(this.#c.has(t)||!i||!a||i===a)return console.debug(`[Connect][PackageManager] "${t}" already loaded; skipping re-fetch`),{type:`success`,package:r};console.debug(`[Connect][PackageManager] "${t}" version bump ${a} → ${i}; refetching`)}try{let i=await this.#f(e);return i.name=t,n&&(i.spec=e),r&&this.#h(t),this.#p(i),{type:`success`,package:i.loadedPackage}}catch(t){let n=t instanceof Error?t:Error(String(t));return console.error(`[Connect][PackageManager] Failed to install package "${e}": ${n.message}`,n),{type:`error`,error:n}}}async addPackages(e){let t=[];for(let n of e){let e=await this.addPackage(n);t.push(e)}return t}removePackage(e){this.#t.delete(e),this.#e.delete(e),this.#h(e),this.#g()}subscribe(e){return this.#n.add(e),()=>{this.#n.delete(e)}}load(e){let t=Array.from(this.#t.values().flatMap(e=>e.documentModels)).find(t=>t.documentModel.global.id===e);return t?Promise.resolve(t):Promise.reject(Error(`Model not available`))}async#u(e){let t=`${this.#o}/${e}/browser/index.js`,n=`${this.#o}/${e}/style.css`,r=await this.#d({name:e,importUrl:t,stylesheetUrl:n});return r.version=await dn(`${this.#o}/${e}/package.json`),r}async#d(e){let{name:t,importUrl:n,stylesheetUrl:r}=e;if(!n)throw Error(`Import url not defined for package "${t}".`);return{name:t,loadedPackage:await b(()=>import(n),[]),importUrl:n,stylesheetUrl:r}}async#f(e){if(this.#c.has(e))throw Error(`Package "${e}" is a local package and cannot be loaded dynamically.`);if(!this.registryUrl)throw Error(`Registry url not defined.`);return await this.#u(e)}#p(e){let{name:t,loadedPackage:n,importUrl:r,stylesheetUrl:i,version:a,spec:o}=e;i!==null&&this.#m(t,i),this.#t.set(t,n),this.#e.set(t,{name:t,importUrl:r,stylesheetUrl:i,version:a,...o?{spec:o}:{}}),console.debug(`[Connect][PackageManager] Registered "${t}" (version=${a??`?`}, spec=${o??`—`})`),this.#g()}#m(e,t){let n=this.#i.get(e);if(n)return n;let r=document.createElement(`style`);r.textContent=`@import url("${t}") layer(external-packages);`,document.head.appendChild(r),this.#i.set(e,r)}#h(e){let t=this.#i.get(e);t&&(t.remove(),this.#i.delete(e))}#g(){this.#r=Array.from(this.#t.values());let e=this.packages;this.#n.forEach(t=>{t({packages:e})})}};async function pn(e){let t={dbName:A};if(e===16){let[e,n]=await Promise.all([b(()=>import(`./worker-C5dOZDTw.js`),__vite__mapDeps([36,37,38,39,12,1])),b(()=>import(`./live-BNFn5R0a.js`),__vite__mapDeps([40,38,39,12,1]))]),r=new Worker(new URL(`/assets/pglite.worker.legacy-D5InEf0i.js`,``+import.meta.url),{type:`module`});return e.PGliteWorker.create(r,{meta:t,extensions:{live:n.live}})}let[{PGliteWorker:n},{live:r}]=await Promise.all([b(()=>import(`./worker-CzUqQwa7.js`),__vite__mapDeps([41,42,12,1,43,44])),b(()=>import(`./live-C1s3S4Zn.js`),__vite__mapDeps([45,42,12,1,43]))]),i=new Worker(new URL(`/assets/pglite.worker-BuyZ0d7u.js`,``+import.meta.url),{type:`module`});return n.create(i,{meta:t,extensions:{live:r}})}async function mn(){let e=N(await j());e!==17&&console.warn(`[reactor] Relational worker is opening legacy Postgres ${e} data dir. Migrate to PG17 from the banner or the Inspector → Debug tab.`);let t=await pn(e);return{pgLite:t,relationalDb:p(new E({dialect:new D(t)}))}}var hn=class{reserve(){return Promise.reject(Error(`NullAttachmentService: no attachment service configured`))}stat(){return Promise.reject(Error(`NullAttachmentService: no attachment service configured`))}get(){return Promise.reject(Error(`NullAttachmentService: no attachment service configured`))}};async function gn(e,t,n){try{let{pgLite:r,relationalDb:i}=await mn(),{store:a}=await h({pgLite:r});return{relationalDb:i,analyticsStore:a,processorApp:`connect`,client:e,attachments:te(n??new hn),dispatch:{async execute(t,n,r,i){let a=await e.executeAsync(t,n,r,i);return{id:a.id,status:a.status}}},getReadModel(e){let n=t.find(t=>t.name===e);if(!n)throw Error(`Read model "${e}" not found`);return n}}}catch(e){console.error(`Failed to initialize processor host module:`),console.error(e)}}function _n(e){if(typeof window>`u`||typeof EventSource>`u`)return;let t;try{t=new EventSource(`/__packages`)}catch(e){console.debug(`[Connect] /__packages subscribe failed:`,e);return}let n=!0;t.addEventListener(`packages-changed`,t=>{try{let r=JSON.parse(t.data);if(!Array.isArray(r.packages))return;let i=r.packages.filter(e=>typeof e==`string`),a=e=>{let t=e.startsWith(`@`)?e.lastIndexOf(`@`):e.indexOf(`@`);return t>0?{bareName:e.slice(0,t),version:e.slice(t+1)}:{bareName:e}},o=new Map(e.getRegistryPackages().map(({name:e,version:t})=>[e,t])),s=new Map;for(let e of i){let{bareName:t,version:n}=a(e);s.set(t,n)}let c=n;n=!1;for(let t of o.keys())s.has(t)||(e.removePackage(t),c||O(`Removed package ${t}`,{type:`connect-deleted`}));for(let t of i){let{bareName:n,version:r}=a(t),i=o.get(n),s=o.has(n);if(s&&(!r||!i||r===i))continue;let l=s;Promise.resolve(e.addPackage(t)).then(e=>{if(e.type===`error`){console.error(`[Connect] /__packages addPackage(${t}) failed:`,e.error);return}if(c)return;let n=e.package.manifest.name;O(l?`Updated package ${n}`:`Installed package ${n}`,{type:`connect-success`})},e=>{console.error(`[Connect] /__packages addPackage(${t}) threw:`,e)})}}catch(e){console.error(`[Connect] /__packages event parse failed:`,e)}}),t.addEventListener(`error`,()=>{})}async function vn(){await window.ph?.reactorClientModule?.pg?.close();let e=(await indexedDB.databases()).map(e=>e.name).filter(e=>!!e&&!e.startsWith(`ph-pglite-backup::`)&&/pglite|reactor/i.test(e));await Promise.all(e.map(e=>new Promise(t=>{let n=indexedDB.deleteDatabase(e);n.onsuccess=n.onerror=n.onblocked=()=>t()})))}async function yn(e){if(window.ph||(window.ph={}),window.ph.loading)return;window.ph.loading=!0,ue(),ce(O);let t=await sn();C.info(`Features: @features`,JSON.stringify(Object.fromEntries(t),null,2));let n=await re.create(),te=await new d().withKeyPairStorage(n).build(),p=await new ie(`connect`,{basename:k.routerBasename,baseUrl:k.renownUrl}).withCrypto(te).build(),m=ve(),h=new fn(k.routerBasename??``,m.packageRegistryUrl??null);ee(h),await h.init(e,m.localPackage?.version);try{let{default:e}=await b(async()=>{let{default:e}=await import(`./_virtual_ph-bundled-packages-virtual-tf71TYp3.js`);return{default:e}},[]);e(h)}catch{}let g=m.packages.filter(e=>e.provider!==`local`).map(e=>e.version?`${e.packageName}@${e.version}`:e.packageName);(await h.addPackages(g)).map(e=>{e.type===`error`&&console.error(e.error)}),m.connect?.packages?.liveReload&&_n(h);let _=h.packages.flatMap(e=>e.documentModels).filter((e,t,n)=>n.findIndex(t=>t.documentModel.global.id===e.documentModel.global.id&&t.version===e.version)===t),v=h.packages.flatMap(e=>e.upgradeManifests).filter((e,t,n)=>e!==void 0&&n.findIndex(t=>t&&t.documentType===e.documentType)===t),y=h.cdnUrl===null?new cn(h):new ln(h,new pe(h.cdnUrl),{mode:`immediate`,storageKey:k.routerBasename??``});c(y);let x=await tn(_,v,p,y),S=await le(x.client);await ne(bn(),p);let w=new me(x.client);f(ye(k.basePath??`/`,k.routerBasename??`/`,m.connect??{}));let T=window.location.pathname,E=se(T),D=de(T);u(x),l(x.client);let A=k.defaultDrivesUrl;if(A){let e;try{e=new URL(A).origin}catch{}e&&ge(a({remoteUrl:e,jwtHandler:async e=>{if(p.user)return p.getBearerToken({expiresIn:10})}}))}ae(w),fe(p),i(S),r(t);let j=nn(m);j.length>0&&an(j).catch(e=>console.error(`Failed to add default drives:`,e));let M=xn();M&&he(M,void 0).catch(e=>console.error(`Failed to add remote drive from ${M}:`,e)),o(E),s(D);let N=x.client;N.subscribe({type:`powerhouse/document-drive`},e=>{C.verbose(`ReactorClient subscription event: @event`,e),_e(x.client).catch(e=>C.error(`@error`,e))}),N.subscribe({},e=>{if(e.type!==oe.Deleted)return;let t=e.context?.childId;if(!t)return;let n=window.ph?.selectedDriveId,r=window.ph?.selectedNodeId;if(n&&t===n){o(void 0),O(`The drive you were viewing has been deleted`);return}r&&t===r&&(s(void 0),O(`The document you were editing has been deleted`))}),await _e(x.client);let P=h.packages.filter(e=>e.processorFactory!==void 0);if(P.length>0){let e=x.reactorModule?.readModelCoordinator?.readModels??[],t=await gn(x.client,e,window.ph?.attachmentService);t!==void 0&&await Promise.all(P.map(async e=>{let{manifest:n,processorFactory:r}=e,i=n.name,a=n.name,o=h.getPackageVersion(i),s=o?`${i}@${o}`:i;C.info(`Loading processor factory: @label`,s);try{let e=await r?.(t);if(!e)return;await x.reactorModule?.processorManager.registerFactory(a,e)}catch(e){C.error(`Error registering processor: @label`,s),C.error(`@error`,e)}}))}window.ph.loading=!1}function bn(){let e=new URLSearchParams(window.location.search).get(`user`);return e?decodeURIComponent(e):void 0}function xn(){let e=new URLSearchParams(window.location.search).get(`driveUrl`);return e?decodeURIComponent(e):void 0}export{yn as n,vn as t};
84
- //# sourceMappingURL=reactor-BxNvHOKC-DmVBqCt_.js.map
83
+ }`,template:``,reducer:``,errors:[],examples:[],scope:`global`}]}],version:1,changeLog:[]}]},Ht=Te({}),Ut={version:1,reducer:Me,actions:Ne,utils:{...je,...Ht},documentModel:S(x(),Vt)},Wt={Component:F(()=>b(()=>import(`./editor-CVCLxUhe-C9Ftgu1S.js`),__vite__mapDeps([10,11,12,1,13,14,15,16,17,18,19,20,21,22,23,24,25]))),documentTypes:[`powerhouse/app`],config:{id:`app-editor`,name:`AppEditor`}},Gt={Component:F(()=>b(()=>import(`./editor-DnG2Zzet-CQ38uSti.js`),__vite__mapDeps([26,11,12,1,13,14,15,16,17,18,19,20,21,22,23,27,25]))),documentTypes:[`powerhouse/document-editor`],config:{id:`document-editor-editor`,name:`Document Editor Editor`}},Kt={Component:F(()=>b(()=>import(`./editor-B560eld_-DLpKHubk.js`),__vite__mapDeps([28,11,12,1,13,14,15,16,17,18,19,20,21,22,23,29,30,25]))),documentTypes:[`powerhouse/processor`],config:{id:`processor-module-editor`,name:`Processor Module Editor`}},qt={Component:F(()=>b(()=>import(`./editor-CAVHtR-v-D33T9vW0.js`),__vite__mapDeps([31,11,12,1,13,14,15,16,17,18,19,20,21,22,23,29,32,25]))),documentTypes:[`powerhouse/subgraph`],config:{id:`subgraph-module-editor`,name:`Subgraph Module Editor`}},Jt={Component:F(()=>b(()=>import(`./editor-mor7dV6n-NTU9k1uj.js`),__vite__mapDeps([33,11,12,1,13,14,15,16,17,18,19,20,21]))),documentTypes:[`powerhouse/document-drive`],config:{id:`vetra-drive-app`,name:`Vetra Drive App`}},Yt={Component:F(()=>b(()=>import(`./editor-xCnDas6c-DdGhx--5.js`),__vite__mapDeps([34,11,12,1,13,14,15,16,17,18,19,20,21,23,35,25,29]))),documentTypes:[`powerhouse/package`],config:{id:`vetra-package-editor`,name:`Vetra Package Editor`}},Xt=e({documentModels:()=>Zt,editors:()=>Qt,manifest:()=>$t}),Zt=[Ee,De,Bt,Ut,Pe],Qt=[Wt,Gt,Kt,qt,Jt,Yt],$t=Lt,en={name:`@powerhousedao/vetra`,version:`6.2.0-dev.23`,license:`AGPL-3.0-only`,type:`module`,sideEffects:!1,repository:{type:`git`,url:`https://github.com/powerhouse-inc/powerhouse`,directory:`packages/vetra`},publishConfig:{access:`public`},files:[`dist`,`style.css`],exports:{".":{source:`./index.ts`,types:`./dist/index.d.ts`,import:`./dist/index.js`},"./document-models":{source:`./document-models/index.ts`,types:`./dist/document-models/index.d.ts`,import:`./dist/document-models/index.js`},"./document-models/*":{source:`./document-models/*/index.ts`,types:`./dist/document-models/*/index.d.ts`,import:`./dist/document-models/*/index.js`},"./editors/*":{types:`./dist/editors/*/index.d.ts`,import:`./dist/editors/*/index.js`},"./editors":{source:`./editors/index.ts`,types:`./dist/editors/index.d.ts`,import:`./dist/editors/index.js`},"./processors":{source:`./processors/index.ts`,types:`./dist/processors/index.d.ts`,import:`./dist/processors/index.js`},"./codegen":{source:`./codegen/index.ts`,types:`./dist/codegen/index.d.ts`,import:`./dist/codegen/index.js`},"./manifest":`./dist/powerhouse.manifest.json`,"./style.css":`./style.css`,"./package.json":`./package.json`},dependencies:{"change-case":`5.4.4`,react:`19.2.6`,zod:`4.3.6`,"tailwind-merge":`3.4.0`,"@powerhousedao/codegen":`6.2.0-dev.23`,"@powerhousedao/config":`6.2.0-dev.23`,"@powerhousedao/design-system":`6.2.0-dev.23`,"@powerhousedao/reactor-browser":`6.2.0-dev.23`,"@powerhousedao/shared":`6.2.0-dev.23`,"document-model":`6.2.0-dev.23`},devDependencies:{"@tailwindcss/cli":`4.2.2`,"@testing-library/jest-dom":`^6.9.1`,"@testing-library/react":`^16.3.0`,"@testing-library/user-event":`^14.6.1`,"@types/node":`25.2.3`,"@types/react":`19.2.14`,"@types/react-dom":`19.2.3`,"@vitejs/plugin-react":`6.0.1`,kysely:`0.28.16`,"react-dom":`19.2.6`,tailwindcss:`4.2.2`,"ts-morph":`27.0.2`,tsdown:`0.21.1`,vite:`8.0.10`,"vite-tsconfig-paths":`6.1.1`,vitest:`4.1.1`,"@powerhousedao/builder-tools":`6.2.0-dev.23`},description:`Vetra — the agent-first builder platform for the Powerhouse ecosystem. Spec-driven and AI-native development of open-source, decentralized back-ends.`,keywords:[`powerhouse`,`vetra`,`document-model`,`local-first`,`event-sourcing`,`vetra`,`agent`,`ai-native`,`builder`,`decentralized`],homepage:`https://academy.vetra.io`,scripts:{tsc:`tsc`,lint:`eslint`,test:`vitest --run`,"test:watch":`vitest`,"test:document-models":`vitest run document-models`,"test:editors":`vitest run editors`,"test:processors":`vitest run processors`,build:`pnpm run build:bundle`,"build:bundle":`tsdown`,generate:`ph-cli generate`,reactor:`ph-cli reactor`,service:`ph-cli service`,migrate:`ph-cli migrate`,"service-startup":`bash ./node_modules/@powerhousedao/ph-cli/dist/scripts/service-startup.sh`,"service-unstartup":`bash ./node_modules/@powerhousedao/ph-cli/dist/scripts/service-unstartup.sh`}};(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`d17abc36-680f-59c7-9a6f-834f46f065ea`)}catch{}})();async function tn(e,n,r,i){let a={signer:r.signer,verifier:t()},o=async e=>{if(r.user)return r.getBearerToken({expiresIn:10})},s=N(await be());s!==17&&console.warn(`[reactor] Running against legacy PGlite data dir (Postgres ${s}). Migrate to PG17 from the banner or the Inspector → Debug tab.`);let{PGlite:c}=await M(s),l=new c(`idb://${P}`,{relaxedDurability:!0}),u=new T([`reactor-client`]),d=new g().withLogger(u).withSigner(a).withReactorBuilder(new m().withDocumentModels(e).withUpgradeManifests(n).withChannelScheme(_.CONNECT).withJwtHandler(o).withKysely(new E({dialect:new D(l)})));return i&&d.withDocumentModelLoader(i),{...await d.buildModule(),pg:l}}function nn(e){return e.connect.drives?.defaultDrives??[]}function rn(e){let t=e instanceof Error?e.message:String(e);return/forbidden|unauthorized|insufficient permissions|\b401\b|\b403\b/i.test(t)}async function an(e){await Promise.all(e.map(async e=>{let t;for(let n=1;n<=3;n++)try{t=await he(e.url);break}catch(t){if(rn(t))break;if(n===3)console.error(`Failed to add default drive ${e.url} after 3 attempts:`,t);else{let t=2e3*n;console.warn(`Default drive ${e.url} not reachable (attempt ${n}/3), retrying in ${t}ms...`),await new Promise(e=>setTimeout(e,t))}}if(t&&(e.name||e.icon))try{let r=window.ph?.reactorClient;r&&await n(r,t,{timeoutMs:15e3}),await y(t,{name:e.name,icon:e.icon})}catch(t){console.warn(`Default drive ${e.url} was added but metadata update failed:`,t)}}))}var on=class{runsOn=`client`;metadata={name:`QueryParamProvider`};flags;constructor(e){this.flags=new Map;for(let[t,n]of e.entries())this.flags.set(t,n)}resolveBooleanEvaluation(e,t){let n=this.flags.get(e);return n===void 0?{value:t,reason:`DEFAULT`}:{value:n.toLowerCase()===`true`||n===`1`,reason:`STATIC`,variant:n}}resolveStringEvaluation(e,t){let n=this.flags.get(e);return n===void 0?{value:t,reason:`DEFAULT`}:{value:n,reason:`STATIC`,variant:n}}resolveNumberEvaluation(e,t){let n=this.flags.get(e);if(n===void 0)return{value:t,reason:`DEFAULT`};let r=Number(n);return isNaN(r)?{value:t,reason:`ERROR`,errorCode:`PARSE_ERROR`,errorMessage:`Failed to parse "${n}" as a number`}:{value:r,reason:`STATIC`,variant:n}}resolveObjectEvaluation(e,t){let n=this.flags.get(e);if(n===void 0)return{value:t,reason:`DEFAULT`};try{return{value:JSON.parse(n),reason:`STATIC`,variant:n}}catch(e){return{value:t,reason:`ERROR`,errorCode:`PARSE_ERROR`,errorMessage:`Failed to parse JSON: ${e instanceof Error?e.message:String(e)}`}}}};async function sn(e){let t=e??(typeof window<`u`?new URLSearchParams(window.location.search):new URLSearchParams),n=new on(t);await kt.setProviderAndWait(n);let r=new Map,i=t.get(`LOG_LEVEL`);if(i){let e=[`verbose`,`debug`,`info`,`warn`,`error`];e.includes(i.toLowerCase())?(w(i.toLowerCase()),C.info(`Log level set to @level via query param`,i.toLowerCase())):C.warn(`Invalid LOG_LEVEL query param: @param. Valid values: @validLevels`,i,e.join(`, `))}return r}var cn=class{#e;#t=new Map;#n=[];#r=new Set;#i=new Set;constructor(e){this.#e=e}load(e){let t=this.#a(e);return t?(this.#s(e),Promise.resolve(t)):(this.#o(e),Promise.reject(Error(`No package registry configured; cannot resolve "${e}"`)))}promptInstallation(){}approveInstallation(){return Promise.resolve()}dismissInstallation(){}getPendingInstallations(){return[]}subscribePending(){return()=>{}}getFailedInstallations(){return this.#n}subscribeFailed(e){return this.#r.add(e),()=>{this.#r.delete(e)}}subscribeEvents(e){return this.#i.add(e),()=>{this.#i.delete(e)}}retryInstallation(e){return this.#o(e),Promise.resolve()}#a(e){return this.#e.packages.flatMap(e=>e.documentModels).find(t=>t.documentModel.global.id===e)}#o(e){this.#t.set(e,{documentType:e,reason:`no-registry`,packageNames:[],error:null}),this.#l({type:`load-failed`,documentType:e,reason:`no-registry`}),this.#c()}#s(e){this.#t.delete(e)&&this.#c()}#c(){this.#n=Array.from(this.#t.values());for(let e of this.#r)e()}#l(e){for(let t of this.#i)t(e)}},ln=class{#e;#t;#n;#r=new Map;#i=new Map;#a=[];#o=new Set;#s=new Map;#c=[];#l=new Set;#u=new Set;#d;#f=new Map;constructor(e,t,n){this.#e=e,this.#t=t,this.#n=n.mode,this.#d=new v(n.storageKey+`:PH_DISMISSED_TYPES`)}load(e){let t=this.#g(e);if(t)return this.#x(e),Promise.resolve(t);if(this.#d.has(e))return this.#b(e,`dismissed`,[],null),Promise.reject(Error(`Document type "${e}" was dismissed`));let n=this.#r.get(e);return n?n.promise:this.#p(e)}promptInstallation(e){let t=this.#f.get(e);t&&(this.#i.has(e)||(this.#f.delete(e),this.#h(e,t)))}async approveInstallation(e){let t=this.#_(e);if(t.length===0)return;let n=await this.#e.addPackage(e);if(n.type===`error`){this.#S({type:`installation-failed`,packageName:e,error:n.error});for(let r of t){let t=this.#r.get(r);t&&(t.reject(n.error),this.#r.delete(r),this.#i.delete(r)),this.#b(r,`install-failed`,[e],n.error)}this.#v();return}this.#S({type:`installation-approved`,packageName:e,documentTypes:t});for(let n of t){let t=this.#r.get(n);if(!t)continue;let r=this.#g(n);if(r)t.resolve(r),this.#x(n);else{let r=Error(`Package "${e}" installed but module for "${n}" not found`);t.reject(r),this.#b(n,`install-failed`,[e],r)}this.#r.delete(n),this.#i.delete(n)}this.#v()}dismissInstallation(e){let t=this.#_(e);if(t.length!==0){for(let n of t){this.#d.set(n,!0);let t=this.#r.get(n);t&&t.reject(Error(`Document type "${n}" was dismissed`)),this.#r.delete(n),this.#i.delete(n),this.#f.delete(n),this.#b(n,`dismissed`,[e],null)}this.#S({type:`installation-dismissed`,packageName:e,documentTypes:t}),this.#v()}}getPendingInstallations(){return this.#a}subscribePending(e){return this.#o.add(e),()=>{this.#o.delete(e)}}getFailedInstallations(){return this.#c}subscribeFailed(e){return this.#l.add(e),()=>{this.#l.delete(e)}}subscribeEvents(e){return this.#u.add(e),()=>{this.#u.delete(e)}}async retryInstallation(e){this.#d.delete(e),this.#x(e);try{await this.#p(e)}catch{}}async#p(e){let t;try{t=await this.#t.getPackagesByDocumentType(e)}catch(t){let n=t instanceof Error?t:Error(String(t));return this.#S({type:`registry-query-failed`,documentType:e,error:n}),this.#b(e,`registry-error`,[],n),Promise.reject(n)}if(t.length===0)return this.#b(e,`not-in-registry`,[],null),Promise.reject(Error(`No packages found for document type "${e}"`));let n=this.#m(e,t);return this.#S({type:`type-discovered`,documentType:e,packageNames:t}),this.#n===`immediate`?this.#h(e,t):this.#f.set(e,t),n.promise}#m(e,t){let n,r,i=new Promise((e,t)=>{n=e,r=t}),a={packageNames:t,resolve:n,reject:r,promise:i};return this.#r.set(e,a),a}#h(e,t){let n={documentType:e,packageNames:t};this.#i.set(e,n),this.#S({type:`installation-prompted`,documentType:e,packageNames:t}),this.#v()}#g(e){return this.#e.packages.flatMap(e=>e.documentModels).find(t=>t.documentModel.global.id===e)}#_(e){let t=[];for(let[n,r]of this.#r)r.packageNames.includes(e)&&t.push(n);return t}#v(){this.#a=Array.from(this.#i.values());for(let e of this.#o)e()}#y(){this.#c=Array.from(this.#s.values());for(let e of this.#l)e()}#b(e,t,n,r){this.#s.set(e,{documentType:e,reason:t,packageNames:n,error:r}),this.#S({type:`load-failed`,documentType:e,reason:t}),this.#y()}#x(e){this.#s.delete(e)&&this.#y()}#S(e){for(let t of this.#u)t(e)}};function un(e){let t=e.trim(),n=t.startsWith(`@`)?t.lastIndexOf(`@`):t.indexOf(`@`);return n>0?t.slice(0,n):t}async function dn(e){try{let t=await fetch(e);if(!t.ok)return;let n=await t.json();return typeof n.version==`string`?n.version:void 0}catch{return}}var $=`Local`,fn=class{registryUrl;#e;#t=new Map;#n=new Set;#r=[];#i=new Map;#a;#o;#s;#c=new Set([$]);constructor(e,t){this.#e=new v(e+`:PH_PACKAGES`),this.registryUrl=t,this.#o=t===null?null:this.#l(t)}#l(e){return e.includes(`/-/cdn`)?e:`${e.endsWith(`/`)?e.slice(0,-1):e}/-/cdn`}async init(e,t){this.addLocalPackage(Ft.name,jt,It.version),this.addLocalPackage($t.name,Xt,en.version),e&&this.updateLocalPackage(e,t);for(let e of this.#e.keys()){let t=this.#e.get(e)?.spec??e;console.debug(`[Connect][PackageManager] Rehydrating "${e}" via spec "${t}"`),(await this.addPackage(t)).type===`error`&&this.#e.delete(e)}}addLocalPackage(e,t,n){this.#c.add(e),this.#p({name:e,importUrl:null,stylesheetUrl:null,loadedPackage:t,version:n})}updateLocalPackage(e,t){if(console.debug(`Updating local package:`,e),this.#a=e,this.#p({name:$,stylesheetUrl:null,importUrl:null,loadedPackage:e}),t){this.#s=t,this.#g();return}dn(`/package.json`).then(e=>{this.#s=e,e&&this.#g()}).catch(()=>{})}get packages(){return this.#r}get cdnUrl(){return this.#o}getPackageSource(e){if(this.#c.has(e))return`common`;if(e===this.#a?.manifest.name)return`project`;let t=this.#e.get(e);return t?t.importUrl===`/node_modules/${e}`?`local-install`:`registry-install`:null}getRegistryPackages(){let e=[];for(let[t,n]of this.#e)this.#c.has(t)||t!==$&&n.importUrl!==`/node_modules/${t}`&&e.push({name:t,version:n.version});return e}getPackageVersion(e){return e===this.#a?.manifest.name?this.#s:this.#e.get(e)?.version}async addPackage(e){let t=un(e),n=t!==e;console.debug(`[Connect][PackageManager] addPackage spec="${e}" bareName="${t}"`);let r=this.#t.get(t);if(r){let i=n?e.slice(t.length+1):void 0,a=this.#e.get(t)?.version;if(this.#c.has(t)||!i||!a||i===a)return console.debug(`[Connect][PackageManager] "${t}" already loaded; skipping re-fetch`),{type:`success`,package:r};console.debug(`[Connect][PackageManager] "${t}" version bump ${a} → ${i}; refetching`)}try{let i=await this.#f(e);return i.name=t,n&&(i.spec=e),r&&this.#h(t),this.#p(i),{type:`success`,package:i.loadedPackage}}catch(t){let n=t instanceof Error?t:Error(String(t));return console.error(`[Connect][PackageManager] Failed to install package "${e}": ${n.message}`,n),{type:`error`,error:n}}}async addPackages(e){let t=[];for(let n of e){let e=await this.addPackage(n);t.push(e)}return t}removePackage(e){this.#t.delete(e),this.#e.delete(e),this.#h(e),this.#g()}subscribe(e){return this.#n.add(e),()=>{this.#n.delete(e)}}load(e){let t=Array.from(this.#t.values().flatMap(e=>e.documentModels)).find(t=>t.documentModel.global.id===e);return t?Promise.resolve(t):Promise.reject(Error(`Model not available`))}async#u(e){let t=`${this.#o}/${e}/browser/index.js`,n=`${this.#o}/${e}/style.css`,r=await this.#d({name:e,importUrl:t,stylesheetUrl:n});return r.version=await dn(`${this.#o}/${e}/package.json`),r}async#d(e){let{name:t,importUrl:n,stylesheetUrl:r}=e;if(!n)throw Error(`Import url not defined for package "${t}".`);return{name:t,loadedPackage:await b(()=>import(n),[]),importUrl:n,stylesheetUrl:r}}async#f(e){if(this.#c.has(e))throw Error(`Package "${e}" is a local package and cannot be loaded dynamically.`);if(!this.registryUrl)throw Error(`Registry url not defined.`);return await this.#u(e)}#p(e){let{name:t,loadedPackage:n,importUrl:r,stylesheetUrl:i,version:a,spec:o}=e;i!==null&&this.#m(t,i),this.#t.set(t,n),this.#e.set(t,{name:t,importUrl:r,stylesheetUrl:i,version:a,...o?{spec:o}:{}}),console.debug(`[Connect][PackageManager] Registered "${t}" (version=${a??`?`}, spec=${o??`—`})`),this.#g()}#m(e,t){let n=this.#i.get(e);if(n)return n;let r=document.createElement(`style`);r.textContent=`@import url("${t}") layer(external-packages);`,document.head.appendChild(r),this.#i.set(e,r)}#h(e){let t=this.#i.get(e);t&&(t.remove(),this.#i.delete(e))}#g(){this.#r=Array.from(this.#t.values());let e=this.packages;this.#n.forEach(t=>{t({packages:e})})}};async function pn(e){let t={dbName:A};if(e===16){let[e,n]=await Promise.all([b(()=>import(`./worker-C5dOZDTw.js`),__vite__mapDeps([36,37,38,39,12,1])),b(()=>import(`./live-BNFn5R0a.js`),__vite__mapDeps([40,38,39,12,1]))]),r=new Worker(new URL(`/assets/pglite.worker.legacy-D5InEf0i.js`,``+import.meta.url),{type:`module`});return e.PGliteWorker.create(r,{meta:t,extensions:{live:n.live}})}let[{PGliteWorker:n},{live:r}]=await Promise.all([b(()=>import(`./worker-CzUqQwa7.js`),__vite__mapDeps([41,42,12,1,43,44])),b(()=>import(`./live-C1s3S4Zn.js`),__vite__mapDeps([45,42,12,1,43]))]),i=new Worker(new URL(`/assets/pglite.worker-BuyZ0d7u.js`,``+import.meta.url),{type:`module`});return n.create(i,{meta:t,extensions:{live:r}})}async function mn(){let e=N(await j());e!==17&&console.warn(`[reactor] Relational worker is opening legacy Postgres ${e} data dir. Migrate to PG17 from the banner or the Inspector → Debug tab.`);let t=await pn(e);return{pgLite:t,relationalDb:p(new E({dialect:new D(t)}))}}var hn=class{reserve(){return Promise.reject(Error(`NullAttachmentService: no attachment service configured`))}stat(){return Promise.reject(Error(`NullAttachmentService: no attachment service configured`))}get(){return Promise.reject(Error(`NullAttachmentService: no attachment service configured`))}};async function gn(e,t,n){try{let{pgLite:r,relationalDb:i}=await mn(),{store:a}=await h({pgLite:r});return{relationalDb:i,analyticsStore:a,processorApp:`connect`,client:e,attachments:te(n??new hn),dispatch:{async execute(t,n,r,i){let a=await e.executeAsync(t,n,r,i);return{id:a.id,status:a.status}}},getReadModel(e){let n=t.find(t=>t.name===e);if(!n)throw Error(`Read model "${e}" not found`);return n}}}catch(e){console.error(`Failed to initialize processor host module:`),console.error(e)}}function _n(e){if(typeof window>`u`||typeof EventSource>`u`)return;let t;try{t=new EventSource(`/__packages`)}catch(e){console.debug(`[Connect] /__packages subscribe failed:`,e);return}let n=!0;t.addEventListener(`packages-changed`,t=>{try{let r=JSON.parse(t.data);if(!Array.isArray(r.packages))return;let i=r.packages.filter(e=>typeof e==`string`),a=e=>{let t=e.startsWith(`@`)?e.lastIndexOf(`@`):e.indexOf(`@`);return t>0?{bareName:e.slice(0,t),version:e.slice(t+1)}:{bareName:e}},o=new Map(e.getRegistryPackages().map(({name:e,version:t})=>[e,t])),s=new Map;for(let e of i){let{bareName:t,version:n}=a(e);s.set(t,n)}let c=n;n=!1;for(let t of o.keys())s.has(t)||(e.removePackage(t),c||O(`Removed package ${t}`,{type:`connect-deleted`}));for(let t of i){let{bareName:n,version:r}=a(t),i=o.get(n),s=o.has(n);if(s&&(!r||!i||r===i))continue;let l=s;Promise.resolve(e.addPackage(t)).then(e=>{if(e.type===`error`){console.error(`[Connect] /__packages addPackage(${t}) failed:`,e.error);return}if(c)return;let n=e.package.manifest.name;O(l?`Updated package ${n}`:`Installed package ${n}`,{type:`connect-success`})},e=>{console.error(`[Connect] /__packages addPackage(${t}) threw:`,e)})}}catch(e){console.error(`[Connect] /__packages event parse failed:`,e)}}),t.addEventListener(`error`,()=>{})}async function vn(){await window.ph?.reactorClientModule?.pg?.close();let e=(await indexedDB.databases()).map(e=>e.name).filter(e=>!!e&&!e.startsWith(`ph-pglite-backup::`)&&/pglite|reactor/i.test(e));await Promise.all(e.map(e=>new Promise(t=>{let n=indexedDB.deleteDatabase(e);n.onsuccess=n.onerror=n.onblocked=()=>t()})))}async function yn(e){if(window.ph||(window.ph={}),window.ph.loading)return;window.ph.loading=!0,ue(),ce(O);let t=await sn();C.info(`Features: @features`,JSON.stringify(Object.fromEntries(t),null,2));let n=await re.create(),te=await new d().withKeyPairStorage(n).build(),p=await new ie(`connect`,{basename:k.routerBasename,baseUrl:k.renownUrl}).withCrypto(te).build(),m=ve(),h=new fn(k.routerBasename??``,m.packageRegistryUrl??null);ee(h),await h.init(e,m.localPackage?.version);try{let{default:e}=await b(async()=>{let{default:e}=await import(`./_virtual_ph-bundled-packages-virtual-tf71TYp3.js`);return{default:e}},[]);e(h)}catch{}let g=m.packages.filter(e=>e.provider!==`local`).map(e=>e.version?`${e.packageName}@${e.version}`:e.packageName);(await h.addPackages(g)).map(e=>{e.type===`error`&&console.error(e.error)}),m.connect?.packages?.liveReload&&_n(h);let _=h.packages.flatMap(e=>e.documentModels).filter((e,t,n)=>n.findIndex(t=>t.documentModel.global.id===e.documentModel.global.id&&t.version===e.version)===t),v=h.packages.flatMap(e=>e.upgradeManifests).filter((e,t,n)=>e!==void 0&&n.findIndex(t=>t&&t.documentType===e.documentType)===t),y=h.cdnUrl===null?new cn(h):new ln(h,new pe(h.cdnUrl),{mode:`immediate`,storageKey:k.routerBasename??``});c(y);let x=await tn(_,v,p,y),S=await le(x.client);await ne(bn(),p);let w=new me(x.client);f(ye(k.basePath??`/`,k.routerBasename??`/`,m.connect??{}));let T=window.location.pathname,E=se(T),D=de(T);u(x),l(x.client);let A=k.defaultDrivesUrl;if(A){let e;try{e=new URL(A).origin}catch{}e&&ge(a({remoteUrl:e,jwtHandler:async e=>{if(p.user)return p.getBearerToken({expiresIn:10})}}))}ae(w),fe(p),i(S),r(t);let j=nn(m);j.length>0&&an(j).catch(e=>console.error(`Failed to add default drives:`,e));let M=xn();M&&he(M,void 0).catch(e=>console.error(`Failed to add remote drive from ${M}:`,e)),o(E),s(D);let N=x.client;N.subscribe({type:`powerhouse/document-drive`},e=>{C.verbose(`ReactorClient subscription event: @event`,e),_e(x.client).catch(e=>C.error(`@error`,e))}),N.subscribe({},e=>{if(e.type!==oe.Deleted)return;let t=e.context?.childId;if(!t)return;let n=window.ph?.selectedDriveId,r=window.ph?.selectedNodeId;if(n&&t===n){o(void 0),O(`The drive you were viewing has been deleted`);return}r&&t===r&&(s(void 0),O(`The document you were editing has been deleted`))}),await _e(x.client);let P=h.packages.filter(e=>e.processorFactory!==void 0);if(P.length>0){let e=x.reactorModule?.readModelCoordinator?.readModels??[],t=await gn(x.client,e,window.ph?.attachmentService);t!==void 0&&await Promise.all(P.map(async e=>{let{manifest:n,processorFactory:r}=e,i=n.name,a=n.name,o=h.getPackageVersion(i),s=o?`${i}@${o}`:i;C.info(`Loading processor factory: @label`,s);try{let e=await r?.(t);if(!e)return;await x.reactorModule?.processorManager.registerFactory(a,e)}catch(e){C.error(`Error registering processor: @label`,s),C.error(`@error`,e)}}))}window.ph.loading=!1}function bn(){let e=new URLSearchParams(window.location.search).get(`user`);return e?decodeURIComponent(e):void 0}function xn(){let e=new URLSearchParams(window.location.search).get(`driveUrl`);return e?decodeURIComponent(e):void 0}export{yn as n,vn as t};
84
+ //# sourceMappingURL=reactor-BxNvHOKC-CeMF1M2u.js.map