@ixo/editor 6.32.1 → 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.
- package/dist/BidConfig-YLGSEIOS.js +154 -0
- package/dist/BidConfig-YLGSEIOS.js.map +1 -0
- package/dist/BidFlowDetail-TJCJBJZZ.js +365 -0
- package/dist/BidFlowDetail-TJCJBJZZ.js.map +1 -0
- package/dist/CalendarEventCreateConfig-J2LU6LJO.js +155 -0
- package/dist/CalendarEventCreateConfig-J2LU6LJO.js.map +1 -0
- package/dist/CalendarEventCreateFlowDetail-ZWHZWDOK.js +174 -0
- package/dist/CalendarEventCreateFlowDetail-ZWHZWDOK.js.map +1 -0
- package/dist/CalendarEventListConfig-GQNNF4ZB.js +116 -0
- package/dist/CalendarEventListConfig-GQNNF4ZB.js.map +1 -0
- package/dist/CalendarEventListFlowDetail-SSRTOXIX.js +58 -0
- package/dist/CalendarEventListFlowDetail-SSRTOXIX.js.map +1 -0
- package/dist/CalendarEventUpdateConfig-KACZA6GH.js +133 -0
- package/dist/CalendarEventUpdateConfig-KACZA6GH.js.map +1 -0
- package/dist/CalendarEventUpdateFlowDetail-CD6NHHOU.js +155 -0
- package/dist/CalendarEventUpdateFlowDetail-CD6NHHOU.js.map +1 -0
- package/dist/ClaimConfig-3HKPGK55.js +200 -0
- package/dist/ClaimConfig-3HKPGK55.js.map +1 -0
- package/dist/ClaimFlowDetail-UVEQMEI5.js +641 -0
- package/dist/ClaimFlowDetail-UVEQMEI5.js.map +1 -0
- package/dist/CollectionLifecycleConfig-LCCGZ3CJ.js +149 -0
- package/dist/CollectionLifecycleConfig-LCCGZ3CJ.js.map +1 -0
- package/dist/CollectionLifecycleFlowDetail-WFCSVIIG.js +647 -0
- package/dist/CollectionLifecycleFlowDetail-WFCSVIIG.js.map +1 -0
- package/dist/CollectionUsersConfig-RI2X3YY2.js +271 -0
- package/dist/CollectionUsersConfig-RI2X3YY2.js.map +1 -0
- package/dist/CollectionUsersFlowDetail-ZLCJBWHG.js +1276 -0
- package/dist/CollectionUsersFlowDetail-ZLCJBWHG.js.map +1 -0
- package/dist/CredentialStoreConfig-G66AQDGZ.js +75 -0
- package/dist/CredentialStoreConfig-G66AQDGZ.js.map +1 -0
- package/dist/CredentialStoreFlowDetail-FL7QAM3S.js +99 -0
- package/dist/CredentialStoreFlowDetail-FL7QAM3S.js.map +1 -0
- package/dist/DesignPodConfig-LJ7H2CZ6.js +8 -0
- package/dist/DesignPodConfig-LJ7H2CZ6.js.map +1 -0
- package/dist/DesignPodFlowDetail-JHJWGNVY.js +309 -0
- package/dist/DesignPodFlowDetail-JHJWGNVY.js.map +1 -0
- package/dist/DomainCardPreviewConfig-Q3X5M4WF.js +37 -0
- package/dist/DomainCardPreviewConfig-Q3X5M4WF.js.map +1 -0
- package/dist/DomainCardPreviewFlowDetail-Y2FE7O5Z.js +131 -0
- package/dist/DomainCardPreviewFlowDetail-Y2FE7O5Z.js.map +1 -0
- package/dist/DomainIndexerLookupConfig-N4VONQUY.js +41 -0
- package/dist/DomainIndexerLookupConfig-N4VONQUY.js.map +1 -0
- package/dist/DomainIndexerLookupFlowDetail-GJ7WWK7I.js +70 -0
- package/dist/DomainIndexerLookupFlowDetail-GJ7WWK7I.js.map +1 -0
- package/dist/DomainSignConfig-XFIXROVK.js +47 -0
- package/dist/DomainSignConfig-XFIXROVK.js.map +1 -0
- package/dist/DomainSignFlowDetail-BXZ6JBPR.js +206 -0
- package/dist/DomainSignFlowDetail-BXZ6JBPR.js.map +1 -0
- package/dist/DomainSingleSelectionConfig-ZNKIXB4P.js +101 -0
- package/dist/DomainSingleSelectionConfig-ZNKIXB4P.js.map +1 -0
- package/dist/DomainSingleSelectionFlowDetail-HWTQXSLA.js +147 -0
- package/dist/DomainSingleSelectionFlowDetail-HWTQXSLA.js.map +1 -0
- package/dist/EmailSendConfig-YEGZ5Q77.js +215 -0
- package/dist/EmailSendConfig-YEGZ5Q77.js.map +1 -0
- package/dist/EntityCreateOracleConfig-UZ6ZIMP5.js +150 -0
- package/dist/EntityCreateOracleConfig-UZ6ZIMP5.js.map +1 -0
- package/dist/EntityCreateOracleFlowDetail-H2X7CPYU.js +120 -0
- package/dist/EntityCreateOracleFlowDetail-H2X7CPYU.js.map +1 -0
- package/dist/EntitySingleSelectionConfig-DL57KNKM.js +30 -0
- package/dist/EntitySingleSelectionConfig-DL57KNKM.js.map +1 -0
- package/dist/EntitySingleSelectionFlowDetail-GFQGX3GA.js +118 -0
- package/dist/EntitySingleSelectionFlowDetail-GFQGX3GA.js.map +1 -0
- package/dist/EntityTransferConfig-JVZ3H35B.js +62 -0
- package/dist/EntityTransferConfig-JVZ3H35B.js.map +1 -0
- package/dist/EntityTransferFlowDetail-XEXM34XB.js +132 -0
- package/dist/EntityTransferFlowDetail-XEXM34XB.js.map +1 -0
- package/dist/EvalEngineConfig-CHC4IRN3.js +464 -0
- package/dist/EvalEngineConfig-CHC4IRN3.js.map +1 -0
- package/dist/EvalEngineFlowDetail-PUFRNO4U.js +4291 -0
- package/dist/EvalEngineFlowDetail-PUFRNO4U.js.map +1 -0
- package/dist/EvaluateBidConfig-OE4CM43G.js +151 -0
- package/dist/EvaluateBidConfig-OE4CM43G.js.map +1 -0
- package/dist/EvaluateBidFlowDetail-2S2N4YTW.js +564 -0
- package/dist/EvaluateBidFlowDetail-2S2N4YTW.js.map +1 -0
- package/dist/EvaluateClaimConfig-3D4F5LHU.js +297 -0
- package/dist/EvaluateClaimConfig-3D4F5LHU.js.map +1 -0
- package/dist/EvaluateClaimFlowDetail-QYR7PJRD.js +2237 -0
- package/dist/EvaluateClaimFlowDetail-QYR7PJRD.js.map +1 -0
- package/dist/FormSubmitConfig-UFZYMLUN.js +59 -0
- package/dist/FormSubmitConfig-UFZYMLUN.js.map +1 -0
- package/dist/FormSubmitFlowDetail-IAHDJS6P.js +169 -0
- package/dist/FormSubmitFlowDetail-IAHDJS6P.js.map +1 -0
- package/dist/GovernanceAuthzExecFlowDetail-SQBGU5BX.js +166 -0
- package/dist/GovernanceAuthzExecFlowDetail-SQBGU5BX.js.map +1 -0
- package/dist/GovernanceAuthzGrantFlowDetail-DZPNLANT.js +88 -0
- package/dist/GovernanceAuthzGrantFlowDetail-DZPNLANT.js.map +1 -0
- package/dist/GovernanceAuthzRevokeFlowDetail-3JZ4IUJG.js +88 -0
- package/dist/GovernanceAuthzRevokeFlowDetail-3JZ4IUJG.js.map +1 -0
- package/dist/GovernanceChainVoteFlowDetail-475UDNG6.js +83 -0
- package/dist/GovernanceChainVoteFlowDetail-475UDNG6.js.map +1 -0
- package/dist/GovernanceConfigConfig-V3WM4WBP.js +30 -0
- package/dist/GovernanceConfigConfig-V3WM4WBP.js.map +1 -0
- package/dist/GovernanceConfigFlowDetail-SQ5PPDRX.js +267 -0
- package/dist/GovernanceConfigFlowDetail-SQ5PPDRX.js.map +1 -0
- package/dist/GovernanceContractExecuteFlowDetail-H2ZV6W2E.js +113 -0
- package/dist/GovernanceContractExecuteFlowDetail-H2ZV6W2E.js.map +1 -0
- package/dist/GovernanceContractInstantiateFlowDetail-YJJMGM54.js +144 -0
- package/dist/GovernanceContractInstantiateFlowDetail-YJJMGM54.js.map +1 -0
- package/dist/GovernanceContractManageCw20FlowDetail-OCBMW3YJ.js +72 -0
- package/dist/GovernanceContractManageCw20FlowDetail-OCBMW3YJ.js.map +1 -0
- package/dist/GovernanceContractMigrateFlowDetail-JDNIKTT3.js +104 -0
- package/dist/GovernanceContractMigrateFlowDetail-JDNIKTT3.js.map +1 -0
- package/dist/GovernanceContractUpdateAdminFlowDetail-SZBOAOCC.js +68 -0
- package/dist/GovernanceContractUpdateAdminFlowDetail-SZBOAOCC.js.map +1 -0
- package/dist/GovernanceCustomMessageFlowDetail-CXD4ZATO.js +78 -0
- package/dist/GovernanceCustomMessageFlowDetail-CXD4ZATO.js.map +1 -0
- package/dist/GovernanceDaoAcceptToMarketplaceFlowDetail-Q6ZBNY7Z.js +98 -0
- package/dist/GovernanceDaoAcceptToMarketplaceFlowDetail-Q6ZBNY7Z.js.map +1 -0
- package/dist/GovernanceDaoAdminExecFlowDetail-JAEAY2US.js +94 -0
- package/dist/GovernanceDaoAdminExecFlowDetail-JAEAY2US.js.map +1 -0
- package/dist/GovernanceDaoCreateEntityFlowDetail-7RVNTVAB.js +96 -0
- package/dist/GovernanceDaoCreateEntityFlowDetail-7RVNTVAB.js.map +1 -0
- package/dist/GovernanceDaoJoinFlowDetail-XYCTCNHO.js +68 -0
- package/dist/GovernanceDaoJoinFlowDetail-XYCTCNHO.js.map +1 -0
- package/dist/GovernanceDaoManageStorageFlowDetail-LMLYLYYC.js +93 -0
- package/dist/GovernanceDaoManageStorageFlowDetail-LMLYLYYC.js.map +1 -0
- package/dist/GovernanceDaoManageSubDaosFlowDetail-YUFQ67JN.js +84 -0
- package/dist/GovernanceDaoManageSubDaosFlowDetail-YUFQ67JN.js.map +1 -0
- package/dist/GovernanceDaoUpdateInfoFlowDetail-G5FIBY4L.js +104 -0
- package/dist/GovernanceDaoUpdateInfoFlowDetail-G5FIBY4L.js.map +1 -0
- package/dist/GovernanceMemberProposalConfig-IGPXEFDB.js +42 -0
- package/dist/GovernanceMemberProposalConfig-IGPXEFDB.js.map +1 -0
- package/dist/GovernanceMemberProposalFlowDetail-T3VURONF.js +240 -0
- package/dist/GovernanceMemberProposalFlowDetail-T3VURONF.js.map +1 -0
- package/dist/GovernanceNftBurnFlowDetail-AG4I2O7H.js +69 -0
- package/dist/GovernanceNftBurnFlowDetail-AG4I2O7H.js.map +1 -0
- package/dist/GovernanceNftManageCollectionsFlowDetail-UAAGO3Q6.js +71 -0
- package/dist/GovernanceNftManageCollectionsFlowDetail-UAAGO3Q6.js.map +1 -0
- package/dist/GovernanceNftTransferFlowDetail-KXM7DTOV.js +130 -0
- package/dist/GovernanceNftTransferFlowDetail-KXM7DTOV.js.map +1 -0
- package/dist/GovernanceSettingsProposalConfig-4SLJTBLW.js +42 -0
- package/dist/GovernanceSettingsProposalConfig-4SLJTBLW.js.map +1 -0
- package/dist/GovernanceSettingsProposalFlowDetail-VFZPSCLR.js +165 -0
- package/dist/GovernanceSettingsProposalFlowDetail-VFZPSCLR.js.map +1 -0
- package/dist/GovernanceStakingStakeFlowDetail-ULLJ7FLM.js +123 -0
- package/dist/GovernanceStakingStakeFlowDetail-ULLJ7FLM.js.map +1 -0
- package/dist/GovernanceStakingStakeToGroupFlowDetail-CSPKJA3H.js +84 -0
- package/dist/GovernanceStakingStakeToGroupFlowDetail-CSPKJA3H.js.map +1 -0
- package/dist/GovernanceSubmissionConfigProposalFlowDetail-MZCPSZF2.js +111 -0
- package/dist/GovernanceSubmissionConfigProposalFlowDetail-MZCPSZF2.js.map +1 -0
- package/dist/GovernanceTransactionMintFlowDetail-Y2WRAODH.js +66 -0
- package/dist/GovernanceTransactionMintFlowDetail-Y2WRAODH.js.map +1 -0
- package/dist/GovernanceTransactionPerformTokenSwapFlowDetail-GEK6PMMI.js +133 -0
- package/dist/GovernanceTransactionPerformTokenSwapFlowDetail-GEK6PMMI.js.map +1 -0
- package/dist/GovernanceTransactionSendFundsConfig-VBKMLSF3.js +42 -0
- package/dist/GovernanceTransactionSendFundsConfig-VBKMLSF3.js.map +1 -0
- package/dist/GovernanceTransactionSendFundsFlowDetail-5TZB64VL.js +182 -0
- package/dist/GovernanceTransactionSendFundsFlowDetail-5TZB64VL.js.map +1 -0
- package/dist/GovernanceTransactionSendGroupTokenFlowDetail-EGOWVZM2.js +155 -0
- package/dist/GovernanceTransactionSendGroupTokenFlowDetail-EGOWVZM2.js.map +1 -0
- package/dist/GovernanceTransactionWithdrawTokenSwapFlowDetail-6XWVO5O6.js +56 -0
- package/dist/GovernanceTransactionWithdrawTokenSwapFlowDetail-6XWVO5O6.js.map +1 -0
- package/dist/GovernanceValidatorActionsFlowDetail-ZMLPAFUB.js +117 -0
- package/dist/GovernanceValidatorActionsFlowDetail-ZMLPAFUB.js.map +1 -0
- package/dist/HarvestConfig-AIGOGBFR.js +56 -0
- package/dist/HarvestConfig-AIGOGBFR.js.map +1 -0
- package/dist/HarvestFlowDetail-X3RUH3X3.js +131 -0
- package/dist/HarvestFlowDetail-X3RUH3X3.js.map +1 -0
- package/dist/HttpRequestConfig-OQEJIIJY.js +194 -0
- package/dist/HttpRequestConfig-OQEJIIJY.js.map +1 -0
- package/dist/HttpRequestFlowDetail-JVLV533Z.js +116 -0
- package/dist/HttpRequestFlowDetail-JVLV533Z.js.map +1 -0
- package/dist/IdentityCreateConfig-ZBUOJ6AL.js +94 -0
- package/dist/IdentityCreateConfig-ZBUOJ6AL.js.map +1 -0
- package/dist/IdentityCreateFlowDetail-WGKO43IH.js +83 -0
- package/dist/IdentityCreateFlowDetail-WGKO43IH.js.map +1 -0
- package/dist/IidCreateConfig-RRV2DYXI.js +75 -0
- package/dist/IidCreateConfig-RRV2DYXI.js.map +1 -0
- package/dist/IidCreateFlowDetail-6M32S6XS.js +57 -0
- package/dist/IidCreateFlowDetail-6M32S6XS.js.map +1 -0
- package/dist/KycVerifyConfig-VCG65K5K.js +65 -0
- package/dist/KycVerifyConfig-VCG65K5K.js.map +1 -0
- package/dist/KycVerifyFlowDetail-EWOMXSD3.js +421 -0
- package/dist/KycVerifyFlowDetail-EWOMXSD3.js.map +1 -0
- package/dist/ListDomainFlowsConfig-3JZEPTOJ.js +37 -0
- package/dist/ListDomainFlowsConfig-3JZEPTOJ.js.map +1 -0
- package/dist/ListDomainFlowsFlowDetail-XX5AXDZZ.js +257 -0
- package/dist/ListDomainFlowsFlowDetail-XX5AXDZZ.js.map +1 -0
- package/dist/LoadBatchesConfig-IMODIWRT.js +38 -0
- package/dist/LoadBatchesConfig-IMODIWRT.js.map +1 -0
- package/dist/LoadBatchesFlowDetail-GB24T76O.js +101 -0
- package/dist/LoadBatchesFlowDetail-GB24T76O.js.map +1 -0
- package/dist/MatrixDmConfig-NBII27CS.js +120 -0
- package/dist/MatrixDmConfig-NBII27CS.js.map +1 -0
- package/dist/MatrixRegisterConfig-N2U4FBYF.js +62 -0
- package/dist/MatrixRegisterConfig-N2U4FBYF.js.map +1 -0
- package/dist/MatrixRegisterFlowDetail-D5YNL5QX.js +86 -0
- package/dist/MatrixRegisterFlowDetail-D5YNL5QX.js.map +1 -0
- package/dist/MemberMultiSelectConfig-E7WUB2WD.js +30 -0
- package/dist/MemberMultiSelectConfig-E7WUB2WD.js.map +1 -0
- package/dist/MemberMultiSelectFlowDetail-6C4ZMSDR.js +392 -0
- package/dist/MemberMultiSelectFlowDetail-6C4ZMSDR.js.map +1 -0
- package/dist/OracleConfig-R7TDTTKN.js +56 -0
- package/dist/OracleConfig-R7TDTTKN.js.map +1 -0
- package/dist/OracleConfigureOracleConfig-QFF74X3N.js +198 -0
- package/dist/OracleConfigureOracleConfig-QFF74X3N.js.map +1 -0
- package/dist/OracleConfigureOracleFlowDetail-73BHAN76.js +255 -0
- package/dist/OracleConfigureOracleFlowDetail-73BHAN76.js.map +1 -0
- package/dist/OracleContractConfig-PHY5L7W2.js +38 -0
- package/dist/OracleContractConfig-PHY5L7W2.js.map +1 -0
- package/dist/OracleContractFlowDetail-M3PM4AU4.js +78 -0
- package/dist/OracleContractFlowDetail-M3PM4AU4.js.map +1 -0
- package/dist/OracleDeployConfig-QBG76ATZ.js +10 -0
- package/dist/OracleDeployConfig-QBG76ATZ.js.map +1 -0
- package/dist/OracleDeployFlowDetail-WKTMD2AD.js +231 -0
- package/dist/OracleDeployFlowDetail-WKTMD2AD.js.map +1 -0
- package/dist/OracleDeploySetupConfig-75XPGFJQ.js +10 -0
- package/dist/OracleDeploySetupConfig-75XPGFJQ.js.map +1 -0
- package/dist/OracleDeploySetupFlowDetail-R3BQ7EAU.js +165 -0
- package/dist/OracleDeploySetupFlowDetail-R3BQ7EAU.js.map +1 -0
- package/dist/OracleDeployStartConfig-NA6GZ4VQ.js +10 -0
- package/dist/OracleDeployStartConfig-NA6GZ4VQ.js.map +1 -0
- package/dist/OracleDeployStartFlowDetail-EL3CMDMG.js +89 -0
- package/dist/OracleDeployStartFlowDetail-EL3CMDMG.js.map +1 -0
- package/dist/OracleFlowDetail-5JCJK3GH.js +76 -0
- package/dist/OracleFlowDetail-5JCJK3GH.js.map +1 -0
- package/dist/OraclePromptConfig-YBRESISH.js +39 -0
- package/dist/OraclePromptConfig-YBRESISH.js.map +1 -0
- package/dist/OraclePromptFlowDetail-O3XNK7HY.js +112 -0
- package/dist/OraclePromptFlowDetail-O3XNK7HY.js.map +1 -0
- package/dist/OracleStoreConfigConfig-TUZWTJMA.js +134 -0
- package/dist/OracleStoreConfigConfig-TUZWTJMA.js.map +1 -0
- package/dist/OracleStoreConfigFlowDetail-Q6AUUSUL.js +99 -0
- package/dist/OracleStoreConfigFlowDetail-Q6AUUSUL.js.map +1 -0
- package/dist/OracleStoreSecretsAndConfigConfig-SZPYEK7U.js +198 -0
- package/dist/OracleStoreSecretsAndConfigConfig-SZPYEK7U.js.map +1 -0
- package/dist/OracleStoreSecretsAndConfigFlowDetail-BFV2EHLT.js +220 -0
- package/dist/OracleStoreSecretsAndConfigFlowDetail-BFV2EHLT.js.map +1 -0
- package/dist/OracleStoreSecretsConfig-PQMF7LFT.js +191 -0
- package/dist/OracleStoreSecretsConfig-PQMF7LFT.js.map +1 -0
- package/dist/OracleStoreSecretsFlowDetail-DNNOPHVA.js +197 -0
- package/dist/OracleStoreSecretsFlowDetail-DNNOPHVA.js.map +1 -0
- package/dist/ProposalCreateConfig-U5IHZNT7.js +161 -0
- package/dist/ProposalCreateConfig-U5IHZNT7.js.map +1 -0
- package/dist/ProposalCreateFlowDetail-4VZZPAWH.js +235 -0
- package/dist/ProposalCreateFlowDetail-4VZZPAWH.js.map +1 -0
- package/dist/ProposalVoteConfig-MH4MU7SL.js +150 -0
- package/dist/ProposalVoteConfig-MH4MU7SL.js.map +1 -0
- package/dist/ProposalVoteFlowDetail-IJJ3OHAB.js +280 -0
- package/dist/ProposalVoteFlowDetail-IJJ3OHAB.js.map +1 -0
- package/dist/ProtocolSelectConfig-S5U3P6K7.js +48 -0
- package/dist/ProtocolSelectConfig-S5U3P6K7.js.map +1 -0
- package/dist/ProtocolSelectFlowDetail-XBSJIEIH.js +116 -0
- package/dist/ProtocolSelectFlowDetail-XBSJIEIH.js.map +1 -0
- package/dist/RetireConfig-MV37WWZ6.js +59 -0
- package/dist/RetireConfig-MV37WWZ6.js.map +1 -0
- package/dist/RetireFlowDetail-VZ5O4SXI.js +147 -0
- package/dist/RetireFlowDetail-VZ5O4SXI.js.map +1 -0
- package/dist/SandboxProvisionConfig-ZGG4IRHM.js +46 -0
- package/dist/SandboxProvisionConfig-ZGG4IRHM.js.map +1 -0
- package/dist/SandboxProvisionFlowDetail-RUY64INV.js +79 -0
- package/dist/SandboxProvisionFlowDetail-RUY64INV.js.map +1 -0
- package/dist/WalletFundConfig-CMM3EP3B.js +117 -0
- package/dist/WalletFundConfig-CMM3EP3B.js.map +1 -0
- package/dist/WalletFundFlowDetail-TXWCZA4K.js +279 -0
- package/dist/WalletFundFlowDetail-TXWCZA4K.js.map +1 -0
- package/dist/WalletGenerateAndFundConfig-364RSEND.js +10 -0
- package/dist/WalletGenerateAndFundConfig-364RSEND.js.map +1 -0
- package/dist/WalletGenerateAndFundFlowDetail-C2LZW3NO.js +54 -0
- package/dist/WalletGenerateAndFundFlowDetail-C2LZW3NO.js.map +1 -0
- package/dist/WalletGenerateConfig-YYLCS65G.js +10 -0
- package/dist/WalletGenerateConfig-YYLCS65G.js.map +1 -0
- package/dist/WalletGenerateFlowDetail-CQCNDGJA.js +53 -0
- package/dist/WalletGenerateFlowDetail-CQCNDGJA.js.map +1 -0
- package/dist/XeroContactCreateConfig-OWG5PA3B.js +102 -0
- package/dist/XeroContactCreateConfig-OWG5PA3B.js.map +1 -0
- package/dist/XeroContactCreateFlowDetail-6MAINCF6.js +127 -0
- package/dist/XeroContactCreateFlowDetail-6MAINCF6.js.map +1 -0
- package/dist/XeroInvoiceCreateConfig-O74RUSZM.js +403 -0
- package/dist/XeroInvoiceCreateConfig-O74RUSZM.js.map +1 -0
- package/dist/XeroInvoiceCreateFlowDetail-UL7KS6CZ.js +631 -0
- package/dist/XeroInvoiceCreateFlowDetail-UL7KS6CZ.js.map +1 -0
- package/dist/XeroInvoiceListConfig-UR3GONBJ.js +113 -0
- package/dist/XeroInvoiceListConfig-UR3GONBJ.js.map +1 -0
- package/dist/XeroInvoiceListFlowDetail-LYHODWH6.js +58 -0
- package/dist/XeroInvoiceListFlowDetail-LYHODWH6.js.map +1 -0
- package/dist/XeroPaymentCreateConfig-RPMAIK6E.js +116 -0
- package/dist/XeroPaymentCreateConfig-RPMAIK6E.js.map +1 -0
- package/dist/XeroPaymentCreateFlowDetail-CF35MVIM.js +573 -0
- package/dist/XeroPaymentCreateFlowDetail-CF35MVIM.js.map +1 -0
- package/dist/action-manifest.json +2091 -393
- package/dist/chunk-2GAYKKTL.js +9 -0
- package/dist/chunk-2GAYKKTL.js.map +1 -0
- package/dist/chunk-2WPEATI7.js +315 -0
- package/dist/chunk-2WPEATI7.js.map +1 -0
- package/dist/chunk-3O42FYT3.js +3333 -0
- package/dist/chunk-3O42FYT3.js.map +1 -0
- package/dist/chunk-3TUYY4HK.js +20 -0
- package/dist/chunk-3TUYY4HK.js.map +1 -0
- package/dist/chunk-3XSLBJYI.js +554 -0
- package/dist/chunk-3XSLBJYI.js.map +1 -0
- package/dist/chunk-4DGCCXD6.js +710 -0
- package/dist/chunk-4DGCCXD6.js.map +1 -0
- package/dist/chunk-4NAFQF6V.js +11 -0
- package/dist/chunk-4NAFQF6V.js.map +1 -0
- package/dist/chunk-4PONO4US.js +799 -0
- package/dist/chunk-4PONO4US.js.map +1 -0
- package/dist/chunk-4TMOIK5M.js +21 -0
- package/dist/chunk-4TMOIK5M.js.map +1 -0
- package/dist/chunk-5IH3VC5I.js +102 -0
- package/dist/chunk-5IH3VC5I.js.map +1 -0
- package/dist/chunk-5NTKDOP6.js +89 -0
- package/dist/chunk-5NTKDOP6.js.map +1 -0
- package/dist/chunk-5O2SFRGU.js +18 -0
- package/dist/chunk-5O2SFRGU.js.map +1 -0
- package/dist/chunk-632JLECF.js +55 -0
- package/dist/chunk-632JLECF.js.map +1 -0
- package/dist/chunk-676HDB7K.js +95 -0
- package/dist/chunk-676HDB7K.js.map +1 -0
- package/dist/chunk-6ESTNTSH.js +223 -0
- package/dist/chunk-6ESTNTSH.js.map +1 -0
- package/dist/chunk-6GKJR52N.js +15 -0
- package/dist/chunk-6GKJR52N.js.map +1 -0
- package/dist/chunk-6L4ZIKYU.js +23 -0
- package/dist/chunk-6L4ZIKYU.js.map +1 -0
- package/dist/chunk-76YX5R4L.js +11 -0
- package/dist/chunk-76YX5R4L.js.map +1 -0
- package/dist/chunk-7J3GFMN3.js +32 -0
- package/dist/chunk-7J3GFMN3.js.map +1 -0
- package/dist/chunk-7LSARC2G.js +102 -0
- package/dist/chunk-7LSARC2G.js.map +1 -0
- package/dist/chunk-7W7UUUIE.js +609 -0
- package/dist/chunk-7W7UUUIE.js.map +1 -0
- package/dist/chunk-7ZLW7H37.js +21 -0
- package/dist/chunk-7ZLW7H37.js.map +1 -0
- package/dist/chunk-AAZHI22G.js +18 -0
- package/dist/chunk-AAZHI22G.js.map +1 -0
- package/dist/chunk-ACNE455I.js +76 -0
- package/dist/chunk-ACNE455I.js.map +1 -0
- package/dist/chunk-BKLSSLPZ.js +27 -0
- package/dist/chunk-BKLSSLPZ.js.map +1 -0
- package/dist/chunk-BZ7UPUTY.js +417 -0
- package/dist/chunk-BZ7UPUTY.js.map +1 -0
- package/dist/chunk-CGFAICUE.js +28 -0
- package/dist/chunk-CGFAICUE.js.map +1 -0
- package/dist/chunk-CMCEWQ3C.js +19 -0
- package/dist/chunk-CMCEWQ3C.js.map +1 -0
- package/dist/chunk-CP4UV436.js +41 -0
- package/dist/chunk-CP4UV436.js.map +1 -0
- package/dist/chunk-D2CQPNQG.js +27508 -0
- package/dist/chunk-D2CQPNQG.js.map +1 -0
- package/dist/chunk-DIQRZP7Z.js +51 -0
- package/dist/chunk-DIQRZP7Z.js.map +1 -0
- package/dist/chunk-EBFFDDAS.js +13 -0
- package/dist/chunk-EBFFDDAS.js.map +1 -0
- package/dist/chunk-EGVS23DR.js +85 -0
- package/dist/chunk-EGVS23DR.js.map +1 -0
- package/dist/chunk-EKBQ7K4N.js +15 -0
- package/dist/chunk-EKBQ7K4N.js.map +1 -0
- package/dist/chunk-EKQCZRAN.js +24 -0
- package/dist/chunk-EKQCZRAN.js.map +1 -0
- package/dist/chunk-EYKZIZ5J.js +48 -0
- package/dist/chunk-EYKZIZ5J.js.map +1 -0
- package/dist/{chunk-NEOPTPDF.js → chunk-F4PTFXZH.js} +11554 -22046
- package/dist/chunk-F4PTFXZH.js.map +1 -0
- package/dist/chunk-FFYZXA75.js +58 -0
- package/dist/chunk-FFYZXA75.js.map +1 -0
- package/dist/chunk-GFGDHPZ2.js +22 -0
- package/dist/chunk-GFGDHPZ2.js.map +1 -0
- package/dist/chunk-GR3CDFID.js +18 -0
- package/dist/chunk-GR3CDFID.js.map +1 -0
- package/dist/chunk-GR4SIU32.js +104 -0
- package/dist/chunk-GR4SIU32.js.map +1 -0
- package/dist/chunk-H5E46IIS.js +18 -0
- package/dist/chunk-H5E46IIS.js.map +1 -0
- package/dist/chunk-HFHVAMZL.js +22 -0
- package/dist/chunk-HFHVAMZL.js.map +1 -0
- package/dist/chunk-HRRI4BLF.js +4456 -0
- package/dist/chunk-HRRI4BLF.js.map +1 -0
- package/dist/chunk-HT6L7A5M.js +12 -0
- package/dist/chunk-HT6L7A5M.js.map +1 -0
- package/dist/chunk-I2FPFISM.js +301 -0
- package/dist/chunk-I2FPFISM.js.map +1 -0
- package/dist/chunk-IADAQJDH.js +28 -0
- package/dist/chunk-IADAQJDH.js.map +1 -0
- package/dist/chunk-IBOBCMQQ.js +99 -0
- package/dist/chunk-IBOBCMQQ.js.map +1 -0
- package/dist/chunk-IFWKRCFF.js +56 -0
- package/dist/chunk-IFWKRCFF.js.map +1 -0
- package/dist/chunk-IH4T7V4C.js +40 -0
- package/dist/chunk-IH4T7V4C.js.map +1 -0
- package/dist/chunk-IIIZZ4E4.js +1679 -0
- package/dist/chunk-IIIZZ4E4.js.map +1 -0
- package/dist/chunk-ILSFU3WD.js +83 -0
- package/dist/chunk-ILSFU3WD.js.map +1 -0
- package/dist/chunk-IX3VBV3L.js +43 -0
- package/dist/chunk-IX3VBV3L.js.map +1 -0
- package/dist/chunk-JBBFSORW.js +846 -0
- package/dist/chunk-JBBFSORW.js.map +1 -0
- package/dist/chunk-JIDTNKKL.js +1183 -0
- package/dist/chunk-JIDTNKKL.js.map +1 -0
- package/dist/chunk-JSPE6NGZ.js +22 -0
- package/dist/chunk-JSPE6NGZ.js.map +1 -0
- package/dist/chunk-JVROGQ7Q.js +150 -0
- package/dist/chunk-JVROGQ7Q.js.map +1 -0
- package/dist/chunk-K4WUMWNJ.js +32 -0
- package/dist/chunk-K4WUMWNJ.js.map +1 -0
- package/dist/chunk-K74XQ4Q5.js +11 -0
- package/dist/chunk-K74XQ4Q5.js.map +1 -0
- package/dist/chunk-KLLMJ4U3.js +22 -0
- package/dist/chunk-KLLMJ4U3.js.map +1 -0
- package/dist/chunk-LTKVCJ2E.js +27 -0
- package/dist/chunk-LTKVCJ2E.js.map +1 -0
- package/dist/chunk-M36DJTFZ.js +34 -0
- package/dist/chunk-M36DJTFZ.js.map +1 -0
- package/dist/chunk-MHM52LCJ.js +154 -0
- package/dist/chunk-MHM52LCJ.js.map +1 -0
- package/dist/chunk-MQCDMHRZ.js +59 -0
- package/dist/chunk-MQCDMHRZ.js.map +1 -0
- package/dist/chunk-N3ORMGAI.js +348 -0
- package/dist/chunk-N3ORMGAI.js.map +1 -0
- package/dist/chunk-NCSGIRRQ.js +28 -0
- package/dist/chunk-NCSGIRRQ.js.map +1 -0
- package/dist/chunk-NIXT2SBH.js +1423 -0
- package/dist/chunk-NIXT2SBH.js.map +1 -0
- package/dist/chunk-NJAII6CO.js +148 -0
- package/dist/chunk-NJAII6CO.js.map +1 -0
- package/dist/chunk-NKE4TL43.js +92 -0
- package/dist/chunk-NKE4TL43.js.map +1 -0
- package/dist/chunk-NZ7AXA7B.js +1 -0
- package/dist/chunk-NZ7AXA7B.js.map +1 -0
- package/dist/chunk-OCAYEGI2.js +26 -0
- package/dist/chunk-OCAYEGI2.js.map +1 -0
- package/dist/chunk-OMLI45ER.js +90 -0
- package/dist/chunk-OMLI45ER.js.map +1 -0
- package/dist/chunk-P7OBLJAG.js +88 -0
- package/dist/chunk-P7OBLJAG.js.map +1 -0
- package/dist/chunk-PAY3CBWL.js +2321 -0
- package/dist/chunk-PAY3CBWL.js.map +1 -0
- package/dist/chunk-PFF6VY35.js +257 -0
- package/dist/chunk-PFF6VY35.js.map +1 -0
- package/dist/chunk-PYNDJDWZ.js +1758 -0
- package/dist/chunk-PYNDJDWZ.js.map +1 -0
- package/dist/chunk-QDQ6UMMN.js +53 -0
- package/dist/chunk-QDQ6UMMN.js.map +1 -0
- package/dist/chunk-QGT3G2XG.js +24 -0
- package/dist/chunk-QGT3G2XG.js.map +1 -0
- package/dist/chunk-QZYCJ2GZ.js +55 -0
- package/dist/chunk-QZYCJ2GZ.js.map +1 -0
- package/dist/chunk-REZ7RFSA.js +124 -0
- package/dist/chunk-REZ7RFSA.js.map +1 -0
- package/dist/chunk-RRYBAE6E.js +2449 -0
- package/dist/chunk-RRYBAE6E.js.map +1 -0
- package/dist/chunk-RWUZOB62.js +34 -0
- package/dist/chunk-RWUZOB62.js.map +1 -0
- package/dist/chunk-SB5UCPZH.js +116 -0
- package/dist/chunk-SB5UCPZH.js.map +1 -0
- package/dist/chunk-SEJJ7CRI.js +99 -0
- package/dist/chunk-SEJJ7CRI.js.map +1 -0
- package/dist/chunk-SHBFGRPV.js +45 -0
- package/dist/chunk-SHBFGRPV.js.map +1 -0
- package/dist/chunk-SOFJ4GC5.js +45 -0
- package/dist/chunk-SOFJ4GC5.js.map +1 -0
- package/dist/chunk-STH2HPZK.js +44 -0
- package/dist/chunk-STH2HPZK.js.map +1 -0
- package/dist/chunk-TK3JNKME.js +28 -0
- package/dist/chunk-TK3JNKME.js.map +1 -0
- package/dist/chunk-TMONHFE3.js +46 -0
- package/dist/chunk-TMONHFE3.js.map +1 -0
- package/dist/chunk-TR4KO3AG.js +44 -0
- package/dist/chunk-TR4KO3AG.js.map +1 -0
- package/dist/chunk-TS2LNBF2.js +68 -0
- package/dist/chunk-TS2LNBF2.js.map +1 -0
- package/dist/chunk-UZUMBFPP.js +26 -0
- package/dist/chunk-UZUMBFPP.js.map +1 -0
- package/dist/chunk-VRZ5LMOW.js +176 -0
- package/dist/chunk-VRZ5LMOW.js.map +1 -0
- package/dist/chunk-WLGGY6Z6.js +75 -0
- package/dist/chunk-WLGGY6Z6.js.map +1 -0
- package/dist/chunk-WO7V6ZNC.js +11 -0
- package/dist/chunk-WO7V6ZNC.js.map +1 -0
- package/dist/chunk-WXSENSRP.js +64 -0
- package/dist/chunk-WXSENSRP.js.map +1 -0
- package/dist/chunk-XEKBZ2SA.js +19 -0
- package/dist/chunk-XEKBZ2SA.js.map +1 -0
- package/dist/chunk-XPBKU3JX.js +61 -0
- package/dist/chunk-XPBKU3JX.js.map +1 -0
- package/dist/chunk-XRYXBXWH.js +24 -0
- package/dist/chunk-XRYXBXWH.js.map +1 -0
- package/dist/chunk-XVA7QRVH.js +22 -0
- package/dist/chunk-XVA7QRVH.js.map +1 -0
- package/dist/chunk-YCTHHBSS.js +37 -0
- package/dist/chunk-YCTHHBSS.js.map +1 -0
- package/dist/chunk-YHPWD5NE.js +70 -0
- package/dist/chunk-YHPWD5NE.js.map +1 -0
- package/dist/chunk-YLNEKJQ5.js +126 -0
- package/dist/chunk-YLNEKJQ5.js.map +1 -0
- package/dist/chunk-YN4CEKCF.js +73 -0
- package/dist/chunk-YN4CEKCF.js.map +1 -0
- package/dist/chunk-YYNMESIF.js +17 -0
- package/dist/chunk-YYNMESIF.js.map +1 -0
- package/dist/chunk-Z6PRMCV6.js +1 -0
- package/dist/chunk-Z6PRMCV6.js.map +1 -0
- package/dist/chunk-ZDNW6VQG.js +11 -0
- package/dist/chunk-ZDNW6VQG.js.map +1 -0
- package/dist/chunk-ZP4D73DO.js +36 -0
- package/dist/chunk-ZP4D73DO.js.map +1 -0
- package/dist/chunk-ZUATADUV.js +26 -0
- package/dist/chunk-ZUATADUV.js.map +1 -0
- package/dist/{connections-1NtNQrsY.d.ts → connections-CEcurtWI.d.ts} +74 -9
- package/dist/core/index.cjs +14041 -6973
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.ts +422 -138
- package/dist/core/index.js +425 -183
- package/dist/core/index.js.map +1 -1
- package/dist/flow-vnext/index.cjs +2842 -0
- package/dist/flow-vnext/index.cjs.map +1 -0
- package/dist/flow-vnext/index.d.ts +3 -0
- package/dist/flow-vnext/index.js +119 -0
- package/dist/flow-vnext/index.js.map +1 -0
- package/dist/{graphql-client-Bn0tN049.d.ts → graphql-client-B2tREsx6.d.ts} +3 -1
- package/dist/index-b9xxXGFs.d.ts +1230 -0
- package/dist/index.d.ts +5 -3
- package/dist/index.js +202 -37
- package/dist/index.js.map +1 -1
- package/dist/legacy-BpgIqaQ5.d.ts +14 -0
- package/dist/mantine/index.d.ts +7 -4
- package/dist/mantine/index.js +84 -30
- package/dist/mantine/index.js.map +1 -1
- package/dist/{runtime-BFwvCQDF.d.ts → types-Dqk5MTfW.d.ts} +6096 -5386
- package/package.json +12 -2
- package/dist/chunk-5JF23UP3.js +0 -59687
- package/dist/chunk-5JF23UP3.js.map +0 -1
- package/dist/chunk-A4CWC4AG.js +0 -374
- package/dist/chunk-A4CWC4AG.js.map +0 -1
- package/dist/chunk-NEOPTPDF.js.map +0 -1
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import {
|
|
2
|
+
parseEntityCreateOracleInputs
|
|
3
|
+
} from "./chunk-WXSENSRP.js";
|
|
4
|
+
import {
|
|
5
|
+
useRunRuntimeReader
|
|
6
|
+
} from "./chunk-FFYZXA75.js";
|
|
7
|
+
import "./chunk-NZ7AXA7B.js";
|
|
8
|
+
import {
|
|
9
|
+
resolveReferences
|
|
10
|
+
} from "./chunk-JVROGQ7Q.js";
|
|
11
|
+
import "./chunk-IIIZZ4E4.js";
|
|
12
|
+
import "./chunk-HT6L7A5M.js";
|
|
13
|
+
import "./chunk-NCSGIRRQ.js";
|
|
14
|
+
import {
|
|
15
|
+
DismissibleAlert
|
|
16
|
+
} from "./chunk-IFWKRCFF.js";
|
|
17
|
+
import {
|
|
18
|
+
actionAlertStyles
|
|
19
|
+
} from "./chunk-6GKJR52N.js";
|
|
20
|
+
import "./chunk-4DGCCXD6.js";
|
|
21
|
+
import "./chunk-7W7UUUIE.js";
|
|
22
|
+
import "./chunk-TS2LNBF2.js";
|
|
23
|
+
|
|
24
|
+
// src/mantine/blocks/action/actionTypes/entityCreateOracle/EntityCreateOracleFlowDetail.tsx
|
|
25
|
+
import React, { useCallback, useMemo } from "react";
|
|
26
|
+
import { ActionIcon, Button, CopyButton, Group, Loader, Stack, Text, Tooltip } from "@mantine/core";
|
|
27
|
+
import { IconCheck, IconAlertCircle, IconCopy } from "@tabler/icons-react";
|
|
28
|
+
var EntityCreateOracleFlowDetail = ({ inputs, editor, block, runtime, updateRuntime, isDisabled, executeAction }) => {
|
|
29
|
+
const parsed = useMemo(() => parseEntityCreateOracleInputs(inputs), [inputs]);
|
|
30
|
+
const editorDocument = editor?.document || [];
|
|
31
|
+
const runtimeReader = useRunRuntimeReader(editor);
|
|
32
|
+
const resolveOpts = useMemo(() => ({ yRuntime: runtimeReader }), [runtimeReader]);
|
|
33
|
+
const resolvedInputs = useMemo(() => {
|
|
34
|
+
const r = (val) => resolveReferences(val || "", editorDocument, resolveOpts).trim();
|
|
35
|
+
const formAnswersStr = r(parsed.formAnswers);
|
|
36
|
+
const form = (() => {
|
|
37
|
+
if (!formAnswersStr) return {};
|
|
38
|
+
try {
|
|
39
|
+
const p = JSON.parse(formAnswersStr);
|
|
40
|
+
return p && typeof p === "object" ? p : {};
|
|
41
|
+
} catch {
|
|
42
|
+
return {};
|
|
43
|
+
}
|
|
44
|
+
})();
|
|
45
|
+
const pick = (top, fromForm) => {
|
|
46
|
+
if (top) return top;
|
|
47
|
+
if (typeof fromForm === "string") return fromForm;
|
|
48
|
+
if (typeof fromForm === "number" || typeof fromForm === "boolean") return String(fromForm);
|
|
49
|
+
return "";
|
|
50
|
+
};
|
|
51
|
+
return {
|
|
52
|
+
// From upstream runtime (wallet / identity blocks)
|
|
53
|
+
mnemonic: r(parsed.mnemonic),
|
|
54
|
+
address: r(parsed.address),
|
|
55
|
+
did: r(parsed.did),
|
|
56
|
+
pubKey: r(parsed.pubKey),
|
|
57
|
+
matrixAccessToken: r(parsed.matrixAccessToken),
|
|
58
|
+
matrixRoomId: r(parsed.matrixRoomId),
|
|
59
|
+
// From form (with top-level override)
|
|
60
|
+
pin: pick(r(parsed.pin), form.pin),
|
|
61
|
+
oracleName: pick(r(parsed.oracleName), form.oracleName),
|
|
62
|
+
orgName: pick(r(parsed.orgName), form.orgName),
|
|
63
|
+
description: pick(r(parsed.description), form.description),
|
|
64
|
+
location: pick(r(parsed.location), form.location),
|
|
65
|
+
logoUrl: pick(r(parsed.logoUrl), form.logoUrl),
|
|
66
|
+
coverImageUrl: pick(r(parsed.coverImageUrl), form.coverImageUrl),
|
|
67
|
+
apiUrl: pick(r(parsed.apiUrl), form.apiUrl),
|
|
68
|
+
price: pick(r(parsed.price), form.price),
|
|
69
|
+
llmModel: pick(r(parsed.llmModel), form.llmModel),
|
|
70
|
+
opening: pick(r(parsed.opening), form.opening),
|
|
71
|
+
communicationStyle: pick(r(parsed.communicationStyle), form.communicationStyle),
|
|
72
|
+
capabilities: pick(r(parsed.capabilities), form.capabilities),
|
|
73
|
+
mcpConfig: r(parsed.mcpConfig),
|
|
74
|
+
parentProtocol: r(parsed.parentProtocol),
|
|
75
|
+
// Pass the raw blob through so actionDef.run can also merge
|
|
76
|
+
formAnswers: formAnswersStr
|
|
77
|
+
};
|
|
78
|
+
}, [parsed, editorDocument, resolveOpts]);
|
|
79
|
+
const inputsReady = !!(resolvedInputs.mnemonic && resolvedInputs.address && resolvedInputs.did && resolvedInputs.pubKey && resolvedInputs.matrixAccessToken && resolvedInputs.matrixRoomId && resolvedInputs.pin && resolvedInputs.oracleName && resolvedInputs.apiUrl && resolvedInputs.price);
|
|
80
|
+
const entityDid = runtime.output?.entityDid || runtime.output?.did || "";
|
|
81
|
+
const hasProof = !!entityDid;
|
|
82
|
+
const isRunning = runtime.state === "running";
|
|
83
|
+
const isCompleted = runtime.state === "completed" && hasProof;
|
|
84
|
+
const isStale = runtime.state === "completed" && !hasProof;
|
|
85
|
+
const isFailed = runtime.state === "failed";
|
|
86
|
+
const errorMessage = runtime.error?.message || null;
|
|
87
|
+
const handleExecute = useCallback(async () => {
|
|
88
|
+
console.log("[entity.createOracle] handleExecute", { "runtime.state": runtime.state, hasProof, inputsReady });
|
|
89
|
+
if (isDisabled || isRunning) return;
|
|
90
|
+
if (!executeAction) {
|
|
91
|
+
updateRuntime({ state: "failed", error: { message: "Shared action executor is unavailable", at: Date.now() } });
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
if (!inputsReady) {
|
|
95
|
+
console.warn("[entity.createOracle] inputs not ready");
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
try {
|
|
99
|
+
const outcome = await executeAction({ runtimeInputs: resolvedInputs });
|
|
100
|
+
console.log("[entity.createOracle] outcome", outcome);
|
|
101
|
+
if (!outcome.success) throw new Error(outcome.error || "Oracle entity creation failed");
|
|
102
|
+
const payload = outcome.output;
|
|
103
|
+
if (!payload?.entityDid) {
|
|
104
|
+
throw new Error("Action returned success without an entityDid. Check the [oracle:createOracleEntity] handler logs.");
|
|
105
|
+
}
|
|
106
|
+
} catch (err) {
|
|
107
|
+
const message = err instanceof Error ? err.message : "Failed to create oracle entity";
|
|
108
|
+
console.error("[entity.createOracle] failed", { message, err });
|
|
109
|
+
updateRuntime({ state: "failed", error: { message, at: Date.now() } });
|
|
110
|
+
}
|
|
111
|
+
}, [executeAction, isDisabled, isRunning, hasProof, inputsReady, resolvedInputs, runtime.state, updateRuntime]);
|
|
112
|
+
const handleRetry = useCallback(() => {
|
|
113
|
+
updateRuntime({ state: "idle", error: void 0, output: {} });
|
|
114
|
+
}, [updateRuntime]);
|
|
115
|
+
return /* @__PURE__ */ React.createElement(Stack, { gap: "md" }, /* @__PURE__ */ React.createElement(Stack, { gap: 2 }, /* @__PURE__ */ React.createElement(Text, { fw: 600 }, block?.props?.title || "Create Oracle Entity"), /* @__PURE__ */ React.createElement(Text, { size: "sm", c: "dimmed" }, block?.props?.description || "Create an oracle entity on-chain.")), !isRunning && !isCompleted && !isStale && !isFailed && !inputsReady && /* @__PURE__ */ React.createElement(Group, { gap: "xs" }, /* @__PURE__ */ React.createElement(Loader, { size: 14 }), /* @__PURE__ */ React.createElement(Text, { size: "sm", c: "dimmed" }, "Waiting for upstream wallet + matrix + form inputs...")), isRunning && /* @__PURE__ */ React.createElement(Group, { gap: "xs" }, /* @__PURE__ */ React.createElement(Loader, { size: 14 }), /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Creating oracle entity...")), isCompleted && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconCheck, { size: 16 }), title: "Oracle Entity Created", color: "green" }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Oracle entity created successfully on-chain."), /* @__PURE__ */ React.createElement(Group, { gap: 6, wrap: "nowrap", align: "center" }, /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "Entity DID:"), /* @__PURE__ */ React.createElement(Text, { size: "xs", ff: "monospace", style: { wordBreak: "break-all" } }, entityDid), /* @__PURE__ */ React.createElement(CopyButton, { value: entityDid, timeout: 1500 }, ({ copied, copy }) => /* @__PURE__ */ React.createElement(Tooltip, { label: copied ? "Copied" : "Copy" }, /* @__PURE__ */ React.createElement(ActionIcon, { size: "sm", variant: "subtle", color: copied ? "teal" : "gray", onClick: copy }, copied ? /* @__PURE__ */ React.createElement(IconCheck, { size: 14 }) : /* @__PURE__ */ React.createElement(IconCopy, { size: 14 }))))))), isStale && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconAlertCircle, { size: 16 }), color: "yellow", title: "Inconsistent State" }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Marked completed but no entityDid recorded. Stale state \u2014 reset and re-run."), /* @__PURE__ */ React.createElement(Group, null, /* @__PURE__ */ React.createElement(Button, { variant: "outline", size: "xs", onClick: handleRetry }, "Reset"), /* @__PURE__ */ React.createElement(Button, { variant: "filled", size: "xs", onClick: handleExecute, disabled: !inputsReady }, "Force Run Now")))), isFailed && errorMessage && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconAlertCircle, { size: 16 }), color: "red", styles: actionAlertStyles }, errorMessage), isFailed && /* @__PURE__ */ React.createElement(Group, null, /* @__PURE__ */ React.createElement(Button, { variant: "outline", onClick: handleRetry }, "Try Again")), !isRunning && !isStale && /* @__PURE__ */ React.createElement(Group, null, /* @__PURE__ */ React.createElement(Button, { variant: "filled", size: "sm", onClick: handleExecute, disabled: !inputsReady || isDisabled }, isCompleted ? "Re-run" : inputsReady ? "Run Now" : "Waiting for inputs...")));
|
|
116
|
+
};
|
|
117
|
+
export {
|
|
118
|
+
EntityCreateOracleFlowDetail
|
|
119
|
+
};
|
|
120
|
+
//# sourceMappingURL=EntityCreateOracleFlowDetail-H2X7CPYU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/mantine/blocks/action/actionTypes/entityCreateOracle/EntityCreateOracleFlowDetail.tsx"],"sourcesContent":["import { useRunRuntimeReader } from '@/mantine/hooks/useRunRuntimeReader';\nimport React, { useCallback, useMemo } from 'react';\nimport { ActionIcon, Button, CopyButton, Group, Loader, Stack, Text, Tooltip } from '@mantine/core';\nimport { DismissibleAlert as Alert } from '@/mantine/components/Base/DismissibleAlert';\nimport { IconCheck, IconAlertCircle, IconCopy } from '@tabler/icons-react';\nimport { resolveReferences } from '@/mantine/utils/referenceResolver';\nimport type { ActionTypeFlowProps } from '../../actionTypeUI';\nimport { parseEntityCreateOracleInputs } from './types';\nimport { actionAlertStyles } from '../../alertStyles';\n\nexport const EntityCreateOracleFlowDetail: React.FC<ActionTypeFlowProps> = ({ inputs, editor, block, runtime, updateRuntime, isDisabled, executeAction }) => {\n const parsed = useMemo(() => parseEntityCreateOracleInputs(inputs), [inputs]);\n const editorDocument = editor?.document || [];\n const runtimeReader = useRunRuntimeReader(editor);\n const resolveOpts = useMemo(() => ({ yRuntime: runtimeReader }), [runtimeReader]);\n const resolvedInputs = useMemo(() => {\n const r = (val: string | undefined) => resolveReferences(val || '', editorDocument, resolveOpts).trim();\n // Form answers arrive as a JSON string via {{form-block.output.form.answers}}.\n // Unpack them here so inputsReady can see form-sourced fields.\n const formAnswersStr = r(parsed.formAnswers);\n const form: Record<string, unknown> = (() => {\n if (!formAnswersStr) return {};\n try {\n const p = JSON.parse(formAnswersStr);\n return p && typeof p === 'object' ? p : {};\n } catch {\n return {};\n }\n })();\n const pick = (top: string, fromForm: unknown) => {\n if (top) return top;\n if (typeof fromForm === 'string') return fromForm;\n if (typeof fromForm === 'number' || typeof fromForm === 'boolean') return String(fromForm);\n return '';\n };\n return {\n // From upstream runtime (wallet / identity blocks)\n mnemonic: r(parsed.mnemonic),\n address: r(parsed.address),\n did: r(parsed.did),\n pubKey: r(parsed.pubKey),\n matrixAccessToken: r(parsed.matrixAccessToken),\n matrixRoomId: r(parsed.matrixRoomId),\n // From form (with top-level override)\n pin: pick(r(parsed.pin), form.pin),\n oracleName: pick(r(parsed.oracleName), form.oracleName),\n orgName: pick(r(parsed.orgName), form.orgName),\n description: pick(r(parsed.description), form.description),\n location: pick(r(parsed.location), form.location),\n logoUrl: pick(r(parsed.logoUrl), form.logoUrl),\n coverImageUrl: pick(r(parsed.coverImageUrl), form.coverImageUrl),\n apiUrl: pick(r(parsed.apiUrl), form.apiUrl),\n price: pick(r(parsed.price), form.price),\n llmModel: pick(r(parsed.llmModel), form.llmModel),\n opening: pick(r(parsed.opening), form.opening),\n communicationStyle: pick(r(parsed.communicationStyle), form.communicationStyle),\n capabilities: pick(r(parsed.capabilities), form.capabilities),\n mcpConfig: r(parsed.mcpConfig),\n parentProtocol: r(parsed.parentProtocol),\n // Pass the raw blob through so actionDef.run can also merge\n formAnswers: formAnswersStr,\n };\n }, [parsed, editorDocument, resolveOpts]);\n const inputsReady = !!(\n resolvedInputs.mnemonic &&\n resolvedInputs.address &&\n resolvedInputs.did &&\n resolvedInputs.pubKey &&\n resolvedInputs.matrixAccessToken &&\n resolvedInputs.matrixRoomId &&\n resolvedInputs.pin &&\n resolvedInputs.oracleName &&\n resolvedInputs.apiUrl &&\n resolvedInputs.price\n );\n\n // Derived from runtime — single source of truth.\n const entityDid: string = runtime.output?.entityDid || runtime.output?.did || '';\n const hasProof = !!entityDid;\n const isRunning = runtime.state === 'running';\n const isCompleted = runtime.state === 'completed' && hasProof;\n const isStale = runtime.state === 'completed' && !hasProof;\n const isFailed = runtime.state === 'failed';\n const errorMessage = runtime.error?.message || null;\n\n const handleExecute = useCallback(async () => {\n console.log('[entity.createOracle] handleExecute', { 'runtime.state': runtime.state, hasProof, inputsReady });\n if (isDisabled || isRunning) return;\n\n if (!executeAction) {\n updateRuntime({ state: 'failed', error: { message: 'Shared action executor is unavailable', at: Date.now() } });\n return;\n }\n\n if (!inputsReady) {\n console.warn('[entity.createOracle] inputs not ready');\n return;\n }\n\n try {\n const outcome = await executeAction({ runtimeInputs: resolvedInputs });\n\n console.log('[entity.createOracle] outcome', outcome);\n if (!outcome.success) throw new Error(outcome.error || 'Oracle entity creation failed');\n\n const payload = outcome.output as { entityDid?: string; transactionHash?: string } | undefined;\n if (!payload?.entityDid) {\n throw new Error('Action returned success without an entityDid. Check the [oracle:createOracleEntity] handler logs.');\n }\n } catch (err) {\n const message = err instanceof Error ? err.message : 'Failed to create oracle entity';\n console.error('[entity.createOracle] failed', { message, err });\n updateRuntime({ state: 'failed', error: { message, at: Date.now() } });\n }\n }, [executeAction, isDisabled, isRunning, hasProof, inputsReady, resolvedInputs, runtime.state, updateRuntime]);\n\n const handleRetry = useCallback(() => {\n updateRuntime({ state: 'idle', error: undefined, output: {} });\n }, [updateRuntime]);\n\n return (\n <Stack gap=\"md\">\n <Stack gap={2}>\n <Text fw={600}>{block?.props?.title || 'Create Oracle Entity'}</Text>\n <Text size=\"sm\" c=\"dimmed\">\n {block?.props?.description || 'Create an oracle entity on-chain.'}\n </Text>\n </Stack>\n\n {!isRunning && !isCompleted && !isStale && !isFailed && !inputsReady && (\n <Group gap=\"xs\">\n <Loader size={14} />\n <Text size=\"sm\" c=\"dimmed\">\n Waiting for upstream wallet + matrix + form inputs...\n </Text>\n </Group>\n )}\n\n {isRunning && (\n <Group gap=\"xs\">\n <Loader size={14} />\n <Text size=\"sm\">Creating oracle entity...</Text>\n </Group>\n )}\n\n {isCompleted && (\n <Alert icon={<IconCheck size={16} />} title=\"Oracle Entity Created\" color=\"green\">\n <Stack gap=\"xs\">\n <Text size=\"sm\">Oracle entity created successfully on-chain.</Text>\n <Group gap={6} wrap=\"nowrap\" align=\"center\">\n <Text size=\"xs\" c=\"dimmed\">\n Entity DID:\n </Text>\n <Text size=\"xs\" ff=\"monospace\" style={{ wordBreak: 'break-all' }}>\n {entityDid}\n </Text>\n <CopyButton value={entityDid} timeout={1500}>\n {({ copied, copy }) => (\n <Tooltip label={copied ? 'Copied' : 'Copy'}>\n <ActionIcon size=\"sm\" variant=\"subtle\" color={copied ? 'teal' : 'gray'} onClick={copy}>\n {copied ? <IconCheck size={14} /> : <IconCopy size={14} />}\n </ActionIcon>\n </Tooltip>\n )}\n </CopyButton>\n </Group>\n </Stack>\n </Alert>\n )}\n\n {isStale && (\n <Alert icon={<IconAlertCircle size={16} />} color=\"yellow\" title=\"Inconsistent State\">\n <Stack gap=\"xs\">\n <Text size=\"sm\">Marked completed but no entityDid recorded. Stale state — reset and re-run.</Text>\n <Group>\n <Button variant=\"outline\" size=\"xs\" onClick={handleRetry}>\n Reset\n </Button>\n <Button variant=\"filled\" size=\"xs\" onClick={handleExecute} disabled={!inputsReady}>\n Force Run Now\n </Button>\n </Group>\n </Stack>\n </Alert>\n )}\n\n {isFailed && errorMessage && (\n <Alert icon={<IconAlertCircle size={16} />} color=\"red\" styles={actionAlertStyles}>\n {errorMessage}\n </Alert>\n )}\n {isFailed && (\n <Group>\n <Button variant=\"outline\" onClick={handleRetry}>\n Try Again\n </Button>\n </Group>\n )}\n\n {!isRunning && !isStale && (\n <Group>\n <Button variant=\"filled\" size=\"sm\" onClick={handleExecute} disabled={!inputsReady || isDisabled}>\n {isCompleted ? 'Re-run' : inputsReady ? 'Run Now' : 'Waiting for inputs...'}\n </Button>\n </Group>\n )}\n </Stack>\n );\n};\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BaseTextInput
|
|
3
|
+
} from "./chunk-WO7V6ZNC.js";
|
|
4
|
+
import {
|
|
5
|
+
parseJsonSafe
|
|
6
|
+
} from "./chunk-KLLMJ4U3.js";
|
|
7
|
+
|
|
8
|
+
// src/mantine/blocks/action/actionTypes/pod/entitySingleSelection/EntitySingleSelectionConfig.tsx
|
|
9
|
+
import React, { useCallback, useEffect, useState } from "react";
|
|
10
|
+
import { Stack, Text } from "@mantine/core";
|
|
11
|
+
var DEFAULT = { did: "", role: "controller" };
|
|
12
|
+
var EntitySingleSelectionConfig = ({ inputs, onInputsChange }) => {
|
|
13
|
+
const [local, setLocal] = useState(() => parseJsonSafe(inputs, DEFAULT));
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
setLocal(parseJsonSafe(inputs, DEFAULT));
|
|
16
|
+
}, [inputs]);
|
|
17
|
+
const update = useCallback(
|
|
18
|
+
(patch) => {
|
|
19
|
+
const updated = { ...local, ...patch };
|
|
20
|
+
setLocal(updated);
|
|
21
|
+
onInputsChange(JSON.stringify(updated));
|
|
22
|
+
},
|
|
23
|
+
[local, onInputsChange]
|
|
24
|
+
);
|
|
25
|
+
return /* @__PURE__ */ React.createElement(Stack, { gap: "md" }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm", fw: 600 }, "Actor DID Reference"), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, 'The DID to query controlled entities for. Use "userDID" to resolve to the current user at runtime.'), /* @__PURE__ */ React.createElement(BaseTextInput, { placeholder: "userDID", value: local.did, onChange: (e) => update({ did: e.currentTarget.value }) })), /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm", fw: 600 }, "Required Role"), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "Only entities where the user holds this role are shown. Default: controller."), /* @__PURE__ */ React.createElement(BaseTextInput, { placeholder: "controller", value: local.role, onChange: (e) => update({ role: e.currentTarget.value }) })));
|
|
26
|
+
};
|
|
27
|
+
export {
|
|
28
|
+
EntitySingleSelectionConfig
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=EntitySingleSelectionConfig-DL57KNKM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/mantine/blocks/action/actionTypes/pod/entitySingleSelection/EntitySingleSelectionConfig.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react';\nimport { Stack, Text } from '@mantine/core';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\nimport type { ActionTypeConfigProps } from '../../../actionTypeUI';\nimport { parseJsonSafe } from '../types';\n\ninterface EntitySingleSelectionInputs {\n did: string;\n role: string;\n}\n\nconst DEFAULT: EntitySingleSelectionInputs = { did: '', role: 'controller' };\n\n/**\n * @description Template-mode config for EntitySingleSelection.\n * Sets the user DID source and the required role.\n */\nexport const EntitySingleSelectionConfig: React.FC<ActionTypeConfigProps> = ({ inputs, onInputsChange }) => {\n const [local, setLocal] = useState<EntitySingleSelectionInputs>(() => parseJsonSafe(inputs, DEFAULT));\n\n useEffect(() => {\n setLocal(parseJsonSafe(inputs, DEFAULT));\n }, [inputs]);\n\n const update = useCallback(\n (patch: Partial<EntitySingleSelectionInputs>) => {\n const updated = { ...local, ...patch };\n setLocal(updated);\n onInputsChange(JSON.stringify(updated));\n },\n [local, onInputsChange]\n );\n\n return (\n <Stack gap=\"md\">\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={600}>\n Actor DID Reference\n </Text>\n <Text size=\"xs\" c=\"dimmed\">\n The DID to query controlled entities for. Use "userDID" to resolve to the current user at runtime.\n </Text>\n <BaseTextInput placeholder=\"userDID\" value={local.did} onChange={(e) => update({ did: e.currentTarget.value })} />\n </Stack>\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={600}>\n Required Role\n </Text>\n <Text size=\"xs\" c=\"dimmed\">\n Only entities where the user holds this role are shown. Default: controller.\n </Text>\n <BaseTextInput placeholder=\"controller\" value={local.role} onChange={(e) => update({ role: e.currentTarget.value })} />\n </Stack>\n </Stack>\n );\n};\n"],"mappings":";;;;;;;;AAAA,OAAO,SAAS,aAAa,WAAW,gBAAgB;AACxD,SAAS,OAAO,YAAY;AAU5B,IAAM,UAAuC,EAAE,KAAK,IAAI,MAAM,aAAa;AAMpE,IAAM,8BAA+D,CAAC,EAAE,QAAQ,eAAe,MAAM;AAC1G,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAsC,MAAM,cAAc,QAAQ,OAAO,CAAC;AAEpG,YAAU,MAAM;AACd,aAAS,cAAc,QAAQ,OAAO,CAAC;AAAA,EACzC,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,SAAS;AAAA,IACb,CAAC,UAAgD;AAC/C,YAAM,UAAU,EAAE,GAAG,OAAO,GAAG,MAAM;AACrC,eAAS,OAAO;AAChB,qBAAe,KAAK,UAAU,OAAO,CAAC;AAAA,IACxC;AAAA,IACA,CAAC,OAAO,cAAc;AAAA,EACxB;AAEA,SACE,oCAAC,SAAM,KAAI,QACT,oCAAC,SAAM,KAAI,QACT,oCAAC,QAAK,MAAK,MAAK,IAAI,OAAK,qBAEzB,GACA,oCAAC,QAAK,MAAK,MAAK,GAAE,YAAS,oGAE3B,GACA,oCAAC,iBAAc,aAAY,WAAU,OAAO,MAAM,KAAK,UAAU,CAAC,MAAM,OAAO,EAAE,KAAK,EAAE,cAAc,MAAM,CAAC,GAAG,CAClH,GACA,oCAAC,SAAM,KAAI,QACT,oCAAC,QAAK,MAAK,MAAK,IAAI,OAAK,eAEzB,GACA,oCAAC,QAAK,MAAK,MAAK,GAAE,YAAS,8EAE3B,GACA,oCAAC,iBAAc,aAAY,cAAa,OAAO,MAAM,MAAM,UAAU,CAAC,MAAM,OAAO,EAAE,MAAM,EAAE,cAAc,MAAM,CAAC,GAAG,CACvH,CACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import {
|
|
2
|
+
EntityAvatar_default
|
|
3
|
+
} from "./chunk-BKLSSLPZ.js";
|
|
4
|
+
import {
|
|
5
|
+
DismissibleAlert
|
|
6
|
+
} from "./chunk-IFWKRCFF.js";
|
|
7
|
+
import {
|
|
8
|
+
actionAlertStyles
|
|
9
|
+
} from "./chunk-6GKJR52N.js";
|
|
10
|
+
import {
|
|
11
|
+
useBlocknoteHandlers
|
|
12
|
+
} from "./chunk-4DGCCXD6.js";
|
|
13
|
+
import "./chunk-7W7UUUIE.js";
|
|
14
|
+
import "./chunk-TS2LNBF2.js";
|
|
15
|
+
|
|
16
|
+
// src/mantine/blocks/action/actionTypes/pod/entitySingleSelection/EntitySingleSelectionFlowDetail.tsx
|
|
17
|
+
import React, { useCallback, useEffect, useState } from "react";
|
|
18
|
+
import { ActionIcon, Badge, Box, Button, Group, Loader, Stack, Text, Tooltip } from "@mantine/core";
|
|
19
|
+
import { IconRefresh } from "@tabler/icons-react";
|
|
20
|
+
var ALLOWED_TYPES = ["dao", "dao/pod"];
|
|
21
|
+
var TYPE_LABELS = {
|
|
22
|
+
dao: "DAO",
|
|
23
|
+
"dao/pod": "POD"
|
|
24
|
+
};
|
|
25
|
+
function getEntityDisplayName(node) {
|
|
26
|
+
const alsoKnownAs = node.iid?.alsoKnownAs?.trim();
|
|
27
|
+
if (alsoKnownAs) return alsoKnownAs;
|
|
28
|
+
const profileResource = node.iid?.linkedResource?.find((resource) => {
|
|
29
|
+
const type = resource.type?.toLowerCase() || "";
|
|
30
|
+
return type.includes("profile") || type.includes("credential") || type.includes("card");
|
|
31
|
+
});
|
|
32
|
+
return profileResource?.description?.trim() || node.id;
|
|
33
|
+
}
|
|
34
|
+
function getEntityDescription(node) {
|
|
35
|
+
const displayName = getEntityDisplayName(node);
|
|
36
|
+
const descriptions = node.iid?.linkedResource?.map((resource) => resource.description?.trim()).filter((description) => !!description) || [];
|
|
37
|
+
return descriptions.find((description) => description !== displayName) || "";
|
|
38
|
+
}
|
|
39
|
+
var EntitySingleSelectionFlowDetail = ({ block, runtime, isDisabled, executeAction }) => {
|
|
40
|
+
const handlers = useBlocknoteHandlers();
|
|
41
|
+
const [entities, setEntities] = useState([]);
|
|
42
|
+
const [loading, setLoading] = useState(false);
|
|
43
|
+
const [error, setError] = useState(null);
|
|
44
|
+
const selectedDid = runtime.output?.selectedEntityDid;
|
|
45
|
+
const isComplete = runtime.state === "completed";
|
|
46
|
+
const loadEntities = useCallback(async () => {
|
|
47
|
+
setLoading(true);
|
|
48
|
+
setError(null);
|
|
49
|
+
try {
|
|
50
|
+
const currentUser = handlers.getCurrentUser?.();
|
|
51
|
+
const userDid = `did:ixo:${currentUser?.address || ""}`;
|
|
52
|
+
if (!handlers.getIids) {
|
|
53
|
+
console.warn("[EntitySingleSelectionFlowDetail] getIids handler is missing; cannot refetch parent organisations");
|
|
54
|
+
setEntities([]);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const result = await handlers.getIids({
|
|
58
|
+
controllers: [userDid],
|
|
59
|
+
entityTypes: [...ALLOWED_TYPES]
|
|
60
|
+
});
|
|
61
|
+
const filtered = (result.nodes || []).filter((node) => ALLOWED_TYPES.includes(node.type)).map((node) => ({
|
|
62
|
+
did: node.id,
|
|
63
|
+
name: getEntityDisplayName(node),
|
|
64
|
+
type: node.type,
|
|
65
|
+
description: getEntityDescription(node)
|
|
66
|
+
}));
|
|
67
|
+
setEntities(filtered);
|
|
68
|
+
} catch (err) {
|
|
69
|
+
setError(err instanceof Error ? err.message : "Failed to load organisations");
|
|
70
|
+
} finally {
|
|
71
|
+
setLoading(false);
|
|
72
|
+
}
|
|
73
|
+
}, [handlers]);
|
|
74
|
+
useEffect(() => {
|
|
75
|
+
loadEntities();
|
|
76
|
+
}, [loadEntities]);
|
|
77
|
+
const handleSelect = useCallback(
|
|
78
|
+
async (entity) => {
|
|
79
|
+
if (isDisabled || !executeAction) return;
|
|
80
|
+
const output = {
|
|
81
|
+
selectedEntityDid: entity.did,
|
|
82
|
+
selectedEntityName: entity.name,
|
|
83
|
+
selectedEntityType: entity.type,
|
|
84
|
+
skipped: false
|
|
85
|
+
};
|
|
86
|
+
await executeAction({ runtimeInputs: output });
|
|
87
|
+
},
|
|
88
|
+
[executeAction, isDisabled]
|
|
89
|
+
);
|
|
90
|
+
const handleSkip = useCallback(async () => {
|
|
91
|
+
if (!executeAction) return;
|
|
92
|
+
const output = { selectedEntityDid: null, selectedEntityName: "", selectedEntityType: "", skipped: true };
|
|
93
|
+
await executeAction({ runtimeInputs: output });
|
|
94
|
+
}, [executeAction]);
|
|
95
|
+
return /* @__PURE__ */ React.createElement(Stack, { gap: "md" }, /* @__PURE__ */ React.createElement(Stack, { gap: 2 }, /* @__PURE__ */ React.createElement(Text, { fw: 600 }, block?.props?.title || "Parent Organisation"), /* @__PURE__ */ React.createElement(Text, { size: "sm", c: "dimmed" }, block?.props?.description || "Optionally nest this POD inside a DAO or POD you control. You can skip this step.")), error && /* @__PURE__ */ React.createElement(DismissibleAlert, { color: "red", styles: actionAlertStyles }, /* @__PURE__ */ React.createElement(Text, { size: "sm" }, error)), /* @__PURE__ */ React.createElement(Group, { justify: "space-between", align: "center", wrap: "nowrap" }, /* @__PURE__ */ React.createElement(Text, { size: "sm", fw: 600 }, "Available parent organisations"), /* @__PURE__ */ React.createElement(Tooltip, { label: "Refetch organisations", withArrow: true }, /* @__PURE__ */ React.createElement(ActionIcon, { variant: "subtle", size: "sm", onClick: loadEntities, loading, disabled: isDisabled, "aria-label": "Refetch organisations" }, /* @__PURE__ */ React.createElement(IconRefresh, { size: 16 })))), loading ? /* @__PURE__ */ React.createElement(Group, { justify: "center", py: "md" }, /* @__PURE__ */ React.createElement(Loader, { size: "sm" }), /* @__PURE__ */ React.createElement(Text, { size: "sm", c: "dimmed" }, "Loading your organisations...")) : /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, entities.length === 0 && !error && /* @__PURE__ */ React.createElement(Text, { size: "sm", c: "dimmed", ta: "center", py: "sm" }, "No DAOs or PODs found where you are a controller."), entities.map((entity) => {
|
|
96
|
+
const isSelected = entity.did === selectedDid;
|
|
97
|
+
return /* @__PURE__ */ React.createElement(
|
|
98
|
+
Box,
|
|
99
|
+
{
|
|
100
|
+
key: entity.did,
|
|
101
|
+
onClick: () => !isDisabled && handleSelect(entity),
|
|
102
|
+
style: {
|
|
103
|
+
padding: "12px 16px",
|
|
104
|
+
borderRadius: 12,
|
|
105
|
+
border: isSelected ? "2px solid var(--mantine-primary-color-filled)" : "1px solid var(--mantine-color-dark-4)",
|
|
106
|
+
backgroundColor: isSelected ? "var(--mantine-color-dark-6)" : "var(--mantine-color-dark-7)",
|
|
107
|
+
cursor: isDisabled ? "not-allowed" : "pointer",
|
|
108
|
+
transition: "border-color 0.15s ease, background-color 0.15s ease"
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
/* @__PURE__ */ React.createElement(Group, { wrap: "nowrap", gap: "md", align: "center" }, /* @__PURE__ */ React.createElement(EntityAvatar_default, { size: 28 }), /* @__PURE__ */ React.createElement(Stack, { gap: 2, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React.createElement(Group, { gap: "xs", wrap: "nowrap" }, /* @__PURE__ */ React.createElement(Text, { fw: 500, size: "sm", lineClamp: 1 }, entity.name), /* @__PURE__ */ React.createElement(Badge, { size: "xs", color: entity.type === "dao/pod" ? "violet" : "blue", variant: "light" }, TYPE_LABELS[entity.type])), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", lineClamp: 1 }, entity.description || (entity.did.length > 44 ? `${entity.did.slice(0, 22)}...${entity.did.slice(-16)}` : entity.did))), isSelected && /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "green.4", fw: 600 }, "Selected"))
|
|
112
|
+
);
|
|
113
|
+
})), isComplete && runtime.output?.skipped && /* @__PURE__ */ React.createElement(DismissibleAlert, { color: "blue", styles: actionAlertStyles }, /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Skipped \u2014 this POD will be created as a top-level entity.")), /* @__PURE__ */ React.createElement(Button, { variant: "subtle", color: "gray", onClick: handleSkip, disabled: isDisabled }, "Skip \u2014 no parent organisation"));
|
|
114
|
+
};
|
|
115
|
+
export {
|
|
116
|
+
EntitySingleSelectionFlowDetail
|
|
117
|
+
};
|
|
118
|
+
//# sourceMappingURL=EntitySingleSelectionFlowDetail-GFQGX3GA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/mantine/blocks/action/actionTypes/pod/entitySingleSelection/EntitySingleSelectionFlowDetail.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react';\nimport { ActionIcon, Badge, Box, Button, Group, Loader, Stack, Text, Tooltip } from '@mantine/core';\nimport { DismissibleAlert as Alert } from '@/mantine/components/Base/DismissibleAlert';\nimport { IconRefresh } from '@tabler/icons-react';\nimport EntityAvatar from '@/icons/EntityAvatar';\nimport { useBlocknoteHandlers } from '@/mantine/context/BlocknoteContext';\nimport type { ActionTypeFlowProps } from '../../../actionTypeUI';\nimport { actionAlertStyles } from '../../../alertStyles';\n\n/** Entity types the user may nest a POD under */\nconst ALLOWED_TYPES = ['dao', 'dao/pod'] as const;\ntype AllowedType = (typeof ALLOWED_TYPES)[number];\n\nconst TYPE_LABELS: Record<AllowedType, string> = {\n dao: 'DAO',\n 'dao/pod': 'POD',\n};\n\ninterface EntityInfo {\n did: string;\n name: string;\n type: AllowedType;\n icon?: string;\n description?: string;\n}\n\nfunction getEntityDisplayName(node: { id: string; iid?: { alsoKnownAs?: string; linkedResource?: Array<{ description?: string; type?: string }> } }): string {\n const alsoKnownAs = node.iid?.alsoKnownAs?.trim();\n if (alsoKnownAs) return alsoKnownAs;\n\n const profileResource = node.iid?.linkedResource?.find((resource) => {\n const type = resource.type?.toLowerCase() || '';\n return type.includes('profile') || type.includes('credential') || type.includes('card');\n });\n\n return profileResource?.description?.trim() || node.id;\n}\n\nfunction getEntityDescription(node: { id: string; iid?: { linkedResource?: Array<{ description?: string }> } }): string {\n const displayName = getEntityDisplayName(node);\n const descriptions = node.iid?.linkedResource?.map((resource) => resource.description?.trim()).filter((description): description is string => !!description) || [];\n return descriptions.find((description) => description !== displayName) || '';\n}\n\n/**\n * @description Flow-mode UI for EntitySingleSelection.\n *\n * Finds all entities where the currently signed-in account is a controller\n * and whose type is `dao` or `dao/pod`. The user picks one to nest the\n * new POD under, or skips to create it as a top-level entity.\n *\n * @flowStep 3A — Parent Organisation (optional)\n */\nexport const EntitySingleSelectionFlowDetail: React.FC<ActionTypeFlowProps> = ({ block, runtime, isDisabled, executeAction }) => {\n const handlers = useBlocknoteHandlers();\n\n const [entities, setEntities] = useState<EntityInfo[]>([]);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n const selectedDid = runtime.output?.selectedEntityDid as string | null | undefined;\n const isComplete = runtime.state === 'completed';\n\n const loadEntities = useCallback(async () => {\n setLoading(true);\n setError(null);\n try {\n const currentUser = handlers.getCurrentUser?.();\n const userDid = `did:ixo:${currentUser?.address || ''}`;\n\n if (!handlers.getIids) {\n console.warn('[EntitySingleSelectionFlowDetail] getIids handler is missing; cannot refetch parent organisations');\n setEntities([]);\n return;\n }\n\n const result = await handlers.getIids({\n controllers: [userDid],\n entityTypes: [...ALLOWED_TYPES],\n });\n\n const filtered: EntityInfo[] = (result.nodes || [])\n .filter((node) => ALLOWED_TYPES.includes(node.type as AllowedType))\n .map((node) => ({\n did: node.id,\n name: getEntityDisplayName(node),\n type: node.type as AllowedType,\n description: getEntityDescription(node),\n }));\n\n setEntities(filtered);\n } catch (err) {\n setError(err instanceof Error ? err.message : 'Failed to load organisations');\n } finally {\n setLoading(false);\n }\n }, [handlers]);\n\n useEffect(() => {\n loadEntities();\n }, [loadEntities]);\n\n const handleSelect = useCallback(\n async (entity: EntityInfo) => {\n if (isDisabled || !executeAction) return;\n const output = {\n selectedEntityDid: entity.did,\n selectedEntityName: entity.name,\n selectedEntityType: entity.type,\n skipped: false,\n };\n await executeAction({ runtimeInputs: output });\n },\n [executeAction, isDisabled]\n );\n\n const handleSkip = useCallback(async () => {\n if (!executeAction) return;\n const output = { selectedEntityDid: null, selectedEntityName: '', selectedEntityType: '', skipped: true };\n await executeAction({ runtimeInputs: output });\n }, [executeAction]);\n\n return (\n <Stack gap=\"md\">\n <Stack gap={2}>\n <Text fw={600}>{block?.props?.title || 'Parent Organisation'}</Text>\n <Text size=\"sm\" c=\"dimmed\">\n {block?.props?.description || 'Optionally nest this POD inside a DAO or POD you control. You can skip this step.'}\n </Text>\n </Stack>\n\n {error && (\n <Alert color=\"red\" styles={actionAlertStyles}>\n <Text size=\"sm\">{error}</Text>\n </Alert>\n )}\n\n <Group justify=\"space-between\" align=\"center\" wrap=\"nowrap\">\n <Text size=\"sm\" fw={600}>\n Available parent organisations\n </Text>\n <Tooltip label=\"Refetch organisations\" withArrow>\n <ActionIcon variant=\"subtle\" size=\"sm\" onClick={loadEntities} loading={loading} disabled={isDisabled} aria-label=\"Refetch organisations\">\n <IconRefresh size={16} />\n </ActionIcon>\n </Tooltip>\n </Group>\n\n {loading ? (\n <Group justify=\"center\" py=\"md\">\n <Loader size=\"sm\" />\n <Text size=\"sm\" c=\"dimmed\">\n Loading your organisations...\n </Text>\n </Group>\n ) : (\n <Stack gap=\"xs\">\n {entities.length === 0 && !error && (\n <Text size=\"sm\" c=\"dimmed\" ta=\"center\" py=\"sm\">\n No DAOs or PODs found where you are a controller.\n </Text>\n )}\n\n {entities.map((entity) => {\n const isSelected = entity.did === selectedDid;\n return (\n <Box\n key={entity.did}\n onClick={() => !isDisabled && handleSelect(entity)}\n style={{\n padding: '12px 16px',\n borderRadius: 12,\n border: isSelected ? '2px solid var(--mantine-primary-color-filled)' : '1px solid var(--mantine-color-dark-4)',\n backgroundColor: isSelected ? 'var(--mantine-color-dark-6)' : 'var(--mantine-color-dark-7)',\n cursor: isDisabled ? 'not-allowed' : 'pointer',\n transition: 'border-color 0.15s ease, background-color 0.15s ease',\n }}\n >\n <Group wrap=\"nowrap\" gap=\"md\" align=\"center\">\n <EntityAvatar size={28} />\n <Stack gap={2} style={{ flex: 1, minWidth: 0 }}>\n <Group gap=\"xs\" wrap=\"nowrap\">\n <Text fw={500} size=\"sm\" lineClamp={1}>\n {entity.name}\n </Text>\n <Badge size=\"xs\" color={entity.type === 'dao/pod' ? 'violet' : 'blue'} variant=\"light\">\n {TYPE_LABELS[entity.type]}\n </Badge>\n </Group>\n <Text size=\"xs\" c=\"dimmed\" lineClamp={1}>\n {entity.description || (entity.did.length > 44 ? `${entity.did.slice(0, 22)}...${entity.did.slice(-16)}` : entity.did)}\n </Text>\n </Stack>\n {isSelected && (\n <Text size=\"xs\" c=\"green.4\" fw={600}>\n Selected\n </Text>\n )}\n </Group>\n </Box>\n );\n })}\n </Stack>\n )}\n\n {isComplete && runtime.output?.skipped && (\n <Alert color=\"blue\" styles={actionAlertStyles}>\n <Text size=\"sm\">Skipped — this POD will be created as a top-level entity.</Text>\n </Alert>\n )}\n\n <Button variant=\"subtle\" color=\"gray\" onClick={handleSkip} disabled={isDisabled}>\n Skip — no parent organisation\n </Button>\n </Stack>\n );\n};\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import {
|
|
2
|
+
parseEntityTransferConfigInputs,
|
|
3
|
+
serializeEntityTransferConfigInputs
|
|
4
|
+
} from "./chunk-6L4ZIKYU.js";
|
|
5
|
+
import {
|
|
6
|
+
BaseTextInput
|
|
7
|
+
} from "./chunk-WO7V6ZNC.js";
|
|
8
|
+
|
|
9
|
+
// src/mantine/blocks/action/actionTypes/entityTransfer/EntityTransferConfig.tsx
|
|
10
|
+
import React, { useCallback, useEffect, useState } from "react";
|
|
11
|
+
import { Stack, Text } from "@mantine/core";
|
|
12
|
+
var EntityTransferConfig = ({ inputs, onInputsChange }) => {
|
|
13
|
+
const [local, setLocal] = useState(() => parseEntityTransferConfigInputs(inputs));
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
setLocal(parseEntityTransferConfigInputs(inputs));
|
|
16
|
+
}, [inputs]);
|
|
17
|
+
const update = useCallback(
|
|
18
|
+
(patch) => {
|
|
19
|
+
const updated = { ...local, ...patch };
|
|
20
|
+
setLocal(updated);
|
|
21
|
+
onInputsChange(serializeEntityTransferConfigInputs(updated));
|
|
22
|
+
},
|
|
23
|
+
[local, onInputsChange]
|
|
24
|
+
);
|
|
25
|
+
return /* @__PURE__ */ React.createElement(Stack, { gap: "lg" }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm", fw: 600 }, "Transfer Entity"), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "Transfers ownership of an entity to a new owner. Wire the entity DID from an upstream block (e.g. Domain Sign); the recipient can be set here or chosen when the block runs.")), /* @__PURE__ */ React.createElement(
|
|
26
|
+
BaseTextInput,
|
|
27
|
+
{
|
|
28
|
+
label: "Entity DID",
|
|
29
|
+
placeholder: "{{domain-sign.output.entityDid}}",
|
|
30
|
+
value: local.entityDid || "",
|
|
31
|
+
onChange: (event) => update({ entityDid: event.currentTarget.value })
|
|
32
|
+
}
|
|
33
|
+
), /* @__PURE__ */ React.createElement(
|
|
34
|
+
BaseTextInput,
|
|
35
|
+
{
|
|
36
|
+
label: "Recipient DID (default)",
|
|
37
|
+
placeholder: "did:ixo:\u2026 or did:ixo:wasm:\u2026",
|
|
38
|
+
value: local.recipientDid || "",
|
|
39
|
+
onChange: (event) => update({ recipientDid: event.currentTarget.value })
|
|
40
|
+
}
|
|
41
|
+
), /* @__PURE__ */ React.createElement(
|
|
42
|
+
BaseTextInput,
|
|
43
|
+
{
|
|
44
|
+
label: "Owner DID (optional)",
|
|
45
|
+
placeholder: "Defaults to the connected user",
|
|
46
|
+
value: local.ownerDid || "",
|
|
47
|
+
onChange: (event) => update({ ownerDid: event.currentTarget.value })
|
|
48
|
+
}
|
|
49
|
+
), /* @__PURE__ */ React.createElement(
|
|
50
|
+
BaseTextInput,
|
|
51
|
+
{
|
|
52
|
+
label: "Owner address (optional)",
|
|
53
|
+
placeholder: "Defaults to the connected user",
|
|
54
|
+
value: local.ownerAddress || "",
|
|
55
|
+
onChange: (event) => update({ ownerAddress: event.currentTarget.value })
|
|
56
|
+
}
|
|
57
|
+
));
|
|
58
|
+
};
|
|
59
|
+
export {
|
|
60
|
+
EntityTransferConfig
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=EntityTransferConfig-JVZ3H35B.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/mantine/blocks/action/actionTypes/entityTransfer/EntityTransferConfig.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react';\nimport { Stack, Text } from '@mantine/core';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\nimport type { ActionTypeConfigProps } from '../../actionTypeUI';\nimport { parseEntityTransferConfigInputs, serializeEntityTransferConfigInputs, type EntityTransferConfigInputs } from './types';\n\nexport const EntityTransferConfig: React.FC<ActionTypeConfigProps> = ({ inputs, onInputsChange }) => {\n const [local, setLocal] = useState<EntityTransferConfigInputs>(() => parseEntityTransferConfigInputs(inputs));\n\n useEffect(() => {\n setLocal(parseEntityTransferConfigInputs(inputs));\n }, [inputs]);\n\n const update = useCallback(\n (patch: Partial<EntityTransferConfigInputs>) => {\n const updated = { ...local, ...patch };\n setLocal(updated);\n onInputsChange(serializeEntityTransferConfigInputs(updated));\n },\n [local, onInputsChange]\n );\n\n return (\n <Stack gap=\"lg\">\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={600}>\n Transfer Entity\n </Text>\n <Text size=\"xs\" c=\"dimmed\">\n Transfers ownership of an entity to a new owner. Wire the entity DID from an upstream block (e.g. Domain Sign); the recipient can be set here or chosen when the block\n runs.\n </Text>\n </Stack>\n\n <BaseTextInput\n label=\"Entity DID\"\n placeholder=\"{{domain-sign.output.entityDid}}\"\n value={local.entityDid || ''}\n onChange={(event) => update({ entityDid: event.currentTarget.value })}\n />\n <BaseTextInput\n label=\"Recipient DID (default)\"\n placeholder=\"did:ixo:… or did:ixo:wasm:…\"\n value={local.recipientDid || ''}\n onChange={(event) => update({ recipientDid: event.currentTarget.value })}\n />\n <BaseTextInput\n label=\"Owner DID (optional)\"\n placeholder=\"Defaults to the connected user\"\n value={local.ownerDid || ''}\n onChange={(event) => update({ ownerDid: event.currentTarget.value })}\n />\n <BaseTextInput\n label=\"Owner address (optional)\"\n placeholder=\"Defaults to the connected user\"\n value={local.ownerAddress || ''}\n onChange={(event) => update({ ownerAddress: event.currentTarget.value })}\n />\n </Stack>\n );\n};\n"],"mappings":";;;;;;;;;AAAA,OAAO,SAAS,aAAa,WAAW,gBAAgB;AACxD,SAAS,OAAO,YAAY;AAKrB,IAAM,uBAAwD,CAAC,EAAE,QAAQ,eAAe,MAAM;AACnG,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAqC,MAAM,gCAAgC,MAAM,CAAC;AAE5G,YAAU,MAAM;AACd,aAAS,gCAAgC,MAAM,CAAC;AAAA,EAClD,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,SAAS;AAAA,IACb,CAAC,UAA+C;AAC9C,YAAM,UAAU,EAAE,GAAG,OAAO,GAAG,MAAM;AACrC,eAAS,OAAO;AAChB,qBAAe,oCAAoC,OAAO,CAAC;AAAA,IAC7D;AAAA,IACA,CAAC,OAAO,cAAc;AAAA,EACxB;AAEA,SACE,oCAAC,SAAM,KAAI,QACT,oCAAC,SAAM,KAAI,QACT,oCAAC,QAAK,MAAK,MAAK,IAAI,OAAK,iBAEzB,GACA,oCAAC,QAAK,MAAK,MAAK,GAAE,YAAS,8KAG3B,CACF,GAEA;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,aAAY;AAAA,MACZ,OAAO,MAAM,aAAa;AAAA,MAC1B,UAAU,CAAC,UAAU,OAAO,EAAE,WAAW,MAAM,cAAc,MAAM,CAAC;AAAA;AAAA,EACtE,GACA;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,aAAY;AAAA,MACZ,OAAO,MAAM,gBAAgB;AAAA,MAC7B,UAAU,CAAC,UAAU,OAAO,EAAE,cAAc,MAAM,cAAc,MAAM,CAAC;AAAA;AAAA,EACzE,GACA;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,aAAY;AAAA,MACZ,OAAO,MAAM,YAAY;AAAA,MACzB,UAAU,CAAC,UAAU,OAAO,EAAE,UAAU,MAAM,cAAc,MAAM,CAAC;AAAA;AAAA,EACrE,GACA;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,aAAY;AAAA,MACZ,OAAO,MAAM,gBAAgB;AAAA,MAC7B,UAAU,CAAC,UAAU,OAAO,EAAE,cAAc,MAAM,cAAc,MAAM,CAAC;AAAA;AAAA,EACzE,CACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import {
|
|
2
|
+
parseEntityTransferConfigInputs
|
|
3
|
+
} from "./chunk-6L4ZIKYU.js";
|
|
4
|
+
import {
|
|
5
|
+
useRunRuntimeReader
|
|
6
|
+
} from "./chunk-FFYZXA75.js";
|
|
7
|
+
import "./chunk-NZ7AXA7B.js";
|
|
8
|
+
import {
|
|
9
|
+
resolveReferences
|
|
10
|
+
} from "./chunk-JVROGQ7Q.js";
|
|
11
|
+
import "./chunk-IIIZZ4E4.js";
|
|
12
|
+
import "./chunk-HT6L7A5M.js";
|
|
13
|
+
import "./chunk-NCSGIRRQ.js";
|
|
14
|
+
import {
|
|
15
|
+
DismissibleAlert
|
|
16
|
+
} from "./chunk-IFWKRCFF.js";
|
|
17
|
+
import {
|
|
18
|
+
actionAlertStyles
|
|
19
|
+
} from "./chunk-6GKJR52N.js";
|
|
20
|
+
import {
|
|
21
|
+
BaseTextInput
|
|
22
|
+
} from "./chunk-WO7V6ZNC.js";
|
|
23
|
+
import {
|
|
24
|
+
useBlocknoteHandlers
|
|
25
|
+
} from "./chunk-4DGCCXD6.js";
|
|
26
|
+
import "./chunk-7W7UUUIE.js";
|
|
27
|
+
import "./chunk-TS2LNBF2.js";
|
|
28
|
+
|
|
29
|
+
// src/mantine/blocks/action/actionTypes/entityTransfer/EntityTransferFlowDetail.tsx
|
|
30
|
+
import React, { useCallback, useEffect, useMemo, useState } from "react";
|
|
31
|
+
import { Button, Group, Loader, Stack, Text } from "@mantine/core";
|
|
32
|
+
import { IconAlertTriangle, IconCheck, IconAlertCircle } from "@tabler/icons-react";
|
|
33
|
+
var EntityTransferFlowDetail = ({
|
|
34
|
+
inputs,
|
|
35
|
+
editor,
|
|
36
|
+
block,
|
|
37
|
+
runtime,
|
|
38
|
+
updateRuntime,
|
|
39
|
+
isDisabled,
|
|
40
|
+
provideSigningHandler,
|
|
41
|
+
unlockSigning,
|
|
42
|
+
registerRuntimeInputs,
|
|
43
|
+
executeAction
|
|
44
|
+
}) => {
|
|
45
|
+
const handlers = useBlocknoteHandlers();
|
|
46
|
+
const currentUser = useMemo(() => {
|
|
47
|
+
try {
|
|
48
|
+
return handlers?.getCurrentUser?.() || null;
|
|
49
|
+
} catch {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
}, [handlers]);
|
|
53
|
+
const parsed = useMemo(() => parseEntityTransferConfigInputs(inputs), [inputs]);
|
|
54
|
+
const editorDocument = editor?.document || [];
|
|
55
|
+
const runtimeReader = useRunRuntimeReader(editor);
|
|
56
|
+
const resolveOpts = useMemo(() => ({ yRuntime: runtimeReader }), [runtimeReader]);
|
|
57
|
+
const resolve = useCallback((val) => resolveReferences(val || "", editorDocument, resolveOpts).trim(), [editorDocument, resolveOpts]);
|
|
58
|
+
const resolvedEntityDid = useMemo(() => resolve(parsed.entityDid), [resolve, parsed.entityDid]);
|
|
59
|
+
const templateRecipient = useMemo(() => resolve(parsed.recipientDid), [resolve, parsed.recipientDid]);
|
|
60
|
+
const resolvedOwnerDid = useMemo(() => resolve(parsed.ownerDid) || currentUser?.did || "", [resolve, parsed.ownerDid, currentUser]);
|
|
61
|
+
const resolvedOwnerAddress = useMemo(() => resolve(parsed.ownerAddress) || currentUser?.address || "", [resolve, parsed.ownerAddress, currentUser]);
|
|
62
|
+
const [recipientInput, setRecipientInput] = useState("");
|
|
63
|
+
const [error, setError] = useState(null);
|
|
64
|
+
const effectiveRecipient = (recipientInput.trim() || templateRecipient).trim();
|
|
65
|
+
const inputsReady = !!(resolvedEntityDid && effectiveRecipient);
|
|
66
|
+
const txHash = runtime.output?.transactionHash || "";
|
|
67
|
+
const recipientResolved = runtime.output?.recipientResolved || "";
|
|
68
|
+
const createdRecipientIid = !!runtime.output?.createdRecipientIid;
|
|
69
|
+
const completedRecipient = runtime.output?.recipientDid || "";
|
|
70
|
+
const hasProof = !!txHash;
|
|
71
|
+
const isRunning = runtime.state === "running";
|
|
72
|
+
const isCompleted = runtime.state === "completed" && hasProof;
|
|
73
|
+
const isStale = runtime.state === "completed" && !hasProof;
|
|
74
|
+
const isFailed = runtime.state === "failed";
|
|
75
|
+
const runtimeError = runtime.error?.message || null;
|
|
76
|
+
const canSign = !isDisabled && !isCompleted && inputsReady;
|
|
77
|
+
useEffect(() => {
|
|
78
|
+
unlockSigning?.(canSign);
|
|
79
|
+
}, [unlockSigning, canSign]);
|
|
80
|
+
useEffect(() => {
|
|
81
|
+
registerRuntimeInputs?.({
|
|
82
|
+
recipientDid: effectiveRecipient,
|
|
83
|
+
entityDid: resolvedEntityDid,
|
|
84
|
+
ownerDid: resolvedOwnerDid
|
|
85
|
+
});
|
|
86
|
+
}, [registerRuntimeInputs, effectiveRecipient, resolvedEntityDid, resolvedOwnerDid]);
|
|
87
|
+
const execute = useCallback(async () => {
|
|
88
|
+
setError(null);
|
|
89
|
+
if (!executeAction) {
|
|
90
|
+
setError("Transfer action executor is unavailable");
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
if (!inputsReady) {
|
|
94
|
+
setError("Entity DID and recipient are required");
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
console.log("[entity.transfer] signing", { entityDid: resolvedEntityDid, recipient: effectiveRecipient });
|
|
98
|
+
const outcome = await executeAction({
|
|
99
|
+
runtimeInputs: {
|
|
100
|
+
entityDid: resolvedEntityDid,
|
|
101
|
+
recipientDid: effectiveRecipient,
|
|
102
|
+
...resolvedOwnerDid ? { ownerDid: resolvedOwnerDid } : {},
|
|
103
|
+
...resolvedOwnerAddress ? { ownerAddress: resolvedOwnerAddress } : {}
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
if (!outcome.success) {
|
|
107
|
+
setError(outcome.error || "Transfer failed");
|
|
108
|
+
}
|
|
109
|
+
}, [executeAction, inputsReady, resolvedEntityDid, effectiveRecipient, resolvedOwnerDid, resolvedOwnerAddress]);
|
|
110
|
+
useEffect(() => {
|
|
111
|
+
if (!provideSigningHandler) return;
|
|
112
|
+
provideSigningHandler(execute);
|
|
113
|
+
}, [provideSigningHandler, execute]);
|
|
114
|
+
const handleReset = useCallback(() => {
|
|
115
|
+
console.log("[entity.transfer] reset: clearing runtime to idle");
|
|
116
|
+
updateRuntime({ state: "idle", error: void 0, output: {} });
|
|
117
|
+
}, [updateRuntime]);
|
|
118
|
+
return /* @__PURE__ */ React.createElement(Stack, { gap: "md" }, /* @__PURE__ */ React.createElement(Stack, { gap: 2 }, /* @__PURE__ */ React.createElement(Text, { fw: 600 }, block?.props?.title || "Transfer Entity"), /* @__PURE__ */ React.createElement(Text, { size: "sm", c: "dimmed" }, block?.props?.description || "Transfer ownership of an entity to a new owner.")), isCompleted ? /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconCheck, { size: 16 }), color: "green", title: "Entity Transferred" }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Ownership transferred to ", completedRecipient || effectiveRecipient, "."), recipientResolved && recipientResolved !== completedRecipient && /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", style: { wordBreak: "break-all" } }, "Resolved recipient: ", recipientResolved), createdRecipientIid && /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "Created the recipient's IID document before transferring."), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", style: { wordBreak: "break-all" } }, "Tx: ", txHash))) : isStale ? /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconAlertCircle, { size: 16 }), color: "yellow", title: "Inconsistent State" }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Block was marked completed but no transaction hash was recorded. This is stale state from a previous run \u2014 reset and re-run."), /* @__PURE__ */ React.createElement(Group, null, /* @__PURE__ */ React.createElement(Button, { variant: "outline", size: "xs", onClick: handleReset }, "Reset"), /* @__PURE__ */ React.createElement(Button, { variant: "filled", size: "xs", onClick: execute, disabled: !inputsReady }, "Force Run Now")))) : /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconAlertTriangle, { size: 16 }), color: "orange", styles: actionAlertStyles }, "Transferring an entity is permanent \u2014 you will lose control of it once the new owner accepts ownership."), !resolvedEntityDid && /* @__PURE__ */ React.createElement(Group, { gap: "xs" }, /* @__PURE__ */ React.createElement(Loader, { size: 14 }), /* @__PURE__ */ React.createElement(Text, { size: "sm", c: "dimmed" }, "Waiting for upstream entity DID\u2026")), /* @__PURE__ */ React.createElement(
|
|
119
|
+
BaseTextInput,
|
|
120
|
+
{
|
|
121
|
+
label: "Recipient DID",
|
|
122
|
+
placeholder: "did:ixo:\u2026 or did:ixo:wasm:\u2026",
|
|
123
|
+
value: recipientInput || templateRecipient,
|
|
124
|
+
onChange: (event) => setRecipientInput(event.currentTarget.value),
|
|
125
|
+
disabled: isDisabled
|
|
126
|
+
}
|
|
127
|
+
), resolvedEntityDid && /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", style: { wordBreak: "break-all" } }, "Entity: ", resolvedEntityDid), isRunning && /* @__PURE__ */ React.createElement(Group, { gap: "xs" }, /* @__PURE__ */ React.createElement(Loader, { size: 14 }), /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Transferring entity on-chain\u2026")), !inputsReady && resolvedEntityDid && /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "Enter a recipient DID to continue.")), (error || runtimeError) && !isCompleted && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconAlertCircle, { size: 16 }), color: "red", styles: actionAlertStyles }, error || runtimeError), isFailed && !isStale && /* @__PURE__ */ React.createElement(Group, null, /* @__PURE__ */ React.createElement(Button, { variant: "outline", size: "xs", onClick: handleReset }, "Try Again")));
|
|
128
|
+
};
|
|
129
|
+
export {
|
|
130
|
+
EntityTransferFlowDetail
|
|
131
|
+
};
|
|
132
|
+
//# sourceMappingURL=EntityTransferFlowDetail-XEXM34XB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/mantine/blocks/action/actionTypes/entityTransfer/EntityTransferFlowDetail.tsx"],"sourcesContent":["import { useRunRuntimeReader } from '@/mantine/hooks/useRunRuntimeReader';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { Button, Group, Loader, Stack, Text } from '@mantine/core';\nimport { DismissibleAlert as Alert } from '@/mantine/components/Base/DismissibleAlert';\nimport { IconAlertTriangle, IconCheck, IconAlertCircle } from '@tabler/icons-react';\nimport { resolveReferences } from '@/mantine/utils/referenceResolver';\nimport { useBlocknoteHandlers } from '@/mantine/context/BlocknoteContext';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\nimport type { ActionTypeFlowProps } from '../../actionTypeUI';\nimport type { EntityTransferRuntimeInputs } from '@/core/lib/actionRegistry/actions/entityTransfer/types';\nimport { actionAlertStyles } from '../../alertStyles';\nimport { parseEntityTransferConfigInputs } from './types';\n\nexport const EntityTransferFlowDetail: React.FC<ActionTypeFlowProps<EntityTransferRuntimeInputs>> = ({\n inputs,\n editor,\n block,\n runtime,\n updateRuntime,\n isDisabled,\n provideSigningHandler,\n unlockSigning,\n registerRuntimeInputs,\n executeAction,\n}) => {\n const handlers = useBlocknoteHandlers();\n const currentUser = useMemo(() => {\n try {\n return handlers?.getCurrentUser?.() || null;\n } catch {\n return null;\n }\n }, [handlers]);\n\n const parsed = useMemo(() => parseEntityTransferConfigInputs(inputs), [inputs]);\n const editorDocument = editor?.document || [];\n const runtimeReader = useRunRuntimeReader(editor);\n const resolveOpts = useMemo(() => ({ yRuntime: runtimeReader }), [runtimeReader]);\n const resolve = useCallback((val: string | undefined) => resolveReferences(val || '', editorDocument, resolveOpts).trim(), [editorDocument, resolveOpts]);\n\n const resolvedEntityDid = useMemo(() => resolve(parsed.entityDid), [resolve, parsed.entityDid]);\n const templateRecipient = useMemo(() => resolve(parsed.recipientDid), [resolve, parsed.recipientDid]);\n const resolvedOwnerDid = useMemo(() => resolve(parsed.ownerDid) || currentUser?.did || '', [resolve, parsed.ownerDid, currentUser]);\n const resolvedOwnerAddress = useMemo(() => resolve(parsed.ownerAddress) || currentUser?.address || '', [resolve, parsed.ownerAddress, currentUser]);\n\n // Ephemeral in-progress recipient entry — allowed local state (CLAUDE.md).\n const [recipientInput, setRecipientInput] = useState('');\n const [error, setError] = useState<string | null>(null);\n\n const effectiveRecipient = (recipientInput.trim() || templateRecipient).trim();\n const inputsReady = !!(resolvedEntityDid && effectiveRecipient);\n\n // Runtime-derived state — source of truth. No local mirror of runtime.\n const txHash: string = runtime.output?.transactionHash || '';\n const recipientResolved: string = runtime.output?.recipientResolved || '';\n const createdRecipientIid: boolean = !!runtime.output?.createdRecipientIid;\n const completedRecipient: string = runtime.output?.recipientDid || '';\n const hasProof = !!txHash;\n const isRunning = runtime.state === 'running';\n const isCompleted = runtime.state === 'completed' && hasProof;\n const isStale = runtime.state === 'completed' && !hasProof;\n const isFailed = runtime.state === 'failed';\n const runtimeError = runtime.error?.message || null;\n\n const canSign = !isDisabled && !isCompleted && inputsReady;\n\n useEffect(() => {\n unlockSigning?.(canSign);\n }, [unlockSigning, canSign]);\n\n useEffect(() => {\n registerRuntimeInputs?.({\n recipientDid: effectiveRecipient,\n entityDid: resolvedEntityDid,\n ownerDid: resolvedOwnerDid,\n });\n }, [registerRuntimeInputs, effectiveRecipient, resolvedEntityDid, resolvedOwnerDid]);\n\n const execute = useCallback(async () => {\n setError(null);\n if (!executeAction) {\n setError('Transfer action executor is unavailable');\n return;\n }\n if (!inputsReady) {\n setError('Entity DID and recipient are required');\n return;\n }\n console.log('[entity.transfer] signing', { entityDid: resolvedEntityDid, recipient: effectiveRecipient });\n const outcome = await executeAction({\n runtimeInputs: {\n entityDid: resolvedEntityDid,\n recipientDid: effectiveRecipient,\n ...(resolvedOwnerDid ? { ownerDid: resolvedOwnerDid } : {}),\n ...(resolvedOwnerAddress ? { ownerAddress: resolvedOwnerAddress } : {}),\n } as unknown as EntityTransferRuntimeInputs,\n });\n if (!outcome.success) {\n setError(outcome.error || 'Transfer failed');\n }\n }, [executeAction, inputsReady, resolvedEntityDid, effectiveRecipient, resolvedOwnerDid, resolvedOwnerAddress]);\n\n useEffect(() => {\n if (!provideSigningHandler) return;\n provideSigningHandler(execute);\n }, [provideSigningHandler, execute]);\n\n const handleReset = useCallback(() => {\n console.log('[entity.transfer] reset: clearing runtime to idle');\n updateRuntime({ state: 'idle', error: undefined, output: {} });\n }, [updateRuntime]);\n\n return (\n <Stack gap=\"md\">\n <Stack gap={2}>\n <Text fw={600}>{block?.props?.title || 'Transfer Entity'}</Text>\n <Text size=\"sm\" c=\"dimmed\">\n {block?.props?.description || 'Transfer ownership of an entity to a new owner.'}\n </Text>\n </Stack>\n\n {isCompleted ? (\n <Alert icon={<IconCheck size={16} />} color=\"green\" title=\"Entity Transferred\">\n <Stack gap=\"xs\">\n <Text size=\"sm\">Ownership transferred to {completedRecipient || effectiveRecipient}.</Text>\n {recipientResolved && recipientResolved !== completedRecipient && (\n <Text size=\"xs\" c=\"dimmed\" style={{ wordBreak: 'break-all' }}>\n Resolved recipient: {recipientResolved}\n </Text>\n )}\n {createdRecipientIid && (\n <Text size=\"xs\" c=\"dimmed\">\n Created the recipient's IID document before transferring.\n </Text>\n )}\n <Text size=\"xs\" c=\"dimmed\" style={{ wordBreak: 'break-all' }}>\n Tx: {txHash}\n </Text>\n </Stack>\n </Alert>\n ) : isStale ? (\n <Alert icon={<IconAlertCircle size={16} />} color=\"yellow\" title=\"Inconsistent State\">\n <Stack gap=\"xs\">\n <Text size=\"sm\">Block was marked completed but no transaction hash was recorded. This is stale state from a previous run — reset and re-run.</Text>\n <Group>\n <Button variant=\"outline\" size=\"xs\" onClick={handleReset}>\n Reset\n </Button>\n <Button variant=\"filled\" size=\"xs\" onClick={execute} disabled={!inputsReady}>\n Force Run Now\n </Button>\n </Group>\n </Stack>\n </Alert>\n ) : (\n <>\n <Alert icon={<IconAlertTriangle size={16} />} color=\"orange\" styles={actionAlertStyles}>\n Transferring an entity is permanent — you will lose control of it once the new owner accepts ownership.\n </Alert>\n\n {!resolvedEntityDid && (\n <Group gap=\"xs\">\n <Loader size={14} />\n <Text size=\"sm\" c=\"dimmed\">\n Waiting for upstream entity DID…\n </Text>\n </Group>\n )}\n\n <BaseTextInput\n label=\"Recipient DID\"\n placeholder=\"did:ixo:… or did:ixo:wasm:…\"\n value={recipientInput || templateRecipient}\n onChange={(event) => setRecipientInput(event.currentTarget.value)}\n disabled={isDisabled}\n />\n\n {resolvedEntityDid && (\n <Text size=\"xs\" c=\"dimmed\" style={{ wordBreak: 'break-all' }}>\n Entity: {resolvedEntityDid}\n </Text>\n )}\n {isRunning && (\n <Group gap=\"xs\">\n <Loader size={14} />\n <Text size=\"sm\">Transferring entity on-chain…</Text>\n </Group>\n )}\n {!inputsReady && resolvedEntityDid && (\n <Text size=\"xs\" c=\"dimmed\">\n Enter a recipient DID to continue.\n </Text>\n )}\n </>\n )}\n\n {(error || runtimeError) && !isCompleted && (\n <Alert icon={<IconAlertCircle size={16} />} color=\"red\" styles={actionAlertStyles}>\n {error || runtimeError}\n </Alert>\n )}\n\n {isFailed && !isStale && (\n <Group>\n <Button variant=\"outline\" size=\"xs\" onClick={handleReset}>\n Try Again\n </Button>\n </Group>\n )}\n </Stack>\n );\n};\n"],"mappings":"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","names":[]}
|