@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,34 @@
|
|
|
1
|
+
// src/mantine/blocks/action/hooks/useIdempotencyCheck.ts
|
|
2
|
+
import { useEffect, useRef, useState } from "react";
|
|
3
|
+
function useIdempotencyCheck({ enabled, check, markCompleted, logTag }) {
|
|
4
|
+
const firedRef = useRef(false);
|
|
5
|
+
const [isChecking, setIsChecking] = useState(false);
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
if (firedRef.current) return;
|
|
8
|
+
if (!enabled) return;
|
|
9
|
+
firedRef.current = true;
|
|
10
|
+
console.log(`[${logTag}] idempotency check: probing external state`);
|
|
11
|
+
setIsChecking(true);
|
|
12
|
+
(async () => {
|
|
13
|
+
try {
|
|
14
|
+
const verifiedOutput = await check();
|
|
15
|
+
if (verifiedOutput) {
|
|
16
|
+
console.log(`[${logTag}] side effect already present \u2014 marking completed`, verifiedOutput);
|
|
17
|
+
markCompleted(verifiedOutput);
|
|
18
|
+
} else {
|
|
19
|
+
console.log(`[${logTag}] side effect not present, user action required`);
|
|
20
|
+
}
|
|
21
|
+
} catch (err) {
|
|
22
|
+
console.error(`[${logTag}] idempotency check failed`, err);
|
|
23
|
+
} finally {
|
|
24
|
+
setIsChecking(false);
|
|
25
|
+
}
|
|
26
|
+
})();
|
|
27
|
+
}, [enabled, logTag]);
|
|
28
|
+
return { isChecking };
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export {
|
|
32
|
+
useIdempotencyCheck
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=chunk-M36DJTFZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/mantine/blocks/action/hooks/useIdempotencyCheck.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nexport interface IdempotencyCheckParams {\n /** Gate: the probe only fires when true (inputs ready, not disabled, not already completed). */\n enabled: boolean;\n /**\n * Probe external state. Return the verified output to record when the\n * side effect already happened (the block completes without executing),\n * or null/undefined when user action is still required.\n */\n check: () => Promise<Record<string, unknown> | null | undefined>;\n /** Record the verified-existing completion (typically updateRuntime({state:'completed', output, ...})). */\n markCompleted: (verifiedOutput: Record<string, unknown>) => void;\n /** Log prefix per the CLAUDE.md convention. */\n logTag: string;\n}\n\n/**\n * One-shot external-state probe for idempotent actions: on mount (once\n * `enabled` becomes true) check whether the side effect already exists —\n * e.g. secrets already stored in the oracle room — and mark the block\n * completed with the server-verified output instead of re-executing.\n *\n * The ref guard ensures the probe fires at most once per mount, matching\n * the hand-rolled pattern in the oracle store-secrets FlowDetails.\n */\nexport function useIdempotencyCheck({ enabled, check, markCompleted, logTag }: IdempotencyCheckParams): { isChecking: boolean } {\n const firedRef = useRef(false);\n const [isChecking, setIsChecking] = useState(false);\n\n useEffect(() => {\n if (firedRef.current) return;\n if (!enabled) return;\n\n firedRef.current = true;\n console.log(`[${logTag}] idempotency check: probing external state`);\n setIsChecking(true);\n (async () => {\n try {\n const verifiedOutput = await check();\n if (verifiedOutput) {\n console.log(`[${logTag}] side effect already present — marking completed`, verifiedOutput);\n markCompleted(verifiedOutput);\n } else {\n console.log(`[${logTag}] side effect not present, user action required`);\n }\n } catch (err) {\n console.error(`[${logTag}] idempotency check failed`, err);\n } finally {\n setIsChecking(false);\n }\n })();\n // check/markCompleted intentionally excluded: the ref guard makes this\n // one-shot; re-running on identity changes would double-probe.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [enabled, logTag]);\n\n return { isChecking };\n}\n"],"mappings":";AAAA,SAAS,WAAW,QAAQ,gBAAgB;AA0BrC,SAAS,oBAAoB,EAAE,SAAS,OAAO,eAAe,OAAO,GAAoD;AAC9H,QAAM,WAAW,OAAO,KAAK;AAC7B,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,KAAK;AAElD,YAAU,MAAM;AACd,QAAI,SAAS,QAAS;AACtB,QAAI,CAAC,QAAS;AAEd,aAAS,UAAU;AACnB,YAAQ,IAAI,IAAI,MAAM,6CAA6C;AACnE,kBAAc,IAAI;AAClB,KAAC,YAAY;AACX,UAAI;AACF,cAAM,iBAAiB,MAAM,MAAM;AACnC,YAAI,gBAAgB;AAClB,kBAAQ,IAAI,IAAI,MAAM,0DAAqD,cAAc;AACzF,wBAAc,cAAc;AAAA,QAC9B,OAAO;AACL,kBAAQ,IAAI,IAAI,MAAM,iDAAiD;AAAA,QACzE;AAAA,MACF,SAAS,KAAK;AACZ,gBAAQ,MAAM,IAAI,MAAM,8BAA8B,GAAG;AAAA,MAC3D,UAAE;AACA,sBAAc,KAAK;AAAA,MACrB;AAAA,IACF,GAAG;AAAA,EAIL,GAAG,CAAC,SAAS,MAAM,CAAC;AAEpB,SAAO,EAAE,WAAW;AACtB;","names":[]}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
// src/mantine/blocks/claim/flow/theme.ts
|
|
2
|
+
var palette = {
|
|
3
|
+
// Neutral
|
|
4
|
+
Neutral50: "#FAFAFA",
|
|
5
|
+
Neutral100: "#F8F8F8",
|
|
6
|
+
Neutral200: "#F1F1F1",
|
|
7
|
+
Neutral300: "#EBEBEB",
|
|
8
|
+
Neutral500: "#D7D7D7",
|
|
9
|
+
Neutral800: "#9A9A9A",
|
|
10
|
+
Black: "#000000",
|
|
11
|
+
// Neutral Dark
|
|
12
|
+
NeutralDark50: "#050505",
|
|
13
|
+
NeutralDark100: "#070707",
|
|
14
|
+
NeutralDark200: "#0E0E0E",
|
|
15
|
+
NeutralDark300: "#141414",
|
|
16
|
+
NeutralDark500: "#282828",
|
|
17
|
+
NeutralDark800: "#656565",
|
|
18
|
+
// White
|
|
19
|
+
White: "#FFFFFF",
|
|
20
|
+
WhiteSecondary: "#D7ECE3",
|
|
21
|
+
// EmergingBlue
|
|
22
|
+
accentActive: "#0EB8DC",
|
|
23
|
+
accentSecondary: "#20798C",
|
|
24
|
+
accentHover: "#17C6EB",
|
|
25
|
+
accentLight: "#ADEBF8",
|
|
26
|
+
// CompanionBlue
|
|
27
|
+
companionBlue: "#e8f9fd",
|
|
28
|
+
// EmergingLighter
|
|
29
|
+
accentLighter: "rgba(173,235,248,0.2)",
|
|
30
|
+
accentDarker: "#296DAB",
|
|
31
|
+
darkestBlue: "#000000",
|
|
32
|
+
// Contribution
|
|
33
|
+
contributionBlue: "rgba(22, 143, 168, 1)",
|
|
34
|
+
// Danger
|
|
35
|
+
dangerFull: "#E2223B",
|
|
36
|
+
dangerBrighter: "#FCCFD5",
|
|
37
|
+
dangerBright: "#F9909E",
|
|
38
|
+
dangerDark: "#A11C43",
|
|
39
|
+
// Success
|
|
40
|
+
successFull: "#61B43A",
|
|
41
|
+
successDarker: "#47822b",
|
|
42
|
+
successBright: "#F4FCF0",
|
|
43
|
+
successSecondary: "#1CBD6A",
|
|
44
|
+
orangeFull: "#ED9526",
|
|
45
|
+
orangeBright: "#FDC681",
|
|
46
|
+
// Transparent
|
|
47
|
+
transparent: "rgba(255, 255, 255, 0)",
|
|
48
|
+
whiteTransparentDarker: "rgba(255, 255, 255, 0.10)",
|
|
49
|
+
whiteTransparent: "rgba(255, 255, 255, 0.30)",
|
|
50
|
+
whiteTransparentSecondary: "rgba(255, 255, 255, 0.65)",
|
|
51
|
+
successTransparent: "rgba(67, 175, 98, 0.30)",
|
|
52
|
+
// Glassmorphics
|
|
53
|
+
glass: "rgba(255, 255, 255, 0.06)",
|
|
54
|
+
glassGradient: "linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(153, 153, 153, 0.03) 100%)",
|
|
55
|
+
glassDarker: "rgba(0, 0, 0, 0.5)",
|
|
56
|
+
glassLighter: "rgba(255, 255, 255, 0.3)",
|
|
57
|
+
// Gradients
|
|
58
|
+
offsetCertificateGradient: "linear-gradient(45deg, rgba(59,152,51,1) 0%, rgba(70,193,193,1) 100%)",
|
|
59
|
+
contributionCertificateGradient: "linear-gradient(45deg, rgba(22,143,168,1) 0%, rgba(30,204,183,1) 100%)",
|
|
60
|
+
carbonCertificateGradient: "linear-gradient(55.09deg, rgba(54, 101, 135, 1) -2.49%, rgba(30, 173, 204, 1) 109.08%)",
|
|
61
|
+
shadowGradient: "linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.2) 100%)"
|
|
62
|
+
};
|
|
63
|
+
function buildSurveyTheme() {
|
|
64
|
+
return {
|
|
65
|
+
backgroundImageFit: "cover",
|
|
66
|
+
backgroundImageAttachment: "scroll",
|
|
67
|
+
backgroundOpacity: 0,
|
|
68
|
+
cssVariables: {
|
|
69
|
+
"--sjs-editorpanel-backcolor": "var(--mantine-color-neutralColor-2)",
|
|
70
|
+
"--sjs-editor-background": "var(--mantine-color-neutralColor-2)",
|
|
71
|
+
"--sjs-general-backcolor": "var(--mantine-color-neutralColor-2)",
|
|
72
|
+
"--sjs-general-backcolor-dark": "var(--mantine-color-neutralColor-3)",
|
|
73
|
+
"--sjs-general-backcolor-dim": "transparent",
|
|
74
|
+
"--sjs-general-backcolor-dim-light": "var(--mantine-color-neutralColor-1)",
|
|
75
|
+
"--sjs-general-backcolor-dim-dark": "color-mix(in srgb, var(--mantine-color-text) 4%, transparent)",
|
|
76
|
+
"--sjs-general-forecolor": "var(--mantine-color-text)",
|
|
77
|
+
"--sjs-general-forecolor-light": "color-mix(in srgb, var(--mantine-color-text) 70%, transparent)",
|
|
78
|
+
"--sjs-general-dim-forecolor": "color-mix(in srgb, var(--mantine-color-text) 55%, transparent)",
|
|
79
|
+
"--sjs-general-dim-forecolor-light": "color-mix(in srgb, var(--mantine-color-text) 40%, transparent)",
|
|
80
|
+
"--sjs-font-surveytitle-color": "var(--mantine-color-text)",
|
|
81
|
+
"--sjs-font-editorfont-color": "var(--mantine-color-text)",
|
|
82
|
+
"--sjs-primary-backcolor": "var(--mantine-color-text)",
|
|
83
|
+
"--sjs-primary-backcolor-light": "color-mix(in srgb, var(--mantine-color-text) 10%, transparent)",
|
|
84
|
+
"--sjs-primary-backcolor-dark": "color-mix(in srgb, var(--mantine-color-text) 85%, transparent)",
|
|
85
|
+
"--sjs-primary-forecolor": "var(--mantine-color-body)",
|
|
86
|
+
"--sjs-primary-forecolor-light": "var(--mantine-color-text)",
|
|
87
|
+
"--sjs-primary-hover-backcolor": "color-mix(in srgb, var(--mantine-color-text) 82%, transparent)",
|
|
88
|
+
"--sjs-base-unit": "8px",
|
|
89
|
+
"--base-unit": "8px",
|
|
90
|
+
"--sjs-editorpanel-cornerRadius": "8px",
|
|
91
|
+
"--sjs-questionpanel-cornerRadius": "8px",
|
|
92
|
+
"--sjs-corner-radius": "8px",
|
|
93
|
+
"--sjs-secondary-backcolor": "rgba(255, 152, 20, 1)",
|
|
94
|
+
"--sjs-secondary-backcolor-light": "rgba(255, 152, 20, 0.1)",
|
|
95
|
+
"--sjs-secondary-backcolor-semi-light": "rgba(255, 152, 20, 0.25)",
|
|
96
|
+
"--sjs-secondary-forecolor": "var(--mantine-color-body)",
|
|
97
|
+
"--sjs-secondary-forecolor-light": "color-mix(in srgb, var(--mantine-color-text) 25%, transparent)",
|
|
98
|
+
"--sjs-shadow-small": "none",
|
|
99
|
+
"--sjs-shadow-small-reset": "none",
|
|
100
|
+
"--sjs-shadow-medium": "none",
|
|
101
|
+
"--sjs-shadow-large": "none",
|
|
102
|
+
"--sjs-shadow-inner": "inset 0 0 0 1px var(--mantine-color-neutralColor-5)",
|
|
103
|
+
"--sjs-shadow-inner-reset": "inset 0 0 0 1px var(--mantine-color-neutralColor-5)",
|
|
104
|
+
"--sjs-border-light": "var(--mantine-color-neutralColor-4)",
|
|
105
|
+
"--sjs-border-default": "var(--mantine-color-neutralColor-5)",
|
|
106
|
+
"--sjs-border-inside": "var(--mantine-color-neutralColor-3)",
|
|
107
|
+
"--sjs-special-red": "var(--mantine-color-red-5)",
|
|
108
|
+
"--sjs-special-red-light": "color-mix(in srgb, var(--mantine-color-red-5) 10%, transparent)",
|
|
109
|
+
"--sjs-special-red-forecolor": "var(--mantine-color-body)",
|
|
110
|
+
"--sjs-special-green": "var(--mantine-color-green-5)",
|
|
111
|
+
"--sjs-special-green-light": "color-mix(in srgb, var(--mantine-color-green-5) 10%, transparent)",
|
|
112
|
+
"--sjs-special-green-forecolor": "var(--mantine-color-body)",
|
|
113
|
+
"--sjs-special-blue": "var(--mantine-color-accent-5)",
|
|
114
|
+
"--sjs-special-blue-light": "color-mix(in srgb, var(--mantine-color-accent-5) 10%, transparent)",
|
|
115
|
+
"--sjs-special-blue-forecolor": "var(--mantine-color-body)",
|
|
116
|
+
"--sjs-special-yellow": "rgba(255, 152, 20, 1)",
|
|
117
|
+
"--sjs-special-yellow-light": "rgba(255, 152, 20, 0.1)",
|
|
118
|
+
"--sjs-special-yellow-forecolor": "var(--mantine-color-body)",
|
|
119
|
+
// ── Typography (follow Mantine at every SurveyJS layer) ──
|
|
120
|
+
"--sjs-font-family": "var(--mantine-font-family)",
|
|
121
|
+
"--sjs-font-editorfont-family": "var(--mantine-font-family)",
|
|
122
|
+
"--sjs-font-questiontitle-family": "var(--mantine-font-family)",
|
|
123
|
+
"--sjs-font-questiondescription-family": "var(--mantine-font-family)",
|
|
124
|
+
"--sjs-font-pagetitle-family": "var(--mantine-font-family)",
|
|
125
|
+
"--sjs-font-pagedescription-family": "var(--mantine-font-family)",
|
|
126
|
+
"--sjs-font-surveytitle-family": "var(--mantine-font-family)",
|
|
127
|
+
"--sjs-font-surveydescription-family": "var(--mantine-font-family)",
|
|
128
|
+
"--sjs-font-size": "var(--mantine-font-size-md)",
|
|
129
|
+
"--sjs-font-editorfont-size": "var(--mantine-font-size-md)",
|
|
130
|
+
"--sjs-font-questiontitle-size": "var(--mantine-font-size-md)",
|
|
131
|
+
"--sjs-font-questiondescription-size": "var(--mantine-font-size-sm)",
|
|
132
|
+
"--sjs-font-pagetitle-size": "var(--mantine-h4-font-size)",
|
|
133
|
+
"--sjs-font-pagedescription-size": "var(--mantine-font-size-sm)",
|
|
134
|
+
"--sjs-font-surveytitle-size": "var(--mantine-h4-font-size)",
|
|
135
|
+
"--sjs-font-surveydescription-size": "var(--mantine-font-size-sm)"
|
|
136
|
+
},
|
|
137
|
+
themeName: "ixoUnified",
|
|
138
|
+
colorPalette: "light",
|
|
139
|
+
isPanelless: true
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
function getSurveyThemeForScheme(_colorScheme) {
|
|
143
|
+
return buildSurveyTheme();
|
|
144
|
+
}
|
|
145
|
+
var surveyThemeLight = buildSurveyTheme();
|
|
146
|
+
var surveyTheme = buildSurveyTheme();
|
|
147
|
+
|
|
148
|
+
export {
|
|
149
|
+
palette,
|
|
150
|
+
buildSurveyTheme,
|
|
151
|
+
getSurveyThemeForScheme,
|
|
152
|
+
surveyTheme
|
|
153
|
+
};
|
|
154
|
+
//# sourceMappingURL=chunk-MHM52LCJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/mantine/blocks/claim/flow/theme.ts"],"sourcesContent":["import { ITheme } from '@ixo/surveys';\n\nexport const palette = {\n // Neutral\n Neutral50: '#FAFAFA',\n Neutral100: '#F8F8F8',\n Neutral200: '#F1F1F1',\n Neutral300: '#EBEBEB',\n Neutral500: '#D7D7D7',\n Neutral800: '#9A9A9A',\n Black: '#000000',\n\n // Neutral Dark\n NeutralDark50: '#050505',\n NeutralDark100: '#070707',\n NeutralDark200: '#0E0E0E',\n NeutralDark300: '#141414',\n NeutralDark500: '#282828',\n NeutralDark800: '#656565',\n\n // White\n White: '#FFFFFF',\n WhiteSecondary: '#D7ECE3',\n\n // EmergingBlue\n accentActive: '#0EB8DC',\n accentSecondary: '#20798C',\n accentHover: '#17C6EB',\n accentLight: '#ADEBF8',\n\n // CompanionBlue\n companionBlue: '#e8f9fd',\n\n // EmergingLighter\n accentLighter: 'rgba(173,235,248,0.2)',\n\n accentDarker: '#296DAB',\n darkestBlue: '#000000',\n\n // Contribution\n contributionBlue: 'rgba(22, 143, 168, 1)',\n\n // Danger\n dangerFull: '#E2223B',\n dangerBrighter: '#FCCFD5',\n dangerBright: '#F9909E',\n dangerDark: '#A11C43',\n\n // Success\n successFull: '#61B43A',\n successDarker: '#47822b',\n successBright: '#F4FCF0',\n successSecondary: '#1CBD6A',\n\n orangeFull: '#ED9526',\n orangeBright: '#FDC681',\n\n // Transparent\n transparent: 'rgba(255, 255, 255, 0)',\n whiteTransparentDarker: 'rgba(255, 255, 255, 0.10)',\n whiteTransparent: 'rgba(255, 255, 255, 0.30)',\n whiteTransparentSecondary: 'rgba(255, 255, 255, 0.65)',\n successTransparent: 'rgba(67, 175, 98, 0.30)',\n\n // Glassmorphics\n glass: 'rgba(255, 255, 255, 0.06)',\n glassGradient: 'linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(153, 153, 153, 0.03) 100%)',\n glassDarker: 'rgba(0, 0, 0, 0.5)',\n glassLighter: 'rgba(255, 255, 255, 0.3)',\n\n // Gradients\n offsetCertificateGradient: 'linear-gradient(45deg, rgba(59,152,51,1) 0%, rgba(70,193,193,1) 100%)',\n contributionCertificateGradient: 'linear-gradient(45deg, rgba(22,143,168,1) 0%, rgba(30,204,183,1) 100%)',\n carbonCertificateGradient: 'linear-gradient(55.09deg, rgba(54, 101, 135, 1) -2.49%, rgba(30, 173, 204, 1) 109.08%)',\n shadowGradient: 'linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.2) 100%)',\n};\n\nexport function hexToRgb(hex: string, rate: number): string {\n const hexNum = hex.replace(/^#/, '');\n\n const r = parseInt(hexNum.substring(0, 2), 16);\n const g = parseInt(hexNum.substring(2, 4), 16);\n const b = parseInt(hexNum.substring(4, 6), 16);\n\n const clampedRate = Math.max(0, Math.min(1, rate));\n\n return `rgba(${r}, ${g}, ${b}, ${clampedRate})`;\n}\n\n/**\n * Unified SurveyJS theme using Mantine CSS variables.\n * Auto-flips between light and dark — no separate theme objects needed.\n * The portal's globals.scss provides additional fine-grained overrides.\n */\nexport function buildSurveyTheme(): ITheme {\n return {\n backgroundImageFit: 'cover',\n backgroundImageAttachment: 'scroll',\n backgroundOpacity: 0,\n cssVariables: {\n '--sjs-editorpanel-backcolor': 'var(--mantine-color-neutralColor-2)',\n '--sjs-editor-background': 'var(--mantine-color-neutralColor-2)',\n '--sjs-general-backcolor': 'var(--mantine-color-neutralColor-2)',\n '--sjs-general-backcolor-dark': 'var(--mantine-color-neutralColor-3)',\n '--sjs-general-backcolor-dim': 'transparent',\n '--sjs-general-backcolor-dim-light': 'var(--mantine-color-neutralColor-1)',\n '--sjs-general-backcolor-dim-dark': 'color-mix(in srgb, var(--mantine-color-text) 4%, transparent)',\n '--sjs-general-forecolor': 'var(--mantine-color-text)',\n '--sjs-general-forecolor-light': 'color-mix(in srgb, var(--mantine-color-text) 70%, transparent)',\n '--sjs-general-dim-forecolor': 'color-mix(in srgb, var(--mantine-color-text) 55%, transparent)',\n '--sjs-general-dim-forecolor-light': 'color-mix(in srgb, var(--mantine-color-text) 40%, transparent)',\n '--sjs-font-surveytitle-color': 'var(--mantine-color-text)',\n '--sjs-font-editorfont-color': 'var(--mantine-color-text)',\n '--sjs-primary-backcolor': 'var(--mantine-color-text)',\n '--sjs-primary-backcolor-light': 'color-mix(in srgb, var(--mantine-color-text) 10%, transparent)',\n '--sjs-primary-backcolor-dark': 'color-mix(in srgb, var(--mantine-color-text) 85%, transparent)',\n '--sjs-primary-forecolor': 'var(--mantine-color-body)',\n '--sjs-primary-forecolor-light': 'var(--mantine-color-text)',\n '--sjs-primary-hover-backcolor': 'color-mix(in srgb, var(--mantine-color-text) 82%, transparent)',\n '--sjs-base-unit': '8px',\n '--base-unit': '8px',\n '--sjs-editorpanel-cornerRadius': '8px',\n '--sjs-questionpanel-cornerRadius': '8px',\n '--sjs-corner-radius': '8px',\n '--sjs-secondary-backcolor': 'rgba(255, 152, 20, 1)',\n '--sjs-secondary-backcolor-light': 'rgba(255, 152, 20, 0.1)',\n '--sjs-secondary-backcolor-semi-light': 'rgba(255, 152, 20, 0.25)',\n '--sjs-secondary-forecolor': 'var(--mantine-color-body)',\n '--sjs-secondary-forecolor-light': 'color-mix(in srgb, var(--mantine-color-text) 25%, transparent)',\n '--sjs-shadow-small': 'none',\n '--sjs-shadow-small-reset': 'none',\n '--sjs-shadow-medium': 'none',\n '--sjs-shadow-large': 'none',\n '--sjs-shadow-inner': 'inset 0 0 0 1px var(--mantine-color-neutralColor-5)',\n '--sjs-shadow-inner-reset': 'inset 0 0 0 1px var(--mantine-color-neutralColor-5)',\n '--sjs-border-light': 'var(--mantine-color-neutralColor-4)',\n '--sjs-border-default': 'var(--mantine-color-neutralColor-5)',\n '--sjs-border-inside': 'var(--mantine-color-neutralColor-3)',\n '--sjs-special-red': 'var(--mantine-color-red-5)',\n '--sjs-special-red-light': 'color-mix(in srgb, var(--mantine-color-red-5) 10%, transparent)',\n '--sjs-special-red-forecolor': 'var(--mantine-color-body)',\n '--sjs-special-green': 'var(--mantine-color-green-5)',\n '--sjs-special-green-light': 'color-mix(in srgb, var(--mantine-color-green-5) 10%, transparent)',\n '--sjs-special-green-forecolor': 'var(--mantine-color-body)',\n '--sjs-special-blue': 'var(--mantine-color-accent-5)',\n '--sjs-special-blue-light': 'color-mix(in srgb, var(--mantine-color-accent-5) 10%, transparent)',\n '--sjs-special-blue-forecolor': 'var(--mantine-color-body)',\n '--sjs-special-yellow': 'rgba(255, 152, 20, 1)',\n '--sjs-special-yellow-light': 'rgba(255, 152, 20, 0.1)',\n '--sjs-special-yellow-forecolor': 'var(--mantine-color-body)',\n // ── Typography (follow Mantine at every SurveyJS layer) ──\n '--sjs-font-family': 'var(--mantine-font-family)',\n '--sjs-font-editorfont-family': 'var(--mantine-font-family)',\n '--sjs-font-questiontitle-family': 'var(--mantine-font-family)',\n '--sjs-font-questiondescription-family': 'var(--mantine-font-family)',\n '--sjs-font-pagetitle-family': 'var(--mantine-font-family)',\n '--sjs-font-pagedescription-family': 'var(--mantine-font-family)',\n '--sjs-font-surveytitle-family': 'var(--mantine-font-family)',\n '--sjs-font-surveydescription-family': 'var(--mantine-font-family)',\n '--sjs-font-size': 'var(--mantine-font-size-md)',\n '--sjs-font-editorfont-size': 'var(--mantine-font-size-md)',\n '--sjs-font-questiontitle-size': 'var(--mantine-font-size-md)',\n '--sjs-font-questiondescription-size': 'var(--mantine-font-size-sm)',\n '--sjs-font-pagetitle-size': 'var(--mantine-h4-font-size)',\n '--sjs-font-pagedescription-size': 'var(--mantine-font-size-sm)',\n '--sjs-font-surveytitle-size': 'var(--mantine-h4-font-size)',\n '--sjs-font-surveydescription-size': 'var(--mantine-font-size-sm)',\n },\n themeName: 'ixoUnified',\n colorPalette: 'light',\n isPanelless: true,\n };\n}\n\n/**\n * @deprecated Use buildSurveyTheme() — auto-flips via CSS variables.\n */\nexport function getSurveyThemeForScheme(_colorScheme: 'light' | 'dark'): ITheme {\n return buildSurveyTheme();\n}\n\n/** @deprecated Use buildSurveyTheme() */\nexport const surveyThemeLight: ITheme = buildSurveyTheme();\n\n/** @deprecated Use buildSurveyTheme() */\nexport const surveyTheme: ITheme = buildSurveyTheme();\n"],"mappings":";AAEO,IAAM,UAAU;AAAA;AAAA,EAErB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,OAAO;AAAA;AAAA,EAGP,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA;AAAA,EAGhB,OAAO;AAAA,EACP,gBAAgB;AAAA;AAAA,EAGhB,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,aAAa;AAAA;AAAA,EAGb,eAAe;AAAA;AAAA,EAGf,eAAe;AAAA,EAEf,cAAc;AAAA,EACd,aAAa;AAAA;AAAA,EAGb,kBAAkB;AAAA;AAAA,EAGlB,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,YAAY;AAAA;AAAA,EAGZ,aAAa;AAAA,EACb,eAAe;AAAA,EACf,eAAe;AAAA,EACf,kBAAkB;AAAA,EAElB,YAAY;AAAA,EACZ,cAAc;AAAA;AAAA,EAGd,aAAa;AAAA,EACb,wBAAwB;AAAA,EACxB,kBAAkB;AAAA,EAClB,2BAA2B;AAAA,EAC3B,oBAAoB;AAAA;AAAA,EAGpB,OAAO;AAAA,EACP,eAAe;AAAA,EACf,aAAa;AAAA,EACb,cAAc;AAAA;AAAA,EAGd,2BAA2B;AAAA,EAC3B,iCAAiC;AAAA,EACjC,2BAA2B;AAAA,EAC3B,gBAAgB;AAClB;AAmBO,SAAS,mBAA2B;AACzC,SAAO;AAAA,IACL,oBAAoB;AAAA,IACpB,2BAA2B;AAAA,IAC3B,mBAAmB;AAAA,IACnB,cAAc;AAAA,MACZ,+BAA+B;AAAA,MAC/B,2BAA2B;AAAA,MAC3B,2BAA2B;AAAA,MAC3B,gCAAgC;AAAA,MAChC,+BAA+B;AAAA,MAC/B,qCAAqC;AAAA,MACrC,oCAAoC;AAAA,MACpC,2BAA2B;AAAA,MAC3B,iCAAiC;AAAA,MACjC,+BAA+B;AAAA,MAC/B,qCAAqC;AAAA,MACrC,gCAAgC;AAAA,MAChC,+BAA+B;AAAA,MAC/B,2BAA2B;AAAA,MAC3B,iCAAiC;AAAA,MACjC,gCAAgC;AAAA,MAChC,2BAA2B;AAAA,MAC3B,iCAAiC;AAAA,MACjC,iCAAiC;AAAA,MACjC,mBAAmB;AAAA,MACnB,eAAe;AAAA,MACf,kCAAkC;AAAA,MAClC,oCAAoC;AAAA,MACpC,uBAAuB;AAAA,MACvB,6BAA6B;AAAA,MAC7B,mCAAmC;AAAA,MACnC,wCAAwC;AAAA,MACxC,6BAA6B;AAAA,MAC7B,mCAAmC;AAAA,MACnC,sBAAsB;AAAA,MACtB,4BAA4B;AAAA,MAC5B,uBAAuB;AAAA,MACvB,sBAAsB;AAAA,MACtB,sBAAsB;AAAA,MACtB,4BAA4B;AAAA,MAC5B,sBAAsB;AAAA,MACtB,wBAAwB;AAAA,MACxB,uBAAuB;AAAA,MACvB,qBAAqB;AAAA,MACrB,2BAA2B;AAAA,MAC3B,+BAA+B;AAAA,MAC/B,uBAAuB;AAAA,MACvB,6BAA6B;AAAA,MAC7B,iCAAiC;AAAA,MACjC,sBAAsB;AAAA,MACtB,4BAA4B;AAAA,MAC5B,gCAAgC;AAAA,MAChC,wBAAwB;AAAA,MACxB,8BAA8B;AAAA,MAC9B,kCAAkC;AAAA;AAAA,MAElC,qBAAqB;AAAA,MACrB,gCAAgC;AAAA,MAChC,mCAAmC;AAAA,MACnC,yCAAyC;AAAA,MACzC,+BAA+B;AAAA,MAC/B,qCAAqC;AAAA,MACrC,iCAAiC;AAAA,MACjC,uCAAuC;AAAA,MACvC,mBAAmB;AAAA,MACnB,8BAA8B;AAAA,MAC9B,iCAAiC;AAAA,MACjC,uCAAuC;AAAA,MACvC,6BAA6B;AAAA,MAC7B,mCAAmC;AAAA,MACnC,+BAA+B;AAAA,MAC/B,qCAAqC;AAAA,IACvC;AAAA,IACA,WAAW;AAAA,IACX,cAAc;AAAA,IACd,aAAa;AAAA,EACf;AACF;AAKO,SAAS,wBAAwB,cAAwC;AAC9E,SAAO,iBAAiB;AAC1B;AAGO,IAAM,mBAA2B,iBAAiB;AAGlD,IAAM,cAAsB,iBAAiB;","names":[]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useRunRuntimeReader
|
|
3
|
+
} from "./chunk-FFYZXA75.js";
|
|
4
|
+
import {
|
|
5
|
+
resolveReferencesDetailed
|
|
6
|
+
} from "./chunk-JVROGQ7Q.js";
|
|
7
|
+
|
|
8
|
+
// src/mantine/blocks/action/hooks/useResolvedInputs.ts
|
|
9
|
+
import { useMemo } from "react";
|
|
10
|
+
function useResolvedInputs(editor, inputs, spec, blockId) {
|
|
11
|
+
const editorDocument = editor?.document || [];
|
|
12
|
+
const yRuntime = useRunRuntimeReader(editor);
|
|
13
|
+
const parsed = useMemo(() => {
|
|
14
|
+
if (!inputs) return {};
|
|
15
|
+
try {
|
|
16
|
+
const value = JSON.parse(inputs);
|
|
17
|
+
return value && typeof value === "object" ? value : {};
|
|
18
|
+
} catch {
|
|
19
|
+
return {};
|
|
20
|
+
}
|
|
21
|
+
}, [inputs]);
|
|
22
|
+
return useMemo(() => {
|
|
23
|
+
const unresolved = [];
|
|
24
|
+
const options = { yRuntime, warnContext: blockId ? `block ${blockId}` : void 0 };
|
|
25
|
+
const resolveField = (raw) => {
|
|
26
|
+
const detail = resolveReferencesDetailed(typeof raw === "string" ? raw : raw == null ? "" : String(raw), editorDocument, options);
|
|
27
|
+
unresolved.push(...detail.unresolved);
|
|
28
|
+
return detail.value.trim();
|
|
29
|
+
};
|
|
30
|
+
const resolvedInputs = {};
|
|
31
|
+
for (const field of spec.fields) {
|
|
32
|
+
resolvedInputs[field] = resolveField(parsed[field]);
|
|
33
|
+
}
|
|
34
|
+
for (const jsonField of spec.mergeJsonFields || []) {
|
|
35
|
+
const rawJson = resolveField(parsed[jsonField]);
|
|
36
|
+
if (!rawJson) continue;
|
|
37
|
+
try {
|
|
38
|
+
const merged = JSON.parse(rawJson);
|
|
39
|
+
if (merged && typeof merged === "object") {
|
|
40
|
+
for (const [key, value] of Object.entries(merged)) {
|
|
41
|
+
if (!resolvedInputs[key]) {
|
|
42
|
+
resolvedInputs[key] = typeof value === "string" ? value.trim() : value == null ? "" : String(value);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
} catch {
|
|
47
|
+
resolvedInputs[jsonField] = rawJson;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const required = spec.required || spec.fields;
|
|
51
|
+
const inputsReady = required.every((field) => !!resolvedInputs[field]);
|
|
52
|
+
return { parsed, resolvedInputs, inputsReady, unresolved };
|
|
53
|
+
}, [parsed, editorDocument, yRuntime, blockId, JSON.stringify(spec.fields), JSON.stringify(spec.required), JSON.stringify(spec.mergeJsonFields)]);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export {
|
|
57
|
+
useResolvedInputs
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=chunk-MQCDMHRZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/mantine/blocks/action/hooks/useResolvedInputs.ts"],"sourcesContent":["import { useRunRuntimeReader } from '@/mantine/hooks/useRunRuntimeReader';\nimport { useMemo } from 'react';\nimport { resolveReferencesDetailed, type UnresolvedReference } from '@/core/lib/flowEngine';\n\nexport interface ResolvedInputsSpec {\n /** Field names to resolve from the parsed inputs. */\n fields: string[];\n /**\n * Fields that must be non-empty for `inputsReady`. Defaults to all\n * `fields` — pass a subset when some inputs are optional.\n */\n required?: string[];\n /**\n * Fields whose resolved value is a JSON object (e.g. captured form\n * answers) to merge into the result: each key of the parsed object\n * becomes a resolved field, without overwriting directly-resolved\n * fields that are already non-empty.\n */\n mergeJsonFields?: string[];\n}\n\nexport interface ResolvedInputsResult {\n /** Parsed props.inputs (raw, references unresolved). */\n parsed: Record<string, string>;\n /** Per-field `{{ref}}`-resolved, trimmed values. */\n resolvedInputs: Record<string, string>;\n /** True when every required field resolved to a non-empty string. */\n inputsReady: boolean;\n /** Diagnostics for references that fell back to ''. */\n unresolved: UnresolvedReference[];\n}\n\n/**\n * The shared \"parse inputs → resolve each field → inputsReady\" pass every\n * FlowDetail needs (see CLAUDE.md, Auto-execute with inputsReady gating).\n * Unresolved references become `''` (which is what keeps `inputsReady`\n * false while upstream blocks haven't produced output) and are logged once\n * per block via the resolver's warnContext.\n */\nexport function useResolvedInputs(editor: any, inputs: string | undefined, spec: ResolvedInputsSpec, blockId?: string): ResolvedInputsResult {\n const editorDocument = editor?.document || [];\n // Run-scoped, freshness-resolved reader — NOT the raw flat map. This hook\n // resolves the inputs every action block executes with, so reading only one\n // of the two state locations here means signing a transaction with a value\n // the engine considers superseded.\n const yRuntime = useRunRuntimeReader(editor);\n\n const parsed = useMemo<Record<string, string>>(() => {\n if (!inputs) return {};\n try {\n const value = JSON.parse(inputs);\n return value && typeof value === 'object' ? value : {};\n } catch {\n return {};\n }\n }, [inputs]);\n\n return useMemo(() => {\n const unresolved: UnresolvedReference[] = [];\n const options = { yRuntime, warnContext: blockId ? `block ${blockId}` : undefined };\n const resolveField = (raw: unknown): string => {\n const detail = resolveReferencesDetailed(typeof raw === 'string' ? raw : raw == null ? '' : String(raw), editorDocument, options);\n unresolved.push(...detail.unresolved);\n return detail.value.trim();\n };\n\n const resolvedInputs: Record<string, string> = {};\n for (const field of spec.fields) {\n resolvedInputs[field] = resolveField(parsed[field]);\n }\n\n for (const jsonField of spec.mergeJsonFields || []) {\n const rawJson = resolveField(parsed[jsonField]);\n if (!rawJson) continue;\n try {\n const merged = JSON.parse(rawJson);\n if (merged && typeof merged === 'object') {\n for (const [key, value] of Object.entries(merged)) {\n if (!resolvedInputs[key]) {\n resolvedInputs[key] = typeof value === 'string' ? value.trim() : value == null ? '' : String(value);\n }\n }\n }\n } catch {\n // Not JSON — leave the raw resolved value under its own field name.\n resolvedInputs[jsonField] = rawJson;\n }\n }\n\n const required = spec.required || spec.fields;\n const inputsReady = required.every((field) => !!resolvedInputs[field]);\n\n return { parsed, resolvedInputs, inputsReady, unresolved };\n // editorDocument is a new array reference each render from BlockNote;\n // depend on its length + parsed + runtime map identity like the\n // hand-rolled versions did.\n }, [parsed, editorDocument, yRuntime, blockId, JSON.stringify(spec.fields), JSON.stringify(spec.required), JSON.stringify(spec.mergeJsonFields)]);\n}\n"],"mappings":";;;;;;;;AACA,SAAS,eAAe;AAsCjB,SAAS,kBAAkB,QAAa,QAA4B,MAA0B,SAAwC;AAC3I,QAAM,iBAAiB,QAAQ,YAAY,CAAC;AAK5C,QAAM,WAAW,oBAAoB,MAAM;AAE3C,QAAM,SAAS,QAAgC,MAAM;AACnD,QAAI,CAAC,OAAQ,QAAO,CAAC;AACrB,QAAI;AACF,YAAM,QAAQ,KAAK,MAAM,MAAM;AAC/B,aAAO,SAAS,OAAO,UAAU,WAAW,QAAQ,CAAC;AAAA,IACvD,QAAQ;AACN,aAAO,CAAC;AAAA,IACV;AAAA,EACF,GAAG,CAAC,MAAM,CAAC;AAEX,SAAO,QAAQ,MAAM;AACnB,UAAM,aAAoC,CAAC;AAC3C,UAAM,UAAU,EAAE,UAAU,aAAa,UAAU,SAAS,OAAO,KAAK,OAAU;AAClF,UAAM,eAAe,CAAC,QAAyB;AAC7C,YAAM,SAAS,0BAA0B,OAAO,QAAQ,WAAW,MAAM,OAAO,OAAO,KAAK,OAAO,GAAG,GAAG,gBAAgB,OAAO;AAChI,iBAAW,KAAK,GAAG,OAAO,UAAU;AACpC,aAAO,OAAO,MAAM,KAAK;AAAA,IAC3B;AAEA,UAAM,iBAAyC,CAAC;AAChD,eAAW,SAAS,KAAK,QAAQ;AAC/B,qBAAe,KAAK,IAAI,aAAa,OAAO,KAAK,CAAC;AAAA,IACpD;AAEA,eAAW,aAAa,KAAK,mBAAmB,CAAC,GAAG;AAClD,YAAM,UAAU,aAAa,OAAO,SAAS,CAAC;AAC9C,UAAI,CAAC,QAAS;AACd,UAAI;AACF,cAAM,SAAS,KAAK,MAAM,OAAO;AACjC,YAAI,UAAU,OAAO,WAAW,UAAU;AACxC,qBAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AACjD,gBAAI,CAAC,eAAe,GAAG,GAAG;AACxB,6BAAe,GAAG,IAAI,OAAO,UAAU,WAAW,MAAM,KAAK,IAAI,SAAS,OAAO,KAAK,OAAO,KAAK;AAAA,YACpG;AAAA,UACF;AAAA,QACF;AAAA,MACF,QAAQ;AAEN,uBAAe,SAAS,IAAI;AAAA,MAC9B;AAAA,IACF;AAEA,UAAM,WAAW,KAAK,YAAY,KAAK;AACvC,UAAM,cAAc,SAAS,MAAM,CAAC,UAAU,CAAC,CAAC,eAAe,KAAK,CAAC;AAErE,WAAO,EAAE,QAAQ,gBAAgB,aAAa,WAAW;AAAA,EAI3D,GAAG,CAAC,QAAQ,gBAAgB,UAAU,SAAS,KAAK,UAAU,KAAK,MAAM,GAAG,KAAK,UAAU,KAAK,QAAQ,GAAG,KAAK,UAAU,KAAK,eAAe,CAAC,CAAC;AAClJ;","names":[]}
|
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
// src/core/lib/actionRegistry/manifestV2.schema.ts
|
|
2
|
+
var ACTION_MANIFEST_V2_SCHEMA = {
|
|
3
|
+
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
+
$id: "https://ixo.world/schemas/qi/action-manifest-v2.schema.json",
|
|
5
|
+
type: "object",
|
|
6
|
+
additionalProperties: false,
|
|
7
|
+
required: ["manifestVersion", "manifestId", "generatedAt", "package", "issuer", "compatibility", "actions", "primitives", "integrity"],
|
|
8
|
+
properties: {
|
|
9
|
+
manifestVersion: { const: "2.0" },
|
|
10
|
+
manifestId: { type: "string", minLength: 1 },
|
|
11
|
+
generatedAt: {
|
|
12
|
+
type: "string",
|
|
13
|
+
pattern: "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"
|
|
14
|
+
},
|
|
15
|
+
package: {
|
|
16
|
+
type: "object",
|
|
17
|
+
additionalProperties: false,
|
|
18
|
+
required: ["name", "version", "sourceCommit"],
|
|
19
|
+
properties: {
|
|
20
|
+
name: { type: "string", minLength: 1 },
|
|
21
|
+
version: { type: "string", minLength: 1 },
|
|
22
|
+
sourceCommit: { type: "string", minLength: 1 },
|
|
23
|
+
buildId: { type: "string", minLength: 1 },
|
|
24
|
+
distributionUrl: { type: "string", pattern: "^[a-zA-Z][a-zA-Z0-9+.-]*:" }
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
issuer: {
|
|
28
|
+
type: "object",
|
|
29
|
+
additionalProperties: false,
|
|
30
|
+
required: ["did", "verificationMethod"],
|
|
31
|
+
properties: {
|
|
32
|
+
did: { type: "string", pattern: "^did:[a-z0-9]+:.+" },
|
|
33
|
+
verificationMethod: { type: "string", pattern: "^did:[a-z0-9]+:.+#.+" }
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
compatibility: {
|
|
37
|
+
type: "object",
|
|
38
|
+
additionalProperties: false,
|
|
39
|
+
required: ["engine", "flowSchemaVersions", "features"],
|
|
40
|
+
properties: {
|
|
41
|
+
engine: {
|
|
42
|
+
type: "object",
|
|
43
|
+
additionalProperties: false,
|
|
44
|
+
required: ["versionRange"],
|
|
45
|
+
properties: {
|
|
46
|
+
versionRange: { type: "string", minLength: 1 }
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
flowSchemaVersions: {
|
|
50
|
+
type: "array",
|
|
51
|
+
minItems: 1,
|
|
52
|
+
uniqueItems: true,
|
|
53
|
+
items: { type: "string", minLength: 1 }
|
|
54
|
+
},
|
|
55
|
+
features: {
|
|
56
|
+
type: "array",
|
|
57
|
+
minItems: 1,
|
|
58
|
+
uniqueItems: true,
|
|
59
|
+
items: { type: "string", minLength: 1 }
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
actions: {
|
|
64
|
+
type: "array",
|
|
65
|
+
items: { $ref: "#/$defs/contract" }
|
|
66
|
+
},
|
|
67
|
+
primitives: {
|
|
68
|
+
type: "array",
|
|
69
|
+
items: { $ref: "#/$defs/contract" }
|
|
70
|
+
},
|
|
71
|
+
integrity: {
|
|
72
|
+
type: "object",
|
|
73
|
+
additionalProperties: false,
|
|
74
|
+
required: ["canonicalization", "digest", "signature"],
|
|
75
|
+
properties: {
|
|
76
|
+
canonicalization: { const: "RFC8785" },
|
|
77
|
+
digest: {
|
|
78
|
+
type: "object",
|
|
79
|
+
additionalProperties: false,
|
|
80
|
+
required: ["algorithm", "value"],
|
|
81
|
+
properties: {
|
|
82
|
+
algorithm: { const: "SHA-256" },
|
|
83
|
+
value: { type: "string", pattern: "^sha256:[0-9a-f]{64}$" }
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
signature: {
|
|
87
|
+
type: "object",
|
|
88
|
+
additionalProperties: false,
|
|
89
|
+
required: ["algorithm", "verificationMethod", "value"],
|
|
90
|
+
properties: {
|
|
91
|
+
algorithm: { type: "string", minLength: 1 },
|
|
92
|
+
verificationMethod: { type: "string", pattern: "^did:[a-z0-9]+:.+#.+" },
|
|
93
|
+
value: { type: "string", minLength: 1 }
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
$defs: {
|
|
100
|
+
contract: {
|
|
101
|
+
type: "object",
|
|
102
|
+
required: ["type", "contractVersion"],
|
|
103
|
+
properties: {
|
|
104
|
+
type: { type: "string", minLength: 1 },
|
|
105
|
+
contractVersion: { type: "string", minLength: 1 },
|
|
106
|
+
aliases: {
|
|
107
|
+
type: "array",
|
|
108
|
+
uniqueItems: true,
|
|
109
|
+
items: { type: "string", minLength: 1 }
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
// src/core/lib/actionRegistry/manifestV2.ts
|
|
117
|
+
import Ajv2020 from "ajv/dist/2020.js";
|
|
118
|
+
var ActionManifestV2VerificationError = class extends Error {
|
|
119
|
+
constructor(code, message) {
|
|
120
|
+
super(message);
|
|
121
|
+
this.name = "ActionManifestV2VerificationError";
|
|
122
|
+
this.code = code;
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
var validateSignedManifest = new Ajv2020({ allErrors: true, strict: false }).compile(ACTION_MANIFEST_V2_SCHEMA);
|
|
126
|
+
var SIGNATURE_DOMAIN = "qi.action-manifest.v2\0";
|
|
127
|
+
function isPlainObject(value) {
|
|
128
|
+
const prototype = Object.getPrototypeOf(value);
|
|
129
|
+
return prototype === Object.prototype || prototype === null;
|
|
130
|
+
}
|
|
131
|
+
function assertValidUnicode(value) {
|
|
132
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
133
|
+
const codeUnit = value.charCodeAt(index);
|
|
134
|
+
if (codeUnit >= 55296 && codeUnit <= 56319) {
|
|
135
|
+
const next = value.charCodeAt(index + 1);
|
|
136
|
+
if (!(next >= 56320 && next <= 57343)) {
|
|
137
|
+
throw new TypeError("Manifest v2 contains an unpaired Unicode surrogate");
|
|
138
|
+
}
|
|
139
|
+
index += 1;
|
|
140
|
+
} else if (codeUnit >= 56320 && codeUnit <= 57343) {
|
|
141
|
+
throw new TypeError("Manifest v2 contains an unpaired Unicode surrogate");
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
function canonicalizeManifestV2Payload(payload) {
|
|
146
|
+
const ancestors = /* @__PURE__ */ new Set();
|
|
147
|
+
const serialize = (value) => {
|
|
148
|
+
if (value === null || typeof value === "boolean") {
|
|
149
|
+
return JSON.stringify(value);
|
|
150
|
+
}
|
|
151
|
+
if (typeof value === "string") {
|
|
152
|
+
assertValidUnicode(value);
|
|
153
|
+
return JSON.stringify(value);
|
|
154
|
+
}
|
|
155
|
+
if (typeof value === "number") {
|
|
156
|
+
if (!Number.isFinite(value)) {
|
|
157
|
+
throw new TypeError("Manifest v2 contains a non-finite number");
|
|
158
|
+
}
|
|
159
|
+
return JSON.stringify(value);
|
|
160
|
+
}
|
|
161
|
+
if (typeof value !== "object") {
|
|
162
|
+
throw new TypeError(`Manifest v2 contains a non-JSON value: ${typeof value}`);
|
|
163
|
+
}
|
|
164
|
+
if (ancestors.has(value)) {
|
|
165
|
+
throw new TypeError("Manifest v2 contains a circular reference");
|
|
166
|
+
}
|
|
167
|
+
ancestors.add(value);
|
|
168
|
+
try {
|
|
169
|
+
if (Array.isArray(value)) {
|
|
170
|
+
return `[${value.map((entry) => serialize(entry)).join(",")}]`;
|
|
171
|
+
}
|
|
172
|
+
if (!isPlainObject(value)) {
|
|
173
|
+
throw new TypeError("Manifest v2 contains a non-plain object");
|
|
174
|
+
}
|
|
175
|
+
return `{${Object.keys(value).sort().map((key) => {
|
|
176
|
+
assertValidUnicode(key);
|
|
177
|
+
return `${JSON.stringify(key)}:${serialize(value[key])}`;
|
|
178
|
+
}).join(",")}}`;
|
|
179
|
+
} finally {
|
|
180
|
+
ancestors.delete(value);
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
return serialize(payload);
|
|
184
|
+
}
|
|
185
|
+
async function computeActionManifestV2Digest(payload) {
|
|
186
|
+
if (!globalThis.crypto?.subtle) {
|
|
187
|
+
throw new Error("Web Crypto is required to digest an Action Manifest v2 contract");
|
|
188
|
+
}
|
|
189
|
+
const canonicalPayload = canonicalizeManifestV2Payload(payload);
|
|
190
|
+
const digest = await globalThis.crypto.subtle.digest("SHA-256", new TextEncoder().encode(canonicalPayload));
|
|
191
|
+
const hex = Array.from(new Uint8Array(digest), (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
192
|
+
return `sha256:${hex}`;
|
|
193
|
+
}
|
|
194
|
+
function signatureInput(digest) {
|
|
195
|
+
return new TextEncoder().encode(`${SIGNATURE_DOMAIN}${digest}`);
|
|
196
|
+
}
|
|
197
|
+
function schemaFailure() {
|
|
198
|
+
const details = (validateSignedManifest.errors || []).map((error) => `${error.instancePath || "/"} ${error.message || "is invalid"}`).join("; ");
|
|
199
|
+
return new ActionManifestV2VerificationError("INVALID_MANIFEST", details ? `Action Manifest v2 is invalid: ${details}` : "Action Manifest v2 is invalid");
|
|
200
|
+
}
|
|
201
|
+
function payloadFromSignedManifest(manifest) {
|
|
202
|
+
const { integrity: _integrity, ...payload } = manifest;
|
|
203
|
+
return payload;
|
|
204
|
+
}
|
|
205
|
+
function assertContractIdentities(payload) {
|
|
206
|
+
const contracts = [...payload.actions, ...payload.primitives];
|
|
207
|
+
const canonicalTypes = /* @__PURE__ */ new Set();
|
|
208
|
+
for (const contract of contracts) {
|
|
209
|
+
if (canonicalTypes.has(contract.type)) {
|
|
210
|
+
throw new ActionManifestV2VerificationError("DUPLICATE_CONTRACT_TYPE", `Manifest contains duplicate canonical contract type: ${contract.type}`);
|
|
211
|
+
}
|
|
212
|
+
canonicalTypes.add(contract.type);
|
|
213
|
+
}
|
|
214
|
+
for (const [groupName, group] of [
|
|
215
|
+
["actions", payload.actions],
|
|
216
|
+
["primitives", payload.primitives]
|
|
217
|
+
]) {
|
|
218
|
+
for (let index = 1; index < group.length; index += 1) {
|
|
219
|
+
if (group[index - 1].type > group[index].type) {
|
|
220
|
+
throw new ActionManifestV2VerificationError("UNSORTED_CONTRACTS", `Manifest ${groupName} must be sorted by canonical type`);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
const claimedNames = new Map(Array.from(canonicalTypes, (type) => [type, type]));
|
|
225
|
+
for (const contract of contracts) {
|
|
226
|
+
const aliases = contract.aliases;
|
|
227
|
+
if (!Array.isArray(aliases)) continue;
|
|
228
|
+
for (const alias of aliases) {
|
|
229
|
+
const existingOwner = claimedNames.get(alias);
|
|
230
|
+
if (existingOwner) {
|
|
231
|
+
throw new ActionManifestV2VerificationError("AMBIGUOUS_ALIAS", `Manifest alias ${alias} conflicts with contract ${existingOwner}`);
|
|
232
|
+
}
|
|
233
|
+
claimedNames.set(alias, contract.type);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
function deepFreeze(value) {
|
|
238
|
+
for (const child of Object.values(value)) {
|
|
239
|
+
if (typeof child === "object" && child !== null && !Object.isFrozen(child)) {
|
|
240
|
+
deepFreeze(child);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
return Object.freeze(value);
|
|
244
|
+
}
|
|
245
|
+
async function signActionManifestV2(payload, signer) {
|
|
246
|
+
if (signer.issuerDid !== payload.issuer.did || signer.verificationMethod !== payload.issuer.verificationMethod) {
|
|
247
|
+
throw new ActionManifestV2VerificationError("SIGNER_MISMATCH", "The Manifest v2 signer does not match the declared issuer verification method");
|
|
248
|
+
}
|
|
249
|
+
assertContractIdentities(payload);
|
|
250
|
+
let digest;
|
|
251
|
+
try {
|
|
252
|
+
digest = await computeActionManifestV2Digest(payload);
|
|
253
|
+
} catch (error) {
|
|
254
|
+
throw new ActionManifestV2VerificationError(
|
|
255
|
+
"INVALID_MANIFEST",
|
|
256
|
+
error instanceof Error ? `Action Manifest v2 cannot be canonicalized: ${error.message}` : "Action Manifest v2 cannot be canonicalized"
|
|
257
|
+
);
|
|
258
|
+
}
|
|
259
|
+
const signature = await signer.sign(signatureInput(digest));
|
|
260
|
+
if (!signature) {
|
|
261
|
+
throw new ActionManifestV2VerificationError("INVALID_SIGNATURE", "The Manifest v2 signer returned an empty signature");
|
|
262
|
+
}
|
|
263
|
+
const signed = {
|
|
264
|
+
...payload,
|
|
265
|
+
integrity: {
|
|
266
|
+
canonicalization: "RFC8785",
|
|
267
|
+
digest: {
|
|
268
|
+
algorithm: "SHA-256",
|
|
269
|
+
value: digest
|
|
270
|
+
},
|
|
271
|
+
signature: {
|
|
272
|
+
algorithm: signer.algorithm,
|
|
273
|
+
verificationMethod: signer.verificationMethod,
|
|
274
|
+
value: signature
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
};
|
|
278
|
+
if (!validateSignedManifest(signed)) {
|
|
279
|
+
throw schemaFailure();
|
|
280
|
+
}
|
|
281
|
+
assertContractIdentities(payload);
|
|
282
|
+
return signed;
|
|
283
|
+
}
|
|
284
|
+
async function verifyActionManifestV2(candidate, trustPolicy) {
|
|
285
|
+
if (typeof candidate !== "object" || candidate === null || !("manifestVersion" in candidate) || candidate.manifestVersion !== "2.0") {
|
|
286
|
+
throw new ActionManifestV2VerificationError("UNSUPPORTED_MANIFEST_VERSION", "Only Action Manifest version 2.0 can cross this execution boundary");
|
|
287
|
+
}
|
|
288
|
+
if (!("integrity" in candidate) || typeof candidate.integrity !== "object") {
|
|
289
|
+
throw new ActionManifestV2VerificationError("UNSIGNED_MANIFEST", "A signature and digest are required to load Action Manifest v2 for execution");
|
|
290
|
+
}
|
|
291
|
+
if (!validateSignedManifest(candidate)) {
|
|
292
|
+
throw schemaFailure();
|
|
293
|
+
}
|
|
294
|
+
const manifest = candidate;
|
|
295
|
+
const { issuer, integrity } = manifest;
|
|
296
|
+
assertContractIdentities(manifest);
|
|
297
|
+
if (!trustPolicy.trustedIssuerDids.includes(issuer.did)) {
|
|
298
|
+
throw new ActionManifestV2VerificationError("UNTRUSTED_ISSUER", `Manifest issuer is not trusted: ${issuer.did}`);
|
|
299
|
+
}
|
|
300
|
+
if (trustPolicy.revokedIssuerDids?.includes(issuer.did)) {
|
|
301
|
+
throw new ActionManifestV2VerificationError("REVOKED_ISSUER", `Manifest issuer is revoked: ${issuer.did}`);
|
|
302
|
+
}
|
|
303
|
+
if (integrity.signature.verificationMethod !== issuer.verificationMethod || !integrity.signature.verificationMethod.startsWith(`${issuer.did}#`)) {
|
|
304
|
+
throw new ActionManifestV2VerificationError("VERIFICATION_METHOD_MISMATCH", "The signature verification method does not belong to the declared manifest issuer");
|
|
305
|
+
}
|
|
306
|
+
if (!trustPolicy.allowedSignatureAlgorithms.includes(integrity.signature.algorithm)) {
|
|
307
|
+
throw new ActionManifestV2VerificationError("DISALLOWED_SIGNATURE_ALGORITHM", `Manifest signature algorithm is not allowed: ${integrity.signature.algorithm}`);
|
|
308
|
+
}
|
|
309
|
+
let digest;
|
|
310
|
+
try {
|
|
311
|
+
digest = await computeActionManifestV2Digest(payloadFromSignedManifest(manifest));
|
|
312
|
+
} catch (error) {
|
|
313
|
+
throw new ActionManifestV2VerificationError(
|
|
314
|
+
"INVALID_MANIFEST",
|
|
315
|
+
error instanceof Error ? `Action Manifest v2 cannot be canonicalized: ${error.message}` : "Action Manifest v2 cannot be canonicalized"
|
|
316
|
+
);
|
|
317
|
+
}
|
|
318
|
+
if (digest !== integrity.digest.value) {
|
|
319
|
+
throw new ActionManifestV2VerificationError("DIGEST_MISMATCH", "Manifest payload does not match its signed digest");
|
|
320
|
+
}
|
|
321
|
+
let validSignature = false;
|
|
322
|
+
try {
|
|
323
|
+
validSignature = await trustPolicy.verifySignature({
|
|
324
|
+
issuerDid: issuer.did,
|
|
325
|
+
verificationMethod: integrity.signature.verificationMethod,
|
|
326
|
+
algorithm: integrity.signature.algorithm,
|
|
327
|
+
data: signatureInput(digest),
|
|
328
|
+
signature: integrity.signature.value
|
|
329
|
+
});
|
|
330
|
+
} catch {
|
|
331
|
+
validSignature = false;
|
|
332
|
+
}
|
|
333
|
+
if (!validSignature) {
|
|
334
|
+
throw new ActionManifestV2VerificationError("INVALID_SIGNATURE", "Manifest signature verification failed");
|
|
335
|
+
}
|
|
336
|
+
const trustedSnapshot = JSON.parse(JSON.stringify(manifest));
|
|
337
|
+
return deepFreeze(trustedSnapshot);
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
export {
|
|
341
|
+
ACTION_MANIFEST_V2_SCHEMA,
|
|
342
|
+
ActionManifestV2VerificationError,
|
|
343
|
+
canonicalizeManifestV2Payload,
|
|
344
|
+
computeActionManifestV2Digest,
|
|
345
|
+
signActionManifestV2,
|
|
346
|
+
verifyActionManifestV2
|
|
347
|
+
};
|
|
348
|
+
//# sourceMappingURL=chunk-N3ORMGAI.js.map
|