@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.
- package/dist/BidConfig-YLGSEIOS.js +154 -0
- package/dist/BidConfig-YLGSEIOS.js.map +1 -0
- package/dist/BidFlowDetail-U2SX5M7F.js +365 -0
- package/dist/BidFlowDetail-U2SX5M7F.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-I4OQSHAB.js +641 -0
- package/dist/ClaimFlowDetail-I4OQSHAB.js.map +1 -0
- package/dist/CollectionLifecycleConfig-LCCGZ3CJ.js +149 -0
- package/dist/CollectionLifecycleConfig-LCCGZ3CJ.js.map +1 -0
- package/dist/CollectionLifecycleFlowDetail-LQHKB227.js +647 -0
- package/dist/CollectionLifecycleFlowDetail-LQHKB227.js.map +1 -0
- package/dist/CollectionUsersConfig-RI2X3YY2.js +271 -0
- package/dist/CollectionUsersConfig-RI2X3YY2.js.map +1 -0
- package/dist/CollectionUsersFlowDetail-LHXVCCPQ.js +1276 -0
- package/dist/CollectionUsersFlowDetail-LHXVCCPQ.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-2EXGNBYC.js +564 -0
- package/dist/EvaluateBidFlowDetail-2EXGNBYC.js.map +1 -0
- package/dist/EvaluateClaimConfig-3D4F5LHU.js +297 -0
- package/dist/EvaluateClaimConfig-3D4F5LHU.js.map +1 -0
- package/dist/EvaluateClaimFlowDetail-QKHJVEDE.js +2237 -0
- package/dist/EvaluateClaimFlowDetail-QKHJVEDE.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-4TE6UCEB.js +83 -0
- package/dist/IdentityCreateFlowDetail-4TE6UCEB.js.map +1 -0
- package/dist/IidCreateConfig-RRV2DYXI.js +75 -0
- package/dist/IidCreateConfig-RRV2DYXI.js.map +1 -0
- package/dist/IidCreateFlowDetail-HPVZAHVY.js +57 -0
- package/dist/IidCreateFlowDetail-HPVZAHVY.js.map +1 -0
- package/dist/KycVerifyConfig-VCG65K5K.js +65 -0
- package/dist/KycVerifyConfig-VCG65K5K.js.map +1 -0
- package/dist/KycVerifyFlowDetail-FEU43HML.js +421 -0
- package/dist/KycVerifyFlowDetail-FEU43HML.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-MIBXUEKC.js +255 -0
- package/dist/OracleConfigureOracleFlowDetail-MIBXUEKC.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-HQU3UKEB.js +220 -0
- package/dist/OracleStoreSecretsAndConfigFlowDetail-HQU3UKEB.js.map +1 -0
- package/dist/OracleStoreSecretsConfig-PQMF7LFT.js +191 -0
- package/dist/OracleStoreSecretsConfig-PQMF7LFT.js.map +1 -0
- package/dist/OracleStoreSecretsFlowDetail-5RXWQ3KA.js +197 -0
- package/dist/OracleStoreSecretsFlowDetail-5RXWQ3KA.js.map +1 -0
- package/dist/ProposalCreateConfig-U5IHZNT7.js +161 -0
- package/dist/ProposalCreateConfig-U5IHZNT7.js.map +1 -0
- package/dist/ProposalCreateFlowDetail-2FCRCNYV.js +235 -0
- package/dist/ProposalCreateFlowDetail-2FCRCNYV.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-3TUYY4HK.js +20 -0
- package/dist/chunk-3TUYY4HK.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-5E6Z6JJN.js +4456 -0
- package/dist/chunk-5E6Z6JJN.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-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-F5GTFCYV.js +3333 -0
- package/dist/chunk-F5GTFCYV.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-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-JB6ASLUJ.js +315 -0
- package/dist/chunk-JB6ASLUJ.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-MZIBZ5FY.js +554 -0
- package/dist/chunk-MZIBZ5FY.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-XYXDY72K.js +27508 -0
- package/dist/chunk-XYXDY72K.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-A4CWC4AG.js +0 -374
- package/dist/chunk-A4CWC4AG.js.map +0 -1
- package/dist/chunk-NEOPTPDF.js.map +0 -1
- package/dist/chunk-VRCRDKN5.js +0 -59694
- package/dist/chunk-VRCRDKN5.js.map +0 -1
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
import {
|
|
2
|
+
parseOracleConfigureOracleInputs
|
|
3
|
+
} from "./chunk-ACNE455I.js";
|
|
4
|
+
import {
|
|
5
|
+
useIdempotencyCheck
|
|
6
|
+
} from "./chunk-M36DJTFZ.js";
|
|
7
|
+
import {
|
|
8
|
+
useActionExecution
|
|
9
|
+
} from "./chunk-P7OBLJAG.js";
|
|
10
|
+
import {
|
|
11
|
+
useResolvedInputs
|
|
12
|
+
} from "./chunk-MQCDMHRZ.js";
|
|
13
|
+
import "./chunk-FFYZXA75.js";
|
|
14
|
+
import "./chunk-5E6Z6JJN.js";
|
|
15
|
+
import {
|
|
16
|
+
buildServicesFromHandlers
|
|
17
|
+
} from "./chunk-F4PTFXZH.js";
|
|
18
|
+
import "./chunk-IH4T7V4C.js";
|
|
19
|
+
import "./chunk-PYNDJDWZ.js";
|
|
20
|
+
import "./chunk-NIXT2SBH.js";
|
|
21
|
+
import "./chunk-JIDTNKKL.js";
|
|
22
|
+
import "./chunk-JVROGQ7Q.js";
|
|
23
|
+
import "./chunk-IIIZZ4E4.js";
|
|
24
|
+
import "./chunk-HT6L7A5M.js";
|
|
25
|
+
import "./chunk-RRYBAE6E.js";
|
|
26
|
+
import "./chunk-N3ORMGAI.js";
|
|
27
|
+
import "./chunk-NCSGIRRQ.js";
|
|
28
|
+
import {
|
|
29
|
+
DismissibleAlert
|
|
30
|
+
} from "./chunk-IFWKRCFF.js";
|
|
31
|
+
import {
|
|
32
|
+
actionAlertStyles
|
|
33
|
+
} from "./chunk-6GKJR52N.js";
|
|
34
|
+
import "./chunk-EBFFDDAS.js";
|
|
35
|
+
import {
|
|
36
|
+
BaseTextInput
|
|
37
|
+
} from "./chunk-WO7V6ZNC.js";
|
|
38
|
+
import {
|
|
39
|
+
useBlocknoteHandlers
|
|
40
|
+
} from "./chunk-4DGCCXD6.js";
|
|
41
|
+
import "./chunk-7W7UUUIE.js";
|
|
42
|
+
import "./chunk-TS2LNBF2.js";
|
|
43
|
+
|
|
44
|
+
// src/mantine/blocks/action/actionTypes/oracleConfigureOracle/OracleConfigureOracleFlowDetail.tsx
|
|
45
|
+
import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
46
|
+
import { Button, Collapse, Divider, Group, Loader, Stack, Text } from "@mantine/core";
|
|
47
|
+
import { IconAlertCircle, IconCheck, IconChevronDown, IconChevronUp, IconLock } from "@tabler/icons-react";
|
|
48
|
+
var EXPECTED_SECRETS = ["SECP_MNEMONIC", "MATRIX_ORACLE_ADMIN_PASSWORD", "MATRIX_ORACLE_ADMIN_ACCESS_TOKEN", "MATRIX_RECOVERY_PHRASE", "MATRIX_VALUE_PIN", "OPEN_ROUTER_API_KEY"];
|
|
49
|
+
var FIELDS = [
|
|
50
|
+
// Contract
|
|
51
|
+
"oracleEntityDid",
|
|
52
|
+
// Secrets routing
|
|
53
|
+
"publicKeyMultibase",
|
|
54
|
+
"verificationMethodId",
|
|
55
|
+
"matrixHomeServerUrl",
|
|
56
|
+
"matrixUsername",
|
|
57
|
+
// Sensitive values
|
|
58
|
+
"mnemonic",
|
|
59
|
+
"matrixPassword",
|
|
60
|
+
"matrixRecoveryPhrase",
|
|
61
|
+
"pin",
|
|
62
|
+
// Config (form fallback applied below)
|
|
63
|
+
"oracleName",
|
|
64
|
+
"orgName",
|
|
65
|
+
"description",
|
|
66
|
+
"location",
|
|
67
|
+
"price",
|
|
68
|
+
"apiUrl",
|
|
69
|
+
"entityDid",
|
|
70
|
+
"logoUrl",
|
|
71
|
+
"llmModel",
|
|
72
|
+
"opening",
|
|
73
|
+
"communicationStyle",
|
|
74
|
+
"capabilities",
|
|
75
|
+
// Identifiers
|
|
76
|
+
"matrixUserId",
|
|
77
|
+
"matrixAccountRoomId",
|
|
78
|
+
"oracleAddress",
|
|
79
|
+
"oracleDid",
|
|
80
|
+
// Raw form-answers blob (resolved to a JSON string, unpacked below)
|
|
81
|
+
"formAnswers"
|
|
82
|
+
];
|
|
83
|
+
var REQUIRED_FIELDS = [
|
|
84
|
+
"oracleEntityDid",
|
|
85
|
+
"publicKeyMultibase",
|
|
86
|
+
"verificationMethodId",
|
|
87
|
+
"matrixHomeServerUrl",
|
|
88
|
+
"matrixUsername",
|
|
89
|
+
"mnemonic",
|
|
90
|
+
"matrixPassword",
|
|
91
|
+
"matrixRecoveryPhrase",
|
|
92
|
+
"pin",
|
|
93
|
+
"oracleName",
|
|
94
|
+
"entityDid"
|
|
95
|
+
];
|
|
96
|
+
var OracleConfigureOracleFlowDetail = ({ inputs, editor, block, runtime, updateRuntime, isDisabled, executeAction }) => {
|
|
97
|
+
const handlers = useBlocknoteHandlers();
|
|
98
|
+
const services = useMemo(() => buildServicesFromHandlers(handlers), [handlers]);
|
|
99
|
+
const typedParsed = useMemo(() => parseOracleConfigureOracleInputs(inputs), [inputs]);
|
|
100
|
+
const { parsed, resolvedInputs: base } = useResolvedInputs(editor, inputs, { fields: FIELDS, required: REQUIRED_FIELDS }, block?.id);
|
|
101
|
+
const resolvedInputs = useMemo(() => {
|
|
102
|
+
const form = (() => {
|
|
103
|
+
if (!base.formAnswers) return {};
|
|
104
|
+
try {
|
|
105
|
+
const p = JSON.parse(base.formAnswers);
|
|
106
|
+
return p && typeof p === "object" ? p : {};
|
|
107
|
+
} catch {
|
|
108
|
+
return {};
|
|
109
|
+
}
|
|
110
|
+
})();
|
|
111
|
+
const pick = (top, fromForm) => {
|
|
112
|
+
if (top) return top;
|
|
113
|
+
if (typeof fromForm === "string") return fromForm;
|
|
114
|
+
if (typeof fromForm === "number" || typeof fromForm === "boolean") return String(fromForm);
|
|
115
|
+
return "";
|
|
116
|
+
};
|
|
117
|
+
return {
|
|
118
|
+
...base,
|
|
119
|
+
pin: pick(base.pin, form.pin),
|
|
120
|
+
oracleName: pick(base.oracleName, form.oracleName),
|
|
121
|
+
orgName: pick(base.orgName, form.orgName),
|
|
122
|
+
description: pick(base.description, form.description),
|
|
123
|
+
location: pick(base.location, form.location),
|
|
124
|
+
// price defaults to 0 when absent from the template (typed-parser
|
|
125
|
+
// behavior), so a missing price resolves to '0' — not the form value.
|
|
126
|
+
price: pick(parsed.price == null ? "0" : base.price, form.price),
|
|
127
|
+
apiUrl: pick(base.apiUrl, form.apiUrl),
|
|
128
|
+
logoUrl: pick(base.logoUrl, form.logoUrl),
|
|
129
|
+
llmModel: pick(base.llmModel, form.llmModel),
|
|
130
|
+
opening: pick(base.opening, form.opening),
|
|
131
|
+
communicationStyle: pick(base.communicationStyle, form.communicationStyle),
|
|
132
|
+
capabilities: pick(base.capabilities, form.capabilities),
|
|
133
|
+
// Passed through unresolved (normalized arrays from the typed parser).
|
|
134
|
+
skills: typedParsed.skills,
|
|
135
|
+
mcpServers: typedParsed.mcpServers
|
|
136
|
+
};
|
|
137
|
+
}, [base, parsed.price, typedParsed.skills, typedParsed.mcpServers]);
|
|
138
|
+
const requiredFieldEntries = REQUIRED_FIELDS.map((field) => [field, resolvedInputs[field]]);
|
|
139
|
+
const missingFields = requiredFieldEntries.filter(([, v]) => !v).map(([k]) => k);
|
|
140
|
+
const inputsReady = missingFields.length === 0;
|
|
141
|
+
const storedSecrets = runtime.output?.storedSecrets || [];
|
|
142
|
+
const configStored = !!runtime.output?.configStored;
|
|
143
|
+
const userOracleRoomId = runtime.output?.userOracleRoomId || "";
|
|
144
|
+
const hasProof = Array.isArray(storedSecrets) && storedSecrets.length > 0 && configStored && !!userOracleRoomId;
|
|
145
|
+
const openRouterJwe = runtime.userInputs?.openRouterApiKey || "";
|
|
146
|
+
const hasOpenRouter = !!openRouterJwe;
|
|
147
|
+
const openRouterPlaintext = runtime.userInputs?.openRouterApiKeyPlaintext || "";
|
|
148
|
+
const runInputs = useMemo(
|
|
149
|
+
() => ({ ...resolvedInputs, openRouterApiKeyJwe: openRouterJwe, openRouterApiKeyPlaintext: openRouterPlaintext }),
|
|
150
|
+
[resolvedInputs, openRouterJwe, openRouterPlaintext]
|
|
151
|
+
);
|
|
152
|
+
const { isRunning, isCompleted, isStale, isFailed, errorMessage, handleExecute, handleRetry } = useActionExecution({
|
|
153
|
+
executeAction,
|
|
154
|
+
runtime,
|
|
155
|
+
updateRuntime,
|
|
156
|
+
isDisabled,
|
|
157
|
+
// The OpenRouter key must be saved (encrypted at-rest) before execution.
|
|
158
|
+
inputsReady: inputsReady && hasOpenRouter,
|
|
159
|
+
resolvedInputs: runInputs,
|
|
160
|
+
hasProof,
|
|
161
|
+
logTag: "oracle.configureOracle",
|
|
162
|
+
failureMessage: "Failed to configure oracle"
|
|
163
|
+
});
|
|
164
|
+
const [openRouterDraft, setOpenRouterDraft] = useState("");
|
|
165
|
+
const [isEditingOpenRouter, setIsEditingOpenRouter] = useState(!hasOpenRouter);
|
|
166
|
+
const [isEncryptingOpenRouter, setIsEncryptingOpenRouter] = useState(false);
|
|
167
|
+
const [showAdditional, setShowAdditional] = useState(false);
|
|
168
|
+
const [networkConstants, setNetworkConstants] = useState(null);
|
|
169
|
+
const [isLoadingConstants, setIsLoadingConstants] = useState(false);
|
|
170
|
+
const constantsFetchRef = useRef(false);
|
|
171
|
+
const handleSaveOpenRouter = useCallback(async () => {
|
|
172
|
+
if (!openRouterDraft) return;
|
|
173
|
+
if (!resolvedInputs.publicKeyMultibase) return;
|
|
174
|
+
if (!services?.oracle?.encryptForOracle) return;
|
|
175
|
+
console.log("[oracle.configureOracle] encrypting OpenRouter key at-rest");
|
|
176
|
+
setIsEncryptingOpenRouter(true);
|
|
177
|
+
try {
|
|
178
|
+
const { jwe } = await services.oracle.encryptForOracle({
|
|
179
|
+
plaintext: openRouterDraft,
|
|
180
|
+
publicKeyMultibase: resolvedInputs.publicKeyMultibase
|
|
181
|
+
});
|
|
182
|
+
updateRuntime({
|
|
183
|
+
userInputs: { ...runtime.userInputs || {}, openRouterApiKey: jwe, openRouterApiKeyPlaintext: openRouterDraft }
|
|
184
|
+
});
|
|
185
|
+
setOpenRouterDraft("");
|
|
186
|
+
setIsEditingOpenRouter(false);
|
|
187
|
+
} catch (err) {
|
|
188
|
+
console.error("[oracle.configureOracle] failed to encrypt OpenRouter key", err);
|
|
189
|
+
} finally {
|
|
190
|
+
setIsEncryptingOpenRouter(false);
|
|
191
|
+
}
|
|
192
|
+
}, [openRouterDraft, resolvedInputs.publicKeyMultibase, services, runtime.userInputs, updateRuntime]);
|
|
193
|
+
const handleCancelEditOpenRouter = useCallback(() => {
|
|
194
|
+
setOpenRouterDraft("");
|
|
195
|
+
setIsEditingOpenRouter(false);
|
|
196
|
+
}, []);
|
|
197
|
+
const handleChangeOpenRouter = useCallback(() => {
|
|
198
|
+
setIsEditingOpenRouter(true);
|
|
199
|
+
}, []);
|
|
200
|
+
const existingRoomId = runtime.output?.userOracleRoomId;
|
|
201
|
+
const { isChecking } = useIdempotencyCheck({
|
|
202
|
+
enabled: inputsReady && runtime.state !== "completed" && !isDisabled && !!services?.oracle?.readStoredSecrets && !!existingRoomId,
|
|
203
|
+
check: async () => {
|
|
204
|
+
const { secretNames } = await services.oracle.readStoredSecrets({ matrixRoomId: existingRoomId });
|
|
205
|
+
const hasAll = EXPECTED_SECRETS.every((name) => secretNames.includes(name));
|
|
206
|
+
if (!hasAll) return null;
|
|
207
|
+
return { userOracleRoomId: existingRoomId, storedSecrets: secretNames, verifiedExisting: true, roomId: existingRoomId, configStored: true };
|
|
208
|
+
},
|
|
209
|
+
markCompleted: (verifiedOutput) => updateRuntime({
|
|
210
|
+
state: "completed",
|
|
211
|
+
executedAt: Date.now(),
|
|
212
|
+
output: verifiedOutput,
|
|
213
|
+
error: void 0
|
|
214
|
+
}),
|
|
215
|
+
logTag: "oracle.configureOracle"
|
|
216
|
+
});
|
|
217
|
+
useEffect(() => {
|
|
218
|
+
if (constantsFetchRef.current) return;
|
|
219
|
+
if (!inputsReady) return;
|
|
220
|
+
if (!resolvedInputs.oracleName) return;
|
|
221
|
+
if (!services?.oracle?.getNetworkConstants) return;
|
|
222
|
+
constantsFetchRef.current = true;
|
|
223
|
+
setIsLoadingConstants(true);
|
|
224
|
+
(async () => {
|
|
225
|
+
try {
|
|
226
|
+
const result = await services.oracle.getNetworkConstants({ oracleName: resolvedInputs.oracleName });
|
|
227
|
+
setNetworkConstants(result.constants);
|
|
228
|
+
} catch (err) {
|
|
229
|
+
console.warn("[oracle.configureOracle] failed to fetch network constants", err);
|
|
230
|
+
} finally {
|
|
231
|
+
setIsLoadingConstants(false);
|
|
232
|
+
}
|
|
233
|
+
})();
|
|
234
|
+
}, [inputsReady, resolvedInputs.oracleName, services]);
|
|
235
|
+
const handleRestoreAll = useCallback(() => {
|
|
236
|
+
updateRuntime({ state: "idle", error: void 0, output: {} });
|
|
237
|
+
}, [updateRuntime]);
|
|
238
|
+
const lockIcon = /* @__PURE__ */ React.createElement(IconLock, { size: 14 });
|
|
239
|
+
const submitDisabled = !inputsReady || !hasOpenRouter || isRunning || isCompleted || isDisabled;
|
|
240
|
+
return /* @__PURE__ */ React.createElement(Stack, { gap: "md" }, /* @__PURE__ */ React.createElement(Stack, { gap: 2 }, /* @__PURE__ */ React.createElement(Text, { fw: 600 }, block?.props?.title || "Configure Oracle"), /* @__PURE__ */ React.createElement(Text, { size: "sm", c: "dimmed" }, block?.props?.description || "Contract oracle, encrypt secrets, and store configuration.")), isChecking && /* @__PURE__ */ React.createElement(Group, { gap: "xs" }, /* @__PURE__ */ React.createElement(Loader, { size: 14 }), /* @__PURE__ */ React.createElement(Text, { size: "sm", c: "dimmed" }, "Checking matrix room for already-stored secrets...")), !isChecking && !inputsReady && !isCompleted && !isStale && /* @__PURE__ */ React.createElement(Group, { gap: "xs" }, /* @__PURE__ */ React.createElement(Loader, { size: 14 }), /* @__PURE__ */ React.createElement(Text, { size: "sm", c: "dimmed" }, "Waiting for upstream blocks: ", missingFields.join(", "))), isCompleted && /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconCheck, { size: 16 }), title: "Oracle Configured", color: "green" }, /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Contract established, ", storedSecrets.length, " secrets stored, and oracle configuration saved.")), /* @__PURE__ */ React.createElement(Stack, { gap: 2 }, storedSecrets.map((name) => /* @__PURE__ */ React.createElement(Group, { key: name, gap: "xs" }, /* @__PURE__ */ React.createElement(IconLock, { size: 12 }), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", style: { fontFamily: "monospace" } }, name)))), /* @__PURE__ */ React.createElement(Group, null, /* @__PURE__ */ React.createElement(Button, { variant: "outline", size: "xs", onClick: handleRestoreAll }, "Re-configure all"))), 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 missing proof. 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 || !hasOpenRouter }, "Force Run Now")))), !isCompleted && !isStale && !isChecking && inputsReady && /* @__PURE__ */ React.createElement(Stack, { gap: "sm" }, /* @__PURE__ */ React.createElement(Group, { gap: "xs", align: "flex-end", wrap: "nowrap" }, lockIcon, /* @__PURE__ */ React.createElement(BaseTextInput, { label: "SECP_MNEMONIC", readOnly: true, type: "password", value: resolvedInputs.mnemonic, style: { flex: 1 } })), /* @__PURE__ */ React.createElement(Group, { gap: "xs", align: "flex-end", wrap: "nowrap" }, lockIcon, /* @__PURE__ */ React.createElement(BaseTextInput, { label: "MATRIX_ORACLE_ADMIN_PASSWORD", readOnly: true, type: "password", value: resolvedInputs.matrixPassword, style: { flex: 1 } })), /* @__PURE__ */ React.createElement(Group, { gap: "xs", align: "center", wrap: "nowrap" }, lockIcon, /* @__PURE__ */ React.createElement(Stack, { gap: 0, style: { flex: 1 } }, /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", style: { fontFamily: "monospace" } }, "MATRIX_ORACLE_ADMIN_ACCESS_TOKEN"), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "Generated by handler at submit time (fresh login)"))), /* @__PURE__ */ React.createElement(Group, { gap: "xs", align: "flex-end", wrap: "nowrap" }, lockIcon, /* @__PURE__ */ React.createElement(BaseTextInput, { label: "MATRIX_RECOVERY_PHRASE", readOnly: true, type: "password", value: resolvedInputs.matrixRecoveryPhrase, style: { flex: 1 } })), /* @__PURE__ */ React.createElement(Group, { gap: "xs", align: "flex-end", wrap: "nowrap" }, lockIcon, /* @__PURE__ */ React.createElement(BaseTextInput, { label: "MATRIX_VALUE_PIN", readOnly: true, type: "password", value: resolvedInputs.pin, style: { flex: 1 } })), /* @__PURE__ */ React.createElement(Group, { gap: "xs", align: "flex-end", wrap: "nowrap" }, lockIcon, isEditingOpenRouter ? /* @__PURE__ */ React.createElement(
|
|
241
|
+
BaseTextInput,
|
|
242
|
+
{
|
|
243
|
+
label: "OPEN_ROUTER_API_KEY",
|
|
244
|
+
type: "password",
|
|
245
|
+
placeholder: "sk-or-...",
|
|
246
|
+
value: openRouterDraft,
|
|
247
|
+
onChange: (event) => setOpenRouterDraft(event.currentTarget.value),
|
|
248
|
+
style: { flex: 1 }
|
|
249
|
+
}
|
|
250
|
+
) : /* @__PURE__ */ React.createElement(BaseTextInput, { label: "OPEN_ROUTER_API_KEY", readOnly: true, type: "password", value: "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022", style: { flex: 1 } })), /* @__PURE__ */ React.createElement(Group, { gap: "xs", justify: "flex-end" }, isEditingOpenRouter ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Button, { size: "xs", onClick: handleSaveOpenRouter, loading: isEncryptingOpenRouter, disabled: !openRouterDraft || !resolvedInputs.publicKeyMultibase }, "Save"), hasOpenRouter && /* @__PURE__ */ React.createElement(Button, { size: "xs", variant: "subtle", onClick: handleCancelEditOpenRouter }, "Cancel")) : /* @__PURE__ */ React.createElement(Button, { size: "xs", variant: "outline", onClick: handleChangeOpenRouter }, "Change")), /* @__PURE__ */ React.createElement(Divider, { variant: "dashed" }), /* @__PURE__ */ React.createElement(Text, { size: "sm", fw: 600 }, "Identifiers (stored as plain config)"), /* @__PURE__ */ React.createElement(BaseTextInput, { label: "MATRIX_ORACLE_ADMIN_USER_ID", readOnly: true, value: resolvedInputs.matrixUserId }), /* @__PURE__ */ React.createElement(BaseTextInput, { label: "MATRIX_ACCOUNT_ROOM_ID", readOnly: true, value: resolvedInputs.matrixAccountRoomId }), /* @__PURE__ */ React.createElement(BaseTextInput, { label: "ORACLE_ENTITY_DID", readOnly: true, value: resolvedInputs.entityDid }), /* @__PURE__ */ React.createElement(Divider, { variant: "dashed" }), /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Group, { justify: "space-between", style: { cursor: "pointer", userSelect: "none" }, onClick: () => setShowAdditional((v) => !v) }, /* @__PURE__ */ React.createElement(Text, { size: "sm", fw: 500 }, "Additional Configuration"), /* @__PURE__ */ React.createElement(Group, { gap: 6 }, /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "Stored as plain config"), showAdditional ? /* @__PURE__ */ React.createElement(IconChevronUp, { size: 14 }) : /* @__PURE__ */ React.createElement(IconChevronDown, { size: 14 }))), /* @__PURE__ */ React.createElement(Collapse, { in: showAdditional }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs", pt: "xs" }, isLoadingConstants && /* @__PURE__ */ React.createElement(Group, { gap: 6 }, /* @__PURE__ */ React.createElement(Loader, { size: 12 }), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "Loading network constants...")), /* @__PURE__ */ React.createElement(BaseTextInput, { label: "ORACLE_NAME", value: resolvedInputs.oracleName || "", readOnly: true }), /* @__PURE__ */ React.createElement(BaseTextInput, { label: "ORACLE_ADDRESS", value: resolvedInputs.oracleAddress || "", readOnly: true }), /* @__PURE__ */ React.createElement(BaseTextInput, { label: "ORACLE_DID", value: resolvedInputs.oracleDid || "", readOnly: true }), networkConstants && Object.entries(networkConstants).map(([key, value]) => /* @__PURE__ */ React.createElement(BaseTextInput, { key, label: key, value, readOnly: true }))))), isRunning && /* @__PURE__ */ React.createElement(Group, { gap: "xs" }, /* @__PURE__ */ React.createElement(Loader, { size: 14 }), /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Contracting oracle, storing secrets, and saving configuration...")), /* @__PURE__ */ React.createElement(Group, { justify: "flex-end" }, /* @__PURE__ */ React.createElement(Button, { variant: "filled", size: "sm", onClick: handleExecute, disabled: submitDisabled }, "Configure Oracle"))), 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")));
|
|
251
|
+
};
|
|
252
|
+
export {
|
|
253
|
+
OracleConfigureOracleFlowDetail
|
|
254
|
+
};
|
|
255
|
+
//# sourceMappingURL=OracleConfigureOracleFlowDetail-MIBXUEKC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/mantine/blocks/action/actionTypes/oracleConfigureOracle/OracleConfigureOracleFlowDetail.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { Button, Collapse, Divider, Group, Loader, Stack, Text } from '@mantine/core';\nimport { DismissibleAlert as Alert } from '@/mantine/components/Base/DismissibleAlert';\nimport { IconAlertCircle, IconCheck, IconChevronDown, IconChevronUp, IconLock } from '@tabler/icons-react';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\nimport { buildServicesFromHandlers } from '@/core/lib/actionRegistry/adapters';\nimport { useBlocknoteHandlers } from '@/mantine/context/BlocknoteContext';\nimport type { ActionTypeFlowProps } from '../../actionTypeUI';\nimport { useResolvedInputs } from '../../hooks/useResolvedInputs';\nimport { useActionExecution } from '../../hooks/useActionExecution';\nimport { useIdempotencyCheck } from '../../hooks/useIdempotencyCheck';\nimport { parseOracleConfigureOracleInputs } from './types';\nimport { actionAlertStyles } from '../../alertStyles';\n\nconst EXPECTED_SECRETS = ['SECP_MNEMONIC', 'MATRIX_ORACLE_ADMIN_PASSWORD', 'MATRIX_ORACLE_ADMIN_ACCESS_TOKEN', 'MATRIX_RECOVERY_PHRASE', 'MATRIX_VALUE_PIN', 'OPEN_ROUTER_API_KEY'];\n\nconst FIELDS = [\n // Contract\n 'oracleEntityDid',\n // Secrets routing\n 'publicKeyMultibase',\n 'verificationMethodId',\n 'matrixHomeServerUrl',\n 'matrixUsername',\n // Sensitive values\n 'mnemonic',\n 'matrixPassword',\n 'matrixRecoveryPhrase',\n 'pin',\n // Config (form fallback applied below)\n 'oracleName',\n 'orgName',\n 'description',\n 'location',\n 'price',\n 'apiUrl',\n 'entityDid',\n 'logoUrl',\n 'llmModel',\n 'opening',\n 'communicationStyle',\n 'capabilities',\n // Identifiers\n 'matrixUserId',\n 'matrixAccountRoomId',\n 'oracleAddress',\n 'oracleDid',\n // Raw form-answers blob (resolved to a JSON string, unpacked below)\n 'formAnswers',\n];\n\nconst REQUIRED_FIELDS = [\n 'oracleEntityDid',\n 'publicKeyMultibase',\n 'verificationMethodId',\n 'matrixHomeServerUrl',\n 'matrixUsername',\n 'mnemonic',\n 'matrixPassword',\n 'matrixRecoveryPhrase',\n 'pin',\n 'oracleName',\n 'entityDid',\n];\n\nexport const OracleConfigureOracleFlowDetail: React.FC<ActionTypeFlowProps> = ({ inputs, editor, block, runtime, updateRuntime, isDisabled, executeAction }) => {\n const handlers = useBlocknoteHandlers();\n const services = useMemo(() => buildServicesFromHandlers(handlers), [handlers]);\n\n // Typed parser kept for the non-string fields the shared hook doesn't\n // cover: skills / mcpServers (normalized to arrays, passed unresolved).\n const typedParsed = useMemo(() => parseOracleConfigureOracleInputs(inputs), [inputs]);\n\n const { parsed, resolvedInputs: base } = useResolvedInputs(editor, inputs, { fields: FIELDS, required: REQUIRED_FIELDS }, block?.id);\n\n // Form answers arrive as a JSON string via {{form-block.output.form.answers}}.\n // Unpack so inputsReady can see form-sourced fields (pin / oracleName / etc).\n const resolvedInputs = useMemo<Record<string, any>>(() => {\n const form: Record<string, unknown> = (() => {\n if (!base.formAnswers) return {};\n try {\n const p = JSON.parse(base.formAnswers);\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 ...base,\n pin: pick(base.pin, form.pin),\n oracleName: pick(base.oracleName, form.oracleName),\n orgName: pick(base.orgName, form.orgName),\n description: pick(base.description, form.description),\n location: pick(base.location, form.location),\n // price defaults to 0 when absent from the template (typed-parser\n // behavior), so a missing price resolves to '0' — not the form value.\n price: pick(parsed.price == null ? '0' : base.price, form.price),\n apiUrl: pick(base.apiUrl, form.apiUrl),\n logoUrl: pick(base.logoUrl, form.logoUrl),\n llmModel: pick(base.llmModel, form.llmModel),\n opening: pick(base.opening, form.opening),\n communicationStyle: pick(base.communicationStyle, form.communicationStyle),\n capabilities: pick(base.capabilities, form.capabilities),\n // Passed through unresolved (normalized arrays from the typed parser).\n skills: typedParsed.skills,\n mcpServers: typedParsed.mcpServers,\n };\n }, [base, parsed.price, typedParsed.skills, typedParsed.mcpServers]);\n\n const requiredFieldEntries: Array<[string, string]> = REQUIRED_FIELDS.map((field) => [field, resolvedInputs[field]]);\n const missingFields = requiredFieldEntries.filter(([, v]) => !v).map(([k]) => k);\n const inputsReady = missingFields.length === 0;\n\n // Derived from runtime — single source of truth.\n const storedSecrets: string[] = runtime.output?.storedSecrets || [];\n const configStored: boolean = !!runtime.output?.configStored;\n const userOracleRoomId: string = runtime.output?.userOracleRoomId || '';\n const hasProof = Array.isArray(storedSecrets) && storedSecrets.length > 0 && configStored && !!userOracleRoomId;\n\n // At-rest encrypted OpenRouter JWE in runtime.userInputs\n const openRouterJwe: string = (runtime.userInputs as any)?.openRouterApiKey || '';\n const hasOpenRouter = !!openRouterJwe;\n const openRouterPlaintext: string = (runtime.userInputs as any)?.openRouterApiKeyPlaintext || '';\n\n const runInputs = useMemo(\n () => ({ ...resolvedInputs, openRouterApiKeyJwe: openRouterJwe, openRouterApiKeyPlaintext: openRouterPlaintext }),\n [resolvedInputs, openRouterJwe, openRouterPlaintext]\n );\n\n const { isRunning, isCompleted, isStale, isFailed, errorMessage, handleExecute, handleRetry } = useActionExecution({\n executeAction,\n runtime,\n updateRuntime,\n isDisabled,\n // The OpenRouter key must be saved (encrypted at-rest) before execution.\n inputsReady: inputsReady && hasOpenRouter,\n resolvedInputs: runInputs,\n hasProof,\n logTag: 'oracle.configureOracle',\n failureMessage: 'Failed to configure oracle',\n });\n\n // Local ephemeral state\n const [openRouterDraft, setOpenRouterDraft] = useState<string>('');\n const [isEditingOpenRouter, setIsEditingOpenRouter] = useState<boolean>(!hasOpenRouter);\n const [isEncryptingOpenRouter, setIsEncryptingOpenRouter] = useState<boolean>(false);\n\n // Additional Configuration (display only) — network constants + oracle identifiers.\n const [showAdditional, setShowAdditional] = useState(false);\n const [networkConstants, setNetworkConstants] = useState<Record<string, string> | null>(null);\n const [isLoadingConstants, setIsLoadingConstants] = useState(false);\n const constantsFetchRef = useRef(false);\n\n const handleSaveOpenRouter = useCallback(async () => {\n if (!openRouterDraft) return;\n if (!resolvedInputs.publicKeyMultibase) return;\n if (!services?.oracle?.encryptForOracle) return;\n console.log('[oracle.configureOracle] encrypting OpenRouter key at-rest');\n setIsEncryptingOpenRouter(true);\n try {\n const { jwe } = await services.oracle.encryptForOracle({\n plaintext: openRouterDraft,\n publicKeyMultibase: resolvedInputs.publicKeyMultibase,\n });\n updateRuntime({\n userInputs: { ...(runtime.userInputs || {}), openRouterApiKey: jwe, openRouterApiKeyPlaintext: openRouterDraft } as any,\n });\n setOpenRouterDraft('');\n setIsEditingOpenRouter(false);\n } catch (err) {\n console.error('[oracle.configureOracle] failed to encrypt OpenRouter key', err);\n } finally {\n setIsEncryptingOpenRouter(false);\n }\n }, [openRouterDraft, resolvedInputs.publicKeyMultibase, services, runtime.userInputs, updateRuntime]);\n\n const handleCancelEditOpenRouter = useCallback(() => {\n setOpenRouterDraft('');\n setIsEditingOpenRouter(false);\n }, []);\n\n const handleChangeOpenRouter = useCallback(() => {\n setIsEditingOpenRouter(true);\n }, []);\n\n // Idempotency check — check both contract (userOracleRoomId in output) and secrets.\n // We need an existing userOracleRoomId from a previous run to check idempotency.\n // If we don't have one, we can't check — the contract phase hasn't run yet.\n const existingRoomId = runtime.output?.userOracleRoomId;\n const { isChecking } = useIdempotencyCheck({\n enabled: inputsReady && runtime.state !== 'completed' && !isDisabled && !!services?.oracle?.readStoredSecrets && !!existingRoomId,\n check: async () => {\n const { secretNames } = await services.oracle!.readStoredSecrets({ matrixRoomId: existingRoomId });\n const hasAll = EXPECTED_SECRETS.every((name) => secretNames.includes(name));\n if (!hasAll) return null;\n // configStored is inferred: the handler writes secrets and config in the\n // same phase, so all expected secrets present implies config was stored.\n return { userOracleRoomId: existingRoomId, storedSecrets: secretNames, verifiedExisting: true, roomId: existingRoomId, configStored: true };\n },\n markCompleted: (verifiedOutput) =>\n updateRuntime({\n state: 'completed',\n executedAt: Date.now(),\n output: verifiedOutput,\n error: undefined,\n }),\n logTag: 'oracle.configureOracle',\n });\n\n // Fetch network constants\n useEffect(() => {\n if (constantsFetchRef.current) return;\n if (!inputsReady) return;\n if (!resolvedInputs.oracleName) return;\n if (!services?.oracle?.getNetworkConstants) return;\n constantsFetchRef.current = true;\n setIsLoadingConstants(true);\n (async () => {\n try {\n const result = await services.oracle!.getNetworkConstants({ oracleName: resolvedInputs.oracleName! });\n setNetworkConstants(result.constants);\n } catch (err) {\n console.warn('[oracle.configureOracle] failed to fetch network constants', err);\n } finally {\n setIsLoadingConstants(false);\n }\n })();\n }, [inputsReady, resolvedInputs.oracleName, services]);\n\n const handleRestoreAll = useCallback(() => {\n updateRuntime({ state: 'idle', error: undefined, output: {} });\n }, [updateRuntime]);\n\n const lockIcon = <IconLock size={14} />;\n const submitDisabled = !inputsReady || !hasOpenRouter || isRunning || isCompleted || isDisabled;\n\n return (\n <Stack gap=\"md\">\n <Stack gap={2}>\n <Text fw={600}>{block?.props?.title || 'Configure Oracle'}</Text>\n <Text size=\"sm\" c=\"dimmed\">\n {block?.props?.description || 'Contract oracle, encrypt secrets, and store configuration.'}\n </Text>\n </Stack>\n\n {isChecking && (\n <Group gap=\"xs\">\n <Loader size={14} />\n <Text size=\"sm\" c=\"dimmed\">\n Checking matrix room for already-stored secrets...\n </Text>\n </Group>\n )}\n\n {!isChecking && !inputsReady && !isCompleted && !isStale && (\n <Group gap=\"xs\">\n <Loader size={14} />\n <Text size=\"sm\" c=\"dimmed\">\n Waiting for upstream blocks: {missingFields.join(', ')}\n </Text>\n </Group>\n )}\n\n {isCompleted && (\n <Stack gap=\"xs\">\n <Alert icon={<IconCheck size={16} />} title=\"Oracle Configured\" color=\"green\">\n <Text size=\"sm\">Contract established, {storedSecrets.length} secrets stored, and oracle configuration saved.</Text>\n </Alert>\n <Stack gap={2}>\n {storedSecrets.map((name) => (\n <Group key={name} gap=\"xs\">\n <IconLock size={12} />\n <Text size=\"xs\" c=\"dimmed\" style={{ fontFamily: 'monospace' }}>\n {name}\n </Text>\n </Group>\n ))}\n </Stack>\n <Group>\n <Button variant=\"outline\" size=\"xs\" onClick={handleRestoreAll}>\n Re-configure all\n </Button>\n </Group>\n </Stack>\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 missing proof. 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 || !hasOpenRouter}>\n Force Run Now\n </Button>\n </Group>\n </Stack>\n </Alert>\n )}\n\n {!isCompleted && !isStale && !isChecking && inputsReady && (\n <Stack gap=\"sm\">\n {/* SECP_MNEMONIC */}\n <Group gap=\"xs\" align=\"flex-end\" wrap=\"nowrap\">\n {lockIcon}\n <BaseTextInput label=\"SECP_MNEMONIC\" readOnly type=\"password\" value={resolvedInputs.mnemonic} style={{ flex: 1 }} />\n </Group>\n\n {/* MATRIX_ORACLE_ADMIN_PASSWORD */}\n <Group gap=\"xs\" align=\"flex-end\" wrap=\"nowrap\">\n {lockIcon}\n <BaseTextInput label=\"MATRIX_ORACLE_ADMIN_PASSWORD\" readOnly type=\"password\" value={resolvedInputs.matrixPassword} style={{ flex: 1 }} />\n </Group>\n\n {/* MATRIX_ORACLE_ADMIN_ACCESS_TOKEN */}\n <Group gap=\"xs\" align=\"center\" wrap=\"nowrap\">\n {lockIcon}\n <Stack gap={0} style={{ flex: 1 }}>\n <Text size=\"xs\" c=\"dimmed\" style={{ fontFamily: 'monospace' }}>\n MATRIX_ORACLE_ADMIN_ACCESS_TOKEN\n </Text>\n <Text size=\"xs\" c=\"dimmed\">\n Generated by handler at submit time (fresh login)\n </Text>\n </Stack>\n </Group>\n\n {/* MATRIX_RECOVERY_PHRASE */}\n <Group gap=\"xs\" align=\"flex-end\" wrap=\"nowrap\">\n {lockIcon}\n <BaseTextInput label=\"MATRIX_RECOVERY_PHRASE\" readOnly type=\"password\" value={resolvedInputs.matrixRecoveryPhrase} style={{ flex: 1 }} />\n </Group>\n\n {/* MATRIX_VALUE_PIN */}\n <Group gap=\"xs\" align=\"flex-end\" wrap=\"nowrap\">\n {lockIcon}\n <BaseTextInput label=\"MATRIX_VALUE_PIN\" readOnly type=\"password\" value={resolvedInputs.pin} style={{ flex: 1 }} />\n </Group>\n\n {/* OPEN_ROUTER_API_KEY — editable */}\n <Group gap=\"xs\" align=\"flex-end\" wrap=\"nowrap\">\n {lockIcon}\n {isEditingOpenRouter ? (\n <BaseTextInput\n label=\"OPEN_ROUTER_API_KEY\"\n type=\"password\"\n placeholder=\"sk-or-...\"\n value={openRouterDraft}\n onChange={(event) => setOpenRouterDraft(event.currentTarget.value)}\n style={{ flex: 1 }}\n />\n ) : (\n <BaseTextInput label=\"OPEN_ROUTER_API_KEY\" readOnly type=\"password\" value=\"••••••••••••••\" style={{ flex: 1 }} />\n )}\n </Group>\n <Group gap=\"xs\" justify=\"flex-end\">\n {isEditingOpenRouter ? (\n <>\n <Button size=\"xs\" onClick={handleSaveOpenRouter} loading={isEncryptingOpenRouter} disabled={!openRouterDraft || !resolvedInputs.publicKeyMultibase}>\n Save\n </Button>\n {hasOpenRouter && (\n <Button size=\"xs\" variant=\"subtle\" onClick={handleCancelEditOpenRouter}>\n Cancel\n </Button>\n )}\n </>\n ) : (\n <Button size=\"xs\" variant=\"outline\" onClick={handleChangeOpenRouter}>\n Change\n </Button>\n )}\n </Group>\n\n <Divider variant=\"dashed\" />\n\n <Text size=\"sm\" fw={600}>\n Identifiers (stored as plain config)\n </Text>\n <BaseTextInput label=\"MATRIX_ORACLE_ADMIN_USER_ID\" readOnly value={resolvedInputs.matrixUserId} />\n <BaseTextInput label=\"MATRIX_ACCOUNT_ROOM_ID\" readOnly value={resolvedInputs.matrixAccountRoomId} />\n <BaseTextInput label=\"ORACLE_ENTITY_DID\" readOnly value={resolvedInputs.entityDid} />\n\n <Divider variant=\"dashed\" />\n\n {/* Additional Configuration */}\n <Stack gap=\"xs\">\n <Group justify=\"space-between\" style={{ cursor: 'pointer', userSelect: 'none' }} onClick={() => setShowAdditional((v) => !v)}>\n <Text size=\"sm\" fw={500}>\n Additional Configuration\n </Text>\n <Group gap={6}>\n <Text size=\"xs\" c=\"dimmed\">\n Stored as plain config\n </Text>\n {showAdditional ? <IconChevronUp size={14} /> : <IconChevronDown size={14} />}\n </Group>\n </Group>\n <Collapse in={showAdditional}>\n <Stack gap=\"xs\" pt=\"xs\">\n {isLoadingConstants && (\n <Group gap={6}>\n <Loader size={12} />\n <Text size=\"xs\" c=\"dimmed\">\n Loading network constants...\n </Text>\n </Group>\n )}\n <BaseTextInput label=\"ORACLE_NAME\" value={resolvedInputs.oracleName || ''} readOnly />\n <BaseTextInput label=\"ORACLE_ADDRESS\" value={resolvedInputs.oracleAddress || ''} readOnly />\n <BaseTextInput label=\"ORACLE_DID\" value={resolvedInputs.oracleDid || ''} readOnly />\n {networkConstants && Object.entries(networkConstants).map(([key, value]) => <BaseTextInput key={key} label={key} value={value} readOnly />)}\n </Stack>\n </Collapse>\n </Stack>\n\n {isRunning && (\n <Group gap=\"xs\">\n <Loader size={14} />\n <Text size=\"sm\">Contracting oracle, storing secrets, and saving configuration...</Text>\n </Group>\n )}\n\n <Group justify=\"flex-end\">\n <Button variant=\"filled\" size=\"sm\" onClick={handleExecute} disabled={submitDisabled}>\n Configure Oracle\n </Button>\n </Group>\n </Stack>\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 </Stack>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,SAAS,aAAa,WAAW,SAAS,QAAQ,gBAAgB;AACzE,SAAS,QAAQ,UAAU,SAAS,OAAO,QAAQ,OAAO,YAAY;AAEtE,SAAS,iBAAiB,WAAW,iBAAiB,eAAe,gBAAgB;AAWrF,IAAM,mBAAmB,CAAC,iBAAiB,gCAAgC,oCAAoC,0BAA0B,oBAAoB,qBAAqB;AAElL,IAAM,SAAS;AAAA;AAAA,EAEb;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AACF;AAEA,IAAM,kBAAkB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,kCAAiE,CAAC,EAAE,QAAQ,QAAQ,OAAO,SAAS,eAAe,YAAY,cAAc,MAAM;AAC9J,QAAM,WAAW,qBAAqB;AACtC,QAAM,WAAW,QAAQ,MAAM,0BAA0B,QAAQ,GAAG,CAAC,QAAQ,CAAC;AAI9E,QAAM,cAAc,QAAQ,MAAM,iCAAiC,MAAM,GAAG,CAAC,MAAM,CAAC;AAEpF,QAAM,EAAE,QAAQ,gBAAgB,KAAK,IAAI,kBAAkB,QAAQ,QAAQ,EAAE,QAAQ,QAAQ,UAAU,gBAAgB,GAAG,OAAO,EAAE;AAInI,QAAM,iBAAiB,QAA6B,MAAM;AACxD,UAAM,QAAiC,MAAM;AAC3C,UAAI,CAAC,KAAK,YAAa,QAAO,CAAC;AAC/B,UAAI;AACF,cAAM,IAAI,KAAK,MAAM,KAAK,WAAW;AACrC,eAAO,KAAK,OAAO,MAAM,WAAW,IAAI,CAAC;AAAA,MAC3C,QAAQ;AACN,eAAO,CAAC;AAAA,MACV;AAAA,IACF,GAAG;AACH,UAAM,OAAO,CAAC,KAAa,aAAsB;AAC/C,UAAI,IAAK,QAAO;AAChB,UAAI,OAAO,aAAa,SAAU,QAAO;AACzC,UAAI,OAAO,aAAa,YAAY,OAAO,aAAa,UAAW,QAAO,OAAO,QAAQ;AACzF,aAAO;AAAA,IACT;AACA,WAAO;AAAA,MACL,GAAG;AAAA,MACH,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAAA,MAC5B,YAAY,KAAK,KAAK,YAAY,KAAK,UAAU;AAAA,MACjD,SAAS,KAAK,KAAK,SAAS,KAAK,OAAO;AAAA,MACxC,aAAa,KAAK,KAAK,aAAa,KAAK,WAAW;AAAA,MACpD,UAAU,KAAK,KAAK,UAAU,KAAK,QAAQ;AAAA;AAAA;AAAA,MAG3C,OAAO,KAAK,OAAO,SAAS,OAAO,MAAM,KAAK,OAAO,KAAK,KAAK;AAAA,MAC/D,QAAQ,KAAK,KAAK,QAAQ,KAAK,MAAM;AAAA,MACrC,SAAS,KAAK,KAAK,SAAS,KAAK,OAAO;AAAA,MACxC,UAAU,KAAK,KAAK,UAAU,KAAK,QAAQ;AAAA,MAC3C,SAAS,KAAK,KAAK,SAAS,KAAK,OAAO;AAAA,MACxC,oBAAoB,KAAK,KAAK,oBAAoB,KAAK,kBAAkB;AAAA,MACzE,cAAc,KAAK,KAAK,cAAc,KAAK,YAAY;AAAA;AAAA,MAEvD,QAAQ,YAAY;AAAA,MACpB,YAAY,YAAY;AAAA,IAC1B;AAAA,EACF,GAAG,CAAC,MAAM,OAAO,OAAO,YAAY,QAAQ,YAAY,UAAU,CAAC;AAEnE,QAAM,uBAAgD,gBAAgB,IAAI,CAAC,UAAU,CAAC,OAAO,eAAe,KAAK,CAAC,CAAC;AACnH,QAAM,gBAAgB,qBAAqB,OAAO,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AAC/E,QAAM,cAAc,cAAc,WAAW;AAG7C,QAAM,gBAA0B,QAAQ,QAAQ,iBAAiB,CAAC;AAClE,QAAM,eAAwB,CAAC,CAAC,QAAQ,QAAQ;AAChD,QAAM,mBAA2B,QAAQ,QAAQ,oBAAoB;AACrE,QAAM,WAAW,MAAM,QAAQ,aAAa,KAAK,cAAc,SAAS,KAAK,gBAAgB,CAAC,CAAC;AAG/F,QAAM,gBAAyB,QAAQ,YAAoB,oBAAoB;AAC/E,QAAM,gBAAgB,CAAC,CAAC;AACxB,QAAM,sBAA+B,QAAQ,YAAoB,6BAA6B;AAE9F,QAAM,YAAY;AAAA,IAChB,OAAO,EAAE,GAAG,gBAAgB,qBAAqB,eAAe,2BAA2B,oBAAoB;AAAA,IAC/G,CAAC,gBAAgB,eAAe,mBAAmB;AAAA,EACrD;AAEA,QAAM,EAAE,WAAW,aAAa,SAAS,UAAU,cAAc,eAAe,YAAY,IAAI,mBAAmB;AAAA,IACjH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA,aAAa,eAAe;AAAA,IAC5B,gBAAgB;AAAA,IAChB;AAAA,IACA,QAAQ;AAAA,IACR,gBAAgB;AAAA,EAClB,CAAC;AAGD,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,SAAiB,EAAE;AACjE,QAAM,CAAC,qBAAqB,sBAAsB,IAAI,SAAkB,CAAC,aAAa;AACtF,QAAM,CAAC,wBAAwB,yBAAyB,IAAI,SAAkB,KAAK;AAGnF,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,KAAK;AAC1D,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAAwC,IAAI;AAC5F,QAAM,CAAC,oBAAoB,qBAAqB,IAAI,SAAS,KAAK;AAClE,QAAM,oBAAoB,OAAO,KAAK;AAEtC,QAAM,uBAAuB,YAAY,YAAY;AACnD,QAAI,CAAC,gBAAiB;AACtB,QAAI,CAAC,eAAe,mBAAoB;AACxC,QAAI,CAAC,UAAU,QAAQ,iBAAkB;AACzC,YAAQ,IAAI,4DAA4D;AACxE,8BAA0B,IAAI;AAC9B,QAAI;AACF,YAAM,EAAE,IAAI,IAAI,MAAM,SAAS,OAAO,iBAAiB;AAAA,QACrD,WAAW;AAAA,QACX,oBAAoB,eAAe;AAAA,MACrC,CAAC;AACD,oBAAc;AAAA,QACZ,YAAY,EAAE,GAAI,QAAQ,cAAc,CAAC,GAAI,kBAAkB,KAAK,2BAA2B,gBAAgB;AAAA,MACjH,CAAC;AACD,yBAAmB,EAAE;AACrB,6BAAuB,KAAK;AAAA,IAC9B,SAAS,KAAK;AACZ,cAAQ,MAAM,6DAA6D,GAAG;AAAA,IAChF,UAAE;AACA,gCAA0B,KAAK;AAAA,IACjC;AAAA,EACF,GAAG,CAAC,iBAAiB,eAAe,oBAAoB,UAAU,QAAQ,YAAY,aAAa,CAAC;AAEpG,QAAM,6BAA6B,YAAY,MAAM;AACnD,uBAAmB,EAAE;AACrB,2BAAuB,KAAK;AAAA,EAC9B,GAAG,CAAC,CAAC;AAEL,QAAM,yBAAyB,YAAY,MAAM;AAC/C,2BAAuB,IAAI;AAAA,EAC7B,GAAG,CAAC,CAAC;AAKL,QAAM,iBAAiB,QAAQ,QAAQ;AACvC,QAAM,EAAE,WAAW,IAAI,oBAAoB;AAAA,IACzC,SAAS,eAAe,QAAQ,UAAU,eAAe,CAAC,cAAc,CAAC,CAAC,UAAU,QAAQ,qBAAqB,CAAC,CAAC;AAAA,IACnH,OAAO,YAAY;AACjB,YAAM,EAAE,YAAY,IAAI,MAAM,SAAS,OAAQ,kBAAkB,EAAE,cAAc,eAAe,CAAC;AACjG,YAAM,SAAS,iBAAiB,MAAM,CAAC,SAAS,YAAY,SAAS,IAAI,CAAC;AAC1E,UAAI,CAAC,OAAQ,QAAO;AAGpB,aAAO,EAAE,kBAAkB,gBAAgB,eAAe,aAAa,kBAAkB,MAAM,QAAQ,gBAAgB,cAAc,KAAK;AAAA,IAC5I;AAAA,IACA,eAAe,CAAC,mBACd,cAAc;AAAA,MACZ,OAAO;AAAA,MACP,YAAY,KAAK,IAAI;AAAA,MACrB,QAAQ;AAAA,MACR,OAAO;AAAA,IACT,CAAC;AAAA,IACH,QAAQ;AAAA,EACV,CAAC;AAGD,YAAU,MAAM;AACd,QAAI,kBAAkB,QAAS;AAC/B,QAAI,CAAC,YAAa;AAClB,QAAI,CAAC,eAAe,WAAY;AAChC,QAAI,CAAC,UAAU,QAAQ,oBAAqB;AAC5C,sBAAkB,UAAU;AAC5B,0BAAsB,IAAI;AAC1B,KAAC,YAAY;AACX,UAAI;AACF,cAAM,SAAS,MAAM,SAAS,OAAQ,oBAAoB,EAAE,YAAY,eAAe,WAAY,CAAC;AACpG,4BAAoB,OAAO,SAAS;AAAA,MACtC,SAAS,KAAK;AACZ,gBAAQ,KAAK,8DAA8D,GAAG;AAAA,MAChF,UAAE;AACA,8BAAsB,KAAK;AAAA,MAC7B;AAAA,IACF,GAAG;AAAA,EACL,GAAG,CAAC,aAAa,eAAe,YAAY,QAAQ,CAAC;AAErD,QAAM,mBAAmB,YAAY,MAAM;AACzC,kBAAc,EAAE,OAAO,QAAQ,OAAO,QAAW,QAAQ,CAAC,EAAE,CAAC;AAAA,EAC/D,GAAG,CAAC,aAAa,CAAC;AAElB,QAAM,WAAW,oCAAC,YAAS,MAAM,IAAI;AACrC,QAAM,iBAAiB,CAAC,eAAe,CAAC,iBAAiB,aAAa,eAAe;AAErF,SACE,oCAAC,SAAM,KAAI,QACT,oCAAC,SAAM,KAAK,KACV,oCAAC,QAAK,IAAI,OAAM,OAAO,OAAO,SAAS,kBAAmB,GAC1D,oCAAC,QAAK,MAAK,MAAK,GAAE,YACf,OAAO,OAAO,eAAe,4DAChC,CACF,GAEC,cACC,oCAAC,SAAM,KAAI,QACT,oCAAC,UAAO,MAAM,IAAI,GAClB,oCAAC,QAAK,MAAK,MAAK,GAAE,YAAS,oDAE3B,CACF,GAGD,CAAC,cAAc,CAAC,eAAe,CAAC,eAAe,CAAC,WAC/C,oCAAC,SAAM,KAAI,QACT,oCAAC,UAAO,MAAM,IAAI,GAClB,oCAAC,QAAK,MAAK,MAAK,GAAE,YAAS,iCACK,cAAc,KAAK,IAAI,CACvD,CACF,GAGD,eACC,oCAAC,SAAM,KAAI,QACT,oCAAC,oBAAM,MAAM,oCAAC,aAAU,MAAM,IAAI,GAAI,OAAM,qBAAoB,OAAM,WACpE,oCAAC,QAAK,MAAK,QAAK,0BAAuB,cAAc,QAAO,kDAAgD,CAC9G,GACA,oCAAC,SAAM,KAAK,KACT,cAAc,IAAI,CAAC,SAClB,oCAAC,SAAM,KAAK,MAAM,KAAI,QACpB,oCAAC,YAAS,MAAM,IAAI,GACpB,oCAAC,QAAK,MAAK,MAAK,GAAE,UAAS,OAAO,EAAE,YAAY,YAAY,KACzD,IACH,CACF,CACD,CACH,GACA,oCAAC,aACC,oCAAC,UAAO,SAAQ,WAAU,MAAK,MAAK,SAAS,oBAAkB,kBAE/D,CACF,CACF,GAGD,WACC,oCAAC,oBAAM,MAAM,oCAAC,mBAAgB,MAAM,IAAI,GAAI,OAAM,UAAS,OAAM,wBAC/D,oCAAC,SAAM,KAAI,QACT,oCAAC,QAAK,MAAK,QAAK,0EAAmE,GACnF,oCAAC,aACC,oCAAC,UAAO,SAAQ,WAAU,MAAK,MAAK,SAAS,eAAa,OAE1D,GACA,oCAAC,UAAO,SAAQ,UAAS,MAAK,MAAK,SAAS,eAAe,UAAU,CAAC,eAAe,CAAC,iBAAe,eAErG,CACF,CACF,CACF,GAGD,CAAC,eAAe,CAAC,WAAW,CAAC,cAAc,eAC1C,oCAAC,SAAM,KAAI,QAET,oCAAC,SAAM,KAAI,MAAK,OAAM,YAAW,MAAK,YACnC,UACD,oCAAC,iBAAc,OAAM,iBAAgB,UAAQ,MAAC,MAAK,YAAW,OAAO,eAAe,UAAU,OAAO,EAAE,MAAM,EAAE,GAAG,CACpH,GAGA,oCAAC,SAAM,KAAI,MAAK,OAAM,YAAW,MAAK,YACnC,UACD,oCAAC,iBAAc,OAAM,gCAA+B,UAAQ,MAAC,MAAK,YAAW,OAAO,eAAe,gBAAgB,OAAO,EAAE,MAAM,EAAE,GAAG,CACzI,GAGA,oCAAC,SAAM,KAAI,MAAK,OAAM,UAAS,MAAK,YACjC,UACD,oCAAC,SAAM,KAAK,GAAG,OAAO,EAAE,MAAM,EAAE,KAC9B,oCAAC,QAAK,MAAK,MAAK,GAAE,UAAS,OAAO,EAAE,YAAY,YAAY,KAAG,kCAE/D,GACA,oCAAC,QAAK,MAAK,MAAK,GAAE,YAAS,mDAE3B,CACF,CACF,GAGA,oCAAC,SAAM,KAAI,MAAK,OAAM,YAAW,MAAK,YACnC,UACD,oCAAC,iBAAc,OAAM,0BAAyB,UAAQ,MAAC,MAAK,YAAW,OAAO,eAAe,sBAAsB,OAAO,EAAE,MAAM,EAAE,GAAG,CACzI,GAGA,oCAAC,SAAM,KAAI,MAAK,OAAM,YAAW,MAAK,YACnC,UACD,oCAAC,iBAAc,OAAM,oBAAmB,UAAQ,MAAC,MAAK,YAAW,OAAO,eAAe,KAAK,OAAO,EAAE,MAAM,EAAE,GAAG,CAClH,GAGA,oCAAC,SAAM,KAAI,MAAK,OAAM,YAAW,MAAK,YACnC,UACA,sBACC;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,MAAK;AAAA,MACL,aAAY;AAAA,MACZ,OAAO;AAAA,MACP,UAAU,CAAC,UAAU,mBAAmB,MAAM,cAAc,KAAK;AAAA,MACjE,OAAO,EAAE,MAAM,EAAE;AAAA;AAAA,EACnB,IAEA,oCAAC,iBAAc,OAAM,uBAAsB,UAAQ,MAAC,MAAK,YAAW,OAAM,wFAAiB,OAAO,EAAE,MAAM,EAAE,GAAG,CAEnH,GACA,oCAAC,SAAM,KAAI,MAAK,SAAQ,cACrB,sBACC,0DACE,oCAAC,UAAO,MAAK,MAAK,SAAS,sBAAsB,SAAS,wBAAwB,UAAU,CAAC,mBAAmB,CAAC,eAAe,sBAAoB,MAEpJ,GACC,iBACC,oCAAC,UAAO,MAAK,MAAK,SAAQ,UAAS,SAAS,8BAA4B,QAExE,CAEJ,IAEA,oCAAC,UAAO,MAAK,MAAK,SAAQ,WAAU,SAAS,0BAAwB,QAErE,CAEJ,GAEA,oCAAC,WAAQ,SAAQ,UAAS,GAE1B,oCAAC,QAAK,MAAK,MAAK,IAAI,OAAK,sCAEzB,GACA,oCAAC,iBAAc,OAAM,+BAA8B,UAAQ,MAAC,OAAO,eAAe,cAAc,GAChG,oCAAC,iBAAc,OAAM,0BAAyB,UAAQ,MAAC,OAAO,eAAe,qBAAqB,GAClG,oCAAC,iBAAc,OAAM,qBAAoB,UAAQ,MAAC,OAAO,eAAe,WAAW,GAEnF,oCAAC,WAAQ,SAAQ,UAAS,GAG1B,oCAAC,SAAM,KAAI,QACT,oCAAC,SAAM,SAAQ,iBAAgB,OAAO,EAAE,QAAQ,WAAW,YAAY,OAAO,GAAG,SAAS,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC,KACzH,oCAAC,QAAK,MAAK,MAAK,IAAI,OAAK,0BAEzB,GACA,oCAAC,SAAM,KAAK,KACV,oCAAC,QAAK,MAAK,MAAK,GAAE,YAAS,wBAE3B,GACC,iBAAiB,oCAAC,iBAAc,MAAM,IAAI,IAAK,oCAAC,mBAAgB,MAAM,IAAI,CAC7E,CACF,GACA,oCAAC,YAAS,IAAI,kBACZ,oCAAC,SAAM,KAAI,MAAK,IAAG,QAChB,sBACC,oCAAC,SAAM,KAAK,KACV,oCAAC,UAAO,MAAM,IAAI,GAClB,oCAAC,QAAK,MAAK,MAAK,GAAE,YAAS,8BAE3B,CACF,GAEF,oCAAC,iBAAc,OAAM,eAAc,OAAO,eAAe,cAAc,IAAI,UAAQ,MAAC,GACpF,oCAAC,iBAAc,OAAM,kBAAiB,OAAO,eAAe,iBAAiB,IAAI,UAAQ,MAAC,GAC1F,oCAAC,iBAAc,OAAM,cAAa,OAAO,eAAe,aAAa,IAAI,UAAQ,MAAC,GACjF,oBAAoB,OAAO,QAAQ,gBAAgB,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,oCAAC,iBAAc,KAAU,OAAO,KAAK,OAAc,UAAQ,MAAC,CAAE,CAC5I,CACF,CACF,GAEC,aACC,oCAAC,SAAM,KAAI,QACT,oCAAC,UAAO,MAAM,IAAI,GAClB,oCAAC,QAAK,MAAK,QAAK,kEAAgE,CAClF,GAGF,oCAAC,SAAM,SAAQ,cACb,oCAAC,UAAO,SAAQ,UAAS,MAAK,MAAK,SAAS,eAAe,UAAU,kBAAgB,kBAErF,CACF,CACF,GAGD,YAAY,gBACX,oCAAC,oBAAM,MAAM,oCAAC,mBAAgB,MAAM,IAAI,GAAI,OAAM,OAAM,QAAQ,qBAC7D,YACH,GAED,YACC,oCAAC,aACC,oCAAC,UAAO,SAAQ,WAAU,SAAS,eAAa,WAEhD,CACF,CAEJ;AAEJ;","names":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import {
|
|
2
|
+
parseOracleContractInputs,
|
|
3
|
+
serializeOracleContractInputs
|
|
4
|
+
} from "./chunk-GFGDHPZ2.js";
|
|
5
|
+
import {
|
|
6
|
+
BaseTextInput
|
|
7
|
+
} from "./chunk-WO7V6ZNC.js";
|
|
8
|
+
|
|
9
|
+
// src/mantine/blocks/action/actionTypes/oracleContract/OracleContractConfig.tsx
|
|
10
|
+
import React, { useCallback, useEffect, useState } from "react";
|
|
11
|
+
import { Stack, Text } from "@mantine/core";
|
|
12
|
+
var OracleContractConfig = ({ inputs, onInputsChange }) => {
|
|
13
|
+
const [local, setLocal] = useState(() => parseOracleContractInputs(inputs));
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
setLocal(parseOracleContractInputs(inputs));
|
|
16
|
+
}, [inputs]);
|
|
17
|
+
const update = useCallback(
|
|
18
|
+
(patch) => {
|
|
19
|
+
const updated = { ...local, ...patch };
|
|
20
|
+
setLocal(updated);
|
|
21
|
+
onInputsChange(serializeOracleContractInputs(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 }, "Contract Oracle"), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "Creates the user\u2194oracle Matrix DM room via the rooms-bot. No chain calls.")), /* @__PURE__ */ React.createElement(
|
|
26
|
+
BaseTextInput,
|
|
27
|
+
{
|
|
28
|
+
label: "Oracle Entity DID",
|
|
29
|
+
placeholder: "{{oracle-entity-create.output.entityDid}}",
|
|
30
|
+
value: local.oracleEntityDid || "",
|
|
31
|
+
onChange: (event) => update({ oracleEntityDid: event.currentTarget.value })
|
|
32
|
+
}
|
|
33
|
+
));
|
|
34
|
+
};
|
|
35
|
+
export {
|
|
36
|
+
OracleContractConfig
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=OracleContractConfig-PHY5L7W2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/mantine/blocks/action/actionTypes/oracleContract/OracleContractConfig.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 { parseOracleContractInputs, serializeOracleContractInputs, type OracleContractInputs } from './types';\n\nexport const OracleContractConfig: React.FC<ActionTypeConfigProps> = ({ inputs, onInputsChange }) => {\n const [local, setLocal] = useState<OracleContractInputs>(() => parseOracleContractInputs(inputs));\n\n useEffect(() => {\n setLocal(parseOracleContractInputs(inputs));\n }, [inputs]);\n\n const update = useCallback(\n (patch: Partial<OracleContractInputs>) => {\n const updated = { ...local, ...patch };\n setLocal(updated);\n onInputsChange(serializeOracleContractInputs(updated));\n },\n [local, onInputsChange]\n );\n\n return (\n <Stack gap=\"lg\">\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={600}>\n Contract Oracle\n </Text>\n <Text size=\"xs\" c=\"dimmed\">\n Creates the user↔oracle Matrix DM room via the rooms-bot. No chain calls.\n </Text>\n </Stack>\n\n <BaseTextInput\n label=\"Oracle Entity DID\"\n placeholder=\"{{oracle-entity-create.output.entityDid}}\"\n value={local.oracleEntityDid || ''}\n onChange={(event) => update({ oracleEntityDid: 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,SAA+B,MAAM,0BAA0B,MAAM,CAAC;AAEhG,YAAU,MAAM;AACd,aAAS,0BAA0B,MAAM,CAAC;AAAA,EAC5C,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,SAAS;AAAA,IACb,CAAC,UAAyC;AACxC,YAAM,UAAU,EAAE,GAAG,OAAO,GAAG,MAAM;AACrC,eAAS,OAAO;AAChB,qBAAe,8BAA8B,OAAO,CAAC;AAAA,IACvD;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,gFAE3B,CACF,GAEA;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,aAAY;AAAA,MACZ,OAAO,MAAM,mBAAmB;AAAA,MAChC,UAAU,CAAC,UAAU,OAAO,EAAE,iBAAiB,MAAM,cAAc,MAAM,CAAC;AAAA;AAAA,EAC5E,CACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import {
|
|
2
|
+
parseOracleContractInputs
|
|
3
|
+
} from "./chunk-GFGDHPZ2.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/oracleContract/OracleContractFlowDetail.tsx
|
|
25
|
+
import React, { useCallback, useMemo } from "react";
|
|
26
|
+
import { Button, Group, Loader, Stack, Text } from "@mantine/core";
|
|
27
|
+
import { IconCheck, IconAlertCircle } from "@tabler/icons-react";
|
|
28
|
+
var OracleContractFlowDetail = ({ inputs, editor, block, runtime, updateRuntime, isDisabled, executeAction }) => {
|
|
29
|
+
const parsed = useMemo(() => parseOracleContractInputs(inputs), [inputs]);
|
|
30
|
+
const editorDocument = editor?.document || [];
|
|
31
|
+
const runtimeReader = useRunRuntimeReader(editor);
|
|
32
|
+
const resolveOpts = useMemo(() => ({ yRuntime: runtimeReader }), [runtimeReader]);
|
|
33
|
+
const resolvedOracleEntityDid = resolveReferences(parsed.oracleEntityDid || "", editorDocument, resolveOpts).trim();
|
|
34
|
+
const inputsReady = !!resolvedOracleEntityDid;
|
|
35
|
+
const userOracleRoomId = runtime.output?.userOracleRoomId || "";
|
|
36
|
+
const userOracleRoomAlias = runtime.output?.userOracleRoomAlias || "";
|
|
37
|
+
const hasProof = !!userOracleRoomId;
|
|
38
|
+
const isRunning = runtime.state === "running";
|
|
39
|
+
const isCompleted = runtime.state === "completed" && hasProof;
|
|
40
|
+
const isStale = runtime.state === "completed" && !hasProof;
|
|
41
|
+
const isFailed = runtime.state === "failed";
|
|
42
|
+
const errorMessage = runtime.error?.message || null;
|
|
43
|
+
const handleExecute = useCallback(async () => {
|
|
44
|
+
console.log("[oracle.contract] handleExecute", { "runtime.state": runtime.state, hasProof, inputsReady });
|
|
45
|
+
if (isDisabled || isRunning) return;
|
|
46
|
+
if (!executeAction) {
|
|
47
|
+
updateRuntime({ state: "failed", error: { message: "Shared action executor is unavailable", at: Date.now() } });
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (!inputsReady) {
|
|
51
|
+
console.warn("[oracle.contract] inputs not ready (oracleEntityDid)");
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
try {
|
|
55
|
+
const outcome = await executeAction({
|
|
56
|
+
runtimeInputs: { oracleEntityDid: resolvedOracleEntityDid }
|
|
57
|
+
});
|
|
58
|
+
console.log("[oracle.contract] outcome", outcome);
|
|
59
|
+
if (!outcome.success) throw new Error(outcome.error || "Failed to contract oracle");
|
|
60
|
+
const payload = outcome.output;
|
|
61
|
+
if (!payload?.userOracleRoomId) {
|
|
62
|
+
throw new Error("oracle.contract returned success without a userOracleRoomId. Check the rooms-bot logs.");
|
|
63
|
+
}
|
|
64
|
+
} catch (err) {
|
|
65
|
+
const message = err instanceof Error ? err.message : "Failed to contract oracle";
|
|
66
|
+
console.error("[oracle.contract] failed", { message, err });
|
|
67
|
+
updateRuntime({ state: "failed", error: { message, at: Date.now() } });
|
|
68
|
+
}
|
|
69
|
+
}, [executeAction, isDisabled, isRunning, hasProof, inputsReady, resolvedOracleEntityDid, runtime.state, updateRuntime]);
|
|
70
|
+
const handleRetry = useCallback(() => {
|
|
71
|
+
updateRuntime({ state: "idle", error: void 0, output: {} });
|
|
72
|
+
}, [updateRuntime]);
|
|
73
|
+
return /* @__PURE__ */ React.createElement(Stack, { gap: "md" }, /* @__PURE__ */ React.createElement(Stack, { gap: 2 }, /* @__PURE__ */ React.createElement(Text, { fw: 600 }, block?.props?.title || "Contract Oracle"), /* @__PURE__ */ React.createElement(Text, { size: "sm", c: "dimmed" }, block?.props?.description || "Create the user\u2194oracle Matrix DM room.")), !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 oracle entity DID...")), isRunning && /* @__PURE__ */ React.createElement(Group, { gap: "xs" }, /* @__PURE__ */ React.createElement(Loader, { size: 14 }), /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Creating user\u2194oracle Matrix room...")), isCompleted && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconCheck, { size: 16 }), title: "Oracle Contracted", color: "green" }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "User\u2194oracle Matrix room is ready."), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", style: { wordBreak: "break-all" } }, "Room ID: ", userOracleRoomId), userOracleRoomAlias && /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", style: { wordBreak: "break-all" } }, "Alias: ", userOracleRoomAlias))), 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 userOracleRoomId 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...")));
|
|
74
|
+
};
|
|
75
|
+
export {
|
|
76
|
+
OracleContractFlowDetail
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=OracleContractFlowDetail-M3PM4AU4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/mantine/blocks/action/actionTypes/oracleContract/OracleContractFlowDetail.tsx"],"sourcesContent":["import { useRunRuntimeReader } from '@/mantine/hooks/useRunRuntimeReader';\nimport React, { useCallback, useMemo } from 'react';\nimport { Button, Group, Loader, Stack, Text } from '@mantine/core';\nimport { DismissibleAlert as Alert } from '@/mantine/components/Base/DismissibleAlert';\nimport { IconCheck, IconAlertCircle } from '@tabler/icons-react';\nimport { resolveReferences } from '@/mantine/utils/referenceResolver';\nimport type { ActionTypeFlowProps } from '../../actionTypeUI';\nimport { parseOracleContractInputs } from './types';\nimport { actionAlertStyles } from '../../alertStyles';\n\nexport const OracleContractFlowDetail: React.FC<ActionTypeFlowProps> = ({ inputs, editor, block, runtime, updateRuntime, isDisabled, executeAction }) => {\n const parsed = useMemo(() => parseOracleContractInputs(inputs), [inputs]);\n const editorDocument = editor?.document || [];\n const runtimeReader = useRunRuntimeReader(editor);\n const resolveOpts = useMemo(() => ({ yRuntime: runtimeReader }), [runtimeReader]);\n const resolvedOracleEntityDid = resolveReferences(parsed.oracleEntityDid || '', editorDocument, resolveOpts).trim();\n const inputsReady = !!resolvedOracleEntityDid;\n\n // Derived from runtime — single source of truth.\n const userOracleRoomId: string = runtime.output?.userOracleRoomId || '';\n const userOracleRoomAlias: string = runtime.output?.userOracleRoomAlias || '';\n const hasProof = !!userOracleRoomId;\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('[oracle.contract] 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 if (!inputsReady) {\n console.warn('[oracle.contract] inputs not ready (oracleEntityDid)');\n return;\n }\n\n try {\n const outcome = await executeAction({\n runtimeInputs: { oracleEntityDid: resolvedOracleEntityDid },\n });\n\n console.log('[oracle.contract] outcome', outcome);\n if (!outcome.success) throw new Error(outcome.error || 'Failed to contract oracle');\n\n const payload = outcome.output as { userOracleRoomId?: string; userOracleRoomAlias?: string } | undefined;\n if (!payload?.userOracleRoomId) {\n throw new Error('oracle.contract returned success without a userOracleRoomId. Check the rooms-bot logs.');\n }\n } catch (err) {\n const message = err instanceof Error ? err.message : 'Failed to contract oracle';\n console.error('[oracle.contract] failed', { message, err });\n updateRuntime({ state: 'failed', error: { message, at: Date.now() } });\n }\n }, [executeAction, isDisabled, isRunning, hasProof, inputsReady, resolvedOracleEntityDid, 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 || 'Contract Oracle'}</Text>\n <Text size=\"sm\" c=\"dimmed\">\n {block?.props?.description || 'Create the user↔oracle Matrix DM room.'}\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 oracle entity DID...\n </Text>\n </Group>\n )}\n\n {isRunning && (\n <Group gap=\"xs\">\n <Loader size={14} />\n <Text size=\"sm\">Creating user↔oracle Matrix room...</Text>\n </Group>\n )}\n\n {isCompleted && (\n <Alert icon={<IconCheck size={16} />} title=\"Oracle Contracted\" color=\"green\">\n <Stack gap=\"xs\">\n <Text size=\"sm\">User↔oracle Matrix room is ready.</Text>\n <Text size=\"xs\" c=\"dimmed\" style={{ wordBreak: 'break-all' }}>\n Room ID: {userOracleRoomId}\n </Text>\n {userOracleRoomAlias && (\n <Text size=\"xs\" c=\"dimmed\" style={{ wordBreak: 'break-all' }}>\n Alias: {userOracleRoomAlias}\n </Text>\n )}\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 userOracleRoomId 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,10 @@
|
|
|
1
|
+
// src/mantine/blocks/action/actionTypes/oracleDeploy/OracleDeployConfig.tsx
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { Stack, Text } from "@mantine/core";
|
|
4
|
+
var OracleDeployConfig = () => {
|
|
5
|
+
return /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm", c: "dimmed" }, "Deploys and starts the oracle. No additional configuration required."));
|
|
6
|
+
};
|
|
7
|
+
export {
|
|
8
|
+
OracleDeployConfig
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=OracleDeployConfig-QBG76ATZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/mantine/blocks/action/actionTypes/oracleDeploy/OracleDeployConfig.tsx"],"sourcesContent":["import React from 'react';\nimport { Stack, Text } from '@mantine/core';\n\nexport const OracleDeployConfig: React.FC<{ inputs: string }> = () => {\n return (\n <Stack gap=\"xs\">\n <Text size=\"sm\" c=\"dimmed\">\n Deploys and starts the oracle. No additional configuration required.\n </Text>\n </Stack>\n );\n};\n"],"mappings":";AAAA,OAAO,WAAW;AAClB,SAAS,OAAO,YAAY;AAErB,IAAM,qBAAmD,MAAM;AACpE,SACE,oCAAC,SAAM,KAAI,QACT,oCAAC,QAAK,MAAK,MAAK,GAAE,YAAS,sEAE3B,CACF;AAEJ;","names":[]}
|