@ixo/editor 6.33.0 → 6.34.0

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 (526) hide show
  1. package/dist/BidConfig-YLGSEIOS.js +154 -0
  2. package/dist/BidConfig-YLGSEIOS.js.map +1 -0
  3. package/dist/BidFlowDetail-TJCJBJZZ.js +365 -0
  4. package/dist/BidFlowDetail-TJCJBJZZ.js.map +1 -0
  5. package/dist/CalendarEventCreateConfig-J2LU6LJO.js +155 -0
  6. package/dist/CalendarEventCreateConfig-J2LU6LJO.js.map +1 -0
  7. package/dist/CalendarEventCreateFlowDetail-ZWHZWDOK.js +174 -0
  8. package/dist/CalendarEventCreateFlowDetail-ZWHZWDOK.js.map +1 -0
  9. package/dist/CalendarEventListConfig-GQNNF4ZB.js +116 -0
  10. package/dist/CalendarEventListConfig-GQNNF4ZB.js.map +1 -0
  11. package/dist/CalendarEventListFlowDetail-SSRTOXIX.js +58 -0
  12. package/dist/CalendarEventListFlowDetail-SSRTOXIX.js.map +1 -0
  13. package/dist/CalendarEventUpdateConfig-KACZA6GH.js +133 -0
  14. package/dist/CalendarEventUpdateConfig-KACZA6GH.js.map +1 -0
  15. package/dist/CalendarEventUpdateFlowDetail-CD6NHHOU.js +155 -0
  16. package/dist/CalendarEventUpdateFlowDetail-CD6NHHOU.js.map +1 -0
  17. package/dist/ClaimConfig-3HKPGK55.js +200 -0
  18. package/dist/ClaimConfig-3HKPGK55.js.map +1 -0
  19. package/dist/ClaimFlowDetail-UVEQMEI5.js +641 -0
  20. package/dist/ClaimFlowDetail-UVEQMEI5.js.map +1 -0
  21. package/dist/CollectionLifecycleConfig-LCCGZ3CJ.js +149 -0
  22. package/dist/CollectionLifecycleConfig-LCCGZ3CJ.js.map +1 -0
  23. package/dist/CollectionLifecycleFlowDetail-WFCSVIIG.js +647 -0
  24. package/dist/CollectionLifecycleFlowDetail-WFCSVIIG.js.map +1 -0
  25. package/dist/CollectionUsersConfig-RI2X3YY2.js +271 -0
  26. package/dist/CollectionUsersConfig-RI2X3YY2.js.map +1 -0
  27. package/dist/CollectionUsersFlowDetail-ZLCJBWHG.js +1276 -0
  28. package/dist/CollectionUsersFlowDetail-ZLCJBWHG.js.map +1 -0
  29. package/dist/CredentialStoreConfig-G66AQDGZ.js +75 -0
  30. package/dist/CredentialStoreConfig-G66AQDGZ.js.map +1 -0
  31. package/dist/CredentialStoreFlowDetail-FL7QAM3S.js +99 -0
  32. package/dist/CredentialStoreFlowDetail-FL7QAM3S.js.map +1 -0
  33. package/dist/DesignPodConfig-LJ7H2CZ6.js +8 -0
  34. package/dist/DesignPodConfig-LJ7H2CZ6.js.map +1 -0
  35. package/dist/DesignPodFlowDetail-JHJWGNVY.js +309 -0
  36. package/dist/DesignPodFlowDetail-JHJWGNVY.js.map +1 -0
  37. package/dist/DomainCardPreviewConfig-Q3X5M4WF.js +37 -0
  38. package/dist/DomainCardPreviewConfig-Q3X5M4WF.js.map +1 -0
  39. package/dist/DomainCardPreviewFlowDetail-Y2FE7O5Z.js +131 -0
  40. package/dist/DomainCardPreviewFlowDetail-Y2FE7O5Z.js.map +1 -0
  41. package/dist/DomainIndexerLookupConfig-N4VONQUY.js +41 -0
  42. package/dist/DomainIndexerLookupConfig-N4VONQUY.js.map +1 -0
  43. package/dist/DomainIndexerLookupFlowDetail-GJ7WWK7I.js +70 -0
  44. package/dist/DomainIndexerLookupFlowDetail-GJ7WWK7I.js.map +1 -0
  45. package/dist/DomainSignConfig-XFIXROVK.js +47 -0
  46. package/dist/DomainSignConfig-XFIXROVK.js.map +1 -0
  47. package/dist/DomainSignFlowDetail-BXZ6JBPR.js +206 -0
  48. package/dist/DomainSignFlowDetail-BXZ6JBPR.js.map +1 -0
  49. package/dist/DomainSingleSelectionConfig-ZNKIXB4P.js +101 -0
  50. package/dist/DomainSingleSelectionConfig-ZNKIXB4P.js.map +1 -0
  51. package/dist/DomainSingleSelectionFlowDetail-HWTQXSLA.js +147 -0
  52. package/dist/DomainSingleSelectionFlowDetail-HWTQXSLA.js.map +1 -0
  53. package/dist/EmailSendConfig-YEGZ5Q77.js +215 -0
  54. package/dist/EmailSendConfig-YEGZ5Q77.js.map +1 -0
  55. package/dist/EntityCreateOracleConfig-UZ6ZIMP5.js +150 -0
  56. package/dist/EntityCreateOracleConfig-UZ6ZIMP5.js.map +1 -0
  57. package/dist/EntityCreateOracleFlowDetail-H2X7CPYU.js +120 -0
  58. package/dist/EntityCreateOracleFlowDetail-H2X7CPYU.js.map +1 -0
  59. package/dist/EntitySingleSelectionConfig-DL57KNKM.js +30 -0
  60. package/dist/EntitySingleSelectionConfig-DL57KNKM.js.map +1 -0
  61. package/dist/EntitySingleSelectionFlowDetail-GFQGX3GA.js +118 -0
  62. package/dist/EntitySingleSelectionFlowDetail-GFQGX3GA.js.map +1 -0
  63. package/dist/EntityTransferConfig-JVZ3H35B.js +62 -0
  64. package/dist/EntityTransferConfig-JVZ3H35B.js.map +1 -0
  65. package/dist/EntityTransferFlowDetail-XEXM34XB.js +132 -0
  66. package/dist/EntityTransferFlowDetail-XEXM34XB.js.map +1 -0
  67. package/dist/EvalEngineConfig-CHC4IRN3.js +464 -0
  68. package/dist/EvalEngineConfig-CHC4IRN3.js.map +1 -0
  69. package/dist/EvalEngineFlowDetail-PUFRNO4U.js +4291 -0
  70. package/dist/EvalEngineFlowDetail-PUFRNO4U.js.map +1 -0
  71. package/dist/EvaluateBidConfig-OE4CM43G.js +151 -0
  72. package/dist/EvaluateBidConfig-OE4CM43G.js.map +1 -0
  73. package/dist/EvaluateBidFlowDetail-2S2N4YTW.js +564 -0
  74. package/dist/EvaluateBidFlowDetail-2S2N4YTW.js.map +1 -0
  75. package/dist/EvaluateClaimConfig-3D4F5LHU.js +297 -0
  76. package/dist/EvaluateClaimConfig-3D4F5LHU.js.map +1 -0
  77. package/dist/EvaluateClaimFlowDetail-QYR7PJRD.js +2237 -0
  78. package/dist/EvaluateClaimFlowDetail-QYR7PJRD.js.map +1 -0
  79. package/dist/FormSubmitConfig-UFZYMLUN.js +59 -0
  80. package/dist/FormSubmitConfig-UFZYMLUN.js.map +1 -0
  81. package/dist/FormSubmitFlowDetail-IAHDJS6P.js +169 -0
  82. package/dist/FormSubmitFlowDetail-IAHDJS6P.js.map +1 -0
  83. package/dist/GovernanceAuthzExecFlowDetail-SQBGU5BX.js +166 -0
  84. package/dist/GovernanceAuthzExecFlowDetail-SQBGU5BX.js.map +1 -0
  85. package/dist/GovernanceAuthzGrantFlowDetail-DZPNLANT.js +88 -0
  86. package/dist/GovernanceAuthzGrantFlowDetail-DZPNLANT.js.map +1 -0
  87. package/dist/GovernanceAuthzRevokeFlowDetail-3JZ4IUJG.js +88 -0
  88. package/dist/GovernanceAuthzRevokeFlowDetail-3JZ4IUJG.js.map +1 -0
  89. package/dist/GovernanceChainVoteFlowDetail-475UDNG6.js +83 -0
  90. package/dist/GovernanceChainVoteFlowDetail-475UDNG6.js.map +1 -0
  91. package/dist/GovernanceConfigConfig-V3WM4WBP.js +30 -0
  92. package/dist/GovernanceConfigConfig-V3WM4WBP.js.map +1 -0
  93. package/dist/GovernanceConfigFlowDetail-SQ5PPDRX.js +267 -0
  94. package/dist/GovernanceConfigFlowDetail-SQ5PPDRX.js.map +1 -0
  95. package/dist/GovernanceContractExecuteFlowDetail-H2ZV6W2E.js +113 -0
  96. package/dist/GovernanceContractExecuteFlowDetail-H2ZV6W2E.js.map +1 -0
  97. package/dist/GovernanceContractInstantiateFlowDetail-YJJMGM54.js +144 -0
  98. package/dist/GovernanceContractInstantiateFlowDetail-YJJMGM54.js.map +1 -0
  99. package/dist/GovernanceContractManageCw20FlowDetail-OCBMW3YJ.js +72 -0
  100. package/dist/GovernanceContractManageCw20FlowDetail-OCBMW3YJ.js.map +1 -0
  101. package/dist/GovernanceContractMigrateFlowDetail-JDNIKTT3.js +104 -0
  102. package/dist/GovernanceContractMigrateFlowDetail-JDNIKTT3.js.map +1 -0
  103. package/dist/GovernanceContractUpdateAdminFlowDetail-SZBOAOCC.js +68 -0
  104. package/dist/GovernanceContractUpdateAdminFlowDetail-SZBOAOCC.js.map +1 -0
  105. package/dist/GovernanceCustomMessageFlowDetail-CXD4ZATO.js +78 -0
  106. package/dist/GovernanceCustomMessageFlowDetail-CXD4ZATO.js.map +1 -0
  107. package/dist/GovernanceDaoAcceptToMarketplaceFlowDetail-Q6ZBNY7Z.js +98 -0
  108. package/dist/GovernanceDaoAcceptToMarketplaceFlowDetail-Q6ZBNY7Z.js.map +1 -0
  109. package/dist/GovernanceDaoAdminExecFlowDetail-JAEAY2US.js +94 -0
  110. package/dist/GovernanceDaoAdminExecFlowDetail-JAEAY2US.js.map +1 -0
  111. package/dist/GovernanceDaoCreateEntityFlowDetail-7RVNTVAB.js +96 -0
  112. package/dist/GovernanceDaoCreateEntityFlowDetail-7RVNTVAB.js.map +1 -0
  113. package/dist/GovernanceDaoJoinFlowDetail-XYCTCNHO.js +68 -0
  114. package/dist/GovernanceDaoJoinFlowDetail-XYCTCNHO.js.map +1 -0
  115. package/dist/GovernanceDaoManageStorageFlowDetail-LMLYLYYC.js +93 -0
  116. package/dist/GovernanceDaoManageStorageFlowDetail-LMLYLYYC.js.map +1 -0
  117. package/dist/GovernanceDaoManageSubDaosFlowDetail-YUFQ67JN.js +84 -0
  118. package/dist/GovernanceDaoManageSubDaosFlowDetail-YUFQ67JN.js.map +1 -0
  119. package/dist/GovernanceDaoUpdateInfoFlowDetail-G5FIBY4L.js +104 -0
  120. package/dist/GovernanceDaoUpdateInfoFlowDetail-G5FIBY4L.js.map +1 -0
  121. package/dist/GovernanceMemberProposalConfig-IGPXEFDB.js +42 -0
  122. package/dist/GovernanceMemberProposalConfig-IGPXEFDB.js.map +1 -0
  123. package/dist/GovernanceMemberProposalFlowDetail-T3VURONF.js +240 -0
  124. package/dist/GovernanceMemberProposalFlowDetail-T3VURONF.js.map +1 -0
  125. package/dist/GovernanceNftBurnFlowDetail-AG4I2O7H.js +69 -0
  126. package/dist/GovernanceNftBurnFlowDetail-AG4I2O7H.js.map +1 -0
  127. package/dist/GovernanceNftManageCollectionsFlowDetail-UAAGO3Q6.js +71 -0
  128. package/dist/GovernanceNftManageCollectionsFlowDetail-UAAGO3Q6.js.map +1 -0
  129. package/dist/GovernanceNftTransferFlowDetail-KXM7DTOV.js +130 -0
  130. package/dist/GovernanceNftTransferFlowDetail-KXM7DTOV.js.map +1 -0
  131. package/dist/GovernanceSettingsProposalConfig-4SLJTBLW.js +42 -0
  132. package/dist/GovernanceSettingsProposalConfig-4SLJTBLW.js.map +1 -0
  133. package/dist/GovernanceSettingsProposalFlowDetail-VFZPSCLR.js +165 -0
  134. package/dist/GovernanceSettingsProposalFlowDetail-VFZPSCLR.js.map +1 -0
  135. package/dist/GovernanceStakingStakeFlowDetail-ULLJ7FLM.js +123 -0
  136. package/dist/GovernanceStakingStakeFlowDetail-ULLJ7FLM.js.map +1 -0
  137. package/dist/GovernanceStakingStakeToGroupFlowDetail-CSPKJA3H.js +84 -0
  138. package/dist/GovernanceStakingStakeToGroupFlowDetail-CSPKJA3H.js.map +1 -0
  139. package/dist/GovernanceSubmissionConfigProposalFlowDetail-MZCPSZF2.js +111 -0
  140. package/dist/GovernanceSubmissionConfigProposalFlowDetail-MZCPSZF2.js.map +1 -0
  141. package/dist/GovernanceTransactionMintFlowDetail-Y2WRAODH.js +66 -0
  142. package/dist/GovernanceTransactionMintFlowDetail-Y2WRAODH.js.map +1 -0
  143. package/dist/GovernanceTransactionPerformTokenSwapFlowDetail-GEK6PMMI.js +133 -0
  144. package/dist/GovernanceTransactionPerformTokenSwapFlowDetail-GEK6PMMI.js.map +1 -0
  145. package/dist/GovernanceTransactionSendFundsConfig-VBKMLSF3.js +42 -0
  146. package/dist/GovernanceTransactionSendFundsConfig-VBKMLSF3.js.map +1 -0
  147. package/dist/GovernanceTransactionSendFundsFlowDetail-5TZB64VL.js +182 -0
  148. package/dist/GovernanceTransactionSendFundsFlowDetail-5TZB64VL.js.map +1 -0
  149. package/dist/GovernanceTransactionSendGroupTokenFlowDetail-EGOWVZM2.js +155 -0
  150. package/dist/GovernanceTransactionSendGroupTokenFlowDetail-EGOWVZM2.js.map +1 -0
  151. package/dist/GovernanceTransactionWithdrawTokenSwapFlowDetail-6XWVO5O6.js +56 -0
  152. package/dist/GovernanceTransactionWithdrawTokenSwapFlowDetail-6XWVO5O6.js.map +1 -0
  153. package/dist/GovernanceValidatorActionsFlowDetail-ZMLPAFUB.js +117 -0
  154. package/dist/GovernanceValidatorActionsFlowDetail-ZMLPAFUB.js.map +1 -0
  155. package/dist/HarvestConfig-AIGOGBFR.js +56 -0
  156. package/dist/HarvestConfig-AIGOGBFR.js.map +1 -0
  157. package/dist/HarvestFlowDetail-X3RUH3X3.js +131 -0
  158. package/dist/HarvestFlowDetail-X3RUH3X3.js.map +1 -0
  159. package/dist/HttpRequestConfig-OQEJIIJY.js +194 -0
  160. package/dist/HttpRequestConfig-OQEJIIJY.js.map +1 -0
  161. package/dist/HttpRequestFlowDetail-JVLV533Z.js +116 -0
  162. package/dist/HttpRequestFlowDetail-JVLV533Z.js.map +1 -0
  163. package/dist/IdentityCreateConfig-ZBUOJ6AL.js +94 -0
  164. package/dist/IdentityCreateConfig-ZBUOJ6AL.js.map +1 -0
  165. package/dist/IdentityCreateFlowDetail-WGKO43IH.js +83 -0
  166. package/dist/IdentityCreateFlowDetail-WGKO43IH.js.map +1 -0
  167. package/dist/IidCreateConfig-RRV2DYXI.js +75 -0
  168. package/dist/IidCreateConfig-RRV2DYXI.js.map +1 -0
  169. package/dist/IidCreateFlowDetail-6M32S6XS.js +57 -0
  170. package/dist/IidCreateFlowDetail-6M32S6XS.js.map +1 -0
  171. package/dist/KycVerifyConfig-VCG65K5K.js +65 -0
  172. package/dist/KycVerifyConfig-VCG65K5K.js.map +1 -0
  173. package/dist/KycVerifyFlowDetail-EWOMXSD3.js +421 -0
  174. package/dist/KycVerifyFlowDetail-EWOMXSD3.js.map +1 -0
  175. package/dist/ListDomainFlowsConfig-3JZEPTOJ.js +37 -0
  176. package/dist/ListDomainFlowsConfig-3JZEPTOJ.js.map +1 -0
  177. package/dist/ListDomainFlowsFlowDetail-XX5AXDZZ.js +257 -0
  178. package/dist/ListDomainFlowsFlowDetail-XX5AXDZZ.js.map +1 -0
  179. package/dist/LoadBatchesConfig-IMODIWRT.js +38 -0
  180. package/dist/LoadBatchesConfig-IMODIWRT.js.map +1 -0
  181. package/dist/LoadBatchesFlowDetail-GB24T76O.js +101 -0
  182. package/dist/LoadBatchesFlowDetail-GB24T76O.js.map +1 -0
  183. package/dist/MatrixDmConfig-NBII27CS.js +120 -0
  184. package/dist/MatrixDmConfig-NBII27CS.js.map +1 -0
  185. package/dist/MatrixRegisterConfig-N2U4FBYF.js +62 -0
  186. package/dist/MatrixRegisterConfig-N2U4FBYF.js.map +1 -0
  187. package/dist/MatrixRegisterFlowDetail-D5YNL5QX.js +86 -0
  188. package/dist/MatrixRegisterFlowDetail-D5YNL5QX.js.map +1 -0
  189. package/dist/MemberMultiSelectConfig-E7WUB2WD.js +30 -0
  190. package/dist/MemberMultiSelectConfig-E7WUB2WD.js.map +1 -0
  191. package/dist/MemberMultiSelectFlowDetail-6C4ZMSDR.js +392 -0
  192. package/dist/MemberMultiSelectFlowDetail-6C4ZMSDR.js.map +1 -0
  193. package/dist/OracleConfig-R7TDTTKN.js +56 -0
  194. package/dist/OracleConfig-R7TDTTKN.js.map +1 -0
  195. package/dist/OracleConfigureOracleConfig-QFF74X3N.js +198 -0
  196. package/dist/OracleConfigureOracleConfig-QFF74X3N.js.map +1 -0
  197. package/dist/OracleConfigureOracleFlowDetail-73BHAN76.js +255 -0
  198. package/dist/OracleConfigureOracleFlowDetail-73BHAN76.js.map +1 -0
  199. package/dist/OracleContractConfig-PHY5L7W2.js +38 -0
  200. package/dist/OracleContractConfig-PHY5L7W2.js.map +1 -0
  201. package/dist/OracleContractFlowDetail-M3PM4AU4.js +78 -0
  202. package/dist/OracleContractFlowDetail-M3PM4AU4.js.map +1 -0
  203. package/dist/OracleDeployConfig-QBG76ATZ.js +10 -0
  204. package/dist/OracleDeployConfig-QBG76ATZ.js.map +1 -0
  205. package/dist/OracleDeployFlowDetail-WKTMD2AD.js +231 -0
  206. package/dist/OracleDeployFlowDetail-WKTMD2AD.js.map +1 -0
  207. package/dist/OracleDeploySetupConfig-75XPGFJQ.js +10 -0
  208. package/dist/OracleDeploySetupConfig-75XPGFJQ.js.map +1 -0
  209. package/dist/OracleDeploySetupFlowDetail-R3BQ7EAU.js +165 -0
  210. package/dist/OracleDeploySetupFlowDetail-R3BQ7EAU.js.map +1 -0
  211. package/dist/OracleDeployStartConfig-NA6GZ4VQ.js +10 -0
  212. package/dist/OracleDeployStartConfig-NA6GZ4VQ.js.map +1 -0
  213. package/dist/OracleDeployStartFlowDetail-EL3CMDMG.js +89 -0
  214. package/dist/OracleDeployStartFlowDetail-EL3CMDMG.js.map +1 -0
  215. package/dist/OracleFlowDetail-5JCJK3GH.js +76 -0
  216. package/dist/OracleFlowDetail-5JCJK3GH.js.map +1 -0
  217. package/dist/OraclePromptConfig-YBRESISH.js +39 -0
  218. package/dist/OraclePromptConfig-YBRESISH.js.map +1 -0
  219. package/dist/OraclePromptFlowDetail-O3XNK7HY.js +112 -0
  220. package/dist/OraclePromptFlowDetail-O3XNK7HY.js.map +1 -0
  221. package/dist/OracleStoreConfigConfig-TUZWTJMA.js +134 -0
  222. package/dist/OracleStoreConfigConfig-TUZWTJMA.js.map +1 -0
  223. package/dist/OracleStoreConfigFlowDetail-Q6AUUSUL.js +99 -0
  224. package/dist/OracleStoreConfigFlowDetail-Q6AUUSUL.js.map +1 -0
  225. package/dist/OracleStoreSecretsAndConfigConfig-SZPYEK7U.js +198 -0
  226. package/dist/OracleStoreSecretsAndConfigConfig-SZPYEK7U.js.map +1 -0
  227. package/dist/OracleStoreSecretsAndConfigFlowDetail-BFV2EHLT.js +220 -0
  228. package/dist/OracleStoreSecretsAndConfigFlowDetail-BFV2EHLT.js.map +1 -0
  229. package/dist/OracleStoreSecretsConfig-PQMF7LFT.js +191 -0
  230. package/dist/OracleStoreSecretsConfig-PQMF7LFT.js.map +1 -0
  231. package/dist/OracleStoreSecretsFlowDetail-DNNOPHVA.js +197 -0
  232. package/dist/OracleStoreSecretsFlowDetail-DNNOPHVA.js.map +1 -0
  233. package/dist/ProposalCreateConfig-U5IHZNT7.js +161 -0
  234. package/dist/ProposalCreateConfig-U5IHZNT7.js.map +1 -0
  235. package/dist/ProposalCreateFlowDetail-4VZZPAWH.js +235 -0
  236. package/dist/ProposalCreateFlowDetail-4VZZPAWH.js.map +1 -0
  237. package/dist/ProposalVoteConfig-MH4MU7SL.js +150 -0
  238. package/dist/ProposalVoteConfig-MH4MU7SL.js.map +1 -0
  239. package/dist/ProposalVoteFlowDetail-IJJ3OHAB.js +280 -0
  240. package/dist/ProposalVoteFlowDetail-IJJ3OHAB.js.map +1 -0
  241. package/dist/ProtocolSelectConfig-S5U3P6K7.js +48 -0
  242. package/dist/ProtocolSelectConfig-S5U3P6K7.js.map +1 -0
  243. package/dist/ProtocolSelectFlowDetail-XBSJIEIH.js +116 -0
  244. package/dist/ProtocolSelectFlowDetail-XBSJIEIH.js.map +1 -0
  245. package/dist/RetireConfig-MV37WWZ6.js +59 -0
  246. package/dist/RetireConfig-MV37WWZ6.js.map +1 -0
  247. package/dist/RetireFlowDetail-VZ5O4SXI.js +147 -0
  248. package/dist/RetireFlowDetail-VZ5O4SXI.js.map +1 -0
  249. package/dist/SandboxProvisionConfig-ZGG4IRHM.js +46 -0
  250. package/dist/SandboxProvisionConfig-ZGG4IRHM.js.map +1 -0
  251. package/dist/SandboxProvisionFlowDetail-RUY64INV.js +79 -0
  252. package/dist/SandboxProvisionFlowDetail-RUY64INV.js.map +1 -0
  253. package/dist/WalletFundConfig-CMM3EP3B.js +117 -0
  254. package/dist/WalletFundConfig-CMM3EP3B.js.map +1 -0
  255. package/dist/WalletFundFlowDetail-TXWCZA4K.js +279 -0
  256. package/dist/WalletFundFlowDetail-TXWCZA4K.js.map +1 -0
  257. package/dist/WalletGenerateAndFundConfig-364RSEND.js +10 -0
  258. package/dist/WalletGenerateAndFundConfig-364RSEND.js.map +1 -0
  259. package/dist/WalletGenerateAndFundFlowDetail-C2LZW3NO.js +54 -0
  260. package/dist/WalletGenerateAndFundFlowDetail-C2LZW3NO.js.map +1 -0
  261. package/dist/WalletGenerateConfig-YYLCS65G.js +10 -0
  262. package/dist/WalletGenerateConfig-YYLCS65G.js.map +1 -0
  263. package/dist/WalletGenerateFlowDetail-CQCNDGJA.js +53 -0
  264. package/dist/WalletGenerateFlowDetail-CQCNDGJA.js.map +1 -0
  265. package/dist/XeroContactCreateConfig-OWG5PA3B.js +102 -0
  266. package/dist/XeroContactCreateConfig-OWG5PA3B.js.map +1 -0
  267. package/dist/XeroContactCreateFlowDetail-6MAINCF6.js +127 -0
  268. package/dist/XeroContactCreateFlowDetail-6MAINCF6.js.map +1 -0
  269. package/dist/XeroInvoiceCreateConfig-O74RUSZM.js +403 -0
  270. package/dist/XeroInvoiceCreateConfig-O74RUSZM.js.map +1 -0
  271. package/dist/XeroInvoiceCreateFlowDetail-UL7KS6CZ.js +631 -0
  272. package/dist/XeroInvoiceCreateFlowDetail-UL7KS6CZ.js.map +1 -0
  273. package/dist/XeroInvoiceListConfig-UR3GONBJ.js +113 -0
  274. package/dist/XeroInvoiceListConfig-UR3GONBJ.js.map +1 -0
  275. package/dist/XeroInvoiceListFlowDetail-LYHODWH6.js +58 -0
  276. package/dist/XeroInvoiceListFlowDetail-LYHODWH6.js.map +1 -0
  277. package/dist/XeroPaymentCreateConfig-RPMAIK6E.js +116 -0
  278. package/dist/XeroPaymentCreateConfig-RPMAIK6E.js.map +1 -0
  279. package/dist/XeroPaymentCreateFlowDetail-CF35MVIM.js +573 -0
  280. package/dist/XeroPaymentCreateFlowDetail-CF35MVIM.js.map +1 -0
  281. package/dist/action-manifest.json +2091 -393
  282. package/dist/chunk-2GAYKKTL.js +9 -0
  283. package/dist/chunk-2GAYKKTL.js.map +1 -0
  284. package/dist/chunk-2WPEATI7.js +315 -0
  285. package/dist/chunk-2WPEATI7.js.map +1 -0
  286. package/dist/chunk-3O42FYT3.js +3333 -0
  287. package/dist/chunk-3O42FYT3.js.map +1 -0
  288. package/dist/chunk-3TUYY4HK.js +20 -0
  289. package/dist/chunk-3TUYY4HK.js.map +1 -0
  290. package/dist/chunk-3XSLBJYI.js +554 -0
  291. package/dist/chunk-3XSLBJYI.js.map +1 -0
  292. package/dist/chunk-4DGCCXD6.js +710 -0
  293. package/dist/chunk-4DGCCXD6.js.map +1 -0
  294. package/dist/chunk-4NAFQF6V.js +11 -0
  295. package/dist/chunk-4NAFQF6V.js.map +1 -0
  296. package/dist/chunk-4PONO4US.js +799 -0
  297. package/dist/chunk-4PONO4US.js.map +1 -0
  298. package/dist/chunk-4TMOIK5M.js +21 -0
  299. package/dist/chunk-4TMOIK5M.js.map +1 -0
  300. package/dist/chunk-5IH3VC5I.js +102 -0
  301. package/dist/chunk-5IH3VC5I.js.map +1 -0
  302. package/dist/chunk-5NTKDOP6.js +89 -0
  303. package/dist/chunk-5NTKDOP6.js.map +1 -0
  304. package/dist/chunk-5O2SFRGU.js +18 -0
  305. package/dist/chunk-5O2SFRGU.js.map +1 -0
  306. package/dist/chunk-632JLECF.js +55 -0
  307. package/dist/chunk-632JLECF.js.map +1 -0
  308. package/dist/chunk-676HDB7K.js +95 -0
  309. package/dist/chunk-676HDB7K.js.map +1 -0
  310. package/dist/chunk-6ESTNTSH.js +223 -0
  311. package/dist/chunk-6ESTNTSH.js.map +1 -0
  312. package/dist/chunk-6GKJR52N.js +15 -0
  313. package/dist/chunk-6GKJR52N.js.map +1 -0
  314. package/dist/chunk-6L4ZIKYU.js +23 -0
  315. package/dist/chunk-6L4ZIKYU.js.map +1 -0
  316. package/dist/chunk-76YX5R4L.js +11 -0
  317. package/dist/chunk-76YX5R4L.js.map +1 -0
  318. package/dist/chunk-7J3GFMN3.js +32 -0
  319. package/dist/chunk-7J3GFMN3.js.map +1 -0
  320. package/dist/chunk-7LSARC2G.js +102 -0
  321. package/dist/chunk-7LSARC2G.js.map +1 -0
  322. package/dist/chunk-7W7UUUIE.js +609 -0
  323. package/dist/chunk-7W7UUUIE.js.map +1 -0
  324. package/dist/chunk-7ZLW7H37.js +21 -0
  325. package/dist/chunk-7ZLW7H37.js.map +1 -0
  326. package/dist/chunk-AAZHI22G.js +18 -0
  327. package/dist/chunk-AAZHI22G.js.map +1 -0
  328. package/dist/chunk-ACNE455I.js +76 -0
  329. package/dist/chunk-ACNE455I.js.map +1 -0
  330. package/dist/chunk-BKLSSLPZ.js +27 -0
  331. package/dist/chunk-BKLSSLPZ.js.map +1 -0
  332. package/dist/chunk-BZ7UPUTY.js +417 -0
  333. package/dist/chunk-BZ7UPUTY.js.map +1 -0
  334. package/dist/chunk-CGFAICUE.js +28 -0
  335. package/dist/chunk-CGFAICUE.js.map +1 -0
  336. package/dist/chunk-CMCEWQ3C.js +19 -0
  337. package/dist/chunk-CMCEWQ3C.js.map +1 -0
  338. package/dist/chunk-CP4UV436.js +41 -0
  339. package/dist/chunk-CP4UV436.js.map +1 -0
  340. package/dist/chunk-D2CQPNQG.js +27508 -0
  341. package/dist/chunk-D2CQPNQG.js.map +1 -0
  342. package/dist/chunk-DIQRZP7Z.js +51 -0
  343. package/dist/chunk-DIQRZP7Z.js.map +1 -0
  344. package/dist/chunk-EBFFDDAS.js +13 -0
  345. package/dist/chunk-EBFFDDAS.js.map +1 -0
  346. package/dist/chunk-EGVS23DR.js +85 -0
  347. package/dist/chunk-EGVS23DR.js.map +1 -0
  348. package/dist/chunk-EKBQ7K4N.js +15 -0
  349. package/dist/chunk-EKBQ7K4N.js.map +1 -0
  350. package/dist/chunk-EKQCZRAN.js +24 -0
  351. package/dist/chunk-EKQCZRAN.js.map +1 -0
  352. package/dist/chunk-EYKZIZ5J.js +48 -0
  353. package/dist/chunk-EYKZIZ5J.js.map +1 -0
  354. package/dist/{chunk-NEOPTPDF.js → chunk-F4PTFXZH.js} +11554 -22046
  355. package/dist/chunk-F4PTFXZH.js.map +1 -0
  356. package/dist/chunk-FFYZXA75.js +58 -0
  357. package/dist/chunk-FFYZXA75.js.map +1 -0
  358. package/dist/chunk-GFGDHPZ2.js +22 -0
  359. package/dist/chunk-GFGDHPZ2.js.map +1 -0
  360. package/dist/chunk-GR3CDFID.js +18 -0
  361. package/dist/chunk-GR3CDFID.js.map +1 -0
  362. package/dist/chunk-GR4SIU32.js +104 -0
  363. package/dist/chunk-GR4SIU32.js.map +1 -0
  364. package/dist/chunk-H5E46IIS.js +18 -0
  365. package/dist/chunk-H5E46IIS.js.map +1 -0
  366. package/dist/chunk-HFHVAMZL.js +22 -0
  367. package/dist/chunk-HFHVAMZL.js.map +1 -0
  368. package/dist/chunk-HRRI4BLF.js +4456 -0
  369. package/dist/chunk-HRRI4BLF.js.map +1 -0
  370. package/dist/chunk-HT6L7A5M.js +12 -0
  371. package/dist/chunk-HT6L7A5M.js.map +1 -0
  372. package/dist/chunk-I2FPFISM.js +301 -0
  373. package/dist/chunk-I2FPFISM.js.map +1 -0
  374. package/dist/chunk-IADAQJDH.js +28 -0
  375. package/dist/chunk-IADAQJDH.js.map +1 -0
  376. package/dist/chunk-IBOBCMQQ.js +99 -0
  377. package/dist/chunk-IBOBCMQQ.js.map +1 -0
  378. package/dist/chunk-IFWKRCFF.js +56 -0
  379. package/dist/chunk-IFWKRCFF.js.map +1 -0
  380. package/dist/chunk-IH4T7V4C.js +40 -0
  381. package/dist/chunk-IH4T7V4C.js.map +1 -0
  382. package/dist/chunk-IIIZZ4E4.js +1679 -0
  383. package/dist/chunk-IIIZZ4E4.js.map +1 -0
  384. package/dist/chunk-ILSFU3WD.js +83 -0
  385. package/dist/chunk-ILSFU3WD.js.map +1 -0
  386. package/dist/chunk-IX3VBV3L.js +43 -0
  387. package/dist/chunk-IX3VBV3L.js.map +1 -0
  388. package/dist/chunk-JBBFSORW.js +846 -0
  389. package/dist/chunk-JBBFSORW.js.map +1 -0
  390. package/dist/chunk-JIDTNKKL.js +1183 -0
  391. package/dist/chunk-JIDTNKKL.js.map +1 -0
  392. package/dist/chunk-JSPE6NGZ.js +22 -0
  393. package/dist/chunk-JSPE6NGZ.js.map +1 -0
  394. package/dist/chunk-JVROGQ7Q.js +150 -0
  395. package/dist/chunk-JVROGQ7Q.js.map +1 -0
  396. package/dist/chunk-K4WUMWNJ.js +32 -0
  397. package/dist/chunk-K4WUMWNJ.js.map +1 -0
  398. package/dist/chunk-K74XQ4Q5.js +11 -0
  399. package/dist/chunk-K74XQ4Q5.js.map +1 -0
  400. package/dist/chunk-KLLMJ4U3.js +22 -0
  401. package/dist/chunk-KLLMJ4U3.js.map +1 -0
  402. package/dist/chunk-LTKVCJ2E.js +27 -0
  403. package/dist/chunk-LTKVCJ2E.js.map +1 -0
  404. package/dist/chunk-M36DJTFZ.js +34 -0
  405. package/dist/chunk-M36DJTFZ.js.map +1 -0
  406. package/dist/chunk-MHM52LCJ.js +154 -0
  407. package/dist/chunk-MHM52LCJ.js.map +1 -0
  408. package/dist/chunk-MQCDMHRZ.js +59 -0
  409. package/dist/chunk-MQCDMHRZ.js.map +1 -0
  410. package/dist/chunk-N3ORMGAI.js +348 -0
  411. package/dist/chunk-N3ORMGAI.js.map +1 -0
  412. package/dist/chunk-NCSGIRRQ.js +28 -0
  413. package/dist/chunk-NCSGIRRQ.js.map +1 -0
  414. package/dist/chunk-NIXT2SBH.js +1423 -0
  415. package/dist/chunk-NIXT2SBH.js.map +1 -0
  416. package/dist/chunk-NJAII6CO.js +148 -0
  417. package/dist/chunk-NJAII6CO.js.map +1 -0
  418. package/dist/chunk-NKE4TL43.js +92 -0
  419. package/dist/chunk-NKE4TL43.js.map +1 -0
  420. package/dist/chunk-NZ7AXA7B.js +1 -0
  421. package/dist/chunk-NZ7AXA7B.js.map +1 -0
  422. package/dist/chunk-OCAYEGI2.js +26 -0
  423. package/dist/chunk-OCAYEGI2.js.map +1 -0
  424. package/dist/chunk-OMLI45ER.js +90 -0
  425. package/dist/chunk-OMLI45ER.js.map +1 -0
  426. package/dist/chunk-P7OBLJAG.js +88 -0
  427. package/dist/chunk-P7OBLJAG.js.map +1 -0
  428. package/dist/chunk-PAY3CBWL.js +2321 -0
  429. package/dist/chunk-PAY3CBWL.js.map +1 -0
  430. package/dist/chunk-PFF6VY35.js +257 -0
  431. package/dist/chunk-PFF6VY35.js.map +1 -0
  432. package/dist/chunk-PYNDJDWZ.js +1758 -0
  433. package/dist/chunk-PYNDJDWZ.js.map +1 -0
  434. package/dist/chunk-QDQ6UMMN.js +53 -0
  435. package/dist/chunk-QDQ6UMMN.js.map +1 -0
  436. package/dist/chunk-QGT3G2XG.js +24 -0
  437. package/dist/chunk-QGT3G2XG.js.map +1 -0
  438. package/dist/chunk-QZYCJ2GZ.js +55 -0
  439. package/dist/chunk-QZYCJ2GZ.js.map +1 -0
  440. package/dist/chunk-REZ7RFSA.js +124 -0
  441. package/dist/chunk-REZ7RFSA.js.map +1 -0
  442. package/dist/chunk-RRYBAE6E.js +2449 -0
  443. package/dist/chunk-RRYBAE6E.js.map +1 -0
  444. package/dist/chunk-RWUZOB62.js +34 -0
  445. package/dist/chunk-RWUZOB62.js.map +1 -0
  446. package/dist/chunk-SB5UCPZH.js +116 -0
  447. package/dist/chunk-SB5UCPZH.js.map +1 -0
  448. package/dist/chunk-SEJJ7CRI.js +99 -0
  449. package/dist/chunk-SEJJ7CRI.js.map +1 -0
  450. package/dist/chunk-SHBFGRPV.js +45 -0
  451. package/dist/chunk-SHBFGRPV.js.map +1 -0
  452. package/dist/chunk-SOFJ4GC5.js +45 -0
  453. package/dist/chunk-SOFJ4GC5.js.map +1 -0
  454. package/dist/chunk-STH2HPZK.js +44 -0
  455. package/dist/chunk-STH2HPZK.js.map +1 -0
  456. package/dist/chunk-TK3JNKME.js +28 -0
  457. package/dist/chunk-TK3JNKME.js.map +1 -0
  458. package/dist/chunk-TMONHFE3.js +46 -0
  459. package/dist/chunk-TMONHFE3.js.map +1 -0
  460. package/dist/chunk-TR4KO3AG.js +44 -0
  461. package/dist/chunk-TR4KO3AG.js.map +1 -0
  462. package/dist/chunk-TS2LNBF2.js +68 -0
  463. package/dist/chunk-TS2LNBF2.js.map +1 -0
  464. package/dist/chunk-UZUMBFPP.js +26 -0
  465. package/dist/chunk-UZUMBFPP.js.map +1 -0
  466. package/dist/chunk-VRZ5LMOW.js +176 -0
  467. package/dist/chunk-VRZ5LMOW.js.map +1 -0
  468. package/dist/chunk-WLGGY6Z6.js +75 -0
  469. package/dist/chunk-WLGGY6Z6.js.map +1 -0
  470. package/dist/chunk-WO7V6ZNC.js +11 -0
  471. package/dist/chunk-WO7V6ZNC.js.map +1 -0
  472. package/dist/chunk-WXSENSRP.js +64 -0
  473. package/dist/chunk-WXSENSRP.js.map +1 -0
  474. package/dist/chunk-XEKBZ2SA.js +19 -0
  475. package/dist/chunk-XEKBZ2SA.js.map +1 -0
  476. package/dist/chunk-XPBKU3JX.js +61 -0
  477. package/dist/chunk-XPBKU3JX.js.map +1 -0
  478. package/dist/chunk-XRYXBXWH.js +24 -0
  479. package/dist/chunk-XRYXBXWH.js.map +1 -0
  480. package/dist/chunk-XVA7QRVH.js +22 -0
  481. package/dist/chunk-XVA7QRVH.js.map +1 -0
  482. package/dist/chunk-YCTHHBSS.js +37 -0
  483. package/dist/chunk-YCTHHBSS.js.map +1 -0
  484. package/dist/chunk-YHPWD5NE.js +70 -0
  485. package/dist/chunk-YHPWD5NE.js.map +1 -0
  486. package/dist/chunk-YLNEKJQ5.js +126 -0
  487. package/dist/chunk-YLNEKJQ5.js.map +1 -0
  488. package/dist/chunk-YN4CEKCF.js +73 -0
  489. package/dist/chunk-YN4CEKCF.js.map +1 -0
  490. package/dist/chunk-YYNMESIF.js +17 -0
  491. package/dist/chunk-YYNMESIF.js.map +1 -0
  492. package/dist/chunk-Z6PRMCV6.js +1 -0
  493. package/dist/chunk-Z6PRMCV6.js.map +1 -0
  494. package/dist/chunk-ZDNW6VQG.js +11 -0
  495. package/dist/chunk-ZDNW6VQG.js.map +1 -0
  496. package/dist/chunk-ZP4D73DO.js +36 -0
  497. package/dist/chunk-ZP4D73DO.js.map +1 -0
  498. package/dist/chunk-ZUATADUV.js +26 -0
  499. package/dist/chunk-ZUATADUV.js.map +1 -0
  500. package/dist/{connections-1NtNQrsY.d.ts → connections-CEcurtWI.d.ts} +74 -9
  501. package/dist/core/index.cjs +14041 -6973
  502. package/dist/core/index.cjs.map +1 -1
  503. package/dist/core/index.d.ts +422 -138
  504. package/dist/core/index.js +425 -183
  505. package/dist/core/index.js.map +1 -1
  506. package/dist/flow-vnext/index.cjs +2842 -0
  507. package/dist/flow-vnext/index.cjs.map +1 -0
  508. package/dist/flow-vnext/index.d.ts +3 -0
  509. package/dist/flow-vnext/index.js +119 -0
  510. package/dist/flow-vnext/index.js.map +1 -0
  511. package/dist/{graphql-client-Bn0tN049.d.ts → graphql-client-B2tREsx6.d.ts} +3 -1
  512. package/dist/index-b9xxXGFs.d.ts +1230 -0
  513. package/dist/index.d.ts +5 -3
  514. package/dist/index.js +202 -37
  515. package/dist/index.js.map +1 -1
  516. package/dist/legacy-BpgIqaQ5.d.ts +14 -0
  517. package/dist/mantine/index.d.ts +7 -4
  518. package/dist/mantine/index.js +84 -30
  519. package/dist/mantine/index.js.map +1 -1
  520. package/dist/{runtime-BFwvCQDF.d.ts → types-Dqk5MTfW.d.ts} +6096 -5386
  521. package/package.json +12 -2
  522. package/dist/chunk-A4CWC4AG.js +0 -374
  523. package/dist/chunk-A4CWC4AG.js.map +0 -1
  524. package/dist/chunk-NEOPTPDF.js.map +0 -1
  525. package/dist/chunk-VRCRDKN5.js +0 -59694
  526. package/dist/chunk-VRCRDKN5.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/lib/flowCompiler/draftRepository.ts","../src/core/lib/flowCompiler/participants.ts","../src/core/lib/flowCompiler/publication.ts","../src/core/lib/flowCompiler/draftProposal.ts"],"sourcesContent":["import * as Y from 'yjs';\nimport type { Doc as YDoc } from 'yjs';\nimport { canonicalizeJson, type CanonicalJsonValue } from '../flowEngine/vnext/canonical';\nimport {\n addFlowNode,\n auditFlowProjections,\n readFlowDocument,\n removeFlowNode,\n reorderFlowNodes,\n repairFlowProjections,\n setBlockProps,\n type FlowDocumentRead,\n type FlowProjectionDrift,\n} from './authoring';\n\nexport type FlowDraftCommandOperation =\n | {\n kind: 'add-step';\n nodeId: string;\n blockId: string;\n actionType: string;\n afterNodeId?: string;\n title?: string;\n props?: Record<string, string>;\n }\n | { kind: 'update-step-props'; blockId: string; props: Record<string, string> }\n | { kind: 'remove-step'; nodeId: string }\n | { kind: 'reorder-steps'; order: string[] }\n | { kind: 'set-meta'; values: Record<string, string | number | boolean | null> };\n\nexport interface FlowDraftCommand {\n kind: 'qi.flow.draft-command';\n schemaVersion: '1.0';\n commandId: string;\n expectedRevision: number;\n actorDid: string;\n operation: FlowDraftCommandOperation;\n}\n\nexport interface FlowDraftCommandResult {\n outcome: 'applied' | 'duplicate';\n commandId: string;\n revision: number;\n nodeId?: string;\n blockId?: string;\n}\n\nexport interface FlowDraftSnapshot {\n revision: number;\n document: FlowDocumentRead | null;\n}\n\nexport interface FlowDefinitionDraftRepository {\n read(): FlowDraftSnapshot;\n apply(command: FlowDraftCommand): FlowDraftCommandResult;\n applyBatch(commands: readonly FlowDraftCommand[]): FlowDraftCommandResult[];\n auditProjections(): FlowProjectionDrift[];\n repairProjections(): FlowProjectionDrift[];\n}\n\ninterface StoredDraftCommand {\n fingerprint: string;\n result: FlowDraftCommandResult;\n}\n\nexport class FlowDraftCommandError extends Error {\n constructor(\n readonly code: 'REVISION_CONFLICT' | 'IDEMPOTENCY_CONFLICT' | 'INVALID_COMMAND' | 'REFERENCED_STEP',\n message: string,\n readonly details?: Record<string, unknown>\n ) {\n super(message);\n this.name = 'FlowDraftCommandError';\n }\n}\n\nconst COMMANDS_MAP = 'qi.flow.draftCommands';\nconst DRAFT_CONTROL_MAP = 'qi.flow.draftControl';\nconst LEGACY_COMMAND_REVISION_KEY = 'legacyCommandRevision';\nconst RESERVED_META_KEYS = new Set(['draftRevision', 'draftSchemaVersion', 'draftUpdatedAt']);\n\nfunction currentRevision(yDoc: YDoc): number {\n const meta = yDoc.getMap('qi.flow.meta');\n if (meta.get('draftSchemaVersion') === 1) return Number(meta.get('draftRevision') ?? 0);\n return Number(yDoc.getMap(DRAFT_CONTROL_MAP).get(LEGACY_COMMAND_REVISION_KEY) ?? 0);\n}\n\nfunction fingerprint(command: FlowDraftCommand): string {\n return canonicalizeJson(command as unknown as CanonicalJsonValue);\n}\n\nfunction advanceCommandRevision(yDoc: YDoc): number {\n const meta = yDoc.getMap('qi.flow.meta');\n const next = currentRevision(yDoc) + 1;\n if (meta.get('draftSchemaVersion') !== 1) {\n yDoc.getMap(DRAFT_CONTROL_MAP).set(LEGACY_COMMAND_REVISION_KEY, next);\n return next;\n }\n meta.set('draftRevision', next);\n meta.set('draftUpdatedAt', new Date().toISOString());\n return next;\n}\n\nfunction setMeta(yDoc: YDoc, values: Record<string, string | number | boolean | null>): void {\n const meta = yDoc.getMap('qi.flow.meta');\n for (const [key, value] of Object.entries(values)) {\n if (value === null) meta.delete(key);\n else meta.set(key, value);\n }\n advanceCommandRevision(yDoc);\n}\n\n/** One idempotent mutation waist for Portal, Oracles, and headless authoring. */\nexport function createYjsFlowDefinitionDraftRepository(yDoc: YDoc): FlowDefinitionDraftRepository {\n const repository: FlowDefinitionDraftRepository = {\n read: () => ({ revision: currentRevision(yDoc), document: readFlowDocument(yDoc) }),\n apply: (command) => {\n if (command.kind !== 'qi.flow.draft-command' || command.schemaVersion !== '1.0' || !command.commandId || !command.actorDid) {\n throw new FlowDraftCommandError('INVALID_COMMAND', 'A versioned command id and actor are required');\n }\n if (command.operation.kind === 'set-meta') {\n const reservedKeys = Object.keys(command.operation.values).filter((key) => RESERVED_META_KEYS.has(key));\n if (reservedKeys.length > 0) {\n throw new FlowDraftCommandError('INVALID_COMMAND', `Flow metadata keys are reserved for draft bookkeeping: ${reservedKeys.sort().join(', ')}`, {\n reservedKeys: reservedKeys.sort(),\n });\n }\n }\n const commands = yDoc.getMap<StoredDraftCommand>(COMMANDS_MAP);\n const commandFingerprint = fingerprint(command);\n const existing = commands.get(command.commandId);\n if (existing) {\n if (existing.fingerprint !== commandFingerprint) {\n throw new FlowDraftCommandError('IDEMPOTENCY_CONFLICT', `Draft command ${command.commandId} was reused with different content`);\n }\n return { ...existing.result, outcome: 'duplicate' };\n }\n\n const beforeRevision = currentRevision(yDoc);\n if (command.expectedRevision !== beforeRevision) {\n throw new FlowDraftCommandError('REVISION_CONFLICT', `Expected draft revision ${command.expectedRevision}, found ${beforeRevision}`);\n }\n\n let nodeId: string | undefined;\n let blockId: string | undefined;\n yDoc.transact(() => {\n const operation = command.operation;\n if (operation.kind === 'add-step') {\n const added = addFlowNode(yDoc, {\n type: operation.actionType,\n nodeId: operation.nodeId,\n blockId: operation.blockId,\n afterNodeId: operation.afterNodeId,\n title: operation.title,\n props: operation.props,\n });\n if (!added) throw new FlowDraftCommandError('INVALID_COMMAND', 'Action type or requested Flow step identity is unavailable');\n nodeId = added.nodeId;\n blockId = added.blockId;\n } else if (operation.kind === 'update-step-props') {\n if (!setBlockProps(yDoc, operation.blockId, operation.props)) {\n throw new FlowDraftCommandError('INVALID_COMMAND', `Unknown Flow block: ${operation.blockId}`);\n }\n blockId = operation.blockId;\n } else if (operation.kind === 'remove-step') {\n const removed = removeFlowNode(yDoc, operation.nodeId);\n if (!removed.ok) {\n throw new FlowDraftCommandError('REFERENCED_STEP', `Flow step ${operation.nodeId} is still referenced`, { referencedBy: removed.referencedBy });\n }\n nodeId = operation.nodeId;\n } else if (operation.kind === 'reorder-steps') {\n if (!reorderFlowNodes(yDoc, operation.order)) throw new FlowDraftCommandError('INVALID_COMMAND', 'Step order must be a complete permutation');\n } else {\n setMeta(yDoc, operation.values);\n }\n\n const afterOperationRevision = currentRevision(yDoc);\n if (afterOperationRevision === beforeRevision) advanceCommandRevision(yDoc);\n const result: FlowDraftCommandResult = {\n outcome: 'applied',\n commandId: command.commandId,\n revision: currentRevision(yDoc),\n ...(nodeId ? { nodeId } : {}),\n ...(blockId ? { blockId } : {}),\n };\n commands.set(command.commandId, { fingerprint: commandFingerprint, result });\n });\n\n const stored = commands.get(command.commandId);\n if (!stored) throw new FlowDraftCommandError('INVALID_COMMAND', 'Draft command did not commit');\n return { ...stored.result };\n },\n applyBatch: (commands) => {\n if (commands.length === 0) return [];\n const beforeVector = Y.encodeStateVector(yDoc);\n const stagedDoc = new Y.Doc();\n try {\n Y.applyUpdate(stagedDoc, Y.encodeStateAsUpdate(yDoc));\n const stagedRepository = createYjsFlowDefinitionDraftRepository(stagedDoc);\n const results = commands.map((command) => stagedRepository.apply(command));\n const update = Y.encodeStateAsUpdate(stagedDoc, beforeVector);\n yDoc.transact(() => Y.applyUpdate(yDoc, update), 'flow-draft-command-batch');\n return results;\n } finally {\n stagedDoc.destroy();\n }\n },\n auditProjections: () => auditFlowProjections(yDoc),\n repairProjections: () => repairFlowProjections(yDoc),\n };\n return repository;\n}\n","import * as Y from 'yjs';\nimport type { Doc as YDoc, Map as YMap } from 'yjs';\nimport { isYMapLike } from '../yjsTypes';\n\n/**\n * Top-level Y.Doc map holding the flow's **human** participant roster, keyed by\n * Matrix user id. Deliberately not called \"agents\": everything under\n * `lib/flowAgent/*` means an AI/oracle actor, and the two must not be conflated.\n *\n * This is template *configuration*, not execution state — the roster records who\n * a flow is meant to be run with, at what Matrix power level, and which of the\n * flow's connections (`connections.ts`) each of them needs access to, so that\n * instantiating a template into a room can invite exactly those users and ask\n * for exactly the right grants. It is therefore NOT cleared by\n * `clearRuntimeForTemplateClone` (`flowEngine/runtime.ts`), which only clears\n * observation/execution maps; a clone must carry the roster forward or the\n * instantiated room comes up empty.\n */\nexport const FLOW_PARTICIPANTS_MAP_KEY = 'qi.flow.participants';\n\nexport type FlowParticipant = {\n /** Matrix user id, e.g. `'@alice:matrix.example.org'`. */\n userId: string;\n /** Matrix power level; integer, `0` when unknown. */\n powerLevel: number;\n displayName?: string;\n /** `mxc://` url. */\n avatarUrl?: string;\n /**\n * Toolkit keys (`FlowConnection.toolkit`) this participant needs access to.\n * Absent when the participant needs none.\n */\n requires?: string[];\n /**\n * Block ids of the steps this participant may carry out. Absent when none\n * were chosen — being on the roster is not the same as being allowed to\n * execute: plenty of actors are only there to watch. A step id that no longer\n * exists in the document is ignored.\n */\n steps?: string[];\n /** Epoch ms. Supplied by the caller — this module never calls `Date.now()`. */\n addedAt?: number;\n};\n\n/**\n * Read the participant roster.\n *\n * Normalizes defensively rather than trusting the map: this is read against a\n * live, replicated doc, so an entry can be observed mid-sync, written by an older\n * client, or malformed outright. Anything that is not a `Y.Map` carrying a\n * non-empty `userId` is skipped, and a read never throws.\n *\n * Order is stable across peers — `addedAt` ascending with unstamped entries last,\n * tie-broken by `userId` — so a rendered roster does not reshuffle on every sync.\n */\nexport function readFlowParticipants(yDoc: YDoc): FlowParticipant[] {\n const participants: FlowParticipant[] = [];\n getParticipantsMap(yDoc).forEach((value) => {\n const participant = toParticipant(value);\n if (participant) participants.push(participant);\n });\n\n return participants.sort((a, b) => {\n const aAt = a.addedAt ?? Number.POSITIVE_INFINITY;\n const bAt = b.addedAt ?? Number.POSITIVE_INFINITY;\n if (aAt !== bAt) return aAt < bAt ? -1 : 1;\n return compareUserIds(a.userId, b.userId);\n });\n}\n\n/**\n * Add a participant, or merge into the existing entry for the same `userId`.\n *\n * `addedAt` is write-once: an existing stamp is preserved so a later edit\n * (a power-level bump, a display-name refresh) cannot reorder the roster.\n * Optional string fields are merged — omit one to leave it as it is, pass `''`\n * to clear it; `requires` follows the same rule with `[]` as the clearing value.\n */\nexport function upsertFlowParticipant(yDoc: YDoc, participant: FlowParticipant): void {\n const userId = participant.userId;\n if (typeof userId !== 'string' || userId.length === 0) return;\n\n yDoc.transact(() => {\n const entry = ensureEntry(getParticipantsMap(yDoc), userId);\n entry.set('userId', userId);\n entry.set('powerLevel', toPowerLevel(participant.powerLevel));\n mergeOptionalString(entry, 'displayName', participant.displayName);\n mergeOptionalString(entry, 'avatarUrl', participant.avatarUrl);\n mergeRequirements(entry, participant.requires);\n mergeSteps(entry, participant.steps);\n\n const addedAt = toTimestamp(entry.get('addedAt')) ?? toTimestamp(participant.addedAt);\n if (addedAt !== undefined) entry.set('addedAt', addedAt);\n });\n}\n\n/** Remove a participant. No-op when the roster has no entry for `userId`. */\nexport function removeFlowParticipant(yDoc: YDoc, userId: string): void {\n yDoc.transact(() => {\n const map = getParticipantsMap(yDoc);\n if (map.has(userId)) map.delete(userId);\n });\n}\n\n/**\n * Set an existing participant's power level. No-op when the participant is not on\n * the roster — a power level alone carries no identity, so creating an entry from\n * one would invent a participant nobody added.\n */\nexport function setFlowParticipantPowerLevel(yDoc: YDoc, userId: string, powerLevel: number): void {\n yDoc.transact(() => {\n const entry = getParticipantsMap(yDoc).get(userId);\n if (isYMapLike<unknown>(entry)) entry.set('powerLevel', toPowerLevel(powerLevel));\n });\n}\n\n/**\n * Replace the connections an existing participant needs access to. Pass `[]` to\n * clear them. No-op when the participant is not on the roster, for the same\n * reason as {@link setFlowParticipantPowerLevel}.\n */\nexport function setFlowParticipantRequirements(yDoc: YDoc, userId: string, requires: string[]): void {\n yDoc.transact(() => {\n const entry = getParticipantsMap(yDoc).get(userId);\n if (isYMapLike<unknown>(entry)) mergeRequirements(entry, requires ?? []);\n });\n}\n\n/**\n * Replace the steps an existing participant may carry out. Pass `[]` to take\n * every step away and leave them watching. No-op when the participant is not on\n * the roster, for the same reason as {@link setFlowParticipantPowerLevel}.\n */\nexport function setFlowParticipantSteps(yDoc: YDoc, userId: string, steps: string[]): void {\n yDoc.transact(() => {\n const entry = getParticipantsMap(yDoc).get(userId);\n if (isYMapLike<unknown>(entry)) mergeSteps(entry, steps ?? []);\n });\n}\n\n// ─── Internal helpers ──────────────────────────────────────────────────────────\n\nfunction getParticipantsMap(yDoc: YDoc): YMap<unknown> {\n return yDoc.getMap<unknown>(FLOW_PARTICIPANTS_MAP_KEY);\n}\n\n/** The entry for `userId`, replacing any malformed (non-`Y.Map`) value in place. */\nfunction ensureEntry(map: YMap<unknown>, userId: string): YMap<unknown> {\n const existing = map.get(userId);\n if (isYMapLike<unknown>(existing)) return existing;\n const created = new Y.Map<unknown>();\n map.set(userId, created);\n return created;\n}\n\nfunction toParticipant(value: unknown): FlowParticipant | undefined {\n if (!isYMapLike<unknown>(value)) return undefined;\n\n const userId = value.get('userId');\n if (typeof userId !== 'string' || userId.length === 0) return undefined;\n\n const participant: FlowParticipant = { userId, powerLevel: toPowerLevel(value.get('powerLevel')) };\n\n const displayName = toNonEmptyString(value.get('displayName'));\n if (displayName !== undefined) participant.displayName = displayName;\n\n const avatarUrl = toNonEmptyString(value.get('avatarUrl'));\n if (avatarUrl !== undefined) participant.avatarUrl = avatarUrl;\n\n const requires = toRequirements(value.get('requires'));\n if (requires.length > 0) participant.requires = requires;\n\n const steps = toRequirements(value.get('steps'));\n if (steps.length > 0) participant.steps = steps;\n\n const addedAt = toTimestamp(value.get('addedAt'));\n if (addedAt !== undefined) participant.addedAt = addedAt;\n\n return participant;\n}\n\n/** Absent, non-numeric, or NaN power levels read as `0` — Matrix's default. */\nfunction toPowerLevel(value: unknown): number {\n const numeric = typeof value === 'string' ? Number(value) : value;\n return typeof numeric === 'number' && Number.isFinite(numeric) ? Math.trunc(numeric) : 0;\n}\n\nfunction toTimestamp(value: unknown): number | undefined {\n const numeric = typeof value === 'string' ? Number(value) : value;\n return typeof numeric === 'number' && Number.isFinite(numeric) ? Math.trunc(numeric) : undefined;\n}\n\nfunction toNonEmptyString(value: unknown): string | undefined {\n return typeof value === 'string' && value.length > 0 ? value : undefined;\n}\n\n/** Non-empty strings only, de-duplicated, in the order they were written. */\nfunction toRequirements(value: unknown): string[] {\n if (!Array.isArray(value)) return [];\n const requires: string[] = [];\n for (const entry of value) {\n if (typeof entry !== 'string' || entry.length === 0) continue;\n if (!requires.includes(entry)) requires.push(entry);\n }\n return requires;\n}\n\nfunction mergeOptionalString(entry: YMap<unknown>, key: string, value: string | undefined): void {\n if (value === undefined) return;\n if (value.length === 0) entry.delete(key);\n else entry.set(key, value);\n}\n\n/** Omit to leave the requirements as they are, pass `[]` to clear them. */\nfunction mergeRequirements(entry: YMap<unknown>, value: string[] | undefined): void {\n if (value === undefined) return;\n const requires = toRequirements(value);\n if (requires.length === 0) entry.delete('requires');\n else entry.set('requires', requires);\n}\n\n/** Omit to leave the steps as they are, pass `[]` to clear them. */\nfunction mergeSteps(entry: YMap<unknown>, value: string[] | undefined): void {\n if (value === undefined) return;\n const steps = toRequirements(value);\n if (steps.length === 0) entry.delete('steps');\n else entry.set('steps', steps);\n}\n\nfunction compareUserIds(a: string, b: string): number {\n if (a === b) return 0;\n return a < b ? -1 : 1;\n}\n","import type { Doc as YDoc } from 'yjs';\nimport { canonicalizeJson, deepFreezeJson, type CanonicalJsonValue } from '../flowEngine/vnext/canonical';\nimport {\n signFlowDefinitionRevision,\n type ActionContractRef,\n type DID,\n type FlowDefinitionRef,\n type FlowDefinitionRevisionRepository,\n type FlowDefinitionRevisionSigner,\n type FlowDefinitionRevisionV1,\n type FlowId,\n type FlowJsonObject,\n type FlowRevisionId,\n type FlowStepDefinitionV1,\n type FlowTriggerV1,\n type Sha256Digest,\n} from '../flowEngine/vnext/contracts';\nimport { readFlowDocument } from './authoring';\nimport { readFlowConnections, type FlowConnection } from './connections';\nimport { readFlowParticipants, type FlowParticipant } from './participants';\n\nexport interface PublishFlowDefinitionParams {\n yDoc: YDoc;\n flowId: FlowId;\n revision: FlowRevisionId;\n publishedAt: string;\n publishedBy: DID;\n signer: FlowDefinitionRevisionSigner;\n repository: FlowDefinitionRevisionRepository;\n actionManifestDigest: Sha256Digest;\n actionContracts: Readonly<Record<string, ActionContractRef>>;\n expectedParent?: FlowDefinitionRef;\n source?: { operation: 'republish-legacy' | 'instantiate-template' | 'fork'; ref: string };\n}\n\nexport interface PublishFlowDefinitionResult {\n outcome: 'published' | 'exists';\n ref: FlowDefinitionRef;\n revision: FlowDefinitionRevisionV1;\n}\n\nexport class FlowDefinitionPublicationError extends Error {\n constructor(\n readonly code: 'NOT_VNEXT_DRAFT' | 'EMPTY_FLOW' | 'MISSING_ACTION_CONTRACT' | 'INVALID_CONFIGURATION' | 'INVALID_TRIGGER' | 'PARENT_CONFLICT',\n message: string\n ) {\n super(message);\n this.name = 'FlowDefinitionPublicationError';\n }\n}\n\nfunction parseObject(value: string | undefined, field: string): FlowJsonObject {\n if (!value) return {};\n try {\n const parsed = JSON.parse(value) as unknown;\n if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) return parsed as FlowJsonObject;\n } catch (error) {\n throw new FlowDefinitionPublicationError('INVALID_CONFIGURATION', `Flow step ${field} is not valid JSON: ${error instanceof Error ? error.message : String(error)}`);\n }\n throw new FlowDefinitionPublicationError('INVALID_CONFIGURATION', `Flow step ${field} must be a JSON object`);\n}\n\nfunction parseConditions(value: string | undefined): FlowJsonObject[] {\n if (!value) return [];\n const parsed = parseObject(value, 'conditions');\n if (!Array.isArray(parsed.conditions)) throw new FlowDefinitionPublicationError('INVALID_CONFIGURATION', 'Flow step conditions must contain an array');\n if (parsed.conditions.some((condition) => !condition || typeof condition !== 'object' || Array.isArray(condition))) {\n throw new FlowDefinitionPublicationError('INVALID_CONFIGURATION', 'Every Flow step condition must be a JSON object');\n }\n return parsed.conditions as FlowJsonObject[];\n}\n\nfunction participantRequirement(participant: FlowParticipant): FlowJsonObject {\n return {\n userId: participant.userId,\n powerLevel: participant.powerLevel,\n ...(participant.displayName ? { displayName: participant.displayName } : {}),\n ...(participant.avatarUrl ? { avatarUrl: participant.avatarUrl } : {}),\n ...(participant.requires ? { requires: [...participant.requires] } : {}),\n ...(participant.addedAt !== undefined ? { addedAt: participant.addedAt } : {}),\n };\n}\n\nfunction connectionRequirement(connection: FlowConnection): FlowJsonObject {\n return {\n toolkit: connection.toolkit,\n ...(connection.label ? { label: connection.label } : {}),\n ...(connection.optional ? { optional: true } : {}),\n ...(connection.agent !== undefined ? { agent: connection.agent } : {}),\n requires: [...connection.requires],\n ...(connection.addedAt !== undefined ? { addedAt: connection.addedAt } : {}),\n };\n}\n\nfunction parseTrigger(value: string | undefined, triggerMode: string | undefined): FlowTriggerV1 {\n let trigger: Record<string, unknown> = {};\n if (value) {\n try {\n const parsed = JSON.parse(value) as unknown;\n if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {\n throw new FlowDefinitionPublicationError('INVALID_TRIGGER', 'Flow trigger must be a JSON object');\n }\n trigger = parsed as Record<string, unknown>;\n } catch (error) {\n if (error instanceof FlowDefinitionPublicationError) throw error;\n throw new FlowDefinitionPublicationError('INVALID_TRIGGER', 'Flow trigger is not valid JSON');\n }\n }\n const type = String(trigger.type ?? triggerMode ?? 'manual');\n if (type === 'manual') return { kind: 'manual' };\n if (type === 'flow.start') return { kind: 'flow.start' };\n if (type === 'topic.request') {\n if (typeof trigger.requestKind !== 'string' || trigger.requestKind.trim().length === 0) {\n throw new FlowDefinitionPublicationError('INVALID_TRIGGER', 'topic.request requires requestKind');\n }\n return { kind: 'topic.request', requestKind: trigger.requestKind };\n }\n if (type === 'block.event') {\n if (typeof trigger.sourceBlockId !== 'string' || typeof trigger.eventName !== 'string') {\n throw new FlowDefinitionPublicationError('INVALID_TRIGGER', 'block.event requires sourceBlockId and eventName');\n }\n return { kind: 'step.event', sourceBlockId: trigger.sourceBlockId, eventName: trigger.eventName };\n }\n if (type === 'block.event.all') {\n if (!Array.isArray(trigger.sources)) throw new FlowDefinitionPublicationError('INVALID_TRIGGER', 'block.event.all requires sources');\n const sources = trigger.sources.map((source) => {\n if (!source || typeof source !== 'object') throw new FlowDefinitionPublicationError('INVALID_TRIGGER', 'Invalid block.event.all source');\n const candidate = source as Record<string, unknown>;\n if (typeof candidate.sourceBlockId !== 'string' || typeof candidate.eventName !== 'string' || typeof candidate.alias !== 'string') {\n throw new FlowDefinitionPublicationError('INVALID_TRIGGER', 'Every block.event.all source requires sourceBlockId, eventName, and alias');\n }\n return {\n sourceBlockId: candidate.sourceBlockId,\n eventName: candidate.eventName,\n alias: candidate.alias,\n ...(candidate.optional === true ? { optional: true } : {}),\n };\n });\n return { kind: 'step.event.all', sources };\n }\n if (type === 'schedule') {\n if (typeof trigger.scheduleRef !== 'string' || trigger.scheduleRef.trim().length === 0) {\n throw new FlowDefinitionPublicationError('INVALID_TRIGGER', 'schedule requires scheduleRef');\n }\n if (trigger.scheduleRevision !== undefined && (!Number.isInteger(trigger.scheduleRevision) || Number(trigger.scheduleRevision) < 1)) {\n throw new FlowDefinitionPublicationError('INVALID_TRIGGER', 'scheduleRevision must be an integer greater than zero');\n }\n return {\n kind: 'schedule',\n scheduleRef: trigger.scheduleRef,\n ...(typeof trigger.scheduleRevision === 'number' ? { scheduleRevision: trigger.scheduleRevision } : {}),\n };\n }\n throw new FlowDefinitionPublicationError('INVALID_TRIGGER', `Unsupported Flow trigger: ${type}`);\n}\n\nfunction actorFromProps(props: Record<string, string>): FlowJsonObject {\n const actor: FlowJsonObject = {};\n if (props.authorisedActors) {\n let actors: unknown;\n try {\n actors = JSON.parse(props.authorisedActors);\n } catch (error) {\n throw new FlowDefinitionPublicationError('INVALID_CONFIGURATION', `Flow step authorisedActors is not valid JSON: ${error instanceof Error ? error.message : String(error)}`);\n }\n if (!Array.isArray(actors) || actors.some((actorDid) => typeof actorDid !== 'string')) {\n throw new FlowDefinitionPublicationError('INVALID_CONFIGURATION', 'Flow step authorisedActors must be an array of DID strings');\n }\n actor.authorisedActors = actors;\n }\n if (props.parentCapability) actor.parentCapability = props.parentCapability;\n return actor;\n}\n\nfunction ttlMsFromProps(props: Record<string, string>): number | undefined {\n const raw = props.ttlMs ?? props.ttl;\n if (!raw) return undefined;\n const numeric = Number(raw);\n if (!Number.isFinite(numeric) || numeric < 0) {\n throw new FlowDefinitionPublicationError('INVALID_CONFIGURATION', 'Flow step ttlMs must be a non-negative number');\n }\n return numeric;\n}\n\nfunction isPositiveDuration(value: string): boolean {\n const match = /^P(?:(\\d+)D)?(?:T(?:(\\d+)H)?(?:(\\d+)M)?)?$/u.exec(value);\n return Boolean(match && match.slice(1).some((part) => Number(part ?? 0) > 0));\n}\n\nfunction ttlConstraintsFromProps(props: Record<string, string>): FlowStepDefinitionV1['ttl'] | undefined {\n const ttl: NonNullable<FlowStepDefinitionV1['ttl']> = {};\n if (props.ttlAbsoluteDueDate) {\n if (!Number.isFinite(Date.parse(props.ttlAbsoluteDueDate))) {\n throw new FlowDefinitionPublicationError('INVALID_CONFIGURATION', 'Flow step ttlAbsoluteDueDate must be a valid ISO 8601 date');\n }\n ttl.absoluteDueDate = props.ttlAbsoluteDueDate;\n }\n for (const [prop, field] of [\n ['ttlFromEnablement', 'fromEnablement'],\n ['ttlFromCommitment', 'fromCommitment'],\n ] as const) {\n const value = props[prop];\n if (!value) continue;\n if (!isPositiveDuration(value)) {\n throw new FlowDefinitionPublicationError('INVALID_CONFIGURATION', `Flow step ${prop} must be a positive ISO 8601 day/hour/minute duration`);\n }\n ttl[field] = value;\n }\n return Object.keys(ttl).length > 0 ? ttl : undefined;\n}\n\nfunction toStep(node: NonNullable<ReturnType<typeof readFlowDocument>>['nodes'][number], action: ActionContractRef): FlowStepDefinitionV1 {\n const ttlMs = ttlMsFromProps(node.props);\n const ttl = ttlConstraintsFromProps(node.props);\n return {\n stepId: node.nodeId,\n blockId: node.blockId,\n title: node.title,\n ...(node.description ? { description: node.description } : {}),\n action,\n resource: node.with,\n configuration: { ...node.props },\n inputs: parseObject(node.props.inputs, 'inputs'),\n trigger: parseTrigger(node.props.trigger, node.props.triggerMode),\n conditions: parseConditions(node.props.conditions),\n actor: actorFromProps(node.props),\n ...(ttlMs !== undefined ? { ttlMs } : {}),\n ...(ttl ? { ttl } : {}),\n };\n}\n\n/** Publish one immutable revision from the canonical typed draft. */\nexport async function publishFlowDefinitionRevision(params: PublishFlowDefinitionParams): Promise<PublishFlowDefinitionResult> {\n const expectedParent = params.expectedParent\n ? deepFreezeJson(JSON.parse(canonicalizeJson(params.expectedParent as unknown as CanonicalJsonValue)) as FlowDefinitionRef)\n : undefined;\n if (params.yDoc.getMap('qi.flow.meta').get('draftSchemaVersion') !== 1) {\n throw new FlowDefinitionPublicationError('NOT_VNEXT_DRAFT', 'Legacy Flow documents must be explicitly republished before vNext publication');\n }\n const document = readFlowDocument(params.yDoc);\n if (!document || document.nodes.length === 0) throw new FlowDefinitionPublicationError('EMPTY_FLOW', 'A Flow definition requires at least one step');\n\n const steps = document.nodes.map((node) => {\n const actionType = node.props.actionType;\n const action = actionType ? params.actionContracts[actionType] : undefined;\n if (!action) throw new FlowDefinitionPublicationError('MISSING_ACTION_CONTRACT', `No pinned Action contract for ${actionType || node.nodeId}`);\n if (action.type !== actionType || action.can !== node.can) {\n throw new FlowDefinitionPublicationError('MISSING_ACTION_CONTRACT', `Pinned Action contract does not match ${actionType} (${node.can})`);\n }\n if (action.manifestDigest !== params.actionManifestDigest) {\n throw new FlowDefinitionPublicationError('MISSING_ACTION_CONTRACT', `Action ${action.type} is not pinned to the publication manifest`);\n }\n return toStep(node, action);\n });\n\n const signed = await signFlowDefinitionRevision(\n {\n kind: 'qi.flow.definition-revision',\n schemaVersion: '1.0',\n ref: { flowId: params.flowId, revision: params.revision },\n ...(expectedParent ? { parent: expectedParent } : {}),\n publishedAt: params.publishedAt,\n publishedBy: params.publishedBy,\n actionManifestDigest: params.actionManifestDigest,\n title: document.meta.title,\n ...(document.meta.goal ? { goal: document.meta.goal } : {}),\n steps,\n participantRequirements: readFlowParticipants(params.yDoc).map(participantRequirement),\n connectionRequirements: readFlowConnections(params.yDoc).map(connectionRequirement),\n ...(params.source ? { source: params.source } : {}),\n },\n params.signer\n );\n const ref: FlowDefinitionRef = { ...signed.ref, digest: signed.integrity.digest.value };\n const outcome = await params.repository.publish(signed, expectedParent);\n if (outcome === 'parent_conflict') throw new FlowDefinitionPublicationError('PARENT_CONFLICT', 'Flow definition head changed before publication');\n return { outcome, ref, revision: signed };\n}\n","import { canonicalizeJson, deepFreezeJson, digestCanonicalJson, type CanonicalJsonValue } from '../flowEngine/vnext/canonical';\nimport type { Sha256Digest } from '../flowEngine/vnext/contracts';\nimport type { FlowDefinitionDraftRepository, FlowDraftCommandOperation, FlowDraftCommandResult } from './draftRepository';\n\nexport interface FlowDraftProposalPayloadV1 {\n kind: 'qi.flow.draft-proposal';\n schemaVersion: '1.0';\n proposalId: string;\n proposedBy: string;\n proposedAt: string;\n baseRevision: number;\n operations: readonly FlowDraftCommandOperation[];\n summary: string;\n}\n\nexport type FlowDraftProposalV1 = FlowDraftProposalPayloadV1 & { proposalDigest: Sha256Digest };\n\nexport interface FlowDraftProposalApprovalV1 {\n kind: 'qi.flow.draft-proposal-approval';\n schemaVersion: '1.0';\n proposalId: string;\n proposalDigest: Sha256Digest;\n approvedBy: string;\n approvedAt: string;\n approvalReference: string;\n}\n\nfunction canonicalSnapshot<T>(value: T): T {\n return deepFreezeJson(JSON.parse(canonicalizeJson(value as unknown as CanonicalJsonValue))) as T;\n}\n\nexport async function createFlowDraftProposal(payload: FlowDraftProposalPayloadV1): Promise<FlowDraftProposalV1> {\n const snapshot = canonicalSnapshot(payload);\n if (!snapshot.proposalId || !snapshot.proposedBy || snapshot.operations.length === 0) throw new Error('Flow draft proposal identity, proposer, and operations are required');\n return deepFreezeJson({ ...snapshot, proposalDigest: (await digestCanonicalJson(snapshot as unknown as CanonicalJsonValue)) as Sha256Digest });\n}\n\n/**\n * Apply a reviewed Oracle proposal only when an external approval binds the\n * exact proposal digest. The Oracle never receives direct Yjs access.\n */\nexport async function applyApprovedFlowDraftProposal(\n repository: FlowDefinitionDraftRepository,\n proposal: FlowDraftProposalV1,\n approval: FlowDraftProposalApprovalV1\n): Promise<FlowDraftCommandResult[]> {\n const proposalSnapshot = canonicalSnapshot(proposal);\n const approvalSnapshot = canonicalSnapshot(approval);\n const { proposalDigest, ...proposalPayload } = proposalSnapshot;\n const actualProposalDigest = (await digestCanonicalJson(proposalPayload as unknown as CanonicalJsonValue)) as Sha256Digest;\n if (\n approvalSnapshot.kind !== 'qi.flow.draft-proposal-approval' ||\n approvalSnapshot.schemaVersion !== '1.0' ||\n approvalSnapshot.proposalId !== proposalSnapshot.proposalId ||\n approvalSnapshot.proposalDigest !== proposalDigest ||\n actualProposalDigest !== proposalDigest ||\n !approvalSnapshot.approvedBy ||\n !approvalSnapshot.approvalReference\n ) {\n throw new Error('Flow draft proposal requires an approval for its exact digest');\n }\n const approvedRevision = repository.read().revision;\n if (approvedRevision !== proposalSnapshot.baseRevision) {\n throw new Error(`Flow draft proposal was approved for revision ${proposalSnapshot.baseRevision}, but the draft is now revision ${approvedRevision}`);\n }\n const commands = proposalSnapshot.operations.map(\n (operation, index) =>\n ({\n kind: 'qi.flow.draft-command',\n schemaVersion: '1.0',\n commandId: `${proposalSnapshot.proposalId}:${index}`,\n expectedRevision: proposalSnapshot.baseRevision + index,\n actorDid: approvalSnapshot.approvedBy,\n operation,\n }) as const\n );\n return repository.applyBatch(commands);\n}\n"],"mappings":"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","names":["Y"]}