n8n-editor-ui 2.43.0 → 2.43.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/dist/assets/{AddDataTableModal--ZSsG_1_.js → AddDataTableModal-DHLepHQI.js} +1 -1
  2. package/dist/assets/{AgentApprovalSelector-BNIYOsWg.js → AgentApprovalSelector-OjgTNbqv.js} +1 -1
  3. package/dist/assets/{AgentBuilderView-DWidH0Vc.js → AgentBuilderView-CqppVUnt.js} +1 -1
  4. package/dist/assets/{AgentBuilderView-CIPUC6V8.js → AgentBuilderView-ivzLJ48L.js} +1 -1
  5. package/dist/assets/{AgentConfirmationModal-CKp1zkWi.js → AgentConfirmationModal-CqRP5YKh.js} +1 -1
  6. package/dist/assets/{AgentDescriptionModal-B3mACqje.js → AgentDescriptionModal-cOHOsFMk.js} +1 -1
  7. package/dist/assets/{AgentDuplicateModal-AVAzp-HQ.js → AgentDuplicateModal-1ngrih1h.js} +1 -1
  8. package/dist/assets/{AgentEditorModal-BoVUtbsT.js → AgentEditorModal-BA4SESbw.js} +1 -1
  9. package/dist/assets/{AgentJsonImportModal-DqynObKI.js → AgentJsonImportModal-DbAPpdCW.js} +1 -1
  10. package/dist/assets/{AgentModal-BDJHHrPO.js → AgentModal-De4mBH8Y.js} +1 -1
  11. package/dist/assets/{AgentModalMultiStep-Gg_izCfk.js → AgentModalMultiStep-FNZQNJeX.js} +1 -1
  12. package/dist/assets/{AgentPreviewButton-DaoocjLO.js → AgentPreviewButton-E6g0Y3ji.js} +1 -1
  13. package/dist/assets/{AgentPreviewDock-DQgAmCSb.js → AgentPreviewDock-BChB4Ny-.js} +1 -1
  14. package/dist/assets/{AgentSessionTimelineView-rYLbRdOC.js → AgentSessionTimelineView-jixZqrsV.js} +1 -1
  15. package/dist/assets/{AgentSessionsListView-DrqwnuMj.js → AgentSessionsListView-B_hAx2a2.js} +1 -1
  16. package/dist/assets/{AgentSessionsListView-qjir9pNf.js → AgentSessionsListView-CORmx5YE.js} +1 -1
  17. package/dist/assets/{AgentSkillModal-PWeOFwtL.js → AgentSkillModal-8vEXolwm.js} +1 -1
  18. package/dist/assets/{AgentSubAgentsModal-CAOTMeQ3.js → AgentSubAgentsModal-CpcWDCZM.js} +1 -1
  19. package/dist/assets/{AgentTaskModal-BorwHKxw.js → AgentTaskModal-CZixtA-g.js} +1 -1
  20. package/dist/assets/{AgentToolConfigForm-CD7Jr8XR.js → AgentToolConfigForm-BoBIkzE4.js} +1 -1
  21. package/dist/assets/{AgentToolConfigModal-l7KOFz-m.js → AgentToolConfigModal-y2nKUayM.js} +1 -1
  22. package/dist/assets/{AgentToolsConnectionModalWrapper-DtGyS7ie.js → AgentToolsConnectionModalWrapper-CoSl3zTC.js} +1 -1
  23. package/dist/assets/{AgentVectorStoresModal-Ba4JCEZR.js → AgentVectorStoresModal-d8T7xwNx.js} +1 -1
  24. package/dist/assets/{AgentView-DA31VsLa.js → AgentView-C4CX28T0.js} +1 -1
  25. package/dist/assets/{AgentsListView-BPAiU7uE.js → AgentsListView-qCwoFcgB.js} +1 -1
  26. package/dist/assets/{AnimatedSpinner-8js8Rn2-.js → AnimatedSpinner-BMl-I4VZ.js} +1 -1
  27. package/dist/assets/{AnnotationTagsDropdown.ee-DMKrMeSU.js → AnnotationTagsDropdown.ee-gV7K8F9-.js} +1 -1
  28. package/dist/assets/{AppSidebar-2KTfI_we.js → AppSidebar-4E3TtJCK.js} +1 -1
  29. package/dist/assets/{AuthLayout-CSm_xc-3.js → AuthLayout-BW5z3wUh.js} +1 -1
  30. package/dist/assets/{AuthView-CvEwxkL5.js → AuthView-657qB002.js} +1 -1
  31. package/dist/assets/{BrowserUseSetupContent-DMpaLFEd.js → BrowserUseSetupContent-DVt7L7MK.js} +1 -1
  32. package/dist/assets/{BrowserUseSetupModal-DVrY6A_c.js → BrowserUseSetupModal-DTxGTOse.js} +1 -1
  33. package/dist/assets/{ChangePasswordModal-DJtGodMc.js → ChangePasswordModal-B0ldwhMY.js} +1 -1
  34. package/dist/assets/{ChangePasswordView-D4TxD7Jx.js → ChangePasswordView-EoSI7zMT.js} +1 -1
  35. package/dist/assets/{ChatAgentAvatar-DTDakSoL.js → ChatAgentAvatar-ZO4g90Wh.js} +1 -1
  36. package/dist/assets/{ChatFile-BbWg-xB4.js → ChatFile-DLLhiG4W.js} +1 -1
  37. package/dist/assets/{ChatGreetings-CLkJaflO.js → ChatGreetings-DSeUNsf5.js} +1 -1
  38. package/dist/assets/{ChatHistoryDropdownTrigger-D9-gFgMy.js → ChatHistoryDropdownTrigger-DGihQvWA.js} +1 -1
  39. package/dist/assets/{ChatLayout-BlQwrial.js → ChatLayout-BrQ1Z5Zz.js} +1 -1
  40. package/dist/assets/{ChatLayout-kPhpkDqE.js → ChatLayout-Xg4cOzrh.js} +1 -1
  41. package/dist/assets/{ChatMarkdownChunk-Bevi-BA8.js → ChatMarkdownChunk-DuWgMxxr.js} +1 -1
  42. package/dist/assets/{ChatPersonalAgentsView-CeC-Lte2.js → ChatPersonalAgentsView-D3NJZbMX.js} +1 -1
  43. package/dist/assets/{ChatView-B-b4AT9j.js → ChatView-CYqARlxx.js} +1 -1
  44. package/dist/assets/{ChatWorkflowAgentsView-ByJvgOnA.js → ChatWorkflowAgentsView-DzaPTnpb.js} +1 -1
  45. package/dist/assets/{CollectionParameter-Cr0EseLp.js → CollectionParameter-C0TxxssK.js} +1 -1
  46. package/dist/assets/{CompareCollectionView-BHZpmVrQ.js → CompareCollectionView-bd7v9iaG.js} +1 -1
  47. package/dist/assets/{ComputerUseSetupContent-DkSxkHya.js → ComputerUseSetupContent-BMFHgA5O.js} +1 -1
  48. package/dist/assets/{ComputerUseSetupModal-DJ-oCmIh.js → ComputerUseSetupModal-DQF7A2DL.js} +1 -1
  49. package/dist/assets/{ConfirmEmailChangeView-DGgnuEe8.js → ConfirmEmailChangeView-CkwFpNjO.js} +1 -1
  50. package/dist/assets/{ConfirmPasswordModal-h1-lW63q.js → ConfirmPasswordModal-LMlxRWXA.js} +1 -1
  51. package/dist/assets/{ConnectionTracker-Ca5z-MR1.js → ConnectionTracker-CK7PsLlS.js} +1 -1
  52. package/dist/assets/{CredentialSelectorModal-TAlEcSrF.js → CredentialSelectorModal-wAvgcVUx.js} +1 -1
  53. package/dist/assets/{CredentialsView-Dei6NSQ4.js → CredentialsView-NOdo8-x2.js} +1 -1
  54. package/dist/assets/{DataTableActions-DHvry1qx.js → DataTableActions-Dsx9RhwP.js} +1 -1
  55. package/dist/assets/{DataTableDetailsView-Aay8ffth.js → DataTableDetailsView-CB1he9y9.js} +1 -1
  56. package/dist/assets/{DataTableTable-DohVIW1T.js → DataTableTable-B8BW3kQO.js} +1 -1
  57. package/dist/assets/{DataTableView-DORve-Ad.js → DataTableView-Bm-rwV7z.js} +1 -1
  58. package/dist/assets/{DefaultLayout-DyhOwpm-.js → DefaultLayout-CkC8P2P4.js} +1 -1
  59. package/dist/assets/{DeleteInstanceRoleModal-RDsaGtYs.js → DeleteInstanceRoleModal-D9suVqW_.js} +1 -1
  60. package/dist/assets/{DemoDiffView-Dp5NgTvZ.js → DemoDiffView-Cqipf6gL.js} +1 -1
  61. package/dist/assets/{DemoLayout-BbcdPlkY.js → DemoLayout-aTi6Ze8F.js} +1 -1
  62. package/dist/assets/{DependencyPill-DZsMOj1h.js → DependencyPill-DmX0B-jU.js} +1 -1
  63. package/dist/assets/{EmptySharedSectionActionBox-WHSZwtLl.js → EmptySharedSectionActionBox-BiPvrsBZ.js} +1 -1
  64. package/dist/assets/{EntityNotFound--7h3tc9k.js → EntityNotFound-DsBBqgen.js} +1 -1
  65. package/dist/assets/{EntityUnAuthorised-Cg2JN-UQ.js → EntityUnAuthorised-AbZDJAi-.js} +1 -1
  66. package/dist/assets/{ErrorView-C69hqa6F.js → ErrorView-h4GAumI_.js} +1 -1
  67. package/dist/assets/{EvalCollectionsListView-BT4cKQnk.js → EvalCollectionsListView-zgi9pHcX.js} +1 -1
  68. package/dist/assets/{EvaluationsListSwitcher-BvW6Ojyw.js → EvaluationsListSwitcher-DKFqDosr.js} +2 -2
  69. package/dist/assets/{EvaluationsPaywall-Bkx0ZiU6.js → EvaluationsPaywall-CgzQPhFy.js} +1 -1
  70. package/dist/assets/{EvaluationsRootView-BUpPlkpD.js → EvaluationsRootView-BVInQ8lr.js} +1 -1
  71. package/dist/assets/{ExecutionsTime-B_rDHGBZ.js → ExecutionsTime-CQq_KiJ-.js} +1 -1
  72. package/dist/assets/{ExecutionsView-Czquqjw9.js → ExecutionsView-C3bbbp-g.js} +1 -1
  73. package/dist/assets/{ExposeAllWorkflowsToMcpModal-Sh0CRI8d.js → ExposeAllWorkflowsToMcpModal-Bxbm721I.js} +1 -1
  74. package/dist/assets/{FixedCollectionParameter-Da24dMya.js → FixedCollectionParameter-BEU_dytI.js} +1 -1
  75. package/dist/assets/{FolderBreadcrumbs-DqJUYWhq.js → FolderBreadcrumbs-R_N0kpep.js} +1 -1
  76. package/dist/assets/{ForgotMyPasswordView-CitJADmi.js → ForgotMyPasswordView-BFaNT5f2.js} +1 -1
  77. package/dist/assets/{GroupedMetricChart-PopI-1sa.js → GroupedMetricChart-CBvxPyYF.js} +1 -1
  78. package/dist/assets/{ImpactTag-oQQN274r.js → ImpactTag-DoXj-0LR.js} +1 -1
  79. package/dist/assets/{InsightsChartAverageRuntime-DetlJQYX.js → InsightsChartAverageRuntime-C1Wa-_E7.js} +1 -1
  80. package/dist/assets/{InsightsChartFailed-CWWy62tE.js → InsightsChartFailed-AnhB1F4M.js} +1 -1
  81. package/dist/assets/{InsightsChartFailureRate-C-YAi7d0.js → InsightsChartFailureRate-B3ydvacW.js} +1 -1
  82. package/dist/assets/{InsightsChartTimeSaved-B28j_jC0.js → InsightsChartTimeSaved-BDQBq5Vb.js} +1 -1
  83. package/dist/assets/{InsightsChartTotal-Br6uV6jt.js → InsightsChartTotal-hj1zOSfp.js} +1 -1
  84. package/dist/assets/{InsightsDashboard-B4UqrevT.js → InsightsDashboard-CacBFUbN.js} +2 -2
  85. package/dist/assets/{InsightsPaywall-n4R5mXLS.js → InsightsPaywall-Ddv7BK2y.js} +1 -1
  86. package/dist/assets/{InsightsSummary-DKN03YB9.js → InsightsSummary-6RE9Ndv0.js} +1 -1
  87. package/dist/assets/{InsightsTableWorkflows-wWu4oMfY.js → InsightsTableWorkflows-DDlqUKqs.js} +2 -2
  88. package/dist/assets/{InstanceAiEmptyView-DMrumcL4.js → InstanceAiEmptyView-CNShED-I.js} +1 -1
  89. package/dist/assets/{InstanceAiLayout-C-ByHHR5.js → InstanceAiLayout-DbgPcNJG.js} +1 -1
  90. package/dist/assets/{InstanceAiThreadView-aEunPcYH.js → InstanceAiThreadView-B6bfbpdF.js} +1 -1
  91. package/dist/assets/{InstanceAiThreadView-DXtovMT0.css → InstanceAiThreadView-DPjdtu8S.css} +1 -1
  92. package/dist/assets/{InstanceAiThreadsView-BR4n21I5.js → InstanceAiThreadsView-DBZVex9l.js} +1 -1
  93. package/dist/assets/{InstanceAiToolsConnectionModalWrapper-ABH3CA-r.js → InstanceAiToolsConnectionModalWrapper-BC1iueaH.js} +1 -1
  94. package/dist/assets/{InstanceAiView-DLoCy20b.js → InstanceAiView-CCWbyvKx.js} +1 -1
  95. package/dist/assets/{InstanceRoleView-ArdehQIt.js → InstanceRoleView-vVRGDdSq.js} +1 -1
  96. package/dist/assets/{LimitedModeNotice-BA_imeaR.js → LimitedModeNotice-PAa0DDED.js} +1 -1
  97. package/dist/assets/{LogsOverviewRow-Br0h-OAf.js → LogsOverviewRow-kON1-qPb.js} +1 -1
  98. package/dist/assets/{MCPOnboardingModal-DffhDB_9.js → MCPOnboardingModal-BOAuuWY-.js} +1 -1
  99. package/dist/assets/{MainHeader-BNmeI8nN.js → MainHeader-DPrLnI2N.js} +1 -1
  100. package/dist/assets/{MainSidebarHeader-D4-NIKMK.js → MainSidebarHeader-CbiKBF-x.js} +1 -1
  101. package/dist/assets/{McpClientLogoCards-CWBkwvw9.js → McpClientLogoCards-Ci3hKvlz.js} +1 -1
  102. package/dist/assets/{McpJsonNudgeModal-bDQW-7mc.js → McpJsonNudgeModal-Dbh__pHT.js} +1 -1
  103. package/dist/assets/{McpRegistrySuggestionFooter-DXk6Ym5-.js → McpRegistrySuggestionFooter-BFHrpeY2.js} +1 -1
  104. package/dist/assets/{MfaSetupModal-CgvMR6oo.js → MfaSetupModal-BCPqsUKV.js} +1 -1
  105. package/dist/assets/{MigrationRuleDetail-CbDJJulT.js → MigrationRuleDetail-v2OA7S_p.js} +1 -1
  106. package/dist/assets/{MigrationRules-BL16_rFU.js → MigrationRules-B21MTax2.js} +1 -1
  107. package/dist/assets/{ModelByIdSelectorModal-CUB_48Y4.js → ModelByIdSelectorModal-Bivor_dU.js} +1 -1
  108. package/dist/assets/{NodeCreation-BqZLPYhb.js → NodeCreation-C8NFQ2Uw.js} +2 -2
  109. package/dist/assets/{NodeCreator-C9OIpUsf.js → NodeCreator--xuZpbYJ.js} +1 -1
  110. package/dist/assets/{NodeDetailsView-DvFTieW0.js → NodeDetailsView-Bp65fCJz.js} +1 -1
  111. package/dist/assets/{NodeToolSettingsContent-DHauyIKe.js → NodeToolSettingsContent-Ch3H8BEP.js} +1 -1
  112. package/dist/assets/{NodeView-DHYhKaPw.js → NodeView-BJ6PLioS.js} +2 -2
  113. package/dist/assets/{NodeView-Cb2VKOf-.js → NodeView-BhqKMcDt.js} +1 -1
  114. package/dist/assets/{OAuthConsentView-CY-qBf7U.js → OAuthConsentView-BsPlT0PK.js} +1 -1
  115. package/dist/assets/{PageViewLayout-LxCX5JfK.js → PageViewLayout-BIthJOJB.js} +1 -1
  116. package/dist/assets/{ProjectBreadcrumb-Ba5qEd9k.js → ProjectBreadcrumb-_8m41nVa.js} +1 -1
  117. package/dist/assets/{ProjectFilter-Db6CXuX7.js → ProjectFilter-CowyBDgf.js} +1 -1
  118. package/dist/assets/{ProjectHeader-0mYjakiY.js → ProjectHeader-mGPoiOXF.js} +1 -1
  119. package/dist/assets/{ProjectRoleView-CknpUkxg.js → ProjectRoleView-CMbRUV_E.js} +1 -1
  120. package/dist/assets/{ProjectSettings-xrxemQen.js → ProjectSettings-DX0XLKD1.js} +1 -1
  121. package/dist/assets/{ProjectVariables-oc7a6cFw.js → ProjectVariables-UAkhNjEm.js} +1 -1
  122. package/dist/assets/{PromotionSelectModal-AKeAcCOf.js → PromotionSelectModal-Cp5DU4Mq.js} +1 -1
  123. package/dist/assets/{PromotionsSettingsView-BjHM3T06.js → PromotionsSettingsView-7Ct1nnDR.js} +1 -1
  124. package/dist/assets/{PromptMfaCodeModal-Cf3PvY2U.js → PromptMfaCodeModal-B7evBcFW.js} +1 -1
  125. package/dist/assets/{ProviderSettingsModal-COHE7j29.js → ProviderSettingsModal-CdoWI8-a.js} +1 -1
  126. package/dist/assets/{PublicationIndicator-BFjc7evZ.js → PublicationIndicator-BHlNcu29.js} +1 -1
  127. package/dist/assets/{ResolversView-2BLbXyM1.js → ResolversView-CDTprHyV.js} +1 -1
  128. package/dist/assets/{ResourceCenterView-BV4BbO4R.js → ResourceCenterView-dFdqqpB3.js} +1 -1
  129. package/dist/assets/{ResourceFiltersDropdown-DrnKSqn3.js → ResourceFiltersDropdown-B_djr_mM.js} +1 -1
  130. package/dist/assets/{ResourcesListEmptyState-U8VCDiQD.js → ResourcesListEmptyState-D4sJhX_V.js} +1 -1
  131. package/dist/assets/{ResourcesListLayout-CBX-9suN.js → ResourcesListLayout-BG5SkmGM.js} +1 -1
  132. package/dist/assets/{RoleSelectDropdown-DAs6V3cH.js → RoleSelectDropdown-C4XF0IpJ.js} +1 -1
  133. package/dist/assets/{RolesView-D_Twhga9.js → RolesView-MSui61iO.js} +1 -1
  134. package/dist/assets/{RunDataHtml-Bqpw-BFg.js → RunDataHtml-CY5nEyK-.js} +1 -1
  135. package/dist/assets/{RunDataJson-DZmZaO5n.js → RunDataJson-CcDLGNS_.js} +2 -2
  136. package/dist/assets/{RunDataJsonActions-CGxMXDgK.js → RunDataJsonActions-B8bkYHzM.js} +1 -1
  137. package/dist/assets/{RunDataParsedAiContent-B049VZ8F.js → RunDataParsedAiContent-CVpou8eK.js} +1 -1
  138. package/dist/assets/{RunDataParsedAiContent-CjH177d7.js → RunDataParsedAiContent-Dyz7ryxD.js} +1 -1
  139. package/dist/assets/{RunDataSearch-5sXfx_K9.js → RunDataSearch-Clw1ioXA.js} +1 -1
  140. package/dist/assets/{RunDataTable-WWvYtVkq.js → RunDataTable-DWhoQCua.js} +1 -1
  141. package/dist/assets/{SamlOnboarding-CFWQLy_c.js → SamlOnboarding-o0-hFYof.js} +1 -1
  142. package/dist/assets/{SandboxSettingsRow-DVnjj9Gv.js → SandboxSettingsRow-CH9vS8Mz.js} +1 -1
  143. package/dist/assets/{SecuritySettings-CrAGJaXc.js → SecuritySettings-DpmWKpYu.js} +1 -1
  144. package/dist/assets/{SettingsAIView-D4nwNKcM.js → SettingsAIView-C55rpoUd.js} +1 -1
  145. package/dist/assets/{SettingsAgentsView-We9cvSof.js → SettingsAgentsView-DA2Qr7qE.js} +1 -1
  146. package/dist/assets/{SettingsAiGatewayView-Btkq43a7.js → SettingsAiGatewayView-CDCmPnTm.js} +1 -1
  147. package/dist/assets/{SettingsApiView-f9Ar5nO3.js → SettingsApiView-1huri4vW.js} +1 -1
  148. package/dist/assets/{SettingsChatHubView-D98chyUY.js → SettingsChatHubView-LeMQjOTm.js} +1 -1
  149. package/dist/assets/{SettingsCommunityNodesView-CLienPbJ.js → SettingsCommunityNodesView-DQXPo8zv.js} +1 -1
  150. package/dist/assets/{SettingsContextView-DzteQOJm.js → SettingsContextView-BJ_3NmbM.js} +1 -1
  151. package/dist/assets/{SettingsEncryptionKeys-RQuR-Bdv.js → SettingsEncryptionKeys-BvhYYuNd.js} +1 -1
  152. package/dist/assets/{SettingsExternalSecrets-j5XUK7sv.js → SettingsExternalSecrets-CDtEIOC_.js} +1 -1
  153. package/dist/assets/{SettingsInstanceAiView-1B0cAqJi.js → SettingsInstanceAiView-BTAzqr8h.js} +1 -1
  154. package/dist/assets/{SettingsLayout-B1U2Mf_I.js → SettingsLayout-DVhW14X3.js} +1 -1
  155. package/dist/assets/{SettingsLdapView-B5maqLyz.js → SettingsLdapView-BYQ6z8xp.js} +1 -1
  156. package/dist/assets/{SettingsLogStreamingView-BTm75bJZ.js → SettingsLogStreamingView-D4iSckNX.js} +1 -1
  157. package/dist/assets/{SettingsMCPAgentsView-Du34d8pB.js → SettingsMCPAgentsView-HgAyC73r.js} +1 -1
  158. package/dist/assets/{SettingsMCPClientsView-IhndYljN.js → SettingsMCPClientsView-B1nlN9tC.js} +1 -1
  159. package/dist/assets/{SettingsMCPView-BIOQdEX6.js → SettingsMCPView-cEJDFQp9.js} +1 -1
  160. package/dist/assets/{SettingsMCPWorkflowsView-D61dL1Yy.js → SettingsMCPWorkflowsView--FNOqVDB.js} +1 -1
  161. package/dist/assets/{SettingsOpenTelemetryView-BjCSjfff.js → SettingsOpenTelemetryView-BK66NMpk.js} +1 -1
  162. package/dist/assets/{SettingsPersonalView-DFcBTJpE.js → SettingsPersonalView-dHaV32mA.js} +1 -1
  163. package/dist/assets/{SettingsPreferencesView-BtdoIKES.js → SettingsPreferencesView-C-7McB5F.js} +1 -1
  164. package/dist/assets/{SettingsSecretsProviders.ee-BI7_JUFt.js → SettingsSecretsProviders.ee-v74pOI29.js} +1 -1
  165. package/dist/assets/{SettingsSourceControl-CHef2bSf.js → SettingsSourceControl-Dy1KuxZh.js} +1 -1
  166. package/dist/assets/{SettingsSso-B_btsLKn.js → SettingsSso-DkZb6ve7.js} +1 -1
  167. package/dist/assets/{SettingsUsageAndPlan-Bcu_jG48.js → SettingsUsageAndPlan-2izYmsFK.js} +1 -1
  168. package/dist/assets/{SettingsUsersView-CRU6pfBA.js → SettingsUsersView-BXLSn0rV.js} +1 -1
  169. package/dist/assets/{SetupView-Cb_yiFl4.js → SetupView-B7Tc29Uq.js} +1 -1
  170. package/dist/assets/{SetupWorkflowCredentialsButton-Dsvsc3QH.js → SetupWorkflowCredentialsButton-catXap1S.js} +1 -1
  171. package/dist/assets/{SetupWorkflowFromTemplateView-DNqPrJZ6.js → SetupWorkflowFromTemplateView-pIBO8qMw.js} +1 -1
  172. package/dist/assets/{SigninView-zAiy26s4.js → SigninView-DEBj9PzZ.js} +1 -1
  173. package/dist/assets/{SignoutView-ClpZ1Q7i.js → SignoutView-CSjj8gQm.js} +1 -1
  174. package/dist/assets/{SignupView-W4JIUEGT.js → SignupView-w0mfrpsN.js} +1 -1
  175. package/dist/assets/{SkeletonAgentCard-Dmah3Wre.js → SkeletonAgentCard-BAjISeVL.js} +1 -1
  176. package/dist/assets/{TemplateList-DpaevSOY.js → TemplateList-DvXmqr28.js} +1 -1
  177. package/dist/assets/{TemplatesCollectionView-BXv6-Qxg.js → TemplatesCollectionView-DGEI7eck.js} +1 -1
  178. package/dist/assets/{TemplatesSearchView-B2x8WfQ4.js → TemplatesSearchView-Drb4Lzmo.js} +1 -1
  179. package/dist/assets/{TemplatesView-BX0e5g5J.js → TemplatesView-Bg5eYEiT.js} +1 -1
  180. package/dist/assets/{TemplatesWorkflowView-CESblyso.js → TemplatesWorkflowView-C5vjjDR1.js} +1 -1
  181. package/dist/assets/{TestRunDetailView-CS_Iq1nM.js → TestRunDetailView-Dtn5HcVj.js} +1 -1
  182. package/dist/assets/{ToolIcon-CZd4mqj3.js → ToolIcon-BBXTMQc2.js} +1 -1
  183. package/dist/assets/{ToolSettingsModal-BkqojVIt.js → ToolSettingsModal-n6WW2IrC.js} +1 -1
  184. package/dist/assets/{ToolsConnectionModal-CZYFyK9G.js → ToolsConnectionModal-CYKZXtxO.js} +1 -1
  185. package/dist/assets/{ToolsManagerModal-1XO8gN4-.js → ToolsManagerModal-CAqv9XeX.js} +1 -1
  186. package/dist/assets/{ToolsSelector-BvQSPzdm.js → ToolsSelector-Dp1p4DDD.js} +1 -1
  187. package/dist/assets/{TrialIntroModal-CukXZyAP.js → TrialIntroModal-D6YpVYk8.js} +1 -1
  188. package/dist/assets/{VirtualSchema-CB9VieG6.js → VirtualSchema-kRGoJO9g.js} +1 -1
  189. package/dist/assets/{WorkerView-PVoqRGs0.js → WorkerView-D2_ErEl_.js} +1 -1
  190. package/dist/assets/{WorkflowExecutionsInfoAccordion-BwSDQbOk.js → WorkflowExecutionsInfoAccordion-B43jESHz.js} +1 -1
  191. package/dist/assets/{WorkflowExecutionsLandingPage-BX-DBUbQ.js → WorkflowExecutionsLandingPage-BH6qhH0A.js} +1 -1
  192. package/dist/assets/{WorkflowExecutionsPreview-DAYwrvqW.js → WorkflowExecutionsPreview-B-eGcCC5.js} +1 -1
  193. package/dist/assets/{WorkflowExecutionsView-JP2tdyJp.js → WorkflowExecutionsView-DnSevCvM.js} +1 -1
  194. package/dist/assets/{WorkflowHistory-Bpsivymd.js → WorkflowHistory-BejwvdHw.js} +1 -1
  195. package/dist/assets/{WorkflowLayout-DcJBYH8V.js → WorkflowLayout-DZ1c0hhf.js} +1 -1
  196. package/dist/assets/{WorkflowOnboardingView-C4a9NJtV.js → WorkflowOnboardingView-DxgyU7Cj.js} +1 -1
  197. package/dist/assets/{WorkflowPreviewHost-CNSbBHPX.js → WorkflowPreviewHost-CaABNz9t.js} +1 -1
  198. package/dist/assets/{WorkflowReviewRequestsView-CzbgupGU.js → WorkflowReviewRequestsView-PasOZR01.js} +1 -1
  199. package/dist/assets/{WorkflowsView-DD7uEiJc.js → WorkflowsView-l6u1rjV5.js} +1 -1
  200. package/dist/assets/{aiTemplatesStarterCollection.store-CAuHAjO3.js → aiTemplatesStarterCollection.store-CqEqqvt4.js} +1 -1
  201. package/dist/assets/{app-Cb14aX4e.js → app-DIBCkflT.js} +81 -81
  202. package/dist/assets/{app-_LvaFVcp.css → app-Q4jiTus4.css} +1 -1
  203. package/dist/assets/{auth.eventBus-DfxRdxEG.js → auth.eventBus-Bzxg_TXp.js} +1 -1
  204. package/dist/assets/{context.store-BZAvcG1O.js → context.store-DzswK78n.js} +1 -1
  205. package/dist/assets/{dist-HVKGaHnN.js → dist-D_0iPe8t.js} +1 -1
  206. package/dist/assets/{en-CD1hD7m-.js → en-C482FLYN.js} +1 -1
  207. package/dist/assets/{expression-runtime-stub-BrwN7DWZ.js → expression-runtime-stub-DB4t8RG7.js} +1 -1
  208. package/dist/assets/{index-Qp1anPqW.js → index-DCN84Adv.js} +1 -1
  209. package/dist/assets/{insights.store-B7iJLc5F.js → insights.store-BFeVt1J3.js} +1 -1
  210. package/dist/assets/{insights.store-DrDSh40Z.js → insights.store-D58Tpi-N.js} +1 -1
  211. package/dist/assets/{insights.utils-B_F6PtYz.js → insights.utils-Cleem5S9.js} +1 -1
  212. package/dist/assets/{instanceAi.store-2MLRJP5U.js → instanceAi.store-Bt0FYy64.js} +1 -1
  213. package/dist/assets/{instanceAiComputerUse.telemetry-DUdMYQlP.js → instanceAiComputerUse.telemetry-C236ELoZ.js} +1 -1
  214. package/dist/assets/{instanceAiMcp.store-DYjFWTlB.js → instanceAiMcp.store-ByC8qqbv.js} +1 -1
  215. package/dist/assets/{instanceAiMcp.store-CT_N2VZ-.js → instanceAiMcp.store-Qm7VSmFI.js} +1 -1
  216. package/dist/assets/{instanceAiSetup.telemetry-DzmOFUJ2.js → instanceAiSetup.telemetry-ChvHdwL9.js} +1 -1
  217. package/dist/assets/{instanceRoleScopes-X1GLvaXZ.js → instanceRoleScopes-DiYpQfoz.js} +1 -1
  218. package/dist/assets/{mcp.store-CBpcGM7-.js → mcp.store-D5RDHO_d.js} +1 -1
  219. package/dist/assets/{postMessageUtils-Q1JVHcz_.js → postMessageUtils-DM1VbiX4.js} +1 -1
  220. package/dist/assets/{projectRoleScopes-MxdOb1KF.js → projectRoleScopes-CwThoxW4.js} +1 -1
  221. package/dist/assets/{promotions.api-CRbBbJs2.js → promotions.api-S_csk14k.js} +1 -1
  222. package/dist/assets/{promotions.eventBus-DoylFIQA.js → promotions.eventBus-dyNqP9ZS.js} +1 -1
  223. package/dist/assets/{promotionsSettings.api-CBk3jszj.js → promotionsSettings.api-Bw0LvR47.js} +1 -1
  224. package/dist/assets/{pushConnection.store-CiLdYeae.js → pushConnection.store-3HqlCt3l.js} +1 -1
  225. package/dist/assets/{readyToRun.store-BAWaovPu.js → readyToRun.store-ZFxnyT8n.js} +1 -1
  226. package/dist/assets/{readyToRunWorkflows.store-DaMKBqkV.js → readyToRunWorkflows.store-EdeQ3f5n.js} +1 -1
  227. package/dist/assets/{resourceCenter.store-Br65A5lz.js → resourceCenter.store-DZwt7H4U.js} +1 -1
  228. package/dist/assets/{src-CBy18xK5.js → src-39atnjB9.js} +1 -1
  229. package/dist/assets/{src-CwPu9Moj.js → src-B2G0hf0_.js} +1 -1
  230. package/dist/assets/{surfaceMcpToNewCloudUsers.store-BBAl7mfy.js → surfaceMcpToNewCloudUsers.store-PWTvl1SD.js} +1 -1
  231. package/dist/assets/{templateActions-CYwJvFrt.js → templateActions-DNGCn8Z6.js} +1 -1
  232. package/dist/assets/{thread-title-DcvunPCO.js → thread-title-CP8Rd6br.js} +1 -1
  233. package/dist/assets/{toolIcons-K71G9198.js → toolIcons-C7verA2M.js} +1 -1
  234. package/dist/assets/{useActivityDetection-DvED8pCy.js → useActivityDetection-PKJEtzSk.js} +1 -1
  235. package/dist/assets/{useAgentConfirmationModal-CdARRoOp.js → useAgentConfirmationModal-C7IVPAZR.js} +1 -1
  236. package/dist/assets/{useAgentPublish-dfD5TL8d.js → useAgentPublish-db3Rx0qF.js} +1 -1
  237. package/dist/assets/{useBuilderStreamingGuard-BXaFP2Ml.js → useBuilderStreamingGuard-BAlBqNZq.js} +1 -1
  238. package/dist/assets/{useCustomAgent-CfY2EG0H.js → useCustomAgent-BbfzqPFG.js} +1 -1
  239. package/dist/assets/{useDependencyMenu-CM_Rq2jA.js → useDependencyMenu-Dlgsk4DR.js} +1 -1
  240. package/dist/assets/{useEvalCollectionsFlag-c4CO7B9t.js → useEvalCollectionsFlag-W1pAZ_y3.js} +1 -1
  241. package/dist/assets/{useEvaluationsLicense-BXrRrJqu.js → useEvaluationsLicense-D3DrRlAO.js} +1 -1
  242. package/dist/assets/{useExecutionData-BSlw6yg6.js → useExecutionData-CsEzAhBk.js} +1 -1
  243. package/dist/assets/{useExecutionDebugging-HavCVT_F.js → useExecutionDebugging-CB3yZoUS.js} +1 -1
  244. package/dist/assets/{useExposeAllWorkflowsToMcpOffer-BkI9Onp0.js → useExposeAllWorkflowsToMcpOffer-DZ7l3hm_.js} +1 -1
  245. package/dist/assets/{useExtensionDirectConnect-BvQsGI1g.js → useExtensionDirectConnect-DIVt9W6O.js} +1 -1
  246. package/dist/assets/{useFileDrop-CNNiPAkt.js → useFileDrop-Dg2ODXyI.js} +1 -1
  247. package/dist/assets/{useImportCurlCommand-C9EP-LtH.js → useImportCurlCommand-CD6HpKkg.js} +1 -1
  248. package/dist/assets/{useInstanceAiConfiguration-l8jNmxhr.js → useInstanceAiConfiguration-qqkSJ7Ki.js} +1 -1
  249. package/dist/assets/{useInstanceAiThreadHistory-DNMUrC0a.js → useInstanceAiThreadHistory-C6VREJjC.js} +1 -1
  250. package/dist/assets/{useInstancePromotionConnection-C7sbWPxI.js → useInstancePromotionConnection-WREOYLea.js} +1 -1
  251. package/dist/assets/{useIsAssistantAtMentionsEnabled-ChSmZUsB.js → useIsAssistantAtMentionsEnabled-B3K7O6Oc.js} +1 -1
  252. package/dist/assets/{useLogsTreeExpand-CRjJQfkY.js → useLogsTreeExpand-Mx_htDU4.js} +1 -1
  253. package/dist/assets/{useMcpJsonNudgeEligibility-DQ8EEU16.js → useMcpJsonNudgeEligibility-DoTpsbUl.js} +1 -1
  254. package/dist/assets/{useMcpJsonNudgeTrigger-CmVQ59VK.js → useMcpJsonNudgeTrigger-CHdONr8y.js} +1 -1
  255. package/dist/assets/{useOAuthClientRevoke-CowEns4y.js → useOAuthClientRevoke-DHWkUX4f.js} +1 -1
  256. package/dist/assets/{usePostMessageHandler-D-LpaMQW.js → usePostMessageHandler-CLNsvQoB.js} +2 -2
  257. package/dist/assets/{usePushConnection-K3KCEkMw.js → usePushConnection-CGhgj_XX.js} +1 -1
  258. package/dist/assets/{usePushConnection-DlURCN61.js → usePushConnection-DlSS-fh-.js} +1 -1
  259. package/dist/assets/{useRestrictedNodeWarning-BX7EK0Uj.js → useRestrictedNodeWarning-CzH4pZNV.js} +1 -1
  260. package/dist/assets/{useRoleEditorForm-CVeYC7LC.js → useRoleEditorForm-CW4GZ5hB.js} +1 -1
  261. package/dist/assets/{useSecretsProvidersList.ee-D3g6UJdy.js → useSecretsProvidersList.ee-hO7twgbX.js} +1 -1
  262. package/dist/assets/{useSettingsItems-CDhtw_rt.js → useSettingsItems-D0b43VfQ.js} +1 -1
  263. package/dist/assets/{useSidebarLayout-BBo0biIJ.js → useSidebarLayout-CMWsRSox.js} +1 -1
  264. package/dist/assets/{useWorkflowEvaluationState-BFKDKAyU.js → useWorkflowEvaluationState-Du2jMznK.js} +1 -1
  265. package/dist/assets/{useWorkflowInitialization-8WxYL6JM.js → useWorkflowInitialization-v8FOBLTl.js} +1 -1
  266. package/dist/assets/{useWorkflowsEmptyState-DygSWCo6.js → useWorkflowsEmptyState-DrQnLU-4.js} +1 -1
  267. package/dist/assets/{userRoleProvisioning.store-McCCNrSp.js → userRoleProvisioning.store-CAF5TCPz.js} +1 -1
  268. package/dist/assets/{vector-stores-CqfK6vCw.js → vector-stores-BdsRLaDa.js} +1 -1
  269. package/dist/assets/{workflowReviews.utils-7eZBLWoN.js → workflowReviews.utils-JH0iXalA.js} +1 -1
  270. package/dist/index.html +3 -3
  271. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NodeCreation-BqZLPYhb.js","assets/app-Cb14aX4e.js","assets/rolldown-runtime-BobR2NKB.js","assets/vendor-BCjXakEm.js","assets/vendor-BpMiN8nO.css","assets/app-_LvaFVcp.css","assets/NodeCreation-CpR6ewOx.css","assets/NodeDetailsView-DvFTieW0.js","assets/LogsOverviewRow-Br0h-OAf.js","assets/AnimatedSpinner-8js8Rn2-.js","assets/AnimatedSpinner-OiUdRqev.css","assets/LogsOverviewRow-DGf07F0R.css","assets/useLogsTreeExpand-CRjJQfkY.js","assets/useLogsTreeExpand-COyoDDNP.css","assets/useExecutionData-BSlw6yg6.js","assets/RunDataParsedAiContent-B049VZ8F.js","assets/RunDataParsedAiContent-Cr5GyLhr.css","assets/NodeDetailsView-DEIl7Nig.css","assets/SetupWorkflowCredentialsButton-Dsvsc3QH.js","assets/readyToRun.store-BAWaovPu.js","assets/SetupWorkflowCredentialsButton-DIAgU1S5.css"])))=>i.map(i=>d[i]);
2
- try{(function(){var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`49bedf57-2676-4896-a714-7099584c11a5`,e._sentryDebugIdIdentifier=`sentry-dbid-49bedf57-2676-4896-a714-7099584c11a5`)})()}catch{}import{Ad as e,Af as t,Bd as n,Bf as r,Cf as i,Df as a,Eu as o,Fd as s,Hd as c,Id as l,If as u,Kd as d,Ld as f,Mf as p,Nd as m,Od as h,Pd as g,Pf as _,Qd as v,Rd as y,Rf as b,Ud as x,Vd as S,Xd as C,Zd as w,ad as T,af as E,as as D,bf as O,bu as k,cf as A,dd as j,ef as M,fp as N,gf as P,go as F,hi as I,jd as L,kd as R,kf as ee,ld as te,lp as z,mf as B,mo as ne,nf as re,of as ie,os as ae,pi as oe,rs as se,sf as V,sp as H,vd as ce,vf as U,wd as le,y as ue}from"./vendor-BCjXakEm.js";import{$ as de,$b as fe,$f as pe,$n as me,$u as he,Af as ge,Ai as _e,Bb as ve,Bd as ye,Bf as be,Bn as xe,Cc as Se,Ch as Ce,Cm as we,Cw as W,Dn as Te,Ef as Ee,En as De,Eu as G,FS as Oe,Fn as ke,Fp as Ae,GS as je,Gc as Me,Gf as Ne,Gm as Pe,HC as Fe,Hb as K,Hc as Ie,Hf as Le,Id as Re,J_ as ze,Jb as Be,Jc as Ve,Jm as He,Jn as Ue,Ju as q,Kf as We,Ku as Ge,Ld as Ke,Ln as qe,Lu as Je,Md as Ye,Mf as Xe,Mi as Ze,Mn as Qe,Mu as $e,My as et,Nc as tt,Ng as nt,Np as rt,Ou as it,Ow as J,PC as at,PS as ot,Pd as st,Pn as ct,Pu as lt,Q as ut,Q_ as dt,Qn as ft,Qu as pt,RC as mt,R_ as ht,Rc as gt,Rd as _t,Rf as vt,Sc as yt,Sf as bt,Sx as xt,Td as Y,Tx as St,Uf as Ct,Un as wt,VC as Tt,VS as Et,Vb as Dt,Vf as Ot,Vl as kt,WC as At,Wf as jt,Wo as Mt,Wu as Nt,X_ as Pt,Xn as Ft,Xu as It,Y_ as X,Yb as Lt,Yn as Rt,Yu as zt,Zn as Bt,_i as Vt,_m as Ht,_w as Ut,_x as Wt,at as Gt,ax as Kt,bc as qt,bf as Jt,bw as Z,bx as Yt,cd as Xt,cg as Zt,cl as Qt,cs as $t,ct as en,dc as tn,dt as nn,dw as Q,dx as rn,eS as an,eh as on,er as sn,ev as cn,ew as ln,fC as un,fc as dn,ft as fn,gb as pn,gd as mn,gf as hn,gg as gn,gh as _n,gi as vn,hS as yn,hc as bn,hd as $,hi as xn,hl as Sn,hu as Cn,ic as wn,id as Tn,ip as En,ir as Dn,it as On,jC as kn,jn as An,jo as jn,jp as Mn,kn as Nn,lc as Pn,lf as Fn,lh as In,mC as Ln,mf as Rn,ml as zn,mu as Bn,nd as Vn,np as Hn,ns as Un,nt as Wn,nu as Gn,nv as Kn,nw as qn,o_ as Jn,oc as Yn,og as Xn,oh as Zn,op as Qn,os as $n,ow as er,ox as tr,pl as nr,pt as rr,pw as ir,qn as ar,qu as or,qx as sr,rp as cr,rr as lr,rt as ur,ru as dr,sl as fr,sp as pr,ss as mr,th as hr,tr as gr,ts as _r,tt as vr,tv as yr,tw as br,uc as xr,up as Sr,ut as Cr,vc as wr,vd as Tr,vh as Er,vi as Dr,vw as Or,vx as kr,wu as Ar,ww as jr,xh as Mr,xi as Nr,xl as Pr,xn as Fr,xx as Ir,yc as Lr,yf as Rr,yi as zr,yl as Br,ym as Vr,yw as Hr,zC as Ur,zd as Wr,zf as Gr,zg as Kr,zn as qr}from"./app-Cb14aX4e.js";import{t as Jr}from"./usePostMessageHandler-D-LpaMQW.js";import{t as Yr}from"./useMcpJsonNudgeTrigger-CmVQ59VK.js";import{n as Xr,t as Zr}from"./EvaluationsPaywall-Bkx0ZiU6.js";import{t as Qr}from"./useExecutionData-BSlw6yg6.js";import{a as $r,c as ei,d as ti,i as ni,l as ri,n as ii,o as ai,r as oi,s as si,t as ci,u as li}from"./evaluation.constants-DMguZDM7.js";import{t as ui}from"./useEvaluationsLicense-BXrRrJqu.js";import{t as di}from"./useActivityDetection-DvED8pCy.js";var fi=W(x({inheritAttrs:!1,__name:`WorkflowCanvas`,props:{id:{default:`canvas`},fallbackNodes:{default:()=>[]},showFallbackNodes:{type:Boolean,default:!0},eventBus:{default:()=>mt()},readOnly:{type:Boolean},groupExpansionMode:{default:void 0},canExecute:{type:Boolean},executing:{type:Boolean},suppressInteraction:{type:Boolean,default:!1},stripedBackground:{type:Boolean,default:!0},initialViewport:{}},setup(e,{expose:t}){let n=e,a=P(`canvas`),o=le(),s=Y(),c=_(Hn()),l;U(()=>s.value.documentId,e=>{l?.stop(),l=i(!0),l.run(()=>{c.value=ar(e)})},{immediate:!0}),ee(()=>l?.stop());let{onNodesInitialized:u,viewport:d,viewportRef:h,getNodes:v,fitBounds:y}=I(n.id),b=m(()=>n.showFallbackNodes?[...s.value.allNodes,...n.fallbackNodes]:s.value.allNodes),x=m(()=>s.value.connectionsBySourceNode),C=Bt({workflowId:()=>s.value.workflowId,getCurrentGroupIds:()=>s.value.allGroups.map(e=>e.id),onNodeGroupsChange:e=>s.value.onNodeGroupsChange(e),getGroupExpansionMode:()=>n.groupExpansionMode}),D=sn({workflowId:()=>s.value.workflowId,getCurrentGroups:()=>s.value.allGroups,onNodeGroupsChange:e=>s.value.onNodeGroupsChange(e)});U(()=>s.value.documentId,()=>{C.reinitialize(),ne(),D.reinitialize()});let O=m(()=>s.value.allGroups),k=m(()=>n.readOnly??!1),j=m(()=>n.suppressInteraction??!1),M=Sn(),N=m(()=>M.isActive(d.value.zoom)),F=Qt(),{nodes:L,connections:R,nodeDisplaySizeById:te,getNodeExecutionSnapshot:z}=Ue({nodes:b,connections:x,renderData:c,allGroups:O,nodeGroupView:C,isExperimentalNdvActive:N,getAgentNodeHeight:e=>F.getNodeHeight(n.id,e)}),B=m(()=>{switch(n.groupExpansionMode){case`all`:return O.value.map(e=>e.id);case`errored`:return O.value.filter(e=>vn(e.nodeIds,z)===`error`).map(e=>e.id);default:return[]}});function ne(){for(let e of B.value)C.setGroupExpanded(e,!0)}U(B,ne,{immediate:!0}),U(m(()=>s.value.allGroups.length===0?[]:ft({allGroups:s.value.allGroups,nodes:b.value,getNodeById:e=>s.value.getNodeById(e),getNodeDisplaySize:e=>te.value[e],isGroupCollapsed:e=>C.isGroupCollapsed(e)})),e=>C.syncLayoutComponents(e),{immediate:!0});let re=m(()=>Vt({allGroups:O.value,getNodeById:e=>s.value.getNodeById(e),getNodeDisplaySize:e=>te.value[e],getGroupVisualOffset:e=>C.getVisualOffsetForComponent(e),isGroupCollapsed:e=>C.isGroupCollapsed(e),readOnly:k.value||j.value,getNodeExecutionSnapshot:z})),ae=m(()=>[...L.value,...re.value]);ie(Ft,C),ie(me,D),ie(zr,{isGroupCollapsed:e=>C.isGroupCollapsed(e),isDescriptionVisible:e=>D.isVisible(e)});let se=p(!1),{off:V}=u(()=>{se.value||(n.initialViewport||n.eventBus.emit(`fitView`),se.value=!0,V())}),ce=T(ae,200),ue=T(R,200);return t({executeContextMenuAction:(e,t)=>a.value?.executeContextMenuAction(e,t),ensureNodesAreVisible:e=>{let t=h.value;if(!t)return;let r=v.value.filter(t=>e.includes(t.id));if(r.length===0)return;let i=u(()=>{let a=d.value,o=t.clientWidth,s=t.clientHeight,c=oe(r),l=c.x*a.zoom+a.x,u=c.y*a.zoom+a.y,f=c.width*a.zoom,p=c.height*a.zoom;if(!(l>=0&&u>=0&&l+f<=o&&u+p<=s)){let e={x:-a.x/a.zoom,y:-a.y/a.zoom,width:o/a.zoom,height:s/a.zoom},t=Math.min(e.x,c.x),n=Math.min(e.y,c.y),r=Math.max(e.x+e.width,c.x+c.width),i=Math.max(e.y+e.height,c.y+c.height);y({x:t,y:n,width:r-t,height:i-n},{padding:.15,duration:100})}n.eventBus.emit(`nodes:select`,{ids:e}),i.off()})}}),(t,n)=>(E(),f(`div`,{class:H(r(o).wrapper),"data-test-id":`canvas-wrapper`},[g(`div`,{id:`canvas`,class:H(r(o).canvas)},[S(Rt,w({id:e.id,ref:`canvas`,nodes:e.executing?r(ce):ae.value,connections:e.executing?r(ue):r(R),"render-data":c.value,"node-display-size-by-id":r(te),"event-bus":e.eventBus,"read-only":e.readOnly,"can-execute":e.canExecute,executing:e.executing,"suppress-interaction":e.suppressInteraction,"striped-background":e.stripedBackground,"initial-viewport":e.initialViewport},t.$attrs),null,16,[`id`,`nodes`,`connections`,`render-data`,`node-display-size-by-id`,`event-bus`,`read-only`,`can-execute`,`executing`,`suppress-interaction`,`striped-background`,`initial-viewport`])],2),A(t.$slots,`default`)],2))}}),[[`__cssModules`,{$style:{wrapper:`_wrapper_ainvf_1`,canvas:`_canvas_ainvf_9`}}]]),pi=W(x({__name:`FocusSidebarTabs`,props:{modelValue:{default:`setup`},tabLabels:{default:()=>({})}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=J(),i=Je(),a=nr(),o=m(()=>a.isFeatureEnabled),{isFeatureEnabled:s}=Xr(),c=e,l=t,u=m(()=>{let e=[];return o.value&&e.push({label:c.tabLabels?.setup??n.baseText(`setupPanel.tabs.setup`),value:`setup`}),e.push({label:c.tabLabels?.focus??n.baseText(`setupPanel.tabs.focus`),value:`focus`}),s.value&&e.push({label:c.tabLabels?.evaluations??n.baseText(`setupPanel.tabs.evaluations`),value:`evaluations`}),e}),d=e=>{l(`update:modelValue`,e)};return(t,n)=>(E(),f(`div`,{class:H(t.$style.container),"data-test-id":`setup-panel-tabs`},[S(r(ot),{"model-value":e.modelValue,options:u.value,size:`small`,"onUpdate:modelValue":d},null,8,[`model-value`,`options`]),g(`button`,{"data-test-id":`setup-panel-close`,class:H(t.$style[`close-button`]),onClick:n[0]||=e=>r(i).closeFocusPanel()},[S(r(Z),{icon:`x`,size:`small`})],2)],2))}}),[[`__cssModules`,{$style:{container:`_container_2u5bd_1`,"close-button":`_close-button_2u5bd_18`}}]]),mi=[`data-test-id`],hi=[`data-test-id`],gi=x({__name:`SetupCard`,props:C({isComplete:{type:Boolean},loading:{type:Boolean,default:!1},cardTestId:{},title:{},showFooter:{type:Boolean,default:!0},executableNode:{default:null},isTrigger:{type:Boolean,default:!1},isTestingCredential:{type:Boolean,default:!1},highlightNodeIds:{default:()=>[]},telemetryPayload:{default:()=>({})}},{expanded:{type:Boolean,default:!1},expandedModifiers:{}}),emits:[`update:expanded`],setup(t,{expose:i}){let a=t,o=B(t,`expanded`),c=J(),u=dt(),d=nr(),h=Y(),_=p(!1),v=()=>{_.value=!0},y=()=>{o.value=!o.value},b=()=>{a.highlightNodeIds.length>0&&d.setHighlightedNodes(a.highlightNodeIds)},x=()=>{a.highlightNodeIds.length>0&&d.clearHighlightedNodes()},C=m(()=>a.executableNode??null),{isExecuting:w,isButtonDisabled:T,label:D,buttonIcon:k,tooltipItems:j,execute:P,isInListeningState:F,listeningHint:I}=On(C),{webhookUrls:L}=ur(C),R=m(()=>a.executableNode?.type===`@n8n/n8n-nodes-langchain.chatTrigger`&&F.value?!1:!!a.executableNode),ee=m(()=>a.isTrigger&&F.value),te=async()=>{await P(),v()};return M(()=>{d.clearHighlightedNodes()}),U(()=>a.isComplete,e=>{e&&_.value&&(u.track(`User completed setup step`,{template_id:h?.value?.meta?.templateId,workflow_id:h?.value?.workflowId,...a.telemetryPayload}),_.value=!1)}),i({markInteracted:v}),(i,a)=>(E(),f(`div`,{"data-test-id":t.cardTestId,class:H([i.$style.card,{[i.$style.collapsed]:!o.value,[i.$style.completed]:t.isComplete,[i.$style[`no-footer`]]:!t.showFooter&&o.value}]),onMouseenter:b,onMouseleave:x},[g(`header`,{"data-test-id":`${t.cardTestId}-header`,class:H(i.$style.header),onClick:y},[!o.value&&t.loading&&!t.isComplete?(E(),s(r(Z),{key:0,"data-test-id":`${t.cardTestId}-loading-icon`,icon:`spinner`,spin:!0,class:H(i.$style[`loading-icon`]),size:`medium`},null,8,[`data-test-id`,`class`])):!o.value&&t.isComplete?(E(),s(r(Z),{key:1,"data-test-id":`${t.cardTestId}-complete-icon`,icon:`check`,class:H(i.$style[`complete-icon`]),size:`medium`},null,8,[`data-test-id`,`class`])):A(i.$slots,`icon`,{key:2},void 0,!0),S(r(Q),{class:H(i.$style[`card-title`]),size:`medium`,color:`text-dark`},{default:O(()=>[n(N(t.title),1)]),_:1},8,[`class`]),g(`div`,{class:H(i.$style[`header-extra`])},[A(i.$slots,`header-extra`,{},void 0,!0)],2),S(r(Z),{class:H(i.$style.chevron),icon:o.value?`chevrons-down-up`:`chevrons-up-down`,size:`large`,color:`text-light`},null,8,[`class`,`icon`])],10,hi),o.value?(E(),f(e,{key:0},[A(i.$slots,`card-description`,{},void 0,!0),S(ce,{name:`callout-fade`},{default:O(()=>[ee.value?(E(),f(`div`,{key:0,class:H(i.$style[`callout-grid`])},[g(`div`,{class:H(i.$style[`callout-inner`])},[S(r(At),{"data-test-id":`trigger-listening-callout`,theme:`secondary`,class:H(i.$style.callout)},{default:O(()=>[n(N(r(I)),1)]),_:1},8,[`class`])],2)],2)):l(``,!0)]),_:1}),t.isTrigger&&r(F)&&r(L).length>0?(E(),s(fn,{key:0,urls:r(L)},null,8,[`urls`])):l(``,!0),A(i.$slots,`default`,{},void 0,!0),t.showFooter?(E(),f(`footer`,{key:1,class:H(i.$style.footer)},[t.isComplete?(E(),f(`div`,{key:0,class:H(i.$style[`footer-complete-check`])},[S(r(Z),{icon:`check`,class:H(i.$style[`complete-icon`]),size:`large`},null,8,[`class`]),S(r(Q),{size:`medium`,color:`success`},{default:O(()=>[n(N(r(c).baseText(`generic.complete`)),1)]),_:1})],2)):l(``,!0),A(i.$slots,`footer-actions`,{},void 0,!0),R.value?(E(),s(rr,{key:1,label:r(D),icon:r(k),disabled:r(T)||t.isTestingCredential,loading:r(w),"tooltip-items":r(j),onClick:te},null,8,[`label`,`icon`,`disabled`,`loading`,`tooltip-items`])):l(``,!0)],2)):l(``,!0)],64)):l(``,!0)],42,mi))}}),_i=`_card_gqw1c_1`,vi=`_header_gqw1c_14`,yi=`_chevron_gqw1c_25`,bi=`_collapsed_gqw1c_34`,xi=`_footer_gqw1c_59`,Si=`_completed_gqw1c_86`,Ci=`_callout_gqw1c_93`,wi=W(gi,[[`__cssModules`,{$style:{card:_i,"no-footer":`_no-footer_gqw1c_10`,header:vi,"header-extra":`_header-extra_gqw1c_22`,chevron:yi,collapsed:bi,"card-title":`_card-title_gqw1c_38`,"complete-icon":`_complete-icon_gqw1c_43`,"loading-icon":`_loading-icon_gqw1c_52`,footer:xi,"footer-complete-check":`_footer-complete-check_gqw1c_66`,completed:Si,callout:Ci,"callout-grid":`_callout-grid_gqw1c_97`,"callout-inner":`_callout-inner_gqw1c_102`}}],[`__scopeId`,`data-v-119aeb94`]]),Ti=W(x({__name:`NodeSetupCard`,props:C({state:{},firstTriggerName:{}},{expanded:{type:Boolean,default:!1},expandedModifiers:{}}),emits:C([`credentialSelected`,`credentialDeselected`],[`update:expanded`]),setup(e,{emit:t}){let i=e,a=B(e,`expanded`),o=t,c=J(),u=st(),d=Rn(),f=Nt(),h=Y(),_=p(null),v=m(()=>u.getNodeType(i.state.node.type,i.state.node.typeVersion)),b=m(()=>!!i.state.credentialType),x=m(()=>i.state.isTrigger?!i.firstTriggerName||i.state.node.type===`n8n-nodes-base.manualTrigger`?null:i.state.node.name===i.firstTriggerName?i.state.node:null:f.isNodeExecutable(i.state.node,!0,[])?i.state.node:null),C=m(()=>{let e=i.state.selectedCredentialId;return!!e&&d.isCredentialTestPending(e)}),w=m(()=>!b.value||x.value!==null||i.state.isComplete),T=m(()=>Object.keys(i.state.parameterIssues).length>0),D=p([]),k=m(()=>D.value.length>0),A=m(()=>i.state.isTrigger&&!b.value&&!k.value),j=m(()=>b.value&&!k.value&&!A.value),M=m(()=>{let e=[];return A.value&&e.push(`trigger`),b.value&&e.push(`credential`),T.value&&e.push(`param`),{type:e,template_id:h.value.meta?.templateId,workflow_id:h.value.workflowId,node_types:(i.state.allNodesUsingCredential??[i.state.node]).map(e=>e.type),credential_type:i.state.credentialType,has_parameters:T.value,missing_parameters_count:Object.keys(i.state.parameterIssues).length}}),P=()=>{_.value?.markInteracted()},F=p(Object.keys(i.state.parameterIssues).length===0),I=m(()=>F.value||(i.state.additionalParameterNames?.length??0)>0&&Object.keys(i.state.parameterIssues).length===0),L=p(!i.state.isAutoApplied);U(()=>i.state.isAutoApplied??!1,e=>{e||(L.value=!0)}),U(a,(e,t)=>{t&&!e&&(Object.keys(i.state.parameterIssues).length===0&&(F.value=!0),i.state.isAutoApplied&&(L.value=!0))});let R=m(()=>k.value?i.state.isComplete&&I.value&&L.value:i.state.isComplete&&L.value),ee=m(()=>(i.state.allNodesUsingCredential??[i.state.node]).map(({id:e})=>e));return(t,i)=>(E(),s(wi,{ref_key:`setupCard`,ref:_,expanded:a.value,"onUpdate:expanded":i[3]||=e=>a.value=e,"is-complete":R.value,loading:C.value,title:e.state.node.name,"show-footer":w.value,"executable-node":x.value,"is-trigger":e.state.isTrigger,"is-testing-credential":C.value,"telemetry-payload":M.value,"highlight-node-ids":ee.value,"card-test-id":`node-setup-card`},y({icon:O(()=>[j.value?(E(),s(Ve,{key:0,"credential-type-name":e.state.credentialType,size:16},null,8,[`credential-type-name`])):(E(),s(tt,{key:1,"node-type":v.value,size:16},null,8,[`node-type`]))]),"card-description":O(()=>[e.state.isTrigger&&b.value&&!e.state.selectedCredentialId?(E(),s(r(Q),{key:0,size:`medium`,color:`text-base`,class:`pl-xs pr-xs`},{default:O(()=>[n(N(r(c).baseText(`setupPanel.trigger.credential.note`)),1)]),_:1})):k.value?(E(),s(r(Q),{key:1,size:`medium`,color:`text-base`,class:`pl-xs pr-xs`},{default:O(()=>[n(N(r(c).baseText(`setupPanel.parameter.description`)),1)]),_:1})):l(``,!0)]),default:O(()=>[A.value?l(``,!0):(E(),s(nn,{key:0,state:e.state},{default:O(()=>[g(`div`,{class:H(t.$style.content)},[S(Gt,{state:e.state,"sticky-parameters":D.value,onCredentialSelected:i[0]||=e=>{P(),o(`credentialSelected`,e)},onCredentialDeselected:i[1]||=e=>{P(),o(`credentialDeselected`,e)},onInteracted:P,onParametersDiscovered:i[2]||=e=>D.value.push(...e)},null,8,[`state`,`sticky-parameters`])],2)]),_:1},8,[`state`]))]),_:2},[A.value?{name:`header-extra`,fn:O(()=>[S(r(ir),null,{content:O(()=>[n(N(r(c).baseText(`nodeCreator.nodeItem.triggerIconTitle`)),1)]),default:O(()=>[S(r(Z),{icon:`zap`,size:`small`,color:`text-light`})]),_:1})]),key:`0`}:void 0]),1032,[`expanded`,`is-complete`,`loading`,`title`,`show-footer`,`executable-node`,`is-trigger`,`is-testing-credential`,`telemetry-payload`,`highlight-node-ids`]))}}),[[`__cssModules`,{$style:{content:`_content_uaete_1`}}]]),Ei=[`onMouseenter`],Di=[`onClick`],Oi=W(x({__name:`NodeGroupSetupCard`,props:C({nodeGroup:{}},{expanded:{type:Boolean,default:!1},expandedModifiers:{}}),emits:C([`credentialSelected`,`credentialDeselected`],[`update:expanded`]),setup(t,{emit:i}){let a=t,o=B(t,`expanded`),c=i,d=Nt(),h=Y(),_=nr(),v=p(null),{parentNodeType:y,subnodeSections:b,allSections:x,getStickyParameters:C,addStickyParameters:w,expandedSections:T,toggleSection:D,hoveredSection:k,onSectionMouseEnter:A,onSectionMouseLeave:j,getSectionNodeType:M}=Wn(u(a,`nodeGroup`)),P=m(()=>{let e=a.nodeGroup.parentNode;return d.isNodeExecutable(e,!0,[])?e:null}),F=m(()=>en({nodeGroup:a.nodeGroup})),I=m(()=>{let e=new Set([a.nodeGroup.parentNode.id]);for(let t of x.value)e.add(t.node.id);return[...e]}),L=m(()=>k.value?(k.value.allNodesUsingCredential??[k.value.node]).map(e=>e.id):I.value);U(L,e=>{o.value&&_.setHighlightedNodes(e)}),U(o,(e,t)=>{t&&!e&&(k.value=null)});let R=m(()=>x.value.some(vr)),ee=m(()=>({type:[`node-group`],template_id:h.value.meta?.templateId,workflow_id:h.value.workflowId,node_types:x.value.map(e=>e.node.type),has_parameters:R.value})),te=m(()=>P.value!==null),z=()=>{v.value?.markInteracted()};return(i,a)=>(E(),s(wi,{ref_key:`setupCard`,ref:v,expanded:o.value,"onUpdate:expanded":a[8]||=e=>o.value=e,"is-complete":F.value,title:t.nodeGroup.parentNode.name,"show-footer":te.value,"executable-node":P.value,"telemetry-payload":ee.value,"highlight-node-ids":L.value,"card-test-id":`node-group-setup-card`},{icon:O(()=>[S(tt,{"node-type":r(y),size:16},null,8,[`node-type`])]),default:O(()=>[t.nodeGroup.parentState?(E(),f(`div`,{key:0,class:H(i.$style.parentBody),onMouseenter:a[3]||=e=>r(A)(t.nodeGroup.parentState),onMouseleave:a[4]||=(...e)=>r(j)&&r(j)(...e)},[S(nn,{state:t.nodeGroup.parentState},{default:O(()=>[S(Gt,{state:t.nodeGroup.parentState,"sticky-parameters":r(C)(t.nodeGroup.parentState.node.id),onCredentialSelected:a[0]||=e=>{z(),c(`credentialSelected`,e)},onCredentialDeselected:a[1]||=e=>{z(),c(`credentialDeselected`,e)},onInteracted:z,onParametersDiscovered:a[2]||=e=>r(w)(t.nodeGroup.parentState.node.id,e)},null,8,[`state`,`sticky-parameters`])]),_:1},8,[`state`])],34)):l(``,!0),g(`div`,{class:H(i.$style.sections),"data-test-id":`node-group-sections`},[(E(!0),f(e,null,V(r(b),e=>(E(),f(`div`,{key:e.node.id,class:H(i.$style.section),"data-test-id":`node-group-section`,onMouseenter:t=>r(A)(e),onMouseleave:a[7]||=(...e)=>r(j)&&r(j)(...e)},[g(`div`,{class:H(i.$style.sectionHeader),"data-test-id":`node-group-section-header`,onClick:t=>r(D)(e.node.id)},[e.isComplete?(E(),s(r(Z),{key:0,icon:`check`,size:`small`,class:H(i.$style.sectionCheck)},null,8,[`class`])):(E(),s(tt,{key:1,"node-type":r(M)(e),size:14},null,8,[`node-type`])),S(r(Q),{class:H(i.$style.sectionTitle),size:`medium`,color:`text-dark`},{default:O(()=>[n(N(e.node.name),1)]),_:2},1032,[`class`]),S(r(Z),{class:H(i.$style.sectionChevron),icon:r(T)[e.node.id]?`chevrons-down-up`:`chevrons-up-down`,size:`large`,color:`text-light`},null,8,[`class`,`icon`])],10,Di),r(T)[e.node.id]?(E(),f(`div`,{key:0,class:H(i.$style.sectionContent)},[S(nn,{state:e},{default:O(()=>[S(Gt,{state:e,"sticky-parameters":r(C)(e.node.id),onCredentialSelected:a[5]||=e=>{z(),c(`credentialSelected`,e)},onCredentialDeselected:a[6]||=e=>{z(),c(`credentialDeselected`,e)},onInteracted:z,onParametersDiscovered:t=>r(w)(e.node.id,t)},null,8,[`state`,`sticky-parameters`,`onParametersDiscovered`])]),_:2},1032,[`state`])],2)):l(``,!0)],42,Ei))),128))],2)]),_:1},8,[`expanded`,`is-complete`,`title`,`show-footer`,`executable-node`,`telemetry-payload`,`highlight-node-ids`]))}}),[[`__cssModules`,{$style:{parentBody:`_parentBody_xc0ia_1`,sections:`_sections_xc0ia_5`,section:`_section_xc0ia_5`,sectionHeader:`_sectionHeader_xc0ia_16`,sectionChevron:`_sectionChevron_xc0ia_23`,sectionTitle:`_sectionTitle_xc0ia_30`,sectionCheck:`_sectionCheck_xc0ia_35`,sectionContent:`_sectionContent_xc0ia_39`}}]]),ki=W(x({__name:`SetupPanelCards`,props:{showCompleted:{type:Boolean,default:!0}},setup(i){let a=i,o=J(),c=dt(),u=$n(),d=Y(),{setupCards:p,isAllComplete:h,setCredential:_,unsetCredential:v,firstTriggerName:y}=de();U(h,e=>{e&&c.track(`User completed all setup steps`,{template_id:d?.value?.meta?.templateId,workflow_id:u.value})});let b=e=>{_(e.credentialType,e.credentialId,e.nodeName)},x=e=>{v(e.credentialType,e.nodeName)},C=m(()=>a.showCompleted?p.value:p.value.filter(e=>!en(e))),w=e=>Cr(e)?`group-${e.nodeGroup.parentNode.id}`:e.state.credentialType?`${e.state.credentialType}-${e.state.node.id}`:`${e.state.node.id}`,T=t({}),D=new Map,k=new Set,A=!1,j=e=>T[e]??!1,M=(e,t)=>e.find((e,n)=>n>t&&!en(e)),P=(e,t)=>{if(T[e]=t,!t){let t=p.value,n=t.findIndex(t=>w(t)===e),r=t[n];if(r&&en(r)&&k.has(e)){let e=M(t,n);e&&(T[w(e)]=!0)}}};return U(p,e=>{for(let t of e){let e=w(t);k.has(e)||(Cr(t)?[...t.nodeGroup.parentState?[t.nodeGroup.parentState]:[],...t.nodeGroup.subnodeCards].some(vr)&&k.add(e):vr(t.state)&&k.add(e))}if(A){let t=M(e,-1);if(t&&!D.has(w(t))){let n=e.findIndex(e=>T[w(e)]);n>e.indexOf(t)&&(T[w(e[n])]=!1,T[w(t)]=!0)}for(let t=0;t<e.length;t++){let n=e[t],r=w(n),i=D.get(r)??!1,a=en(n),o=Cr(n)?[...n.nodeGroup.parentState?[n.nodeGroup.parentState]:[],...n.nodeGroup.subnodeCards].some(e=>e.isAutoApplied):n.state.isAutoApplied;if(a&&!i&&!k.has(r)){if(T[r]=!1,!o||e.every((e,n)=>n===t||!T[w(e)])){let n=M(e,t);n&&(T[w(n)]=!0)}break}}}else{if(e.length===0)return;let t=M(e,-1);t&&(T[w(t)]=!0),A=!0}D.clear();for(let t of e)D.set(w(t),en(t))},{deep:!0,immediate:!0}),(t,i)=>(E(),f(`div`,{class:H(t.$style.container),"data-test-id":`setup-panel-cards-container`},[r(p).length===0?(E(),f(`div`,{key:0,class:H(t.$style[`empty-state`]),"data-test-id":`setup-cards-empty`},[S(r(Z),{icon:`list-checks`,class:H(t.$style[`empty-icon`]),size:24,color:`text-base`},null,8,[`class`]),g(`div`,{class:H(t.$style[`empty-text`])},[S(r(Q),{size:`medium`,color:`text-base`,bold:!0,"data-test-id":`setup-cards-empty-heading`},{default:O(()=>[n(N(r(o).baseText(`setupPanel.empty.heading`)),1)]),_:1}),S(r(Q),{size:`medium`,color:`text-light`,"data-test-id":`setup-cards-empty-description`},{default:O(()=>[n(N(r(o).baseText(`setupPanel.empty.description`)),1)]),_:1})],2)],2)):(E(),f(`div`,{key:1,class:H(t.$style[`card-list`]),"data-test-id":`setup-cards-list`},[(E(!0),f(e,null,V(C.value,t=>(E(),f(e,{key:w(t)},[t.nodeGroup?(E(),s(Oi,{key:0,"node-group":t.nodeGroup,expanded:j(w(t)),"onUpdate:expanded":e=>P(w(t),e),onCredentialSelected:b,onCredentialDeselected:x},null,8,[`node-group`,`expanded`,`onUpdate:expanded`])):(E(),s(Ti,{key:1,state:t.state,"first-trigger-name":r(y),expanded:j(w(t)),"onUpdate:expanded":e=>P(w(t),e),onCredentialSelected:b,onCredentialDeselected:x},null,8,[`state`,`first-trigger-name`,`expanded`,`onUpdate:expanded`]))],64))),128)),r(h)?(E(),f(`div`,{key:0,class:H(t.$style[`complete-message`]),"data-test-id":`setup-cards-complete-message`},[S(r(Q),{size:`medium`,color:`text-base`},{default:O(()=>[n(N(r(o).baseText(`setupPanel.everythingConfigured.message`)),1)]),_:1})],2)):l(``,!0)],2))],2))}}),[[`__cssModules`,{$style:{container:`_container_9tg0x_1`,"card-list":`_card-list_9tg0x_2`,"empty-state":`_empty-state_9tg0x_10`,"empty-text":`_empty-text_9tg0x_20`,"complete-message":`_complete-message_9tg0x_26`}}]]),Ai=W(x({__name:`SetupPanel`,setup(e){let t=J(),i=p(!0);return(e,a)=>(E(),f(`div`,{class:H(e.$style.container),"data-test-id":`setup-panel-container`},[g(`div`,{class:H(e.$style.content),"data-test-id":`setup-panel-cards`},[S(ki,{"show-completed":i.value},null,8,[`show-completed`])],2),g(`footer`,{class:H(e.$style.footer),"data-test-id":`setup-panel-footer`},[S(r(Q),{class:H(e.$style[`toggle-label`]),tag:`label`,size:`small`},{default:O(()=>[S(r(Oe),{modelValue:i.value,"onUpdate:modelValue":a[0]||=e=>i.value=e,size:`small`},null,8,[`modelValue`]),n(` `+N(r(t).baseText(`setupPanel.showCompleted`)),1)]),_:1},8,[`class`])],2)],2))}}),[[`__cssModules`,{$style:{container:`_container_o3lgs_1`,content:`_content_o3lgs_12`,footer:`_footer_o3lgs_22`,"toggle-label":`_toggle-label_o3lgs_32`}}]]),ji=W(x({__name:`ExperimentalNodeDetailsDrawer`,props:{node:{},nodeIds:{},isReadOnly:{type:Boolean}},emits:[`openNdv`,`contextMenuAction`],setup(t,{emit:i}){let a=i,o=lr(m(()=>t.node)),c=Dr(m(()=>t.nodeIds)),u=bt(),d=p(0),h=m(()=>[t.node.id,d.value].join(`|`));return U(()=>u.value.activeNodeName,(e,t)=>{e===null&&t!==null&&(d.value+=1)}),ie(Jn,o),(i,o)=>(E(),f(`div`,{class:H(i.$style.component)},[t.nodeIds.length>1?(E(),s(r(Q),{key:0,tag:`div`,color:`text-base`,class:H(i.$style.multipleNodes)},{default:O(()=>[g(`div`,null,N(t.nodeIds.length)+` nodes selected`,1),g(`ul`,{class:H(i.$style.multipleNodesActions)},[(E(!0),f(e,null,V(r(c),e=>(E(),f(`li`,{key:e.id,class:H(i.$style.multipleNodesAction)},[S(r(Hr),{variant:`subtle`,disabled:e.disabled,onClick:n=>a(`contextMenuAction`,e.id,t.nodeIds)},{default:O(()=>[n(N(e.label)+` `,1),e.shortcut?(E(),s(r(br),w({key:0,ref_for:!0},e.shortcut),null,16)):l(``,!0)]),_:2},1032,[`disabled`,`onClick`])],2))),128))],2)]),_:1},8,[`class`])):t.node?(E(),s(Dn,{key:h.value,"node-id":t.node.id,"is-read-only":t.isReadOnly},null,8,[`node-id`,`is-read-only`])):l(``,!0)],2))}}),[[`__cssModules`,{$style:{component:`_component_1qt9j_1`,multipleNodes:`_multipleNodes_1qt9j_6`,multipleNodesActions:`_multipleNodesActions_1qt9j_16`,multipleNodesAction:`_multipleNodesAction_1qt9j_16`}}]]),Mi=W(x({__name:`ExperimentalFocusPanelHeader`,props:{node:{},parameter:{},isExecutable:{type:Boolean},readOnly:{type:Boolean}},emits:[`execute`,`openNdv`,`clearParameter`,`renameNode`],setup(t,{emit:i}){let a=i,o=st(),c=J(),u=m(()=>o.getNodeType(t.node.type,t.node.typeVersion));return(i,o)=>(E(),s(r(Q),{tag:`header`,size:`small`,bold:``,class:H(i.$style.component)},{default:O(()=>[S(tt,{"node-type":u.value,size:16},null,8,[`node-type`]),g(`div`,{class:H(i.$style.breadcrumbs)},[t.parameter?(E(),f(e,{key:0},[S(r(Q),{size:`small`,color:`text-base`,bold:``},{default:O(()=>[n(N(t.node.name),1)]),_:1}),S(r(Q),{size:`small`,color:`text-light`},{default:O(()=>[...o[4]||=[n(`/`,-1)]]),_:1}),n(` `+N(t.parameter.displayName),1)],64)):(E(),s(r(yn),{key:1,"model-value":t.node.name,"min-width":0,"max-width":500,placeholder:r(c).baseText(`ndv.title.rename.placeholder`),"read-only":t.readOnly,"onUpdate:modelValue":o[0]||=e=>a(`renameNode`,e)},null,8,[`model-value`,`placeholder`,`read-only`]))],2),t.parameter?(E(),s(r(Or),{key:0,variant:`ghost`,icon:`x`,size:`small`,onClick:o[1]||=e=>a(`clearParameter`)})):(E(),s(r(Or),{key:1,variant:`ghost`,icon:`expand`,size:`small`,onClick:o[2]||=e=>a(`openNdv`)})),t.isExecutable?(E(),s(Lr,{key:2,"data-test-id":`node-execute-button`,"node-name":t.node.name,tooltip:`Execute ${t.node.name}`,variant:`subtle`,size:`small`,icon:`play`,square:!0,"hide-label":!0,"telemetry-source":`focus`,onExecute:o[3]||=e=>a(`execute`)},null,8,[`node-name`,`tooltip`])):l(``,!0)]),_:1},8,[`class`]))}}),[[`__cssModules`,{$style:{component:`_component_1ijt6_1`,breadcrumbs:`_breadcrumbs_1ijt6_9`}}]]),Ni=W(x({name:`FocusPanel`,__name:`FocusPanel`,props:{isCanvasReadOnly:{type:Boolean}},emits:[`focus`,`saveKeyboardShortcut`,`contextMenuAction`],setup(t,{emit:i}){let a=t,o=i,c=p(),d=J(),h=Nt(),_=Je(),y=$n(),b=Y(),x=m(()=>mn(b.value.documentId)),C=st(),w=nr(),T=dt(),D=$t(),A=Ee(),j=Sn(),M=bt(),P=I(y.value),{renameNode:F}=fr(),L=m(()=>_.resolvedParameter),R=p(``),ee=k(async()=>{if(!L.value)return!1;let e=L.value.parameterPath.split(`.`).slice(1,-1).join(`.`);return!!L.value.parameter.disabledOptions&&await D.shouldDisplayNodeParameter(L.value.node.parameters,L.value.node,L.value.parameter,e,`disabledOptions`)},!1),te=k(async()=>{if(!L.value)return!0;let e=L.value.parameterPath.split(`.`).slice(1,-1).join(`.`);return await D.shouldDisplayNodeParameter(L.value.node.parameters,L.value.node,L.value.parameter,e,`displayOptions`)},!0),z=m(()=>{if(!j.isNdvInFocusPanelEnabled||L.value)return L.value?.node;let e=P.getSelectedNodes.value[0];return e?.data?.render.type===rt.Default?(b?.value?.allNodes??[]).find(t=>t.id===e.id):void 0}),B=m(()=>P.getSelectedNodes.value.length>1),ne=m(()=>{if(!z.value||!te.value)return!1;let e=h.getForeignCredentialsIfSharingEnabled(z.value.credentials);return h.isNodeExecutable(z.value,!a.isCanvasReadOnly,e)}),{workflowRunData:re}=Qr({node:z}),ie=m(()=>{if(!z.value)return!0;let e=b?.value?.getParentNodes(z.value.name,`main`,1)[0];return!!(e&&re.value&&Object.prototype.hasOwnProperty.bind(re.value)(e))});function ae(e){return L.value?xr(L.value.parameter,e):void 0}let oe=m(()=>L.value?.node.parameters.mode),se=m(()=>ae(`editor`)??void 0),V=m(()=>se.value===`json`||L.value?.parameter.type===`json`?`json`:ae(`editorLanguage`)??`javaScript`),ce=m(()=>ae(`rows`)),le=m(()=>L.value?C.isToolNode(L.value?.node.type):!1),ue=m(()=>!!L.value&&L.value.node.type===`n8n-nodes-base.html`),de=m(()=>L.value&&pe(L.value.parameter,L.value.value)),fe=m(()=>de.value?Kt(L.value)?L.value.value:L.value:``),me=m(()=>L.value?.node.type===Wt),he=m(()=>a.isCanvasReadOnly||ee.value),ge=m(()=>({$vars:A.variablesAsObject})),_e=m(()=>{if(L.value)return{nodeName:L.value.node.name,parameterPath:L.value.parameterPath}}),ve=m(()=>x.value.executingNode.isNodeExecuting(z.value?.name??``)),ye=m(()=>P.getSelectedNodes.value.map(e=>e.id)),be=m(()=>j.isNdvInFocusPanelEnabled?d.baseText(`nodeView.focusPanel.v2.noParameters.title`):d.baseText(`nodeView.focusPanel.noParameters.title`)),xe=m(()=>j.isNdvInFocusPanelEnabled?d.baseText(`nodeView.focusPanel.v2.noParameters.subtitle`):d.baseText(`nodeView.focusPanel.noParameters.subtitle`)),{resolvedExpression:Se}=Mt({expression:fe,additionalData:ge,stringifyObject:L.value&&L.value.parameter.type!==`multiOptions`});function Ce(e){L.value!==void 0&&D.updateNodeParameter(u(L.value.node.parameters),{value:e,name:L.value.parameterPath},e,L.value.node,le.value)}async function we(){await v(),c.value&&(Ht(c.value)?c.value.focusOnInput():Vr(c.value)&&c.value.focus()),o(`focus`)}function W(e){if(L.value)switch(e){case`resetValue`:typeof L.value.parameter.default==`string`&&Ce(L.value.parameter.default),we();break;case`addExpression`:{let e=Pn(L.value.value,L.value.parameter.type);Ce(typeof e==`string`?e:e.value),we();break}case`removeExpression`:{let e=dn(L.value.value,Se.value,L.value.parameter.type,L.value.parameter.default,(L.value.parameter.options??[]).filter(tn));typeof e==`string`?Ce(e):e&&typeof e.value==`string`&&Ce(e.value),we();break}case`formatHtml`:it.emit(`format-html`);break}}function Te(){if((j.isNdvInFocusPanelEnabled||w.isFeatureEnabled)&&L.value){_.unsetParameters(),T.track(`User removed focused param`,{source:`closeIcon`,parameters:_.focusedNodeParametersInTelemetryFormat});return}T.track(`User closed focus panel`,{source:`closeIcon`,parameters:_.focusedNodeParametersInTelemetryFormat}),_.closeFocusPanel()}function De(){T.track(`User executed node from focus panel`,_.focusedNodeParametersInTelemetryFormat[0])}function G(e){R.value=e,Ce(e)}function Oe(){setTimeout(()=>{we()},50)}U([()=>_.lastFocusTimestamp,()=>de.value],()=>Oe()),U(()=>L.value,e=>{if(e){let t=e.value;typeof t==`string`&&t!==R.value&&(R.value=t)}},{immediate:!0});function ke(){z.value&&M.value.setActiveNodeName(z.value.name,`focus_panel`)}function Ae(e){z.value&&F(z.value.name,e)}return(i,a)=>(E(),f(`div`,{"data-test-id":`focus-panel`,class:H([i.$style.content,{[i.$style.isNdvInFocusPanelEnabled]:r(j).isNdvInFocusPanelEnabled}])},[r(j).isNdvInFocusPanelEnabled&&z.value&&!B.value?(E(),s(Mi,{key:0,node:z.value,parameter:L.value?.parameter,"is-executable":ne.value,"read-only":t.isCanvasReadOnly,onExecute:De,onOpenNdv:ke,onClearParameter:Te,onRenameNode:Ae},null,8,[`node`,`parameter`,`is-executable`,`read-only`])):l(``,!0),L.value?(E(),f(`div`,{key:1,class:H(i.$style.content),"data-test-id":`focus-parameter`},[r(j).isNdvInFocusPanelEnabled?l(``,!0):(E(),f(`div`,{key:0,class:H(i.$style.tabHeader)},[g(`div`,{class:H(i.$style.tabHeaderText)},[S(r(Q),{color:`text-dark`,size:`small`},{default:O(()=>[n(N(L.value.parameter.displayName),1)]),_:1}),S(r(Q),{color:`text-base`,size:`xsmall`},{default:O(()=>[n(N(L.value.node.name),1)]),_:1})],2),g(`div`,{class:H(i.$style.buttonWrapper)},[S(Lr,{"data-test-id":`node-execute-button`,"node-name":L.value.node.name,tooltip:`Execute ${L.value.node.name}`,disabled:!ne.value,size:`small`,icon:`play`,square:!0,"hide-label":!0,"telemetry-source":`focus`,onExecute:De},null,8,[`node-name`,`tooltip`,`disabled`]),S(r(Z),{class:H(i.$style.closeButton),icon:`x`,color:`text-base`,size:`xlarge`,onClick:Te},null,8,[`class`])],2)],2)),g(`div`,{class:H(i.$style.parameterDetailsWrapper)},[g(`div`,{class:H(i.$style.parameterOptionsWrapper)},[g(`div`,{class:H(i.$style.noExecutionDataTip)},[!ie.value&&!ve.value?(E(),s(r(Ln),{key:0,class:H(i.$style.delayedShow),bold:!0},{default:O(()=>[n(N(r(d).baseText(`nodeView.focusPanel.noExecutionData`)),1)]),_:1},8,[`class`])):l(``,!0)],2),r(te)?(E(),s(Yn,{key:0,parameter:L.value.parameter,value:L.value.value,"is-read-only":he.value,"onUpdate:modelValue":W},null,8,[`parameter`,`value`,`is-read-only`])):l(``,!0)],2),typeof L.value.value==`string`?(E(),f(`div`,{key:0,class:H(i.$style.editorContainer)},[r(te)?de.value?(E(),s(gt,{key:1,ref_key:`inputField`,ref:c,modelValue:R.value,"onUpdate:modelValue":a[0]||=e=>R.value=e,class:H(i.$style.editor),"is-read-only":he.value,path:L.value.parameterPath,"data-test-id":`expression-modal-input`,"target-node-parameter-context":_e.value,onChange:a[1]||=e=>G(e.value)},null,8,[`modelValue`,`class`,`is-read-only`,`path`,`target-node-parameter-context`])):[`json`,`string`].includes(L.value.parameter.type)?(E(),f(e,{key:2},[se.value===`codeNodeEditor`?(E(),s(Me,{key:0,id:L.value.parameterPath,ref_key:`inputField`,ref:c,modelValue:R.value,"onUpdate:modelValue":[a[2]||=e=>R.value=e,G],class:H(i.$style.heightFull),mode:oe.value,"default-value":L.value.parameter.default,language:V.value,"is-read-only":he.value,"target-node-parameter-context":_e.value,"fill-parent":``},null,8,[`id`,`modelValue`,`class`,`mode`,`default-value`,`language`,`is-read-only`,`target-node-parameter-context`])):se.value===`htmlEditor`?(E(),s(dr,{key:1,ref_key:`inputField`,ref:c,modelValue:R.value,"onUpdate:modelValue":[a[3]||=e=>R.value=e,G],"is-read-only":he.value,rows:ce.value,"disable-expression-coloring":!ue.value,"disable-expression-completions":!ue.value,fullscreen:``,"target-node-parameter-context":_e.value},null,8,[`modelValue`,`is-read-only`,`rows`,`disable-expression-coloring`,`disable-expression-completions`,`target-node-parameter-context`])):se.value===`cssEditor`?(E(),s(mr,{key:2,ref_key:`inputField`,ref:c,modelValue:R.value,"onUpdate:modelValue":[a[4]||=e=>R.value=e,G],"is-read-only":he.value,rows:ce.value,fullscreen:``,"target-node-parameter-context":_e.value},null,8,[`modelValue`,`is-read-only`,`rows`,`target-node-parameter-context`])):se.value===`sqlEditor`?(E(),s(wn,{key:3,ref_key:`inputField`,ref:c,modelValue:R.value,"onUpdate:modelValue":[a[5]||=e=>R.value=e,G],dialect:ae(`sqlDialect`),"is-read-only":he.value,rows:ce.value,fullscreen:``,"target-node-parameter-context":_e.value},null,8,[`modelValue`,`dialect`,`is-read-only`,`rows`,`target-node-parameter-context`])):se.value===`jsEditor`?(E(),s(Gn,{key:4,ref_key:`inputField`,ref:c,modelValue:R.value,"onUpdate:modelValue":[a[6]||=e=>R.value=e,G],"is-read-only":he.value,rows:ce.value,"posthog-capture":me.value,"fill-parent":``},null,8,[`modelValue`,`is-read-only`,`rows`,`posthog-capture`])):L.value.parameter.type===`json`?(E(),s(bn,{key:5,ref_key:`inputField`,ref:c,modelValue:R.value,"onUpdate:modelValue":[a[7]||=e=>R.value=e,G],"is-read-only":he.value,rows:ce.value,fullscreen:``,"fill-parent":``},null,8,[`modelValue`,`is-read-only`,`rows`])):(E(),s(r(Ut),{key:6,ref_key:`inputField`,ref:c,modelValue:R.value,"onUpdate:modelValue":[a[8]||=e=>R.value=e,G],class:H(i.$style.editor),readonly:he.value,type:`textarea`,resize:`none`},null,8,[`modelValue`,`class`,`readonly`]))],64)):l(``,!0):(E(),f(`div`,{key:0,class:H([i.$style.content,i.$style.emptyContent])},[g(`div`,{class:H(i.$style.emptyText)},[S(r(Q),{color:`text-base`},{default:O(()=>[n(N(r(d).baseText(`nodeView.focusPanel.missingParameter`)),1)]),_:1})],2)],2))],2)):l(``,!0)],2)],2)):z.value&&r(j).isNdvInFocusPanelEnabled?(E(),s(ji,{key:2,node:z.value,"node-ids":ye.value,"is-read-only":he.value,onOpenNdv:ke,onContextMenuAction:a[9]||=(e,t)=>o(`contextMenuAction`,e,t)},null,8,[`node`,`node-ids`,`is-read-only`])):(E(),f(`div`,{key:3,class:H([i.$style.content,i.$style.emptyContent])},[g(`div`,{class:H(i.$style.focusParameterWrapper)},[g(`div`,{class:H(i.$style.iconWrapper)},[S(r(Z),{class:H(i.$style.forceHover),icon:`panel-right`,size:`medium`},null,8,[`class`]),S(r(Z),{class:H(i.$style.pointerIcon),icon:`mouse-pointer`,color:`text-dark`,size:`large`},null,8,[`class`])],2),S(r(Z),{icon:`ellipsis-vertical`,size:`small`,color:`text-base`}),S(r(je),{size:`small`,"model-value":`expression`,disabled:!0,options:[{label:r(d).baseText(`parameterInput.fixed`),value:`fixed`},{label:r(d).baseText(`parameterInput.expression`),value:`expression`}]},null,8,[`options`])],2),g(`div`,{class:H(i.$style.emptyText)},[S(r(Q),{color:`text-base`,size:`medium`,bold:!0},{default:O(()=>[n(N(be.value),1)]),_:1}),S(r(Q),{color:`text-base`,size:`small`},{default:O(()=>[n(N(xe.value),1)]),_:1})],2)],2))],2))}}),[[`__cssModules`,{$style:{content:`_content_o6210_1`,emptyContent:`_emptyContent_o6210_7`,isNdvInFocusPanelEnabled:`_isNdvInFocusPanelEnabled_o6210_12`,emptyText:`_emptyText_o6210_15`,focusParameterWrapper:`_focusParameterWrapper_o6210_21`,iconWrapper:`_iconWrapper_o6210_28`,pointerIcon:`_pointerIcon_o6210_32`,tabHeader:`_tabHeader_o6210_42`,tabHeaderText:`_tabHeaderText_o6210_49`,buttonWrapper:`_buttonWrapper_o6210_54`,parameterDetailsWrapper:`_parameterDetailsWrapper_o6210_59`,parameterOptionsWrapper:`_parameterOptionsWrapper_o6210_66`,noExecutionDataTip:`_noExecutionDataTip_o6210_70`,editorContainer:`_editorContainer_o6210_73`,editor:`_editor_o6210_73`,delayedShow:`_delayedShow_o6210_93`,triggerShow:`_triggerShow_o6210_1`,closeButton:`_closeButton_o6210_104`,heightFull:`_heightFull_o6210_108`,forceHover:`_forceHover_o6210_112`}}]]),Pi=ne(sr.EVALUATIONS_WIZARD_SIDEPANEL,()=>{let e=Je(),t=m(()=>e.focusPanelActive&&e.selectedTab===`evaluations`),n=p(0),r=p([...oi]),i=p({}),a=p(``),o=p(!1),s=p(``),c=p(``),l=p({}),u=p({}),d=p([]),f=p([]),h=p([]),g=p(``),_=p(!0),v=p(`list`),y=p(null),b=p(null),x=p(null),S=p(null),C=p([]),w=p(!1),T=p(null),E=p(``),D=m(()=>o.value?c.value||``:a.value||``);function O(){n.value=0,r.value=[...oi],i.value={},a.value=``,o.value=!1,s.value=``,c.value=``,l.value={},u.value={},d.value=[],f.value=[],h.value=[],g.value=``,_.value=!0,v.value=`list`,y.value=null,b.value=null,x.value=null,C.value=[],w.value=!1,T.value=null}function k(t=0){O(),n.value=t,e.setSelectedTab(`evaluations`),e.openFocusPanel()}function A(){e.closeFocusPanel()}function j(){t.value?A():k(n.value)}function M(e){n.value=e}function N(){n.value===0?n.value=1:n.value===1?n.value=2:n.value===2&&(n.value=3)}function P(){n.value===3?n.value=2:n.value===2?n.value=1:n.value===1&&(n.value=0)}function F(e){let t=r.value.indexOf(e);t===-1?r.value=[...r.value,e]:r.value=r.value.filter((e,n)=>n!==t)}function I(e,t){if(t===void 0){let t={...i.value};delete t[e],i.value=t;return}i.value={...i.value,[e]:t}}function L(e){a.value=e}function R(){o.value||(o.value=!0,!c.value&&a.value&&(c.value=a.value))}function ee(){o.value=!1,s.value=``}function te(e,t){l.value={...l.value,[e]:t}}function z(e,t){u.value={...u.value,[e]:t}}function B(){w.value=!0}function ne(){w.value=!1}function re(e){let t=ue();C.value=[...C.value,{...e,id:t}]}function ie(e){C.value=C.value.filter(t=>t.id!==e)}function ae(e,t){C.value=C.value.map(n=>n.id===e?{...n,...t}:n)}function oe(e){T.value=e}function se(e){E.value=e}function V(){v.value=`list`,x.value=null}function H(){v.value=`create`,x.value=null}function ce(e){if(v.value=`detail`,y.value=e,e===null)b.value=null,g.value=``;else{x.value=null,b.value=null;let t=f.value[e],n=d.value[e];t&&(l.value={...t}),n&&(u.value={...n}),g.value=h.value[e]??``}}function U(e){g.value=e}function le(e){_.value=e}function de(e){x.value=e}function fe(e){S.value=e}function pe(e,t){y.value=e,b.value=t}function me(e){let t={...e};for(let n of Object.keys(e))n in l.value&&(t[n]=l.value[n]);l.value=t}return{isOpen:t,activeStep:n,selectedMetricKeys:r,judgeSelectionByMetric:i,aiNodeName:a,isSliceMode:o,startNodeName:s,endNodeName:c,inputs:l,expectedValues:u,datasetExpectedByRow:d,datasetInputsByRow:f,datasetNamesByRow:h,caseName:g,prefillInputsFromExecution:_,viewMode:v,activeRowIndex:y,activeRowId:b,seedExecution:x,pendingSeedExecution:S,customChecks:C,isCustomCheckModalOpen:w,activeRunId:T,lastWorkflowId:E,answerNodeName:D,open:k,close:A,toggle:j,reset:O,setStep:M,goNext:N,goBack:P,toggleMetric:F,setJudgeSelection:I,setAiNodeName:L,enterSliceMode:R,exitSliceMode:ee,setInputValue:te,setExpectedValue:z,seedInputs:me,openCustomCheckModal:B,closeCustomCheckModal:ne,addCustomCheck:re,removeCustomCheck:ie,updateCustomCheck:ae,setActiveRunId:oe,setLastWorkflowId:se,openList:V,openCreate:H,openDetail:ce,setCaseName:U,setPrefillInputsFromExecution:le,setSeedExecution:de,setPendingSeedExecution:fe,setActiveRow:pe}});function Fi(e,t){let n=e.filter(e=>!t.has(e));if(n.length===1)return n[0];if(n.length===0&&e.length===1)return e[0]}function Ii(e){let t=$(),n=Y(),r=st(),i=Pi();return m(()=>{let a=n.value?.allNodes??[],o=a.filter(e=>r.isTriggerNode(e.type)),s=Ui(a),c=n.value?.connectionsBySourceNode??{},l=i.isSliceMode?i.startNodeName:i.aiNodeName,u=e=>Bi(e,a,c,l),d=Hi([i.seedExecution,t.value.activeExecution,t.value.lastSuccessfulExecution,b(e?.fallbackExecution)])?.data?.resultData?.runData;if(!(d&&Object.keys(d).length>0)||!d)return u({fieldNames:[],values:{},hasExecution:!1});if(!l)return u({fieldNames:[],values:{},hasExecution:!0});let f=o.some(e=>e.name===l)?Gi(d,l,s):Ki(d,c,l,s);if(!f)return u({fieldNames:[],values:{},hasExecution:!0});let p=Object.keys(f),m={};for(let e of p)m[e]=wt(f[e]);return u({fieldNames:p,values:m,hasExecution:!0})})}var Li=`input`,Ri=`chatInput`,zi=new Set([kr,St]);function Bi(e,t,n,r){if(e.fieldNames.length>0)return e;let i=Vi(t,n,r);return{...e,fieldNames:[i],values:{...e.values,[i]:``}}}function Vi(e,t,n){if(!n)return Li;let r=[n,...K(Dt(t),n,`main`)],i=new Map(e.map(e=>[e.name,e]));for(let e of r){let t=i.get(e);if(t&&zi.has(t.type))return Ri}return Li}function Hi(e){for(let t of e)if(t&&t.mode!==`evaluation`)return t}function Ui(e){return new Map(e.filter(e=>e.type===xt).map(e=>[e.name,e.parameters?.source===`dataTable`]))}var Wi=[`row_id`,...ve];function Gi(e,t,n=new Map){let r=(e[t]?.[0])?.data?.main?.[0]?.[0]?.json;if(!r||!n.has(t))return r;let i=n.get(t)===!0?[...Ir,...Wi]:Ir;return Object.fromEntries(Object.entries(r).filter(([e])=>!i.includes(e)))}function Ki(e,t,n,r=new Map){let i=K(Dt(t),n,`main`,1),a=Fi(i,r)??i[0];if(a)return Gi(e,a,r)}function qi(){let e=Y();return m(()=>(e.value?.allNodes??[]).filter(e=>ti(e.type)).map(e=>({name:e.name,type:e.type})))}var Ji=[In,_n];function Yi(){let e=ae(),t=Y(),n=st(),{runEntireWorkflow:r}=qt({router:e}),i=m(()=>(t.value?.allNodes??[]).filter(e=>e.disabled!==!0&&n.isTriggerNode(e.type)).map(e=>({name:e.name,type:e.type}))),a=m(()=>i.value.some(e=>Ji.includes(e.type)));function o(e){if(Ji.includes(e.type)){G.emit(`openChat`);return}r(`node`,e.name)}function s(){if(a.value){G.emit(`openChat`);return}r(`main`)}return{runWorkflow:s,runTriggerNode:o,triggerNodes:i,hasChatTrigger:a}}function Xi(){let e=Y(),t=Rn();return m(()=>{let n=e.value?.allNodes??[];for(let e of n){let n=$r[e.type];if(!n)continue;let r=Zi(e.parameters?.model);if(!r)continue;let i=Qi(e.credentials);if(i&&t.allCredentials.some(e=>e.id===i))return{provider:n,model:r,credentialId:i}}return null})}function Zi(e){if(typeof e==`string`)return e||void 0;if(e&&typeof e==`object`&&`value`in e){let t=e.value;if(typeof t==`string`)return t||void 0}}function Qi(e){if(e){for(let t of Object.values(e))if(t?.id)return t.id}}var $i=1e3;function ea(){let e=Pi(),t=Re(),n=Y(),r=Tn(),i=Kn(),a=qi(),o=ze(),s=J(),c=p(!1),l=null,u;async function d(){let e=n.value?.workflowId;if(l&&u===e){await l;return}u=e,l=f().finally(()=>{u===e&&(l=null,u=void 0)}),await l}async function f(){let e=n.value,t=e?.workflowId,a=e?.homeProject?.id;if(!t||!a||r.isNewWorkflow)return;let l=()=>n.value?.workflowId!==t;c.value=!0;try{let n=await Wr(i.restApiContext,t);if(l())return;let r=ei(e.name),o=n.find(e=>e.name===r)??n[n.length-1];if(!o)return;if(h(o),o.datasetSource===`data_table`)try{let e=await jt(i.restApiContext,o.datasetRef.dataTableId,a,{take:$i});if(l())return;g(e.data)}catch(e){console.warn(`[evaluations wizard] failed to hydrate dataset rows`,e)}if(l())return;await m(t,l)}catch(e){l()||o.showError(e,s.baseText(`evaluations.wizardSidepanel.hydrate.error`))}finally{c.value=!1}}async function m(n,r){if(!(e.activeStep!==0||e.activeRunId))try{if(await t.fetchTestRuns(n),r())return;let i=[...t.testRunsByWorkflowId[n]??[]].sort((e,t)=>new Date(e.createdAt).getTime()-new Date(t.createdAt).getTime()),a=i[i.length-1];if(!a)return;e.setActiveRunId(a.id),e.setStep(3)}catch(e){console.warn(`[evaluations wizard] failed to restore last run`,e)}}function h(t){let n=[],r={},i=[];for(let e of t.metrics){let t=na(e);if(t){n.push(t.key),t.judge&&(r[t.key]=t.judge);continue}let a=ra(e);a&&i.push(a)}e.selectedMetricKeys=n,e.judgeSelectionByMetric=r,e.customChecks=[];for(let t of i)e.addCustomCheck(t);new Set(a.value.map(e=>e.name)).has(t.endNodeName)?(e.aiNodeName=t.endNodeName,e.isSliceMode=!1,e.startNodeName=``,e.endNodeName=``):(e.aiNodeName=``,e.isSliceMode=!0,e.startNodeName=t.startNodeName,e.endNodeName=t.endNodeName)}function g(t){let n=t.map(e=>ta(e));e.datasetExpectedByRow=n.map(e=>e.expected),e.datasetInputsByRow=n.map(e=>e.inputs),e.datasetNamesByRow=n.map(e=>e.name);let r=n[0];r&&(e.inputs=r.inputs,e.expectedValues=r.expected)}return{hydrate:d,isHydrating:c}}function ta(e){let t={},n={},r=``,i=new Set(Object.values(ii).map(e=>e.name));for(let[a,o]of Object.entries(e)){if(a===`id`||a===`createdAt`||a===`updatedAt`)continue;let e=wt(o);a===`caseName`?r=e:i.has(a)?n[a]=e:t[a]=e}return{inputs:t,expected:n,name:r}}function na(e){if(e.type===`llm_judge`){let t=e.config.preset;if(t!==`correctness`&&t!==`helpfulness`)return;let n=$r[e.config.provider];return n?{key:t,judge:{provider:n,credentialId:e.config.credentialId,model:e.config.model}}:{key:t}}if(e.type===`string_similarity`)return{key:`stringSimilarity`};if(e.type===`categorization`)return{key:`categorization`};if(e.type===`tools_used`)return{key:`toolsUsed`}}function ra(e){if(e.type===`expression`)return{name:e.name,expression:e.config.expression}}function ia(e){return e.mode!==`evaluation`&&typeof e.id==`string`}var aa=20;function oa(){let e=Bn(),t=Y();async function n(n){let r=t.value?.workflowId;if(!r)return;let i,a=0;for(let t=0;t<aa;t++){let t=await e.fetchExecutionsPage({status:[`success`],workflowId:r},i),o=t.results;if(o.length===0)return;a+=o.length;let s=n(o.filter(ia));if(s!==void 0)return s;if(!t.count||a>=t.count||!t.nextCursor)return;i=t.nextCursor}}async function r(e){let t=[];return await n(n=>(t.push(...n),e!==void 0&&t.length>=e?!0:void 0)),e===void 0?t:t.slice(0,e)}async function i(){let t=await n(e=>e[0]?.id);return t?await e.fetchExecution(t)??null:null}return{fetchUserExecutionCandidates:r,fetchLatestUserExecution:i}}function sa(){let e=Pi(),t=Bn(),n=Y(),r=dt(),{fetchLatestUserExecution:i}=oa();function a(t){e.inputs={},e.setPrefillInputsFromExecution(!0),e.setSeedExecution(t);let i=e.answerNodeName,a=t.data?.resultData?.runData,o=i&&a?De(Gi(a,i)):``;e.expectedValues=o?{expectedAnswer:o}:{},e.openDetail(null),r.track(`User created evaluation test case`,{workflow_id:n.value?.workflowId??null,source:`execution`,execution_id:t.id??null})}async function o(e){let n=await t.fetchExecution(e);return n?(a(n),!0):!1}async function s(){e.inputs={},e.expectedValues={},e.setPrefillInputsFromExecution(!1),e.setSeedExecution(await c()),e.openDetail(null),r.track(`User created evaluation test case`,{workflow_id:n.value?.workflowId??null,source:`manual`})}async function c(){try{return await i()}catch{return null}}return{createFromExecution:a,createFromExecutionId:o,createManualCase:s}}var ca=[`data-test-id`,`aria-expanded`],la=[`data-test-id`],ua=W(x({__name:`ExecutionRow`,props:{execution:{},alt:{type:Boolean}},emits:[`create`],setup(t,{emit:i}){let a=t,o=i,c=J(),u=Y(),d=st(),h=Bn(),_=Pi(),v=p(!1),y=p(!1),b=p(null),x=m(()=>a.execution.mode===`manual`),C=m(()=>{let e=a.execution.startedAt;return e?ct(e,{withSeconds:!0}):a.execution.id});async function w(){if(v.value=!v.value,v.value&&!b.value&&!y.value){y.value=!0;try{b.value=await h.fetchExecution(a.execution.id)??null}catch(e){console.warn(`[ExecutionRow] failed to load execution`,e)}finally{y.value=!1}}}let T=m(()=>{let e=b.value?.data?.resultData?.runData,t=_.aiNodeName;if(!e||!t)return{};let n=u.value?.allNodes??[],r=u.value?.connectionsBySourceNode??{},i=n.some(e=>e.name===t&&d.isTriggerNode(e.type)),a=Ui(n);return{input:i?Gi(e,t,a):Ki(e,r,t,a),output:Gi(e,t)}});function D(e){return e?Object.entries(e).map(([e,t])=>({name:e,value:wt(t)})):[]}let k=m(()=>D(T.value.input)),A=m(()=>D(T.value.output));return(i,u)=>(E(),f(`div`,{class:H([i.$style.row,a.alt?i.$style.alt:null])},[g(`div`,{class:H(i.$style.header)},[g(`button`,{type:`button`,class:H(i.$style.chevron),"data-test-id":`tests-execution-toggle-${t.execution.id}`,"aria-expanded":v.value,onClick:w},[S(r(Z),{icon:v.value?`chevron-down`:`chevron-right`,size:`small`,color:`text-base`},null,8,[`icon`])],10,ca),S(r(Q),{size:`small`,color:`text-dark`,class:H(i.$style.date)},{default:O(()=>[n(N(C.value),1)]),_:1},8,[`class`]),x.value?(E(),s(r(Z),{key:0,icon:`flask-conical`,size:`small`,color:`text-light`,title:r(c).baseText(`evaluations.tests.executions.manualBadge`),"data-test-id":`tests-execution-manual-${t.execution.id}`},null,8,[`title`,`data-test-id`])):l(``,!0),g(`span`,{class:H(i.$style.spacer)},null,2),S(r(Hr),{size:`mini`,class:H([i.$style.createButton,v.value?i.$style.createButtonVisible:null]),"data-test-id":`tests-execution-create-${t.execution.id}`,onClick:u[0]||=e=>o(`create`)},{default:O(()=>[n(N(r(c).baseText(`evaluations.tests.executions.createCase`)),1)]),_:1},8,[`class`,`data-test-id`])],2),v.value?(E(),f(`div`,{key:0,class:H(i.$style.detail),"data-test-id":`tests-execution-detail-${t.execution.id}`},[y.value?(E(),f(`div`,{key:0,class:H(i.$style.loading)},[S(r(Z),{icon:`spinner`,size:`small`,spin:!0})],2)):(E(),f(e,{key:1},[k.value.length>0?(E(),f(`div`,{key:0,class:H(i.$style.group)},[S(r(Q),{size:`xsmall`,bold:``,color:`text-light`,class:H(i.$style.groupLabel)},{default:O(()=>[n(N(r(c).baseText(`evaluations.tests.executions.input`)),1)]),_:1},8,[`class`]),(E(!0),f(e,null,V(k.value,e=>(E(),f(`div`,{key:`in-${e.name}`,class:H(i.$style.field)},[S(r(Q),{size:`xsmall`,color:`text-light`},{default:O(()=>[n(N(e.name),1)]),_:2},1024),S(r(Q),{size:`xsmall`,color:`text-dark`,class:H(i.$style.value)},{default:O(()=>[n(N(e.value),1)]),_:2},1032,[`class`])],2))),128))],2)):l(``,!0),A.value.length>0?(E(),f(`div`,{key:1,class:H(i.$style.group)},[S(r(Q),{size:`xsmall`,bold:``,color:`text-light`,class:H(i.$style.groupLabel)},{default:O(()=>[n(N(r(c).baseText(`evaluations.tests.executions.output`)),1)]),_:1},8,[`class`]),(E(!0),f(e,null,V(A.value,e=>(E(),f(`div`,{key:`out-${e.name}`,class:H(i.$style.field)},[S(r(Q),{size:`xsmall`,color:`text-light`},{default:O(()=>[n(N(e.name),1)]),_:2},1024),S(r(Q),{size:`xsmall`,color:`text-dark`,class:H(i.$style.value)},{default:O(()=>[n(N(e.value),1)]),_:2},1032,[`class`])],2))),128))],2)):l(``,!0)],64))],10,la)):l(``,!0)],2))}}),[[`__cssModules`,{$style:{row:`_row_844tx_1`,alt:`_alt_844tx_4`,header:`_header_844tx_8`,createButton:`_createButton_844tx_15`,chevron:`_chevron_844tx_19`,date:`_date_844tx_36`,spacer:`_spacer_844tx_40`,createButtonVisible:`_createButtonVisible_844tx_50`,detail:`_detail_844tx_54`,loading:`_loading_844tx_61`,group:`_group_844tx_67`,groupLabel:`_groupLabel_844tx_73`,field:`_field_844tx_77`,value:`_value_844tx_83`}}]]),da={key:0,"data-test-id":`tests-list-executions`},fa=20,pa=W(x({__name:`TestCaseList`,setup(t){let i=J(),a=Pi(),o=ze(),{createFromExecutionId:c,createManualCase:l}=sa(),{fetchUserExecutionCandidates:u}=oa(),d=p([]);async function m(){try{d.value=await u(fa)}catch(e){console.warn(`[TestCaseList] failed to load execution candidates`,e)}}re(()=>{m()});async function h(e){try{await c(e.id)}catch(e){o.showError(e,i.baseText(`evaluations.tests.seedFromExecution.error`))}}async function _(){try{await l()}catch(e){o.showError(e,i.baseText(`evaluations.tests.seedFromExecution.error`))}}return(t,o)=>(E(),f(`div`,{class:H(t.$style.container),"data-test-id":`tests-list`},[g(`div`,{class:H(t.$style.breadcrumb)},[g(`button`,{type:`button`,class:H(t.$style.breadcrumbRoot),"data-test-id":`tests-list-breadcrumb-root`,onClick:o[0]||=e=>r(a).openList()},[S(r(Q),{size:`small`,color:`text-base`},{default:O(()=>[n(N(r(i).baseText(`setupPanel.tabs.evaluations`)),1)]),_:1})],2),S(r(Q),{size:`small`,color:`text-light`},{default:O(()=>[...o[1]||=[n(`/`,-1)]]),_:1}),S(r(Q),{size:`small`,color:`text-dark`,bold:``},{default:O(()=>[n(N(r(i).baseText(`evaluations.tests.newCase.title`)),1)]),_:1})],2),g(`div`,{class:H(t.$style.controls)},[S(r(Q),{size:`small`,color:`text-dark`},{default:O(()=>[n(N(r(i).baseText(`evaluations.tests.chooseExecution`)),1)]),_:1})],2),d.value.length>0?(E(),f(`div`,da,[(E(!0),f(e,null,V(d.value,(e,t)=>(E(),s(ua,{key:e.id,execution:e,alt:t%2==0,onCreate:t=>h(e)},null,8,[`execution`,`alt`,`onCreate`]))),128))])):(E(),f(`div`,{key:1,class:H(t.$style.empty)},[S(r(Q),{size:`small`,color:`text-light`},{default:O(()=>[n(N(r(i).baseText(`evaluations.tests.executions.empty`)),1)]),_:1})],2)),g(`div`,{class:H(t.$style.manual)},[S(r(Q),{size:`small`,color:`text-light`},{default:O(()=>[n(N(r(i).baseText(`evaluations.tests.createManually.hint`)),1)]),_:1}),S(r(Hr),{variant:`outline`,size:`xsmall`,"data-test-id":`tests-list-create-manual`,onClick:_},{default:O(()=>[n(N(r(i).baseText(`evaluations.tests.createManually`)),1)]),_:1})],2)],2))}}),[[`__cssModules`,{$style:{container:`_container_1qscc_1`,breadcrumb:`_breadcrumb_1qscc_7`,breadcrumbRoot:`_breadcrumbRoot_1qscc_14`,controls:`_controls_1qscc_24`,empty:`_empty_1qscc_31`,manual:`_manual_1qscc_36`}}]]),ma={};for(let[e,t]of Object.entries($r))ma[t]=e;function ha(e){let t=[];for(let n of e.selectedMetrics){let r=ci.find(e=>e.key===n);if(!r)continue;let i=_a(n,r.key,e);if(i.kind===`err`)return{ok:!1,reason:i.reason};t.push(i.metric)}for(let n of e.customChecks){let e=va(n);if(e.kind===`err`)return{ok:!1,reason:e.reason};t.push(e.metric)}return t.length===0?{ok:!1,reason:`No metrics selected`}:{ok:!0,dto:{name:ei(e.workflowName),startNodeName:e.startNodeName,endNodeName:e.endNodeName,metrics:t,datasetSource:`data_table`,datasetRef:{dataTableId:e.dataTableId}}}}function ga(e){return e.replace(/\\/g,`\\\\`).replace(/'/g,`\\'`)}function _a(e,t,n){let r=ue(),i=ga(n.upstreamNodeName),a=ga(n.endNodeName),o=e=>`={{ $('${i}').first().json[${JSON.stringify(e)}] }}`,s=`={{ JSON.stringify($('${a}').first().json) }}`,c=`={{ (() => { const j = $('${a}').first().json; if (j === null || j === undefined) return ''; if (typeof j !== 'object') return String(j); const p = j.output ?? j.text ?? j.response; if (p !== undefined && p !== null) return typeof p === 'object' ? JSON.stringify(p) : String(p); const ks = Object.keys(j); if (ks.length === 1) { const o = j[ks[0]]; return typeof o === 'object' && o !== null ? JSON.stringify(o) : String(o); } return JSON.stringify(j); })() }}`;if(ni.has(e)){let i=n.judgeSelectionByMetric[e];if(!i)return{kind:`err`,reason:`Missing model selection for ${t}`};let a=ma[i.provider];if(!a)return{kind:`err`,reason:`Unsupported provider ${i.provider}`};if(e===`correctness`)return{kind:`ok`,metric:{id:r,name:t,type:`llm_judge`,config:{preset:`correctness`,provider:a,credentialId:i.credentialId,model:i.model,outputType:`numeric`,inputs:{actualAnswer:s,expectedAnswer:o(`expectedAnswer`)}}}};if(e===`helpfulness`){let e=n.inputFieldNames[0];return e?{kind:`ok`,metric:{id:r,name:t,type:`llm_judge`,config:{preset:`helpfulness`,provider:a,credentialId:i.credentialId,model:i.model,outputType:`numeric`,inputs:{actualAnswer:s,userQuery:o(e)}}}}:{kind:`err`,reason:`Helpfulness needs at least one input column from the workflow execution to use as the user query`}}}return e===`stringSimilarity`?{kind:`ok`,metric:{id:r,name:t,type:`string_similarity`,config:{inputs:{actualAnswer:c,expectedAnswer:o(`expectedAnswer`)}}}}:e===`categorization`?{kind:`ok`,metric:{id:r,name:t,type:`categorization`,config:{inputs:{actualAnswer:c,expectedAnswer:o(`expectedAnswer`)}}}}:e===`toolsUsed`?{kind:`ok`,metric:{id:r,name:t,type:`tools_used`,config:{inputs:{expectedTools:o(`expectedTools`),intermediateSteps:`={{ $('${a}').first().json.intermediateSteps }}`}}}}:{kind:`err`,reason:`Unsupported metric ${e}`}}function va(e){return{kind:`ok`,metric:{id:ue(),name:e.name,type:`expression`,config:{expression:ya(e.expression),outputType:`numeric`}}}}function ya(e){let t=e.trim();return t.length===0||t.startsWith(`=`)?t:t.startsWith(`{{`)?`=${t}`:`={{ ${t} }}`}function ba(){let e=Pi(),t=Y(),n=st(),r=Kn(),i=ze(),a=J();async function o(e,t){let n=(await Wr(r.restApiContext,e)).find(e=>e.name===t.name);if(!n)return{created:!0,id:(await Ke(r.restApiContext,e,t)).id};let i=s(n);return{created:!1,id:(await ye(r.restApiContext,e,n.id,t)).id,priorPayload:i}}function s(e){let t={name:e.name,startNodeName:e.startNodeName,endNodeName:e.endNodeName,metrics:e.metrics};return e.datasetSource===`data_table`?{...t,datasetSource:`data_table`,datasetRef:e.datasetRef}:{...t,datasetSource:`google_sheets`,datasetRef:e.datasetRef}}async function c(e,t,n){let i=[],a=0;for(let n=0;n<50;n++){let n=await Ct(r.restApiContext,t,{skip:a,take:100},{name:e,projectId:t});for(let e of n.data)i.push(e);if(n.data.length<100||a+100>=n.count)break;a+=100}let o=i.find(t=>t.name===e);if(o){let e=new Set(o.columns.map(e=>e.name)),i=n.filter(t=>!e.has(t.name)),a=[];for(let e of i){let n=await vt(r.restApiContext,o.id,t,e);a.push(n.id)}return{id:o.id,created:!1,addedColumnIds:a}}return{id:(await Gr(r.restApiContext,e,t,n)).id,created:!0,addedColumnIds:[]}}async function l(e,t,n){let i=(e,t)=>{console.error(`[evaluations] rollback ${e} failed`,t)};if(n.createdConfigId)try{await _t(r.restApiContext,t,n.createdConfigId)}catch(e){i(`delete config`,e)}else if(n.priorConfigSnapshot)try{await ye(r.restApiContext,t,n.priorConfigSnapshot.id,n.priorConfigSnapshot.payload)}catch(e){i(`restore prior config`,e)}let a=!1;if(n.createdTableId)try{await be(r.restApiContext,n.createdTableId,e),a=!0}catch(e){i(`delete data table`,e)}if(!a&&n.rowMutation){let t=n.rowMutation;if(t.kind===`insert`&&t.rowId!==void 0)try{await Le(r.restApiContext,t.tableId,[t.rowId],e)}catch(e){i(`delete data table row`,e)}else if(t.kind===`update`)try{await We(r.restApiContext,t.tableId,t.rowId,t.priorData,e)}catch(e){i(`restore prior data table row`,e)}}if(!a&&n.addedColumns)for(let t of n.addedColumns.columnIds)try{await Ot(r.restApiContext,n.addedColumns.tableId,e,t)}catch(e){i(`delete added data table column`,e)}}function u(){let r=t.value,i=r?.connectionsBySourceNode??{},a=r?.allNodes??[],o=Dt(i),s=new Set(a.filter(e=>e.type===xt).map(e=>e.name));if(!e.isSliceMode){let t=e.aiNodeName;if(!t)return{ok:!1,reason:`Pick an AI node to evaluate`};let r=new Set(a.filter(e=>n.isTriggerNode(e.type)).map(e=>e.name));if(r.size===0)return{ok:!1,reason:`Workflow has no trigger`};let i=[t,...K(o,t,`main`)],c,l;for(let e of i){if(r.has(e))continue;let t=Fi(K(o,e,`main`,1),s);if(t&&r.has(t)){c=e,l=t;break}}return!c||!l?{ok:!1,reason:`Couldn't trace AI node "${t}" back to a trigger`}:{ok:!0,upstreamNodeName:l,startNodeName:c,endNodeName:t}}let c=e.startNodeName,l=e.endNodeName;if(!c||!l)return{ok:!1,reason:`Pick a start and end node for the slice`};let u=K(o,c,`main`,1),d=Fi(u,s);return d?{ok:!0,upstreamNodeName:d,startNodeName:c,endNodeName:l}:{ok:!1,reason:`Start node "${c}" must have exactly one upstream node (found ${u.filter(e=>!s.has(e)).length||u.length})`}}function d(e){i.showError(e,a.baseText(`evaluations.tests.persistError`))}return{ensureConfig:o,ensureDataTable:c,rollback:l,resolveSlice:u,showPersistError:d}}function xa(e){if(typeof e==`number`)return e;if(typeof e==`string`&&/^\d+$/.test(e))return Number(e)}function Sa(e){let t=new Set,n=[];for(let r of e)t.has(r)||(t.add(r),n.push({name:r,type:`string`}));return n}function Ca(e){let t={};for(let[n,r]of Object.entries(e))n===`id`||n===`createdAt`||n===`updatedAt`||(t[n]=r);return t}var wa=Promise.resolve();function Ta(){let e=Pi(),t=Y(),n=Kn(),r=ze(),i=J(),a=dt(),o=Ii(),s=Re(),{ensureConfig:c,ensureDataTable:l,rollback:u,resolveSlice:d,showPersistError:f}=ba(),m=p(!1),h=0;async function g(e){h+=1,m.value=!0;let t=wa.then(e),n=t.then(()=>void 0,()=>void 0);return wa=n,n.then(()=>{--h,h===0&&(m.value=!1)}),await t}async function _(){let r=t.value,i=r?.homeProject?.id,a=r?.workflowId;if(!i||!a)return{ok:!1,error:Error(`Missing project or workflow context`)};let s=d();if(!s.ok)return{ok:!1,error:Error(s.reason)};let f=o.value.fieldNames,p=li(e.selectedMetricKeys),m=Sa([...f,...p.map(e=>e.name),ai]),h=ha({workflowName:r.name??`workflow`,upstreamNodeName:s.upstreamNodeName,startNodeName:s.startNodeName,endNodeName:s.endNodeName,inputFieldNames:f,selectedMetrics:e.selectedMetricKeys,judgeSelectionByMetric:e.judgeSelectionByMetric,customChecks:e.customChecks,dataTableId:`__placeholder__`});if(!h.ok)return{ok:!1,error:Error(h.reason)};let g=ei(r.name),_=g,v,y,b,x,S,C=e.activeRowIndex===null;try{let t=await l(g,i,m);t.created?v=t.id:y={tableId:t.id,columnIds:t.addedColumnIds};let o={};for(let t of f)o[t]=e.inputs[t]??``;for(let t of p)o[t.name]=e.expectedValues[t.name]??``;o[ai]=e.caseName??``;let u;if(C){let e=(await jt(n.restApiContext,t.id,i,{take:1})).count,r=xa((await Ne(n.restApiContext,t.id,o,i))[0]?.id);b={kind:`insert`,tableId:t.id,rowId:r},u=e}else{let r=e.activeRowIndex;if(r===null)throw Error(`Cannot resolve active row index for edit`);let a=await jt(n.restApiContext,t.id,i,{skip:r,take:1}),s=e.activeRowId??xa(a.data[0]?.id)??null;if(s===null)throw Error(`Could not resolve row id for index ${r}`);let c=Ca(a.data[0]??{});b={kind:`update`,tableId:t.id,rowId:s,priorData:c},await We(n.restApiContext,t.id,s,o,i),u=r}let d=ha({workflowName:r.name??`workflow`,upstreamNodeName:s.upstreamNodeName,startNodeName:s.startNodeName,endNodeName:s.endNodeName,inputFieldNames:f,selectedMetrics:e.selectedMetricKeys,judgeSelectionByMetric:e.judgeSelectionByMetric,customChecks:e.customChecks,dataTableId:t.id});if(!d.ok)throw Error(d.reason);let h=await c(a,{...d.dto,name:_});return h.created?x=h.id:S={id:h.id,payload:h.priorPayload},b?.kind===`insert`&&e.setActiveRow(u,b.rowId??null),{ok:!0,configId:h.id,resolvedIndex:u,isNewCase:C}}catch(e){return await u(i,a,{createdTableId:v,addedColumns:y,rowMutation:b,createdConfigId:x,priorConfigSnapshot:S}),{ok:!1,error:e}}}async function v(e){let t=await _();return t.ok?!0:(e?.silent||f(t.error),!1)}async function y(n=`initial`){let o=await _();if(!o.ok)return f(o.error),!1;let c=t.value?.workflowId;if(!c)return!1;let{configId:l,resolvedIndex:u,isNewCase:d}=o;try{e.setActiveRunId(null);let t=await s.startTestRun(c,{evaluationConfigId:l,compileFromConfig:!0,rowIndices:[u]});return e.setActiveRunId(t?.testRunId??null),a.track(`User ran evaluation`,{workflow_id:c,run_id:t?.testRunId??null,row_index:u,is_new_case:d,trigger:n,metric_count:e.selectedMetricKeys.length,custom_check_count:e.customChecks.length,slice_mode:e.isSliceMode}),await s.fetchTestRuns(c),!0}catch(e){return r.showError(e,i.baseText(`evaluations.tests.dispatchError`)),!1}}async function b(n){let r=t.value,i=r?.homeProject?.id,a=r?.workflowId;if(!i||!a)return null;let s=d();if(!s.ok)return n?.silent||f(Error(s.reason)),null;let u=o.value.fieldNames,p=li(e.selectedMetricKeys),m=Sa([...u,...p.map(e=>e.name),ai]),h=ei(r.name);try{let t=await l(h,i,m),o=ha({workflowName:r.name??`workflow`,upstreamNodeName:s.upstreamNodeName,startNodeName:s.startNodeName,endNodeName:s.endNodeName,inputFieldNames:u,selectedMetrics:e.selectedMetricKeys,judgeSelectionByMetric:e.judgeSelectionByMetric,customChecks:e.customChecks,dataTableId:t.id});return o.ok?(await c(a,{...o.dto,name:h})).id:(n?.silent||f(Error(o.reason)),null)}catch(e){return n?.silent?console.warn(`[evaluations] silent saveConfig failed`,e):f(e),null}}async function x(){let o=t.value,c=o?.workflowId;if(!c)return f(Error(`Missing workflow context`)),!1;await b({silent:!0});let l;try{let e=await Wr(n.restApiContext,c),t=ei(o.name),a=e.find(e=>e.name===t)??e[e.length-1];if(!a)return r.showError(Error(`No evaluation config found. Run a single test case first.`),i.baseText(`evaluations.tests.persistError`)),!1;l=a.id}catch(e){return f(e),!1}try{e.setActiveRunId(null);let t=await s.startTestRun(c,{evaluationConfigId:l,compileFromConfig:!0});return e.setActiveRunId(t?.testRunId??null),a.track(`User ran evaluation`,{workflow_id:c,run_id:t?.testRunId??null,trigger:`run_all`}),await s.fetchTestRuns(c),!0}catch(e){return r.showError(e,i.baseText(`evaluations.tests.dispatchError`)),!1}}async function S(){let r=t.value,i=r?.homeProject?.id,o=r?.workflowId,s=e.activeRowIndex;if(!i||!o||s===null)return!1;try{let t=await Wr(n.restApiContext,o),c=ei(r.name),l=t.find(e=>e.name===c)??t[t.length-1];if(!l||l.datasetSource!==`data_table`)throw Error(`No data table found for this evaluation`);let u=l.datasetRef.dataTableId,d=e.activeRowId;if(d===null&&(d=xa((await jt(n.restApiContext,u,i,{skip:s,take:1})).data[0]?.id)??null),d===null)throw Error(`Could not resolve row id for index ${s}`);return await Le(n.restApiContext,u,[d],i),a.track(`User deleted evaluation test case`,{workflow_id:o,row_index:s}),!0}catch(e){return f(e),!1}}async function C(e){return await g(async()=>await v(e))}async function w(e=`initial`){return await g(async()=>await y(e))}async function T(e){return await g(async()=>await b(e))}async function E(){return await g(async()=>await x())}async function D(){return await g(async()=>await S())}return{persistAndRunCase:w,saveCase:C,runAll:E,saveConfig:T,deleteCase:D,isPersisting:m}}var Ea=[`data-test-id`],Da=[`data-test-id`],Oa=[`data-test-id`],ka=[`data-test-id`],Aa=W(x({__name:`TestCaseRunResult`,props:{index:{},runId:{default:null},expanded:{type:Boolean,default:!1},separated:{type:Boolean,default:!1}},setup(t){let i=[`success`,`error`,`warning`,`cancelled`],a={promptTokens:`evaluations.tests.results.metric.promptTokens`,completionTokens:`evaluations.tests.results.metric.completionTokens`,totalTokens:`evaluations.tests.results.metric.totalTokens`,executionTime:`evaluations.tests.results.metric.executionTime`},o=t,c=J(),u=Pi(),d=Re(),h=Bn(),_=Y(),v=m(()=>{let e=_.value?.workflowId;return e?[...d.testRunsByWorkflowId[e]??[]].sort((e,t)=>new Date(e.createdAt).getTime()-new Date(t.createdAt).getTime()):[]}),y=m(()=>o.runId===null?v.value[v.value.length-1]:v.value.find(e=>e.id===o.runId)),b=m(()=>{let e=y.value?.id;return e?v.value.findIndex(t=>t.id===e)+1:0}),x=m(()=>{let e=y.value;return e?ct(e.runAt??e.createdAt):``}),C=m(()=>{let e=y.value?.id;if(e)return Object.values(d.testCaseExecutionsById??{}).find(t=>t.testRunId===e&&(t.runIndex??0)===o.index)}),w=m(()=>{let e=y.value;if(!e||![`new`,`running`].includes(e.status))return!1;let t=C.value?.status;return!t||!i.includes(t)}),T=m(()=>!!(C.value&&i.includes(C.value.status))&&!w.value),D=m(()=>C.value?.status===`success`),k=m(()=>T.value&&!D.value),A=m(()=>{let e=C.value?.metrics;return e?xe(e).map(t=>{let n=e[t],r=ci.find(e=>e.key===t),i=r?c.baseText(si(r)):t,a=qe(t);return a===`aiBased`?{key:t,label:i,text:Qe(n,{category:a}),passed:n>=3}:{key:t,label:i,text:An(n,{category:a}),passed:Fr(n)}}):[]}),j=m(()=>qr(C.value?.metrics).map(({key:e,value:t})=>({key:e,label:a[e]?c.baseText(a[e]):e,text:e===`executionTime`?Nn(t):ke(t,{withUnit:!1})}))),M=m(()=>u.answerNodeName),P=p(null);async function F(e){try{P.value=await h.fetchExecution(e)??null}catch(e){console.warn(`[TestCaseRunResult] failed to load case execution`,e)}}U([()=>o.expanded,k,()=>C.value?.executionId],([e,t,n])=>{!n||!e&&!t||P.value?.id!==n&&F(n)},{immediate:!0});let I=m(()=>Te(P.value,M.value,C.value?.outputs)),L=m(()=>{if(!k.value)return``;let e=P.value?.data?.resultData?.error?.message;if(e)return e;let t=ri(C.value?.errorCode);return t&&c.exists(t)?c.baseText(t,{interpolate:{link:``}}).trim():c.baseText(`evaluations.tests.results.runFailed`)});return(i,a)=>w.value?(E(),f(`div`,{key:0,class:H([i.$style.runSection,{[i.$style.separated]:t.separated}]),"data-test-id":`tests-result-running-${t.index}`},[g(`div`,{class:H(i.$style.runLine)},[S(r(Z),{icon:`spinner`,size:`small`,spin:!0,color:`text-light`}),S(r(Q),{size:`small`,color:`text-light`},{default:O(()=>[n(N(r(c).baseText(`evaluations.tests.results.running`)),1)]),_:1})],2)],10,Ea)):T.value?(E(),f(`div`,{key:1,class:H([i.$style.runSection,{[i.$style.separated]:t.separated}]),"data-test-id":`tests-result-result-${t.index}`},[g(`div`,{class:H(i.$style.runLine)},[S(r(Z),{icon:D.value?`check`:`x`,size:`small`,color:D.value?`success`:`danger`},null,8,[`icon`,`color`]),S(r(Q),{size:`small`,color:D.value?`success`:`danger`},{default:O(()=>[n(N(r(c).baseText(`evaluations.tests.results.runLabel`,{interpolate:{number:String(b.value),date:x.value}})),1)]),_:1},8,[`color`])],2),k.value&&L.value?(E(),s(r(Q),{key:0,size:`small`,color:`danger`,class:H(i.$style.failureReason),"data-test-id":`tests-result-error-${t.index}`},{default:O(()=>[n(N(L.value),1)]),_:1},8,[`class`,`data-test-id`])):l(``,!0),t.expanded?(E(),s(r(Q),{key:1,size:`small`,color:`text-light`},{default:O(()=>[n(N(r(c).baseText(`evaluations.tests.detail.output`)),1)]),_:1})):l(``,!0),g(`div`,{class:H(i.$style.badges)},[(E(!0),f(e,null,V(A.value,e=>(E(),f(`span`,{key:e.key,class:H([i.$style.badge,e.passed?i.$style.badgePass:i.$style.badgeFail]),"data-test-id":`tests-result-badge-${t.index}-${e.key}`},[n(N(e.label)+` `,1),g(`strong`,null,N(e.text),1)],10,Oa))),128))],2),t.expanded&&I.value?(E(),s(r(Q),{key:2,size:`small`,color:`text-dark`,class:H(i.$style.output)},{default:O(()=>[n(N(I.value),1)]),_:1},8,[`class`])):l(``,!0),t.expanded&&j.value.length>0?(E(),f(`div`,{key:3,class:H(i.$style.operational),"data-test-id":`tests-result-operational-${t.index}`},[(E(!0),f(e,null,V(j.value,e=>(E(),s(r(Q),{key:e.key,size:`xsmall`,color:`text-light`},{default:O(()=>[n(N(e.label)+` `+N(e.text),1)]),_:2},1024))),128))],10,ka)):l(``,!0)],10,Da)):l(``,!0)}}),[[`__cssModules`,{$style:{runSection:`_runSection_1my91_1`,separated:`_separated_1my91_7`,runLine:`_runLine_1my91_13`,badges:`_badges_1my91_19`,badge:`_badge_1my91_19`,badgePass:`_badgePass_1my91_34`,badgeFail:`_badgeFail_1my91_39`,output:`_output_1my91_44`,failureReason:`_failureReason_1my91_49`,operational:`_operational_1my91_54`}}]]),ja=[`data-test-id`],Ma=[`data-test-id`],Na=[`data-test-id`,`onClick`],Pa=[`data-test-id`],Fa=W(x({__name:`TestCaseDetail`,setup(t){let i={correctness:`evaluations.tests.metric.correctness.sentence`,helpfulness:`evaluations.tests.metric.helpfulness.sentence`,stringSimilarity:`evaluations.tests.metric.stringSimilarity.sentence`,categorization:`evaluations.tests.metric.categorization.sentence`,toolsUsed:`evaluations.tests.metric.toolsUsed.sentence`},a=Pi(),o=Re(),c=Y(),u=J(),d=an(),{selectedMetricKeys:h,customChecks:_,activeRowIndex:v,activeRunId:y,expectedValues:b,inputs:x,aiNodeName:C,caseName:w}=F(a),{persistAndRunCase:T,saveCase:D,deleteCase:k,isPersisting:A}=Ta(),j=Ii(),M=p(!1),P=te(async()=>{M.value&&await D({silent:!0})&&(M.value=!1)},we(ht.API.AUTOSAVE));function I(e,t){a.setInputValue(e,t),M.value=!0,P()}function L(e,t){a.setExpectedValue(e,t),M.value=!0,P()}function R(e){a.setCaseName(e),M.value=!0,P()}let ee=m(()=>a.datasetInputsByRow.length>0||y.value!==null),z=m(()=>{let e=j.value.fieldNames[0];return(e?x.value[e]:``)||u.baseText(`evaluations.tests.newCase.title`)}),B=m(()=>[{id:`delete`,label:u.baseText(`evaluations.tests.detail.delete`),disabled:v.value===null}]);function ne(e){e===`delete`&&oe()}async function re(){await ie(),a.openList()}async function ie(){M.value&&(M.value=!1,await D({silent:!0}))}async function ae(){await ie(),a.openCreate()}async function oe(){await d.confirm(u.baseText(`evaluations.tests.detail.delete.confirm.message`),u.baseText(`evaluations.tests.detail.delete.confirm.title`),{confirmButtonText:u.baseText(`generic.delete`),cancelButtonText:u.baseText(`generic.cancel`)})===`confirm`&&(M.value=!1,await k()&&a.openList())}let se=m(()=>ci.filter(e=>h.value.includes(e.key)));function ce(e){return u.baseText(i[e])}function le(e){return ii[e]}let ue=m(()=>{let e=C.value;return e?K(Dt(c.value?.connectionsBySourceNode??{}),e,tr.AiTool,1):[]}),de=m(()=>new Set((b.value.expectedTools??``).split(`,`).map(e=>e.trim()).filter(Boolean)));function fe(e){let t=new Set(de.value);t.has(e)?t.delete(e):t.add(e),L(`expectedTools`,Array.from(t).join(`, `))}let pe=p(!0),me=p(!0),he=m(()=>y.value),ge=m(()=>{let e=he.value,t=v.value;return e===null||t===null?!1:Object.values(o.testCaseExecutionsById??{}).some(n=>n.testRunId===e&&(n.runIndex??0)===t)}),_e=m(()=>{let e=he.value;if(e===null)return!1;let t=o.testRunsById[e]?.status;return!!t&&![`new`,`running`].includes(t)}),ve=p(!1);U([ge,_e],([e,t])=>{(e||t)&&(ve.value=!1)});let ye=m(()=>v.value!==null&&(ge.value||ve.value)),be=m(()=>v.value);async function xe(){ve.value=!0,await T(y.value?`run_again`:`initial`)?(pe.value=!1,me.value=!0):ve.value=!1}return(t,i)=>(E(),f(`div`,{class:H(t.$style.detail)},[g(`header`,{class:H(t.$style.header)},[g(`div`,{class:H(t.$style.breadcrumb)},[g(`button`,{type:`button`,class:H(t.$style.breadcrumbRoot),"data-test-id":`tests-detail-breadcrumb-root`,onClick:re},[S(r(Q),{size:`small`,color:`text-base`},{default:O(()=>[n(N(r(u).baseText(`setupPanel.tabs.evaluations`)),1)]),_:1})],2),S(r(Q),{size:`small`,color:`text-light`},{default:O(()=>[...i[2]||=[n(`/`,-1)]]),_:1}),S(r(yn),{"model-value":r(w),placeholder:z.value,"max-width":`100%`,class:H(t.$style.caseName),"data-test-id":`tests-detail-name`,"onUpdate:modelValue":R},null,8,[`model-value`,`placeholder`,`class`])],2),S(r(ln),{items:B.value,"activator-icon":`ellipsis-vertical`,"activator-size":`small`,"data-test-id":`tests-detail-menu`,onSelect:ne},null,8,[`items`]),ee.value?(E(),s(r(Hr),{key:0,variant:`outline`,size:`xsmall`,"data-test-id":`tests-detail-create-case`,onClick:ae},{default:O(()=>[n(N(r(u).baseText(`evaluations.tests.results.createCase`)),1)]),_:1})):l(``,!0),S(r(Hr),{variant:`solid`,size:`xsmall`,loading:r(A),"data-test-id":`tests-detail-run`,onClick:xe},{default:O(()=>[n(N(r(u).baseText(`evaluations.tests.detail.run`)),1)]),_:1},8,[`loading`])],2),g(`div`,{class:H(t.$style.body)},[S(r(Ur),{modelValue:pe.value,"onUpdate:modelValue":i[0]||=e=>pe.value=e,title:r(u).baseText(`evaluations.tests.detail.config`)},{default:O(()=>[g(`div`,{class:H(t.$style.paneContent),"data-test-id":`tests-detail-config`},[g(`div`,{class:H(t.$style.block)},[g(`div`,{class:H(t.$style.sentence)},[S(r(Q),{size:`small`,color:`text-dark`},{default:O(()=>[n(N(r(u).baseText(`evaluations.tests.detail.when`)),1)]),_:1}),S(r(Q),{size:`small`,color:`text-dark`,bold:``,"data-test-id":`tests-detail-ai-node`},{default:O(()=>[n(N(r(C)),1)]),_:1}),S(r(Q),{size:`small`,color:`text-dark`},{default:O(()=>[n(N(r(u).baseText(`evaluations.tests.detail.receivesInput`)),1)]),_:1})],2),g(`div`,{class:H(t.$style.indented)},[(E(!0),f(e,null,V(r(j).fieldNames,e=>(E(),f(`div`,{key:`input-${e}`,class:H(t.$style.field),"data-test-id":`tests-detail-input-${e}`},[S(r(Q),{size:`small`,color:`text-dark`},{default:O(()=>[n(N(e),1)]),_:2},1024),S(r(Ut),{"model-value":r(x)[e]??``,type:`textarea`,rows:2,size:`small`,"onUpdate:modelValue":t=>I(e,t)},null,8,[`model-value`,`onUpdate:modelValue`])],10,ja))),128))],2)],2),g(`div`,{class:H(t.$style.block)},[S(r(Q),{size:`small`,color:`text-dark`,bold:``},{default:O(()=>[n(N(r(u).baseText(`evaluations.tests.detail.output`)),1)]),_:1}),g(`div`,{class:H(t.$style.indented)},[(E(!0),f(e,null,V(se.value,i=>(E(),f(`div`,{key:i.key,class:H(t.$style.metric),"data-test-id":`tests-detail-metric-${i.key}`},[S(r(Q),{size:`small`,color:`text-dark`},{default:O(()=>[n(N(ce(i.key)),1)]),_:2},1024),i.key===`toolsUsed`?(E(),f(`div`,{key:0,class:H(t.$style.tools)},[(E(!0),f(e,null,V(ue.value,e=>(E(),f(`button`,{key:e,type:`button`,class:H(t.$style.toolItem),"data-test-id":`tests-detail-tool-${e}`,onClick:t=>fe(e)},[g(`span`,{class:H([t.$style.box,de.value.has(e)?t.$style.boxChecked:null])},[de.value.has(e)?(E(),s(r(Z),{key:0,icon:`check`,size:`xsmall`})):l(``,!0)],2),S(r(Q),{size:`small`,color:`text-dark`},{default:O(()=>[n(N(e),1)]),_:2},1024)],10,Na))),128)),ue.value.length===0?(E(),s(r(Q),{key:0,size:`small`,color:`text-light`},{default:O(()=>[n(N(r(u).baseText(`evaluations.tests.detail.tools.empty`)),1)]),_:1})):l(``,!0)],2)):le(i.key)?(E(),s(r(Ut),{key:1,"model-value":r(b)[le(i.key).name]??``,type:`textarea`,rows:3,size:`small`,"data-test-id":`tests-detail-expected-${le(i.key).name}`,"onUpdate:modelValue":e=>L(le(i.key).name,e)},null,8,[`model-value`,`data-test-id`,`onUpdate:modelValue`])):l(``,!0)],10,Ma))),128)),(E(!0),f(e,null,V(r(_),e=>(E(),f(`div`,{key:e.id,class:H(t.$style.metric),"data-test-id":`tests-detail-custom-${e.id}`},[S(r(Q),{size:`small`,color:`text-dark`},{default:O(()=>[n(N(r(u).baseText(`evaluations.tests.metric.custom.sentence`)),1)]),_:1}),S(r(Q),{size:`small`,color:`text-dark`,class:H(t.$style.expression),"data-test-id":`tests-detail-custom-expression-${e.id}`},{default:O(()=>[n(N(e.expression),1)]),_:2},1032,[`class`,`data-test-id`])],10,Pa))),128))],2)],2)],2)]),_:1},8,[`modelValue`,`title`]),ye.value&&be.value!==null?(E(),s(r(Ur),{key:0,modelValue:me.value,"onUpdate:modelValue":i[1]||=e=>me.value=e,title:r(u).baseText(`evaluations.tests.detail.latestRun`)},{default:O(()=>[g(`div`,{class:H(t.$style.paneContent),"data-test-id":`tests-detail-results`},[S(Aa,{index:be.value,"run-id":he.value,expanded:me.value},null,8,[`index`,`run-id`,`expanded`])],2)]),_:1},8,[`modelValue`,`title`])):l(``,!0)],2)],2))}}),[[`__cssModules`,{$style:{detail:`_detail_1xzyz_1`,header:`_header_1xzyz_10`,breadcrumb:`_breadcrumb_1xzyz_19`,breadcrumbRoot:`_breadcrumbRoot_1xzyz_27`,caseName:`_caseName_1xzyz_37`,body:`_body_1xzyz_44`,paneContent:`_paneContent_1xzyz_53`,block:`_block_1xzyz_59`,sentence:`_sentence_1xzyz_65`,indented:`_indented_1xzyz_72`,field:`_field_1xzyz_79`,metric:`_metric_1xzyz_85`,expression:`_expression_1xzyz_91`,tools:`_tools_1xzyz_97`,toolItem:`_toolItem_1xzyz_103`,box:`_box_1xzyz_114`,boxChecked:`_boxChecked_1xzyz_126`}}]]),Ia=[`data-test-id`],La=W(x({__name:`SuiteConfig`,setup(t){let i=[`correctness`,`stringSimilarity`,`toolsUsed`],a=J(),o=Pi(),c=qi(),{saveConfig:l}=Ta(),{aiNodeName:u,selectedMetricKeys:d,customChecks:p,judgeSelectionByMetric:h}=F(o),_=m(()=>ci.filter(e=>d.value.includes(e.key))),v=m(()=>{let e=i.filter(e=>!d.value.includes(e)).map(e=>{let t=ci.find(t=>t.key===e);return{id:e,label:t?a.baseText(si(t)):e}});return e.push({id:`custom`,label:a.baseText(`evaluations.tests.detail.addMetric.custom`)}),e});function y(e){if(e===`custom`){o.addCustomCheck({name:`Custom ${p.value.length+1}`,expression:``});return}o.toggleMetric(e)}function b(e){d.value.includes(e)&&o.toggleMetric(e)}function x(e){o.setAiNodeName(e),o.exitSliceMode()}let C=te(()=>{l({silent:!0})},we(ht.API.AUTOSAVE));return U([u,d,p,h],()=>{C()},{deep:!0}),(t,i)=>(E(),f(`section`,{class:H(t.$style.config),"data-test-id":`tests-suite-config`},[g(`div`,{class:H(t.$style.sentence)},[S(r(Q),{size:`small`,color:`text-dark`},{default:O(()=>[n(N(r(a).baseText(`evaluations.tests.detail.when`)),1)]),_:1}),S(r(kn),{"model-value":r(u),size:`small`,filterable:``,placeholder:r(a).baseText(`evaluations.tests.chooseAiNode.placeholder`),class:H(t.$style.nodeSelect),"data-test-id":`tests-suite-config-ai-node-select`,"onUpdate:modelValue":x},{default:O(()=>[(E(!0),f(e,null,V(r(c),e=>(E(),s(r(at),{key:e.name,label:e.name,value:e.name},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`class`]),S(r(Q),{size:`small`,color:`text-dark`},{default:O(()=>[n(N(r(a).baseText(`evaluations.tests.suite.receivesInput`)),1)]),_:1})],2),g(`div`,{class:H(t.$style.checks)},[(E(!0),f(e,null,V(_.value,e=>(E(),s(r(Hr),{key:e.key,variant:`subtle`,size:`small`,icon:`x`,"aria-label":r(a).baseText(`evaluations.tests.detail.removeMetric`),"data-test-id":`tests-suite-config-metric-${e.key}`,onClick:t=>b(e.key)},{default:O(()=>[n(N(r(a).baseText(r(si)(e))),1)]),_:2},1032,[`aria-label`,`data-test-id`,`onClick`]))),128)),(E(!0),f(e,null,V(r(p),e=>(E(),f(`div`,{key:e.id,class:H(t.$style.customRow),"data-test-id":`tests-suite-config-custom-${e.id}`},[S(r(Ut),{"model-value":e.expression,type:`text`,size:`small`,class:H(t.$style.expressionInput),placeholder:r(a).baseText(`evaluations.tests.metric.custom.placeholder`),"onUpdate:modelValue":t=>r(o).updateCustomCheck(e.id,{expression:t})},null,8,[`model-value`,`class`,`placeholder`,`onUpdate:modelValue`]),S(r(Hr),{variant:`ghost`,size:`small`,"icon-only":``,icon:`x`,"aria-label":r(a).baseText(`evaluations.tests.detail.removeMetric`),"data-test-id":`tests-suite-config-custom-remove-${e.id}`,onClick:t=>r(o).removeCustomCheck(e.id)},null,8,[`aria-label`,`data-test-id`,`onClick`])],10,Ia))),128)),S(r(ln),{items:v.value,placement:`bottom-start`,"data-test-id":`tests-suite-config-add-metric`,onSelect:y},{activator:O(()=>[S(r(Hr),{variant:`ghost`,size:`small`,icon:`plus`},{default:O(()=>[n(N(r(a).baseText(`evaluations.tests.detail.addMetric`)),1)]),_:1})]),_:1},8,[`items`])],2)],2))}}),[[`__cssModules`,{$style:{config:`_config_1ja9c_1`,sentence:`_sentence_1ja9c_11`,nodeSelect:`_nodeSelect_1ja9c_18`,checks:`_checks_1ja9c_23`,customRow:`_customRow_1ja9c_30`,expressionInput:`_expressionInput_1ja9c_37`}}]]),Ra=[`data-test-id`],za=[`data-test-id`],Ba=[`aria-expanded`,`data-test-id`],Va=W(x({__name:`TestCaseResultCard`,props:{index:{}},setup(t){let i=t,a=J(),o=Pi(),s=p(!1),c=m(()=>o.datasetNamesByRow[i.index]||a.baseText(`evaluations.tests.list.caseLabel`,{interpolate:{index:i.index+1}})),u=m(()=>{let e=o.datasetInputsByRow[i.index]??{};return Object.entries(e).map(([e,t])=>({name:e,value:String(t)}))});function d(){s.value=!s.value}function h(){o.openDetail(i.index)}return(i,p)=>(E(),f(`div`,{class:H(i.$style.card),"data-test-id":`tests-result-card-${t.index}`},[g(`div`,{class:H(i.$style.header)},[g(`button`,{type:`button`,class:H(i.$style.title),"data-test-id":`tests-result-edit-${t.index}`,onClick:h},[S(r(Q),{size:`medium`,color:`text-dark`,bold:``},{default:O(()=>[n(N(c.value),1)]),_:1})],10,za),g(`button`,{type:`button`,class:H(i.$style.chevron),"aria-expanded":s.value,"data-test-id":`tests-result-toggle-${t.index}`,onClick:d},[S(r(Z),{icon:s.value?`chevron-up`:`chevron-down`,size:`small`,color:`text-base`},null,8,[`icon`])],10,Ba)],2),s.value?(E(),f(`div`,{key:0,class:H(i.$style.definition)},[g(`div`,{class:H(i.$style.sentence)},[S(r(Q),{size:`small`,color:`text-light`},{default:O(()=>[n(N(r(a).baseText(`evaluations.tests.detail.when`)),1)]),_:1}),S(r(Q),{size:`small`,color:`text-dark`,bold:``},{default:O(()=>[n(N(r(o).aiNodeName),1)]),_:1}),S(r(Q),{size:`small`,color:`text-light`},{default:O(()=>[n(N(r(a).baseText(`evaluations.tests.detail.receivesInput`)),1)]),_:1})],2),g(`div`,{class:H(i.$style.entries)},[(E(!0),f(e,null,V(u.value,e=>(E(),f(`p`,{key:e.name,class:H(i.$style.entry)},[S(r(Q),{size:`small`,color:`text-light`},{default:O(()=>[n(N(e.name),1)]),_:2},1024),S(r(Q),{size:`small`,color:`text-dark`},{default:O(()=>[n(N(e.value),1)]),_:2},1024)],2))),128))],2)],2)):l(``,!0),S(Aa,{index:t.index,expanded:s.value,separated:``},null,8,[`index`,`expanded`])],10,Ra))}}),[[`__cssModules`,{$style:{card:`_card_9n0ah_1`,header:`_header_9n0ah_11`,title:`_title_9n0ah_18`,chevron:`_chevron_9n0ah_31`,definition:`_definition_9n0ah_48`,sentence:`_sentence_9n0ah_54`,entries:`_entries_9n0ah_61`,entry:`_entry_9n0ah_68`}}]]),Ha=W(x({__name:`TestCaseResults`,setup(t){let i=J(),a=Pi(),o=Re(),c=Y(),l=ze(),{runAll:u,isPersisting:d}=Ta(),{hydrate:h}=ea(),{datasetInputsByRow:_}=F(a),v=m(()=>_.value.length>0);async function y(){let e=c.value?.workflowId;if(e)try{await o.fetchTestRuns(e);let t=[...o.testRunsByWorkflowId[e]??[]].sort((e,t)=>new Date(e.createdAt).getTime()-new Date(t.createdAt).getTime()),n=t[t.length-1];n&&![`new`,`running`].includes(n.status)&&await o.fetchTestCaseExecutions({workflowId:e,runId:n.id})}catch(e){console.warn(`[TestCaseResults] failed to load results`,e)}}re(async()=>{await h(),y()});let b=p(!1);async function x(){if(!b.value){b.value=!0;try{await u()?await y():l.showError(Error(`Run all failed`),i.baseText(`evaluations.tests.runAll.error`))}catch(e){l.showError(e,i.baseText(`evaluations.tests.runAll.error`))}finally{b.value=!1}}}return(t,o)=>(E(),f(`div`,{class:H(t.$style.container),"data-test-id":`tests-results`},[g(`header`,{class:H(t.$style.header)},[S(r(Q),{tag:`h2`,size:`small`,color:`text-dark`,bold:``,class:H(t.$style.title)},{default:O(()=>[n(N(r(i).baseText(`setupPanel.tabs.evaluations`)),1)]),_:1},8,[`class`]),g(`div`,{class:H(t.$style.actions)},[S(r(Hr),{variant:`outline`,size:`xsmall`,"data-test-id":`tests-results-create-case`,onClick:o[0]||=e=>r(a).openCreate()},{default:O(()=>[n(N(r(i).baseText(`evaluations.tests.results.createCase`)),1)]),_:1}),S(r(Hr),{variant:`solid`,size:`xsmall`,loading:b.value||r(d),disabled:!v.value,"data-test-id":`tests-results-run-all`,onClick:x},{default:O(()=>[n(N(r(i).baseText(`evaluations.tests.runAll`)),1)]),_:1},8,[`loading`,`disabled`])],2)],2),g(`div`,{class:H(t.$style.body)},[S(La),v.value?(E(),f(`div`,{key:0,class:H(t.$style.cards)},[(E(!0),f(e,null,V(r(_),(e,t)=>(E(),s(Va,{key:t,index:t},null,8,[`index`]))),128))],2)):(E(),f(`div`,{key:1,class:H(t.$style.empty)},[S(r(Q),{size:`small`,color:`text-light`},{default:O(()=>[n(N(r(i).baseText(`evaluations.tests.results.empty`)),1)]),_:1})],2))],2)],2))}}),[[`__cssModules`,{$style:{container:`_container_oyxbw_1`,header:`_header_oyxbw_8`,title:`_title_oyxbw_18`,actions:`_actions_oyxbw_22`,body:`_body_oyxbw_28`,cards:`_cards_oyxbw_37`,empty:`_empty_oyxbw_43`}}]]),Ua=`__EMPTY__`,Wa=W(x({__name:`TestsPanel`,setup(t){let i=Pi(),a=Re(),o=Y(),c=Tn(),l=yt(),u=kt(),{fetchLatestUserExecution:d}=oa(),h=J(),{viewMode:g,judgeSelectionByMetric:_}=F(i),v=qi(),y=Xi(),{runWorkflow:b,runTriggerNode:x,triggerNodes:C}=Yi(),w=m(()=>v.value.length>0),T=m(()=>!w.value),D=m(()=>C.value.length>1),k=m(()=>C.value.map(e=>({id:e.name,label:e.name})));function A(){let e=o.value?.workflowId;e&&(C.value.length===0?u.openNodeCreatorForTriggerNodes(e,hr.ADD_NODE_BUTTON):u.openNodeCreatorForRegularNodes(e,hr.ADD_NODE_BUTTON))}function j(e){let t=C.value.find(t=>t.name===e);t&&x(t)}U([()=>i.isOpen,y,_],([e,t,n])=>{if(!(!e||!t))for(let e of ni)n[e]||i.setJudgeSelection(e,t)},{immediate:!0});let P=p(!1),I=p(null),L=Ii({fallbackExecution:I});async function R(){try{await Promise.all([Promise.resolve(c.fetchLastSuccessfulExecution()),te()])}finally{P.value=!0}}U([()=>i.isOpen,v],([e,t])=>{if(!e||(R(),i.aiNodeName))return;let n=t[0];n&&i.setAiNodeName(n.name)},{immediate:!0});let ee=null;re(()=>{ee=l.addEventListener(e=>{if(e.type!==`executionFinished`)return;let t=o.value?.workflowId;!t||e.data.workflowId!==t||(R(),a.fetchTestRuns(t))})}),M(()=>{ee?.(),ee=null});async function te(){try{I.value=await d()}catch{I.value=null}}U(L,({values:e,fieldNames:t})=>{t.length!==0&&i.prefillInputsFromExecution&&i.seedInputs(e)},{immediate:!0});let z=m(()=>L.value.hasExecution),B=m(()=>{if(i.datasetInputsByRow.length>0||i.activeRunId!==null)return!0;let e=o.value?.workflowId;return!!(e&&(a.testRunsByWorkflowId[e]?.length??0)>0)}),ne=m(()=>P.value&&!z.value&&!B.value),ie=m(()=>!z.value&&!P.value&&!B.value),{hydrate:ae}=ea(),{createFromExecution:oe}=sa();return U(()=>[i.isOpen,o.value?.workflowId],async([e])=>{let t=o.value?.workflowId,n=i.lastWorkflowId;if(n&&n!==Ua&&t&&t!==n&&i.reset(),t&&i.setLastWorkflowId(t),!e||!t)return;await ae();let r=i.pendingSeedExecution;r&&(oe(r),i.setPendingSeedExecution(null))},{immediate:!0}),(t,i)=>(E(),f(`div`,{class:H(t.$style.panel),"data-test-id":`tests-panel`},[T.value?(E(),f(`div`,{key:0,class:H(t.$style.gate),"data-test-id":`tests-panel-add-node`},[S(r(Q),{size:`large`,color:`text-dark`,class:H(t.$style.gateMessage)},{default:O(()=>[n(N(r(h).baseText(`evaluations.tests.empty.noNode`)),1)]),_:1},8,[`class`]),S(r(Hr),{size:`small`,"data-test-id":`tests-panel-add-node-button`,onClick:A},{default:O(()=>[n(N(r(h).baseText(`evaluations.tests.empty.noNode.button`)),1)]),_:1})],2)):ie.value?(E(),f(`div`,{key:1,class:H(t.$style.gate),"data-test-id":`tests-panel-probe-loading`},[S(r(Z),{icon:`spinner`,size:`medium`,spin:!0})],2)):ne.value?(E(),f(`div`,{key:2,class:H(t.$style.gate),"data-test-id":`tests-panel-gate`},[S(r(Q),{size:`large`,color:`text-dark`,class:H(t.$style.gateMessage)},{default:O(()=>[n(N(r(h).baseText(`evaluations.tests.empty.noExecutions`)),1)]),_:1},8,[`class`]),D.value?(E(),s(r(ln),{key:0,items:k.value,placement:`bottom`,"data-test-id":`tests-panel-choose-trigger`,onSelect:j},{activator:O(()=>[S(r(Hr),{size:`small`},{default:O(()=>[n(N(r(h).baseText(`evaluations.tests.empty.chooseTrigger`))+` `,1),S(r(Z),{icon:`chevron-down`,size:`small`})]),_:1})]),_:1},8,[`items`])):(E(),s(r(Hr),{key:1,size:`small`,"data-test-id":`tests-panel-gate-run`,onClick:r(b)},{default:O(()=>[n(N(r(h).baseText(`evaluations.tests.empty.execute`)),1)]),_:1},8,[`onClick`]))],2)):(E(),f(e,{key:3},[r(g)===`detail`?(E(),s(Fa,{key:0})):r(g)===`create`?(E(),s(pa,{key:1})):(E(),s(Ha,{key:2}))],64))],2))}}),[[`__cssModules`,{$style:{panel:`_panel_16tpu_1`,gate:`_gate_16tpu_10`,gateMessage:`_gateMessage_16tpu_21`}}]]),Ga={key:0},Ka=W(x({name:`FocusSidebar`,__name:`FocusSidebar`,props:{isCanvasReadOnly:{type:Boolean}},emits:[`contextMenuAction`],setup(e,{emit:t}){let n=t,i=P(`wrapper`),c=$n(),u=Je(),d=Y(),p=Sn(),h=nr(),_=dt(),v=qn(),y=I(c.value),b=o();wr({view_shown:`focus_panel`});let{selectedTab:x}=F(u),C=m(()=>u.focusPanelActive),w=m(()=>u.focusPanelWidth),T=m(()=>u.resolvedParameter),D=m(()=>h.isFeatureEnabled),{isFeatureEnabled:k}=Xr(),{isLicensed:A,isResolved:N,ensureLicenseLoaded:L}=ui(),ee=m(()=>h.isFeatureEnabled&&x.value===`setup`),te=m(()=>k.value&&x.value===`evaluations`&&N.value&&A.value),B=m(()=>k.value&&x.value===`evaluations`&&N.value&&!A.value),ne=m(()=>D.value||k.value),ie=m(()=>{if(!p.isNdvInFocusPanelEnabled||T.value)return T.value?.node;let e=y.getSelectedNodes.value[0];return e?.data?.render.type===rt.Default?(d?.value?.allNodes??[]).find(t=>t.id===e.id):void 0}),ae=m(()=>{let e=T.value?.parameter.displayName??ie.value?.name;return e?{focus:e}:void 0});function oe(e){e.key===`s`&&v.isCtrlKeyPressed(e)&&(e.stopPropagation(),e.preventDefault())}let se=()=>{document.addEventListener(`keydown`,oe,!0)},V=()=>{document.removeEventListener(`keydown`,oe,!0)};U(()=>u.focusPanelActive,e=>{e?se():V()},{immediate:!0}),U(b,e=>{if(!ie.value||!e||!i.value?.contains(e))return;let t=e.closest(`.parameter-input`)?.getAttribute(`data-parameter-path`);t&&_.track(`User focused focus panel`,{node_id:ie.value.id,node_type:ie.value.type,parameter_path:t})});function ce(e){u.updateWidth(e.width)}let le=j(ce,10);function ue(e,t){n(`contextMenuAction`,e,t)}return re(()=>{L()}),M(()=>{V()}),(t,n)=>C.value?(E(),f(`div`,{key:0,ref:`wrapper`,"data-test-id":`focus-sidebar`,class:H([t.$style.wrapper,`ignore-key-press-canvas`,{[t.$style.isNdvInFocusPanelEnabled]:r(p).isNdvInFocusPanelEnabled}]),onKeydown:n[1]||=R(()=>{},[`stop`])},[S(r(Et),{width:w.value,"supported-directions":[`left`],"min-width":D.value?420:300,"max-width":r(p).isNdvInFocusPanelEnabled?void 0:1e3,"grid-size":8,style:z({width:`${w.value}px`}),onResize:r(le)},{default:O(()=>[g(`div`,{class:H(t.$style.container)},[ne.value?(E(),f(`div`,Ga,[S(pi,{modelValue:r(x),"onUpdate:modelValue":n[0]||=e=>a(x)?x.value=e:null,"tab-labels":ae.value},null,8,[`modelValue`,`tab-labels`])])):l(``,!0),ee.value?(E(),f(`div`,{key:1,class:H(t.$style[`setup-panel-wrapper`])},[S(Ai)],2)):te.value?(E(),f(`div`,{key:2,class:H(t.$style[`setup-panel-wrapper`])},[S(Wa)],2)):B.value?(E(),f(`div`,{key:3,class:H([t.$style[`setup-panel-wrapper`],t.$style[`evaluations-paywall-wrapper`]])},[S(Zr)],2)):(E(),s(Ni,{key:4,"is-canvas-read-only":e.isCanvasReadOnly,onContextMenuAction:ue},null,8,[`is-canvas-read-only`]))],2)]),_:1},8,[`width`,`min-width`,`max-width`,`style`,`onResize`])],34)):l(``,!0)}}),[[`__cssModules`,{$style:{wrapper:`_wrapper_m5715_1`,container:`_container_m5715_13`,"setup-panel-wrapper":`_setup-panel-wrapper_m5715_19`,"evaluations-paywall-wrapper":`_evaluations-paywall-wrapper_m5715_26`}}]]),qa=x({__name:`CanvasStopCurrentExecutionButton`,props:{stopping:{type:Boolean},size:{}},setup(e){let t=e,n=J(),i=m(()=>t.stopping?n.baseText(`nodeView.stoppingCurrentExecution`):n.baseText(`nodeView.stopCurrentExecution`));return(t,n)=>(E(),s(r(Or),{variant:`subtle`,icon:`square`,size:e.size??`large`,class:`stop-execution`,title:i.value,loading:e.stopping,"data-test-id":`stop-execution-button`},null,8,[`size`,`title`,`loading`]))}}),Ja=x({__name:`CanvasStopWaitingForWebhookButton`,props:{size:{}},setup(e){let t=e,n=J();return(e,i)=>(E(),s(r(Or),{variant:`subtle`,class:`stop-execution`,icon:`square`,size:t.size??`large`,title:r(n).baseText(`nodeView.stopWaitingForWebhookCall`),"data-test-id":`stop-execution-waiting-for-webhook-button`},null,8,[`size`,`title`]))}}),Ya={"data-action":`reload`},Xa={href:`https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/`,target:`_blank`},Za=x({__name:`NodeViewUnfinishedWorkflowMessage`,setup(e){let t=J();return(e,i)=>(E(),f(`div`,null,[g(`a`,Ya,N(r(t).baseText(`nodeView.refresh`)),1),n(` `+N(r(t).baseText(`nodeView.toSeeTheLatestStatus`))+`. `,1),i[0]||=g(`br`,null,null,-1),g(`a`,Xa,N(r(t).baseText(`nodeView.moreInfo`)),1)]))}}),Qa=x({__name:`CanvasChatButton`,props:{label:{},variant:{}},setup(e){return(t,n)=>(E(),s(r(Hr),{label:e.label,size:`large`,icon:`message-circle`,variant:e.variant,"data-test-id":`workflow-chat-button`},null,8,[`label`,`variant`]))}}),$a=W(x({__name:`CheckHeader`,props:{icon:{},iconBg:{},iconFg:{},title:{},badge:{},badgeIcon:{}},setup(e){return(t,i)=>(E(),f(`div`,{class:H(t.$style.header)},[g(`span`,{class:H([t.$style.icon,!e.iconBg&&!e.iconFg?t.$style.iconNeutral:null]),style:z(e.iconBg||e.iconFg?{backgroundColor:e.iconBg,color:e.iconFg}:null)},[S(r(Z),{icon:e.icon,size:`small`},null,8,[`icon`])],6),g(`div`,{class:H(t.$style.body)},[g(`div`,{class:H(t.$style.titleRow)},[S(r(Q),{size:`small`,bold:``,color:`text-dark`},{default:O(()=>[n(N(e.title),1)]),_:1}),e.badge?(E(),s(r(er),{key:0,class:H(t.$style.judgePill)},{default:O(()=>[e.badgeIcon?(E(),s(r(Z),{key:0,icon:e.badgeIcon,size:`xsmall`,class:H(t.$style.judgePillIcon)},null,8,[`icon`,`class`])):l(``,!0),n(` `+N(e.badge),1)]),_:1},8,[`class`])):l(``,!0)],2),A(t.$slots,`description`)],2)],2))}}),[[`__cssModules`,{$style:{header:`_header_1ffdx_1`,icon:`_icon_1ffdx_9`,iconNeutral:`_iconNeutral_1ffdx_18`,body:`_body_1ffdx_23`,titleRow:`_titleRow_1ffdx_30`,judgePill:`_judgePill_1ffdx_37`,judgePillIcon:`_judgePillIcon_1ffdx_51`}}]]),eo=[`role`,`tabindex`],to=[`aria-label`,`data-test-id`],no=W(x({__name:`CheckCard`,props:{icon:{},iconBg:{},iconFg:{},title:{},description:{},badge:{},badgeIcon:{},selected:{type:Boolean},readonly:{type:Boolean},removable:{type:Boolean},removeAriaLabel:{},removeTestId:{}},emits:[`toggle`,`remove`],setup(e){return(t,i)=>(E(),f(`div`,{class:H([t.$style.card,e.selected?t.$style.cardSelected:null]),role:e.readonly?void 0:`button`,tabindex:e.readonly?void 0:0,onClick:i[3]||=n=>!e.readonly&&t.$emit(`toggle`),onKeydown:[i[4]||=h(R(n=>!e.readonly&&t.$emit(`toggle`),[`self`,`prevent`]),[`enter`]),i[5]||=h(R(n=>!e.readonly&&t.$emit(`toggle`),[`self`,`prevent`]),[`space`])]},[S($a,{icon:e.icon,"icon-bg":e.iconBg,"icon-fg":e.iconFg,title:e.title,badge:e.badge,"badge-icon":e.badgeIcon},y({_:2},[e.description?{name:`description`,fn:O(()=>[S(r(Q),{size:`small`,color:`text-base`,class:H(t.$style.description)},{default:O(()=>[n(N(e.description),1)]),_:1},8,[`class`])]),key:`0`}:void 0]),1032,[`icon`,`icon-bg`,`icon-fg`,`title`,`badge`,`badge-icon`]),e.removable?(E(),f(`button`,{key:0,type:`button`,class:H(t.$style.removeButton),"aria-label":e.removeAriaLabel,"data-test-id":e.removeTestId,onClick:i[0]||=R(e=>t.$emit(`remove`),[`stop`])},[S(r(Z),{icon:`trash-2`,size:`small`})],10,to)):e.selected&&!e.readonly?(E(),f(`span`,{key:1,class:H(t.$style.selectedMark),"aria-hidden":`true`},[S(r(Z),{icon:`check`,size:`small`})],2)):l(``,!0),t.$slots.default?(E(),f(`div`,{key:2,class:H(t.$style.slotContainer),onClick:i[1]||=R(()=>{},[`stop`]),onKeydown:i[2]||=R(()=>{},[`stop`])},[A(t.$slots,`default`)],34)):l(``,!0)],42,eo))}}),[[`__cssModules`,{$style:{card:`_card_k2mdo_1`,cardSelected:`_cardSelected_k2mdo_18`,description:`_description_k2mdo_25`,selectedMark:`_selectedMark_k2mdo_30`,removeButton:`_removeButton_k2mdo_38`,slotContainer:`_slotContainer_k2mdo_58`}}]]),ro=[`aria-label`],io=W(x({__name:`EvaluationsCanvasInfoCard`,setup(t){let i=m(()=>[...ci,...ci].map(e=>({...e,isJudge:ni.has(e.key)}))),a=J(),o=dt(),s=Pi(),c=Y(),u=Kn(),d=qi(),{isFeatureEnabled:h}=Xr(),{isLicensed:_,ensureLicenseLoaded:v}=ui(),y=p(null),b=null,x=Pt(Kr),C=m(()=>{let e=x.value;return e?new Set(e.split(`,`).filter(Boolean)):new Set}),w=m(()=>c.value?.workflowId??``),T=m(()=>c.value?.active??!1),D=m(()=>d.value.length>0),k=m(()=>w.value?C.value.has(w.value):!0),A=m(()=>h.value&&_.value&&T.value&&D.value&&!k.value),j=m(()=>A.value&&y.value===!1&&!s.isOpen);re(()=>{v()});async function M(){let e=w.value;if(e&&b!==e){b=e;try{let t=await Wr(u.restApiContext,e);if(e!==w.value)return;y.value=t.length>0}catch{if(e!==w.value)return;y.value=!0}finally{b===e&&(b=null)}}}U(A,e=>{if(!e){y.value=null;return}y.value===null&&M()},{immediate:!0}),U(w,()=>{y.value=null,A.value&&M()}),U(()=>s.isOpen,(e,t)=>{t&&!e&&A.value&&M()});function P(){let e=w.value;if(!e)return;let t=new Set(C.value);t.add(e),x.value=[...t].join(`,`)}function F(){o.track(`User opened evaluations wizard`,{workflow_id:w.value,source:`canvas_info_card`}),s.open(0)}return(t,o)=>j.value?(E(),f(`aside`,{key:0,class:H(t.$style.card),role:`complementary`,"data-test-id":`evaluations-canvas-info-card`},[g(`button`,{type:`button`,class:H(t.$style.dismiss),"aria-label":r(a).baseText(`evaluations.canvasInfoCard.dismiss`),"data-test-id":`evaluations-canvas-info-card-dismiss`,onClick:P},[S(r(Z),{icon:`x`,size:`small`})],10,ro),g(`div`,{class:H(t.$style.marquee),"aria-hidden":`true`},[g(`ul`,{class:H(t.$style.marqueeTrack)},[(E(!0),f(e,null,V(i.value,(e,n)=>(E(),f(`li`,{key:`${e.key}-${n}`,class:H(t.$style.marqueeItem)},[S(no,{icon:e.icon,"icon-bg":e.tileBg,"icon-fg":e.tileFg,title:r(a).baseText(e.labelKey),description:r(a).baseText(e.descriptionKey),badge:e.isJudge?r(a).baseText(`evaluations.wizardSidepanel.metric.judgeTag`):void 0,readonly:``},null,8,[`icon`,`icon-bg`,`icon-fg`,`title`,`description`,`badge`])],2))),128))],2)],2),g(`div`,{class:H(t.$style.body)},[S(r(Q),{size:`small`,bold:``,color:`text-dark`},{default:O(()=>[n(N(r(a).baseText(`evaluations.canvasInfoCard.title`)),1)]),_:1}),S(r(Q),{size:`small`,color:`text-base`,class:H(t.$style.description)},{default:O(()=>[n(N(r(a).baseText(`evaluations.canvasInfoCard.description`)),1)]),_:1},8,[`class`])],2),g(`div`,{class:H(t.$style.footer)},[S(r(Hr),{variant:`solid`,size:`medium`,type:`button`,class:H(t.$style.setupButton),"data-test-id":`evaluations-canvas-info-card-setup`,onClick:F},{default:O(()=>[n(N(r(a).baseText(`evaluations.canvasInfoCard.setup`)),1)]),_:1},8,[`class`])],2)],2)):l(``,!0)}}),[[`__cssModules`,{$style:{card:`_card_fbnw4_1`,dismiss:`_dismiss_fbnw4_15`,marquee:`_marquee_fbnw4_39`,marqueeTrack:`_marqueeTrack_fbnw4_47`,marqueeScroll:`_marqueeScroll_fbnw4_1`,marqueeItem:`_marqueeItem_fbnw4_70`,body:`_body_fbnw4_74`,description:`_description_fbnw4_81`,footer:`_footer_fbnw4_86`,setupButton:`_setupButton_fbnw4_90`}}]]),ao=W(x({name:`NodeView`,__name:`NodeView`,setup(t){let i=c(async()=>await jr(()=>import(`./NodeCreation-BqZLPYhb.js`),__vite__mapDeps([0,1,2,3,4,5,6]))),a=c(async()=>await jr(()=>import(`./NodeDetailsView-DvFTieW0.js`),__vite__mapDeps([7,1,2,3,4,5,8,9,10,11,12,13,14,15,16,17]))),o=c(async()=>await jr(()=>import(`./SetupWorkflowCredentialsButton-Dsvsc3QH.js`),__vite__mapDeps([18,1,2,3,4,5,19,20]))),u=le(),h=ae(),_=D(),{canOpenNDV:y}=Jr(),b=J(),x=dt(),C=zt(),w=ze(),T=an(),k=Tr(),A=$e({router:h,ownsAutoSave:!0,onSaved:e=>{lt.emit(`saved:workflow`,{isFirstSave:e})}}),j=Nt(),F=Cn({onPaste:ei}),I=st(),R=Ae(),ee=Ge(),te=Tn(),z=Y(),B=m(()=>mn(z.value.documentId)),ne=Jt(),ie=Xe(),oe=yr(),V=kt(),ce=zn(),ue=Rn(),de=Ee(),pe=It(),me=he(),ve=ge(),ye=Fn(),be=cn(),xe=Rr(),we=bt(),W=Je(),Te=Pi(),{isFeatureEnabled:De}=Xr(),Oe=Ar(),ke=Yr(),je=Se(),Me=Pr(),Ne=Sn(),K=_r(),Le=gr(),Re=hn(),Ve=Vn();di(K);let{addBeforeUnloadEventBindings:Ue,removeBeforeUnloadEventBindings:We}=Un({route:_}),{registerCustomAction:Ke,unregisterCustomAction:qe}=Nr(),{runWorkflow:Qe,runEntireWorkflow:tt,stopCurrentExecution:it,stopWaitingForWebhook:at}=qt({router:h}),{updateNodePosition:ot,updateNodesPosition:ct,tidyUp:ft,revertUpdateNodePosition:mt,renameNode:ht,revertRenameNode:gt,revertReplaceNodeParameters:_t,setNodeActive:vt,setNodeSelected:yt,toggleNodesDisabled:St,revertToggleNodeDisabled:Ct,toggleNodesPinned:wt,setNodeParameters:Et,deleteNode:Dt,deleteNodes:Ot,copyNodes:jt,cutNodes:Mt,duplicateNodes:Pt,revertDeleteNode:Ft,revertAddNode:Rt,createConnection:Bt,revertCreateConnection:Vt,deleteConnection:Ht,revertDeleteConnection:Ut,revalidateNodeInputConnections:Wt,revalidateNodeOutputConnections:Gt,setNodeActiveByName:Kt,clearNodeActive:Z,tryToOpenSubworkflowInNewTab:Qt,importWorkflowData:$t,fetchWorkflowDataFromUrl:en,resetWorkspace:tn,initializeWorkspace:nn,lastClickPosition:Q,startChat:sn,addNodesAndConnections:ln,fitView:dn}=fr(),{extractWorkflow:fn}=_e();xn({ctrl_alt_o:()=>R.openModal(Zt)});let _n=P(`canvas`),vn=p(!0),yn=p(null),bn=p([]),$=$n(),wn=m(()=>{let e=_.params.nodeId;return Array.isArray(e)?e[0]:e}),Dn=m(()=>_.query.new===`true`),On=m(()=>_.query.hideControls===`true`),kn=m(()=>_.query.canvasBackground!==`dots`),An=m(()=>_.name===X.DEMO),Nn=m(()=>oe.isCanvasOnly&&!An.value),Pn=m(()=>!!_?.meta?.readOnlyCanvas),Ln=m(()=>ie.preferences.branchReadOnly),{readOnly:Bn,expandGroups:Hn,executionButtonType:Wn}=pt(),Gn=m(()=>An.value?`secondary`:Wn.value),Kn=m(()=>An.value||Ln.value||K.shouldBeReadOnly||!(qi.value.update??Ji.value.workflow.update)||(z?.value?.isArchived??!1)||Oe.streaming&&!Oe.isHelpStreaming||Bn.value),qn=m(()=>An.value?`all`:Hn.value),Jn=m(()=>Ln.value?!1:An.value?_.query.canExecute===`true`:z?.value?.isArchived||Oe.streaming||Bn?.value?!1:!!(qi.value.execute??Ji.value.workflow.execute)),Yn=m(()=>K.isCurrentUserWriter&&!K.isCurrentTabWriter),er=m(()=>lr.value.length===0),nr=m(()=>!we.value.activeNode&&R.activeModals.length===0),rr=m(()=>Me.isOpen);function ir(){_.query.action===`addEvaluationTrigger`?Da():_.query.action===`addEvaluationNode`?V.openNodeCreatorForActions($.value,Yt,hr.ADD_EVALUATION_NODE_BUTTON):_.query.action===`executeEvaluation`?Ta.value&&tt(`node`,Ta.value.name):_.query.action===`openEvaluationsWizard`&&De.value&&(x.track(`User opened evaluations wizard`,{workflow_id:$.value,source:`empty_state`}),Te.open(0)),Te.pendingSeedExecution&&De.value&&(W.setSelectedTab(`evaluations`),W.openFocusPanel()),lt.off(`saved:workflow`,Ra),_.name===X.EXECUTION_DEBUG&&lt.on(`saved:workflow`,Ra),v(()=>{ar()})}function ar(){j.updateNodesInputIssues(),j.updateNodesCredentialsIssues(),j.updateNodesParameterIssues()}U(()=>{let e=z?.value,t=(e?.workflowTriggerNodes??[]).filter(e=>!e.disabled).map(e=>`${e.type}:${JSON.stringify(e.parameters??{})}`).join(`|`);return`${e?.settings?.credentialResolverId??``}#${t}`},()=>{vn.value||j.updateNodesCredentialsIssues()});async function sr(e){tn(),Oe.streaming?k.setDocumentTitle(e.name,`AI_BUILDING`):k.setDocumentTitle(e.name,`IDLE`),await nn(e),C.run(`workflow.open`,{workflowId:e.id,workflowName:e.name}),dn()}let lr=m(()=>z?.value?.allNodes.filter(e=>I.isTriggerNode(e.type))??[]),ur=m(()=>lr.value.length>0),dr=m(()=>lr.value.filter(e=>e.disabled).length===lr.value.length),mr=m(()=>lr.value.filter(e=>!e.disabled&&!Br(e)));function vr(e,t){ft(e,t)}function br(e){fn(e)}function xr(e){ct(e,{trackHistory:!0})}function Cr(e,t){ot(e,t,{trackHistory:!0})}function wr({nodeName:e,position:t}){mt(e,{x:t[0],y:t[1]})}function Dr(e){let t=bn.value.findIndex(t=>t.id===e);t>=0?bn.value.splice(t,1):Dt(e,{trackHistory:!0})}function Or(e,t=[]){Ot(e,{deleteWholeGroupIds:t})}function kr({node:e}){Ft(e)}function Fr({group:e}){z.value.deleteGroup(e.id)}function Ir({group:e}){z.value.restoreGroup(e)}function Lr({group:e}){z.value.restoreGroup(e)}function zr(e){Fa()&&St([e])}function Vr({nodeName:e}){Ct(e)}function Hr(e){Fa()&&St(e)}function Ur(e,t){Q.value=[t.x,t.y],Ui()}async function Wr(e,t){An.value&&!y.value||(t?.metaKey||t?.ctrlKey)&&await Qt(e)||vt(e,`canvas_default_view`)}function Gr(e){Qt(e)}function Kr(){Z()}function qr(e){Ui(),yt(e)}let Zr=!1;function Qr(e){return!Zr&&$.value===e}async function $r(e){let t=$.value;await ke.gate(`copy`,async()=>{Qr(t)&&(await jt(e),w.showMessage({title:b.baseText(`generic.copiedToClipboard`),type:`success`}))})}async function ei(e){if(Kn.value||Sr(_)!==Xn.WORKFLOW||!nr.value||!Fa())return;let t=null;if(e.match(Pe)){if(await T.confirm(b.baseText(`nodeView.confirmMessage.onClipboardPasteEvent.message`,{interpolate:{plainTextData:e}}),b.baseText(`nodeView.confirmMessage.onClipboardPasteEvent.headline`),{type:`warning`,confirmButtonText:b.baseText(`nodeView.confirmMessage.onClipboardPasteEvent.confirmButtonText`),cancelButtonText:b.baseText(`nodeView.confirmMessage.onClipboardPasteEvent.cancelButtonText`)})!==`confirm`)return;t=await en(e)}else t=rn(e,{fallbackValue:null});if(!t)return;let n=$.value;await ke.gate(`paste`,async()=>{if(!Qr(n))return;let e=(await $t(t,`paste`,{importTags:!1,viewport:Va.value})).nodes?.map(e=>e.id)??[];_n.value?.ensureNodesAreVisible(e)})}async function ti(e,t=[]){Kn.value?await jt(e):await Mt(e,t)}async function ni(e){if(!Fa())return;let t=await Pt(e,{viewport:Va.value});_n.value?.ensureNodesAreVisible(t)}function ri(e,t){Fa()&&wt(e,t)}function ii(e,t){_n.value?.executeContextMenuAction(e,t)}function ai(){lt.on(`saved:workflow`,me.showNpsSurveyIfPossible)}function oi(){lt.off(`saved:workflow`,me.showNpsSurveyIfPossible),lt.off(`saved:workflow`,Ra)}async function si(){await h.push({name:X.NEW_WORKFLOW})}async function ci(){await A.saveCurrentWorkflow({})}function li(e){we.value.activeNode?.name&&ht(we.value.activeNode.name,e)}async function ui(e){let t=z?.value?.getNodeById(e)?.name??``,n=document.activeElement;if(!(n&&En(n))&&!(!nr.value||document.querySelector(`.rename-prompt`)))try{let e=T.prompt(b.baseText(`nodeView.prompt.newName`)+`:`,b.baseText(`nodeView.prompt.renameNode`)+`: ${t}`,{customClass:`rename-prompt`,confirmButtonText:b.baseText(`nodeView.prompt.rename`),cancelButtonText:b.baseText(`nodeView.prompt.cancel`),inputErrorMessage:b.baseText(`nodeView.prompt.invalidName`),inputValue:t,inputValidator:e=>e.trim()?!0:b.baseText(`nodeView.prompt.invalidName`)});await v();let n=document.querySelector(`.rename-prompt .el-input__inner`);n?.focus(),n?.select();let r=e=>{e.key===` `&&e.stopPropagation()};n?.addEventListener(`keydown`,r);let i=await e;n?.removeEventListener(`keydown`,r),i.action===`confirm`&&await ht(t,i.value,{trackHistory:!0})}catch{}}async function pi({currentName:e,newName:t}){await gt(e,t)}async function mi({nodeId:e,currentProperties:t,newProperties:n}){await _t(e,t,n)}function hi(e,t){Et(e,t)}function gi(e){Wt(e)}function _i(e){Gt(e)}function vi(e,t){V.openNodeCreatorForConnectingNode({workflowId:$.value,connection:{source:e,sourceHandle:t},eventSource:hr.PLUS_ENDPOINT})}async function yi(){let e;if($.value&&!Dn.value)e={workflowId:$.value};else{let t=(typeof _.query?.projectId==`string`?_.query?.projectId:void 0)??ve.personalProject?.id;if(t===void 0)throw Error(`Could not find projectId in the query nor could I find the personal project in the project store`);e={projectId:t}}await ue.fetchUsableCredentials(e)}function bi(e){Bt(e,{trackHistory:!0})}function xi({connection:e}){Vt(e)}function Si(e,t,n){(n?.target).classList?.contains(`clickable`)||(R.lastInteractedWithNodeId=e.nodeId,R.lastInteractedWithNodeHandle=e.handleId,R.lastCancelledConnectionPosition=[t.x,t.y],setTimeout(()=>{e.nodeId&&V.openNodeCreatorForConnectingNode({workflowId:$.value,connection:{source:e.nodeId,sourceHandle:e.handleId},eventSource:hr.NODE_CONNECTION_DROP})}))}function Ci(e){Ht(e,{trackHistory:!0})}function wi({connection:e}){Ut(e)}async function Ti(e){let t=e.data,n=typeof e.trackEvents==`boolean`?e.trackEvents:void 0,r=typeof e.setStateDirty==`boolean`?e.setStateDirty:void 0;if(await $t(t,`file`,{viewport:Va.value,regenerateIds:e.regenerateIds===!0||e.regenerateIds===void 0,trackEvents:n,setStateDirty:r}),await v(),dn(),Ua(t.nodes?.map(e=>e.id)??[]),e.tidyUp){let t=e.nodesIdsToTidyUp;setTimeout(async()=>{lt.emit(`tidyUp`,{source:`import-workflow-data`,nodeIdsFilter:t,trackEvents:n}),await v(),dn()},0)}}async function Ei(e){let t=await en(e.url);if(!t)return;let n=$.value;await ke.gate(`import_url`,async()=>{Qr(n)&&(await $t(t,`url`,{viewport:Va.value}),_n.value?.ensureNodesAreVisible(t.nodes?.map(e=>e.id)??[]))})}function Di(){G.on(`importWorkflowData`,Ti),G.on(`importWorkflowUrl`,Ei),G.on(`openChat`,Ca)}function Oi(){G.off(`importWorkflowData`,Ti),G.off(`importWorkflowUrl`,Ei),G.off(`openChat`,Ca)}let ki=p(void 0),Ai=p(!1);function ji(){ki.value=void 0}function Mi(){if(!(V.isCreateNodeActive&&Zn(V.openSource))||!R.lastInteractedWithNodeId)return;let{type:e,mode:t}=cr(R.lastInteractedWithNodeHandle);if(e!==tr.Main||t!==Mn.Output)return;let n=R.lastInteractedWithNodeId,r=z.value.getGroupForNode(n);if(!r)return;let i=pn(r,z.value.allNodes);return i?.id===n?i.id:void 0}async function Ni({nodes:e,connections:t},n=!1,r){if(!Fa())return;let i=ki.value??Mi();i!==void 0&&(R.resetLastInteractedWith(),e=e.map(e=>({...e,openDetail:!1})));let{addedNodes:a}=await ln(e,t,{dragAndDrop:n,position:r,viewport:Va.value,telemetry:!0,replaceNodeId:i});if(a.length>0){let e=a[a.length-1].id;Ua([e])}}async function Fi(e=!1){if(!Ve.value||!Fa()||Ai.value)return;Ai.value=!0;let t=V.openSource;if(z.value.allNodes.length===0&&Ba.value.width>0&&Ba.value.height>0){let{xMin:e,xMax:t,yMin:n,yMax:r}=Va.value;Q.value=[(e+t-Qn[0])/2,(n+r-Qn[1])/2]}let n=ee.currentBulkAction===null;n&&ee.startRecordingUndo();try{let n=pe.selectedGroupId?z.value.getGroupById(pe.selectedGroupId):void 0,r=n?pn(n,z.value.allNodes):void 0;!e&&r&&(R.resetLastInteractedWith(),R.lastInteractedWithNodeId=r.id);let{addedNodes:i}=await ln([{type:Er,name:`No Operation, do nothing`,parameters:{emptyGroupAnchor:!0},placeholder:!0,isAutoAdd:!(e||r!==void 0),openDetail:!1}],[],{viewport:Va.value,trackBulk:!1}),a=i[0];if(!a)return;let o=z.value.getNextDefaultName(b.baseText(`canvas.nodeGroup.defaultTitle`)),s=z.value.createGroup([a.id],o);ee.pushCommandToUndo(new or(s,Date.now())),ce.trackGrouped(s,`node-creator`,t),ce.trackInitialEmptyGroupConnection(s),Ua([a.id])}finally{n&&ee.stopRecordingUndo(),Ai.value=!1}}async function Ii({node:e}){await Rt(e.name)}function Li(e){let t=z?.value?.getNodeByName(e);t&&(Kt(e,`other`),Ua([t.id]))}function Ri(e,t,n=0){V.openSelectiveNodeCreator({workflowId:$.value,node:e,connectionType:t,connectionIndex:n})}function zi(e){V.setNodeCreatorState({...e,workflowId:$.value}),e.createNodeActive||(ki.value=void 0,e.hasAddedNodes||R.resetLastInteractedWith())}function Bi(e){zi({createNodeActive:!0,source:e})}function Vi(e){V.openNodeCreatorForTriggerNodes($.value,e)}function Hi(){W.toggleFocusPanel(),x.track(`User ${W.focusPanelActive?`opened`:`closed`} focus panel`,{source:`canvasKeyboardShortcut`,parameters:W.focusedNodeParametersInTelemetryFormat,parameterCount:W.focusedNodeParametersInTelemetryFormat.length})}function Ui(){V.isCreateNodeActive&&=!1}function Wi(){Ni({nodes:[{type:Ce}],connections:[]})}function Gi(e){let{type:t,mode:n}=cr(e.sourceHandle);t===tr.AiTool&&n===Mn.Output?V.openNodeCreatorForConnectingNode({workflowId:$.value,connection:e,eventSource:hr.NODE_CONNECTION_ACTION,nodeCreatorView:on}):V.openNodeCreatorForConnectingNode({workflowId:$.value,connection:e,eventSource:hr.NODE_CONNECTION_ACTION})}function Ki(e){let t=z?.value?.getNodeById(e),n=z?.value?.getExpressionHandler();if(!t||!n)return;let r=I.getNodeType(t.type);if(r)if(ki.value=e,V.openingContext=`replacement`,fe(r))V.openNodeCreatorForTriggerNodes($.value,hr.REPLACE_NODE_ACTION);else{let e=Be({expression:n},t,r).map(e=>typeof e==`string`?e:e.type),i=Lt({expression:n},t,r).map(e=>typeof e==`string`?e:e.type);e[0]&&i[0]&&e[0]!==i[0]?V.openNodeCreatorForRegularNodes($.value,hr.REPLACE_NODE_ACTION):V.openSelectiveNodeCreator({workflowId:$.value,connectionType:e[0]??i[0],node:t.name})}}let qi=m(()=>$.value?et(ne.getWorkflowById($.value)?.scopes).workflow:{}),Ji=m(()=>et((_.query?.projectId?ve.myProjects.find(e=>e.id===_.query.projectId):ve.currentProject??ve.personalProject)?.scopes)),Yi=p(!1),Xi=m(()=>B.value.isWorkflowRunning),Zi=m(()=>B.value.executionWaitingForWebhook),{reason:Qi}=Ie(()=>z.value.usedCredentials,()=>z.value.allNodes);function $i(){if(Qi.value){w.showMessage({title:Qi.value,type:`warning`});return}tt(`main`)}let ea=m(()=>Qi.value||va.value&&ya.value&&!ba.value?!0:!ur.value||dr.value),ta=m(()=>!ya.value||ba.value),na=m(()=>Xi.value&&!Zi.value),ra=m(()=>Xi.value&&Zi.value);async function ia(e){let t=z?.value?.getNodeById(e);t&&(Ye(t)&&I.isToolNode(t.type)?R.openModalWithData({name:gn,data:{nodeName:t.name}}):(ca(t),je.clearAgentRequests($.value,t.id),Qe({destinationNode:{nodeName:t.name,mode:`inclusive`},source:`Node.executeNode`})))}async function aa(e,t){let n=z?.value?.getNodeById(e);if(!n)return;let r=I.getNodeType(n.type,n.typeVersion);if(!r?.webhooks?.length)return;let i=r.webhooks[0],a=await Re.getWebhookUrl(i,n,t);a&&(F.copy(a),w.showMessage({title:b.baseText(`nodeWebhooks.showMessage.title`),type:`success`}))}async function oa(e){let t=z?.value?.getNodeById(e);if(Mr.includes(t?.type??``)){w.showMessage({title:b.baseText(`nodeWebhooks.showMessage.testWebhookUrl`),type:`warning`});return}aa(e,`test`)}async function sa(e){if(!(z?.value?.active??!1)){w.showMessage({title:b.baseText(`nodeWebhooks.showMessage.not.active`),type:`warning`});return}aa(e,`production`)}function ca(e){let t={node_type:e.type,workflow_id:$.value,source:`canvas`,push_ref:we.value.pushRef};x.track(`User clicked execute node button`,t),C.run(`nodeView.onRunNode`,t)}function la(e){if(!e.finished&&e.data?.resultData?.error){let t=!1;if(e.data.resultData.runData){let n=e.data.resultData.runData;errorCheck:for(let e of Object.keys(n))for(let r of n[e])if(r.error){t=!0;break errorCheck}}!t&&(e.data.resultData.error.stack??e.data.resultData.error.message)&&(console.error(`Execution ${e.id} error:`),console.error(e.data.resultData.error.stack),w.showMessage({title:b.baseText(`nodeView.showError.workflowError`),message:e.data.resultData.error.message,type:`error`,duration:0}))}}function ua(e){e.waitTill&&w.showMessage({title:b.baseText(`nodeView.thisExecutionHasntFinishedYet`),message:d(Za),type:`warning`,duration:0})}function da(){lt.on(`open:execution`,la),lt.on(`open:execution`,ua)}function fa(){lt.off(`open:execution`,la),lt.off(`open:execution`,ua)}async function pa(){Yi.value=!0,await it(),Yi.value=!1}async function ma(){await at()}function ha(){G.emit(`runWorkflowButton:mouseenter`)}function ga(){G.emit(`runWorkflowButton:mouseleave`)}let _a=m(()=>z?.value?.allNodes.find(e=>e.type===In)),va=m(()=>!Zi.value&&!!z?.value?.allNodes.find(e=>[`@n8n/n8n-nodes-langchain.manualChatTrigger`,`@n8n/n8n-nodes-langchain.chatTrigger`].includes(e.type)&&e.disabled!==!0)),ya=m(()=>lr.value.every(e=>e.disabled||e.type===`@n8n/n8n-nodes-langchain.chatTrigger`)),ba=m(()=>_a.value?z?.value?.pinnedDataByNodeName?.[_a.value.name]:null),xa=m(()=>Le.isFloatingChatEnabled&&_a.value?.parameters?.availableInChat===!0),Sa=m(()=>Le.isOpen);U(xa,e=>{!e&&Sa.value&&Le.close()});function Ca(){xa.value?Le.open():sn(`main`)}function wa(){xa.value?Sa.value?Le.close():Le.open():rr.value?Me.toggleOpen(!1):sn(`main`)}let Ta=m(()=>z?.value?.allNodes.find(e=>e.type===xt)),Ea=p(!1);async function Da(){if(!Ea.value){Ea.value=!0;try{if(_n.value||await new Promise(e=>{let t=U(_n,n=>{n&&(t(),e())})}),!Fa())return;if(Ta.value){Kt(Ta.value.name,`other`),_n.value?.ensureNodesAreVisible([Ta.value.id]);return}let{addedNodes:e}=await ln([{type:xt,openDetail:!0}],[],{viewport:Va.value,telemetry:!0});if(e.length>0){let t=e[e.length-1];await v(),_n.value?.ensureNodesAreVisible([t.id])}}finally{try{await h.replace({query:{..._.query,action:void 0}})}finally{Ea.value=!1}}}}function Oa(){q.on(`nodeMove`,wr),q.on(`revertAddNode`,Ii),q.on(`revertRemoveNode`,kr),q.on(`revertAddConnection`,xi),q.on(`revertRemoveConnection`,wi),q.on(`revertRenameNode`,pi),q.on(`revertReplaceNodeParameters`,mi),q.on(`enableNodeToggle`,Vr),q.on(`revertAddNodeGroup`,Fr),q.on(`revertRemoveNodeGroup`,Ir),q.on(`revertUpdateNodeGroup`,Lr)}function ka(){q.off(`nodeMove`,wr),q.off(`revertAddNode`,Ii),q.off(`revertRemoveNode`,kr),q.off(`revertAddConnection`,xi),q.off(`revertRemoveConnection`,wi),q.off(`revertRenameNode`,pi),q.off(`revertReplaceNodeParameters`,mi),q.off(`enableNodeToggle`,Vr),q.off(`revertAddNodeGroup`,Fr),q.off(`revertRemoveNodeGroup`,Ir),q.off(`revertUpdateNodeGroup`,Lr)}async function Aa(){try{if(await Promise.all([de.fetchAllVariables(),xe.fetchAll(),yi(),ve.getAvailableProjects()]),$.value&&!R.stateIsDirty){let e=await ne.fetchWorkflow($.value);e&&await sr(e)}}catch(e){console.error(e)}}function ja(){Ze.on(`pull`,Aa)}function Ma(){Ze.off(`pull`,Aa)}function Na(){lt.on(`create:sticky`,Wi)}function Pa(){lt.off(`create:sticky`,Wi)}function Fa(){if(!R.nodeViewInitialized)return!0;if(yn.value?.visible||!(qi.value.update??Ji.value.workflow.update)||K.shouldBeReadOnly)return!1;if(Pn.value||Ln.value){let e=Pn.value?`executions`:`workflows`;return yn.value=w.showMessage({title:b.baseText(Ln.value?`readOnlyEnv.showMessage.${e}.title`:`readOnly.showMessage.executions.title`),message:b.baseText(Ln.value?`readOnlyEnv.showMessage.${e}.message`:`readOnly.showMessage.executions.message`),type:`info`}),!1}return!0}function Ia(){K.requestWriteAccessForce()}function La(){Ln.value&&[X.NEW_WORKFLOW,X.TEMPLATE_IMPORT].find(e=>e===_.name)&&v(async()=>{tn(),R.markStateClean(),await h.replace({name:X.HOMEPAGE})})}async function Ra(){_.name===X.EXECUTION_DEBUG&&await h.replace({name:X.WORKFLOW,params:{workflowId:$.value}})}let za=p({x:0,y:0,zoom:1}),Ba=p({width:0,height:0}),Va=m(()=>pr(za.value,Ba.value));function Ha(e,t){za.value=e,Ba.value=t,R.nodeViewOffsetPosition=[e.x,e.y]}function Ua(e){setTimeout(()=>lt.emit(`nodes:select`,{ids:e}))}function Wa(e){Q.value=[e.x,e.y],qr()}function Ga(e){Q.value=[e.x,e.y]}async function Ya(e,t){if(!t.dataTransfer)return;let n=rn(t.dataTransfer.getData(He));n&&(await Ni(n,!0,[e.x,e.y]),zi({createNodeActive:!1,hasAddedNodes:!0}))}function Xa(){Ke({key:`openNodeDetail`,action:({node:e})=>{Kt(e,`other`)}}),Ke({key:`openSelectiveNodeCreator`,action:({creatorview:e,connectiontype:t,node:n})=>{V.openSelectiveNodeCreator({workflowId:$.value,node:n,connectionType:t,creatorView:e})}}),Ke({key:`showNodeCreator`,action:()=>{we.value.unsetActiveNodeName(),v(()=>{Vi(hr.NODE_SHORTCUT)})}})}function $a(){qe(`openNodeDetail`),qe(`openSelectiveNodeCreator`),qe(`showNodeCreator`)}function eo(){R.addFirstStepOnLoad&&(Vi(R.addFirstStepOnLoadSource??hr.TRIGGER_PLACEHOLDER_BUTTON),R.addFirstStepOnLoad=!1,R.addFirstStepOnLoadSource=void 0)}function to(e){let t=z?.value?.findNodeByPartialId(e);t?vt(t.id,`other`):(w.showToast({title:b.baseText(`nodeView.showMessage.ndvUrl.missingNodes.title`),message:b.baseText(`nodeView.showMessage.ndvUrl.missingNodes.content`),type:`warning`}),h.replace({name:_.name,params:{workflowId:$.value},query:_.query}))}return U([()=>_.name,()=>_.params.workflowId],()=>{ir()}),U(m(()=>z?.value?.homeProject?.id??ve.currentProject?.id??ve.personalProject?.id),e=>{e&&ye.fetchForProject(e)},{immediate:!0}),U(()=>vn.value||Kn.value||(z?.value?.allNodes??[]).length!==0,e=>{if(e){bn.value=[];return}let t={id:rt.AddNodes,name:rt.AddNodes,type:rt.AddNodes,typeVersion:1,position:[0,0],parameters:{}},n={id:rt.ChoicePrompt,name:rt.ChoicePrompt,type:rt.ChoicePrompt,typeVersion:1,position:[0,0],parameters:{},draggable:!1};bn.value=Oe.isAIBuilderEnabled?[n]:[t]}),U(()=>_.params.nodeId,async e=>{typeof e!=`string`||e===``?we.value.unsetActiveNodeName():to(e)}),U(()=>we.value.activeNode,async e=>{if(![X.WORKFLOW].includes(String(_.name)))return;let t=e?.id?te.getPartialIdForNode(e?.id):``;t!==_.params.nodeId&&await h.replace({name:_.name,params:{workflowId:$.value,nodeId:t},query:_.query})}),U(()=>R.dirtyStateSetCount,e=>{if(e>0){if(An.value)return;K.requestWriteAccess(),Oe.streaming||A.autoSaveWorkflow()}}),U(()=>Oe.streaming,(e,t)=>{t&&!e&&R.stateIsDirty&&!K.shouldBeReadOnly&&A.autoSaveWorkflow()}),U([mr,m(()=>{if(Xi.value)return B.value.activeExecution?.triggerNode?B.value.activeExecution.triggerNode:Object.keys(B.value.activeExecution?.data?.resultData.runData??{}).find(e=>z?.value?.workflowTriggerNodes.some(t=>t.name===e))})],([e,t],[n])=>{if(t!==void 0){B.value.setSelectedTriggerNodeName(t);return}if(B.value.selectedTriggerNodeName===void 0||e.every(e=>e.name!==B.value.selectedTriggerNodeName)){B.value.setSelectedTriggerNodeName(Xt(mr.value,I.getNodeType)?.name);return}let r=e?.find(e=>n?.every(t=>t.name!==e.name));r!==void 0&&B.value.setSelectedTriggerNodeName(r.name)},{immediate:!0}),se(async(e,t,n)=>{if(W.focusPanelActive&&W.closeFocusPanel(),Ln.value){n();return}let r=Sr(e),i=[X.WORKFLOW,X.NEW_WORKFLOW].includes(t.name)&&[X.WORKFLOW,X.NEW_WORKFLOW].includes(e.name)&&t.params.workflowId!==e.params.workflowId;if((r===Xn.EXECUTIONS||r===Xn.EVALUATION||t.name===X.TEMPLATE_IMPORT||r===Xn.WORKFLOW&&t.name===X.EXECUTION_DEBUG)&&!i){n();return}await A.promptSaveUnsavedWorkflowChanges(n,{async confirm(){if(t.name===X.NEW_WORKFLOW){let t=$.value;return await h.replace({name:X.WORKFLOW,params:{workflowId:t}}),await h.push(e),!1}return te.setWorkflowId(``),!0}})}),re(async()=>{K.setRefreshCanvasCallback(async e=>{await nn(e)});try{ir(),_.query.settings&&(R.openModal(nt),h.replace({query:{settings:void 0}}))}finally{vn.value=!1,C.run(`nodeView.mount`).catch(()=>{}),setTimeout(()=>{wn.value&&to(wn.value)},500)}be.showPersonalizationSurvey(),La(),ja(),ai(),Ue(),Di(),da(),Na(),Xa(),Oa(),eo()}),M(()=>{Zr=!0,R.closeModal(nt),w.clearAllStickyNotifications(),z?.value?.setViewport(za.value),Ma(),oi(),We(),Oi(),fa(),Pa(),$a(),ka(),lt.off(`saved:workflow`,Ra)}),(t,c)=>(E(),f(`div`,{class:H(r(u).wrapper)},[vn.value?l(``,!0):(E(),s(fi,{key:0,id:r(z)?.workflowId,ref:`canvas`,"fallback-nodes":bn.value,"show-fallback-nodes":er.value,"event-bus":r(lt),"read-only":Kn.value,"group-expansion-mode":qn.value,"can-execute":Jn.value,executing:Xi.value,"key-bindings":nr.value,"suppress-interaction":r(Ne).isMapperOpen,"striped-background":kn.value,"hide-controls":On.value,"initial-viewport":r(z)?.viewport,"onUpdate:nodes:position":xr,"onUpdate:node:position":Cr,"onUpdate:node:activated":Wr,"onUpdate:node:deactivated":Kr,"onUpdate:node:selected":qr,"onUpdate:node:enabled":zr,"onUpdate:node:name":ui,"onUpdate:node:parameters":hi,"onUpdate:node:inputs":gi,"onUpdate:node:outputs":_i,"onUpdate:logsOpen":c[1]||=e=>r(Me).toggleOpen(e),"onUpdate:logs:inputOpen":r(Me).toggleInputOpen,"onUpdate:logs:outputOpen":r(Me).toggleOutputOpen,"onUpdate:hasRangeSelection":r(pe).setHasRangeSelection,"onUpdate:selectedGroup":r(pe).setSelectedGroupId,"onOpen:subWorkflow":Gr,"onClick:node":Ur,"onClick:node:add":vi,"onRun:node":ia,"onCopy:production:url":sa,"onCopy:test:url":oa,"onDelete:node":Dr,"onCreate:connection":bi,"onCreate:connection:cancelled":Si,"onDelete:connection":Ci,"onClick:connection:add":Gi,"onClick:pane":Wa,"onCreate:node":Bi,"onCreate:sticky":Wi,"onDelete:nodes":Or,"onUpdate:nodes:enabled":Hr,"onUpdate:nodes:pin":ri,"onDuplicate:nodes":ni,"onCopy:nodes":$r,"onCut:nodes":ti,"onReplace:node":Ki,"onRun:workflow":$i,"onSave:workflow":ci,"onCreate:workflow":si,"onViewport:change":Ha,"onSelection:end":Ga,onDragAndDrop:Ya,onTidyUp:vr,"onToggle:focusPanel":Hi,onExtractWorkflow:br,onStartChat:wa},{default:O(()=>[g(`div`,{class:H(r(u).canvasTopLeftContainer)},[g(`div`,{class:H(r(u).canvasTopLeft)},[Nn.value?(E(),s(r(un),{key:0,size:`small`,collapsed:!1,class:H(r(u).canvasOnlyLogo),"aria-hidden":`true`},null,8,[`class`])):l(``,!0),Kn.value?l(``,!0):(E(),s(L,{key:1},{default:O(()=>[S(r(o),{collapsible:Nn.value,class:H(r(u).setupCredentialsButton)},null,8,[`collapsible`,`class`])]),_:1}))],2)],2),Kn.value?l(``,!0):(E(),s(io,{key:0,class:H(r(u).evaluationsCanvasInfoCardWrapper)},null,8,[`class`])),!Kn.value||Jn.value?(E(),f(`div`,{key:1,class:H(r(u).executionButtonsContainer)},[g(`div`,{class:H(r(u).executionButtons)},[ta.value?(E(),s(ut,{key:0,"disabled-reason":r(Qi),"waiting-for-webhook":Zi.value,disabled:ea.value,executing:Xi.value,"trigger-nodes":lr.value,"get-node-type":r(I).getNodeType,"selected-trigger-node-name":B.value.selectedTriggerNodeName,type:Gn.value,onMouseenter:ha,onMouseleave:ga,onExecute:c[0]||=e=>r(tt)(`main`),onSelectTriggerNode:B.value.setSelectedTriggerNodeName},null,8,[`disabled-reason`,`waiting-for-webhook`,`disabled`,`executing`,`trigger-nodes`,`get-node-type`,`selected-trigger-node-name`,`type`,`onSelectTriggerNode`])):l(``,!0),va.value?(E(),f(e,{key:1},[(xa.value?Sa.value:rr.value)?(E(),s(Qa,{key:0,variant:`subtle`,label:r(b).baseText(`chat.hide`),class:H(r(u).chatButton),onClick:wa},null,8,[`label`,`class`])):(E(),s(jn,{key:1,label:r(b).baseText(`chat.open`),shortcut:{keys:[`c`]}},{default:O(()=>[S(Qa,{variant:ta.value?`subtle`:`solid`,label:r(b).baseText(`chat.open`),class:H(r(u).chatButton),onClick:Ca},null,8,[`variant`,`label`,`class`])]),_:1},8,[`label`]))],64)):l(``,!0),na.value?(E(),s(qa,{key:2,stopping:Yi.value,onClick:pa},null,8,[`stopping`])):l(``,!0),ra.value?(E(),s(Ja,{key:3,onClick:ma})):l(``,!0)],2)],2)):l(``,!0),Ln.value?(E(),s(r(At),{key:2,theme:`warning`,icon:`lock`,class:H(r(u).readOnlyEnvironmentNotification)},{default:O(()=>[n(N(r(b).baseText(`readOnlyEnv.cantEditOrRun`)),1)]),_:1},8,[`class`])):l(``,!0),r(K).currentWriter&&!r(K).isCurrentTabWriter?(E(),s(r(Tt),{key:3,class:H(r(u).canvasCenterPill),"is-another-tab":Yn.value,"first-name":r(K).currentWriter.user.firstName,"last-name":r(K).currentWriter.user.lastName,onButtonClick:Ia},null,8,[`class`,`is-another-tab`,`first-name`,`last-name`])):l(``,!0),r(Oe).streaming&&!r(Oe).isHelpStreaming?(E(),s(r(Fe),{key:4,class:H(r(u).canvasCenterPill),"show-stop":``,onStop:r(Oe).abortStreaming},null,8,[`class`,`onStop`])):l(``,!0),(E(),s(L,null,{default:O(()=>[Kn.value?l(``,!0):(E(),s(r(i),{key:0,"create-node-active":r(V).isCreateNodeActive,"node-view-scale":za.value.zoom,"focus-panel-active":r(W).focusPanelActive,onToggleNodeCreator:zi,onAddNodes:Ni,onAddEmptyGroup:Fi,onClose:ji},null,8,[`create-node-active`,`node-view-scale`,`focus-panel-active`]))]),_:1})),(E(),s(L,null,{default:O(()=>[S(r(a),{"read-only":Kn.value,"is-production-execution-preview":r(j).isProductionExecutionPreview.value,onRenameNode:li,onStopExecution:pa,onSwitchSelectedNode:Li,onOpenConnectionNodeCreator:Ri,onReplaceNode:Ki},null,8,[`read-only`,`is-production-execution-preview`])]),_:1}))]),_:1},8,[`id`,`fallback-nodes`,`show-fallback-nodes`,`event-bus`,`read-only`,`group-expansion-mode`,`can-execute`,`executing`,`key-bindings`,`suppress-interaction`,`striped-background`,`hide-controls`,`initial-viewport`,`onUpdate:logs:inputOpen`,`onUpdate:logs:outputOpen`,`onUpdate:hasRangeSelection`,`onUpdate:selectedGroup`])),!vn.value&&(!r(Ne).isNdvInFocusPanelEnabled||!Kn.value)?(E(),s(Ka,{key:1,"is-canvas-read-only":Kn.value,onContextMenuAction:ii},null,8,[`is-canvas-read-only`])):l(``,!0)],2))}}),[[`__cssModules`,{$style:{wrapper:`_wrapper_gww6k_113`,executionButtonsContainer:`_executionButtonsContainer_gww6k_118`,executionButtons:`_executionButtons_gww6k_118`,chatButton:`_chatButton_gww6k_151`,canvasTopLeftContainer:`_canvasTopLeftContainer_gww6k_155`,canvasTopLeft:`_canvasTopLeft_gww6k_155`,canvasOnlyLogo:`_canvasOnlyLogo_gww6k_171`,setupCredentialsButton:`_setupCredentialsButton_gww6k_175`,evaluationsCanvasInfoCardWrapper:`_evaluationsCanvasInfoCardWrapper_gww6k_179`,readOnlyEnvironmentNotification:`_readOnlyEnvironmentNotification_gww6k_186`,canvasCenterPill:`_canvasCenterPill_gww6k_193`}}]]);export{Pi as n,ao as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NodeCreation-C8NFQ2Uw.js","assets/app-DIBCkflT.js","assets/rolldown-runtime-BobR2NKB.js","assets/vendor-BCjXakEm.js","assets/vendor-BpMiN8nO.css","assets/app-Q4jiTus4.css","assets/NodeCreation-CpR6ewOx.css","assets/NodeDetailsView-Bp65fCJz.js","assets/LogsOverviewRow-kON1-qPb.js","assets/AnimatedSpinner-BMl-I4VZ.js","assets/AnimatedSpinner-OiUdRqev.css","assets/LogsOverviewRow-DGf07F0R.css","assets/useLogsTreeExpand-Mx_htDU4.js","assets/useLogsTreeExpand-COyoDDNP.css","assets/useExecutionData-CsEzAhBk.js","assets/RunDataParsedAiContent-CVpou8eK.js","assets/RunDataParsedAiContent-Cr5GyLhr.css","assets/NodeDetailsView-DEIl7Nig.css","assets/SetupWorkflowCredentialsButton-catXap1S.js","assets/readyToRun.store-ZFxnyT8n.js","assets/SetupWorkflowCredentialsButton-DIAgU1S5.css"])))=>i.map(i=>d[i]);
2
+ try{(function(){var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`49bedf57-2676-4896-a714-7099584c11a5`,e._sentryDebugIdIdentifier=`sentry-dbid-49bedf57-2676-4896-a714-7099584c11a5`)})()}catch{}import{Ad as e,Af as t,Bd as n,Bf as r,Cf as i,Df as a,Eu as o,Fd as s,Hd as c,Id as l,If as u,Kd as d,Ld as f,Mf as p,Nd as m,Od as h,Pd as g,Pf as _,Qd as v,Rd as y,Rf as b,Ud as x,Vd as S,Xd as C,Zd as w,ad as T,af as E,as as D,bf as O,bu as k,cf as A,dd as j,ef as M,fp as N,gf as P,go as F,hi as I,jd as L,kd as R,kf as ee,ld as te,lp as z,mf as B,mo as ne,nf as re,of as ie,os as ae,pi as oe,rs as se,sf as V,sp as H,vd as ce,vf as U,wd as le,y as ue}from"./vendor-BCjXakEm.js";import{$ as de,$b as fe,$f as pe,$n as me,$u as he,Af as ge,Ai as _e,Bb as ve,Bd as ye,Bf as be,Bn as xe,Cc as Se,Ch as Ce,Cm as we,Cw as W,Dn as Te,Ef as Ee,En as De,Eu as G,FS as Oe,Fn as ke,Fp as Ae,GS as je,Gc as Me,Gf as Ne,Gm as Pe,HC as Fe,Hb as K,Hc as Ie,Hf as Le,Id as Re,J_ as ze,Jb as Be,Jc as Ve,Jm as He,Jn as Ue,Ju as q,Kf as We,Ku as Ge,Ld as Ke,Ln as qe,Lu as Je,Md as Ye,Mf as Xe,Mi as Ze,Mn as Qe,Mu as $e,My as et,Nc as tt,Ng as nt,Np as rt,Ou as it,Ow as J,PC as at,PS as ot,Pd as st,Pn as ct,Pu as lt,Q as ut,Q_ as dt,Qn as ft,Qu as pt,RC as mt,R_ as ht,Rc as gt,Rd as _t,Rf as vt,Sc as yt,Sf as bt,Sx as xt,Td as Y,Tx as St,Uf as Ct,Un as wt,VC as Tt,VS as Et,Vb as Dt,Vf as Ot,Vl as kt,WC as At,Wf as jt,Wo as Mt,Wu as Nt,X_ as Pt,Xn as Ft,Xu as It,Y_ as X,Yb as Lt,Yn as Rt,Yu as zt,Zn as Bt,_i as Vt,_m as Ht,_w as Ut,_x as Wt,at as Gt,ax as Kt,bc as qt,bf as Jt,bw as Z,bx as Yt,cd as Xt,cg as Zt,cl as Qt,cs as $t,ct as en,dc as tn,dt as nn,dw as Q,dx as rn,eS as an,eh as on,er as sn,ev as cn,ew as ln,fC as un,fc as dn,ft as fn,gb as pn,gd as mn,gf as hn,gg as gn,gh as _n,gi as vn,hS as yn,hc as bn,hd as $,hi as xn,hl as Sn,hu as Cn,ic as wn,id as Tn,ip as En,ir as Dn,it as On,jC as kn,jn as An,jo as jn,jp as Mn,kn as Nn,lc as Pn,lf as Fn,lh as In,mC as Ln,mf as Rn,ml as zn,mu as Bn,nd as Vn,np as Hn,ns as Un,nt as Wn,nu as Gn,nv as Kn,nw as qn,o_ as Jn,oc as Yn,og as Xn,oh as Zn,op as Qn,os as $n,ow as er,ox as tr,pl as nr,pt as rr,pw as ir,qn as ar,qu as or,qx as sr,rp as cr,rr as lr,rt as ur,ru as dr,sl as fr,sp as pr,ss as mr,th as hr,tr as gr,ts as _r,tt as vr,tv as yr,tw as br,uc as xr,up as Sr,ut as Cr,vc as wr,vd as Tr,vh as Er,vi as Dr,vw as Or,vx as kr,wu as Ar,ww as jr,xh as Mr,xi as Nr,xl as Pr,xn as Fr,xx as Ir,yc as Lr,yf as Rr,yi as zr,yl as Br,ym as Vr,yw as Hr,zC as Ur,zd as Wr,zf as Gr,zg as Kr,zn as qr}from"./app-DIBCkflT.js";import{t as Jr}from"./usePostMessageHandler-CLNsvQoB.js";import{t as Yr}from"./useMcpJsonNudgeTrigger-CHdONr8y.js";import{n as Xr,t as Zr}from"./EvaluationsPaywall-CgzQPhFy.js";import{t as Qr}from"./useExecutionData-CsEzAhBk.js";import{a as $r,c as ei,d as ti,i as ni,l as ri,n as ii,o as ai,r as oi,s as si,t as ci,u as li}from"./evaluation.constants-DMguZDM7.js";import{t as ui}from"./useEvaluationsLicense-D3DrRlAO.js";import{t as di}from"./useActivityDetection-PKJEtzSk.js";var fi=W(x({inheritAttrs:!1,__name:`WorkflowCanvas`,props:{id:{default:`canvas`},fallbackNodes:{default:()=>[]},showFallbackNodes:{type:Boolean,default:!0},eventBus:{default:()=>mt()},readOnly:{type:Boolean},groupExpansionMode:{default:void 0},canExecute:{type:Boolean},executing:{type:Boolean},suppressInteraction:{type:Boolean,default:!1},stripedBackground:{type:Boolean,default:!0},initialViewport:{}},setup(e,{expose:t}){let n=e,a=P(`canvas`),o=le(),s=Y(),c=_(Hn()),l;U(()=>s.value.documentId,e=>{l?.stop(),l=i(!0),l.run(()=>{c.value=ar(e)})},{immediate:!0}),ee(()=>l?.stop());let{onNodesInitialized:u,viewport:d,viewportRef:h,getNodes:v,fitBounds:y}=I(n.id),b=m(()=>n.showFallbackNodes?[...s.value.allNodes,...n.fallbackNodes]:s.value.allNodes),x=m(()=>s.value.connectionsBySourceNode),C=Bt({workflowId:()=>s.value.workflowId,getCurrentGroupIds:()=>s.value.allGroups.map(e=>e.id),onNodeGroupsChange:e=>s.value.onNodeGroupsChange(e),getGroupExpansionMode:()=>n.groupExpansionMode}),D=sn({workflowId:()=>s.value.workflowId,getCurrentGroups:()=>s.value.allGroups,onNodeGroupsChange:e=>s.value.onNodeGroupsChange(e)});U(()=>s.value.documentId,()=>{C.reinitialize(),ne(),D.reinitialize()});let O=m(()=>s.value.allGroups),k=m(()=>n.readOnly??!1),j=m(()=>n.suppressInteraction??!1),M=Sn(),N=m(()=>M.isActive(d.value.zoom)),F=Qt(),{nodes:L,connections:R,nodeDisplaySizeById:te,getNodeExecutionSnapshot:z}=Ue({nodes:b,connections:x,renderData:c,allGroups:O,nodeGroupView:C,isExperimentalNdvActive:N,getAgentNodeHeight:e=>F.getNodeHeight(n.id,e)}),B=m(()=>{switch(n.groupExpansionMode){case`all`:return O.value.map(e=>e.id);case`errored`:return O.value.filter(e=>vn(e.nodeIds,z)===`error`).map(e=>e.id);default:return[]}});function ne(){for(let e of B.value)C.setGroupExpanded(e,!0)}U(B,ne,{immediate:!0}),U(m(()=>s.value.allGroups.length===0?[]:ft({allGroups:s.value.allGroups,nodes:b.value,getNodeById:e=>s.value.getNodeById(e),getNodeDisplaySize:e=>te.value[e],isGroupCollapsed:e=>C.isGroupCollapsed(e)})),e=>C.syncLayoutComponents(e),{immediate:!0});let re=m(()=>Vt({allGroups:O.value,getNodeById:e=>s.value.getNodeById(e),getNodeDisplaySize:e=>te.value[e],getGroupVisualOffset:e=>C.getVisualOffsetForComponent(e),isGroupCollapsed:e=>C.isGroupCollapsed(e),readOnly:k.value||j.value,getNodeExecutionSnapshot:z})),ae=m(()=>[...L.value,...re.value]);ie(Ft,C),ie(me,D),ie(zr,{isGroupCollapsed:e=>C.isGroupCollapsed(e),isDescriptionVisible:e=>D.isVisible(e)});let se=p(!1),{off:V}=u(()=>{se.value||(n.initialViewport||n.eventBus.emit(`fitView`),se.value=!0,V())}),ce=T(ae,200),ue=T(R,200);return t({executeContextMenuAction:(e,t)=>a.value?.executeContextMenuAction(e,t),ensureNodesAreVisible:e=>{let t=h.value;if(!t)return;let r=v.value.filter(t=>e.includes(t.id));if(r.length===0)return;let i=u(()=>{let a=d.value,o=t.clientWidth,s=t.clientHeight,c=oe(r),l=c.x*a.zoom+a.x,u=c.y*a.zoom+a.y,f=c.width*a.zoom,p=c.height*a.zoom;if(!(l>=0&&u>=0&&l+f<=o&&u+p<=s)){let e={x:-a.x/a.zoom,y:-a.y/a.zoom,width:o/a.zoom,height:s/a.zoom},t=Math.min(e.x,c.x),n=Math.min(e.y,c.y),r=Math.max(e.x+e.width,c.x+c.width),i=Math.max(e.y+e.height,c.y+c.height);y({x:t,y:n,width:r-t,height:i-n},{padding:.15,duration:100})}n.eventBus.emit(`nodes:select`,{ids:e}),i.off()})}}),(t,n)=>(E(),f(`div`,{class:H(r(o).wrapper),"data-test-id":`canvas-wrapper`},[g(`div`,{id:`canvas`,class:H(r(o).canvas)},[S(Rt,w({id:e.id,ref:`canvas`,nodes:e.executing?r(ce):ae.value,connections:e.executing?r(ue):r(R),"render-data":c.value,"node-display-size-by-id":r(te),"event-bus":e.eventBus,"read-only":e.readOnly,"can-execute":e.canExecute,executing:e.executing,"suppress-interaction":e.suppressInteraction,"striped-background":e.stripedBackground,"initial-viewport":e.initialViewport},t.$attrs),null,16,[`id`,`nodes`,`connections`,`render-data`,`node-display-size-by-id`,`event-bus`,`read-only`,`can-execute`,`executing`,`suppress-interaction`,`striped-background`,`initial-viewport`])],2),A(t.$slots,`default`)],2))}}),[[`__cssModules`,{$style:{wrapper:`_wrapper_ainvf_1`,canvas:`_canvas_ainvf_9`}}]]),pi=W(x({__name:`FocusSidebarTabs`,props:{modelValue:{default:`setup`},tabLabels:{default:()=>({})}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=J(),i=Je(),a=nr(),o=m(()=>a.isFeatureEnabled),{isFeatureEnabled:s}=Xr(),c=e,l=t,u=m(()=>{let e=[];return o.value&&e.push({label:c.tabLabels?.setup??n.baseText(`setupPanel.tabs.setup`),value:`setup`}),e.push({label:c.tabLabels?.focus??n.baseText(`setupPanel.tabs.focus`),value:`focus`}),s.value&&e.push({label:c.tabLabels?.evaluations??n.baseText(`setupPanel.tabs.evaluations`),value:`evaluations`}),e}),d=e=>{l(`update:modelValue`,e)};return(t,n)=>(E(),f(`div`,{class:H(t.$style.container),"data-test-id":`setup-panel-tabs`},[S(r(ot),{"model-value":e.modelValue,options:u.value,size:`small`,"onUpdate:modelValue":d},null,8,[`model-value`,`options`]),g(`button`,{"data-test-id":`setup-panel-close`,class:H(t.$style[`close-button`]),onClick:n[0]||=e=>r(i).closeFocusPanel()},[S(r(Z),{icon:`x`,size:`small`})],2)],2))}}),[[`__cssModules`,{$style:{container:`_container_2u5bd_1`,"close-button":`_close-button_2u5bd_18`}}]]),mi=[`data-test-id`],hi=[`data-test-id`],gi=x({__name:`SetupCard`,props:C({isComplete:{type:Boolean},loading:{type:Boolean,default:!1},cardTestId:{},title:{},showFooter:{type:Boolean,default:!0},executableNode:{default:null},isTrigger:{type:Boolean,default:!1},isTestingCredential:{type:Boolean,default:!1},highlightNodeIds:{default:()=>[]},telemetryPayload:{default:()=>({})}},{expanded:{type:Boolean,default:!1},expandedModifiers:{}}),emits:[`update:expanded`],setup(t,{expose:i}){let a=t,o=B(t,`expanded`),c=J(),u=dt(),d=nr(),h=Y(),_=p(!1),v=()=>{_.value=!0},y=()=>{o.value=!o.value},b=()=>{a.highlightNodeIds.length>0&&d.setHighlightedNodes(a.highlightNodeIds)},x=()=>{a.highlightNodeIds.length>0&&d.clearHighlightedNodes()},C=m(()=>a.executableNode??null),{isExecuting:w,isButtonDisabled:T,label:D,buttonIcon:k,tooltipItems:j,execute:P,isInListeningState:F,listeningHint:I}=On(C),{webhookUrls:L}=ur(C),R=m(()=>a.executableNode?.type===`@n8n/n8n-nodes-langchain.chatTrigger`&&F.value?!1:!!a.executableNode),ee=m(()=>a.isTrigger&&F.value),te=async()=>{await P(),v()};return M(()=>{d.clearHighlightedNodes()}),U(()=>a.isComplete,e=>{e&&_.value&&(u.track(`User completed setup step`,{template_id:h?.value?.meta?.templateId,workflow_id:h?.value?.workflowId,...a.telemetryPayload}),_.value=!1)}),i({markInteracted:v}),(i,a)=>(E(),f(`div`,{"data-test-id":t.cardTestId,class:H([i.$style.card,{[i.$style.collapsed]:!o.value,[i.$style.completed]:t.isComplete,[i.$style[`no-footer`]]:!t.showFooter&&o.value}]),onMouseenter:b,onMouseleave:x},[g(`header`,{"data-test-id":`${t.cardTestId}-header`,class:H(i.$style.header),onClick:y},[!o.value&&t.loading&&!t.isComplete?(E(),s(r(Z),{key:0,"data-test-id":`${t.cardTestId}-loading-icon`,icon:`spinner`,spin:!0,class:H(i.$style[`loading-icon`]),size:`medium`},null,8,[`data-test-id`,`class`])):!o.value&&t.isComplete?(E(),s(r(Z),{key:1,"data-test-id":`${t.cardTestId}-complete-icon`,icon:`check`,class:H(i.$style[`complete-icon`]),size:`medium`},null,8,[`data-test-id`,`class`])):A(i.$slots,`icon`,{key:2},void 0,!0),S(r(Q),{class:H(i.$style[`card-title`]),size:`medium`,color:`text-dark`},{default:O(()=>[n(N(t.title),1)]),_:1},8,[`class`]),g(`div`,{class:H(i.$style[`header-extra`])},[A(i.$slots,`header-extra`,{},void 0,!0)],2),S(r(Z),{class:H(i.$style.chevron),icon:o.value?`chevrons-down-up`:`chevrons-up-down`,size:`large`,color:`text-light`},null,8,[`class`,`icon`])],10,hi),o.value?(E(),f(e,{key:0},[A(i.$slots,`card-description`,{},void 0,!0),S(ce,{name:`callout-fade`},{default:O(()=>[ee.value?(E(),f(`div`,{key:0,class:H(i.$style[`callout-grid`])},[g(`div`,{class:H(i.$style[`callout-inner`])},[S(r(At),{"data-test-id":`trigger-listening-callout`,theme:`secondary`,class:H(i.$style.callout)},{default:O(()=>[n(N(r(I)),1)]),_:1},8,[`class`])],2)],2)):l(``,!0)]),_:1}),t.isTrigger&&r(F)&&r(L).length>0?(E(),s(fn,{key:0,urls:r(L)},null,8,[`urls`])):l(``,!0),A(i.$slots,`default`,{},void 0,!0),t.showFooter?(E(),f(`footer`,{key:1,class:H(i.$style.footer)},[t.isComplete?(E(),f(`div`,{key:0,class:H(i.$style[`footer-complete-check`])},[S(r(Z),{icon:`check`,class:H(i.$style[`complete-icon`]),size:`large`},null,8,[`class`]),S(r(Q),{size:`medium`,color:`success`},{default:O(()=>[n(N(r(c).baseText(`generic.complete`)),1)]),_:1})],2)):l(``,!0),A(i.$slots,`footer-actions`,{},void 0,!0),R.value?(E(),s(rr,{key:1,label:r(D),icon:r(k),disabled:r(T)||t.isTestingCredential,loading:r(w),"tooltip-items":r(j),onClick:te},null,8,[`label`,`icon`,`disabled`,`loading`,`tooltip-items`])):l(``,!0)],2)):l(``,!0)],64)):l(``,!0)],42,mi))}}),_i=`_card_gqw1c_1`,vi=`_header_gqw1c_14`,yi=`_chevron_gqw1c_25`,bi=`_collapsed_gqw1c_34`,xi=`_footer_gqw1c_59`,Si=`_completed_gqw1c_86`,Ci=`_callout_gqw1c_93`,wi=W(gi,[[`__cssModules`,{$style:{card:_i,"no-footer":`_no-footer_gqw1c_10`,header:vi,"header-extra":`_header-extra_gqw1c_22`,chevron:yi,collapsed:bi,"card-title":`_card-title_gqw1c_38`,"complete-icon":`_complete-icon_gqw1c_43`,"loading-icon":`_loading-icon_gqw1c_52`,footer:xi,"footer-complete-check":`_footer-complete-check_gqw1c_66`,completed:Si,callout:Ci,"callout-grid":`_callout-grid_gqw1c_97`,"callout-inner":`_callout-inner_gqw1c_102`}}],[`__scopeId`,`data-v-119aeb94`]]),Ti=W(x({__name:`NodeSetupCard`,props:C({state:{},firstTriggerName:{}},{expanded:{type:Boolean,default:!1},expandedModifiers:{}}),emits:C([`credentialSelected`,`credentialDeselected`],[`update:expanded`]),setup(e,{emit:t}){let i=e,a=B(e,`expanded`),o=t,c=J(),u=st(),d=Rn(),f=Nt(),h=Y(),_=p(null),v=m(()=>u.getNodeType(i.state.node.type,i.state.node.typeVersion)),b=m(()=>!!i.state.credentialType),x=m(()=>i.state.isTrigger?!i.firstTriggerName||i.state.node.type===`n8n-nodes-base.manualTrigger`?null:i.state.node.name===i.firstTriggerName?i.state.node:null:f.isNodeExecutable(i.state.node,!0,[])?i.state.node:null),C=m(()=>{let e=i.state.selectedCredentialId;return!!e&&d.isCredentialTestPending(e)}),w=m(()=>!b.value||x.value!==null||i.state.isComplete),T=m(()=>Object.keys(i.state.parameterIssues).length>0),D=p([]),k=m(()=>D.value.length>0),A=m(()=>i.state.isTrigger&&!b.value&&!k.value),j=m(()=>b.value&&!k.value&&!A.value),M=m(()=>{let e=[];return A.value&&e.push(`trigger`),b.value&&e.push(`credential`),T.value&&e.push(`param`),{type:e,template_id:h.value.meta?.templateId,workflow_id:h.value.workflowId,node_types:(i.state.allNodesUsingCredential??[i.state.node]).map(e=>e.type),credential_type:i.state.credentialType,has_parameters:T.value,missing_parameters_count:Object.keys(i.state.parameterIssues).length}}),P=()=>{_.value?.markInteracted()},F=p(Object.keys(i.state.parameterIssues).length===0),I=m(()=>F.value||(i.state.additionalParameterNames?.length??0)>0&&Object.keys(i.state.parameterIssues).length===0),L=p(!i.state.isAutoApplied);U(()=>i.state.isAutoApplied??!1,e=>{e||(L.value=!0)}),U(a,(e,t)=>{t&&!e&&(Object.keys(i.state.parameterIssues).length===0&&(F.value=!0),i.state.isAutoApplied&&(L.value=!0))});let R=m(()=>k.value?i.state.isComplete&&I.value&&L.value:i.state.isComplete&&L.value),ee=m(()=>(i.state.allNodesUsingCredential??[i.state.node]).map(({id:e})=>e));return(t,i)=>(E(),s(wi,{ref_key:`setupCard`,ref:_,expanded:a.value,"onUpdate:expanded":i[3]||=e=>a.value=e,"is-complete":R.value,loading:C.value,title:e.state.node.name,"show-footer":w.value,"executable-node":x.value,"is-trigger":e.state.isTrigger,"is-testing-credential":C.value,"telemetry-payload":M.value,"highlight-node-ids":ee.value,"card-test-id":`node-setup-card`},y({icon:O(()=>[j.value?(E(),s(Ve,{key:0,"credential-type-name":e.state.credentialType,size:16},null,8,[`credential-type-name`])):(E(),s(tt,{key:1,"node-type":v.value,size:16},null,8,[`node-type`]))]),"card-description":O(()=>[e.state.isTrigger&&b.value&&!e.state.selectedCredentialId?(E(),s(r(Q),{key:0,size:`medium`,color:`text-base`,class:`pl-xs pr-xs`},{default:O(()=>[n(N(r(c).baseText(`setupPanel.trigger.credential.note`)),1)]),_:1})):k.value?(E(),s(r(Q),{key:1,size:`medium`,color:`text-base`,class:`pl-xs pr-xs`},{default:O(()=>[n(N(r(c).baseText(`setupPanel.parameter.description`)),1)]),_:1})):l(``,!0)]),default:O(()=>[A.value?l(``,!0):(E(),s(nn,{key:0,state:e.state},{default:O(()=>[g(`div`,{class:H(t.$style.content)},[S(Gt,{state:e.state,"sticky-parameters":D.value,onCredentialSelected:i[0]||=e=>{P(),o(`credentialSelected`,e)},onCredentialDeselected:i[1]||=e=>{P(),o(`credentialDeselected`,e)},onInteracted:P,onParametersDiscovered:i[2]||=e=>D.value.push(...e)},null,8,[`state`,`sticky-parameters`])],2)]),_:1},8,[`state`]))]),_:2},[A.value?{name:`header-extra`,fn:O(()=>[S(r(ir),null,{content:O(()=>[n(N(r(c).baseText(`nodeCreator.nodeItem.triggerIconTitle`)),1)]),default:O(()=>[S(r(Z),{icon:`zap`,size:`small`,color:`text-light`})]),_:1})]),key:`0`}:void 0]),1032,[`expanded`,`is-complete`,`loading`,`title`,`show-footer`,`executable-node`,`is-trigger`,`is-testing-credential`,`telemetry-payload`,`highlight-node-ids`]))}}),[[`__cssModules`,{$style:{content:`_content_uaete_1`}}]]),Ei=[`onMouseenter`],Di=[`onClick`],Oi=W(x({__name:`NodeGroupSetupCard`,props:C({nodeGroup:{}},{expanded:{type:Boolean,default:!1},expandedModifiers:{}}),emits:C([`credentialSelected`,`credentialDeselected`],[`update:expanded`]),setup(t,{emit:i}){let a=t,o=B(t,`expanded`),c=i,d=Nt(),h=Y(),_=nr(),v=p(null),{parentNodeType:y,subnodeSections:b,allSections:x,getStickyParameters:C,addStickyParameters:w,expandedSections:T,toggleSection:D,hoveredSection:k,onSectionMouseEnter:A,onSectionMouseLeave:j,getSectionNodeType:M}=Wn(u(a,`nodeGroup`)),P=m(()=>{let e=a.nodeGroup.parentNode;return d.isNodeExecutable(e,!0,[])?e:null}),F=m(()=>en({nodeGroup:a.nodeGroup})),I=m(()=>{let e=new Set([a.nodeGroup.parentNode.id]);for(let t of x.value)e.add(t.node.id);return[...e]}),L=m(()=>k.value?(k.value.allNodesUsingCredential??[k.value.node]).map(e=>e.id):I.value);U(L,e=>{o.value&&_.setHighlightedNodes(e)}),U(o,(e,t)=>{t&&!e&&(k.value=null)});let R=m(()=>x.value.some(vr)),ee=m(()=>({type:[`node-group`],template_id:h.value.meta?.templateId,workflow_id:h.value.workflowId,node_types:x.value.map(e=>e.node.type),has_parameters:R.value})),te=m(()=>P.value!==null),z=()=>{v.value?.markInteracted()};return(i,a)=>(E(),s(wi,{ref_key:`setupCard`,ref:v,expanded:o.value,"onUpdate:expanded":a[8]||=e=>o.value=e,"is-complete":F.value,title:t.nodeGroup.parentNode.name,"show-footer":te.value,"executable-node":P.value,"telemetry-payload":ee.value,"highlight-node-ids":L.value,"card-test-id":`node-group-setup-card`},{icon:O(()=>[S(tt,{"node-type":r(y),size:16},null,8,[`node-type`])]),default:O(()=>[t.nodeGroup.parentState?(E(),f(`div`,{key:0,class:H(i.$style.parentBody),onMouseenter:a[3]||=e=>r(A)(t.nodeGroup.parentState),onMouseleave:a[4]||=(...e)=>r(j)&&r(j)(...e)},[S(nn,{state:t.nodeGroup.parentState},{default:O(()=>[S(Gt,{state:t.nodeGroup.parentState,"sticky-parameters":r(C)(t.nodeGroup.parentState.node.id),onCredentialSelected:a[0]||=e=>{z(),c(`credentialSelected`,e)},onCredentialDeselected:a[1]||=e=>{z(),c(`credentialDeselected`,e)},onInteracted:z,onParametersDiscovered:a[2]||=e=>r(w)(t.nodeGroup.parentState.node.id,e)},null,8,[`state`,`sticky-parameters`])]),_:1},8,[`state`])],34)):l(``,!0),g(`div`,{class:H(i.$style.sections),"data-test-id":`node-group-sections`},[(E(!0),f(e,null,V(r(b),e=>(E(),f(`div`,{key:e.node.id,class:H(i.$style.section),"data-test-id":`node-group-section`,onMouseenter:t=>r(A)(e),onMouseleave:a[7]||=(...e)=>r(j)&&r(j)(...e)},[g(`div`,{class:H(i.$style.sectionHeader),"data-test-id":`node-group-section-header`,onClick:t=>r(D)(e.node.id)},[e.isComplete?(E(),s(r(Z),{key:0,icon:`check`,size:`small`,class:H(i.$style.sectionCheck)},null,8,[`class`])):(E(),s(tt,{key:1,"node-type":r(M)(e),size:14},null,8,[`node-type`])),S(r(Q),{class:H(i.$style.sectionTitle),size:`medium`,color:`text-dark`},{default:O(()=>[n(N(e.node.name),1)]),_:2},1032,[`class`]),S(r(Z),{class:H(i.$style.sectionChevron),icon:r(T)[e.node.id]?`chevrons-down-up`:`chevrons-up-down`,size:`large`,color:`text-light`},null,8,[`class`,`icon`])],10,Di),r(T)[e.node.id]?(E(),f(`div`,{key:0,class:H(i.$style.sectionContent)},[S(nn,{state:e},{default:O(()=>[S(Gt,{state:e,"sticky-parameters":r(C)(e.node.id),onCredentialSelected:a[5]||=e=>{z(),c(`credentialSelected`,e)},onCredentialDeselected:a[6]||=e=>{z(),c(`credentialDeselected`,e)},onInteracted:z,onParametersDiscovered:t=>r(w)(e.node.id,t)},null,8,[`state`,`sticky-parameters`,`onParametersDiscovered`])]),_:2},1032,[`state`])],2)):l(``,!0)],42,Ei))),128))],2)]),_:1},8,[`expanded`,`is-complete`,`title`,`show-footer`,`executable-node`,`telemetry-payload`,`highlight-node-ids`]))}}),[[`__cssModules`,{$style:{parentBody:`_parentBody_xc0ia_1`,sections:`_sections_xc0ia_5`,section:`_section_xc0ia_5`,sectionHeader:`_sectionHeader_xc0ia_16`,sectionChevron:`_sectionChevron_xc0ia_23`,sectionTitle:`_sectionTitle_xc0ia_30`,sectionCheck:`_sectionCheck_xc0ia_35`,sectionContent:`_sectionContent_xc0ia_39`}}]]),ki=W(x({__name:`SetupPanelCards`,props:{showCompleted:{type:Boolean,default:!0}},setup(i){let a=i,o=J(),c=dt(),u=$n(),d=Y(),{setupCards:p,isAllComplete:h,setCredential:_,unsetCredential:v,firstTriggerName:y}=de();U(h,e=>{e&&c.track(`User completed all setup steps`,{template_id:d?.value?.meta?.templateId,workflow_id:u.value})});let b=e=>{_(e.credentialType,e.credentialId,e.nodeName)},x=e=>{v(e.credentialType,e.nodeName)},C=m(()=>a.showCompleted?p.value:p.value.filter(e=>!en(e))),w=e=>Cr(e)?`group-${e.nodeGroup.parentNode.id}`:e.state.credentialType?`${e.state.credentialType}-${e.state.node.id}`:`${e.state.node.id}`,T=t({}),D=new Map,k=new Set,A=!1,j=e=>T[e]??!1,M=(e,t)=>e.find((e,n)=>n>t&&!en(e)),P=(e,t)=>{if(T[e]=t,!t){let t=p.value,n=t.findIndex(t=>w(t)===e),r=t[n];if(r&&en(r)&&k.has(e)){let e=M(t,n);e&&(T[w(e)]=!0)}}};return U(p,e=>{for(let t of e){let e=w(t);k.has(e)||(Cr(t)?[...t.nodeGroup.parentState?[t.nodeGroup.parentState]:[],...t.nodeGroup.subnodeCards].some(vr)&&k.add(e):vr(t.state)&&k.add(e))}if(A){let t=M(e,-1);if(t&&!D.has(w(t))){let n=e.findIndex(e=>T[w(e)]);n>e.indexOf(t)&&(T[w(e[n])]=!1,T[w(t)]=!0)}for(let t=0;t<e.length;t++){let n=e[t],r=w(n),i=D.get(r)??!1,a=en(n),o=Cr(n)?[...n.nodeGroup.parentState?[n.nodeGroup.parentState]:[],...n.nodeGroup.subnodeCards].some(e=>e.isAutoApplied):n.state.isAutoApplied;if(a&&!i&&!k.has(r)){if(T[r]=!1,!o||e.every((e,n)=>n===t||!T[w(e)])){let n=M(e,t);n&&(T[w(n)]=!0)}break}}}else{if(e.length===0)return;let t=M(e,-1);t&&(T[w(t)]=!0),A=!0}D.clear();for(let t of e)D.set(w(t),en(t))},{deep:!0,immediate:!0}),(t,i)=>(E(),f(`div`,{class:H(t.$style.container),"data-test-id":`setup-panel-cards-container`},[r(p).length===0?(E(),f(`div`,{key:0,class:H(t.$style[`empty-state`]),"data-test-id":`setup-cards-empty`},[S(r(Z),{icon:`list-checks`,class:H(t.$style[`empty-icon`]),size:24,color:`text-base`},null,8,[`class`]),g(`div`,{class:H(t.$style[`empty-text`])},[S(r(Q),{size:`medium`,color:`text-base`,bold:!0,"data-test-id":`setup-cards-empty-heading`},{default:O(()=>[n(N(r(o).baseText(`setupPanel.empty.heading`)),1)]),_:1}),S(r(Q),{size:`medium`,color:`text-light`,"data-test-id":`setup-cards-empty-description`},{default:O(()=>[n(N(r(o).baseText(`setupPanel.empty.description`)),1)]),_:1})],2)],2)):(E(),f(`div`,{key:1,class:H(t.$style[`card-list`]),"data-test-id":`setup-cards-list`},[(E(!0),f(e,null,V(C.value,t=>(E(),f(e,{key:w(t)},[t.nodeGroup?(E(),s(Oi,{key:0,"node-group":t.nodeGroup,expanded:j(w(t)),"onUpdate:expanded":e=>P(w(t),e),onCredentialSelected:b,onCredentialDeselected:x},null,8,[`node-group`,`expanded`,`onUpdate:expanded`])):(E(),s(Ti,{key:1,state:t.state,"first-trigger-name":r(y),expanded:j(w(t)),"onUpdate:expanded":e=>P(w(t),e),onCredentialSelected:b,onCredentialDeselected:x},null,8,[`state`,`first-trigger-name`,`expanded`,`onUpdate:expanded`]))],64))),128)),r(h)?(E(),f(`div`,{key:0,class:H(t.$style[`complete-message`]),"data-test-id":`setup-cards-complete-message`},[S(r(Q),{size:`medium`,color:`text-base`},{default:O(()=>[n(N(r(o).baseText(`setupPanel.everythingConfigured.message`)),1)]),_:1})],2)):l(``,!0)],2))],2))}}),[[`__cssModules`,{$style:{container:`_container_9tg0x_1`,"card-list":`_card-list_9tg0x_2`,"empty-state":`_empty-state_9tg0x_10`,"empty-text":`_empty-text_9tg0x_20`,"complete-message":`_complete-message_9tg0x_26`}}]]),Ai=W(x({__name:`SetupPanel`,setup(e){let t=J(),i=p(!0);return(e,a)=>(E(),f(`div`,{class:H(e.$style.container),"data-test-id":`setup-panel-container`},[g(`div`,{class:H(e.$style.content),"data-test-id":`setup-panel-cards`},[S(ki,{"show-completed":i.value},null,8,[`show-completed`])],2),g(`footer`,{class:H(e.$style.footer),"data-test-id":`setup-panel-footer`},[S(r(Q),{class:H(e.$style[`toggle-label`]),tag:`label`,size:`small`},{default:O(()=>[S(r(Oe),{modelValue:i.value,"onUpdate:modelValue":a[0]||=e=>i.value=e,size:`small`},null,8,[`modelValue`]),n(` `+N(r(t).baseText(`setupPanel.showCompleted`)),1)]),_:1},8,[`class`])],2)],2))}}),[[`__cssModules`,{$style:{container:`_container_o3lgs_1`,content:`_content_o3lgs_12`,footer:`_footer_o3lgs_22`,"toggle-label":`_toggle-label_o3lgs_32`}}]]),ji=W(x({__name:`ExperimentalNodeDetailsDrawer`,props:{node:{},nodeIds:{},isReadOnly:{type:Boolean}},emits:[`openNdv`,`contextMenuAction`],setup(t,{emit:i}){let a=i,o=lr(m(()=>t.node)),c=Dr(m(()=>t.nodeIds)),u=bt(),d=p(0),h=m(()=>[t.node.id,d.value].join(`|`));return U(()=>u.value.activeNodeName,(e,t)=>{e===null&&t!==null&&(d.value+=1)}),ie(Jn,o),(i,o)=>(E(),f(`div`,{class:H(i.$style.component)},[t.nodeIds.length>1?(E(),s(r(Q),{key:0,tag:`div`,color:`text-base`,class:H(i.$style.multipleNodes)},{default:O(()=>[g(`div`,null,N(t.nodeIds.length)+` nodes selected`,1),g(`ul`,{class:H(i.$style.multipleNodesActions)},[(E(!0),f(e,null,V(r(c),e=>(E(),f(`li`,{key:e.id,class:H(i.$style.multipleNodesAction)},[S(r(Hr),{variant:`subtle`,disabled:e.disabled,onClick:n=>a(`contextMenuAction`,e.id,t.nodeIds)},{default:O(()=>[n(N(e.label)+` `,1),e.shortcut?(E(),s(r(br),w({key:0,ref_for:!0},e.shortcut),null,16)):l(``,!0)]),_:2},1032,[`disabled`,`onClick`])],2))),128))],2)]),_:1},8,[`class`])):t.node?(E(),s(Dn,{key:h.value,"node-id":t.node.id,"is-read-only":t.isReadOnly},null,8,[`node-id`,`is-read-only`])):l(``,!0)],2))}}),[[`__cssModules`,{$style:{component:`_component_1qt9j_1`,multipleNodes:`_multipleNodes_1qt9j_6`,multipleNodesActions:`_multipleNodesActions_1qt9j_16`,multipleNodesAction:`_multipleNodesAction_1qt9j_16`}}]]),Mi=W(x({__name:`ExperimentalFocusPanelHeader`,props:{node:{},parameter:{},isExecutable:{type:Boolean},readOnly:{type:Boolean}},emits:[`execute`,`openNdv`,`clearParameter`,`renameNode`],setup(t,{emit:i}){let a=i,o=st(),c=J(),u=m(()=>o.getNodeType(t.node.type,t.node.typeVersion));return(i,o)=>(E(),s(r(Q),{tag:`header`,size:`small`,bold:``,class:H(i.$style.component)},{default:O(()=>[S(tt,{"node-type":u.value,size:16},null,8,[`node-type`]),g(`div`,{class:H(i.$style.breadcrumbs)},[t.parameter?(E(),f(e,{key:0},[S(r(Q),{size:`small`,color:`text-base`,bold:``},{default:O(()=>[n(N(t.node.name),1)]),_:1}),S(r(Q),{size:`small`,color:`text-light`},{default:O(()=>[...o[4]||=[n(`/`,-1)]]),_:1}),n(` `+N(t.parameter.displayName),1)],64)):(E(),s(r(yn),{key:1,"model-value":t.node.name,"min-width":0,"max-width":500,placeholder:r(c).baseText(`ndv.title.rename.placeholder`),"read-only":t.readOnly,"onUpdate:modelValue":o[0]||=e=>a(`renameNode`,e)},null,8,[`model-value`,`placeholder`,`read-only`]))],2),t.parameter?(E(),s(r(Or),{key:0,variant:`ghost`,icon:`x`,size:`small`,onClick:o[1]||=e=>a(`clearParameter`)})):(E(),s(r(Or),{key:1,variant:`ghost`,icon:`expand`,size:`small`,onClick:o[2]||=e=>a(`openNdv`)})),t.isExecutable?(E(),s(Lr,{key:2,"data-test-id":`node-execute-button`,"node-name":t.node.name,tooltip:`Execute ${t.node.name}`,variant:`subtle`,size:`small`,icon:`play`,square:!0,"hide-label":!0,"telemetry-source":`focus`,onExecute:o[3]||=e=>a(`execute`)},null,8,[`node-name`,`tooltip`])):l(``,!0)]),_:1},8,[`class`]))}}),[[`__cssModules`,{$style:{component:`_component_1ijt6_1`,breadcrumbs:`_breadcrumbs_1ijt6_9`}}]]),Ni=W(x({name:`FocusPanel`,__name:`FocusPanel`,props:{isCanvasReadOnly:{type:Boolean}},emits:[`focus`,`saveKeyboardShortcut`,`contextMenuAction`],setup(t,{emit:i}){let a=t,o=i,c=p(),d=J(),h=Nt(),_=Je(),y=$n(),b=Y(),x=m(()=>mn(b.value.documentId)),C=st(),w=nr(),T=dt(),D=$t(),A=Ee(),j=Sn(),M=bt(),P=I(y.value),{renameNode:F}=fr(),L=m(()=>_.resolvedParameter),R=p(``),ee=k(async()=>{if(!L.value)return!1;let e=L.value.parameterPath.split(`.`).slice(1,-1).join(`.`);return!!L.value.parameter.disabledOptions&&await D.shouldDisplayNodeParameter(L.value.node.parameters,L.value.node,L.value.parameter,e,`disabledOptions`)},!1),te=k(async()=>{if(!L.value)return!0;let e=L.value.parameterPath.split(`.`).slice(1,-1).join(`.`);return await D.shouldDisplayNodeParameter(L.value.node.parameters,L.value.node,L.value.parameter,e,`displayOptions`)},!0),z=m(()=>{if(!j.isNdvInFocusPanelEnabled||L.value)return L.value?.node;let e=P.getSelectedNodes.value[0];return e?.data?.render.type===rt.Default?(b?.value?.allNodes??[]).find(t=>t.id===e.id):void 0}),B=m(()=>P.getSelectedNodes.value.length>1),ne=m(()=>{if(!z.value||!te.value)return!1;let e=h.getForeignCredentialsIfSharingEnabled(z.value.credentials);return h.isNodeExecutable(z.value,!a.isCanvasReadOnly,e)}),{workflowRunData:re}=Qr({node:z}),ie=m(()=>{if(!z.value)return!0;let e=b?.value?.getParentNodes(z.value.name,`main`,1)[0];return!!(e&&re.value&&Object.prototype.hasOwnProperty.bind(re.value)(e))});function ae(e){return L.value?xr(L.value.parameter,e):void 0}let oe=m(()=>L.value?.node.parameters.mode),se=m(()=>ae(`editor`)??void 0),V=m(()=>se.value===`json`||L.value?.parameter.type===`json`?`json`:ae(`editorLanguage`)??`javaScript`),ce=m(()=>ae(`rows`)),le=m(()=>L.value?C.isToolNode(L.value?.node.type):!1),ue=m(()=>!!L.value&&L.value.node.type===`n8n-nodes-base.html`),de=m(()=>L.value&&pe(L.value.parameter,L.value.value)),fe=m(()=>de.value?Kt(L.value)?L.value.value:L.value:``),me=m(()=>L.value?.node.type===Wt),he=m(()=>a.isCanvasReadOnly||ee.value),ge=m(()=>({$vars:A.variablesAsObject})),_e=m(()=>{if(L.value)return{nodeName:L.value.node.name,parameterPath:L.value.parameterPath}}),ve=m(()=>x.value.executingNode.isNodeExecuting(z.value?.name??``)),ye=m(()=>P.getSelectedNodes.value.map(e=>e.id)),be=m(()=>j.isNdvInFocusPanelEnabled?d.baseText(`nodeView.focusPanel.v2.noParameters.title`):d.baseText(`nodeView.focusPanel.noParameters.title`)),xe=m(()=>j.isNdvInFocusPanelEnabled?d.baseText(`nodeView.focusPanel.v2.noParameters.subtitle`):d.baseText(`nodeView.focusPanel.noParameters.subtitle`)),{resolvedExpression:Se}=Mt({expression:fe,additionalData:ge,stringifyObject:L.value&&L.value.parameter.type!==`multiOptions`});function Ce(e){L.value!==void 0&&D.updateNodeParameter(u(L.value.node.parameters),{value:e,name:L.value.parameterPath},e,L.value.node,le.value)}async function we(){await v(),c.value&&(Ht(c.value)?c.value.focusOnInput():Vr(c.value)&&c.value.focus()),o(`focus`)}function W(e){if(L.value)switch(e){case`resetValue`:typeof L.value.parameter.default==`string`&&Ce(L.value.parameter.default),we();break;case`addExpression`:{let e=Pn(L.value.value,L.value.parameter.type);Ce(typeof e==`string`?e:e.value),we();break}case`removeExpression`:{let e=dn(L.value.value,Se.value,L.value.parameter.type,L.value.parameter.default,(L.value.parameter.options??[]).filter(tn));typeof e==`string`?Ce(e):e&&typeof e.value==`string`&&Ce(e.value),we();break}case`formatHtml`:it.emit(`format-html`);break}}function Te(){if((j.isNdvInFocusPanelEnabled||w.isFeatureEnabled)&&L.value){_.unsetParameters(),T.track(`User removed focused param`,{source:`closeIcon`,parameters:_.focusedNodeParametersInTelemetryFormat});return}T.track(`User closed focus panel`,{source:`closeIcon`,parameters:_.focusedNodeParametersInTelemetryFormat}),_.closeFocusPanel()}function De(){T.track(`User executed node from focus panel`,_.focusedNodeParametersInTelemetryFormat[0])}function G(e){R.value=e,Ce(e)}function Oe(){setTimeout(()=>{we()},50)}U([()=>_.lastFocusTimestamp,()=>de.value],()=>Oe()),U(()=>L.value,e=>{if(e){let t=e.value;typeof t==`string`&&t!==R.value&&(R.value=t)}},{immediate:!0});function ke(){z.value&&M.value.setActiveNodeName(z.value.name,`focus_panel`)}function Ae(e){z.value&&F(z.value.name,e)}return(i,a)=>(E(),f(`div`,{"data-test-id":`focus-panel`,class:H([i.$style.content,{[i.$style.isNdvInFocusPanelEnabled]:r(j).isNdvInFocusPanelEnabled}])},[r(j).isNdvInFocusPanelEnabled&&z.value&&!B.value?(E(),s(Mi,{key:0,node:z.value,parameter:L.value?.parameter,"is-executable":ne.value,"read-only":t.isCanvasReadOnly,onExecute:De,onOpenNdv:ke,onClearParameter:Te,onRenameNode:Ae},null,8,[`node`,`parameter`,`is-executable`,`read-only`])):l(``,!0),L.value?(E(),f(`div`,{key:1,class:H(i.$style.content),"data-test-id":`focus-parameter`},[r(j).isNdvInFocusPanelEnabled?l(``,!0):(E(),f(`div`,{key:0,class:H(i.$style.tabHeader)},[g(`div`,{class:H(i.$style.tabHeaderText)},[S(r(Q),{color:`text-dark`,size:`small`},{default:O(()=>[n(N(L.value.parameter.displayName),1)]),_:1}),S(r(Q),{color:`text-base`,size:`xsmall`},{default:O(()=>[n(N(L.value.node.name),1)]),_:1})],2),g(`div`,{class:H(i.$style.buttonWrapper)},[S(Lr,{"data-test-id":`node-execute-button`,"node-name":L.value.node.name,tooltip:`Execute ${L.value.node.name}`,disabled:!ne.value,size:`small`,icon:`play`,square:!0,"hide-label":!0,"telemetry-source":`focus`,onExecute:De},null,8,[`node-name`,`tooltip`,`disabled`]),S(r(Z),{class:H(i.$style.closeButton),icon:`x`,color:`text-base`,size:`xlarge`,onClick:Te},null,8,[`class`])],2)],2)),g(`div`,{class:H(i.$style.parameterDetailsWrapper)},[g(`div`,{class:H(i.$style.parameterOptionsWrapper)},[g(`div`,{class:H(i.$style.noExecutionDataTip)},[!ie.value&&!ve.value?(E(),s(r(Ln),{key:0,class:H(i.$style.delayedShow),bold:!0},{default:O(()=>[n(N(r(d).baseText(`nodeView.focusPanel.noExecutionData`)),1)]),_:1},8,[`class`])):l(``,!0)],2),r(te)?(E(),s(Yn,{key:0,parameter:L.value.parameter,value:L.value.value,"is-read-only":he.value,"onUpdate:modelValue":W},null,8,[`parameter`,`value`,`is-read-only`])):l(``,!0)],2),typeof L.value.value==`string`?(E(),f(`div`,{key:0,class:H(i.$style.editorContainer)},[r(te)?de.value?(E(),s(gt,{key:1,ref_key:`inputField`,ref:c,modelValue:R.value,"onUpdate:modelValue":a[0]||=e=>R.value=e,class:H(i.$style.editor),"is-read-only":he.value,path:L.value.parameterPath,"data-test-id":`expression-modal-input`,"target-node-parameter-context":_e.value,onChange:a[1]||=e=>G(e.value)},null,8,[`modelValue`,`class`,`is-read-only`,`path`,`target-node-parameter-context`])):[`json`,`string`].includes(L.value.parameter.type)?(E(),f(e,{key:2},[se.value===`codeNodeEditor`?(E(),s(Me,{key:0,id:L.value.parameterPath,ref_key:`inputField`,ref:c,modelValue:R.value,"onUpdate:modelValue":[a[2]||=e=>R.value=e,G],class:H(i.$style.heightFull),mode:oe.value,"default-value":L.value.parameter.default,language:V.value,"is-read-only":he.value,"target-node-parameter-context":_e.value,"fill-parent":``},null,8,[`id`,`modelValue`,`class`,`mode`,`default-value`,`language`,`is-read-only`,`target-node-parameter-context`])):se.value===`htmlEditor`?(E(),s(dr,{key:1,ref_key:`inputField`,ref:c,modelValue:R.value,"onUpdate:modelValue":[a[3]||=e=>R.value=e,G],"is-read-only":he.value,rows:ce.value,"disable-expression-coloring":!ue.value,"disable-expression-completions":!ue.value,fullscreen:``,"target-node-parameter-context":_e.value},null,8,[`modelValue`,`is-read-only`,`rows`,`disable-expression-coloring`,`disable-expression-completions`,`target-node-parameter-context`])):se.value===`cssEditor`?(E(),s(mr,{key:2,ref_key:`inputField`,ref:c,modelValue:R.value,"onUpdate:modelValue":[a[4]||=e=>R.value=e,G],"is-read-only":he.value,rows:ce.value,fullscreen:``,"target-node-parameter-context":_e.value},null,8,[`modelValue`,`is-read-only`,`rows`,`target-node-parameter-context`])):se.value===`sqlEditor`?(E(),s(wn,{key:3,ref_key:`inputField`,ref:c,modelValue:R.value,"onUpdate:modelValue":[a[5]||=e=>R.value=e,G],dialect:ae(`sqlDialect`),"is-read-only":he.value,rows:ce.value,fullscreen:``,"target-node-parameter-context":_e.value},null,8,[`modelValue`,`dialect`,`is-read-only`,`rows`,`target-node-parameter-context`])):se.value===`jsEditor`?(E(),s(Gn,{key:4,ref_key:`inputField`,ref:c,modelValue:R.value,"onUpdate:modelValue":[a[6]||=e=>R.value=e,G],"is-read-only":he.value,rows:ce.value,"posthog-capture":me.value,"fill-parent":``},null,8,[`modelValue`,`is-read-only`,`rows`,`posthog-capture`])):L.value.parameter.type===`json`?(E(),s(bn,{key:5,ref_key:`inputField`,ref:c,modelValue:R.value,"onUpdate:modelValue":[a[7]||=e=>R.value=e,G],"is-read-only":he.value,rows:ce.value,fullscreen:``,"fill-parent":``},null,8,[`modelValue`,`is-read-only`,`rows`])):(E(),s(r(Ut),{key:6,ref_key:`inputField`,ref:c,modelValue:R.value,"onUpdate:modelValue":[a[8]||=e=>R.value=e,G],class:H(i.$style.editor),readonly:he.value,type:`textarea`,resize:`none`},null,8,[`modelValue`,`class`,`readonly`]))],64)):l(``,!0):(E(),f(`div`,{key:0,class:H([i.$style.content,i.$style.emptyContent])},[g(`div`,{class:H(i.$style.emptyText)},[S(r(Q),{color:`text-base`},{default:O(()=>[n(N(r(d).baseText(`nodeView.focusPanel.missingParameter`)),1)]),_:1})],2)],2))],2)):l(``,!0)],2)],2)):z.value&&r(j).isNdvInFocusPanelEnabled?(E(),s(ji,{key:2,node:z.value,"node-ids":ye.value,"is-read-only":he.value,onOpenNdv:ke,onContextMenuAction:a[9]||=(e,t)=>o(`contextMenuAction`,e,t)},null,8,[`node`,`node-ids`,`is-read-only`])):(E(),f(`div`,{key:3,class:H([i.$style.content,i.$style.emptyContent])},[g(`div`,{class:H(i.$style.focusParameterWrapper)},[g(`div`,{class:H(i.$style.iconWrapper)},[S(r(Z),{class:H(i.$style.forceHover),icon:`panel-right`,size:`medium`},null,8,[`class`]),S(r(Z),{class:H(i.$style.pointerIcon),icon:`mouse-pointer`,color:`text-dark`,size:`large`},null,8,[`class`])],2),S(r(Z),{icon:`ellipsis-vertical`,size:`small`,color:`text-base`}),S(r(je),{size:`small`,"model-value":`expression`,disabled:!0,options:[{label:r(d).baseText(`parameterInput.fixed`),value:`fixed`},{label:r(d).baseText(`parameterInput.expression`),value:`expression`}]},null,8,[`options`])],2),g(`div`,{class:H(i.$style.emptyText)},[S(r(Q),{color:`text-base`,size:`medium`,bold:!0},{default:O(()=>[n(N(be.value),1)]),_:1}),S(r(Q),{color:`text-base`,size:`small`},{default:O(()=>[n(N(xe.value),1)]),_:1})],2)],2))],2))}}),[[`__cssModules`,{$style:{content:`_content_o6210_1`,emptyContent:`_emptyContent_o6210_7`,isNdvInFocusPanelEnabled:`_isNdvInFocusPanelEnabled_o6210_12`,emptyText:`_emptyText_o6210_15`,focusParameterWrapper:`_focusParameterWrapper_o6210_21`,iconWrapper:`_iconWrapper_o6210_28`,pointerIcon:`_pointerIcon_o6210_32`,tabHeader:`_tabHeader_o6210_42`,tabHeaderText:`_tabHeaderText_o6210_49`,buttonWrapper:`_buttonWrapper_o6210_54`,parameterDetailsWrapper:`_parameterDetailsWrapper_o6210_59`,parameterOptionsWrapper:`_parameterOptionsWrapper_o6210_66`,noExecutionDataTip:`_noExecutionDataTip_o6210_70`,editorContainer:`_editorContainer_o6210_73`,editor:`_editor_o6210_73`,delayedShow:`_delayedShow_o6210_93`,triggerShow:`_triggerShow_o6210_1`,closeButton:`_closeButton_o6210_104`,heightFull:`_heightFull_o6210_108`,forceHover:`_forceHover_o6210_112`}}]]),Pi=ne(sr.EVALUATIONS_WIZARD_SIDEPANEL,()=>{let e=Je(),t=m(()=>e.focusPanelActive&&e.selectedTab===`evaluations`),n=p(0),r=p([...oi]),i=p({}),a=p(``),o=p(!1),s=p(``),c=p(``),l=p({}),u=p({}),d=p([]),f=p([]),h=p([]),g=p(``),_=p(!0),v=p(`list`),y=p(null),b=p(null),x=p(null),S=p(null),C=p([]),w=p(!1),T=p(null),E=p(``),D=m(()=>o.value?c.value||``:a.value||``);function O(){n.value=0,r.value=[...oi],i.value={},a.value=``,o.value=!1,s.value=``,c.value=``,l.value={},u.value={},d.value=[],f.value=[],h.value=[],g.value=``,_.value=!0,v.value=`list`,y.value=null,b.value=null,x.value=null,C.value=[],w.value=!1,T.value=null}function k(t=0){O(),n.value=t,e.setSelectedTab(`evaluations`),e.openFocusPanel()}function A(){e.closeFocusPanel()}function j(){t.value?A():k(n.value)}function M(e){n.value=e}function N(){n.value===0?n.value=1:n.value===1?n.value=2:n.value===2&&(n.value=3)}function P(){n.value===3?n.value=2:n.value===2?n.value=1:n.value===1&&(n.value=0)}function F(e){let t=r.value.indexOf(e);t===-1?r.value=[...r.value,e]:r.value=r.value.filter((e,n)=>n!==t)}function I(e,t){if(t===void 0){let t={...i.value};delete t[e],i.value=t;return}i.value={...i.value,[e]:t}}function L(e){a.value=e}function R(){o.value||(o.value=!0,!c.value&&a.value&&(c.value=a.value))}function ee(){o.value=!1,s.value=``}function te(e,t){l.value={...l.value,[e]:t}}function z(e,t){u.value={...u.value,[e]:t}}function B(){w.value=!0}function ne(){w.value=!1}function re(e){let t=ue();C.value=[...C.value,{...e,id:t}]}function ie(e){C.value=C.value.filter(t=>t.id!==e)}function ae(e,t){C.value=C.value.map(n=>n.id===e?{...n,...t}:n)}function oe(e){T.value=e}function se(e){E.value=e}function V(){v.value=`list`,x.value=null}function H(){v.value=`create`,x.value=null}function ce(e){if(v.value=`detail`,y.value=e,e===null)b.value=null,g.value=``;else{x.value=null,b.value=null;let t=f.value[e],n=d.value[e];t&&(l.value={...t}),n&&(u.value={...n}),g.value=h.value[e]??``}}function U(e){g.value=e}function le(e){_.value=e}function de(e){x.value=e}function fe(e){S.value=e}function pe(e,t){y.value=e,b.value=t}function me(e){let t={...e};for(let n of Object.keys(e))n in l.value&&(t[n]=l.value[n]);l.value=t}return{isOpen:t,activeStep:n,selectedMetricKeys:r,judgeSelectionByMetric:i,aiNodeName:a,isSliceMode:o,startNodeName:s,endNodeName:c,inputs:l,expectedValues:u,datasetExpectedByRow:d,datasetInputsByRow:f,datasetNamesByRow:h,caseName:g,prefillInputsFromExecution:_,viewMode:v,activeRowIndex:y,activeRowId:b,seedExecution:x,pendingSeedExecution:S,customChecks:C,isCustomCheckModalOpen:w,activeRunId:T,lastWorkflowId:E,answerNodeName:D,open:k,close:A,toggle:j,reset:O,setStep:M,goNext:N,goBack:P,toggleMetric:F,setJudgeSelection:I,setAiNodeName:L,enterSliceMode:R,exitSliceMode:ee,setInputValue:te,setExpectedValue:z,seedInputs:me,openCustomCheckModal:B,closeCustomCheckModal:ne,addCustomCheck:re,removeCustomCheck:ie,updateCustomCheck:ae,setActiveRunId:oe,setLastWorkflowId:se,openList:V,openCreate:H,openDetail:ce,setCaseName:U,setPrefillInputsFromExecution:le,setSeedExecution:de,setPendingSeedExecution:fe,setActiveRow:pe}});function Fi(e,t){let n=e.filter(e=>!t.has(e));if(n.length===1)return n[0];if(n.length===0&&e.length===1)return e[0]}function Ii(e){let t=$(),n=Y(),r=st(),i=Pi();return m(()=>{let a=n.value?.allNodes??[],o=a.filter(e=>r.isTriggerNode(e.type)),s=Ui(a),c=n.value?.connectionsBySourceNode??{},l=i.isSliceMode?i.startNodeName:i.aiNodeName,u=e=>Bi(e,a,c,l),d=Hi([i.seedExecution,t.value.activeExecution,t.value.lastSuccessfulExecution,b(e?.fallbackExecution)])?.data?.resultData?.runData;if(!(d&&Object.keys(d).length>0)||!d)return u({fieldNames:[],values:{},hasExecution:!1});if(!l)return u({fieldNames:[],values:{},hasExecution:!0});let f=o.some(e=>e.name===l)?Gi(d,l,s):Ki(d,c,l,s);if(!f)return u({fieldNames:[],values:{},hasExecution:!0});let p=Object.keys(f),m={};for(let e of p)m[e]=wt(f[e]);return u({fieldNames:p,values:m,hasExecution:!0})})}var Li=`input`,Ri=`chatInput`,zi=new Set([kr,St]);function Bi(e,t,n,r){if(e.fieldNames.length>0)return e;let i=Vi(t,n,r);return{...e,fieldNames:[i],values:{...e.values,[i]:``}}}function Vi(e,t,n){if(!n)return Li;let r=[n,...K(Dt(t),n,`main`)],i=new Map(e.map(e=>[e.name,e]));for(let e of r){let t=i.get(e);if(t&&zi.has(t.type))return Ri}return Li}function Hi(e){for(let t of e)if(t&&t.mode!==`evaluation`)return t}function Ui(e){return new Map(e.filter(e=>e.type===xt).map(e=>[e.name,e.parameters?.source===`dataTable`]))}var Wi=[`row_id`,...ve];function Gi(e,t,n=new Map){let r=(e[t]?.[0])?.data?.main?.[0]?.[0]?.json;if(!r||!n.has(t))return r;let i=n.get(t)===!0?[...Ir,...Wi]:Ir;return Object.fromEntries(Object.entries(r).filter(([e])=>!i.includes(e)))}function Ki(e,t,n,r=new Map){let i=K(Dt(t),n,`main`,1),a=Fi(i,r)??i[0];if(a)return Gi(e,a,r)}function qi(){let e=Y();return m(()=>(e.value?.allNodes??[]).filter(e=>ti(e.type)).map(e=>({name:e.name,type:e.type})))}var Ji=[In,_n];function Yi(){let e=ae(),t=Y(),n=st(),{runEntireWorkflow:r}=qt({router:e}),i=m(()=>(t.value?.allNodes??[]).filter(e=>e.disabled!==!0&&n.isTriggerNode(e.type)).map(e=>({name:e.name,type:e.type}))),a=m(()=>i.value.some(e=>Ji.includes(e.type)));function o(e){if(Ji.includes(e.type)){G.emit(`openChat`);return}r(`node`,e.name)}function s(){if(a.value){G.emit(`openChat`);return}r(`main`)}return{runWorkflow:s,runTriggerNode:o,triggerNodes:i,hasChatTrigger:a}}function Xi(){let e=Y(),t=Rn();return m(()=>{let n=e.value?.allNodes??[];for(let e of n){let n=$r[e.type];if(!n)continue;let r=Zi(e.parameters?.model);if(!r)continue;let i=Qi(e.credentials);if(i&&t.allCredentials.some(e=>e.id===i))return{provider:n,model:r,credentialId:i}}return null})}function Zi(e){if(typeof e==`string`)return e||void 0;if(e&&typeof e==`object`&&`value`in e){let t=e.value;if(typeof t==`string`)return t||void 0}}function Qi(e){if(e){for(let t of Object.values(e))if(t?.id)return t.id}}var $i=1e3;function ea(){let e=Pi(),t=Re(),n=Y(),r=Tn(),i=Kn(),a=qi(),o=ze(),s=J(),c=p(!1),l=null,u;async function d(){let e=n.value?.workflowId;if(l&&u===e){await l;return}u=e,l=f().finally(()=>{u===e&&(l=null,u=void 0)}),await l}async function f(){let e=n.value,t=e?.workflowId,a=e?.homeProject?.id;if(!t||!a||r.isNewWorkflow)return;let l=()=>n.value?.workflowId!==t;c.value=!0;try{let n=await Wr(i.restApiContext,t);if(l())return;let r=ei(e.name),o=n.find(e=>e.name===r)??n[n.length-1];if(!o)return;if(h(o),o.datasetSource===`data_table`)try{let e=await jt(i.restApiContext,o.datasetRef.dataTableId,a,{take:$i});if(l())return;g(e.data)}catch(e){console.warn(`[evaluations wizard] failed to hydrate dataset rows`,e)}if(l())return;await m(t,l)}catch(e){l()||o.showError(e,s.baseText(`evaluations.wizardSidepanel.hydrate.error`))}finally{c.value=!1}}async function m(n,r){if(!(e.activeStep!==0||e.activeRunId))try{if(await t.fetchTestRuns(n),r())return;let i=[...t.testRunsByWorkflowId[n]??[]].sort((e,t)=>new Date(e.createdAt).getTime()-new Date(t.createdAt).getTime()),a=i[i.length-1];if(!a)return;e.setActiveRunId(a.id),e.setStep(3)}catch(e){console.warn(`[evaluations wizard] failed to restore last run`,e)}}function h(t){let n=[],r={},i=[];for(let e of t.metrics){let t=na(e);if(t){n.push(t.key),t.judge&&(r[t.key]=t.judge);continue}let a=ra(e);a&&i.push(a)}e.selectedMetricKeys=n,e.judgeSelectionByMetric=r,e.customChecks=[];for(let t of i)e.addCustomCheck(t);new Set(a.value.map(e=>e.name)).has(t.endNodeName)?(e.aiNodeName=t.endNodeName,e.isSliceMode=!1,e.startNodeName=``,e.endNodeName=``):(e.aiNodeName=``,e.isSliceMode=!0,e.startNodeName=t.startNodeName,e.endNodeName=t.endNodeName)}function g(t){let n=t.map(e=>ta(e));e.datasetExpectedByRow=n.map(e=>e.expected),e.datasetInputsByRow=n.map(e=>e.inputs),e.datasetNamesByRow=n.map(e=>e.name);let r=n[0];r&&(e.inputs=r.inputs,e.expectedValues=r.expected)}return{hydrate:d,isHydrating:c}}function ta(e){let t={},n={},r=``,i=new Set(Object.values(ii).map(e=>e.name));for(let[a,o]of Object.entries(e)){if(a===`id`||a===`createdAt`||a===`updatedAt`)continue;let e=wt(o);a===`caseName`?r=e:i.has(a)?n[a]=e:t[a]=e}return{inputs:t,expected:n,name:r}}function na(e){if(e.type===`llm_judge`){let t=e.config.preset;if(t!==`correctness`&&t!==`helpfulness`)return;let n=$r[e.config.provider];return n?{key:t,judge:{provider:n,credentialId:e.config.credentialId,model:e.config.model}}:{key:t}}if(e.type===`string_similarity`)return{key:`stringSimilarity`};if(e.type===`categorization`)return{key:`categorization`};if(e.type===`tools_used`)return{key:`toolsUsed`}}function ra(e){if(e.type===`expression`)return{name:e.name,expression:e.config.expression}}function ia(e){return e.mode!==`evaluation`&&typeof e.id==`string`}var aa=20;function oa(){let e=Bn(),t=Y();async function n(n){let r=t.value?.workflowId;if(!r)return;let i,a=0;for(let t=0;t<aa;t++){let t=await e.fetchExecutionsPage({status:[`success`],workflowId:r},i),o=t.results;if(o.length===0)return;a+=o.length;let s=n(o.filter(ia));if(s!==void 0)return s;if(!t.count||a>=t.count||!t.nextCursor)return;i=t.nextCursor}}async function r(e){let t=[];return await n(n=>(t.push(...n),e!==void 0&&t.length>=e?!0:void 0)),e===void 0?t:t.slice(0,e)}async function i(){let t=await n(e=>e[0]?.id);return t?await e.fetchExecution(t)??null:null}return{fetchUserExecutionCandidates:r,fetchLatestUserExecution:i}}function sa(){let e=Pi(),t=Bn(),n=Y(),r=dt(),{fetchLatestUserExecution:i}=oa();function a(t){e.inputs={},e.setPrefillInputsFromExecution(!0),e.setSeedExecution(t);let i=e.answerNodeName,a=t.data?.resultData?.runData,o=i&&a?De(Gi(a,i)):``;e.expectedValues=o?{expectedAnswer:o}:{},e.openDetail(null),r.track(`User created evaluation test case`,{workflow_id:n.value?.workflowId??null,source:`execution`,execution_id:t.id??null})}async function o(e){let n=await t.fetchExecution(e);return n?(a(n),!0):!1}async function s(){e.inputs={},e.expectedValues={},e.setPrefillInputsFromExecution(!1),e.setSeedExecution(await c()),e.openDetail(null),r.track(`User created evaluation test case`,{workflow_id:n.value?.workflowId??null,source:`manual`})}async function c(){try{return await i()}catch{return null}}return{createFromExecution:a,createFromExecutionId:o,createManualCase:s}}var ca=[`data-test-id`,`aria-expanded`],la=[`data-test-id`],ua=W(x({__name:`ExecutionRow`,props:{execution:{},alt:{type:Boolean}},emits:[`create`],setup(t,{emit:i}){let a=t,o=i,c=J(),u=Y(),d=st(),h=Bn(),_=Pi(),v=p(!1),y=p(!1),b=p(null),x=m(()=>a.execution.mode===`manual`),C=m(()=>{let e=a.execution.startedAt;return e?ct(e,{withSeconds:!0}):a.execution.id});async function w(){if(v.value=!v.value,v.value&&!b.value&&!y.value){y.value=!0;try{b.value=await h.fetchExecution(a.execution.id)??null}catch(e){console.warn(`[ExecutionRow] failed to load execution`,e)}finally{y.value=!1}}}let T=m(()=>{let e=b.value?.data?.resultData?.runData,t=_.aiNodeName;if(!e||!t)return{};let n=u.value?.allNodes??[],r=u.value?.connectionsBySourceNode??{},i=n.some(e=>e.name===t&&d.isTriggerNode(e.type)),a=Ui(n);return{input:i?Gi(e,t,a):Ki(e,r,t,a),output:Gi(e,t)}});function D(e){return e?Object.entries(e).map(([e,t])=>({name:e,value:wt(t)})):[]}let k=m(()=>D(T.value.input)),A=m(()=>D(T.value.output));return(i,u)=>(E(),f(`div`,{class:H([i.$style.row,a.alt?i.$style.alt:null])},[g(`div`,{class:H(i.$style.header)},[g(`button`,{type:`button`,class:H(i.$style.chevron),"data-test-id":`tests-execution-toggle-${t.execution.id}`,"aria-expanded":v.value,onClick:w},[S(r(Z),{icon:v.value?`chevron-down`:`chevron-right`,size:`small`,color:`text-base`},null,8,[`icon`])],10,ca),S(r(Q),{size:`small`,color:`text-dark`,class:H(i.$style.date)},{default:O(()=>[n(N(C.value),1)]),_:1},8,[`class`]),x.value?(E(),s(r(Z),{key:0,icon:`flask-conical`,size:`small`,color:`text-light`,title:r(c).baseText(`evaluations.tests.executions.manualBadge`),"data-test-id":`tests-execution-manual-${t.execution.id}`},null,8,[`title`,`data-test-id`])):l(``,!0),g(`span`,{class:H(i.$style.spacer)},null,2),S(r(Hr),{size:`mini`,class:H([i.$style.createButton,v.value?i.$style.createButtonVisible:null]),"data-test-id":`tests-execution-create-${t.execution.id}`,onClick:u[0]||=e=>o(`create`)},{default:O(()=>[n(N(r(c).baseText(`evaluations.tests.executions.createCase`)),1)]),_:1},8,[`class`,`data-test-id`])],2),v.value?(E(),f(`div`,{key:0,class:H(i.$style.detail),"data-test-id":`tests-execution-detail-${t.execution.id}`},[y.value?(E(),f(`div`,{key:0,class:H(i.$style.loading)},[S(r(Z),{icon:`spinner`,size:`small`,spin:!0})],2)):(E(),f(e,{key:1},[k.value.length>0?(E(),f(`div`,{key:0,class:H(i.$style.group)},[S(r(Q),{size:`xsmall`,bold:``,color:`text-light`,class:H(i.$style.groupLabel)},{default:O(()=>[n(N(r(c).baseText(`evaluations.tests.executions.input`)),1)]),_:1},8,[`class`]),(E(!0),f(e,null,V(k.value,e=>(E(),f(`div`,{key:`in-${e.name}`,class:H(i.$style.field)},[S(r(Q),{size:`xsmall`,color:`text-light`},{default:O(()=>[n(N(e.name),1)]),_:2},1024),S(r(Q),{size:`xsmall`,color:`text-dark`,class:H(i.$style.value)},{default:O(()=>[n(N(e.value),1)]),_:2},1032,[`class`])],2))),128))],2)):l(``,!0),A.value.length>0?(E(),f(`div`,{key:1,class:H(i.$style.group)},[S(r(Q),{size:`xsmall`,bold:``,color:`text-light`,class:H(i.$style.groupLabel)},{default:O(()=>[n(N(r(c).baseText(`evaluations.tests.executions.output`)),1)]),_:1},8,[`class`]),(E(!0),f(e,null,V(A.value,e=>(E(),f(`div`,{key:`out-${e.name}`,class:H(i.$style.field)},[S(r(Q),{size:`xsmall`,color:`text-light`},{default:O(()=>[n(N(e.name),1)]),_:2},1024),S(r(Q),{size:`xsmall`,color:`text-dark`,class:H(i.$style.value)},{default:O(()=>[n(N(e.value),1)]),_:2},1032,[`class`])],2))),128))],2)):l(``,!0)],64))],10,la)):l(``,!0)],2))}}),[[`__cssModules`,{$style:{row:`_row_844tx_1`,alt:`_alt_844tx_4`,header:`_header_844tx_8`,createButton:`_createButton_844tx_15`,chevron:`_chevron_844tx_19`,date:`_date_844tx_36`,spacer:`_spacer_844tx_40`,createButtonVisible:`_createButtonVisible_844tx_50`,detail:`_detail_844tx_54`,loading:`_loading_844tx_61`,group:`_group_844tx_67`,groupLabel:`_groupLabel_844tx_73`,field:`_field_844tx_77`,value:`_value_844tx_83`}}]]),da={key:0,"data-test-id":`tests-list-executions`},fa=20,pa=W(x({__name:`TestCaseList`,setup(t){let i=J(),a=Pi(),o=ze(),{createFromExecutionId:c,createManualCase:l}=sa(),{fetchUserExecutionCandidates:u}=oa(),d=p([]);async function m(){try{d.value=await u(fa)}catch(e){console.warn(`[TestCaseList] failed to load execution candidates`,e)}}re(()=>{m()});async function h(e){try{await c(e.id)}catch(e){o.showError(e,i.baseText(`evaluations.tests.seedFromExecution.error`))}}async function _(){try{await l()}catch(e){o.showError(e,i.baseText(`evaluations.tests.seedFromExecution.error`))}}return(t,o)=>(E(),f(`div`,{class:H(t.$style.container),"data-test-id":`tests-list`},[g(`div`,{class:H(t.$style.breadcrumb)},[g(`button`,{type:`button`,class:H(t.$style.breadcrumbRoot),"data-test-id":`tests-list-breadcrumb-root`,onClick:o[0]||=e=>r(a).openList()},[S(r(Q),{size:`small`,color:`text-base`},{default:O(()=>[n(N(r(i).baseText(`setupPanel.tabs.evaluations`)),1)]),_:1})],2),S(r(Q),{size:`small`,color:`text-light`},{default:O(()=>[...o[1]||=[n(`/`,-1)]]),_:1}),S(r(Q),{size:`small`,color:`text-dark`,bold:``},{default:O(()=>[n(N(r(i).baseText(`evaluations.tests.newCase.title`)),1)]),_:1})],2),g(`div`,{class:H(t.$style.controls)},[S(r(Q),{size:`small`,color:`text-dark`},{default:O(()=>[n(N(r(i).baseText(`evaluations.tests.chooseExecution`)),1)]),_:1})],2),d.value.length>0?(E(),f(`div`,da,[(E(!0),f(e,null,V(d.value,(e,t)=>(E(),s(ua,{key:e.id,execution:e,alt:t%2==0,onCreate:t=>h(e)},null,8,[`execution`,`alt`,`onCreate`]))),128))])):(E(),f(`div`,{key:1,class:H(t.$style.empty)},[S(r(Q),{size:`small`,color:`text-light`},{default:O(()=>[n(N(r(i).baseText(`evaluations.tests.executions.empty`)),1)]),_:1})],2)),g(`div`,{class:H(t.$style.manual)},[S(r(Q),{size:`small`,color:`text-light`},{default:O(()=>[n(N(r(i).baseText(`evaluations.tests.createManually.hint`)),1)]),_:1}),S(r(Hr),{variant:`outline`,size:`xsmall`,"data-test-id":`tests-list-create-manual`,onClick:_},{default:O(()=>[n(N(r(i).baseText(`evaluations.tests.createManually`)),1)]),_:1})],2)],2))}}),[[`__cssModules`,{$style:{container:`_container_1qscc_1`,breadcrumb:`_breadcrumb_1qscc_7`,breadcrumbRoot:`_breadcrumbRoot_1qscc_14`,controls:`_controls_1qscc_24`,empty:`_empty_1qscc_31`,manual:`_manual_1qscc_36`}}]]),ma={};for(let[e,t]of Object.entries($r))ma[t]=e;function ha(e){let t=[];for(let n of e.selectedMetrics){let r=ci.find(e=>e.key===n);if(!r)continue;let i=_a(n,r.key,e);if(i.kind===`err`)return{ok:!1,reason:i.reason};t.push(i.metric)}for(let n of e.customChecks){let e=va(n);if(e.kind===`err`)return{ok:!1,reason:e.reason};t.push(e.metric)}return t.length===0?{ok:!1,reason:`No metrics selected`}:{ok:!0,dto:{name:ei(e.workflowName),startNodeName:e.startNodeName,endNodeName:e.endNodeName,metrics:t,datasetSource:`data_table`,datasetRef:{dataTableId:e.dataTableId}}}}function ga(e){return e.replace(/\\/g,`\\\\`).replace(/'/g,`\\'`)}function _a(e,t,n){let r=ue(),i=ga(n.upstreamNodeName),a=ga(n.endNodeName),o=e=>`={{ $('${i}').first().json[${JSON.stringify(e)}] }}`,s=`={{ JSON.stringify($('${a}').first().json) }}`,c=`={{ (() => { const j = $('${a}').first().json; if (j === null || j === undefined) return ''; if (typeof j !== 'object') return String(j); const p = j.output ?? j.text ?? j.response; if (p !== undefined && p !== null) return typeof p === 'object' ? JSON.stringify(p) : String(p); const ks = Object.keys(j); if (ks.length === 1) { const o = j[ks[0]]; return typeof o === 'object' && o !== null ? JSON.stringify(o) : String(o); } return JSON.stringify(j); })() }}`;if(ni.has(e)){let i=n.judgeSelectionByMetric[e];if(!i)return{kind:`err`,reason:`Missing model selection for ${t}`};let a=ma[i.provider];if(!a)return{kind:`err`,reason:`Unsupported provider ${i.provider}`};if(e===`correctness`)return{kind:`ok`,metric:{id:r,name:t,type:`llm_judge`,config:{preset:`correctness`,provider:a,credentialId:i.credentialId,model:i.model,outputType:`numeric`,inputs:{actualAnswer:s,expectedAnswer:o(`expectedAnswer`)}}}};if(e===`helpfulness`){let e=n.inputFieldNames[0];return e?{kind:`ok`,metric:{id:r,name:t,type:`llm_judge`,config:{preset:`helpfulness`,provider:a,credentialId:i.credentialId,model:i.model,outputType:`numeric`,inputs:{actualAnswer:s,userQuery:o(e)}}}}:{kind:`err`,reason:`Helpfulness needs at least one input column from the workflow execution to use as the user query`}}}return e===`stringSimilarity`?{kind:`ok`,metric:{id:r,name:t,type:`string_similarity`,config:{inputs:{actualAnswer:c,expectedAnswer:o(`expectedAnswer`)}}}}:e===`categorization`?{kind:`ok`,metric:{id:r,name:t,type:`categorization`,config:{inputs:{actualAnswer:c,expectedAnswer:o(`expectedAnswer`)}}}}:e===`toolsUsed`?{kind:`ok`,metric:{id:r,name:t,type:`tools_used`,config:{inputs:{expectedTools:o(`expectedTools`),intermediateSteps:`={{ $('${a}').first().json.intermediateSteps }}`}}}}:{kind:`err`,reason:`Unsupported metric ${e}`}}function va(e){return{kind:`ok`,metric:{id:ue(),name:e.name,type:`expression`,config:{expression:ya(e.expression),outputType:`numeric`}}}}function ya(e){let t=e.trim();return t.length===0||t.startsWith(`=`)?t:t.startsWith(`{{`)?`=${t}`:`={{ ${t} }}`}function ba(){let e=Pi(),t=Y(),n=st(),r=Kn(),i=ze(),a=J();async function o(e,t){let n=(await Wr(r.restApiContext,e)).find(e=>e.name===t.name);if(!n)return{created:!0,id:(await Ke(r.restApiContext,e,t)).id};let i=s(n);return{created:!1,id:(await ye(r.restApiContext,e,n.id,t)).id,priorPayload:i}}function s(e){let t={name:e.name,startNodeName:e.startNodeName,endNodeName:e.endNodeName,metrics:e.metrics};return e.datasetSource===`data_table`?{...t,datasetSource:`data_table`,datasetRef:e.datasetRef}:{...t,datasetSource:`google_sheets`,datasetRef:e.datasetRef}}async function c(e,t,n){let i=[],a=0;for(let n=0;n<50;n++){let n=await Ct(r.restApiContext,t,{skip:a,take:100},{name:e,projectId:t});for(let e of n.data)i.push(e);if(n.data.length<100||a+100>=n.count)break;a+=100}let o=i.find(t=>t.name===e);if(o){let e=new Set(o.columns.map(e=>e.name)),i=n.filter(t=>!e.has(t.name)),a=[];for(let e of i){let n=await vt(r.restApiContext,o.id,t,e);a.push(n.id)}return{id:o.id,created:!1,addedColumnIds:a}}return{id:(await Gr(r.restApiContext,e,t,n)).id,created:!0,addedColumnIds:[]}}async function l(e,t,n){let i=(e,t)=>{console.error(`[evaluations] rollback ${e} failed`,t)};if(n.createdConfigId)try{await _t(r.restApiContext,t,n.createdConfigId)}catch(e){i(`delete config`,e)}else if(n.priorConfigSnapshot)try{await ye(r.restApiContext,t,n.priorConfigSnapshot.id,n.priorConfigSnapshot.payload)}catch(e){i(`restore prior config`,e)}let a=!1;if(n.createdTableId)try{await be(r.restApiContext,n.createdTableId,e),a=!0}catch(e){i(`delete data table`,e)}if(!a&&n.rowMutation){let t=n.rowMutation;if(t.kind===`insert`&&t.rowId!==void 0)try{await Le(r.restApiContext,t.tableId,[t.rowId],e)}catch(e){i(`delete data table row`,e)}else if(t.kind===`update`)try{await We(r.restApiContext,t.tableId,t.rowId,t.priorData,e)}catch(e){i(`restore prior data table row`,e)}}if(!a&&n.addedColumns)for(let t of n.addedColumns.columnIds)try{await Ot(r.restApiContext,n.addedColumns.tableId,e,t)}catch(e){i(`delete added data table column`,e)}}function u(){let r=t.value,i=r?.connectionsBySourceNode??{},a=r?.allNodes??[],o=Dt(i),s=new Set(a.filter(e=>e.type===xt).map(e=>e.name));if(!e.isSliceMode){let t=e.aiNodeName;if(!t)return{ok:!1,reason:`Pick an AI node to evaluate`};let r=new Set(a.filter(e=>n.isTriggerNode(e.type)).map(e=>e.name));if(r.size===0)return{ok:!1,reason:`Workflow has no trigger`};let i=[t,...K(o,t,`main`)],c,l;for(let e of i){if(r.has(e))continue;let t=Fi(K(o,e,`main`,1),s);if(t&&r.has(t)){c=e,l=t;break}}return!c||!l?{ok:!1,reason:`Couldn't trace AI node "${t}" back to a trigger`}:{ok:!0,upstreamNodeName:l,startNodeName:c,endNodeName:t}}let c=e.startNodeName,l=e.endNodeName;if(!c||!l)return{ok:!1,reason:`Pick a start and end node for the slice`};let u=K(o,c,`main`,1),d=Fi(u,s);return d?{ok:!0,upstreamNodeName:d,startNodeName:c,endNodeName:l}:{ok:!1,reason:`Start node "${c}" must have exactly one upstream node (found ${u.filter(e=>!s.has(e)).length||u.length})`}}function d(e){i.showError(e,a.baseText(`evaluations.tests.persistError`))}return{ensureConfig:o,ensureDataTable:c,rollback:l,resolveSlice:u,showPersistError:d}}function xa(e){if(typeof e==`number`)return e;if(typeof e==`string`&&/^\d+$/.test(e))return Number(e)}function Sa(e){let t=new Set,n=[];for(let r of e)t.has(r)||(t.add(r),n.push({name:r,type:`string`}));return n}function Ca(e){let t={};for(let[n,r]of Object.entries(e))n===`id`||n===`createdAt`||n===`updatedAt`||(t[n]=r);return t}var wa=Promise.resolve();function Ta(){let e=Pi(),t=Y(),n=Kn(),r=ze(),i=J(),a=dt(),o=Ii(),s=Re(),{ensureConfig:c,ensureDataTable:l,rollback:u,resolveSlice:d,showPersistError:f}=ba(),m=p(!1),h=0;async function g(e){h+=1,m.value=!0;let t=wa.then(e),n=t.then(()=>void 0,()=>void 0);return wa=n,n.then(()=>{--h,h===0&&(m.value=!1)}),await t}async function _(){let r=t.value,i=r?.homeProject?.id,a=r?.workflowId;if(!i||!a)return{ok:!1,error:Error(`Missing project or workflow context`)};let s=d();if(!s.ok)return{ok:!1,error:Error(s.reason)};let f=o.value.fieldNames,p=li(e.selectedMetricKeys),m=Sa([...f,...p.map(e=>e.name),ai]),h=ha({workflowName:r.name??`workflow`,upstreamNodeName:s.upstreamNodeName,startNodeName:s.startNodeName,endNodeName:s.endNodeName,inputFieldNames:f,selectedMetrics:e.selectedMetricKeys,judgeSelectionByMetric:e.judgeSelectionByMetric,customChecks:e.customChecks,dataTableId:`__placeholder__`});if(!h.ok)return{ok:!1,error:Error(h.reason)};let g=ei(r.name),_=g,v,y,b,x,S,C=e.activeRowIndex===null;try{let t=await l(g,i,m);t.created?v=t.id:y={tableId:t.id,columnIds:t.addedColumnIds};let o={};for(let t of f)o[t]=e.inputs[t]??``;for(let t of p)o[t.name]=e.expectedValues[t.name]??``;o[ai]=e.caseName??``;let u;if(C){let e=(await jt(n.restApiContext,t.id,i,{take:1})).count,r=xa((await Ne(n.restApiContext,t.id,o,i))[0]?.id);b={kind:`insert`,tableId:t.id,rowId:r},u=e}else{let r=e.activeRowIndex;if(r===null)throw Error(`Cannot resolve active row index for edit`);let a=await jt(n.restApiContext,t.id,i,{skip:r,take:1}),s=e.activeRowId??xa(a.data[0]?.id)??null;if(s===null)throw Error(`Could not resolve row id for index ${r}`);let c=Ca(a.data[0]??{});b={kind:`update`,tableId:t.id,rowId:s,priorData:c},await We(n.restApiContext,t.id,s,o,i),u=r}let d=ha({workflowName:r.name??`workflow`,upstreamNodeName:s.upstreamNodeName,startNodeName:s.startNodeName,endNodeName:s.endNodeName,inputFieldNames:f,selectedMetrics:e.selectedMetricKeys,judgeSelectionByMetric:e.judgeSelectionByMetric,customChecks:e.customChecks,dataTableId:t.id});if(!d.ok)throw Error(d.reason);let h=await c(a,{...d.dto,name:_});return h.created?x=h.id:S={id:h.id,payload:h.priorPayload},b?.kind===`insert`&&e.setActiveRow(u,b.rowId??null),{ok:!0,configId:h.id,resolvedIndex:u,isNewCase:C}}catch(e){return await u(i,a,{createdTableId:v,addedColumns:y,rowMutation:b,createdConfigId:x,priorConfigSnapshot:S}),{ok:!1,error:e}}}async function v(e){let t=await _();return t.ok?!0:(e?.silent||f(t.error),!1)}async function y(n=`initial`){let o=await _();if(!o.ok)return f(o.error),!1;let c=t.value?.workflowId;if(!c)return!1;let{configId:l,resolvedIndex:u,isNewCase:d}=o;try{e.setActiveRunId(null);let t=await s.startTestRun(c,{evaluationConfigId:l,compileFromConfig:!0,rowIndices:[u]});return e.setActiveRunId(t?.testRunId??null),a.track(`User ran evaluation`,{workflow_id:c,run_id:t?.testRunId??null,row_index:u,is_new_case:d,trigger:n,metric_count:e.selectedMetricKeys.length,custom_check_count:e.customChecks.length,slice_mode:e.isSliceMode}),await s.fetchTestRuns(c),!0}catch(e){return r.showError(e,i.baseText(`evaluations.tests.dispatchError`)),!1}}async function b(n){let r=t.value,i=r?.homeProject?.id,a=r?.workflowId;if(!i||!a)return null;let s=d();if(!s.ok)return n?.silent||f(Error(s.reason)),null;let u=o.value.fieldNames,p=li(e.selectedMetricKeys),m=Sa([...u,...p.map(e=>e.name),ai]),h=ei(r.name);try{let t=await l(h,i,m),o=ha({workflowName:r.name??`workflow`,upstreamNodeName:s.upstreamNodeName,startNodeName:s.startNodeName,endNodeName:s.endNodeName,inputFieldNames:u,selectedMetrics:e.selectedMetricKeys,judgeSelectionByMetric:e.judgeSelectionByMetric,customChecks:e.customChecks,dataTableId:t.id});return o.ok?(await c(a,{...o.dto,name:h})).id:(n?.silent||f(Error(o.reason)),null)}catch(e){return n?.silent?console.warn(`[evaluations] silent saveConfig failed`,e):f(e),null}}async function x(){let o=t.value,c=o?.workflowId;if(!c)return f(Error(`Missing workflow context`)),!1;await b({silent:!0});let l;try{let e=await Wr(n.restApiContext,c),t=ei(o.name),a=e.find(e=>e.name===t)??e[e.length-1];if(!a)return r.showError(Error(`No evaluation config found. Run a single test case first.`),i.baseText(`evaluations.tests.persistError`)),!1;l=a.id}catch(e){return f(e),!1}try{e.setActiveRunId(null);let t=await s.startTestRun(c,{evaluationConfigId:l,compileFromConfig:!0});return e.setActiveRunId(t?.testRunId??null),a.track(`User ran evaluation`,{workflow_id:c,run_id:t?.testRunId??null,trigger:`run_all`}),await s.fetchTestRuns(c),!0}catch(e){return r.showError(e,i.baseText(`evaluations.tests.dispatchError`)),!1}}async function S(){let r=t.value,i=r?.homeProject?.id,o=r?.workflowId,s=e.activeRowIndex;if(!i||!o||s===null)return!1;try{let t=await Wr(n.restApiContext,o),c=ei(r.name),l=t.find(e=>e.name===c)??t[t.length-1];if(!l||l.datasetSource!==`data_table`)throw Error(`No data table found for this evaluation`);let u=l.datasetRef.dataTableId,d=e.activeRowId;if(d===null&&(d=xa((await jt(n.restApiContext,u,i,{skip:s,take:1})).data[0]?.id)??null),d===null)throw Error(`Could not resolve row id for index ${s}`);return await Le(n.restApiContext,u,[d],i),a.track(`User deleted evaluation test case`,{workflow_id:o,row_index:s}),!0}catch(e){return f(e),!1}}async function C(e){return await g(async()=>await v(e))}async function w(e=`initial`){return await g(async()=>await y(e))}async function T(e){return await g(async()=>await b(e))}async function E(){return await g(async()=>await x())}async function D(){return await g(async()=>await S())}return{persistAndRunCase:w,saveCase:C,runAll:E,saveConfig:T,deleteCase:D,isPersisting:m}}var Ea=[`data-test-id`],Da=[`data-test-id`],Oa=[`data-test-id`],ka=[`data-test-id`],Aa=W(x({__name:`TestCaseRunResult`,props:{index:{},runId:{default:null},expanded:{type:Boolean,default:!1},separated:{type:Boolean,default:!1}},setup(t){let i=[`success`,`error`,`warning`,`cancelled`],a={promptTokens:`evaluations.tests.results.metric.promptTokens`,completionTokens:`evaluations.tests.results.metric.completionTokens`,totalTokens:`evaluations.tests.results.metric.totalTokens`,executionTime:`evaluations.tests.results.metric.executionTime`},o=t,c=J(),u=Pi(),d=Re(),h=Bn(),_=Y(),v=m(()=>{let e=_.value?.workflowId;return e?[...d.testRunsByWorkflowId[e]??[]].sort((e,t)=>new Date(e.createdAt).getTime()-new Date(t.createdAt).getTime()):[]}),y=m(()=>o.runId===null?v.value[v.value.length-1]:v.value.find(e=>e.id===o.runId)),b=m(()=>{let e=y.value?.id;return e?v.value.findIndex(t=>t.id===e)+1:0}),x=m(()=>{let e=y.value;return e?ct(e.runAt??e.createdAt):``}),C=m(()=>{let e=y.value?.id;if(e)return Object.values(d.testCaseExecutionsById??{}).find(t=>t.testRunId===e&&(t.runIndex??0)===o.index)}),w=m(()=>{let e=y.value;if(!e||![`new`,`running`].includes(e.status))return!1;let t=C.value?.status;return!t||!i.includes(t)}),T=m(()=>!!(C.value&&i.includes(C.value.status))&&!w.value),D=m(()=>C.value?.status===`success`),k=m(()=>T.value&&!D.value),A=m(()=>{let e=C.value?.metrics;return e?xe(e).map(t=>{let n=e[t],r=ci.find(e=>e.key===t),i=r?c.baseText(si(r)):t,a=qe(t);return a===`aiBased`?{key:t,label:i,text:Qe(n,{category:a}),passed:n>=3}:{key:t,label:i,text:An(n,{category:a}),passed:Fr(n)}}):[]}),j=m(()=>qr(C.value?.metrics).map(({key:e,value:t})=>({key:e,label:a[e]?c.baseText(a[e]):e,text:e===`executionTime`?Nn(t):ke(t,{withUnit:!1})}))),M=m(()=>u.answerNodeName),P=p(null);async function F(e){try{P.value=await h.fetchExecution(e)??null}catch(e){console.warn(`[TestCaseRunResult] failed to load case execution`,e)}}U([()=>o.expanded,k,()=>C.value?.executionId],([e,t,n])=>{!n||!e&&!t||P.value?.id!==n&&F(n)},{immediate:!0});let I=m(()=>Te(P.value,M.value,C.value?.outputs)),L=m(()=>{if(!k.value)return``;let e=P.value?.data?.resultData?.error?.message;if(e)return e;let t=ri(C.value?.errorCode);return t&&c.exists(t)?c.baseText(t,{interpolate:{link:``}}).trim():c.baseText(`evaluations.tests.results.runFailed`)});return(i,a)=>w.value?(E(),f(`div`,{key:0,class:H([i.$style.runSection,{[i.$style.separated]:t.separated}]),"data-test-id":`tests-result-running-${t.index}`},[g(`div`,{class:H(i.$style.runLine)},[S(r(Z),{icon:`spinner`,size:`small`,spin:!0,color:`text-light`}),S(r(Q),{size:`small`,color:`text-light`},{default:O(()=>[n(N(r(c).baseText(`evaluations.tests.results.running`)),1)]),_:1})],2)],10,Ea)):T.value?(E(),f(`div`,{key:1,class:H([i.$style.runSection,{[i.$style.separated]:t.separated}]),"data-test-id":`tests-result-result-${t.index}`},[g(`div`,{class:H(i.$style.runLine)},[S(r(Z),{icon:D.value?`check`:`x`,size:`small`,color:D.value?`success`:`danger`},null,8,[`icon`,`color`]),S(r(Q),{size:`small`,color:D.value?`success`:`danger`},{default:O(()=>[n(N(r(c).baseText(`evaluations.tests.results.runLabel`,{interpolate:{number:String(b.value),date:x.value}})),1)]),_:1},8,[`color`])],2),k.value&&L.value?(E(),s(r(Q),{key:0,size:`small`,color:`danger`,class:H(i.$style.failureReason),"data-test-id":`tests-result-error-${t.index}`},{default:O(()=>[n(N(L.value),1)]),_:1},8,[`class`,`data-test-id`])):l(``,!0),t.expanded?(E(),s(r(Q),{key:1,size:`small`,color:`text-light`},{default:O(()=>[n(N(r(c).baseText(`evaluations.tests.detail.output`)),1)]),_:1})):l(``,!0),g(`div`,{class:H(i.$style.badges)},[(E(!0),f(e,null,V(A.value,e=>(E(),f(`span`,{key:e.key,class:H([i.$style.badge,e.passed?i.$style.badgePass:i.$style.badgeFail]),"data-test-id":`tests-result-badge-${t.index}-${e.key}`},[n(N(e.label)+` `,1),g(`strong`,null,N(e.text),1)],10,Oa))),128))],2),t.expanded&&I.value?(E(),s(r(Q),{key:2,size:`small`,color:`text-dark`,class:H(i.$style.output)},{default:O(()=>[n(N(I.value),1)]),_:1},8,[`class`])):l(``,!0),t.expanded&&j.value.length>0?(E(),f(`div`,{key:3,class:H(i.$style.operational),"data-test-id":`tests-result-operational-${t.index}`},[(E(!0),f(e,null,V(j.value,e=>(E(),s(r(Q),{key:e.key,size:`xsmall`,color:`text-light`},{default:O(()=>[n(N(e.label)+` `+N(e.text),1)]),_:2},1024))),128))],10,ka)):l(``,!0)],10,Da)):l(``,!0)}}),[[`__cssModules`,{$style:{runSection:`_runSection_1my91_1`,separated:`_separated_1my91_7`,runLine:`_runLine_1my91_13`,badges:`_badges_1my91_19`,badge:`_badge_1my91_19`,badgePass:`_badgePass_1my91_34`,badgeFail:`_badgeFail_1my91_39`,output:`_output_1my91_44`,failureReason:`_failureReason_1my91_49`,operational:`_operational_1my91_54`}}]]),ja=[`data-test-id`],Ma=[`data-test-id`],Na=[`data-test-id`,`onClick`],Pa=[`data-test-id`],Fa=W(x({__name:`TestCaseDetail`,setup(t){let i={correctness:`evaluations.tests.metric.correctness.sentence`,helpfulness:`evaluations.tests.metric.helpfulness.sentence`,stringSimilarity:`evaluations.tests.metric.stringSimilarity.sentence`,categorization:`evaluations.tests.metric.categorization.sentence`,toolsUsed:`evaluations.tests.metric.toolsUsed.sentence`},a=Pi(),o=Re(),c=Y(),u=J(),d=an(),{selectedMetricKeys:h,customChecks:_,activeRowIndex:v,activeRunId:y,expectedValues:b,inputs:x,aiNodeName:C,caseName:w}=F(a),{persistAndRunCase:T,saveCase:D,deleteCase:k,isPersisting:A}=Ta(),j=Ii(),M=p(!1),P=te(async()=>{M.value&&await D({silent:!0})&&(M.value=!1)},we(ht.API.AUTOSAVE));function I(e,t){a.setInputValue(e,t),M.value=!0,P()}function L(e,t){a.setExpectedValue(e,t),M.value=!0,P()}function R(e){a.setCaseName(e),M.value=!0,P()}let ee=m(()=>a.datasetInputsByRow.length>0||y.value!==null),z=m(()=>{let e=j.value.fieldNames[0];return(e?x.value[e]:``)||u.baseText(`evaluations.tests.newCase.title`)}),B=m(()=>[{id:`delete`,label:u.baseText(`evaluations.tests.detail.delete`),disabled:v.value===null}]);function ne(e){e===`delete`&&oe()}async function re(){await ie(),a.openList()}async function ie(){M.value&&(M.value=!1,await D({silent:!0}))}async function ae(){await ie(),a.openCreate()}async function oe(){await d.confirm(u.baseText(`evaluations.tests.detail.delete.confirm.message`),u.baseText(`evaluations.tests.detail.delete.confirm.title`),{confirmButtonText:u.baseText(`generic.delete`),cancelButtonText:u.baseText(`generic.cancel`)})===`confirm`&&(M.value=!1,await k()&&a.openList())}let se=m(()=>ci.filter(e=>h.value.includes(e.key)));function ce(e){return u.baseText(i[e])}function le(e){return ii[e]}let ue=m(()=>{let e=C.value;return e?K(Dt(c.value?.connectionsBySourceNode??{}),e,tr.AiTool,1):[]}),de=m(()=>new Set((b.value.expectedTools??``).split(`,`).map(e=>e.trim()).filter(Boolean)));function fe(e){let t=new Set(de.value);t.has(e)?t.delete(e):t.add(e),L(`expectedTools`,Array.from(t).join(`, `))}let pe=p(!0),me=p(!0),he=m(()=>y.value),ge=m(()=>{let e=he.value,t=v.value;return e===null||t===null?!1:Object.values(o.testCaseExecutionsById??{}).some(n=>n.testRunId===e&&(n.runIndex??0)===t)}),_e=m(()=>{let e=he.value;if(e===null)return!1;let t=o.testRunsById[e]?.status;return!!t&&![`new`,`running`].includes(t)}),ve=p(!1);U([ge,_e],([e,t])=>{(e||t)&&(ve.value=!1)});let ye=m(()=>v.value!==null&&(ge.value||ve.value)),be=m(()=>v.value);async function xe(){ve.value=!0,await T(y.value?`run_again`:`initial`)?(pe.value=!1,me.value=!0):ve.value=!1}return(t,i)=>(E(),f(`div`,{class:H(t.$style.detail)},[g(`header`,{class:H(t.$style.header)},[g(`div`,{class:H(t.$style.breadcrumb)},[g(`button`,{type:`button`,class:H(t.$style.breadcrumbRoot),"data-test-id":`tests-detail-breadcrumb-root`,onClick:re},[S(r(Q),{size:`small`,color:`text-base`},{default:O(()=>[n(N(r(u).baseText(`setupPanel.tabs.evaluations`)),1)]),_:1})],2),S(r(Q),{size:`small`,color:`text-light`},{default:O(()=>[...i[2]||=[n(`/`,-1)]]),_:1}),S(r(yn),{"model-value":r(w),placeholder:z.value,"max-width":`100%`,class:H(t.$style.caseName),"data-test-id":`tests-detail-name`,"onUpdate:modelValue":R},null,8,[`model-value`,`placeholder`,`class`])],2),S(r(ln),{items:B.value,"activator-icon":`ellipsis-vertical`,"activator-size":`small`,"data-test-id":`tests-detail-menu`,onSelect:ne},null,8,[`items`]),ee.value?(E(),s(r(Hr),{key:0,variant:`outline`,size:`xsmall`,"data-test-id":`tests-detail-create-case`,onClick:ae},{default:O(()=>[n(N(r(u).baseText(`evaluations.tests.results.createCase`)),1)]),_:1})):l(``,!0),S(r(Hr),{variant:`solid`,size:`xsmall`,loading:r(A),"data-test-id":`tests-detail-run`,onClick:xe},{default:O(()=>[n(N(r(u).baseText(`evaluations.tests.detail.run`)),1)]),_:1},8,[`loading`])],2),g(`div`,{class:H(t.$style.body)},[S(r(Ur),{modelValue:pe.value,"onUpdate:modelValue":i[0]||=e=>pe.value=e,title:r(u).baseText(`evaluations.tests.detail.config`)},{default:O(()=>[g(`div`,{class:H(t.$style.paneContent),"data-test-id":`tests-detail-config`},[g(`div`,{class:H(t.$style.block)},[g(`div`,{class:H(t.$style.sentence)},[S(r(Q),{size:`small`,color:`text-dark`},{default:O(()=>[n(N(r(u).baseText(`evaluations.tests.detail.when`)),1)]),_:1}),S(r(Q),{size:`small`,color:`text-dark`,bold:``,"data-test-id":`tests-detail-ai-node`},{default:O(()=>[n(N(r(C)),1)]),_:1}),S(r(Q),{size:`small`,color:`text-dark`},{default:O(()=>[n(N(r(u).baseText(`evaluations.tests.detail.receivesInput`)),1)]),_:1})],2),g(`div`,{class:H(t.$style.indented)},[(E(!0),f(e,null,V(r(j).fieldNames,e=>(E(),f(`div`,{key:`input-${e}`,class:H(t.$style.field),"data-test-id":`tests-detail-input-${e}`},[S(r(Q),{size:`small`,color:`text-dark`},{default:O(()=>[n(N(e),1)]),_:2},1024),S(r(Ut),{"model-value":r(x)[e]??``,type:`textarea`,rows:2,size:`small`,"onUpdate:modelValue":t=>I(e,t)},null,8,[`model-value`,`onUpdate:modelValue`])],10,ja))),128))],2)],2),g(`div`,{class:H(t.$style.block)},[S(r(Q),{size:`small`,color:`text-dark`,bold:``},{default:O(()=>[n(N(r(u).baseText(`evaluations.tests.detail.output`)),1)]),_:1}),g(`div`,{class:H(t.$style.indented)},[(E(!0),f(e,null,V(se.value,i=>(E(),f(`div`,{key:i.key,class:H(t.$style.metric),"data-test-id":`tests-detail-metric-${i.key}`},[S(r(Q),{size:`small`,color:`text-dark`},{default:O(()=>[n(N(ce(i.key)),1)]),_:2},1024),i.key===`toolsUsed`?(E(),f(`div`,{key:0,class:H(t.$style.tools)},[(E(!0),f(e,null,V(ue.value,e=>(E(),f(`button`,{key:e,type:`button`,class:H(t.$style.toolItem),"data-test-id":`tests-detail-tool-${e}`,onClick:t=>fe(e)},[g(`span`,{class:H([t.$style.box,de.value.has(e)?t.$style.boxChecked:null])},[de.value.has(e)?(E(),s(r(Z),{key:0,icon:`check`,size:`xsmall`})):l(``,!0)],2),S(r(Q),{size:`small`,color:`text-dark`},{default:O(()=>[n(N(e),1)]),_:2},1024)],10,Na))),128)),ue.value.length===0?(E(),s(r(Q),{key:0,size:`small`,color:`text-light`},{default:O(()=>[n(N(r(u).baseText(`evaluations.tests.detail.tools.empty`)),1)]),_:1})):l(``,!0)],2)):le(i.key)?(E(),s(r(Ut),{key:1,"model-value":r(b)[le(i.key).name]??``,type:`textarea`,rows:3,size:`small`,"data-test-id":`tests-detail-expected-${le(i.key).name}`,"onUpdate:modelValue":e=>L(le(i.key).name,e)},null,8,[`model-value`,`data-test-id`,`onUpdate:modelValue`])):l(``,!0)],10,Ma))),128)),(E(!0),f(e,null,V(r(_),e=>(E(),f(`div`,{key:e.id,class:H(t.$style.metric),"data-test-id":`tests-detail-custom-${e.id}`},[S(r(Q),{size:`small`,color:`text-dark`},{default:O(()=>[n(N(r(u).baseText(`evaluations.tests.metric.custom.sentence`)),1)]),_:1}),S(r(Q),{size:`small`,color:`text-dark`,class:H(t.$style.expression),"data-test-id":`tests-detail-custom-expression-${e.id}`},{default:O(()=>[n(N(e.expression),1)]),_:2},1032,[`class`,`data-test-id`])],10,Pa))),128))],2)],2)],2)]),_:1},8,[`modelValue`,`title`]),ye.value&&be.value!==null?(E(),s(r(Ur),{key:0,modelValue:me.value,"onUpdate:modelValue":i[1]||=e=>me.value=e,title:r(u).baseText(`evaluations.tests.detail.latestRun`)},{default:O(()=>[g(`div`,{class:H(t.$style.paneContent),"data-test-id":`tests-detail-results`},[S(Aa,{index:be.value,"run-id":he.value,expanded:me.value},null,8,[`index`,`run-id`,`expanded`])],2)]),_:1},8,[`modelValue`,`title`])):l(``,!0)],2)],2))}}),[[`__cssModules`,{$style:{detail:`_detail_1xzyz_1`,header:`_header_1xzyz_10`,breadcrumb:`_breadcrumb_1xzyz_19`,breadcrumbRoot:`_breadcrumbRoot_1xzyz_27`,caseName:`_caseName_1xzyz_37`,body:`_body_1xzyz_44`,paneContent:`_paneContent_1xzyz_53`,block:`_block_1xzyz_59`,sentence:`_sentence_1xzyz_65`,indented:`_indented_1xzyz_72`,field:`_field_1xzyz_79`,metric:`_metric_1xzyz_85`,expression:`_expression_1xzyz_91`,tools:`_tools_1xzyz_97`,toolItem:`_toolItem_1xzyz_103`,box:`_box_1xzyz_114`,boxChecked:`_boxChecked_1xzyz_126`}}]]),Ia=[`data-test-id`],La=W(x({__name:`SuiteConfig`,setup(t){let i=[`correctness`,`stringSimilarity`,`toolsUsed`],a=J(),o=Pi(),c=qi(),{saveConfig:l}=Ta(),{aiNodeName:u,selectedMetricKeys:d,customChecks:p,judgeSelectionByMetric:h}=F(o),_=m(()=>ci.filter(e=>d.value.includes(e.key))),v=m(()=>{let e=i.filter(e=>!d.value.includes(e)).map(e=>{let t=ci.find(t=>t.key===e);return{id:e,label:t?a.baseText(si(t)):e}});return e.push({id:`custom`,label:a.baseText(`evaluations.tests.detail.addMetric.custom`)}),e});function y(e){if(e===`custom`){o.addCustomCheck({name:`Custom ${p.value.length+1}`,expression:``});return}o.toggleMetric(e)}function b(e){d.value.includes(e)&&o.toggleMetric(e)}function x(e){o.setAiNodeName(e),o.exitSliceMode()}let C=te(()=>{l({silent:!0})},we(ht.API.AUTOSAVE));return U([u,d,p,h],()=>{C()},{deep:!0}),(t,i)=>(E(),f(`section`,{class:H(t.$style.config),"data-test-id":`tests-suite-config`},[g(`div`,{class:H(t.$style.sentence)},[S(r(Q),{size:`small`,color:`text-dark`},{default:O(()=>[n(N(r(a).baseText(`evaluations.tests.detail.when`)),1)]),_:1}),S(r(kn),{"model-value":r(u),size:`small`,filterable:``,placeholder:r(a).baseText(`evaluations.tests.chooseAiNode.placeholder`),class:H(t.$style.nodeSelect),"data-test-id":`tests-suite-config-ai-node-select`,"onUpdate:modelValue":x},{default:O(()=>[(E(!0),f(e,null,V(r(c),e=>(E(),s(r(at),{key:e.name,label:e.name,value:e.name},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`class`]),S(r(Q),{size:`small`,color:`text-dark`},{default:O(()=>[n(N(r(a).baseText(`evaluations.tests.suite.receivesInput`)),1)]),_:1})],2),g(`div`,{class:H(t.$style.checks)},[(E(!0),f(e,null,V(_.value,e=>(E(),s(r(Hr),{key:e.key,variant:`subtle`,size:`small`,icon:`x`,"aria-label":r(a).baseText(`evaluations.tests.detail.removeMetric`),"data-test-id":`tests-suite-config-metric-${e.key}`,onClick:t=>b(e.key)},{default:O(()=>[n(N(r(a).baseText(r(si)(e))),1)]),_:2},1032,[`aria-label`,`data-test-id`,`onClick`]))),128)),(E(!0),f(e,null,V(r(p),e=>(E(),f(`div`,{key:e.id,class:H(t.$style.customRow),"data-test-id":`tests-suite-config-custom-${e.id}`},[S(r(Ut),{"model-value":e.expression,type:`text`,size:`small`,class:H(t.$style.expressionInput),placeholder:r(a).baseText(`evaluations.tests.metric.custom.placeholder`),"onUpdate:modelValue":t=>r(o).updateCustomCheck(e.id,{expression:t})},null,8,[`model-value`,`class`,`placeholder`,`onUpdate:modelValue`]),S(r(Hr),{variant:`ghost`,size:`small`,"icon-only":``,icon:`x`,"aria-label":r(a).baseText(`evaluations.tests.detail.removeMetric`),"data-test-id":`tests-suite-config-custom-remove-${e.id}`,onClick:t=>r(o).removeCustomCheck(e.id)},null,8,[`aria-label`,`data-test-id`,`onClick`])],10,Ia))),128)),S(r(ln),{items:v.value,placement:`bottom-start`,"data-test-id":`tests-suite-config-add-metric`,onSelect:y},{activator:O(()=>[S(r(Hr),{variant:`ghost`,size:`small`,icon:`plus`},{default:O(()=>[n(N(r(a).baseText(`evaluations.tests.detail.addMetric`)),1)]),_:1})]),_:1},8,[`items`])],2)],2))}}),[[`__cssModules`,{$style:{config:`_config_1ja9c_1`,sentence:`_sentence_1ja9c_11`,nodeSelect:`_nodeSelect_1ja9c_18`,checks:`_checks_1ja9c_23`,customRow:`_customRow_1ja9c_30`,expressionInput:`_expressionInput_1ja9c_37`}}]]),Ra=[`data-test-id`],za=[`data-test-id`],Ba=[`aria-expanded`,`data-test-id`],Va=W(x({__name:`TestCaseResultCard`,props:{index:{}},setup(t){let i=t,a=J(),o=Pi(),s=p(!1),c=m(()=>o.datasetNamesByRow[i.index]||a.baseText(`evaluations.tests.list.caseLabel`,{interpolate:{index:i.index+1}})),u=m(()=>{let e=o.datasetInputsByRow[i.index]??{};return Object.entries(e).map(([e,t])=>({name:e,value:String(t)}))});function d(){s.value=!s.value}function h(){o.openDetail(i.index)}return(i,p)=>(E(),f(`div`,{class:H(i.$style.card),"data-test-id":`tests-result-card-${t.index}`},[g(`div`,{class:H(i.$style.header)},[g(`button`,{type:`button`,class:H(i.$style.title),"data-test-id":`tests-result-edit-${t.index}`,onClick:h},[S(r(Q),{size:`medium`,color:`text-dark`,bold:``},{default:O(()=>[n(N(c.value),1)]),_:1})],10,za),g(`button`,{type:`button`,class:H(i.$style.chevron),"aria-expanded":s.value,"data-test-id":`tests-result-toggle-${t.index}`,onClick:d},[S(r(Z),{icon:s.value?`chevron-up`:`chevron-down`,size:`small`,color:`text-base`},null,8,[`icon`])],10,Ba)],2),s.value?(E(),f(`div`,{key:0,class:H(i.$style.definition)},[g(`div`,{class:H(i.$style.sentence)},[S(r(Q),{size:`small`,color:`text-light`},{default:O(()=>[n(N(r(a).baseText(`evaluations.tests.detail.when`)),1)]),_:1}),S(r(Q),{size:`small`,color:`text-dark`,bold:``},{default:O(()=>[n(N(r(o).aiNodeName),1)]),_:1}),S(r(Q),{size:`small`,color:`text-light`},{default:O(()=>[n(N(r(a).baseText(`evaluations.tests.detail.receivesInput`)),1)]),_:1})],2),g(`div`,{class:H(i.$style.entries)},[(E(!0),f(e,null,V(u.value,e=>(E(),f(`p`,{key:e.name,class:H(i.$style.entry)},[S(r(Q),{size:`small`,color:`text-light`},{default:O(()=>[n(N(e.name),1)]),_:2},1024),S(r(Q),{size:`small`,color:`text-dark`},{default:O(()=>[n(N(e.value),1)]),_:2},1024)],2))),128))],2)],2)):l(``,!0),S(Aa,{index:t.index,expanded:s.value,separated:``},null,8,[`index`,`expanded`])],10,Ra))}}),[[`__cssModules`,{$style:{card:`_card_9n0ah_1`,header:`_header_9n0ah_11`,title:`_title_9n0ah_18`,chevron:`_chevron_9n0ah_31`,definition:`_definition_9n0ah_48`,sentence:`_sentence_9n0ah_54`,entries:`_entries_9n0ah_61`,entry:`_entry_9n0ah_68`}}]]),Ha=W(x({__name:`TestCaseResults`,setup(t){let i=J(),a=Pi(),o=Re(),c=Y(),l=ze(),{runAll:u,isPersisting:d}=Ta(),{hydrate:h}=ea(),{datasetInputsByRow:_}=F(a),v=m(()=>_.value.length>0);async function y(){let e=c.value?.workflowId;if(e)try{await o.fetchTestRuns(e);let t=[...o.testRunsByWorkflowId[e]??[]].sort((e,t)=>new Date(e.createdAt).getTime()-new Date(t.createdAt).getTime()),n=t[t.length-1];n&&![`new`,`running`].includes(n.status)&&await o.fetchTestCaseExecutions({workflowId:e,runId:n.id})}catch(e){console.warn(`[TestCaseResults] failed to load results`,e)}}re(async()=>{await h(),y()});let b=p(!1);async function x(){if(!b.value){b.value=!0;try{await u()?await y():l.showError(Error(`Run all failed`),i.baseText(`evaluations.tests.runAll.error`))}catch(e){l.showError(e,i.baseText(`evaluations.tests.runAll.error`))}finally{b.value=!1}}}return(t,o)=>(E(),f(`div`,{class:H(t.$style.container),"data-test-id":`tests-results`},[g(`header`,{class:H(t.$style.header)},[S(r(Q),{tag:`h2`,size:`small`,color:`text-dark`,bold:``,class:H(t.$style.title)},{default:O(()=>[n(N(r(i).baseText(`setupPanel.tabs.evaluations`)),1)]),_:1},8,[`class`]),g(`div`,{class:H(t.$style.actions)},[S(r(Hr),{variant:`outline`,size:`xsmall`,"data-test-id":`tests-results-create-case`,onClick:o[0]||=e=>r(a).openCreate()},{default:O(()=>[n(N(r(i).baseText(`evaluations.tests.results.createCase`)),1)]),_:1}),S(r(Hr),{variant:`solid`,size:`xsmall`,loading:b.value||r(d),disabled:!v.value,"data-test-id":`tests-results-run-all`,onClick:x},{default:O(()=>[n(N(r(i).baseText(`evaluations.tests.runAll`)),1)]),_:1},8,[`loading`,`disabled`])],2)],2),g(`div`,{class:H(t.$style.body)},[S(La),v.value?(E(),f(`div`,{key:0,class:H(t.$style.cards)},[(E(!0),f(e,null,V(r(_),(e,t)=>(E(),s(Va,{key:t,index:t},null,8,[`index`]))),128))],2)):(E(),f(`div`,{key:1,class:H(t.$style.empty)},[S(r(Q),{size:`small`,color:`text-light`},{default:O(()=>[n(N(r(i).baseText(`evaluations.tests.results.empty`)),1)]),_:1})],2))],2)],2))}}),[[`__cssModules`,{$style:{container:`_container_oyxbw_1`,header:`_header_oyxbw_8`,title:`_title_oyxbw_18`,actions:`_actions_oyxbw_22`,body:`_body_oyxbw_28`,cards:`_cards_oyxbw_37`,empty:`_empty_oyxbw_43`}}]]),Ua=`__EMPTY__`,Wa=W(x({__name:`TestsPanel`,setup(t){let i=Pi(),a=Re(),o=Y(),c=Tn(),l=yt(),u=kt(),{fetchLatestUserExecution:d}=oa(),h=J(),{viewMode:g,judgeSelectionByMetric:_}=F(i),v=qi(),y=Xi(),{runWorkflow:b,runTriggerNode:x,triggerNodes:C}=Yi(),w=m(()=>v.value.length>0),T=m(()=>!w.value),D=m(()=>C.value.length>1),k=m(()=>C.value.map(e=>({id:e.name,label:e.name})));function A(){let e=o.value?.workflowId;e&&(C.value.length===0?u.openNodeCreatorForTriggerNodes(e,hr.ADD_NODE_BUTTON):u.openNodeCreatorForRegularNodes(e,hr.ADD_NODE_BUTTON))}function j(e){let t=C.value.find(t=>t.name===e);t&&x(t)}U([()=>i.isOpen,y,_],([e,t,n])=>{if(!(!e||!t))for(let e of ni)n[e]||i.setJudgeSelection(e,t)},{immediate:!0});let P=p(!1),I=p(null),L=Ii({fallbackExecution:I});async function R(){try{await Promise.all([Promise.resolve(c.fetchLastSuccessfulExecution()),te()])}finally{P.value=!0}}U([()=>i.isOpen,v],([e,t])=>{if(!e||(R(),i.aiNodeName))return;let n=t[0];n&&i.setAiNodeName(n.name)},{immediate:!0});let ee=null;re(()=>{ee=l.addEventListener(e=>{if(e.type!==`executionFinished`)return;let t=o.value?.workflowId;!t||e.data.workflowId!==t||(R(),a.fetchTestRuns(t))})}),M(()=>{ee?.(),ee=null});async function te(){try{I.value=await d()}catch{I.value=null}}U(L,({values:e,fieldNames:t})=>{t.length!==0&&i.prefillInputsFromExecution&&i.seedInputs(e)},{immediate:!0});let z=m(()=>L.value.hasExecution),B=m(()=>{if(i.datasetInputsByRow.length>0||i.activeRunId!==null)return!0;let e=o.value?.workflowId;return!!(e&&(a.testRunsByWorkflowId[e]?.length??0)>0)}),ne=m(()=>P.value&&!z.value&&!B.value),ie=m(()=>!z.value&&!P.value&&!B.value),{hydrate:ae}=ea(),{createFromExecution:oe}=sa();return U(()=>[i.isOpen,o.value?.workflowId],async([e])=>{let t=o.value?.workflowId,n=i.lastWorkflowId;if(n&&n!==Ua&&t&&t!==n&&i.reset(),t&&i.setLastWorkflowId(t),!e||!t)return;await ae();let r=i.pendingSeedExecution;r&&(oe(r),i.setPendingSeedExecution(null))},{immediate:!0}),(t,i)=>(E(),f(`div`,{class:H(t.$style.panel),"data-test-id":`tests-panel`},[T.value?(E(),f(`div`,{key:0,class:H(t.$style.gate),"data-test-id":`tests-panel-add-node`},[S(r(Q),{size:`large`,color:`text-dark`,class:H(t.$style.gateMessage)},{default:O(()=>[n(N(r(h).baseText(`evaluations.tests.empty.noNode`)),1)]),_:1},8,[`class`]),S(r(Hr),{size:`small`,"data-test-id":`tests-panel-add-node-button`,onClick:A},{default:O(()=>[n(N(r(h).baseText(`evaluations.tests.empty.noNode.button`)),1)]),_:1})],2)):ie.value?(E(),f(`div`,{key:1,class:H(t.$style.gate),"data-test-id":`tests-panel-probe-loading`},[S(r(Z),{icon:`spinner`,size:`medium`,spin:!0})],2)):ne.value?(E(),f(`div`,{key:2,class:H(t.$style.gate),"data-test-id":`tests-panel-gate`},[S(r(Q),{size:`large`,color:`text-dark`,class:H(t.$style.gateMessage)},{default:O(()=>[n(N(r(h).baseText(`evaluations.tests.empty.noExecutions`)),1)]),_:1},8,[`class`]),D.value?(E(),s(r(ln),{key:0,items:k.value,placement:`bottom`,"data-test-id":`tests-panel-choose-trigger`,onSelect:j},{activator:O(()=>[S(r(Hr),{size:`small`},{default:O(()=>[n(N(r(h).baseText(`evaluations.tests.empty.chooseTrigger`))+` `,1),S(r(Z),{icon:`chevron-down`,size:`small`})]),_:1})]),_:1},8,[`items`])):(E(),s(r(Hr),{key:1,size:`small`,"data-test-id":`tests-panel-gate-run`,onClick:r(b)},{default:O(()=>[n(N(r(h).baseText(`evaluations.tests.empty.execute`)),1)]),_:1},8,[`onClick`]))],2)):(E(),f(e,{key:3},[r(g)===`detail`?(E(),s(Fa,{key:0})):r(g)===`create`?(E(),s(pa,{key:1})):(E(),s(Ha,{key:2}))],64))],2))}}),[[`__cssModules`,{$style:{panel:`_panel_16tpu_1`,gate:`_gate_16tpu_10`,gateMessage:`_gateMessage_16tpu_21`}}]]),Ga={key:0},Ka=W(x({name:`FocusSidebar`,__name:`FocusSidebar`,props:{isCanvasReadOnly:{type:Boolean}},emits:[`contextMenuAction`],setup(e,{emit:t}){let n=t,i=P(`wrapper`),c=$n(),u=Je(),d=Y(),p=Sn(),h=nr(),_=dt(),v=qn(),y=I(c.value),b=o();wr({view_shown:`focus_panel`});let{selectedTab:x}=F(u),C=m(()=>u.focusPanelActive),w=m(()=>u.focusPanelWidth),T=m(()=>u.resolvedParameter),D=m(()=>h.isFeatureEnabled),{isFeatureEnabled:k}=Xr(),{isLicensed:A,isResolved:N,ensureLicenseLoaded:L}=ui(),ee=m(()=>h.isFeatureEnabled&&x.value===`setup`),te=m(()=>k.value&&x.value===`evaluations`&&N.value&&A.value),B=m(()=>k.value&&x.value===`evaluations`&&N.value&&!A.value),ne=m(()=>D.value||k.value),ie=m(()=>{if(!p.isNdvInFocusPanelEnabled||T.value)return T.value?.node;let e=y.getSelectedNodes.value[0];return e?.data?.render.type===rt.Default?(d?.value?.allNodes??[]).find(t=>t.id===e.id):void 0}),ae=m(()=>{let e=T.value?.parameter.displayName??ie.value?.name;return e?{focus:e}:void 0});function oe(e){e.key===`s`&&v.isCtrlKeyPressed(e)&&(e.stopPropagation(),e.preventDefault())}let se=()=>{document.addEventListener(`keydown`,oe,!0)},V=()=>{document.removeEventListener(`keydown`,oe,!0)};U(()=>u.focusPanelActive,e=>{e?se():V()},{immediate:!0}),U(b,e=>{if(!ie.value||!e||!i.value?.contains(e))return;let t=e.closest(`.parameter-input`)?.getAttribute(`data-parameter-path`);t&&_.track(`User focused focus panel`,{node_id:ie.value.id,node_type:ie.value.type,parameter_path:t})});function ce(e){u.updateWidth(e.width)}let le=j(ce,10);function ue(e,t){n(`contextMenuAction`,e,t)}return re(()=>{L()}),M(()=>{V()}),(t,n)=>C.value?(E(),f(`div`,{key:0,ref:`wrapper`,"data-test-id":`focus-sidebar`,class:H([t.$style.wrapper,`ignore-key-press-canvas`,{[t.$style.isNdvInFocusPanelEnabled]:r(p).isNdvInFocusPanelEnabled}]),onKeydown:n[1]||=R(()=>{},[`stop`])},[S(r(Et),{width:w.value,"supported-directions":[`left`],"min-width":D.value?420:300,"max-width":r(p).isNdvInFocusPanelEnabled?void 0:1e3,"grid-size":8,style:z({width:`${w.value}px`}),onResize:r(le)},{default:O(()=>[g(`div`,{class:H(t.$style.container)},[ne.value?(E(),f(`div`,Ga,[S(pi,{modelValue:r(x),"onUpdate:modelValue":n[0]||=e=>a(x)?x.value=e:null,"tab-labels":ae.value},null,8,[`modelValue`,`tab-labels`])])):l(``,!0),ee.value?(E(),f(`div`,{key:1,class:H(t.$style[`setup-panel-wrapper`])},[S(Ai)],2)):te.value?(E(),f(`div`,{key:2,class:H(t.$style[`setup-panel-wrapper`])},[S(Wa)],2)):B.value?(E(),f(`div`,{key:3,class:H([t.$style[`setup-panel-wrapper`],t.$style[`evaluations-paywall-wrapper`]])},[S(Zr)],2)):(E(),s(Ni,{key:4,"is-canvas-read-only":e.isCanvasReadOnly,onContextMenuAction:ue},null,8,[`is-canvas-read-only`]))],2)]),_:1},8,[`width`,`min-width`,`max-width`,`style`,`onResize`])],34)):l(``,!0)}}),[[`__cssModules`,{$style:{wrapper:`_wrapper_m5715_1`,container:`_container_m5715_13`,"setup-panel-wrapper":`_setup-panel-wrapper_m5715_19`,"evaluations-paywall-wrapper":`_evaluations-paywall-wrapper_m5715_26`}}]]),qa=x({__name:`CanvasStopCurrentExecutionButton`,props:{stopping:{type:Boolean},size:{}},setup(e){let t=e,n=J(),i=m(()=>t.stopping?n.baseText(`nodeView.stoppingCurrentExecution`):n.baseText(`nodeView.stopCurrentExecution`));return(t,n)=>(E(),s(r(Or),{variant:`subtle`,icon:`square`,size:e.size??`large`,class:`stop-execution`,title:i.value,loading:e.stopping,"data-test-id":`stop-execution-button`},null,8,[`size`,`title`,`loading`]))}}),Ja=x({__name:`CanvasStopWaitingForWebhookButton`,props:{size:{}},setup(e){let t=e,n=J();return(e,i)=>(E(),s(r(Or),{variant:`subtle`,class:`stop-execution`,icon:`square`,size:t.size??`large`,title:r(n).baseText(`nodeView.stopWaitingForWebhookCall`),"data-test-id":`stop-execution-waiting-for-webhook-button`},null,8,[`size`,`title`]))}}),Ya={"data-action":`reload`},Xa={href:`https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/`,target:`_blank`},Za=x({__name:`NodeViewUnfinishedWorkflowMessage`,setup(e){let t=J();return(e,i)=>(E(),f(`div`,null,[g(`a`,Ya,N(r(t).baseText(`nodeView.refresh`)),1),n(` `+N(r(t).baseText(`nodeView.toSeeTheLatestStatus`))+`. `,1),i[0]||=g(`br`,null,null,-1),g(`a`,Xa,N(r(t).baseText(`nodeView.moreInfo`)),1)]))}}),Qa=x({__name:`CanvasChatButton`,props:{label:{},variant:{}},setup(e){return(t,n)=>(E(),s(r(Hr),{label:e.label,size:`large`,icon:`message-circle`,variant:e.variant,"data-test-id":`workflow-chat-button`},null,8,[`label`,`variant`]))}}),$a=W(x({__name:`CheckHeader`,props:{icon:{},iconBg:{},iconFg:{},title:{},badge:{},badgeIcon:{}},setup(e){return(t,i)=>(E(),f(`div`,{class:H(t.$style.header)},[g(`span`,{class:H([t.$style.icon,!e.iconBg&&!e.iconFg?t.$style.iconNeutral:null]),style:z(e.iconBg||e.iconFg?{backgroundColor:e.iconBg,color:e.iconFg}:null)},[S(r(Z),{icon:e.icon,size:`small`},null,8,[`icon`])],6),g(`div`,{class:H(t.$style.body)},[g(`div`,{class:H(t.$style.titleRow)},[S(r(Q),{size:`small`,bold:``,color:`text-dark`},{default:O(()=>[n(N(e.title),1)]),_:1}),e.badge?(E(),s(r(er),{key:0,class:H(t.$style.judgePill)},{default:O(()=>[e.badgeIcon?(E(),s(r(Z),{key:0,icon:e.badgeIcon,size:`xsmall`,class:H(t.$style.judgePillIcon)},null,8,[`icon`,`class`])):l(``,!0),n(` `+N(e.badge),1)]),_:1},8,[`class`])):l(``,!0)],2),A(t.$slots,`description`)],2)],2))}}),[[`__cssModules`,{$style:{header:`_header_1ffdx_1`,icon:`_icon_1ffdx_9`,iconNeutral:`_iconNeutral_1ffdx_18`,body:`_body_1ffdx_23`,titleRow:`_titleRow_1ffdx_30`,judgePill:`_judgePill_1ffdx_37`,judgePillIcon:`_judgePillIcon_1ffdx_51`}}]]),eo=[`role`,`tabindex`],to=[`aria-label`,`data-test-id`],no=W(x({__name:`CheckCard`,props:{icon:{},iconBg:{},iconFg:{},title:{},description:{},badge:{},badgeIcon:{},selected:{type:Boolean},readonly:{type:Boolean},removable:{type:Boolean},removeAriaLabel:{},removeTestId:{}},emits:[`toggle`,`remove`],setup(e){return(t,i)=>(E(),f(`div`,{class:H([t.$style.card,e.selected?t.$style.cardSelected:null]),role:e.readonly?void 0:`button`,tabindex:e.readonly?void 0:0,onClick:i[3]||=n=>!e.readonly&&t.$emit(`toggle`),onKeydown:[i[4]||=h(R(n=>!e.readonly&&t.$emit(`toggle`),[`self`,`prevent`]),[`enter`]),i[5]||=h(R(n=>!e.readonly&&t.$emit(`toggle`),[`self`,`prevent`]),[`space`])]},[S($a,{icon:e.icon,"icon-bg":e.iconBg,"icon-fg":e.iconFg,title:e.title,badge:e.badge,"badge-icon":e.badgeIcon},y({_:2},[e.description?{name:`description`,fn:O(()=>[S(r(Q),{size:`small`,color:`text-base`,class:H(t.$style.description)},{default:O(()=>[n(N(e.description),1)]),_:1},8,[`class`])]),key:`0`}:void 0]),1032,[`icon`,`icon-bg`,`icon-fg`,`title`,`badge`,`badge-icon`]),e.removable?(E(),f(`button`,{key:0,type:`button`,class:H(t.$style.removeButton),"aria-label":e.removeAriaLabel,"data-test-id":e.removeTestId,onClick:i[0]||=R(e=>t.$emit(`remove`),[`stop`])},[S(r(Z),{icon:`trash-2`,size:`small`})],10,to)):e.selected&&!e.readonly?(E(),f(`span`,{key:1,class:H(t.$style.selectedMark),"aria-hidden":`true`},[S(r(Z),{icon:`check`,size:`small`})],2)):l(``,!0),t.$slots.default?(E(),f(`div`,{key:2,class:H(t.$style.slotContainer),onClick:i[1]||=R(()=>{},[`stop`]),onKeydown:i[2]||=R(()=>{},[`stop`])},[A(t.$slots,`default`)],34)):l(``,!0)],42,eo))}}),[[`__cssModules`,{$style:{card:`_card_k2mdo_1`,cardSelected:`_cardSelected_k2mdo_18`,description:`_description_k2mdo_25`,selectedMark:`_selectedMark_k2mdo_30`,removeButton:`_removeButton_k2mdo_38`,slotContainer:`_slotContainer_k2mdo_58`}}]]),ro=[`aria-label`],io=W(x({__name:`EvaluationsCanvasInfoCard`,setup(t){let i=m(()=>[...ci,...ci].map(e=>({...e,isJudge:ni.has(e.key)}))),a=J(),o=dt(),s=Pi(),c=Y(),u=Kn(),d=qi(),{isFeatureEnabled:h}=Xr(),{isLicensed:_,ensureLicenseLoaded:v}=ui(),y=p(null),b=null,x=Pt(Kr),C=m(()=>{let e=x.value;return e?new Set(e.split(`,`).filter(Boolean)):new Set}),w=m(()=>c.value?.workflowId??``),T=m(()=>c.value?.active??!1),D=m(()=>d.value.length>0),k=m(()=>w.value?C.value.has(w.value):!0),A=m(()=>h.value&&_.value&&T.value&&D.value&&!k.value),j=m(()=>A.value&&y.value===!1&&!s.isOpen);re(()=>{v()});async function M(){let e=w.value;if(e&&b!==e){b=e;try{let t=await Wr(u.restApiContext,e);if(e!==w.value)return;y.value=t.length>0}catch{if(e!==w.value)return;y.value=!0}finally{b===e&&(b=null)}}}U(A,e=>{if(!e){y.value=null;return}y.value===null&&M()},{immediate:!0}),U(w,()=>{y.value=null,A.value&&M()}),U(()=>s.isOpen,(e,t)=>{t&&!e&&A.value&&M()});function P(){let e=w.value;if(!e)return;let t=new Set(C.value);t.add(e),x.value=[...t].join(`,`)}function F(){o.track(`User opened evaluations wizard`,{workflow_id:w.value,source:`canvas_info_card`}),s.open(0)}return(t,o)=>j.value?(E(),f(`aside`,{key:0,class:H(t.$style.card),role:`complementary`,"data-test-id":`evaluations-canvas-info-card`},[g(`button`,{type:`button`,class:H(t.$style.dismiss),"aria-label":r(a).baseText(`evaluations.canvasInfoCard.dismiss`),"data-test-id":`evaluations-canvas-info-card-dismiss`,onClick:P},[S(r(Z),{icon:`x`,size:`small`})],10,ro),g(`div`,{class:H(t.$style.marquee),"aria-hidden":`true`},[g(`ul`,{class:H(t.$style.marqueeTrack)},[(E(!0),f(e,null,V(i.value,(e,n)=>(E(),f(`li`,{key:`${e.key}-${n}`,class:H(t.$style.marqueeItem)},[S(no,{icon:e.icon,"icon-bg":e.tileBg,"icon-fg":e.tileFg,title:r(a).baseText(e.labelKey),description:r(a).baseText(e.descriptionKey),badge:e.isJudge?r(a).baseText(`evaluations.wizardSidepanel.metric.judgeTag`):void 0,readonly:``},null,8,[`icon`,`icon-bg`,`icon-fg`,`title`,`description`,`badge`])],2))),128))],2)],2),g(`div`,{class:H(t.$style.body)},[S(r(Q),{size:`small`,bold:``,color:`text-dark`},{default:O(()=>[n(N(r(a).baseText(`evaluations.canvasInfoCard.title`)),1)]),_:1}),S(r(Q),{size:`small`,color:`text-base`,class:H(t.$style.description)},{default:O(()=>[n(N(r(a).baseText(`evaluations.canvasInfoCard.description`)),1)]),_:1},8,[`class`])],2),g(`div`,{class:H(t.$style.footer)},[S(r(Hr),{variant:`solid`,size:`medium`,type:`button`,class:H(t.$style.setupButton),"data-test-id":`evaluations-canvas-info-card-setup`,onClick:F},{default:O(()=>[n(N(r(a).baseText(`evaluations.canvasInfoCard.setup`)),1)]),_:1},8,[`class`])],2)],2)):l(``,!0)}}),[[`__cssModules`,{$style:{card:`_card_fbnw4_1`,dismiss:`_dismiss_fbnw4_15`,marquee:`_marquee_fbnw4_39`,marqueeTrack:`_marqueeTrack_fbnw4_47`,marqueeScroll:`_marqueeScroll_fbnw4_1`,marqueeItem:`_marqueeItem_fbnw4_70`,body:`_body_fbnw4_74`,description:`_description_fbnw4_81`,footer:`_footer_fbnw4_86`,setupButton:`_setupButton_fbnw4_90`}}]]),ao=W(x({name:`NodeView`,__name:`NodeView`,setup(t){let i=c(async()=>await jr(()=>import(`./NodeCreation-C8NFQ2Uw.js`),__vite__mapDeps([0,1,2,3,4,5,6]))),a=c(async()=>await jr(()=>import(`./NodeDetailsView-Bp65fCJz.js`),__vite__mapDeps([7,1,2,3,4,5,8,9,10,11,12,13,14,15,16,17]))),o=c(async()=>await jr(()=>import(`./SetupWorkflowCredentialsButton-catXap1S.js`),__vite__mapDeps([18,1,2,3,4,5,19,20]))),u=le(),h=ae(),_=D(),{canOpenNDV:y}=Jr(),b=J(),x=dt(),C=zt(),w=ze(),T=an(),k=Tr(),A=$e({router:h,ownsAutoSave:!0,onSaved:e=>{lt.emit(`saved:workflow`,{isFirstSave:e})}}),j=Nt(),F=Cn({onPaste:ei}),I=st(),R=Ae(),ee=Ge(),te=Tn(),z=Y(),B=m(()=>mn(z.value.documentId)),ne=Jt(),ie=Xe(),oe=yr(),V=kt(),ce=zn(),ue=Rn(),de=Ee(),pe=It(),me=he(),ve=ge(),ye=Fn(),be=cn(),xe=Rr(),we=bt(),W=Je(),Te=Pi(),{isFeatureEnabled:De}=Xr(),Oe=Ar(),ke=Yr(),je=Se(),Me=Pr(),Ne=Sn(),K=_r(),Le=gr(),Re=hn(),Ve=Vn();di(K);let{addBeforeUnloadEventBindings:Ue,removeBeforeUnloadEventBindings:We}=Un({route:_}),{registerCustomAction:Ke,unregisterCustomAction:qe}=Nr(),{runWorkflow:Qe,runEntireWorkflow:tt,stopCurrentExecution:it,stopWaitingForWebhook:at}=qt({router:h}),{updateNodePosition:ot,updateNodesPosition:ct,tidyUp:ft,revertUpdateNodePosition:mt,renameNode:ht,revertRenameNode:gt,revertReplaceNodeParameters:_t,setNodeActive:vt,setNodeSelected:yt,toggleNodesDisabled:St,revertToggleNodeDisabled:Ct,toggleNodesPinned:wt,setNodeParameters:Et,deleteNode:Dt,deleteNodes:Ot,copyNodes:jt,cutNodes:Mt,duplicateNodes:Pt,revertDeleteNode:Ft,revertAddNode:Rt,createConnection:Bt,revertCreateConnection:Vt,deleteConnection:Ht,revertDeleteConnection:Ut,revalidateNodeInputConnections:Wt,revalidateNodeOutputConnections:Gt,setNodeActiveByName:Kt,clearNodeActive:Z,tryToOpenSubworkflowInNewTab:Qt,importWorkflowData:$t,fetchWorkflowDataFromUrl:en,resetWorkspace:tn,initializeWorkspace:nn,lastClickPosition:Q,startChat:sn,addNodesAndConnections:ln,fitView:dn}=fr(),{extractWorkflow:fn}=_e();xn({ctrl_alt_o:()=>R.openModal(Zt)});let _n=P(`canvas`),vn=p(!0),yn=p(null),bn=p([]),$=$n(),wn=m(()=>{let e=_.params.nodeId;return Array.isArray(e)?e[0]:e}),Dn=m(()=>_.query.new===`true`),On=m(()=>_.query.hideControls===`true`),kn=m(()=>_.query.canvasBackground!==`dots`),An=m(()=>_.name===X.DEMO),Nn=m(()=>oe.isCanvasOnly&&!An.value),Pn=m(()=>!!_?.meta?.readOnlyCanvas),Ln=m(()=>ie.preferences.branchReadOnly),{readOnly:Bn,expandGroups:Hn,executionButtonType:Wn}=pt(),Gn=m(()=>An.value?`secondary`:Wn.value),Kn=m(()=>An.value||Ln.value||K.shouldBeReadOnly||!(qi.value.update??Ji.value.workflow.update)||(z?.value?.isArchived??!1)||Oe.streaming&&!Oe.isHelpStreaming||Bn.value),qn=m(()=>An.value?`all`:Hn.value),Jn=m(()=>Ln.value?!1:An.value?_.query.canExecute===`true`:z?.value?.isArchived||Oe.streaming||Bn?.value?!1:!!(qi.value.execute??Ji.value.workflow.execute)),Yn=m(()=>K.isCurrentUserWriter&&!K.isCurrentTabWriter),er=m(()=>lr.value.length===0),nr=m(()=>!we.value.activeNode&&R.activeModals.length===0),rr=m(()=>Me.isOpen);function ir(){_.query.action===`addEvaluationTrigger`?Da():_.query.action===`addEvaluationNode`?V.openNodeCreatorForActions($.value,Yt,hr.ADD_EVALUATION_NODE_BUTTON):_.query.action===`executeEvaluation`?Ta.value&&tt(`node`,Ta.value.name):_.query.action===`openEvaluationsWizard`&&De.value&&(x.track(`User opened evaluations wizard`,{workflow_id:$.value,source:`empty_state`}),Te.open(0)),Te.pendingSeedExecution&&De.value&&(W.setSelectedTab(`evaluations`),W.openFocusPanel()),lt.off(`saved:workflow`,Ra),_.name===X.EXECUTION_DEBUG&&lt.on(`saved:workflow`,Ra),v(()=>{ar()})}function ar(){j.updateNodesInputIssues(),j.updateNodesCredentialsIssues(),j.updateNodesParameterIssues()}U(()=>{let e=z?.value,t=(e?.workflowTriggerNodes??[]).filter(e=>!e.disabled).map(e=>`${e.type}:${JSON.stringify(e.parameters??{})}`).join(`|`);return`${e?.settings?.credentialResolverId??``}#${t}`},()=>{vn.value||j.updateNodesCredentialsIssues()});async function sr(e){tn(),Oe.streaming?k.setDocumentTitle(e.name,`AI_BUILDING`):k.setDocumentTitle(e.name,`IDLE`),await nn(e),C.run(`workflow.open`,{workflowId:e.id,workflowName:e.name}),dn()}let lr=m(()=>z?.value?.allNodes.filter(e=>I.isTriggerNode(e.type))??[]),ur=m(()=>lr.value.length>0),dr=m(()=>lr.value.filter(e=>e.disabled).length===lr.value.length),mr=m(()=>lr.value.filter(e=>!e.disabled&&!Br(e)));function vr(e,t){ft(e,t)}function br(e){fn(e)}function xr(e){ct(e,{trackHistory:!0})}function Cr(e,t){ot(e,t,{trackHistory:!0})}function wr({nodeName:e,position:t}){mt(e,{x:t[0],y:t[1]})}function Dr(e){let t=bn.value.findIndex(t=>t.id===e);t>=0?bn.value.splice(t,1):Dt(e,{trackHistory:!0})}function Or(e,t=[]){Ot(e,{deleteWholeGroupIds:t})}function kr({node:e}){Ft(e)}function Fr({group:e}){z.value.deleteGroup(e.id)}function Ir({group:e}){z.value.restoreGroup(e)}function Lr({group:e}){z.value.restoreGroup(e)}function zr(e){Fa()&&St([e])}function Vr({nodeName:e}){Ct(e)}function Hr(e){Fa()&&St(e)}function Ur(e,t){Q.value=[t.x,t.y],Ui()}async function Wr(e,t){An.value&&!y.value||(t?.metaKey||t?.ctrlKey)&&await Qt(e)||vt(e,`canvas_default_view`)}function Gr(e){Qt(e)}function Kr(){Z()}function qr(e){Ui(),yt(e)}let Zr=!1;function Qr(e){return!Zr&&$.value===e}async function $r(e){let t=$.value;await ke.gate(`copy`,async()=>{Qr(t)&&(await jt(e),w.showMessage({title:b.baseText(`generic.copiedToClipboard`),type:`success`}))})}async function ei(e){if(Kn.value||Sr(_)!==Xn.WORKFLOW||!nr.value||!Fa())return;let t=null;if(e.match(Pe)){if(await T.confirm(b.baseText(`nodeView.confirmMessage.onClipboardPasteEvent.message`,{interpolate:{plainTextData:e}}),b.baseText(`nodeView.confirmMessage.onClipboardPasteEvent.headline`),{type:`warning`,confirmButtonText:b.baseText(`nodeView.confirmMessage.onClipboardPasteEvent.confirmButtonText`),cancelButtonText:b.baseText(`nodeView.confirmMessage.onClipboardPasteEvent.cancelButtonText`)})!==`confirm`)return;t=await en(e)}else t=rn(e,{fallbackValue:null});if(!t)return;let n=$.value;await ke.gate(`paste`,async()=>{if(!Qr(n))return;let e=(await $t(t,`paste`,{importTags:!1,viewport:Va.value})).nodes?.map(e=>e.id)??[];_n.value?.ensureNodesAreVisible(e)})}async function ti(e,t=[]){Kn.value?await jt(e):await Mt(e,t)}async function ni(e){if(!Fa())return;let t=await Pt(e,{viewport:Va.value});_n.value?.ensureNodesAreVisible(t)}function ri(e,t){Fa()&&wt(e,t)}function ii(e,t){_n.value?.executeContextMenuAction(e,t)}function ai(){lt.on(`saved:workflow`,me.showNpsSurveyIfPossible)}function oi(){lt.off(`saved:workflow`,me.showNpsSurveyIfPossible),lt.off(`saved:workflow`,Ra)}async function si(){await h.push({name:X.NEW_WORKFLOW})}async function ci(){await A.saveCurrentWorkflow({})}function li(e){we.value.activeNode?.name&&ht(we.value.activeNode.name,e)}async function ui(e){let t=z?.value?.getNodeById(e)?.name??``,n=document.activeElement;if(!(n&&En(n))&&!(!nr.value||document.querySelector(`.rename-prompt`)))try{let e=T.prompt(b.baseText(`nodeView.prompt.newName`)+`:`,b.baseText(`nodeView.prompt.renameNode`)+`: ${t}`,{customClass:`rename-prompt`,confirmButtonText:b.baseText(`nodeView.prompt.rename`),cancelButtonText:b.baseText(`nodeView.prompt.cancel`),inputErrorMessage:b.baseText(`nodeView.prompt.invalidName`),inputValue:t,inputValidator:e=>e.trim()?!0:b.baseText(`nodeView.prompt.invalidName`)});await v();let n=document.querySelector(`.rename-prompt .el-input__inner`);n?.focus(),n?.select();let r=e=>{e.key===` `&&e.stopPropagation()};n?.addEventListener(`keydown`,r);let i=await e;n?.removeEventListener(`keydown`,r),i.action===`confirm`&&await ht(t,i.value,{trackHistory:!0})}catch{}}async function pi({currentName:e,newName:t}){await gt(e,t)}async function mi({nodeId:e,currentProperties:t,newProperties:n}){await _t(e,t,n)}function hi(e,t){Et(e,t)}function gi(e){Wt(e)}function _i(e){Gt(e)}function vi(e,t){V.openNodeCreatorForConnectingNode({workflowId:$.value,connection:{source:e,sourceHandle:t},eventSource:hr.PLUS_ENDPOINT})}async function yi(){let e;if($.value&&!Dn.value)e={workflowId:$.value};else{let t=(typeof _.query?.projectId==`string`?_.query?.projectId:void 0)??ve.personalProject?.id;if(t===void 0)throw Error(`Could not find projectId in the query nor could I find the personal project in the project store`);e={projectId:t}}await ue.fetchUsableCredentials(e)}function bi(e){Bt(e,{trackHistory:!0})}function xi({connection:e}){Vt(e)}function Si(e,t,n){(n?.target).classList?.contains(`clickable`)||(R.lastInteractedWithNodeId=e.nodeId,R.lastInteractedWithNodeHandle=e.handleId,R.lastCancelledConnectionPosition=[t.x,t.y],setTimeout(()=>{e.nodeId&&V.openNodeCreatorForConnectingNode({workflowId:$.value,connection:{source:e.nodeId,sourceHandle:e.handleId},eventSource:hr.NODE_CONNECTION_DROP})}))}function Ci(e){Ht(e,{trackHistory:!0})}function wi({connection:e}){Ut(e)}async function Ti(e){let t=e.data,n=typeof e.trackEvents==`boolean`?e.trackEvents:void 0,r=typeof e.setStateDirty==`boolean`?e.setStateDirty:void 0;if(await $t(t,`file`,{viewport:Va.value,regenerateIds:e.regenerateIds===!0||e.regenerateIds===void 0,trackEvents:n,setStateDirty:r}),await v(),dn(),Ua(t.nodes?.map(e=>e.id)??[]),e.tidyUp){let t=e.nodesIdsToTidyUp;setTimeout(async()=>{lt.emit(`tidyUp`,{source:`import-workflow-data`,nodeIdsFilter:t,trackEvents:n}),await v(),dn()},0)}}async function Ei(e){let t=await en(e.url);if(!t)return;let n=$.value;await ke.gate(`import_url`,async()=>{Qr(n)&&(await $t(t,`url`,{viewport:Va.value}),_n.value?.ensureNodesAreVisible(t.nodes?.map(e=>e.id)??[]))})}function Di(){G.on(`importWorkflowData`,Ti),G.on(`importWorkflowUrl`,Ei),G.on(`openChat`,Ca)}function Oi(){G.off(`importWorkflowData`,Ti),G.off(`importWorkflowUrl`,Ei),G.off(`openChat`,Ca)}let ki=p(void 0),Ai=p(!1);function ji(){ki.value=void 0}function Mi(){if(!(V.isCreateNodeActive&&Zn(V.openSource))||!R.lastInteractedWithNodeId)return;let{type:e,mode:t}=cr(R.lastInteractedWithNodeHandle);if(e!==tr.Main||t!==Mn.Output)return;let n=R.lastInteractedWithNodeId,r=z.value.getGroupForNode(n);if(!r)return;let i=pn(r,z.value.allNodes);return i?.id===n?i.id:void 0}async function Ni({nodes:e,connections:t},n=!1,r){if(!Fa())return;let i=ki.value??Mi();i!==void 0&&(R.resetLastInteractedWith(),e=e.map(e=>({...e,openDetail:!1})));let{addedNodes:a}=await ln(e,t,{dragAndDrop:n,position:r,viewport:Va.value,telemetry:!0,replaceNodeId:i});if(a.length>0){let e=a[a.length-1].id;Ua([e])}}async function Fi(e=!1){if(!Ve.value||!Fa()||Ai.value)return;Ai.value=!0;let t=V.openSource;if(z.value.allNodes.length===0&&Ba.value.width>0&&Ba.value.height>0){let{xMin:e,xMax:t,yMin:n,yMax:r}=Va.value;Q.value=[(e+t-Qn[0])/2,(n+r-Qn[1])/2]}let n=ee.currentBulkAction===null;n&&ee.startRecordingUndo();try{let n=pe.selectedGroupId?z.value.getGroupById(pe.selectedGroupId):void 0,r=n?pn(n,z.value.allNodes):void 0;!e&&r&&(R.resetLastInteractedWith(),R.lastInteractedWithNodeId=r.id);let{addedNodes:i}=await ln([{type:Er,name:`No Operation, do nothing`,parameters:{emptyGroupAnchor:!0},placeholder:!0,isAutoAdd:!(e||r!==void 0),openDetail:!1}],[],{viewport:Va.value,trackBulk:!1}),a=i[0];if(!a)return;let o=z.value.getNextDefaultName(b.baseText(`canvas.nodeGroup.defaultTitle`)),s=z.value.createGroup([a.id],o);ee.pushCommandToUndo(new or(s,Date.now())),ce.trackGrouped(s,`node-creator`,t),ce.trackInitialEmptyGroupConnection(s),Ua([a.id])}finally{n&&ee.stopRecordingUndo(),Ai.value=!1}}async function Ii({node:e}){await Rt(e.name)}function Li(e){let t=z?.value?.getNodeByName(e);t&&(Kt(e,`other`),Ua([t.id]))}function Ri(e,t,n=0){V.openSelectiveNodeCreator({workflowId:$.value,node:e,connectionType:t,connectionIndex:n})}function zi(e){V.setNodeCreatorState({...e,workflowId:$.value}),e.createNodeActive||(ki.value=void 0,e.hasAddedNodes||R.resetLastInteractedWith())}function Bi(e){zi({createNodeActive:!0,source:e})}function Vi(e){V.openNodeCreatorForTriggerNodes($.value,e)}function Hi(){W.toggleFocusPanel(),x.track(`User ${W.focusPanelActive?`opened`:`closed`} focus panel`,{source:`canvasKeyboardShortcut`,parameters:W.focusedNodeParametersInTelemetryFormat,parameterCount:W.focusedNodeParametersInTelemetryFormat.length})}function Ui(){V.isCreateNodeActive&&=!1}function Wi(){Ni({nodes:[{type:Ce}],connections:[]})}function Gi(e){let{type:t,mode:n}=cr(e.sourceHandle);t===tr.AiTool&&n===Mn.Output?V.openNodeCreatorForConnectingNode({workflowId:$.value,connection:e,eventSource:hr.NODE_CONNECTION_ACTION,nodeCreatorView:on}):V.openNodeCreatorForConnectingNode({workflowId:$.value,connection:e,eventSource:hr.NODE_CONNECTION_ACTION})}function Ki(e){let t=z?.value?.getNodeById(e),n=z?.value?.getExpressionHandler();if(!t||!n)return;let r=I.getNodeType(t.type);if(r)if(ki.value=e,V.openingContext=`replacement`,fe(r))V.openNodeCreatorForTriggerNodes($.value,hr.REPLACE_NODE_ACTION);else{let e=Be({expression:n},t,r).map(e=>typeof e==`string`?e:e.type),i=Lt({expression:n},t,r).map(e=>typeof e==`string`?e:e.type);e[0]&&i[0]&&e[0]!==i[0]?V.openNodeCreatorForRegularNodes($.value,hr.REPLACE_NODE_ACTION):V.openSelectiveNodeCreator({workflowId:$.value,connectionType:e[0]??i[0],node:t.name})}}let qi=m(()=>$.value?et(ne.getWorkflowById($.value)?.scopes).workflow:{}),Ji=m(()=>et((_.query?.projectId?ve.myProjects.find(e=>e.id===_.query.projectId):ve.currentProject??ve.personalProject)?.scopes)),Yi=p(!1),Xi=m(()=>B.value.isWorkflowRunning),Zi=m(()=>B.value.executionWaitingForWebhook),{reason:Qi}=Ie(()=>z.value.usedCredentials,()=>z.value.allNodes);function $i(){if(Qi.value){w.showMessage({title:Qi.value,type:`warning`});return}tt(`main`)}let ea=m(()=>Qi.value||va.value&&ya.value&&!ba.value?!0:!ur.value||dr.value),ta=m(()=>!ya.value||ba.value),na=m(()=>Xi.value&&!Zi.value),ra=m(()=>Xi.value&&Zi.value);async function ia(e){let t=z?.value?.getNodeById(e);t&&(Ye(t)&&I.isToolNode(t.type)?R.openModalWithData({name:gn,data:{nodeName:t.name}}):(ca(t),je.clearAgentRequests($.value,t.id),Qe({destinationNode:{nodeName:t.name,mode:`inclusive`},source:`Node.executeNode`})))}async function aa(e,t){let n=z?.value?.getNodeById(e);if(!n)return;let r=I.getNodeType(n.type,n.typeVersion);if(!r?.webhooks?.length)return;let i=r.webhooks[0],a=await Re.getWebhookUrl(i,n,t);a&&(F.copy(a),w.showMessage({title:b.baseText(`nodeWebhooks.showMessage.title`),type:`success`}))}async function oa(e){let t=z?.value?.getNodeById(e);if(Mr.includes(t?.type??``)){w.showMessage({title:b.baseText(`nodeWebhooks.showMessage.testWebhookUrl`),type:`warning`});return}aa(e,`test`)}async function sa(e){if(!(z?.value?.active??!1)){w.showMessage({title:b.baseText(`nodeWebhooks.showMessage.not.active`),type:`warning`});return}aa(e,`production`)}function ca(e){let t={node_type:e.type,workflow_id:$.value,source:`canvas`,push_ref:we.value.pushRef};x.track(`User clicked execute node button`,t),C.run(`nodeView.onRunNode`,t)}function la(e){if(!e.finished&&e.data?.resultData?.error){let t=!1;if(e.data.resultData.runData){let n=e.data.resultData.runData;errorCheck:for(let e of Object.keys(n))for(let r of n[e])if(r.error){t=!0;break errorCheck}}!t&&(e.data.resultData.error.stack??e.data.resultData.error.message)&&(console.error(`Execution ${e.id} error:`),console.error(e.data.resultData.error.stack),w.showMessage({title:b.baseText(`nodeView.showError.workflowError`),message:e.data.resultData.error.message,type:`error`,duration:0}))}}function ua(e){e.waitTill&&w.showMessage({title:b.baseText(`nodeView.thisExecutionHasntFinishedYet`),message:d(Za),type:`warning`,duration:0})}function da(){lt.on(`open:execution`,la),lt.on(`open:execution`,ua)}function fa(){lt.off(`open:execution`,la),lt.off(`open:execution`,ua)}async function pa(){Yi.value=!0,await it(),Yi.value=!1}async function ma(){await at()}function ha(){G.emit(`runWorkflowButton:mouseenter`)}function ga(){G.emit(`runWorkflowButton:mouseleave`)}let _a=m(()=>z?.value?.allNodes.find(e=>e.type===In)),va=m(()=>!Zi.value&&!!z?.value?.allNodes.find(e=>[`@n8n/n8n-nodes-langchain.manualChatTrigger`,`@n8n/n8n-nodes-langchain.chatTrigger`].includes(e.type)&&e.disabled!==!0)),ya=m(()=>lr.value.every(e=>e.disabled||e.type===`@n8n/n8n-nodes-langchain.chatTrigger`)),ba=m(()=>_a.value?z?.value?.pinnedDataByNodeName?.[_a.value.name]:null),xa=m(()=>Le.isFloatingChatEnabled&&_a.value?.parameters?.availableInChat===!0),Sa=m(()=>Le.isOpen);U(xa,e=>{!e&&Sa.value&&Le.close()});function Ca(){xa.value?Le.open():sn(`main`)}function wa(){xa.value?Sa.value?Le.close():Le.open():rr.value?Me.toggleOpen(!1):sn(`main`)}let Ta=m(()=>z?.value?.allNodes.find(e=>e.type===xt)),Ea=p(!1);async function Da(){if(!Ea.value){Ea.value=!0;try{if(_n.value||await new Promise(e=>{let t=U(_n,n=>{n&&(t(),e())})}),!Fa())return;if(Ta.value){Kt(Ta.value.name,`other`),_n.value?.ensureNodesAreVisible([Ta.value.id]);return}let{addedNodes:e}=await ln([{type:xt,openDetail:!0}],[],{viewport:Va.value,telemetry:!0});if(e.length>0){let t=e[e.length-1];await v(),_n.value?.ensureNodesAreVisible([t.id])}}finally{try{await h.replace({query:{..._.query,action:void 0}})}finally{Ea.value=!1}}}}function Oa(){q.on(`nodeMove`,wr),q.on(`revertAddNode`,Ii),q.on(`revertRemoveNode`,kr),q.on(`revertAddConnection`,xi),q.on(`revertRemoveConnection`,wi),q.on(`revertRenameNode`,pi),q.on(`revertReplaceNodeParameters`,mi),q.on(`enableNodeToggle`,Vr),q.on(`revertAddNodeGroup`,Fr),q.on(`revertRemoveNodeGroup`,Ir),q.on(`revertUpdateNodeGroup`,Lr)}function ka(){q.off(`nodeMove`,wr),q.off(`revertAddNode`,Ii),q.off(`revertRemoveNode`,kr),q.off(`revertAddConnection`,xi),q.off(`revertRemoveConnection`,wi),q.off(`revertRenameNode`,pi),q.off(`revertReplaceNodeParameters`,mi),q.off(`enableNodeToggle`,Vr),q.off(`revertAddNodeGroup`,Fr),q.off(`revertRemoveNodeGroup`,Ir),q.off(`revertUpdateNodeGroup`,Lr)}async function Aa(){try{if(await Promise.all([de.fetchAllVariables(),xe.fetchAll(),yi(),ve.getAvailableProjects()]),$.value&&!R.stateIsDirty){let e=await ne.fetchWorkflow($.value);e&&await sr(e)}}catch(e){console.error(e)}}function ja(){Ze.on(`pull`,Aa)}function Ma(){Ze.off(`pull`,Aa)}function Na(){lt.on(`create:sticky`,Wi)}function Pa(){lt.off(`create:sticky`,Wi)}function Fa(){if(!R.nodeViewInitialized)return!0;if(yn.value?.visible||!(qi.value.update??Ji.value.workflow.update)||K.shouldBeReadOnly)return!1;if(Pn.value||Ln.value){let e=Pn.value?`executions`:`workflows`;return yn.value=w.showMessage({title:b.baseText(Ln.value?`readOnlyEnv.showMessage.${e}.title`:`readOnly.showMessage.executions.title`),message:b.baseText(Ln.value?`readOnlyEnv.showMessage.${e}.message`:`readOnly.showMessage.executions.message`),type:`info`}),!1}return!0}function Ia(){K.requestWriteAccessForce()}function La(){Ln.value&&[X.NEW_WORKFLOW,X.TEMPLATE_IMPORT].find(e=>e===_.name)&&v(async()=>{tn(),R.markStateClean(),await h.replace({name:X.HOMEPAGE})})}async function Ra(){_.name===X.EXECUTION_DEBUG&&await h.replace({name:X.WORKFLOW,params:{workflowId:$.value}})}let za=p({x:0,y:0,zoom:1}),Ba=p({width:0,height:0}),Va=m(()=>pr(za.value,Ba.value));function Ha(e,t){za.value=e,Ba.value=t,R.nodeViewOffsetPosition=[e.x,e.y]}function Ua(e){setTimeout(()=>lt.emit(`nodes:select`,{ids:e}))}function Wa(e){Q.value=[e.x,e.y],qr()}function Ga(e){Q.value=[e.x,e.y]}async function Ya(e,t){if(!t.dataTransfer)return;let n=rn(t.dataTransfer.getData(He));n&&(await Ni(n,!0,[e.x,e.y]),zi({createNodeActive:!1,hasAddedNodes:!0}))}function Xa(){Ke({key:`openNodeDetail`,action:({node:e})=>{Kt(e,`other`)}}),Ke({key:`openSelectiveNodeCreator`,action:({creatorview:e,connectiontype:t,node:n})=>{V.openSelectiveNodeCreator({workflowId:$.value,node:n,connectionType:t,creatorView:e})}}),Ke({key:`showNodeCreator`,action:()=>{we.value.unsetActiveNodeName(),v(()=>{Vi(hr.NODE_SHORTCUT)})}})}function $a(){qe(`openNodeDetail`),qe(`openSelectiveNodeCreator`),qe(`showNodeCreator`)}function eo(){R.addFirstStepOnLoad&&(Vi(R.addFirstStepOnLoadSource??hr.TRIGGER_PLACEHOLDER_BUTTON),R.addFirstStepOnLoad=!1,R.addFirstStepOnLoadSource=void 0)}function to(e){let t=z?.value?.findNodeByPartialId(e);t?vt(t.id,`other`):(w.showToast({title:b.baseText(`nodeView.showMessage.ndvUrl.missingNodes.title`),message:b.baseText(`nodeView.showMessage.ndvUrl.missingNodes.content`),type:`warning`}),h.replace({name:_.name,params:{workflowId:$.value},query:_.query}))}return U([()=>_.name,()=>_.params.workflowId],()=>{ir()}),U(m(()=>z?.value?.homeProject?.id??ve.currentProject?.id??ve.personalProject?.id),e=>{e&&ye.fetchForProject(e)},{immediate:!0}),U(()=>vn.value||Kn.value||(z?.value?.allNodes??[]).length!==0,e=>{if(e){bn.value=[];return}let t={id:rt.AddNodes,name:rt.AddNodes,type:rt.AddNodes,typeVersion:1,position:[0,0],parameters:{}},n={id:rt.ChoicePrompt,name:rt.ChoicePrompt,type:rt.ChoicePrompt,typeVersion:1,position:[0,0],parameters:{},draggable:!1};bn.value=Oe.isAIBuilderEnabled?[n]:[t]}),U(()=>_.params.nodeId,async e=>{typeof e!=`string`||e===``?we.value.unsetActiveNodeName():to(e)}),U(()=>we.value.activeNode,async e=>{if(![X.WORKFLOW].includes(String(_.name)))return;let t=e?.id?te.getPartialIdForNode(e?.id):``;t!==_.params.nodeId&&await h.replace({name:_.name,params:{workflowId:$.value,nodeId:t},query:_.query})}),U(()=>R.dirtyStateSetCount,e=>{if(e>0){if(An.value)return;K.requestWriteAccess(),Oe.streaming||A.autoSaveWorkflow()}}),U(()=>Oe.streaming,(e,t)=>{t&&!e&&R.stateIsDirty&&!K.shouldBeReadOnly&&A.autoSaveWorkflow()}),U([mr,m(()=>{if(Xi.value)return B.value.activeExecution?.triggerNode?B.value.activeExecution.triggerNode:Object.keys(B.value.activeExecution?.data?.resultData.runData??{}).find(e=>z?.value?.workflowTriggerNodes.some(t=>t.name===e))})],([e,t],[n])=>{if(t!==void 0){B.value.setSelectedTriggerNodeName(t);return}if(B.value.selectedTriggerNodeName===void 0||e.every(e=>e.name!==B.value.selectedTriggerNodeName)){B.value.setSelectedTriggerNodeName(Xt(mr.value,I.getNodeType)?.name);return}let r=e?.find(e=>n?.every(t=>t.name!==e.name));r!==void 0&&B.value.setSelectedTriggerNodeName(r.name)},{immediate:!0}),se(async(e,t,n)=>{if(W.focusPanelActive&&W.closeFocusPanel(),Ln.value){n();return}let r=Sr(e),i=[X.WORKFLOW,X.NEW_WORKFLOW].includes(t.name)&&[X.WORKFLOW,X.NEW_WORKFLOW].includes(e.name)&&t.params.workflowId!==e.params.workflowId;if((r===Xn.EXECUTIONS||r===Xn.EVALUATION||t.name===X.TEMPLATE_IMPORT||r===Xn.WORKFLOW&&t.name===X.EXECUTION_DEBUG)&&!i){n();return}await A.promptSaveUnsavedWorkflowChanges(n,{async confirm(){if(t.name===X.NEW_WORKFLOW){let t=$.value;return await h.replace({name:X.WORKFLOW,params:{workflowId:t}}),await h.push(e),!1}return te.setWorkflowId(``),!0}})}),re(async()=>{K.setRefreshCanvasCallback(async e=>{await nn(e)});try{ir(),_.query.settings&&(R.openModal(nt),h.replace({query:{settings:void 0}}))}finally{vn.value=!1,C.run(`nodeView.mount`).catch(()=>{}),setTimeout(()=>{wn.value&&to(wn.value)},500)}be.showPersonalizationSurvey(),La(),ja(),ai(),Ue(),Di(),da(),Na(),Xa(),Oa(),eo()}),M(()=>{Zr=!0,R.closeModal(nt),w.clearAllStickyNotifications(),z?.value?.setViewport(za.value),Ma(),oi(),We(),Oi(),fa(),Pa(),$a(),ka(),lt.off(`saved:workflow`,Ra)}),(t,c)=>(E(),f(`div`,{class:H(r(u).wrapper)},[vn.value?l(``,!0):(E(),s(fi,{key:0,id:r(z)?.workflowId,ref:`canvas`,"fallback-nodes":bn.value,"show-fallback-nodes":er.value,"event-bus":r(lt),"read-only":Kn.value,"group-expansion-mode":qn.value,"can-execute":Jn.value,executing:Xi.value,"key-bindings":nr.value,"suppress-interaction":r(Ne).isMapperOpen,"striped-background":kn.value,"hide-controls":On.value,"initial-viewport":r(z)?.viewport,"onUpdate:nodes:position":xr,"onUpdate:node:position":Cr,"onUpdate:node:activated":Wr,"onUpdate:node:deactivated":Kr,"onUpdate:node:selected":qr,"onUpdate:node:enabled":zr,"onUpdate:node:name":ui,"onUpdate:node:parameters":hi,"onUpdate:node:inputs":gi,"onUpdate:node:outputs":_i,"onUpdate:logsOpen":c[1]||=e=>r(Me).toggleOpen(e),"onUpdate:logs:inputOpen":r(Me).toggleInputOpen,"onUpdate:logs:outputOpen":r(Me).toggleOutputOpen,"onUpdate:hasRangeSelection":r(pe).setHasRangeSelection,"onUpdate:selectedGroup":r(pe).setSelectedGroupId,"onOpen:subWorkflow":Gr,"onClick:node":Ur,"onClick:node:add":vi,"onRun:node":ia,"onCopy:production:url":sa,"onCopy:test:url":oa,"onDelete:node":Dr,"onCreate:connection":bi,"onCreate:connection:cancelled":Si,"onDelete:connection":Ci,"onClick:connection:add":Gi,"onClick:pane":Wa,"onCreate:node":Bi,"onCreate:sticky":Wi,"onDelete:nodes":Or,"onUpdate:nodes:enabled":Hr,"onUpdate:nodes:pin":ri,"onDuplicate:nodes":ni,"onCopy:nodes":$r,"onCut:nodes":ti,"onReplace:node":Ki,"onRun:workflow":$i,"onSave:workflow":ci,"onCreate:workflow":si,"onViewport:change":Ha,"onSelection:end":Ga,onDragAndDrop:Ya,onTidyUp:vr,"onToggle:focusPanel":Hi,onExtractWorkflow:br,onStartChat:wa},{default:O(()=>[g(`div`,{class:H(r(u).canvasTopLeftContainer)},[g(`div`,{class:H(r(u).canvasTopLeft)},[Nn.value?(E(),s(r(un),{key:0,size:`small`,collapsed:!1,class:H(r(u).canvasOnlyLogo),"aria-hidden":`true`},null,8,[`class`])):l(``,!0),Kn.value?l(``,!0):(E(),s(L,{key:1},{default:O(()=>[S(r(o),{collapsible:Nn.value,class:H(r(u).setupCredentialsButton)},null,8,[`collapsible`,`class`])]),_:1}))],2)],2),Kn.value?l(``,!0):(E(),s(io,{key:0,class:H(r(u).evaluationsCanvasInfoCardWrapper)},null,8,[`class`])),!Kn.value||Jn.value?(E(),f(`div`,{key:1,class:H(r(u).executionButtonsContainer)},[g(`div`,{class:H(r(u).executionButtons)},[ta.value?(E(),s(ut,{key:0,"disabled-reason":r(Qi),"waiting-for-webhook":Zi.value,disabled:ea.value,executing:Xi.value,"trigger-nodes":lr.value,"get-node-type":r(I).getNodeType,"selected-trigger-node-name":B.value.selectedTriggerNodeName,type:Gn.value,onMouseenter:ha,onMouseleave:ga,onExecute:c[0]||=e=>r(tt)(`main`),onSelectTriggerNode:B.value.setSelectedTriggerNodeName},null,8,[`disabled-reason`,`waiting-for-webhook`,`disabled`,`executing`,`trigger-nodes`,`get-node-type`,`selected-trigger-node-name`,`type`,`onSelectTriggerNode`])):l(``,!0),va.value?(E(),f(e,{key:1},[(xa.value?Sa.value:rr.value)?(E(),s(Qa,{key:0,variant:`subtle`,label:r(b).baseText(`chat.hide`),class:H(r(u).chatButton),onClick:wa},null,8,[`label`,`class`])):(E(),s(jn,{key:1,label:r(b).baseText(`chat.open`),shortcut:{keys:[`c`]}},{default:O(()=>[S(Qa,{variant:ta.value?`subtle`:`solid`,label:r(b).baseText(`chat.open`),class:H(r(u).chatButton),onClick:Ca},null,8,[`variant`,`label`,`class`])]),_:1},8,[`label`]))],64)):l(``,!0),na.value?(E(),s(qa,{key:2,stopping:Yi.value,onClick:pa},null,8,[`stopping`])):l(``,!0),ra.value?(E(),s(Ja,{key:3,onClick:ma})):l(``,!0)],2)],2)):l(``,!0),Ln.value?(E(),s(r(At),{key:2,theme:`warning`,icon:`lock`,class:H(r(u).readOnlyEnvironmentNotification)},{default:O(()=>[n(N(r(b).baseText(`readOnlyEnv.cantEditOrRun`)),1)]),_:1},8,[`class`])):l(``,!0),r(K).currentWriter&&!r(K).isCurrentTabWriter?(E(),s(r(Tt),{key:3,class:H(r(u).canvasCenterPill),"is-another-tab":Yn.value,"first-name":r(K).currentWriter.user.firstName,"last-name":r(K).currentWriter.user.lastName,onButtonClick:Ia},null,8,[`class`,`is-another-tab`,`first-name`,`last-name`])):l(``,!0),r(Oe).streaming&&!r(Oe).isHelpStreaming?(E(),s(r(Fe),{key:4,class:H(r(u).canvasCenterPill),"show-stop":``,onStop:r(Oe).abortStreaming},null,8,[`class`,`onStop`])):l(``,!0),(E(),s(L,null,{default:O(()=>[Kn.value?l(``,!0):(E(),s(r(i),{key:0,"create-node-active":r(V).isCreateNodeActive,"node-view-scale":za.value.zoom,"focus-panel-active":r(W).focusPanelActive,onToggleNodeCreator:zi,onAddNodes:Ni,onAddEmptyGroup:Fi,onClose:ji},null,8,[`create-node-active`,`node-view-scale`,`focus-panel-active`]))]),_:1})),(E(),s(L,null,{default:O(()=>[S(r(a),{"read-only":Kn.value,"is-production-execution-preview":r(j).isProductionExecutionPreview.value,onRenameNode:li,onStopExecution:pa,onSwitchSelectedNode:Li,onOpenConnectionNodeCreator:Ri,onReplaceNode:Ki},null,8,[`read-only`,`is-production-execution-preview`])]),_:1}))]),_:1},8,[`id`,`fallback-nodes`,`show-fallback-nodes`,`event-bus`,`read-only`,`group-expansion-mode`,`can-execute`,`executing`,`key-bindings`,`suppress-interaction`,`striped-background`,`hide-controls`,`initial-viewport`,`onUpdate:logs:inputOpen`,`onUpdate:logs:outputOpen`,`onUpdate:hasRangeSelection`,`onUpdate:selectedGroup`])),!vn.value&&(!r(Ne).isNdvInFocusPanelEnabled||!Kn.value)?(E(),s(Ka,{key:1,"is-canvas-read-only":Kn.value,onContextMenuAction:ii},null,8,[`is-canvas-read-only`])):l(``,!0)],2))}}),[[`__cssModules`,{$style:{wrapper:`_wrapper_gww6k_113`,executionButtonsContainer:`_executionButtonsContainer_gww6k_118`,executionButtons:`_executionButtons_gww6k_118`,chatButton:`_chatButton_gww6k_151`,canvasTopLeftContainer:`_canvasTopLeftContainer_gww6k_155`,canvasTopLeft:`_canvasTopLeft_gww6k_155`,canvasOnlyLogo:`_canvasOnlyLogo_gww6k_171`,setupCredentialsButton:`_setupCredentialsButton_gww6k_175`,evaluationsCanvasInfoCardWrapper:`_evaluationsCanvasInfoCardWrapper_gww6k_179`,readOnlyEnvironmentNotification:`_readOnlyEnvironmentNotification_gww6k_186`,canvasCenterPill:`_canvasCenterPill_gww6k_193`}}]]);export{Pi as n,ao as t};