@ixo/editor 6.33.0 → 6.35.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-U2SX5M7F.js +365 -0
  4. package/dist/BidFlowDetail-U2SX5M7F.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-I4OQSHAB.js +641 -0
  20. package/dist/ClaimFlowDetail-I4OQSHAB.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-LQHKB227.js +647 -0
  24. package/dist/CollectionLifecycleFlowDetail-LQHKB227.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-LHXVCCPQ.js +1276 -0
  28. package/dist/CollectionUsersFlowDetail-LHXVCCPQ.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-2EXGNBYC.js +564 -0
  74. package/dist/EvaluateBidFlowDetail-2EXGNBYC.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-QKHJVEDE.js +2237 -0
  78. package/dist/EvaluateClaimFlowDetail-QKHJVEDE.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-4TE6UCEB.js +83 -0
  166. package/dist/IdentityCreateFlowDetail-4TE6UCEB.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-HPVZAHVY.js +57 -0
  170. package/dist/IidCreateFlowDetail-HPVZAHVY.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-FEU43HML.js +421 -0
  174. package/dist/KycVerifyFlowDetail-FEU43HML.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-MIBXUEKC.js +255 -0
  198. package/dist/OracleConfigureOracleFlowDetail-MIBXUEKC.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-HQU3UKEB.js +220 -0
  228. package/dist/OracleStoreSecretsAndConfigFlowDetail-HQU3UKEB.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-5RXWQ3KA.js +197 -0
  232. package/dist/OracleStoreSecretsFlowDetail-5RXWQ3KA.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-2FCRCNYV.js +235 -0
  236. package/dist/ProposalCreateFlowDetail-2FCRCNYV.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-3TUYY4HK.js +20 -0
  285. package/dist/chunk-3TUYY4HK.js.map +1 -0
  286. package/dist/chunk-4DGCCXD6.js +710 -0
  287. package/dist/chunk-4DGCCXD6.js.map +1 -0
  288. package/dist/chunk-4NAFQF6V.js +11 -0
  289. package/dist/chunk-4NAFQF6V.js.map +1 -0
  290. package/dist/chunk-4PONO4US.js +799 -0
  291. package/dist/chunk-4PONO4US.js.map +1 -0
  292. package/dist/chunk-4TMOIK5M.js +21 -0
  293. package/dist/chunk-4TMOIK5M.js.map +1 -0
  294. package/dist/chunk-5E6Z6JJN.js +4456 -0
  295. package/dist/chunk-5E6Z6JJN.js.map +1 -0
  296. package/dist/chunk-5IH3VC5I.js +102 -0
  297. package/dist/chunk-5IH3VC5I.js.map +1 -0
  298. package/dist/chunk-5NTKDOP6.js +89 -0
  299. package/dist/chunk-5NTKDOP6.js.map +1 -0
  300. package/dist/chunk-5O2SFRGU.js +18 -0
  301. package/dist/chunk-5O2SFRGU.js.map +1 -0
  302. package/dist/chunk-632JLECF.js +55 -0
  303. package/dist/chunk-632JLECF.js.map +1 -0
  304. package/dist/chunk-676HDB7K.js +95 -0
  305. package/dist/chunk-676HDB7K.js.map +1 -0
  306. package/dist/chunk-6ESTNTSH.js +223 -0
  307. package/dist/chunk-6ESTNTSH.js.map +1 -0
  308. package/dist/chunk-6GKJR52N.js +15 -0
  309. package/dist/chunk-6GKJR52N.js.map +1 -0
  310. package/dist/chunk-6L4ZIKYU.js +23 -0
  311. package/dist/chunk-6L4ZIKYU.js.map +1 -0
  312. package/dist/chunk-76YX5R4L.js +11 -0
  313. package/dist/chunk-76YX5R4L.js.map +1 -0
  314. package/dist/chunk-7J3GFMN3.js +32 -0
  315. package/dist/chunk-7J3GFMN3.js.map +1 -0
  316. package/dist/chunk-7LSARC2G.js +102 -0
  317. package/dist/chunk-7LSARC2G.js.map +1 -0
  318. package/dist/chunk-7W7UUUIE.js +609 -0
  319. package/dist/chunk-7W7UUUIE.js.map +1 -0
  320. package/dist/chunk-7ZLW7H37.js +21 -0
  321. package/dist/chunk-7ZLW7H37.js.map +1 -0
  322. package/dist/chunk-AAZHI22G.js +18 -0
  323. package/dist/chunk-AAZHI22G.js.map +1 -0
  324. package/dist/chunk-ACNE455I.js +76 -0
  325. package/dist/chunk-ACNE455I.js.map +1 -0
  326. package/dist/chunk-BKLSSLPZ.js +27 -0
  327. package/dist/chunk-BKLSSLPZ.js.map +1 -0
  328. package/dist/chunk-BZ7UPUTY.js +417 -0
  329. package/dist/chunk-BZ7UPUTY.js.map +1 -0
  330. package/dist/chunk-CGFAICUE.js +28 -0
  331. package/dist/chunk-CGFAICUE.js.map +1 -0
  332. package/dist/chunk-CMCEWQ3C.js +19 -0
  333. package/dist/chunk-CMCEWQ3C.js.map +1 -0
  334. package/dist/chunk-CP4UV436.js +41 -0
  335. package/dist/chunk-CP4UV436.js.map +1 -0
  336. package/dist/chunk-DIQRZP7Z.js +51 -0
  337. package/dist/chunk-DIQRZP7Z.js.map +1 -0
  338. package/dist/chunk-EBFFDDAS.js +13 -0
  339. package/dist/chunk-EBFFDDAS.js.map +1 -0
  340. package/dist/chunk-EGVS23DR.js +85 -0
  341. package/dist/chunk-EGVS23DR.js.map +1 -0
  342. package/dist/chunk-EKBQ7K4N.js +15 -0
  343. package/dist/chunk-EKBQ7K4N.js.map +1 -0
  344. package/dist/chunk-EKQCZRAN.js +24 -0
  345. package/dist/chunk-EKQCZRAN.js.map +1 -0
  346. package/dist/chunk-EYKZIZ5J.js +48 -0
  347. package/dist/chunk-EYKZIZ5J.js.map +1 -0
  348. package/dist/{chunk-NEOPTPDF.js → chunk-F4PTFXZH.js} +11554 -22046
  349. package/dist/chunk-F4PTFXZH.js.map +1 -0
  350. package/dist/chunk-F5GTFCYV.js +3333 -0
  351. package/dist/chunk-F5GTFCYV.js.map +1 -0
  352. package/dist/chunk-FFYZXA75.js +58 -0
  353. package/dist/chunk-FFYZXA75.js.map +1 -0
  354. package/dist/chunk-GFGDHPZ2.js +22 -0
  355. package/dist/chunk-GFGDHPZ2.js.map +1 -0
  356. package/dist/chunk-GR3CDFID.js +18 -0
  357. package/dist/chunk-GR3CDFID.js.map +1 -0
  358. package/dist/chunk-GR4SIU32.js +104 -0
  359. package/dist/chunk-GR4SIU32.js.map +1 -0
  360. package/dist/chunk-H5E46IIS.js +18 -0
  361. package/dist/chunk-H5E46IIS.js.map +1 -0
  362. package/dist/chunk-HFHVAMZL.js +22 -0
  363. package/dist/chunk-HFHVAMZL.js.map +1 -0
  364. package/dist/chunk-HT6L7A5M.js +12 -0
  365. package/dist/chunk-HT6L7A5M.js.map +1 -0
  366. package/dist/chunk-I2FPFISM.js +301 -0
  367. package/dist/chunk-I2FPFISM.js.map +1 -0
  368. package/dist/chunk-IADAQJDH.js +28 -0
  369. package/dist/chunk-IADAQJDH.js.map +1 -0
  370. package/dist/chunk-IBOBCMQQ.js +99 -0
  371. package/dist/chunk-IBOBCMQQ.js.map +1 -0
  372. package/dist/chunk-IFWKRCFF.js +56 -0
  373. package/dist/chunk-IFWKRCFF.js.map +1 -0
  374. package/dist/chunk-IH4T7V4C.js +40 -0
  375. package/dist/chunk-IH4T7V4C.js.map +1 -0
  376. package/dist/chunk-IIIZZ4E4.js +1679 -0
  377. package/dist/chunk-IIIZZ4E4.js.map +1 -0
  378. package/dist/chunk-ILSFU3WD.js +83 -0
  379. package/dist/chunk-ILSFU3WD.js.map +1 -0
  380. package/dist/chunk-IX3VBV3L.js +43 -0
  381. package/dist/chunk-IX3VBV3L.js.map +1 -0
  382. package/dist/chunk-JB6ASLUJ.js +315 -0
  383. package/dist/chunk-JB6ASLUJ.js.map +1 -0
  384. package/dist/chunk-JBBFSORW.js +846 -0
  385. package/dist/chunk-JBBFSORW.js.map +1 -0
  386. package/dist/chunk-JIDTNKKL.js +1183 -0
  387. package/dist/chunk-JIDTNKKL.js.map +1 -0
  388. package/dist/chunk-JSPE6NGZ.js +22 -0
  389. package/dist/chunk-JSPE6NGZ.js.map +1 -0
  390. package/dist/chunk-JVROGQ7Q.js +150 -0
  391. package/dist/chunk-JVROGQ7Q.js.map +1 -0
  392. package/dist/chunk-K4WUMWNJ.js +32 -0
  393. package/dist/chunk-K4WUMWNJ.js.map +1 -0
  394. package/dist/chunk-K74XQ4Q5.js +11 -0
  395. package/dist/chunk-K74XQ4Q5.js.map +1 -0
  396. package/dist/chunk-KLLMJ4U3.js +22 -0
  397. package/dist/chunk-KLLMJ4U3.js.map +1 -0
  398. package/dist/chunk-LTKVCJ2E.js +27 -0
  399. package/dist/chunk-LTKVCJ2E.js.map +1 -0
  400. package/dist/chunk-M36DJTFZ.js +34 -0
  401. package/dist/chunk-M36DJTFZ.js.map +1 -0
  402. package/dist/chunk-MHM52LCJ.js +154 -0
  403. package/dist/chunk-MHM52LCJ.js.map +1 -0
  404. package/dist/chunk-MQCDMHRZ.js +59 -0
  405. package/dist/chunk-MQCDMHRZ.js.map +1 -0
  406. package/dist/chunk-MZIBZ5FY.js +554 -0
  407. package/dist/chunk-MZIBZ5FY.js.map +1 -0
  408. package/dist/chunk-N3ORMGAI.js +348 -0
  409. package/dist/chunk-N3ORMGAI.js.map +1 -0
  410. package/dist/chunk-NCSGIRRQ.js +28 -0
  411. package/dist/chunk-NCSGIRRQ.js.map +1 -0
  412. package/dist/chunk-NIXT2SBH.js +1423 -0
  413. package/dist/chunk-NIXT2SBH.js.map +1 -0
  414. package/dist/chunk-NJAII6CO.js +148 -0
  415. package/dist/chunk-NJAII6CO.js.map +1 -0
  416. package/dist/chunk-NKE4TL43.js +92 -0
  417. package/dist/chunk-NKE4TL43.js.map +1 -0
  418. package/dist/chunk-NZ7AXA7B.js +1 -0
  419. package/dist/chunk-NZ7AXA7B.js.map +1 -0
  420. package/dist/chunk-OCAYEGI2.js +26 -0
  421. package/dist/chunk-OCAYEGI2.js.map +1 -0
  422. package/dist/chunk-OMLI45ER.js +90 -0
  423. package/dist/chunk-OMLI45ER.js.map +1 -0
  424. package/dist/chunk-P7OBLJAG.js +88 -0
  425. package/dist/chunk-P7OBLJAG.js.map +1 -0
  426. package/dist/chunk-PAY3CBWL.js +2321 -0
  427. package/dist/chunk-PAY3CBWL.js.map +1 -0
  428. package/dist/chunk-PFF6VY35.js +257 -0
  429. package/dist/chunk-PFF6VY35.js.map +1 -0
  430. package/dist/chunk-PYNDJDWZ.js +1758 -0
  431. package/dist/chunk-PYNDJDWZ.js.map +1 -0
  432. package/dist/chunk-QDQ6UMMN.js +53 -0
  433. package/dist/chunk-QDQ6UMMN.js.map +1 -0
  434. package/dist/chunk-QGT3G2XG.js +24 -0
  435. package/dist/chunk-QGT3G2XG.js.map +1 -0
  436. package/dist/chunk-QZYCJ2GZ.js +55 -0
  437. package/dist/chunk-QZYCJ2GZ.js.map +1 -0
  438. package/dist/chunk-REZ7RFSA.js +124 -0
  439. package/dist/chunk-REZ7RFSA.js.map +1 -0
  440. package/dist/chunk-RRYBAE6E.js +2449 -0
  441. package/dist/chunk-RRYBAE6E.js.map +1 -0
  442. package/dist/chunk-RWUZOB62.js +34 -0
  443. package/dist/chunk-RWUZOB62.js.map +1 -0
  444. package/dist/chunk-SB5UCPZH.js +116 -0
  445. package/dist/chunk-SB5UCPZH.js.map +1 -0
  446. package/dist/chunk-SEJJ7CRI.js +99 -0
  447. package/dist/chunk-SEJJ7CRI.js.map +1 -0
  448. package/dist/chunk-SHBFGRPV.js +45 -0
  449. package/dist/chunk-SHBFGRPV.js.map +1 -0
  450. package/dist/chunk-SOFJ4GC5.js +45 -0
  451. package/dist/chunk-SOFJ4GC5.js.map +1 -0
  452. package/dist/chunk-STH2HPZK.js +44 -0
  453. package/dist/chunk-STH2HPZK.js.map +1 -0
  454. package/dist/chunk-TK3JNKME.js +28 -0
  455. package/dist/chunk-TK3JNKME.js.map +1 -0
  456. package/dist/chunk-TMONHFE3.js +46 -0
  457. package/dist/chunk-TMONHFE3.js.map +1 -0
  458. package/dist/chunk-TR4KO3AG.js +44 -0
  459. package/dist/chunk-TR4KO3AG.js.map +1 -0
  460. package/dist/chunk-TS2LNBF2.js +68 -0
  461. package/dist/chunk-TS2LNBF2.js.map +1 -0
  462. package/dist/chunk-UZUMBFPP.js +26 -0
  463. package/dist/chunk-UZUMBFPP.js.map +1 -0
  464. package/dist/chunk-VRZ5LMOW.js +176 -0
  465. package/dist/chunk-VRZ5LMOW.js.map +1 -0
  466. package/dist/chunk-WLGGY6Z6.js +75 -0
  467. package/dist/chunk-WLGGY6Z6.js.map +1 -0
  468. package/dist/chunk-WO7V6ZNC.js +11 -0
  469. package/dist/chunk-WO7V6ZNC.js.map +1 -0
  470. package/dist/chunk-WXSENSRP.js +64 -0
  471. package/dist/chunk-WXSENSRP.js.map +1 -0
  472. package/dist/chunk-XEKBZ2SA.js +19 -0
  473. package/dist/chunk-XEKBZ2SA.js.map +1 -0
  474. package/dist/chunk-XPBKU3JX.js +61 -0
  475. package/dist/chunk-XPBKU3JX.js.map +1 -0
  476. package/dist/chunk-XRYXBXWH.js +24 -0
  477. package/dist/chunk-XRYXBXWH.js.map +1 -0
  478. package/dist/chunk-XVA7QRVH.js +22 -0
  479. package/dist/chunk-XVA7QRVH.js.map +1 -0
  480. package/dist/chunk-XYXDY72K.js +27508 -0
  481. package/dist/chunk-XYXDY72K.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,309 @@
1
+ import {
2
+ buildDesignPodPhasePrompt,
3
+ readDesignPodDefinition,
4
+ readDesignPodState
5
+ } from "./chunk-JIDTNKKL.js";
6
+ import "./chunk-IIIZZ4E4.js";
7
+ import "./chunk-HT6L7A5M.js";
8
+ import "./chunk-NCSGIRRQ.js";
9
+ import {
10
+ useBlocknoteContext
11
+ } from "./chunk-4DGCCXD6.js";
12
+ import "./chunk-7W7UUUIE.js";
13
+ import "./chunk-TS2LNBF2.js";
14
+
15
+ // src/mantine/blocks/action/actionTypes/designPod/DesignPodFlowDetail.tsx
16
+ import React2, { useCallback, useEffect, useMemo, useState } from "react";
17
+ import { Alert, Box as Box2, Button, Code, Collapse, Group as Group2, Loader, Select, Stack as Stack2, Text as Text2, TextInput, UnstyledButton } from "@mantine/core";
18
+ import { IconChevronDown, IconChevronUp, IconPlayerPlay, IconSparkles } from "@tabler/icons-react";
19
+
20
+ // src/mantine/blocks/action/actionTypes/designPod/DesignPodValueView.tsx
21
+ import React from "react";
22
+ import { Box, Group, Stack, Text } from "@mantine/core";
23
+ function humanizeKey(key) {
24
+ const spaced = key.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/[_-]+/g, " ");
25
+ return spaced.charAt(0).toUpperCase() + spaced.slice(1);
26
+ }
27
+ function isRecord(value) {
28
+ return Boolean(value) && typeof value === "object" && !Array.isArray(value);
29
+ }
30
+ function Primitive({ value }) {
31
+ if (value === null || value === void 0 || value === "") {
32
+ return /* @__PURE__ */ React.createElement(Text, { fz: 12, c: "dimmed", fs: "italic", component: "span" }, "\u2014");
33
+ }
34
+ return /* @__PURE__ */ React.createElement(Text, { fz: 12, c: "dimmed", component: "span", style: { overflowWrap: "anywhere" } }, typeof value === "boolean" ? value ? "Yes" : "No" : String(value));
35
+ }
36
+ var DesignPodValueView = ({ value, depth = 0 }) => {
37
+ if (Array.isArray(value)) {
38
+ if (value.length === 0) return /* @__PURE__ */ React.createElement(Primitive, { value: "" });
39
+ return /* @__PURE__ */ React.createElement(Stack, { gap: 2, pl: depth > 0 ? 10 : 4 }, value.map((item, index) => /* @__PURE__ */ React.createElement(Group, { key: index, gap: 6, wrap: "nowrap", align: "flex-start" }, /* @__PURE__ */ React.createElement(Text, { fz: 12, c: "dimmed", component: "span", lh: 1.5 }, "\u2022"), /* @__PURE__ */ React.createElement(Box, { flex: 1, miw: 0 }, isRecord(item) || Array.isArray(item) ? /* @__PURE__ */ React.createElement(DesignPodValueView, { value: item, depth: depth + 1 }) : /* @__PURE__ */ React.createElement(Primitive, { value: item })))));
40
+ }
41
+ if (isRecord(value)) {
42
+ const entries = Object.entries(value);
43
+ if (entries.length === 0) return /* @__PURE__ */ React.createElement(Primitive, { value: "" });
44
+ return /* @__PURE__ */ React.createElement(Stack, { gap: 6, pl: depth > 0 ? 10 : 0, style: depth > 0 ? { borderLeft: "1px solid var(--mantine-color-default-border)" } : void 0 }, entries.map(([key, entry]) => {
45
+ const nested = isRecord(entry) || Array.isArray(entry);
46
+ return /* @__PURE__ */ React.createElement(Box, { key }, /* @__PURE__ */ React.createElement(Text, { fz: 12, fw: 600, component: "span" }, humanizeKey(key), nested ? "" : ": "), nested ? /* @__PURE__ */ React.createElement(Box, { mt: 2 }, /* @__PURE__ */ React.createElement(DesignPodValueView, { value: entry, depth: depth + 1 })) : /* @__PURE__ */ React.createElement(Primitive, { value: entry }));
47
+ }));
48
+ }
49
+ return /* @__PURE__ */ React.createElement(Primitive, { value });
50
+ };
51
+
52
+ // src/mantine/blocks/action/actionTypes/designPod/DesignPodFlowDetail.tsx
53
+ function getDoc(editor) {
54
+ return editor?._yDoc;
55
+ }
56
+ function parseInputs(inputs) {
57
+ try {
58
+ const parsed = JSON.parse(inputs || "{}");
59
+ return parsed && typeof parsed === "object" && !Array.isArray(parsed) ? parsed : {};
60
+ } catch {
61
+ return {};
62
+ }
63
+ }
64
+ var LABELS = {
65
+ "qi/blueprint.checklist-update": "Save signed checklist decision",
66
+ "qi/blueprint.phase-commit": "Yes, continue",
67
+ "qi/blueprint.reviewer-assign": "Assign reviewer",
68
+ "qi/blueprint.review-submit": "Submit for independent review",
69
+ "qi/blueprint.review-respond": "Record review decision",
70
+ "qi/blueprint.release-compile": "Compile reviewed blueprint",
71
+ "qi/blueprint.publish": "Publish verified blueprint",
72
+ "qi/blueprint.protocol-mint": "Mint protocol"
73
+ };
74
+ function buildReviewPlayback(definition, state) {
75
+ return definition.phases.flatMap((phase) => {
76
+ const commitment = state.phaseCommitments[phase.id];
77
+ return phase.controls.map((controlId) => {
78
+ const revision = state.controls[controlId];
79
+ const submittedDigest = commitment?.controlDigests[controlId];
80
+ return {
81
+ phase: phase.title,
82
+ controlId,
83
+ title: definition.controls[controlId].title,
84
+ submittedDigest,
85
+ currentDigest: revision?.digest,
86
+ matchesSubmittedDigest: commitment?.status === "current" && Boolean(submittedDigest) && revision?.status === "current" && revision.digest === submittedDigest,
87
+ content: revision?.content
88
+ };
89
+ });
90
+ });
91
+ }
92
+ var DesignPodFlowDetail = ({ inputs, editor, block, runtime, isDisabled, executeAction }) => {
93
+ const doc = getDoc(editor);
94
+ const actionType = String(block?.props?.actionType || "");
95
+ const { handlers } = useBlocknoteContext();
96
+ const currentUserDid = useMemo(() => {
97
+ try {
98
+ const user = handlers?.getCurrentUser?.();
99
+ return user?.did || (user?.address ? `did:ixo:${user.address}` : "");
100
+ } catch {
101
+ return "";
102
+ }
103
+ }, [handlers]);
104
+ const savedInputs = useMemo(() => parseInputs(inputs), [inputs]);
105
+ const [reviewerDid, setReviewerDid] = useState("");
106
+ const [decision, setDecision] = useState("approved");
107
+ const [checklistItemId, setChecklistItemId] = useState("");
108
+ const [checklistDisposition, setChecklistDisposition] = useState("resolved");
109
+ const [executing, setExecuting] = useState(false);
110
+ const [localError, setLocalError] = useState(null);
111
+ const [expandedPlayback, setExpandedPlayback] = useState(() => /* @__PURE__ */ new Set());
112
+ const togglePlayback = (id) => setExpandedPlayback((prev) => {
113
+ const next = new Set(prev);
114
+ if (next.has(id)) next.delete(id);
115
+ else next.add(id);
116
+ return next;
117
+ });
118
+ const [, refresh] = useState(0);
119
+ useEffect(() => {
120
+ if (!doc) return;
121
+ const update = () => refresh((value) => value + 1);
122
+ doc.getMap("designPodDefinition").observeDeep(update);
123
+ doc.getMap("designPodState").observeDeep(update);
124
+ doc.getMap("delegations").observeDeep(update);
125
+ return () => {
126
+ doc.getMap("designPodDefinition").unobserveDeep(update);
127
+ doc.getMap("designPodState").unobserveDeep(update);
128
+ doc.getMap("delegations").unobserveDeep(update);
129
+ };
130
+ }, [doc]);
131
+ const definition = doc ? readDesignPodDefinition(doc) : void 0;
132
+ const state = doc ? readDesignPodState(doc) : void 0;
133
+ const phase = savedInputs.phase;
134
+ const phaseDefinition = phase && definition ? definition.phases.find((candidate) => candidate.id === phase) : void 0;
135
+ const hasRootCapability = Boolean(editor?.getRootCapability?.()?.delegation);
136
+ const reviewPlayback = useMemo(() => definition && state ? buildReviewPlayback(definition, state) : [], [definition, state]);
137
+ const reviewPlaybackIsCurrent = reviewPlayback.length > 0 && reviewPlayback.every((control) => control.matchesSubmittedDigest);
138
+ useEffect(() => {
139
+ if (actionType !== "qi/blueprint.checklist-update" || !definition || checklistItemId) return;
140
+ const firstMissing = definition.publicationRules.checklistItems.find((item) => !state?.checklistRecords[item.id]);
141
+ const initialItemId = firstMissing?.id || definition.publicationRules.checklistItems[0]?.id || "";
142
+ setChecklistItemId(initialItemId);
143
+ setChecklistDisposition(state?.checklistRecords[initialItemId]?.disposition || "resolved");
144
+ }, [actionType, checklistItemId, definition, state]);
145
+ const runtimeInputs = useMemo(() => {
146
+ if (!definition || !state) return {};
147
+ switch (actionType) {
148
+ case "qi/blueprint.checklist-update":
149
+ return { itemId: checklistItemId, disposition: checklistDisposition };
150
+ case "qi/blueprint.phase-commit": {
151
+ const phaseDefinition2 = definition.phases.find((candidate) => candidate.id === phase);
152
+ const expectedControlDigests = Object.fromEntries((phaseDefinition2?.controls ?? []).map((controlId) => [controlId, state.controls[controlId]?.digest]));
153
+ return { phase, decision: "Yes, continue", expectedControlDigests };
154
+ }
155
+ case "qi/blueprint.reviewer-assign":
156
+ return { reviewerDid: reviewerDid.trim() };
157
+ case "qi/blueprint.review-submit":
158
+ case "qi/blueprint.release-compile":
159
+ return {};
160
+ case "qi/blueprint.review-respond":
161
+ return {
162
+ revisionSetDigest: state.reviewRequest?.revisionSetDigest,
163
+ decision,
164
+ assignmentDigest: state.reviewAssignment?.digest,
165
+ reviewRequestDigest: state.reviewRequest?.digest
166
+ };
167
+ case "qi/blueprint.publish":
168
+ case "qi/blueprint.protocol-mint":
169
+ return { releaseDigest: state.release?.digest };
170
+ default:
171
+ return {};
172
+ }
173
+ }, [actionType, checklistDisposition, checklistItemId, decision, definition, phase, reviewerDid, state]);
174
+ const blockedReason = useMemo(() => {
175
+ if (!definition || !state) return "This Flow is not an initialized Design POD project.";
176
+ if (actionType === "qi/blueprint.checklist-update") {
177
+ if (!definition.publicationRules.checklistItems.some((item) => item.id === checklistItemId)) {
178
+ return "Select a governed publication checklist item.";
179
+ }
180
+ const record = state.checklistRecords[checklistItemId];
181
+ if (record && record.disposition === checklistDisposition) {
182
+ const allSigned = definition.publicationRules.checklistItems.every((item) => state.checklistRecords[item.id]);
183
+ return allSigned ? "All checklist decisions are signed. Change a disposition only to revise it." : "This item is already signed with this disposition \u2014 pick the next unsigned item or change the disposition.";
184
+ }
185
+ }
186
+ if (actionType === "qi/blueprint.phase-commit") {
187
+ const phaseDefinition2 = definition.phases.find((candidate) => candidate.id === phase);
188
+ if (!phaseDefinition2) return "This block is not bound to a valid Design POD phase.";
189
+ const missing = phaseDefinition2.controls.filter((controlId) => state.controls[controlId]?.status !== "current");
190
+ if (missing.length > 0) return `Complete the current revisions for: ${missing.join(", ")}.`;
191
+ if (state.phaseCommitments[phase]?.status === "current") {
192
+ return "This phase is already committed for the current control revisions. Accept a new control revision to enable a governed re-commit.";
193
+ }
194
+ }
195
+ if (actionType === "qi/blueprint.reviewer-assign" && !reviewerDid.trim()) return "Enter the independent reviewer IXO DID.";
196
+ if (actionType === "qi/blueprint.review-submit") {
197
+ if (!state.reviewAssignment) return "Assign the independent reviewer first.";
198
+ if (Object.values(state.phaseCommitments).filter((commitment) => commitment?.status === "current").length !== 5) return "Commit all five phases first.";
199
+ }
200
+ if (actionType === "qi/blueprint.review-respond") {
201
+ if (!state.reviewAssignment || state.reviewRequest?.status !== "current") return "A current assignment and review request are required.";
202
+ if (currentUserDid && state.reviewAssignment.reviewerDid !== currentUserDid) {
203
+ return `Only the assigned independent reviewer (${state.reviewAssignment.reviewerDid}) can record this decision.`;
204
+ }
205
+ if (!reviewPlaybackIsCurrent) return "The submitted controls no longer match the current committed blueprint. Submit a fresh revision set for review.";
206
+ }
207
+ if (actionType === "qi/blueprint.release-compile") {
208
+ if (state.release?.status === "published") return "This blueprint release is already published and verified \u2014 there is nothing left to compile.";
209
+ if (state.review?.status !== "current" || state.review.decision !== "approved") return "The exact revision set must pass independent review first.";
210
+ }
211
+ if (actionType === "qi/blueprint.publish" && !["compiled", "publishing"].includes(state.release?.status || "")) {
212
+ return state.release?.status === "published" ? "This blueprint release is published and verified \u2014 mint its protocol to finish the journey." : "Compile the current reviewed blueprint first.";
213
+ }
214
+ if (actionType === "qi/blueprint.protocol-mint") {
215
+ if (state.protocol) return `This design project already minted ${state.protocol.entityDid}.`;
216
+ if (state.release?.status !== "published") return "Publish the verified blueprint release first.";
217
+ }
218
+ return null;
219
+ }, [actionType, checklistDisposition, checklistItemId, currentUserDid, definition, phase, reviewerDid, reviewPlaybackIsCurrent, state]);
220
+ const handleExecute = useCallback(async () => {
221
+ if (!executeAction || blockedReason || isDisabled || executing) return;
222
+ setExecuting(true);
223
+ setLocalError(null);
224
+ try {
225
+ const outcome = await executeAction({ runtimeInputs });
226
+ if (!outcome.success) throw new Error(outcome.error || "Design POD action failed");
227
+ if (actionType === "qi/blueprint.checklist-update" && definition && doc) {
228
+ const nextState = readDesignPodState(doc);
229
+ const nextMissing = definition.publicationRules.checklistItems.find((item) => !nextState?.checklistRecords[item.id]);
230
+ if (nextMissing) {
231
+ setChecklistItemId(nextMissing.id);
232
+ setChecklistDisposition("resolved");
233
+ }
234
+ }
235
+ } catch (error) {
236
+ setLocalError(error instanceof Error ? error.message : "Design POD action failed");
237
+ } finally {
238
+ setExecuting(false);
239
+ }
240
+ }, [actionType, blockedReason, definition, doc, executeAction, executing, isDisabled, runtimeInputs]);
241
+ return /* @__PURE__ */ React2.createElement(Stack2, { gap: "md" }, actionType === "qi/blueprint.phase-commit" && definition && state && phaseDefinition && /* @__PURE__ */ React2.createElement(Stack2, { gap: "sm" }, /* @__PURE__ */ React2.createElement(Text2, { size: "xs", c: "dimmed" }, phaseDefinition.description), phaseDefinition.controls.map((controlId) => {
242
+ const control = state.controls[controlId];
243
+ const expanded = expandedPlayback.has(controlId);
244
+ const status = control?.status ?? "missing";
245
+ return /* @__PURE__ */ React2.createElement(Box2, { key: controlId, style: { border: "1px solid var(--mantine-color-default-border)", borderRadius: 8 } }, /* @__PURE__ */ React2.createElement(UnstyledButton, { onClick: () => control && togglePlayback(controlId), p: "sm", w: "100%", style: { cursor: control ? "pointer" : "default" } }, /* @__PURE__ */ React2.createElement(Group2, { justify: "space-between", wrap: "nowrap", gap: 8 }, /* @__PURE__ */ React2.createElement(Box2, { miw: 0 }, /* @__PURE__ */ React2.createElement(Text2, { fz: 12, fw: 600, truncate: true }, definition.controls[controlId].title), /* @__PURE__ */ React2.createElement(Text2, { fz: 11, c: status === "current" ? "teal" : status === "stale" ? "orange" : "dimmed" }, status, control ? ` \xB7 r${control.revision}` : "")), control && (expanded ? /* @__PURE__ */ React2.createElement(IconChevronUp, { size: 14 }) : /* @__PURE__ */ React2.createElement(IconChevronDown, { size: 14 })))), control && /* @__PURE__ */ React2.createElement(Collapse, { in: expanded }, /* @__PURE__ */ React2.createElement(Box2, { p: "sm", pt: 0, style: { maxHeight: 260, overflowY: "auto" } }, /* @__PURE__ */ React2.createElement(DesignPodValueView, { value: control.content }))));
246
+ }), handlers?.openCompanionPrompt && hasRootCapability && /* @__PURE__ */ React2.createElement(
247
+ Button,
248
+ {
249
+ variant: "light",
250
+ size: "compact-sm",
251
+ leftSection: /* @__PURE__ */ React2.createElement(IconSparkles, { size: 14 }),
252
+ onClick: () => void handlers.openCompanionPrompt?.({ prompt: buildDesignPodPhasePrompt(definition, state, phaseDefinition), title: phaseDefinition.title })
253
+ },
254
+ "Ask Oxi to fill this phase"
255
+ )), actionType === "qi/blueprint.checklist-update" && definition && /* @__PURE__ */ React2.createElement(Stack2, { gap: "sm" }, /* @__PURE__ */ React2.createElement(
256
+ Select,
257
+ {
258
+ label: "Publication checklist item",
259
+ description: definition.publicationRules.checklistItems.find((item) => item.id === checklistItemId)?.description,
260
+ value: checklistItemId,
261
+ onChange: (value) => {
262
+ const itemId = value || "";
263
+ setChecklistItemId(itemId);
264
+ setChecklistDisposition(state?.checklistRecords[itemId]?.disposition || "resolved");
265
+ },
266
+ data: definition.publicationRules.checklistItems.map((item) => ({ value: item.id, label: `${state?.checklistRecords[item.id] ? "\u2713 " : ""}${item.title}` })),
267
+ allowDeselect: false
268
+ }
269
+ ), /* @__PURE__ */ React2.createElement(
270
+ Select,
271
+ {
272
+ label: "Governed disposition",
273
+ value: checklistDisposition,
274
+ onChange: (value) => setChecklistDisposition(value || "resolved"),
275
+ data: [
276
+ { value: "resolved", label: "Resolved" },
277
+ { value: "accepted_for_later", label: "Accepted for later" },
278
+ { value: "blocking", label: "Blocking publication" }
279
+ ],
280
+ allowDeselect: false
281
+ }
282
+ ), state?.checklistRecords[checklistItemId] && /* @__PURE__ */ React2.createElement(Text2, { size: "xs", c: "dimmed" }, "Current signed decision: ", state.checklistRecords[checklistItemId].disposition.replace(/_/g, " "), " by ", state.checklistRecords[checklistItemId].updatedByDid)), actionType === "qi/blueprint.reviewer-assign" && /* @__PURE__ */ React2.createElement(TextInput, { label: "Independent reviewer IXO DID", placeholder: "did:ixo:...", value: reviewerDid, onChange: (event) => setReviewerDid(event.currentTarget.value) }), actionType === "qi/blueprint.review-respond" && /* @__PURE__ */ React2.createElement(Stack2, { gap: "sm" }, /* @__PURE__ */ React2.createElement(Text2, { fw: 700 }, "Submitted blueprint playback"), /* @__PURE__ */ React2.createElement(Text2, { size: "xs", c: "dimmed" }, "Review all 17 controls bound to this submitted revision-set digest before recording a decision."), /* @__PURE__ */ React2.createElement(Code, { block: true, style: { fontSize: 11, overflowWrap: "anywhere" } }, state?.reviewRequest?.revisionSetDigest || "No current submitted revision set"), reviewPlayback.map((control) => {
283
+ const expanded = expandedPlayback.has(control.controlId);
284
+ return /* @__PURE__ */ React2.createElement(Box2, { key: control.controlId, style: { border: "1px solid var(--mantine-color-default-border)", borderRadius: 8 } }, /* @__PURE__ */ React2.createElement(UnstyledButton, { onClick: () => togglePlayback(control.controlId), p: "sm", w: "100%" }, /* @__PURE__ */ React2.createElement(Group2, { justify: "space-between", wrap: "nowrap", gap: 8 }, /* @__PURE__ */ React2.createElement(Box2, { miw: 0 }, /* @__PURE__ */ React2.createElement(Text2, { fz: 12, fw: 600, truncate: true }, control.title), /* @__PURE__ */ React2.createElement(Text2, { fz: 11, c: "dimmed" }, control.phase, " \xB7 ", control.controlId)), /* @__PURE__ */ React2.createElement(Group2, { gap: 6, wrap: "nowrap" }, /* @__PURE__ */ React2.createElement(Text2, { fz: 11, c: control.matchesSubmittedDigest ? "dimmed" : "red" }, control.matchesSubmittedDigest ? "Matches submission" : "Changed since submission"), expanded ? /* @__PURE__ */ React2.createElement(IconChevronUp, { size: 14 }) : /* @__PURE__ */ React2.createElement(IconChevronDown, { size: 14 })))), /* @__PURE__ */ React2.createElement(Collapse, { in: expanded }, /* @__PURE__ */ React2.createElement(Box2, { p: "sm", pt: 0, mah: 280, style: { overflow: "auto" } }, /* @__PURE__ */ React2.createElement(DesignPodValueView, { value: control }))));
285
+ }), /* @__PURE__ */ React2.createElement(
286
+ Select,
287
+ {
288
+ label: "Review decision",
289
+ value: decision,
290
+ onChange: (value) => setDecision(value || "approved"),
291
+ data: [
292
+ { value: "approved", label: "Approve exact revision set" },
293
+ { value: "changes_required", label: "Changes required" }
294
+ ]
295
+ }
296
+ )), blockedReason && /* @__PURE__ */ React2.createElement(Alert, { color: "yellow" }, blockedReason), (localError || runtime.error?.message) && /* @__PURE__ */ React2.createElement(Alert, { color: "red" }, localError || runtime.error?.message), runtime.state === "completed" && runtime.output && /* @__PURE__ */ React2.createElement(Stack2, { gap: 4, p: "sm", mah: 240, style: { overflow: "auto", border: "1px solid var(--mantine-color-default-border)", borderRadius: 8 } }, /* @__PURE__ */ React2.createElement(DesignPodValueView, { value: runtime.output })), /* @__PURE__ */ React2.createElement(
297
+ Button,
298
+ {
299
+ leftSection: executing ? /* @__PURE__ */ React2.createElement(Loader, { size: 14 }) : /* @__PURE__ */ React2.createElement(IconPlayerPlay, { size: 14 }),
300
+ onClick: handleExecute,
301
+ disabled: Boolean(blockedReason) || isDisabled || executing || !executeAction
302
+ },
303
+ executing ? "Authorizing\u2026" : LABELS[actionType] || "Execute"
304
+ ), /* @__PURE__ */ React2.createElement(Text2, { size: "xs", c: "dimmed" }, "The action is signed for this Flow block, canonical input digest, and active session run before governed state changes."));
305
+ };
306
+ export {
307
+ DesignPodFlowDetail
308
+ };
309
+ //# sourceMappingURL=DesignPodFlowDetail-JHJWGNVY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/mantine/blocks/action/actionTypes/designPod/DesignPodFlowDetail.tsx","../src/mantine/blocks/action/actionTypes/designPod/DesignPodValueView.tsx"],"sourcesContent":["import {\n buildDesignPodPhasePrompt,\n readDesignPodDefinition,\n readDesignPodState,\n type DesignPodControlId,\n type DesignPodFlowStateV1,\n type DesignPodMethodManifestV1,\n type DesignPodPhaseId,\n} from '@/core/lib/designPod';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { useBlocknoteContext } from '@/mantine/context/BlocknoteContext';\nimport { Alert, Box, Button, Code, Collapse, Group, Loader, Select, Stack, Text, TextInput, UnstyledButton } from '@mantine/core';\nimport { IconChevronDown, IconChevronUp, IconPlayerPlay, IconSparkles } from '@tabler/icons-react';\nimport type * as Y from 'yjs';\nimport type { ActionTypeFlowProps } from '../../actionTypeUI';\nimport { DesignPodValueView } from './DesignPodValueView';\n\nfunction getDoc(editor: any): Y.Doc | undefined {\n return editor?._yDoc as Y.Doc | undefined;\n}\n\nfunction parseInputs(inputs: string): Record<string, unknown> {\n try {\n const parsed = JSON.parse(inputs || '{}');\n return parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : {};\n } catch {\n return {};\n }\n}\n\nconst LABELS: Record<string, string> = {\n 'qi/blueprint.checklist-update': 'Save signed checklist decision',\n 'qi/blueprint.phase-commit': 'Yes, continue',\n 'qi/blueprint.reviewer-assign': 'Assign reviewer',\n 'qi/blueprint.review-submit': 'Submit for independent review',\n 'qi/blueprint.review-respond': 'Record review decision',\n 'qi/blueprint.release-compile': 'Compile reviewed blueprint',\n 'qi/blueprint.publish': 'Publish verified blueprint',\n 'qi/blueprint.protocol-mint': 'Mint protocol',\n};\n\nfunction buildReviewPlayback(definition: DesignPodMethodManifestV1, state: DesignPodFlowStateV1) {\n return definition.phases.flatMap((phase) => {\n const commitment = state.phaseCommitments[phase.id];\n return phase.controls.map((controlId) => {\n const revision = state.controls[controlId];\n const submittedDigest = commitment?.controlDigests[controlId];\n return {\n phase: phase.title,\n controlId,\n title: definition.controls[controlId].title,\n submittedDigest,\n currentDigest: revision?.digest,\n matchesSubmittedDigest: commitment?.status === 'current' && Boolean(submittedDigest) && revision?.status === 'current' && revision.digest === submittedDigest,\n content: revision?.content,\n };\n });\n });\n}\n\nexport const DesignPodFlowDetail: React.FC<ActionTypeFlowProps> = ({ inputs, editor, block, runtime, isDisabled, executeAction }) => {\n const doc = getDoc(editor);\n const actionType = String(block?.props?.actionType || '');\n const { handlers } = useBlocknoteContext();\n const currentUserDid = useMemo(() => {\n try {\n const user = handlers?.getCurrentUser?.();\n return user?.did || (user?.address ? `did:ixo:${user.address}` : '');\n } catch {\n return '';\n }\n }, [handlers]);\n const savedInputs = useMemo(() => parseInputs(inputs), [inputs]);\n const [reviewerDid, setReviewerDid] = useState('');\n const [decision, setDecision] = useState<'approved' | 'changes_required'>('approved');\n const [checklistItemId, setChecklistItemId] = useState('');\n const [checklistDisposition, setChecklistDisposition] = useState<'resolved' | 'accepted_for_later' | 'blocking'>('resolved');\n const [executing, setExecuting] = useState(false);\n const [localError, setLocalError] = useState<string | null>(null);\n const [expandedPlayback, setExpandedPlayback] = useState<Set<string>>(() => new Set());\n const togglePlayback = (id: string) =>\n setExpandedPlayback((prev) => {\n const next = new Set(prev);\n if (next.has(id)) next.delete(id);\n else next.add(id);\n return next;\n });\n const [, refresh] = useState(0);\n\n useEffect(() => {\n if (!doc) return;\n const update = () => refresh((value) => value + 1);\n doc.getMap('designPodDefinition').observeDeep(update);\n doc.getMap('designPodState').observeDeep(update);\n // Delegations too: the Ask-Oxi affordance appears the moment the flow\n // owner signs the root capability, without a reload.\n doc.getMap('delegations').observeDeep(update);\n return () => {\n doc.getMap('designPodDefinition').unobserveDeep(update);\n doc.getMap('designPodState').unobserveDeep(update);\n doc.getMap('delegations').unobserveDeep(update);\n };\n }, [doc]);\n\n const definition = doc ? readDesignPodDefinition(doc) : undefined;\n const state = doc ? readDesignPodState(doc) : undefined;\n const phase = savedInputs.phase as DesignPodPhaseId | undefined;\n const phaseDefinition = phase && definition ? definition.phases.find((candidate) => candidate.id === phase) : undefined;\n // Without the root capability nothing Oxi proposes can ever be accepted into\n // signed state, so the ask-Oxi affordance would only invite spam.\n const hasRootCapability = Boolean((editor as any)?.getRootCapability?.()?.delegation);\n const reviewPlayback = useMemo(() => (definition && state ? buildReviewPlayback(definition, state) : []), [definition, state]);\n const reviewPlaybackIsCurrent = reviewPlayback.length > 0 && reviewPlayback.every((control) => control.matchesSubmittedDigest);\n\n useEffect(() => {\n if (actionType !== 'qi/blueprint.checklist-update' || !definition || checklistItemId) return;\n const firstMissing = definition.publicationRules.checklistItems.find((item) => !state?.checklistRecords[item.id]);\n const initialItemId = firstMissing?.id || definition.publicationRules.checklistItems[0]?.id || '';\n setChecklistItemId(initialItemId);\n setChecklistDisposition(state?.checklistRecords[initialItemId]?.disposition || 'resolved');\n }, [actionType, checklistItemId, definition, state]);\n\n const runtimeInputs = useMemo<Record<string, unknown>>(() => {\n if (!definition || !state) return {};\n switch (actionType) {\n case 'qi/blueprint.checklist-update':\n return { itemId: checklistItemId, disposition: checklistDisposition };\n case 'qi/blueprint.phase-commit': {\n const phaseDefinition = definition.phases.find((candidate) => candidate.id === phase);\n const expectedControlDigests = Object.fromEntries((phaseDefinition?.controls ?? []).map((controlId) => [controlId, state.controls[controlId]?.digest])) as Partial<\n Record<DesignPodControlId, string | undefined>\n >;\n return { phase, decision: 'Yes, continue', expectedControlDigests };\n }\n case 'qi/blueprint.reviewer-assign':\n return { reviewerDid: reviewerDid.trim() };\n case 'qi/blueprint.review-submit':\n case 'qi/blueprint.release-compile':\n return {};\n case 'qi/blueprint.review-respond':\n return {\n revisionSetDigest: state.reviewRequest?.revisionSetDigest,\n decision,\n assignmentDigest: state.reviewAssignment?.digest,\n reviewRequestDigest: state.reviewRequest?.digest,\n };\n case 'qi/blueprint.publish':\n case 'qi/blueprint.protocol-mint':\n return { releaseDigest: state.release?.digest };\n default:\n return {};\n }\n }, [actionType, checklistDisposition, checklistItemId, decision, definition, phase, reviewerDid, state]);\n\n const blockedReason = useMemo(() => {\n if (!definition || !state) return 'This Flow is not an initialized Design POD project.';\n if (actionType === 'qi/blueprint.checklist-update') {\n if (!definition.publicationRules.checklistItems.some((item) => item.id === checklistItemId)) {\n return 'Select a governed publication checklist item.';\n }\n const record = state.checklistRecords[checklistItemId];\n if (record && record.disposition === checklistDisposition) {\n const allSigned = definition.publicationRules.checklistItems.every((item) => state.checklistRecords[item.id]);\n return allSigned\n ? 'All checklist decisions are signed. Change a disposition only to revise it.'\n : 'This item is already signed with this disposition — pick the next unsigned item or change the disposition.';\n }\n }\n if (actionType === 'qi/blueprint.phase-commit') {\n const phaseDefinition = definition.phases.find((candidate) => candidate.id === phase);\n if (!phaseDefinition) return 'This block is not bound to a valid Design POD phase.';\n const missing = phaseDefinition.controls.filter((controlId) => state.controls[controlId]?.status !== 'current');\n if (missing.length > 0) return `Complete the current revisions for: ${missing.join(', ')}.`;\n if (state.phaseCommitments[phase as DesignPodPhaseId]?.status === 'current') {\n return 'This phase is already committed for the current control revisions. Accept a new control revision to enable a governed re-commit.';\n }\n }\n if (actionType === 'qi/blueprint.reviewer-assign' && !reviewerDid.trim()) return 'Enter the independent reviewer IXO DID.';\n if (actionType === 'qi/blueprint.review-submit') {\n if (!state.reviewAssignment) return 'Assign the independent reviewer first.';\n if (Object.values(state.phaseCommitments).filter((commitment) => commitment?.status === 'current').length !== 5) return 'Commit all five phases first.';\n }\n if (actionType === 'qi/blueprint.review-respond') {\n if (!state.reviewAssignment || state.reviewRequest?.status !== 'current') return 'A current assignment and review request are required.';\n if (currentUserDid && state.reviewAssignment.reviewerDid !== currentUserDid) {\n return `Only the assigned independent reviewer (${state.reviewAssignment.reviewerDid}) can record this decision.`;\n }\n if (!reviewPlaybackIsCurrent) return 'The submitted controls no longer match the current committed blueprint. Submit a fresh revision set for review.';\n }\n if (actionType === 'qi/blueprint.release-compile') {\n if (state.release?.status === 'published') return 'This blueprint release is already published and verified — there is nothing left to compile.';\n if (state.review?.status !== 'current' || state.review.decision !== 'approved') return 'The exact revision set must pass independent review first.';\n }\n if (actionType === 'qi/blueprint.publish' && !['compiled', 'publishing'].includes(state.release?.status || '')) {\n return state.release?.status === 'published'\n ? 'This blueprint release is published and verified — mint its protocol to finish the journey.'\n : 'Compile the current reviewed blueprint first.';\n }\n if (actionType === 'qi/blueprint.protocol-mint') {\n if (state.protocol) return `This design project already minted ${state.protocol.entityDid}.`;\n if (state.release?.status !== 'published') return 'Publish the verified blueprint release first.';\n }\n return null;\n }, [actionType, checklistDisposition, checklistItemId, currentUserDid, definition, phase, reviewerDid, reviewPlaybackIsCurrent, state]);\n\n const handleExecute = useCallback(async () => {\n if (!executeAction || blockedReason || isDisabled || executing) return;\n setExecuting(true);\n setLocalError(null);\n try {\n const outcome = await executeAction({ runtimeInputs });\n if (!outcome.success) throw new Error(outcome.error || 'Design POD action failed');\n if (actionType === 'qi/blueprint.checklist-update' && definition && doc) {\n const nextState = readDesignPodState(doc);\n const nextMissing = definition.publicationRules.checklistItems.find((item) => !nextState?.checklistRecords[item.id]);\n if (nextMissing) {\n setChecklistItemId(nextMissing.id);\n setChecklistDisposition('resolved');\n }\n }\n } catch (error) {\n setLocalError(error instanceof Error ? error.message : 'Design POD action failed');\n } finally {\n setExecuting(false);\n }\n }, [actionType, blockedReason, definition, doc, executeAction, executing, isDisabled, runtimeInputs]);\n\n return (\n <Stack gap=\"md\">\n {actionType === 'qi/blueprint.phase-commit' && definition && state && phaseDefinition && (\n <Stack gap=\"sm\">\n <Text size=\"xs\" c=\"dimmed\">\n {phaseDefinition.description}\n </Text>\n {phaseDefinition.controls.map((controlId) => {\n const control = state.controls[controlId];\n const expanded = expandedPlayback.has(controlId);\n const status = control?.status ?? 'missing';\n return (\n <Box key={controlId} style={{ border: '1px solid var(--mantine-color-default-border)', borderRadius: 8 }}>\n <UnstyledButton onClick={() => control && togglePlayback(controlId)} p=\"sm\" w=\"100%\" style={{ cursor: control ? 'pointer' : 'default' }}>\n <Group justify=\"space-between\" wrap=\"nowrap\" gap={8}>\n <Box miw={0}>\n <Text fz={12} fw={600} truncate>\n {definition.controls[controlId].title}\n </Text>\n <Text fz={11} c={status === 'current' ? 'teal' : status === 'stale' ? 'orange' : 'dimmed'}>\n {status}\n {control ? ` · r${control.revision}` : ''}\n </Text>\n </Box>\n {control && (expanded ? <IconChevronUp size={14} /> : <IconChevronDown size={14} />)}\n </Group>\n </UnstyledButton>\n {control && (\n <Collapse in={expanded}>\n <Box p=\"sm\" pt={0} style={{ maxHeight: 260, overflowY: 'auto' }}>\n <DesignPodValueView value={control.content} />\n </Box>\n </Collapse>\n )}\n </Box>\n );\n })}\n {handlers?.openCompanionPrompt && hasRootCapability && (\n <Button\n variant=\"light\"\n size=\"compact-sm\"\n leftSection={<IconSparkles size={14} />}\n onClick={() => void handlers.openCompanionPrompt?.({ prompt: buildDesignPodPhasePrompt(definition, state, phaseDefinition), title: phaseDefinition.title })}\n >\n Ask Oxi to fill this phase\n </Button>\n )}\n </Stack>\n )}\n {actionType === 'qi/blueprint.checklist-update' && definition && (\n <Stack gap=\"sm\">\n <Select\n label=\"Publication checklist item\"\n description={definition.publicationRules.checklistItems.find((item) => item.id === checklistItemId)?.description}\n value={checklistItemId}\n onChange={(value) => {\n const itemId = value || '';\n setChecklistItemId(itemId);\n setChecklistDisposition(state?.checklistRecords[itemId]?.disposition || 'resolved');\n }}\n data={definition.publicationRules.checklistItems.map((item) => ({ value: item.id, label: `${state?.checklistRecords[item.id] ? '✓ ' : ''}${item.title}` }))}\n allowDeselect={false}\n />\n <Select\n label=\"Governed disposition\"\n value={checklistDisposition}\n onChange={(value) => setChecklistDisposition((value as 'resolved' | 'accepted_for_later' | 'blocking') || 'resolved')}\n data={[\n { value: 'resolved', label: 'Resolved' },\n { value: 'accepted_for_later', label: 'Accepted for later' },\n { value: 'blocking', label: 'Blocking publication' },\n ]}\n allowDeselect={false}\n />\n {state?.checklistRecords[checklistItemId] && (\n <Text size=\"xs\" c=\"dimmed\">\n Current signed decision: {state.checklistRecords[checklistItemId].disposition.replace(/_/g, ' ')} by {state.checklistRecords[checklistItemId].updatedByDid}\n </Text>\n )}\n </Stack>\n )}\n {actionType === 'qi/blueprint.reviewer-assign' && (\n <TextInput label=\"Independent reviewer IXO DID\" placeholder=\"did:ixo:...\" value={reviewerDid} onChange={(event) => setReviewerDid(event.currentTarget.value)} />\n )}\n {actionType === 'qi/blueprint.review-respond' && (\n <Stack gap=\"sm\">\n <Text fw={700}>Submitted blueprint playback</Text>\n <Text size=\"xs\" c=\"dimmed\">\n Review all 17 controls bound to this submitted revision-set digest before recording a decision.\n </Text>\n <Code block style={{ fontSize: 11, overflowWrap: 'anywhere' }}>\n {state?.reviewRequest?.revisionSetDigest || 'No current submitted revision set'}\n </Code>\n {reviewPlayback.map((control) => {\n const expanded = expandedPlayback.has(control.controlId);\n return (\n <Box key={control.controlId} style={{ border: '1px solid var(--mantine-color-default-border)', borderRadius: 8 }}>\n <UnstyledButton onClick={() => togglePlayback(control.controlId)} p=\"sm\" w=\"100%\">\n <Group justify=\"space-between\" wrap=\"nowrap\" gap={8}>\n <Box miw={0}>\n <Text fz={12} fw={600} truncate>\n {control.title}\n </Text>\n <Text fz={11} c=\"dimmed\">\n {control.phase} · {control.controlId}\n </Text>\n </Box>\n <Group gap={6} wrap=\"nowrap\">\n <Text fz={11} c={control.matchesSubmittedDigest ? 'dimmed' : 'red'}>\n {control.matchesSubmittedDigest ? 'Matches submission' : 'Changed since submission'}\n </Text>\n {expanded ? <IconChevronUp size={14} /> : <IconChevronDown size={14} />}\n </Group>\n </Group>\n </UnstyledButton>\n <Collapse in={expanded}>\n <Box p=\"sm\" pt={0} mah={280} style={{ overflow: 'auto' }}>\n <DesignPodValueView value={control} />\n </Box>\n </Collapse>\n </Box>\n );\n })}\n <Select\n label=\"Review decision\"\n value={decision}\n onChange={(value) => setDecision((value as 'approved' | 'changes_required') || 'approved')}\n data={[\n { value: 'approved', label: 'Approve exact revision set' },\n { value: 'changes_required', label: 'Changes required' },\n ]}\n />\n </Stack>\n )}\n {blockedReason && <Alert color=\"yellow\">{blockedReason}</Alert>}\n {(localError || runtime.error?.message) && <Alert color=\"red\">{localError || runtime.error?.message}</Alert>}\n {runtime.state === 'completed' && runtime.output && (\n <Stack gap={4} p=\"sm\" mah={240} style={{ overflow: 'auto', border: '1px solid var(--mantine-color-default-border)', borderRadius: 8 }}>\n <DesignPodValueView value={runtime.output} />\n </Stack>\n )}\n <Button\n leftSection={executing ? <Loader size={14} /> : <IconPlayerPlay size={14} />}\n onClick={handleExecute}\n disabled={Boolean(blockedReason) || isDisabled || executing || !executeAction}\n >\n {executing ? 'Authorizing…' : LABELS[actionType] || 'Execute'}\n </Button>\n <Text size=\"xs\" c=\"dimmed\">\n The action is signed for this Flow block, canonical input digest, and active session run before governed state changes.\n </Text>\n </Stack>\n );\n};\n","import React from 'react';\nimport { Box, Group, Stack, Text } from '@mantine/core';\n\ntype Props = {\n value: unknown;\n depth?: number;\n};\n\nfunction humanizeKey(key: string): string {\n const spaced = key.replace(/([a-z0-9])([A-Z])/g, '$1 $2').replace(/[_-]+/g, ' ');\n return spaced.charAt(0).toUpperCase() + spaced.slice(1);\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === 'object' && !Array.isArray(value);\n}\n\nfunction Primitive({ value }: { value: unknown }) {\n if (value === null || value === undefined || value === '') {\n return (\n <Text fz={12} c=\"dimmed\" fs=\"italic\" component=\"span\">\n —\n </Text>\n );\n }\n return (\n <Text fz={12} c=\"dimmed\" component=\"span\" style={{ overflowWrap: 'anywhere' }}>\n {typeof value === 'boolean' ? (value ? 'Yes' : 'No') : String(value)}\n </Text>\n );\n}\n\nexport const DesignPodValueView: React.FC<Props> = ({ value, depth = 0 }) => {\n if (Array.isArray(value)) {\n if (value.length === 0) return <Primitive value=\"\" />;\n return (\n <Stack gap={2} pl={depth > 0 ? 10 : 4}>\n {value.map((item, index) => (\n <Group key={index} gap={6} wrap=\"nowrap\" align=\"flex-start\">\n <Text fz={12} c=\"dimmed\" component=\"span\" lh={1.5}>\n •\n </Text>\n <Box flex={1} miw={0}>\n {isRecord(item) || Array.isArray(item) ? <DesignPodValueView value={item} depth={depth + 1} /> : <Primitive value={item} />}\n </Box>\n </Group>\n ))}\n </Stack>\n );\n }\n\n if (isRecord(value)) {\n const entries = Object.entries(value);\n if (entries.length === 0) return <Primitive value=\"\" />;\n return (\n <Stack gap={6} pl={depth > 0 ? 10 : 0} style={depth > 0 ? { borderLeft: '1px solid var(--mantine-color-default-border)' } : undefined}>\n {entries.map(([key, entry]) => {\n const nested = isRecord(entry) || Array.isArray(entry);\n return (\n <Box key={key}>\n <Text fz={12} fw={600} component=\"span\">\n {humanizeKey(key)}\n {nested ? '' : ': '}\n </Text>\n {nested ? (\n <Box mt={2}>\n <DesignPodValueView value={entry} depth={depth + 1} />\n </Box>\n ) : (\n <Primitive value={entry} />\n )}\n </Box>\n );\n })}\n </Stack>\n );\n }\n\n return <Primitive value={value} />;\n};\n"],"mappings":"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","names":["React","Box","Group","Stack","Text","phaseDefinition","React","Stack","Text","Box","Group"]}
@@ -0,0 +1,37 @@
1
+ import {
2
+ parseDomainCardPreviewInputs,
3
+ serializeDomainCardPreviewInputs
4
+ } from "./chunk-632JLECF.js";
5
+
6
+ // src/mantine/blocks/action/actionTypes/domainCardPreview/DomainCardPreviewConfig.tsx
7
+ import React, { useCallback, useEffect, useState } from "react";
8
+ import { Stack, Text, Textarea } from "@mantine/core";
9
+ var DomainCardPreviewConfig = ({ inputs, onInputsChange }) => {
10
+ const [local, setLocal] = useState(() => parseDomainCardPreviewInputs(inputs));
11
+ useEffect(() => {
12
+ setLocal(parseDomainCardPreviewInputs(inputs));
13
+ }, [inputs]);
14
+ const update = useCallback(
15
+ (patch) => {
16
+ const updated = { ...local, ...patch };
17
+ setLocal(updated);
18
+ onInputsChange(serializeDomainCardPreviewInputs(updated));
19
+ },
20
+ [local, onInputsChange]
21
+ );
22
+ return /* @__PURE__ */ React.createElement(Stack, { gap: "lg" }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm", fw: 600 }, "Domain Card Data"), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "Reference to the domain card data. The oracle writes this into ", /* @__PURE__ */ React.createElement("code", null, "runtime.output.domainCardData"), "."), /* @__PURE__ */ React.createElement(
23
+ Textarea,
24
+ {
25
+ placeholder: "{{block.<id>.output.domainCardData}}",
26
+ value: local.domainCardData,
27
+ onChange: (event) => update({ domainCardData: event.currentTarget.value }),
28
+ minRows: 3,
29
+ autosize: true,
30
+ styles: { input: { fontFamily: "monospace", fontSize: 12 } }
31
+ }
32
+ )));
33
+ };
34
+ export {
35
+ DomainCardPreviewConfig
36
+ };
37
+ //# sourceMappingURL=DomainCardPreviewConfig-Q3X5M4WF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/mantine/blocks/action/actionTypes/domainCardPreview/DomainCardPreviewConfig.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react';\nimport { Stack, Text, Textarea } from '@mantine/core';\nimport type { ActionTypeConfigProps } from '../../actionTypeUI';\nimport { parseDomainCardPreviewInputs, serializeDomainCardPreviewInputs, type DomainCardPreviewInputs } from './types';\n\nexport const DomainCardPreviewConfig: React.FC<ActionTypeConfigProps> = ({ inputs, onInputsChange }) => {\n const [local, setLocal] = useState<DomainCardPreviewInputs>(() => parseDomainCardPreviewInputs(inputs));\n\n useEffect(() => {\n setLocal(parseDomainCardPreviewInputs(inputs));\n }, [inputs]);\n\n const update = useCallback(\n (patch: Partial<DomainCardPreviewInputs>) => {\n const updated = { ...local, ...patch };\n setLocal(updated);\n onInputsChange(serializeDomainCardPreviewInputs(updated));\n },\n [local, onInputsChange]\n );\n\n return (\n <Stack gap=\"lg\">\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={600}>\n Domain Card Data\n </Text>\n <Text size=\"xs\" c=\"dimmed\">\n Reference to the domain card data. The oracle writes this into <code>runtime.output.domainCardData</code>.\n </Text>\n <Textarea\n placeholder=\"{{block.<id>.output.domainCardData}}\"\n value={local.domainCardData}\n onChange={(event) => update({ domainCardData: event.currentTarget.value })}\n minRows={3}\n autosize\n styles={{ input: { fontFamily: 'monospace', fontSize: 12 } }}\n />\n </Stack>\n </Stack>\n );\n};\n"],"mappings":";;;;;;AAAA,OAAO,SAAS,aAAa,WAAW,gBAAgB;AACxD,SAAS,OAAO,MAAM,gBAAgB;AAI/B,IAAM,0BAA2D,CAAC,EAAE,QAAQ,eAAe,MAAM;AACtG,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAkC,MAAM,6BAA6B,MAAM,CAAC;AAEtG,YAAU,MAAM;AACd,aAAS,6BAA6B,MAAM,CAAC;AAAA,EAC/C,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,SAAS;AAAA,IACb,CAAC,UAA4C;AAC3C,YAAM,UAAU,EAAE,GAAG,OAAO,GAAG,MAAM;AACrC,eAAS,OAAO;AAChB,qBAAe,iCAAiC,OAAO,CAAC;AAAA,IAC1D;AAAA,IACA,CAAC,OAAO,cAAc;AAAA,EACxB;AAEA,SACE,oCAAC,SAAM,KAAI,QACT,oCAAC,SAAM,KAAI,QACT,oCAAC,QAAK,MAAK,MAAK,IAAI,OAAK,kBAEzB,GACA,oCAAC,QAAK,MAAK,MAAK,GAAE,YAAS,mEACsC,oCAAC,cAAK,+BAA6B,GAAO,GAC3G,GACA;AAAA,IAAC;AAAA;AAAA,MACC,aAAY;AAAA,MACZ,OAAO,MAAM;AAAA,MACb,UAAU,CAAC,UAAU,OAAO,EAAE,gBAAgB,MAAM,cAAc,MAAM,CAAC;AAAA,MACzE,SAAS;AAAA,MACT,UAAQ;AAAA,MACR,QAAQ,EAAE,OAAO,EAAE,YAAY,aAAa,UAAU,GAAG,EAAE;AAAA;AAAA,EAC7D,CACF,CACF;AAEJ;","names":[]}
@@ -0,0 +1,131 @@
1
+ import {
2
+ buildCardDataFromInputs,
3
+ buildPreviewFromInputs,
4
+ parseDomainCardPreviewInputs
5
+ } from "./chunk-632JLECF.js";
6
+ import {
7
+ useRunRuntimeReader
8
+ } from "./chunk-FFYZXA75.js";
9
+ import "./chunk-NZ7AXA7B.js";
10
+ import {
11
+ resolveReferences
12
+ } from "./chunk-JVROGQ7Q.js";
13
+ import "./chunk-IIIZZ4E4.js";
14
+ import "./chunk-HT6L7A5M.js";
15
+ import "./chunk-NCSGIRRQ.js";
16
+ import {
17
+ DismissibleAlert
18
+ } from "./chunk-IFWKRCFF.js";
19
+ import {
20
+ actionAlertStyles
21
+ } from "./chunk-6GKJR52N.js";
22
+ import {
23
+ useBlocknoteContext,
24
+ useBlocknoteHandlers
25
+ } from "./chunk-4DGCCXD6.js";
26
+ import "./chunk-7W7UUUIE.js";
27
+ import "./chunk-TS2LNBF2.js";
28
+
29
+ // src/mantine/blocks/action/actionTypes/domainCardPreview/DomainCardPreviewFlowDetail.tsx
30
+ import React, { useCallback, useMemo, useState } from "react";
31
+ import { Badge, Box, Button, Code, Group, Loader, ScrollArea, Stack, Text } from "@mantine/core";
32
+ import { IconAlertCircle, IconCheck, IconSparkles } from "@tabler/icons-react";
33
+ var JsonViewer = ({ data }) => /* @__PURE__ */ React.createElement(ScrollArea.Autosize, { mah: 360, offsetScrollbars: true }, /* @__PURE__ */ React.createElement(Stack, { gap: "md" }, data.name && /* @__PURE__ */ React.createElement(Box, null, /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Name"), /* @__PURE__ */ React.createElement(Text, { size: "lg", fw: 600 }, data.name)), data.summary && /* @__PURE__ */ React.createElement(Box, null, /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Summary"), /* @__PURE__ */ React.createElement(Text, { size: "sm" }, data.summary)), data.description && /* @__PURE__ */ React.createElement(Box, null, /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Description"), /* @__PURE__ */ React.createElement(Text, { size: "sm" }, data.description)), data.entity_type && data.entity_type.length > 0 && /* @__PURE__ */ React.createElement(Box, null, /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Type"), /* @__PURE__ */ React.createElement(Text, { size: "sm" }, data.entity_type.join(", "))), data.keywords && data.keywords.length > 0 && /* @__PURE__ */ React.createElement(Box, null, /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600 }, "Keywords"), /* @__PURE__ */ React.createElement(Text, { size: "sm" }, data.keywords.join(", "))), data.faq && data.faq.length > 0 && /* @__PURE__ */ React.createElement(Box, null, /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600, mb: "xs" }, "FAQ"), /* @__PURE__ */ React.createElement(Stack, { gap: "sm" }, data.faq.map((item, index) => /* @__PURE__ */ React.createElement(Box, { key: index, p: "sm", style: { borderRadius: 8, backgroundColor: "var(--mantine-color-dark-6)" } }, /* @__PURE__ */ React.createElement(Text, { size: "sm", fw: 500, mb: 4 }, item.question), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, item.answer))))), /* @__PURE__ */ React.createElement(Box, null, /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600, mb: "xs" }, "Raw Data"), /* @__PURE__ */ React.createElement(Code, { block: true, style: { fontSize: 11, maxHeight: 200, overflow: "auto" } }, JSON.stringify(data, null, 2)))));
34
+ var STATUS_BADGE = {
35
+ approved: { color: "green", text: "Approved" },
36
+ error: { color: "red", text: "Error" },
37
+ loading: { color: "blue", text: "Generating..." },
38
+ ready: { color: "teal", text: "Ready to Review" },
39
+ pending: { color: "gray", text: "Waiting" }
40
+ };
41
+ function coerce(value, fallback) {
42
+ if (value === void 0 || value === null) return fallback;
43
+ if (typeof value === "string") {
44
+ if (!value) return fallback;
45
+ try {
46
+ return JSON.parse(value);
47
+ } catch {
48
+ return fallback;
49
+ }
50
+ }
51
+ return value;
52
+ }
53
+ var DomainCardPreviewFlowDetail = ({ inputs, editor, block, runtime, isDisabled, executeAction }) => {
54
+ const { domainCardRenderer } = useBlocknoteContext();
55
+ const handlers = useBlocknoteHandlers();
56
+ const [isAskingCompanion, setIsAskingCompanion] = useState(false);
57
+ const [companionError, setCompanionError] = useState(null);
58
+ const parsed = useMemo(() => parseDomainCardPreviewInputs(inputs), [inputs]);
59
+ const editorDocument = editor?.document || [];
60
+ const runtimeReader = useRunRuntimeReader(editor);
61
+ const resolveOpts = useMemo(() => ({ yRuntime: runtimeReader }), [runtimeReader]);
62
+ const upstreamCardData = useMemo(() => {
63
+ if (!parsed.domainCardData) return void 0;
64
+ const resolved = resolveReferences(parsed.domainCardData, editorDocument, resolveOpts);
65
+ return coerce(resolved, void 0);
66
+ }, [parsed.domainCardData, editorDocument, resolveOpts]);
67
+ const inputsPreview = useMemo(() => buildPreviewFromInputs(parsed), [parsed]);
68
+ const inputsCardData = useMemo(() => buildCardDataFromInputs(parsed), [parsed]);
69
+ const loadingMessage = runtime.output?.loadingMessage || "Agents are analyzing your domain information...";
70
+ const errorMessage = runtime.output?.errorMessage || "An error occurred while generating the domain data.";
71
+ const domainPreviewData = coerce(runtime.output?.domainPreviewData, null) || inputsPreview;
72
+ const domainCardData = coerce(runtime.output?.domainCardData, upstreamCardData) || inputsCardData;
73
+ const status = useMemo(() => {
74
+ const runtimeStatus = runtime.output?.status;
75
+ if (runtimeStatus) return runtimeStatus;
76
+ if (domainPreviewData || domainCardData) return "ready";
77
+ return "pending";
78
+ }, [runtime.output?.status, domainPreviewData, domainCardData]);
79
+ const hasPreview = Boolean(domainPreviewData && (domainPreviewData.name || domainPreviewData.summary || domainPreviewData.description));
80
+ const badge = STATUS_BADGE[status];
81
+ const handleAskCompanion = useCallback(async () => {
82
+ if (isDisabled || isAskingCompanion) return;
83
+ if (typeof handlers?.askCompanion !== "function") {
84
+ setCompanionError("Agent is not available.");
85
+ return;
86
+ }
87
+ setIsAskingCompanion(true);
88
+ setCompanionError(null);
89
+ try {
90
+ await handlers.askCompanion("Help me generate a domain card and ask me the relevant questions needed to set it up.");
91
+ } catch (err) {
92
+ const message = err instanceof Error ? err.message : "Failed to ask Agent";
93
+ setCompanionError(message);
94
+ } finally {
95
+ setIsAskingCompanion(false);
96
+ }
97
+ }, [handlers, isAskingCompanion, isDisabled]);
98
+ const handleApprove = useCallback(async () => {
99
+ if (isDisabled) return;
100
+ if (!domainCardData) return;
101
+ if (!executeAction) {
102
+ setCompanionError("Shared action executor is unavailable.");
103
+ return;
104
+ }
105
+ setCompanionError(null);
106
+ const outcome = await executeAction({
107
+ runtimeInputs: {
108
+ domainPreviewData: domainPreviewData ?? runtime.output?.domainPreviewData,
109
+ domainCardData
110
+ }
111
+ });
112
+ if (!outcome.success) {
113
+ setCompanionError(outcome.error || "Failed to approve domain card.");
114
+ }
115
+ }, [isDisabled, domainCardData, executeAction, domainPreviewData, runtime.output]);
116
+ return /* @__PURE__ */ React.createElement(Stack, { gap: "md" }, /* @__PURE__ */ React.createElement(Stack, { gap: 2 }, /* @__PURE__ */ React.createElement(Group, { gap: "xs", align: "center" }, /* @__PURE__ */ React.createElement(Text, { fw: 600 }, block?.props?.title || "Preview Domain Card"), /* @__PURE__ */ React.createElement(Badge, { size: "xs", variant: "filled", color: badge.color }, badge.text)), /* @__PURE__ */ React.createElement(Text, { size: "sm", c: "dimmed" }, block?.props?.description || "Review the oracle-enriched domain card before signing.")), status === "loading" && /* @__PURE__ */ React.createElement(Stack, { align: "center", py: "lg", gap: "md" }, /* @__PURE__ */ React.createElement(Loader, { size: "lg", color: "blue" }), /* @__PURE__ */ React.createElement(Stack, { align: "center", gap: "xs" }, /* @__PURE__ */ React.createElement(IconSparkles, { size: 22, color: "var(--mantine-color-blue-5)" }), /* @__PURE__ */ React.createElement(Text, { size: "sm", c: "dimmed", ta: "center" }, loadingMessage))), status === "error" && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconAlertCircle, { size: 16 }), title: "Preview error", color: "red", variant: "light", styles: actionAlertStyles }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm" }, errorMessage), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "Ask the oracle agent to regenerate, or rebuild the card upstream."))), (status === "ready" || status === "approved") && hasPreview && domainPreviewData && /* @__PURE__ */ React.createElement(Box, { p: "md", style: { backgroundColor: "var(--mantine-color-dark-6)", borderRadius: 8 } }, domainCardRenderer ? domainCardRenderer(domainPreviewData) : /* @__PURE__ */ React.createElement(JsonViewer, { data: domainPreviewData })), (status === "ready" || status === "approved") && !hasPreview && domainCardData && /* @__PURE__ */ React.createElement(DismissibleAlert, { color: "yellow", variant: "light", styles: actionAlertStyles }, /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "No human-facing preview was published by the oracle. You can still approve the underlying card, but consider asking the oracle agent to publish", " ", /* @__PURE__ */ React.createElement("code", null, "domainPreviewData"), ".")), status === "pending" && /* @__PURE__ */ React.createElement(Stack, { gap: "sm" }, /* @__PURE__ */ React.createElement(DismissibleAlert, { color: "gray", variant: "light", styles: actionAlertStyles }, /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "No preview yet. Ask your Agent to generate a domain card and gather the setup details.")), /* @__PURE__ */ React.createElement(
117
+ Button,
118
+ {
119
+ leftSection: isAskingCompanion ? /* @__PURE__ */ React.createElement(Loader, { size: 14 }) : /* @__PURE__ */ React.createElement(IconSparkles, { size: 16 }),
120
+ onClick: handleAskCompanion,
121
+ disabled: isDisabled || isAskingCompanion,
122
+ variant: "light",
123
+ fullWidth: true
124
+ },
125
+ isAskingCompanion ? "Asking your Agent..." : "Ask your Agent to Generate Domain Card"
126
+ ), companionError && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconAlertCircle, { size: 16 }), color: "red", variant: "light", styles: actionAlertStyles }, /* @__PURE__ */ React.createElement(Text, { size: "sm" }, companionError))), status === "ready" && domainCardData && /* @__PURE__ */ React.createElement(Button, { color: "teal", leftSection: /* @__PURE__ */ React.createElement(IconCheck, { size: 16 }), onClick: handleApprove, disabled: isDisabled, fullWidth: true }, "Approve Domain Card"), status === "approved" && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconCheck, { size: 16 }), color: "green", variant: "light", styles: actionAlertStyles }, /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Domain card approved. Ready to sign and create the domain.")), runtime.error?.message && /* @__PURE__ */ React.createElement(DismissibleAlert, { color: "red", styles: actionAlertStyles }, runtime.error.message));
127
+ };
128
+ export {
129
+ DomainCardPreviewFlowDetail
130
+ };
131
+ //# sourceMappingURL=DomainCardPreviewFlowDetail-Y2FE7O5Z.js.map