n8n-editor-ui 2.42.0 → 2.42.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 (387) hide show
  1. package/dist/assets/AddDataTableModal-BmklC_cm.js +1 -0
  2. package/dist/assets/{AgentApprovalSelector-CWR1LGsC.js → AgentApprovalSelector-DSrdgSrV.js} +1 -1
  3. package/dist/assets/{AgentBuilderView-D6955Lo8.css → AgentBuilderView-DjpDTDtF.css} +1 -1
  4. package/dist/assets/{AgentBuilderView-DkhmzBbS.js → AgentBuilderView-EdMQfEGj.js} +1 -1
  5. package/dist/assets/AgentBuilderView-aTgYup0_.js +13 -0
  6. package/dist/assets/AgentConfirmationModal-Oi0qHQtG.js +1 -0
  7. package/dist/assets/{AgentDuplicateModal-BXqPVcMx.js → AgentDuplicateModal-XMLXMoSD.js} +1 -1
  8. package/dist/assets/AgentEditorModal-LCuODBys.js +1 -0
  9. package/dist/assets/{AgentJsonImportModal-8EsDra0m.js → AgentJsonImportModal-CuUAFL_S.js} +1 -1
  10. package/dist/assets/{AgentModal-RJ8EDaqD.js → AgentModal-ChRqzJLA.js} +1 -1
  11. package/dist/assets/{AgentModalMultiStep-DaaH-ZKx.js → AgentModalMultiStep-BAbMGlVb.js} +1 -1
  12. package/dist/assets/AgentPreviewButton-CD-RGp7h.js +3 -0
  13. package/dist/assets/AgentPreviewDock-DCAK7zHR.js +16 -0
  14. package/dist/assets/AgentSessionTimelineView-BbkCtnT4.js +1 -0
  15. package/dist/assets/{AgentSessionsListView-vTLkgTPA.js → AgentSessionsListView-CFOUUrlM.js} +1 -1
  16. package/dist/assets/{AgentSessionsListView-CFnxm6aI.js → AgentSessionsListView-CZSMG8v8.js} +1 -1
  17. package/dist/assets/{AgentSkillModal-D5Ah4cEY.js → AgentSkillModal-C7Mf6tXR.js} +16 -16
  18. package/dist/assets/{AgentSubAgentsModal-C1Z39Kuz.js → AgentSubAgentsModal-DMBMPZNF.js} +1 -1
  19. package/dist/assets/AgentTaskModal-DjSvWZ7j.js +1 -0
  20. package/dist/assets/AgentToolConfigForm-t9oQsmbN.js +1 -0
  21. package/dist/assets/{AgentToolConfigModal-DpY1bMN6.js → AgentToolConfigModal-B1gaSHAp.js} +1 -1
  22. package/dist/assets/{AgentToolsConnectionModalWrapper-CXpAJFR7.js → AgentToolsConnectionModalWrapper-Bx6moOoc.js} +1 -1
  23. package/dist/assets/AgentVectorStoresModal-cgxOOqr7.js +1 -0
  24. package/dist/assets/AgentView-CXdBnlmO.js +1 -0
  25. package/dist/assets/AgentsListView-BEtd0J_K.js +1 -0
  26. package/dist/assets/{AnimatedSpinner-BrIYQmuf.js → AnimatedSpinner-B0Aw6-ZV.js} +1 -1
  27. package/dist/assets/{AnnotationTagsDropdown.ee-CYVxnGwV.js → AnnotationTagsDropdown.ee-B25LS1iZ.js} +1 -1
  28. package/dist/assets/AppSidebar-B33Swdl-.js +1 -0
  29. package/dist/assets/AuthLayout-C7ANv7X9.js +1 -0
  30. package/dist/assets/{AuthView-Bs8R9nu4.js → AuthView-DL4bT4kE.js} +1 -1
  31. package/dist/assets/{BrowserUseSetupContent-Bsfbi05r.js → BrowserUseSetupContent-B6rvdriH.js} +1 -1
  32. package/dist/assets/BrowserUseSetupModal-CjZNAcxU.js +1 -0
  33. package/dist/assets/{ChangePasswordModal-QMWgfaNS.js → ChangePasswordModal-BIP63kin.js} +1 -1
  34. package/dist/assets/{ChangePasswordView-aq0cE4_A.js → ChangePasswordView-CL482Plh.js} +1 -1
  35. package/dist/assets/{ChatAgentAvatar-C7w11OKr.js → ChatAgentAvatar-D6YZTYgl.js} +1 -1
  36. package/dist/assets/{ChatFile-BW3v3DSp.js → ChatFile-CsRUSYlm.js} +1 -1
  37. package/dist/assets/ChatGreetings-BEVw-Gg5.js +3 -0
  38. package/dist/assets/{ChatLayout-CFxw4r2j.js → ChatLayout-fqA8xN67.js} +1 -1
  39. package/dist/assets/{ChatLayout-CBl6mSXa.js → ChatLayout-ueLnF4v9.js} +1 -1
  40. package/dist/assets/{ChatMarkdownChunk-CbYKMdnE.js → ChatMarkdownChunk-DjKKXOlB.js} +1 -1
  41. package/dist/assets/{ChatPersonalAgentsView-CZd2taub.js → ChatPersonalAgentsView-B_WFitcC.js} +1 -1
  42. package/dist/assets/ChatView-DmtJ7Wf4.js +1 -0
  43. package/dist/assets/{ChatWorkflowAgentsView-Ci3ESkEZ.js → ChatWorkflowAgentsView-DkTmhfg6.js} +1 -1
  44. package/dist/assets/{CollectionParameter-CsrhwPUT.js → CollectionParameter-DgNQ8Auu.js} +1 -1
  45. package/dist/assets/CompareCollectionView-CTGsKGGG.js +1 -0
  46. package/dist/assets/{ComputerUseSetupContent-BQNExcfT.js → ComputerUseSetupContent-hlMG4Cy3.js} +1 -1
  47. package/dist/assets/{ComputerUseSetupModal-DrtiY3iu.js → ComputerUseSetupModal-GZ9vAar4.js} +1 -1
  48. package/dist/assets/{ConfirmEmailChangeView-DFhTCkhT.js → ConfirmEmailChangeView-CU7B2uMl.js} +1 -1
  49. package/dist/assets/{ConfirmPasswordModal-kj6bv4jK.js → ConfirmPasswordModal-DMsxaIuN.js} +1 -1
  50. package/dist/assets/ConnectionTracker-DFLiWBC4.js +1 -0
  51. package/dist/assets/{CredentialSelectorModal-DHnDXpKH.js → CredentialSelectorModal-CATT8CPv.js} +1 -1
  52. package/dist/assets/CredentialsView-Dte7IWGY.js +1 -0
  53. package/dist/assets/{DataTableActions-DsIl74eL.js → DataTableActions-BB_WG1X1.js} +1 -1
  54. package/dist/assets/DataTableDetailsView-Bxdegl4c.js +1 -0
  55. package/dist/assets/{DataTableTable-wPZyGCem.js → DataTableTable-X4RntWkT.js} +2 -2
  56. package/dist/assets/{DataTableView-Cx7RWeWw.js → DataTableView-BCHw4cOs.js} +1 -1
  57. package/dist/assets/DefaultLayout-CLCs3ZQF.js +1 -0
  58. package/dist/assets/{DeleteInstanceRoleModal-ZjEK16qM.js → DeleteInstanceRoleModal-K5UQSf5H.js} +1 -1
  59. package/dist/assets/{DemoDiffView-wm5MioJD.js → DemoDiffView-Ddzi8eIZ.js} +1 -1
  60. package/dist/assets/{DemoLayout-Bp_jYq4A.js → DemoLayout-Clrg0dSq.js} +1 -1
  61. package/dist/assets/{DependencyPill-C2JUaEHG.js → DependencyPill-DOeeA1tB.js} +1 -1
  62. package/dist/assets/{EmptySharedSectionActionBox-Di24f2X9.js → EmptySharedSectionActionBox-CNYlMN2O.js} +1 -1
  63. package/dist/assets/{EntityNotFound-CwCM3ZU_.js → EntityNotFound-BaS2LtHV.js} +1 -1
  64. package/dist/assets/{EntityUnAuthorised-Bl1Zpc1K.js → EntityUnAuthorised-a-RlBPmc.js} +1 -1
  65. package/dist/assets/ErrorView-DT2Xc-Cc.js +1 -0
  66. package/dist/assets/{EvalCollectionsListView-T-tZvS7r.js → EvalCollectionsListView-C5mKbtBP.js} +1 -1
  67. package/dist/assets/EvaluationsListSwitcher-Dmq7A1xm.js +2 -0
  68. package/dist/assets/EvaluationsPaywall-DKdQcTVp.js +1 -0
  69. package/dist/assets/{EvaluationsRootView-UCHrQ9Ol.js → EvaluationsRootView-dwIva_EQ.js} +1 -1
  70. package/dist/assets/ExecutionsTime-hx6xoilA.js +2 -0
  71. package/dist/assets/ExecutionsView-DWOVOXI2.js +1 -0
  72. package/dist/assets/{ExposeAllWorkflowsToMcpModal-BaDAD2NQ.js → ExposeAllWorkflowsToMcpModal-BarsXi8u.js} +1 -1
  73. package/dist/assets/FixedCollectionParameter-DFq8iDyb.js +1 -0
  74. package/dist/assets/{FolderBreadcrumbs-CL7kWPsw.js → FolderBreadcrumbs-BcmiLd-R.js} +1 -1
  75. package/dist/assets/{ForgotMyPasswordView-B5vqsvvF.js → ForgotMyPasswordView-Dc1Ok6yq.js} +1 -1
  76. package/dist/assets/{GroupedMetricChart-DoYqL1Ux.js → GroupedMetricChart-C3aPmFBg.js} +1 -1
  77. package/dist/assets/{InsightsChartAverageRuntime--6l0I6dd.js → InsightsChartAverageRuntime-z4AmvlXW.js} +1 -1
  78. package/dist/assets/{InsightsChartFailed-DbIhR1DJ.js → InsightsChartFailed-DSmQdUL-.js} +1 -1
  79. package/dist/assets/{InsightsChartFailureRate-BpzgehJs.js → InsightsChartFailureRate-BCkZ70Za.js} +1 -1
  80. package/dist/assets/{InsightsChartTimeSaved-CjV8k7GV.js → InsightsChartTimeSaved-BxnKK3Dg.js} +1 -1
  81. package/dist/assets/{InsightsChartTotal-C6V_GUi_.js → InsightsChartTotal-BOMnFr6E.js} +1 -1
  82. package/dist/assets/{InsightsDashboard-gTyF-ujU.js → InsightsDashboard-BPbfXzhW.js} +2 -2
  83. package/dist/assets/InsightsPaywall-CRcRrSny.js +1 -0
  84. package/dist/assets/{InsightsSummary-CP_BdFAs.js → InsightsSummary-CQbk0gEv.js} +1 -1
  85. package/dist/assets/{InsightsTableWorkflows-BOuHTZM0.js → InsightsTableWorkflows-C6MS-h_C.js} +2 -2
  86. package/dist/assets/InstanceAiEmptyView-CnyaQdI8.js +1 -0
  87. package/dist/assets/InstanceAiLayout-CFDSkxNK.js +1 -0
  88. package/dist/assets/{InstanceAiOnboardingWizard-cH_EjRnZ.js → InstanceAiOnboardingWizard-cnhC-gNx.js} +1 -1
  89. package/dist/assets/InstanceAiThreadView-CWJoAJ0v.js +2 -0
  90. package/dist/assets/{InstanceAiThreadView-jLcX5FBN.css → InstanceAiThreadView-CboqK9C3.css} +1 -1
  91. package/dist/assets/InstanceAiThreadsView-BypYwE33.js +1 -0
  92. package/dist/assets/InstanceAiToolsConnectionModalWrapper-CUKzX9Ax.js +1 -0
  93. package/dist/assets/InstanceAiView-Ce9aY10N.js +1 -0
  94. package/dist/assets/InstanceRoleView-VZMlAtS0.js +1 -0
  95. package/dist/assets/LogsOverviewRow-DBMviOQa.js +1 -0
  96. package/dist/assets/{MCPOnboardingModal-CKsmQGzi.js → MCPOnboardingModal-DoMCMDSf.js} +1 -1
  97. package/dist/assets/MainHeader-BCczeasG.js +1 -0
  98. package/dist/assets/{MainSidebarHeader-C5bB4SSw.js → MainSidebarHeader-Ccbs1l7q.js} +1 -1
  99. package/dist/assets/{McpClientLogoCards-BNZIXJ0g.js → McpClientLogoCards-CiJ2p0pG.js} +1 -1
  100. package/dist/assets/{McpJsonNudgeModal-Qq9UqoqW.js → McpJsonNudgeModal-Bqo0XEsi.js} +1 -1
  101. package/dist/assets/McpRegistrySuggestionFooter-Bs2oS3IH.js +1 -0
  102. package/dist/assets/{MfaSetupModal-DDqIW23e.js → MfaSetupModal--x-Anmln.js} +2 -2
  103. package/dist/assets/MigrationRuleDetail-C6oN_2WR.js +1 -0
  104. package/dist/assets/MigrationRules-j6zedmLG.js +1 -0
  105. package/dist/assets/{ModelByIdSelectorModal-Dd0hKXsY.js → ModelByIdSelectorModal-BcMG1wZy.js} +1 -1
  106. package/dist/assets/NodeCreation-Iyjp7x_I.js +2 -0
  107. package/dist/assets/NodeCreator-CHiYCnnQ.js +1 -0
  108. package/dist/assets/NodeDetailsView-dxsT2c_o.js +1 -0
  109. package/dist/assets/NodeToolSettingsContent-CTszRDXW.js +1 -0
  110. package/dist/assets/NodeView-1iut-db2.js +2 -0
  111. package/dist/assets/{NodeView-XB191gyx.css → NodeView-CvTke_X6.css} +1 -1
  112. package/dist/assets/{NodeView-etILGqE3.js → NodeView-Cw9T3NOc.js} +1 -1
  113. package/dist/assets/OAuthConsentView-BYKkworR.js +1 -0
  114. package/dist/assets/{PageViewLayout-CklGLMxK.js → PageViewLayout-Dy0Kn6cp.js} +1 -1
  115. package/dist/assets/{ProjectBreadcrumb-BeP7EhOy.js → ProjectBreadcrumb-XjjIxZIL.js} +1 -1
  116. package/dist/assets/{ProjectFilter-CLVtoF8w.js → ProjectFilter-CPj3gCkR.js} +1 -1
  117. package/dist/assets/ProjectHeader-BZQpypks.js +1 -0
  118. package/dist/assets/ProjectRoleView-BjicJ69a.js +1 -0
  119. package/dist/assets/ProjectSettings-Cp1snmUC.js +1 -0
  120. package/dist/assets/ProjectVariables-6etXPzaz.js +1 -0
  121. package/dist/assets/PromotionSelectModal-a2ZjWi6x.js +1 -0
  122. package/dist/assets/PromotionsSettingsView-BuFeVB82.js +1 -0
  123. package/dist/assets/{PromptMfaCodeModal-hx9ocZvY.js → PromptMfaCodeModal-DzldJ7jt.js} +1 -1
  124. package/dist/assets/ProviderSettingsModal-DX4YeUSt.js +1 -0
  125. package/dist/assets/PublicationIndicator-BwP55qRp.js +1 -0
  126. package/dist/assets/{ResolversView-q3izXbgi.js → ResolversView-CJbgTJuZ.js} +1 -1
  127. package/dist/assets/ResourceCenterView-CFuNJv5k.js +1 -0
  128. package/dist/assets/{ResourceFiltersDropdown-DsfN20oy.js → ResourceFiltersDropdown-_z8gYMfx.js} +1 -1
  129. package/dist/assets/{ResourcesListEmptyState-D2zZVWfm.js → ResourcesListEmptyState-CFcV2AWv.js} +1 -1
  130. package/dist/assets/{ResourcesListLayout-CvqCsvNp.js → ResourcesListLayout-CRT3aihl.js} +1 -1
  131. package/dist/assets/{RoleSelectDropdown-C7Hy_RYv.js → RoleSelectDropdown-BlGLQvpV.js} +1 -1
  132. package/dist/assets/{RolesView-DQTLcqIz.js → RolesView-CqUyvhhE.js} +1 -1
  133. package/dist/assets/RunDataHtml-BlyW2-h-.js +1 -0
  134. package/dist/assets/{RunDataJson-BuC-wYh2.js → RunDataJson-CLLdqm5V.js} +2 -2
  135. package/dist/assets/{RunDataJsonActions-CfidJfEJ.js → RunDataJsonActions-09LK-_Or.js} +2 -2
  136. package/dist/assets/{RunDataParsedAiContent-Cc0DjMAZ.js → RunDataParsedAiContent-Bf2-1S8h.js} +3 -3
  137. package/dist/assets/{RunDataParsedAiContent-j7BnHrBM.js → RunDataParsedAiContent-pT8SEnak.js} +1 -1
  138. package/dist/assets/{RunDataSearch-DSHwApm_.js → RunDataSearch-BEAn62tb.js} +1 -1
  139. package/dist/assets/RunDataTable-DzATI_zR.js +1 -0
  140. package/dist/assets/{SamlOnboarding-Ca_8MCUr.js → SamlOnboarding-DHyWAr_C.js} +1 -1
  141. package/dist/assets/SecuritySettings-DI0VjiLS.js +1 -0
  142. package/dist/assets/SettingsAIView-DXnL9lQj.js +1 -0
  143. package/dist/assets/{SettingsAiGatewayView-D6mL8B8Z.js → SettingsAiGatewayView-BemIztvk.js} +1 -1
  144. package/dist/assets/SettingsApiView-BK_rH8YM.js +1 -0
  145. package/dist/assets/SettingsChatHubView-CwvXNnJI.js +1 -0
  146. package/dist/assets/SettingsCommunityNodesView-BQxdpw2e.js +1 -0
  147. package/dist/assets/SettingsContextView-Cxz_8f47.js +1 -0
  148. package/dist/assets/{SettingsEncryptionKeys-CYT3Sfy4.js → SettingsEncryptionKeys-DkbbsI_A.js} +1 -1
  149. package/dist/assets/{SettingsExternalSecrets-CeUngBW5.js → SettingsExternalSecrets-zEQsrndx.js} +1 -1
  150. package/dist/assets/SettingsInstanceAiView-PTzp84xx.js +1 -0
  151. package/dist/assets/SettingsLayout-Bwp8Cgkj.js +1 -0
  152. package/dist/assets/{SettingsLdapView-B7T-W0wr.js → SettingsLdapView-wWwRtkO1.js} +2 -2
  153. package/dist/assets/SettingsLogStreamingView-CZYdsMzp.js +1 -0
  154. package/dist/assets/SettingsMCPAgentsView-BEO89K1d.js +1 -0
  155. package/dist/assets/SettingsMCPClientsView-BSkyyyiR.js +1 -0
  156. package/dist/assets/SettingsMCPView-CG9afKY5.js +42 -0
  157. package/dist/assets/{SettingsMCPWorkflowsView-C67ATp3M.js → SettingsMCPWorkflowsView-CS3NJK0O.js} +1 -1
  158. package/dist/assets/SettingsOpenTelemetryView-fLK4_oQx.js +1 -0
  159. package/dist/assets/{SettingsPersonalView-BPyxLR8H.js → SettingsPersonalView-B9VoSZc_.js} +1 -1
  160. package/dist/assets/SettingsPreferencesView-mvebabfo.js +1 -0
  161. package/dist/assets/SettingsSecretsProviders.ee-CXHSobj8.js +1 -0
  162. package/dist/assets/SettingsSourceControl-CtdIS4la.js +1 -0
  163. package/dist/assets/SettingsSso-D1Stih94.js +3 -0
  164. package/dist/assets/SettingsUsageAndPlan-B7yJ5Fgp.js +1 -0
  165. package/dist/assets/SettingsUsersView-D25_E50w.js +1 -0
  166. package/dist/assets/{SetupView-BTLtroT1.js → SetupView-C4WhT8VO.js} +1 -1
  167. package/dist/assets/SetupWorkflowCredentialsButton-3UQq0pVY.js +1 -0
  168. package/dist/assets/SetupWorkflowCredentialsButton-DIAgU1S5.css +1 -0
  169. package/dist/assets/{SetupWorkflowFromTemplateView-CJj0pqKD.js → SetupWorkflowFromTemplateView-VAzwMKH-.js} +1 -1
  170. package/dist/assets/{SeverityTag-kMfQx3Qi.js → SeverityTag-BT86-Sgv.js} +1 -1
  171. package/dist/assets/SigninView-BW7Z2tLP.js +1 -0
  172. package/dist/assets/SignoutView-CFdaaitd.js +1 -0
  173. package/dist/assets/{SignupView-DEyfqdBW.js → SignupView-D3mNfPgc.js} +1 -1
  174. package/dist/assets/{SkeletonAgentCard-BUEWaqFa.js → SkeletonAgentCard-BPn1lcBp.js} +1 -1
  175. package/dist/assets/{TemplateList-D8_6UAVo.js → TemplateList-lXDaYpnI.js} +1 -1
  176. package/dist/assets/TemplatesCollectionView-oza-4SpK.js +1 -0
  177. package/dist/assets/TemplatesSearchView-BpP3COYz.js +1 -0
  178. package/dist/assets/{TemplatesView-CSn-Cbus.js → TemplatesView-B1-OIAJS.js} +1 -1
  179. package/dist/assets/TemplatesWorkflowView-B5CrrVba.js +1 -0
  180. package/dist/assets/{TestRunDetailView-BoSGcePH.js → TestRunDetailView-CqcCDA0r.js} +1 -1
  181. package/dist/assets/{ToolIcon-CoOOEXV7.js → ToolIcon-CN3WBb1s.js} +1 -1
  182. package/dist/assets/{ToolSettingsModal-CR9LZ4DL.js → ToolSettingsModal-BO_ygE-L.js} +1 -1
  183. package/dist/assets/ToolsConnectionModal-BIbjC-x5.js +1 -0
  184. package/dist/assets/ToolsManagerModal-v74sywWR.js +1 -0
  185. package/dist/assets/{ToolsSelector-Bt3wTMmW.js → ToolsSelector-Dxu6cPFo.js} +1 -1
  186. package/dist/assets/TrialIntroModal-Bqjl_NY1.js +1 -0
  187. package/dist/assets/VirtualSchema-BbjYEYYY.js +1 -0
  188. package/dist/assets/{WorkerView-jocL0uIo.js → WorkerView-D-tVctej.js} +1 -1
  189. package/dist/assets/WorkflowBuilderUnavailableNotice-BSZQfekL.js +4 -0
  190. package/dist/assets/{WorkflowExecutionsInfoAccordion-Bv0qSgKL.js → WorkflowExecutionsInfoAccordion-T1-wOd-T.js} +1 -1
  191. package/dist/assets/{WorkflowExecutionsLandingPage-Du4whK0J.js → WorkflowExecutionsLandingPage-CEWqVTR4.js} +1 -1
  192. package/dist/assets/WorkflowExecutionsPreview-MIknNdCw.js +1 -0
  193. package/dist/assets/WorkflowExecutionsView-P_xYO0bU.js +1 -0
  194. package/dist/assets/WorkflowHistory-C_z-Eg5u.js +1 -0
  195. package/dist/assets/WorkflowLayout-Vl7DA0VE.js +1 -0
  196. package/dist/assets/WorkflowOnboardingView-C0D57vXi.js +1 -0
  197. package/dist/assets/WorkflowPreviewHost-BBMQVotO.js +1 -0
  198. package/dist/assets/WorkflowReviewRequestsView-HoEdLk1B.js +1 -0
  199. package/dist/assets/WorkflowsView-Dq2l3Uh1.js +1 -0
  200. package/dist/assets/{aiTemplatesStarterCollection.store-QMubUQpS.js → aiTemplatesStarterCollection.store-B_oXIg4a.js} +2 -2
  201. package/dist/assets/{app-Bq0CNyHi.css → app-BmIwtNOy.css} +1 -1
  202. package/dist/assets/{app-CpgR-J15.js → app-DVNMq1uL.js} +111 -111
  203. package/dist/assets/auth.eventBus-DPRbeEZK.js +1 -0
  204. package/dist/assets/{clients.utils-Tti0rwRZ.js → clients.utils-DqijbFuh.js} +1 -1
  205. package/dist/assets/constants-vqWKfCye.js +1 -0
  206. package/dist/assets/{context.store-DWzHXd35.js → context.store-CPo1JDqB.js} +1 -1
  207. package/dist/assets/{dist-BFk9FXgl.js → dist-Y7iUL5pT.js} +1 -1
  208. package/dist/assets/en-BtnISMkU.js +1 -0
  209. package/dist/assets/expression-runtime-stub-CEzXQGwI.js +1 -0
  210. package/dist/assets/{index-BzwfXkDj.js → index-CClxMuo4.js} +1 -1
  211. package/dist/assets/insights.store-5bDCBYwf.js +1 -0
  212. package/dist/assets/{insights.store-DzcXYpPz.js → insights.store-C57C6rVT.js} +1 -1
  213. package/dist/assets/{insights.utils-C49R4Mko.js → insights.utils-D1hfWojs.js} +1 -1
  214. package/dist/assets/{instanceAi.store-B3ZHMj28.js → instanceAi.store-CyOQECDS.js} +1 -1
  215. package/dist/assets/{instanceAiComputerUse.telemetry-BT1zlk0d.js → instanceAiComputerUse.telemetry-l3PSklHA.js} +1 -1
  216. package/dist/assets/{instanceAiMcp.store-uHzvddN6.js → instanceAiMcp.store-D3hNroou.js} +1 -1
  217. package/dist/assets/{instanceAiMcp.store-DYvQRBUm.js → instanceAiMcp.store-DkHqCPo7.js} +1 -1
  218. package/dist/assets/{instanceRoleScopes-P5NM7rdg.js → instanceRoleScopes-DHTI4Kk5.js} +1 -1
  219. package/dist/assets/mcp.store-DBUsU60x.js +1 -0
  220. package/dist/assets/{postMessageUtils-BFMc-BWG.js → postMessageUtils-Do_5spX4.js} +1 -1
  221. package/dist/assets/{projectRoleScopes-CmxWpREX.js → projectRoleScopes-CMVTXcv3.js} +1 -1
  222. package/dist/assets/{promotions.api-DK3WsfqT.js → promotions.api-8oLcRMjJ.js} +1 -1
  223. package/dist/assets/promotions.eventBus-Jcp-leEN.js +1 -0
  224. package/dist/assets/{promotionsSettings.api-2ZaELWZZ.js → promotionsSettings.api-Dzr7obq-.js} +1 -1
  225. package/dist/assets/pushConnection.store-DM600MZi.js +1 -0
  226. package/dist/assets/{readyToRun.store-Dakbm94R.js → readyToRun.store-UKxYbyuO.js} +3 -3
  227. package/dist/assets/{readyToRunWorkflows.store-yH9nqQdw.js → readyToRunWorkflows.store-Qd2bhBxk.js} +2 -2
  228. package/dist/assets/{resourceCenter.store-qNePoVcC.js → resourceCenter.store-Dsxq0jrU.js} +1 -1
  229. package/dist/assets/{src-DoCaW2Io.js → src-BqAC6H6y.js} +1 -1
  230. package/dist/assets/{src-DuRuI_z7.js → src-C5K9p_b1.js} +1 -1
  231. package/dist/assets/surfaceMcpToNewCloudUsers.store-C3nfbqlG.js +1 -0
  232. package/dist/assets/{templateActions-Ds-LtHPU.js → templateActions-Ct8dcNLE.js} +1 -1
  233. package/dist/assets/{thread-title-CADCeKtA.js → thread-title-D0P5fwGs.js} +1 -1
  234. package/dist/assets/{toolIcons-Dj0hghCx.js → toolIcons-DZAhuVsr.js} +1 -1
  235. package/dist/assets/{useActivityDetection-Rg8EwQMr.js → useActivityDetection-n09S498G.js} +1 -1
  236. package/dist/assets/useAgentConfirmationModal-DPPWT2nR.js +1 -0
  237. package/dist/assets/{useAgentPublish-LEhHSIWb.js → useAgentPublish-Cz8ycooW.js} +1 -1
  238. package/dist/assets/useBuilderStreamingGuard-l4jWfYtd.js +1 -0
  239. package/dist/assets/{useCustomAgent-mZHjJkUs.js → useCustomAgent-Dksvxh2O.js} +1 -1
  240. package/dist/assets/{useDependencyMenu-DtrCL85x.js → useDependencyMenu-jrOa7EOr.js} +1 -1
  241. package/dist/assets/useEvalCollectionsFlag-BzQpvVTI.js +1 -0
  242. package/dist/assets/{useEvaluationsLicense-CArO81Sr.js → useEvaluationsLicense-CQhNLcSC.js} +1 -1
  243. package/dist/assets/{useExecutionData-Bur0OgV4.js → useExecutionData-Cy2NZqk9.js} +1 -1
  244. package/dist/assets/useExecutionDebugging-B7rYCCod.js +2 -0
  245. package/dist/assets/useExposeAllWorkflowsToMcpOffer-Z9nZ9s7e.js +1 -0
  246. package/dist/assets/{useExtensionDirectConnect-DIdFjmAB.js → useExtensionDirectConnect-DY6RARCE.js} +1 -1
  247. package/dist/assets/{useFileDrop-ofZR5d_2.js → useFileDrop-DYMBrshR.js} +1 -1
  248. package/dist/assets/{useImportCurlCommand-Bced-A9p.js → useImportCurlCommand-DYs98poy.js} +1 -1
  249. package/dist/assets/{useInstanceAiThreadHistory-CagJ0CqD.js → useInstanceAiThreadHistory-BL9JZMI8.js} +1 -1
  250. package/dist/assets/{useInstancePromotionConnection-gQ61Hgvz.js → useInstancePromotionConnection-D9P6vZjR.js} +1 -1
  251. package/dist/assets/useIsAssistantAtMentionsEnabled-C-inOoT5.js +1 -0
  252. package/dist/assets/{useLogsTreeExpand-DRdihdwK.js → useLogsTreeExpand-CjQ070he.js} +1 -1
  253. package/dist/assets/{useMcpJsonNudgeEligibility-CdGbfLiT.js → useMcpJsonNudgeEligibility-BErkBdsf.js} +1 -1
  254. package/dist/assets/useMcpJsonNudgeTrigger-BLadZQdx.js +1 -0
  255. package/dist/assets/{useOAuthClientRevoke-BJFRdcN6.js → useOAuthClientRevoke-CLm4qwSi.js} +1 -1
  256. package/dist/assets/{usePostMessageHandler-CwB6OU87.js → usePostMessageHandler-Bq9fo7db.js} +2 -2
  257. package/dist/assets/{usePushConnection-BOs-eT0f.js → usePushConnection-DhRtwDMc.js} +1 -1
  258. package/dist/assets/usePushConnection-yOBZuYdK.js +1 -0
  259. package/dist/assets/{useRoleEditorForm-DaG3zVGH.js → useRoleEditorForm-Dvo64W6Y.js} +1 -1
  260. package/dist/assets/{useSecretsProvidersList.ee-B3hi7Qwv.js → useSecretsProvidersList.ee-DxqomjmN.js} +1 -1
  261. package/dist/assets/useSettingsItems-Heurw80q.js +1 -0
  262. package/dist/assets/{useSidebarLayout-BdqF9qW4.js → useSidebarLayout-BZxOA2sf.js} +1 -1
  263. package/dist/assets/{useWorkflowEvaluationState-QCk6LDZD.js → useWorkflowEvaluationState-DAZHBTN4.js} +1 -1
  264. package/dist/assets/useWorkflowInitialization-Bf6qzxGp.js +1 -0
  265. package/dist/assets/useWorkflowsEmptyState-CKp_4nSH.js +1 -0
  266. package/dist/assets/userRoleProvisioning.store-BTNUdACd.js +1 -0
  267. package/dist/assets/{vector-stores-tw39-9Zs.js → vector-stores-DSScmK71.js} +1 -1
  268. package/dist/assets/{workflowReviews.utils-B9pmlpFg.js → workflowReviews.utils-CmT9Nkpv.js} +1 -1
  269. package/dist/index.html +3 -3
  270. package/package.json +1 -1
  271. package/dist/assets/AddDataTableModal-P0Ee63QE.js +0 -1
  272. package/dist/assets/AgentBuilderView-p8l5ejIN.js +0 -13
  273. package/dist/assets/AgentConfirmationModal-sfUrmk5W.js +0 -1
  274. package/dist/assets/AgentEditorModal-B4O7uXk0.js +0 -1
  275. package/dist/assets/AgentPreviewButton-CjGIfjmy.js +0 -3
  276. package/dist/assets/AgentPreviewDock-CKYVdpB4.js +0 -16
  277. package/dist/assets/AgentSessionTimelineView-BZ9gVFYf.js +0 -1
  278. package/dist/assets/AgentTaskModal-DHLu72DS.js +0 -1
  279. package/dist/assets/AgentToolConfigForm-CE35ZUhA.js +0 -1
  280. package/dist/assets/AgentVectorStoresModal-B9cQjVwe.js +0 -1
  281. package/dist/assets/AgentView-BAnBTJxC.js +0 -1
  282. package/dist/assets/AgentsListView-CeKXkasi.js +0 -1
  283. package/dist/assets/AppSidebar-BB5FTCfw.js +0 -1
  284. package/dist/assets/AuthLayout-B_ptI3SJ.js +0 -1
  285. package/dist/assets/BrowserUseSetupModal--CR5bUv2.js +0 -1
  286. package/dist/assets/ChatGreetings-DmGlRQbc.js +0 -3
  287. package/dist/assets/ChatView-BEim6voj.js +0 -1
  288. package/dist/assets/CompareCollectionView-DVwTj_v3.js +0 -1
  289. package/dist/assets/ConnectionTracker-CKoXCyLk.js +0 -1
  290. package/dist/assets/CredentialsView-CVaLBH5k.js +0 -1
  291. package/dist/assets/DataTableDetailsView-Bkq6WDfI.js +0 -1
  292. package/dist/assets/DefaultLayout-B8sGzqsE.js +0 -1
  293. package/dist/assets/ErrorView-BgPK0V7Y.js +0 -1
  294. package/dist/assets/EvaluationsListSwitcher-DmlnRfdm.js +0 -2
  295. package/dist/assets/EvaluationsPaywall-B91PsBq5.js +0 -1
  296. package/dist/assets/ExecutionsTime-CN4VGwjl.js +0 -2
  297. package/dist/assets/ExecutionsView-C5r_0Ytu.js +0 -1
  298. package/dist/assets/FixedCollectionParameter-BzCfIyXd.js +0 -1
  299. package/dist/assets/InsightsPaywall-fD5chfWz.js +0 -1
  300. package/dist/assets/InstanceAiEmptyView-B4JTFgKg.js +0 -1
  301. package/dist/assets/InstanceAiLayout-CrggQew4.js +0 -1
  302. package/dist/assets/InstanceAiThreadView-CEat7g-v.js +0 -2
  303. package/dist/assets/InstanceAiThreadsView-DrcB2TpH.js +0 -1
  304. package/dist/assets/InstanceAiToolsConnectionModalWrapper-9XInIMdN.js +0 -1
  305. package/dist/assets/InstanceAiView-DZjAGNxX.js +0 -1
  306. package/dist/assets/InstanceRoleView-DuTSxzYC.js +0 -1
  307. package/dist/assets/LogsOverviewRow-CYiOOQ9D.js +0 -1
  308. package/dist/assets/MainHeader-BIeOEuYn.js +0 -1
  309. package/dist/assets/McpRegistrySuggestionFooter-D_Rmqz52.js +0 -1
  310. package/dist/assets/MigrationRuleDetail-Bqhf-Lfx.js +0 -1
  311. package/dist/assets/MigrationRules-CsFQU6q6.js +0 -1
  312. package/dist/assets/NodeCreation-BgcoP3HA.js +0 -2
  313. package/dist/assets/NodeCreator-DmMn5skx.js +0 -1
  314. package/dist/assets/NodeDetailsView-VQyBJh3t.js +0 -1
  315. package/dist/assets/NodeToolSettingsContent-wSBlOtMP.js +0 -1
  316. package/dist/assets/NodeView-DICpOowV.js +0 -2
  317. package/dist/assets/OAuthConsentView-CmP2RVJq.js +0 -1
  318. package/dist/assets/ProjectHeader-B4DG-NX1.js +0 -1
  319. package/dist/assets/ProjectRoleView-tJPvZ4uV.js +0 -1
  320. package/dist/assets/ProjectSettings-CK8PWBZE.js +0 -1
  321. package/dist/assets/ProjectVariables-UElhtJGx.js +0 -1
  322. package/dist/assets/PromotionSelectModal-DIAZ8iE_.js +0 -1
  323. package/dist/assets/PromotionsSettingsView-D_DNaQVN.js +0 -1
  324. package/dist/assets/ProviderSettingsModal-Bre65C4w.js +0 -1
  325. package/dist/assets/PublicationIndicator-BJjtKpVA.js +0 -1
  326. package/dist/assets/ResourceCenterView-D_USpdEt.js +0 -1
  327. package/dist/assets/RunDataHtml-qt3Bajrk.js +0 -1
  328. package/dist/assets/RunDataTable-B63FSV3C.js +0 -1
  329. package/dist/assets/SecuritySettings-B6TzuF0O.js +0 -1
  330. package/dist/assets/SettingsAIView-Div6JuWe.js +0 -1
  331. package/dist/assets/SettingsApiView-C9wHwFsC.js +0 -1
  332. package/dist/assets/SettingsChatHubView-CPrus-kn.js +0 -1
  333. package/dist/assets/SettingsCommunityNodesView-C2WhDM2O.js +0 -1
  334. package/dist/assets/SettingsContextView-BpJeHGNH.js +0 -1
  335. package/dist/assets/SettingsInstanceAiView-b1a1uwc1.js +0 -1
  336. package/dist/assets/SettingsLayout-4o_aeIKV.js +0 -1
  337. package/dist/assets/SettingsLogStreamingView-to9ES3ve.js +0 -1
  338. package/dist/assets/SettingsMCPAgentsView-BWvm99ck.js +0 -1
  339. package/dist/assets/SettingsMCPClientsView-RiQr6IB1.js +0 -1
  340. package/dist/assets/SettingsMCPView-4_qQaUxk.js +0 -42
  341. package/dist/assets/SettingsOpenTelemetryView-Co7yjp61.js +0 -1
  342. package/dist/assets/SettingsPreferencesView-CL4LUM9X.js +0 -1
  343. package/dist/assets/SettingsSecretsProviders.ee-CV3yvxPO.js +0 -1
  344. package/dist/assets/SettingsSourceControl-DwLRQJ0L.js +0 -1
  345. package/dist/assets/SettingsSso-Bb0D7QN2.js +0 -3
  346. package/dist/assets/SettingsUsageAndPlan-CJwtqgDw.js +0 -1
  347. package/dist/assets/SettingsUsersView-__Sx2U4r.js +0 -1
  348. package/dist/assets/SetupWorkflowCredentialsButton-C3Hmu6TA.js +0 -1
  349. package/dist/assets/SigninView-hC36CPJn.js +0 -1
  350. package/dist/assets/SignoutView-IrPYU-tG.js +0 -1
  351. package/dist/assets/TemplatesCollectionView-pmUhr4PG.js +0 -1
  352. package/dist/assets/TemplatesSearchView-BUW7jSr1.js +0 -1
  353. package/dist/assets/TemplatesWorkflowView-Dg7cz4EW.js +0 -1
  354. package/dist/assets/ToolsConnectionModal-EbsGM__n.js +0 -1
  355. package/dist/assets/ToolsManagerModal-Nmz9AAzG.js +0 -1
  356. package/dist/assets/TrialIntroModal-Dqxqc-a_.js +0 -1
  357. package/dist/assets/VirtualSchema-BPYMgp50.js +0 -1
  358. package/dist/assets/WorkflowBuilderUnavailableNotice-BxbZdHJB.js +0 -4
  359. package/dist/assets/WorkflowExecutionsPreview-B_hPf76J.js +0 -1
  360. package/dist/assets/WorkflowExecutionsView-CTSFQeJk.js +0 -1
  361. package/dist/assets/WorkflowHistory-BeKZv5DJ.js +0 -1
  362. package/dist/assets/WorkflowLayout-Dl0GK-da.js +0 -1
  363. package/dist/assets/WorkflowOnboardingView-DJy_qKaI.js +0 -1
  364. package/dist/assets/WorkflowPreviewHost-C35G3Q9p.js +0 -1
  365. package/dist/assets/WorkflowReviewRequestsView-8LtmQxNy.js +0 -1
  366. package/dist/assets/WorkflowsView-BtnGDPTG.js +0 -1
  367. package/dist/assets/auth.eventBus-ezwXR7oM.js +0 -1
  368. package/dist/assets/constants-CBVVOe6z.js +0 -1
  369. package/dist/assets/en-hZySSHjQ.js +0 -1
  370. package/dist/assets/expression-runtime-stub-Dr79gTnj.js +0 -1
  371. package/dist/assets/insights.store-m93OWMWI.js +0 -1
  372. package/dist/assets/mcp.store-CvsCKZdA.js +0 -1
  373. package/dist/assets/promotions.eventBus-B3Jv7Css.js +0 -1
  374. package/dist/assets/pushConnection.store-EQ6CNPpb.js +0 -1
  375. package/dist/assets/surfaceMcpToNewCloudUsers.store-C7lYT7YB.js +0 -1
  376. package/dist/assets/useAgentConfirmationModal-TPZ9X0qG.js +0 -1
  377. package/dist/assets/useBuilderStreamingGuard-D7FuWXWR.js +0 -1
  378. package/dist/assets/useEvalCollectionsFlag-B2SGjKio.js +0 -1
  379. package/dist/assets/useExecutionDebugging-Df9EwaTi.js +0 -2
  380. package/dist/assets/useExposeAllWorkflowsToMcpOffer-CRR_xCGp.js +0 -1
  381. package/dist/assets/useIsAssistantAtMentionsEnabled-nSK_n3aO.js +0 -1
  382. package/dist/assets/useMcpJsonNudgeTrigger-CtS1UP13.js +0 -1
  383. package/dist/assets/usePushConnection-Bbsl1BCC.js +0 -1
  384. package/dist/assets/useSettingsItems-CkH6b2RH.js +0 -1
  385. package/dist/assets/useWorkflowInitialization-Cmw9tEfz.js +0 -1
  386. package/dist/assets/useWorkflowsEmptyState-C5kPzm10.js +0 -1
  387. package/dist/assets/userRoleProvisioning.store-BOup0q0m.js +0 -1
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NodeCreation-BgcoP3HA.js","assets/app-CpgR-J15.js","assets/rolldown-runtime-BobR2NKB.js","assets/vendor-BBKxcFox.js","assets/vendor-BpMiN8nO.css","assets/app-Bq0CNyHi.css","assets/NodeCreation-CpR6ewOx.css","assets/NodeDetailsView-VQyBJh3t.js","assets/LogsOverviewRow-CYiOOQ9D.js","assets/AnimatedSpinner-BrIYQmuf.js","assets/AnimatedSpinner-OiUdRqev.css","assets/LogsOverviewRow-DGf07F0R.css","assets/useLogsTreeExpand-DRdihdwK.js","assets/useLogsTreeExpand-COyoDDNP.css","assets/useExecutionData-Bur0OgV4.js","assets/RunDataParsedAiContent-Cc0DjMAZ.js","assets/RunDataParsedAiContent-Cr5GyLhr.css","assets/NodeDetailsView-DEIl7Nig.css","assets/SetupWorkflowCredentialsButton-C3Hmu6TA.js","assets/readyToRun.store-Dakbm94R.js"])))=>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]=`ec1d701b-c4ec-4e55-91ba-f70f3bff68b2`,e._sentryDebugIdIdentifier=`sentry-dbid-ec1d701b-c4ec-4e55-91ba-f70f3bff68b2`)})()}catch{}import{$f as e,$u as t,Ad as n,Af as r,Bd as i,Cd as a,Dd as o,Ed as s,Ef as c,Hd as l,Id as u,Kd as d,Md as f,Nd as p,Od as m,Of as h,Qd as g,Sf as _,Td as v,Vd as y,Wd as b,Xd as x,Yd as S,Yu as C,Zd as w,Zf as T,_f as E,_u as D,as as O,bd as k,bf as A,cd as j,cf as M,hi as N,ho as P,if as F,is as I,jd as L,md as ee,np as R,ns as z,of as te,pf as ne,pi as B,po as V,td as H,uf as U,uu as re,vd as ie,wd as W,wf as ae,xd as oe,y as se,yd as ce,yf as le}from"./vendor-BBKxcFox.js";import{$ as ue,$c as de,$l as fe,$u as G,Af as pe,Au as me,B_ as he,Bb as ge,Bf as _e,Bl as ve,Bs as ye,Bu as be,Cb as xe,Cd as Se,Cf as Ce,Cn as we,Co as Te,DC as Ee,Df as De,EC as Oe,Ec as ke,Ef as K,Ei as Ae,En as je,Fb as Me,GC as Ne,Gf as Pe,Gn as Fe,Go as Ie,Gs as Le,Gy as Re,Hc as ze,Hf as Be,Hm as Ve,Hn as He,Hs as Ue,Hu as We,I_ as Ge,Iu as Ke,Jc as qe,Jf as Je,Jh as Ye,Jn as Xe,Js as Ze,K as Qe,KC as q,Kb as $e,Kh as et,Kn as tt,Ks as nt,Ku as rt,LC as J,Lf as it,Ln as at,Lu as ot,MC as st,M_ as ct,Mm as lt,Mu as Y,N_ as ut,Nn as dt,No as ft,Nu as pt,OC as mt,Ob as ht,Of as gt,On as _t,Ou as vt,P_ as yt,Pb as bt,Pn as xt,Pu as St,Q as Ct,Qd as wt,Ql as Tt,Qn as Et,R_ as Dt,S_ as Ot,Sd as kt,Sf as At,Sx as jt,Tf as Mt,Tg as Nt,Tn as Pt,UC as Ft,Un as It,VS as Lt,Vc as Rt,Vf as zt,Vl as Bt,Vm as Vt,Vn as Ht,WC as Ut,Wf as Wt,Wg as Gt,Wn as Kt,Wo as qt,Wx as Jt,X as Yt,XC as Xt,Xb as Zt,Xm as Qt,Xo as $t,Y as en,YC as X,Yb as tn,Yc as nn,Yn as rn,Yo as an,Z as on,Zb as sn,Zn as cn,Zo as ln,Zs as un,_C as dn,_b as Z,_d as fn,_p as pn,ac as mn,ah as hn,at as gn,bc as _n,bd as vn,bn as yn,cS as bn,ch as xn,ci as Sn,cu as Cn,dC as wn,di as Tn,ec as En,ed as Dn,ef as On,ew as Q,ex as kn,fC as An,fi as jn,fu as Mn,gb as Nn,gd as Pn,gf as Fn,gu as In,hC as Ln,hS as Rn,hb as zn,hc as Bn,hn as Vn,hp as Hn,iC as Un,ic as Wn,if as Gn,it as Kn,jn as qn,ju as Jn,kc as Yn,kf as Xn,km as Zn,kn as Qn,kx as $n,lS as er,ld as $,li as tr,mC as nr,mf as rr,mi as ir,my as ar,nc as or,nd as sr,ng as cr,nt as lr,of as ur,ot as dr,q as fr,qb as pr,qc as mr,qd as hr,qm as gr,qn as _r,qs as vr,rf as yr,rh as br,rm as xr,sC as Sr,sm as Cr,st as wr,tc as Tr,tl as Er,tm as Dr,uf as Or,uh as kr,ui as Ar,uu as jr,vu as Mr,wb as Nr,wf as Pr,wi as Fr,xd as Ir,xl as Lr,xn as Rr,xu as zr,yS as Br,yd as Vr,yg as Hr,yp as Ur,zC as Wr}from"./app-CpgR-J15.js";import{t as Gr}from"./usePostMessageHandler-CwB6OU87.js";import{t as Kr}from"./useMcpJsonNudgeTrigger-CtS1UP13.js";import{n as qr,t as Jr}from"./EvaluationsPaywall-B91PsBq5.js";import{t as Yr}from"./useExecutionData-Bur0OgV4.js";import{a as Xr,c as Zr,d as Qr,i as $r,l as ei,n as ti,o as ni,r as ri,s as ii,t as ai,u as oi}from"./evaluation.constants-CoqV6UIR.js";import{t as si}from"./useEvaluationsLicense-CArO81Sr.js";import{t as ci}from"./useActivityDetection-Rg8EwQMr.js";var li=X(p({inheritAttrs:!1,__name:`WorkflowCanvas`,props:{id:{default:`canvas`},fallbackNodes:{default:()=>[]},showFallbackNodes:{type:Boolean,default:!0},eventBus:{default:()=>wn()},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,i=te(`canvas`),s=ee(),c=$(),l=ae(_e()),u;M(()=>c.value.documentId,e=>{u?.stop(),u=ne(!0),u.run(()=>{l.value=Ht(e)})},{immediate:!0}),le(()=>u?.stop());let{onNodesInitialized:d,viewport:f,viewportRef:p,getNodes:m,fitBounds:h}=N(n.id),v=a(()=>n.showFallbackNodes?[...c.value.allNodes,...n.fallbackNodes]:c.value.allNodes),b=a(()=>c.value.connectionsBySourceNode),w=Fe({workflowId:()=>c.value.workflowId,getCurrentGroupIds:()=>c.value.allGroups.map(e=>e.id),onNodeGroupsChange:e=>c.value.onNodeGroupsChange(e),getGroupExpansionMode:()=>n.groupExpansionMode}),E=Xe({workflowId:()=>c.value.workflowId,getCurrentGroups:()=>c.value.allGroups,onNodeGroupsChange:e=>c.value.onNodeGroupsChange(e)});M(()=>c.value.documentId,()=>{w.reinitialize(),H(),E.reinitialize()});let D=a(()=>c.value.allGroups),O=a(()=>n.readOnly??!1),k=a(()=>n.suppressInteraction??!1),A=nn(),j=a(()=>A.isActive(f.value.zoom)),P=ze(),{nodes:F,connections:I,nodeDisplaySizeById:R,getNodeExecutionSnapshot:z}=He({nodes:v,connections:b,renderData:l,allGroups:D,nodeGroupView:w,isExperimentalNdvActive:j,getAgentNodeHeight:e=>P.getNodeHeight(n.id,e)}),V=a(()=>{switch(n.groupExpansionMode){case`all`:return D.value.map(e=>e.id);case`errored`:return D.value.filter(e=>tr(e.nodeIds,z)===`error`).map(e=>e.id);default:return[]}});function H(){for(let e of V.value)w.setGroupExpanded(e,!0)}M(V,H,{immediate:!0}),M(a(()=>c.value.allGroups.length===0?[]:tt({allGroups:c.value.allGroups,nodes:v.value,getNodeById:e=>c.value.getNodeById(e),getNodeDisplaySize:e=>R.value[e],isGroupCollapsed:e=>w.isGroupCollapsed(e)})),e=>w.syncLayoutComponents(e),{immediate:!0});let U=a(()=>Ar({allGroups:D.value,getNodeById:e=>c.value.getNodeById(e),getNodeDisplaySize:e=>R.value[e],getGroupVisualOffset:e=>w.getVisualOffsetForComponent(e),isGroupCollapsed:e=>w.isGroupCollapsed(e),readOnly:O.value||k.value,getNodeExecutionSnapshot:z})),re=a(()=>[...F.value,...U.value]);x(Kt,w),x(_r,E),x(jn,{isGroupCollapsed:e=>w.isGroupCollapsed(e),isDescriptionVisible:e=>E.isVisible(e)});let ie=_(!1),{off:oe}=d(()=>{ie.value||(n.initialViewport||n.eventBus.emit(`fitView`),ie.value=!0,oe())}),se=C(re,200),ce=C(I,200);return t({executeContextMenuAction:(e,t)=>i.value?.executeContextMenuAction(e,t),ensureNodesAreVisible:e=>{let t=p.value;if(!t)return;let r=m.value.filter(t=>e.includes(t.id));if(r.length===0)return;let i=d(()=>{let a=f.value,o=t.clientWidth,s=t.clientHeight,c=B(r),l=c.x*a.zoom+a.x,u=c.y*a.zoom+a.y,d=c.width*a.zoom,p=c.height*a.zoom;if(!(l>=0&&u>=0&&l+d<=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);h({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)=>(S(),o(`div`,{class:T(r(s).wrapper),"data-test-id":`canvas-wrapper`},[W(`div`,{id:`canvas`,class:T(r(s).canvas)},[L(It,y({id:e.id,ref:`canvas`,nodes:e.executing?r(se):re.value,connections:e.executing?r(ce):r(I),"render-data":l.value,"node-display-size-by-id":r(R),"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),g(t.$slots,`default`)],2))}}),[[`__cssModules`,{$style:{wrapper:`_wrapper_ainvf_1`,canvas:`_canvas_ainvf_9`}}]]),ui=X(p({__name:`FocusSidebarTabs`,props:{modelValue:{default:`setup`},tabLabels:{default:()=>({})}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=Q(),i=zr(),s=mr(),c=a(()=>s.isFeatureEnabled),{isFeatureEnabled:l}=qr(),u=e,d=t,f=a(()=>{let e=[];return c.value&&e.push({label:u.tabLabels?.setup??n.baseText(`setupPanel.tabs.setup`),value:`setup`}),e.push({label:u.tabLabels?.focus??n.baseText(`setupPanel.tabs.focus`),value:`focus`}),l.value&&e.push({label:u.tabLabels?.evaluations??n.baseText(`setupPanel.tabs.evaluations`),value:`evaluations`}),e}),p=e=>{d(`update:modelValue`,e)};return(t,n)=>(S(),o(`div`,{class:T(t.$style.container),"data-test-id":`setup-panel-tabs`},[L(r(bn),{"model-value":e.modelValue,options:f.value,size:`small`,"onUpdate:modelValue":p},null,8,[`model-value`,`options`]),W(`button`,{"data-test-id":`setup-panel-close`,class:T(t.$style[`close-button`]),onClick:n[0]||=e=>r(i).closeFocusPanel()},[L(r(q),{icon:`x`,size:`small`})],2)],2))}}),[[`__cssModules`,{$style:{container:`_container_2u5bd_1`,"close-button":`_close-button_2u5bd_18`}}]]),di=[`data-test-id`],fi=[`data-test-id`],pi=p({__name:`SetupCard`,props:i({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(e,{expose:t}){let i=e,c=F(e,`expanded`),l=Q(),u=Ge(),d=mr(),f=$(),p=_(!1),m=()=>{p.value=!0},h=()=>{c.value=!c.value},y=()=>{i.highlightNodeIds.length>0&&d.setHighlightedNodes(i.highlightNodeIds)},x=()=>{i.highlightNodeIds.length>0&&d.clearHighlightedNodes()},C=a(()=>i.executableNode??null),{isExecuting:w,isButtonDisabled:E,label:D,buttonIcon:O,tooltipItems:A,execute:N,isInListeningState:P,listeningHint:I}=Ct(C),{webhookUrls:ee}=on(C),z=a(()=>i.executableNode?.type===`@n8n/n8n-nodes-langchain.chatTrigger`&&P.value?!1:!!i.executableNode),te=a(()=>i.isTrigger&&P.value),ne=async()=>{await N(),m()};return b(()=>{d.clearHighlightedNodes()}),M(()=>i.isComplete,e=>{e&&p.value&&(u.track(`User completed setup step`,{template_id:f?.value?.meta?.templateId,workflow_id:f?.value?.workflowId,...i.telemetryPayload}),p.value=!1)}),t({markInteracted:m}),(t,i)=>(S(),o(`div`,{"data-test-id":e.cardTestId,class:T([t.$style.card,{[t.$style.collapsed]:!c.value,[t.$style.completed]:e.isComplete,[t.$style[`no-footer`]]:!e.showFooter&&c.value}]),onMouseenter:y,onMouseleave:x},[W(`header`,{"data-test-id":`${e.cardTestId}-header`,class:T(t.$style.header),onClick:h},[!c.value&&e.loading&&!e.isComplete?(S(),v(r(q),{key:0,"data-test-id":`${e.cardTestId}-loading-icon`,icon:`spinner`,spin:!0,class:T(t.$style[`loading-icon`]),size:`medium`},null,8,[`data-test-id`,`class`])):!c.value&&e.isComplete?(S(),v(r(q),{key:1,"data-test-id":`${e.cardTestId}-complete-icon`,icon:`check`,class:T(t.$style[`complete-icon`]),size:`medium`},null,8,[`data-test-id`,`class`])):g(t.$slots,`icon`,{key:2},void 0,!0),L(r(J),{class:T(t.$style[`card-title`]),size:`medium`,color:`text-dark`},{default:U(()=>[n(R(e.title),1)]),_:1},8,[`class`]),W(`div`,{class:T(t.$style[`header-extra`])},[g(t.$slots,`header-extra`,{},void 0,!0)],2),L(r(q),{class:T(t.$style.chevron),icon:c.value?`chevrons-down-up`:`chevrons-up-down`,size:`large`,color:`text-light`},null,8,[`class`,`icon`])],10,fi),c.value?(S(),o(k,{key:0},[g(t.$slots,`card-description`,{},void 0,!0),L(j,{name:`callout-fade`},{default:U(()=>[te.value?(S(),o(`div`,{key:0,class:T(t.$style[`callout-grid`])},[W(`div`,{class:T(t.$style[`callout-inner`])},[L(r(dn),{"data-test-id":`trigger-listening-callout`,theme:`secondary`,class:T(t.$style.callout)},{default:U(()=>[n(R(r(I)),1)]),_:1},8,[`class`])],2)],2)):s(``,!0)]),_:1}),e.isTrigger&&r(P)&&r(ee).length>0?(S(),v(dr,{key:0,urls:r(ee)},null,8,[`urls`])):s(``,!0),g(t.$slots,`default`,{},void 0,!0),e.showFooter?(S(),o(`footer`,{key:1,class:T(t.$style.footer)},[e.isComplete?(S(),o(`div`,{key:0,class:T(t.$style[`footer-complete-check`])},[L(r(q),{icon:`check`,class:T(t.$style[`complete-icon`]),size:`large`},null,8,[`class`]),L(r(J),{size:`medium`,color:`success`},{default:U(()=>[n(R(r(l).baseText(`generic.complete`)),1)]),_:1})],2)):s(``,!0),g(t.$slots,`footer-actions`,{},void 0,!0),z.value?(S(),v(wr,{key:1,label:r(D),icon:r(O),disabled:r(E)||e.isTestingCredential,loading:r(w),"tooltip-items":r(A),onClick:ne},null,8,[`label`,`icon`,`disabled`,`loading`,`tooltip-items`])):s(``,!0)],2)):s(``,!0)],64)):s(``,!0)],42,di))}}),mi=`_card_gqw1c_1`,hi=`_header_gqw1c_14`,gi=`_chevron_gqw1c_25`,_i=`_collapsed_gqw1c_34`,vi=`_footer_gqw1c_59`,yi=`_completed_gqw1c_86`,bi=`_callout_gqw1c_93`,xi=X(pi,[[`__cssModules`,{$style:{card:mi,"no-footer":`_no-footer_gqw1c_10`,header:hi,"header-extra":`_header-extra_gqw1c_22`,chevron:gi,collapsed:_i,"card-title":`_card-title_gqw1c_38`,"complete-icon":`_complete-icon_gqw1c_43`,"loading-icon":`_loading-icon_gqw1c_52`,footer:vi,"footer-complete-check":`_footer-complete-check_gqw1c_66`,completed:yi,callout:bi,"callout-grid":`_callout-grid_gqw1c_97`,"callout-inner":`_callout-inner_gqw1c_102`}}],[`__scopeId`,`data-v-119aeb94`]]),Si=X(p({__name:`NodeSetupCard`,props:i({state:{},firstTriggerName:{}},{expanded:{type:Boolean,default:!1},expandedModifiers:{}}),emits:i([`credentialSelected`,`credentialDeselected`],[`update:expanded`]),setup(e,{emit:t}){let i=e,o=F(e,`expanded`),c=t,l=Q(),u=fn(),d=wt(),f=vt(),p=$(),h=_(null),g=a(()=>u.getNodeType(i.state.node.type,i.state.node.typeVersion)),y=a(()=>!!i.state.credentialType),b=a(()=>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),x=a(()=>{let e=i.state.selectedCredentialId;return!!e&&d.isCredentialTestPending(e)}),C=a(()=>!y.value||b.value!==null||i.state.isComplete),w=a(()=>Object.keys(i.state.parameterIssues).length>0),E=_([]),D=a(()=>E.value.length>0),O=a(()=>i.state.isTrigger&&!y.value&&!D.value),k=a(()=>y.value&&!D.value&&!O.value),A=a(()=>{let e=[];return O.value&&e.push(`trigger`),y.value&&e.push(`credential`),w.value&&e.push(`param`),{type:e,template_id:p.value.meta?.templateId,workflow_id:p.value.workflowId,node_types:(i.state.allNodesUsingCredential??[i.state.node]).map(e=>e.type),credential_type:i.state.credentialType,has_parameters:w.value,missing_parameters_count:Object.keys(i.state.parameterIssues).length}}),j=()=>{h.value?.markInteracted()},N=_(Object.keys(i.state.parameterIssues).length===0),P=a(()=>N.value||(i.state.additionalParameterNames?.length??0)>0&&Object.keys(i.state.parameterIssues).length===0),I=_(!i.state.isAutoApplied);M(()=>i.state.isAutoApplied??!1,e=>{e||(I.value=!0)}),M(o,(e,t)=>{t&&!e&&(Object.keys(i.state.parameterIssues).length===0&&(N.value=!0),i.state.isAutoApplied&&(I.value=!0))});let ee=a(()=>D.value?i.state.isComplete&&P.value&&I.value:i.state.isComplete&&I.value),z=a(()=>(i.state.allNodesUsingCredential??[i.state.node]).map(({id:e})=>e));return(t,i)=>(S(),v(xi,{ref_key:`setupCard`,ref:h,expanded:o.value,"onUpdate:expanded":i[3]||=e=>o.value=e,"is-complete":ee.value,loading:x.value,title:e.state.node.name,"show-footer":C.value,"executable-node":b.value,"is-trigger":e.state.isTrigger,"is-testing-credential":x.value,"telemetry-payload":A.value,"highlight-node-ids":z.value,"card-test-id":`node-setup-card`},m({icon:U(()=>[k.value?(S(),v(Yn,{key:0,"credential-type-name":e.state.credentialType,size:16},null,8,[`credential-type-name`])):(S(),v(Bn,{key:1,"node-type":g.value,size:16},null,8,[`node-type`]))]),"card-description":U(()=>[e.state.isTrigger&&y.value&&!e.state.selectedCredentialId?(S(),v(r(J),{key:0,size:`medium`,color:`text-base`,class:`pl-xs pr-xs`},{default:U(()=>[n(R(r(l).baseText(`setupPanel.trigger.credential.note`)),1)]),_:1})):D.value?(S(),v(r(J),{key:1,size:`medium`,color:`text-base`,class:`pl-xs pr-xs`},{default:U(()=>[n(R(r(l).baseText(`setupPanel.parameter.description`)),1)]),_:1})):s(``,!0)]),default:U(()=>[O.value?s(``,!0):(S(),v(gn,{key:0,state:e.state},{default:U(()=>[W(`div`,{class:T(t.$style.content)},[L(ue,{state:e.state,"sticky-parameters":E.value,onCredentialSelected:i[0]||=e=>{j(),c(`credentialSelected`,e)},onCredentialDeselected:i[1]||=e=>{j(),c(`credentialDeselected`,e)},onInteracted:j,onParametersDiscovered:i[2]||=e=>E.value.push(...e)},null,8,[`state`,`sticky-parameters`])],2)]),_:1},8,[`state`]))]),_:2},[O.value?{name:`header-extra`,fn:U(()=>[L(r(Wr),null,{content:U(()=>[n(R(r(l).baseText(`nodeCreator.nodeItem.triggerIconTitle`)),1)]),default:U(()=>[L(r(q),{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`}}]]),Ci=[`onMouseenter`],wi=[`onClick`],Ti=X(p({__name:`NodeGroupSetupCard`,props:i({nodeGroup:{}},{expanded:{type:Boolean,default:!1},expandedModifiers:{}}),emits:i([`credentialSelected`,`credentialDeselected`],[`update:expanded`]),setup(e,{emit:t}){let i=e,l=F(e,`expanded`),u=t,d=vt(),f=$(),p=mr(),m=_(null),{parentNodeType:h,subnodeSections:g,allSections:y,getStickyParameters:b,addStickyParameters:x,expandedSections:C,toggleSection:E,hoveredSection:D,onSectionMouseEnter:O,onSectionMouseLeave:A,getSectionNodeType:j}=Yt(c(i,`nodeGroup`)),N=a(()=>{let e=i.nodeGroup.parentNode;return d.isNodeExecutable(e,!0,[])?e:null}),P=a(()=>lr({nodeGroup:i.nodeGroup})),I=a(()=>{let e=new Set([i.nodeGroup.parentNode.id]);for(let t of y.value)e.add(t.node.id);return[...e]}),ee=a(()=>D.value?(D.value.allNodesUsingCredential??[D.value.node]).map(e=>e.id):I.value);M(ee,e=>{l.value&&p.setHighlightedNodes(e)}),M(l,(e,t)=>{t&&!e&&(D.value=null)});let z=a(()=>y.value.some(en)),te=a(()=>({type:[`node-group`],template_id:f.value.meta?.templateId,workflow_id:f.value.workflowId,node_types:y.value.map(e=>e.node.type),has_parameters:z.value})),ne=a(()=>N.value!==null),B=()=>{m.value?.markInteracted()};return(t,i)=>(S(),v(xi,{ref_key:`setupCard`,ref:m,expanded:l.value,"onUpdate:expanded":i[8]||=e=>l.value=e,"is-complete":P.value,title:e.nodeGroup.parentNode.name,"show-footer":ne.value,"executable-node":N.value,"telemetry-payload":te.value,"highlight-node-ids":ee.value,"card-test-id":`node-group-setup-card`},{icon:U(()=>[L(Bn,{"node-type":r(h),size:16},null,8,[`node-type`])]),default:U(()=>[e.nodeGroup.parentState?(S(),o(`div`,{key:0,class:T(t.$style.parentBody),onMouseenter:i[3]||=t=>r(O)(e.nodeGroup.parentState),onMouseleave:i[4]||=(...e)=>r(A)&&r(A)(...e)},[L(gn,{state:e.nodeGroup.parentState},{default:U(()=>[L(ue,{state:e.nodeGroup.parentState,"sticky-parameters":r(b)(e.nodeGroup.parentState.node.id),onCredentialSelected:i[0]||=e=>{B(),u(`credentialSelected`,e)},onCredentialDeselected:i[1]||=e=>{B(),u(`credentialDeselected`,e)},onInteracted:B,onParametersDiscovered:i[2]||=t=>r(x)(e.nodeGroup.parentState.node.id,t)},null,8,[`state`,`sticky-parameters`])]),_:1},8,[`state`])],34)):s(``,!0),W(`div`,{class:T(t.$style.sections),"data-test-id":`node-group-sections`},[(S(!0),o(k,null,w(r(g),e=>(S(),o(`div`,{key:e.node.id,class:T(t.$style.section),"data-test-id":`node-group-section`,onMouseenter:t=>r(O)(e),onMouseleave:i[7]||=(...e)=>r(A)&&r(A)(...e)},[W(`div`,{class:T(t.$style.sectionHeader),"data-test-id":`node-group-section-header`,onClick:t=>r(E)(e.node.id)},[e.isComplete?(S(),v(r(q),{key:0,icon:`check`,size:`small`,class:T(t.$style.sectionCheck)},null,8,[`class`])):(S(),v(Bn,{key:1,"node-type":r(j)(e),size:14},null,8,[`node-type`])),L(r(J),{class:T(t.$style.sectionTitle),size:`medium`,color:`text-dark`},{default:U(()=>[n(R(e.node.name),1)]),_:2},1032,[`class`]),L(r(q),{class:T(t.$style.sectionChevron),icon:r(C)[e.node.id]?`chevrons-down-up`:`chevrons-up-down`,size:`large`,color:`text-light`},null,8,[`class`,`icon`])],10,wi),r(C)[e.node.id]?(S(),o(`div`,{key:0,class:T(t.$style.sectionContent)},[L(gn,{state:e},{default:U(()=>[L(ue,{state:e,"sticky-parameters":r(b)(e.node.id),onCredentialSelected:i[5]||=e=>{B(),u(`credentialSelected`,e)},onCredentialDeselected:i[6]||=e=>{B(),u(`credentialDeselected`,e)},onInteracted:B,onParametersDiscovered:t=>r(x)(e.node.id,t)},null,8,[`state`,`sticky-parameters`,`onParametersDiscovered`])]),_:2},1032,[`state`])],2)):s(``,!0)],42,Ci))),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`}}]]),Ei=X(p({__name:`SetupPanelCards`,props:{showCompleted:{type:Boolean,default:!0}},setup(e){let t=e,i=Q(),c=Ge(),l=an(),u=$(),{setupCards:d,isAllComplete:f,setCredential:p,unsetCredential:m,firstTriggerName:h}=fr();M(f,e=>{e&&c.track(`User completed all setup steps`,{template_id:u?.value?.meta?.templateId,workflow_id:l.value})});let g=e=>{p(e.credentialType,e.credentialId,e.nodeName)},_=e=>{m(e.credentialType,e.nodeName)},y=a(()=>t.showCompleted?d.value:d.value.filter(e=>!lr(e))),b=e=>Kn(e)?`group-${e.nodeGroup.parentNode.id}`:e.state.credentialType?`${e.state.credentialType}-${e.state.node.id}`:`${e.state.node.id}`,x=A({}),C=new Map,E=new Set,D=!1,O=e=>x[e]??!1,j=(e,t)=>e.find((e,n)=>n>t&&!lr(e)),N=(e,t)=>{if(x[e]=t,!t){let t=d.value,n=t.findIndex(t=>b(t)===e),r=t[n];if(r&&lr(r)&&E.has(e)){let e=j(t,n);e&&(x[b(e)]=!0)}}};return M(d,e=>{for(let t of e){let e=b(t);E.has(e)||(Kn(t)?[...t.nodeGroup.parentState?[t.nodeGroup.parentState]:[],...t.nodeGroup.subnodeCards].some(en)&&E.add(e):en(t.state)&&E.add(e))}if(D){let t=j(e,-1);if(t&&!C.has(b(t))){let n=e.findIndex(e=>x[b(e)]);n>e.indexOf(t)&&(x[b(e[n])]=!1,x[b(t)]=!0)}for(let t=0;t<e.length;t++){let n=e[t],r=b(n),i=C.get(r)??!1,a=lr(n),o=Kn(n)?[...n.nodeGroup.parentState?[n.nodeGroup.parentState]:[],...n.nodeGroup.subnodeCards].some(e=>e.isAutoApplied):n.state.isAutoApplied;if(a&&!i&&!E.has(r)){if(x[r]=!1,!o||e.every((e,n)=>n===t||!x[b(e)])){let n=j(e,t);n&&(x[b(n)]=!0)}break}}}else{if(e.length===0)return;let t=j(e,-1);t&&(x[b(t)]=!0),D=!0}C.clear();for(let t of e)C.set(b(t),lr(t))},{deep:!0,immediate:!0}),(e,t)=>(S(),o(`div`,{class:T(e.$style.container),"data-test-id":`setup-panel-cards-container`},[r(d).length===0?(S(),o(`div`,{key:0,class:T(e.$style[`empty-state`]),"data-test-id":`setup-cards-empty`},[L(r(q),{icon:`list-checks`,class:T(e.$style[`empty-icon`]),size:24,color:`text-base`},null,8,[`class`]),W(`div`,{class:T(e.$style[`empty-text`])},[L(r(J),{size:`medium`,color:`text-base`,bold:!0,"data-test-id":`setup-cards-empty-heading`},{default:U(()=>[n(R(r(i).baseText(`setupPanel.empty.heading`)),1)]),_:1}),L(r(J),{size:`medium`,color:`text-light`,"data-test-id":`setup-cards-empty-description`},{default:U(()=>[n(R(r(i).baseText(`setupPanel.empty.description`)),1)]),_:1})],2)],2)):(S(),o(`div`,{key:1,class:T(e.$style[`card-list`]),"data-test-id":`setup-cards-list`},[(S(!0),o(k,null,w(y.value,e=>(S(),o(k,{key:b(e)},[e.nodeGroup?(S(),v(Ti,{key:0,"node-group":e.nodeGroup,expanded:O(b(e)),"onUpdate:expanded":t=>N(b(e),t),onCredentialSelected:g,onCredentialDeselected:_},null,8,[`node-group`,`expanded`,`onUpdate:expanded`])):(S(),v(Si,{key:1,state:e.state,"first-trigger-name":r(h),expanded:O(b(e)),"onUpdate:expanded":t=>N(b(e),t),onCredentialSelected:g,onCredentialDeselected:_},null,8,[`state`,`first-trigger-name`,`expanded`,`onUpdate:expanded`]))],64))),128)),r(f)?(S(),o(`div`,{key:0,class:T(e.$style[`complete-message`]),"data-test-id":`setup-cards-complete-message`},[L(r(J),{size:`medium`,color:`text-base`},{default:U(()=>[n(R(r(i).baseText(`setupPanel.everythingConfigured.message`)),1)]),_:1})],2)):s(``,!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`}}]]),Di=X(p({__name:`SetupPanel`,setup(e){let t=Q(),i=_(!0);return(e,a)=>(S(),o(`div`,{class:T(e.$style.container),"data-test-id":`setup-panel-container`},[W(`div`,{class:T(e.$style.content),"data-test-id":`setup-panel-cards`},[L(Ei,{"show-completed":i.value},null,8,[`show-completed`])],2),W(`footer`,{class:T(e.$style.footer),"data-test-id":`setup-panel-footer`},[L(r(J),{class:T(e.$style[`toggle-label`]),tag:`label`,size:`small`},{default:U(()=>[L(r(er),{modelValue:i.value,"onUpdate:modelValue":a[0]||=e=>i.value=e,size:`small`},null,8,[`modelValue`]),n(` `+R(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`}}]]),Oi=X(p({__name:`ExperimentalNodeDetailsDrawer`,props:{node:{},nodeIds:{},isReadOnly:{type:Boolean}},emits:[`openNdv`,`contextMenuAction`],setup(e,{emit:t}){let i=t,c=cn(a(()=>e.node)),l=Tn(a(()=>e.nodeIds)),u=ur(),d=_(0),f=a(()=>[e.node.id,d.value].join(`|`));return M(()=>u.value.activeNodeName,(e,t)=>{e===null&&t!==null&&(d.value+=1)}),x(Gt,c),(t,a)=>(S(),o(`div`,{class:T(t.$style.component)},[e.nodeIds.length>1?(S(),v(r(J),{key:0,tag:`div`,color:`text-base`,class:T(t.$style.multipleNodes)},{default:U(()=>[W(`div`,null,R(e.nodeIds.length)+` nodes selected`,1),W(`ul`,{class:T(t.$style.multipleNodesActions)},[(S(!0),o(k,null,w(r(l),a=>(S(),o(`li`,{key:a.id,class:T(t.$style.multipleNodesAction)},[L(r(Ne),{variant:`subtle`,disabled:a.disabled,onClick:t=>i(`contextMenuAction`,a.id,e.nodeIds)},{default:U(()=>[n(R(a.label)+` `,1),a.shortcut?(S(),v(r(Ee),y({key:0,ref_for:!0},a.shortcut),null,16)):s(``,!0)]),_:2},1032,[`disabled`,`onClick`])],2))),128))],2)]),_:1},8,[`class`])):e.node?(S(),v(Et,{key:f.value,"node-id":e.node.id,"is-read-only":e.isReadOnly},null,8,[`node-id`,`is-read-only`])):s(``,!0)],2))}}),[[`__cssModules`,{$style:{component:`_component_1qt9j_1`,multipleNodes:`_multipleNodes_1qt9j_6`,multipleNodesActions:`_multipleNodesActions_1qt9j_16`,multipleNodesAction:`_multipleNodesAction_1qt9j_16`}}]]),ki=X(p({__name:`ExperimentalFocusPanelHeader`,props:{node:{},parameter:{},isExecutable:{type:Boolean},readOnly:{type:Boolean}},emits:[`execute`,`openNdv`,`clearParameter`,`renameNode`],setup(e,{emit:t}){let i=t,c=fn(),l=Q(),u=a(()=>c.getNodeType(e.node.type,e.node.typeVersion));return(t,a)=>(S(),v(r(J),{tag:`header`,size:`small`,bold:``,class:T(t.$style.component)},{default:U(()=>[L(Bn,{"node-type":u.value,size:16},null,8,[`node-type`]),W(`div`,{class:T(t.$style.breadcrumbs)},[e.parameter?(S(),o(k,{key:0},[L(r(J),{size:`small`,color:`text-base`,bold:``},{default:U(()=>[n(R(e.node.name),1)]),_:1}),L(r(J),{size:`small`,color:`text-light`},{default:U(()=>[...a[4]||=[n(`/`,-1)]]),_:1}),n(` `+R(e.parameter.displayName),1)],64)):(S(),v(r(Jt),{key:1,"model-value":e.node.name,"min-width":0,"max-width":500,placeholder:r(l).baseText(`ndv.title.rename.placeholder`),"read-only":e.readOnly,"onUpdate:modelValue":a[0]||=e=>i(`renameNode`,e)},null,8,[`model-value`,`placeholder`,`read-only`]))],2),e.parameter?(S(),v(r(Ut),{key:0,variant:`ghost`,icon:`x`,size:`small`,onClick:a[1]||=e=>i(`clearParameter`)})):(S(),v(r(Ut),{key:1,variant:`ghost`,icon:`expand`,size:`small`,onClick:a[2]||=e=>i(`openNdv`)})),e.isExecutable?(S(),v(Tr,{key:2,"data-test-id":`node-execute-button`,"node-name":e.node.name,tooltip:`Execute ${e.node.name}`,variant:`subtle`,size:`small`,icon:`play`,square:!0,"hide-label":!0,"telemetry-source":`focus`,onExecute:a[3]||=e=>i(`execute`)},null,8,[`node-name`,`tooltip`])):s(``,!0)]),_:1},8,[`class`]))}}),[[`__cssModules`,{$style:{component:`_component_1ijt6_1`,breadcrumbs:`_breadcrumbs_1ijt6_9`}}]]),Ai=X(p({name:`FocusPanel`,__name:`FocusPanel`,props:{isCanvasReadOnly:{type:Boolean}},emits:[`focus`,`saveKeyboardShortcut`,`contextMenuAction`],setup(e,{emit:t}){let i=e,u=t,d=_(),f=Q(),p=vt(),m=zr(),h=an(),g=$(),y=a(()=>Dn(g.value.documentId)),b=fn(),x=mr(),C=Ge(),w=ln(),E=Or(),D=nn(),O=ur(),A=N(h.value),{renameNode:j}=Rt(),P=a(()=>m.resolvedParameter),F=_(``),I=re(async()=>{if(!P.value)return!1;let e=P.value.parameterPath.split(`.`).slice(1,-1).join(`.`);return!!P.value.parameter.disabledOptions&&await w.shouldDisplayNodeParameter(P.value.node.parameters,P.value.node,P.value.parameter,e,`disabledOptions`)},!1),ee=re(async()=>{if(!P.value)return!0;let e=P.value.parameterPath.split(`.`).slice(1,-1).join(`.`);return await w.shouldDisplayNodeParameter(P.value.node.parameters,P.value.node,P.value.parameter,e,`displayOptions`)},!0),z=a(()=>{if(!D.isNdvInFocusPanelEnabled||P.value)return P.value?.node;let e=A.getSelectedNodes.value[0];return e?.data?.render.type===pn.Default?(g?.value?.allNodes??[]).find(t=>t.id===e.id):void 0}),te=a(()=>A.getSelectedNodes.value.length>1),ne=a(()=>{if(!z.value||!ee.value)return!1;let e=p.getForeignCredentialsIfSharingEnabled(z.value.credentials);return p.isNodeExecutable(z.value,!i.isCanvasReadOnly,e)}),{workflowRunData:B}=Yr({node:z}),V=a(()=>{if(!z.value)return!0;let e=g?.value?.getParentNodes(z.value.name,`main`,1)[0];return!!(e&&B.value&&Object.prototype.hasOwnProperty.bind(B.value)(e))});function H(e){return P.value?nt(P.value.parameter,e):void 0}let ie=a(()=>P.value?.node.parameters.mode),ae=a(()=>H(`editor`)??void 0),oe=a(()=>ae.value===`json`||P.value?.parameter.type===`json`?`json`:H(`editorLanguage`)??`javaScript`),se=a(()=>H(`rows`)),ce=a(()=>P.value?b.isToolNode(P.value?.node.type):!1),le=a(()=>!!P.value&&P.value.node.type===`n8n-nodes-base.html`),ue=a(()=>P.value&&it(P.value.parameter,P.value.value)),de=a(()=>ue.value?bt(P.value)?P.value.value:P.value:``),fe=a(()=>P.value?.node.type===$e),G=a(()=>i.isCanvasReadOnly||I.value),pe=a(()=>({$vars:E.variablesAsObject})),me=a(()=>{if(P.value)return{nodeName:P.value.node.name,parameterPath:P.value.parameterPath}}),he=a(()=>y.value.executingNode.isNodeExecuting(z.value?.name??``)),ge=a(()=>A.getSelectedNodes.value.map(e=>e.id)),_e=a(()=>D.isNdvInFocusPanelEnabled?f.baseText(`nodeView.focusPanel.v2.noParameters.title`):f.baseText(`nodeView.focusPanel.noParameters.title`)),be=a(()=>D.isNdvInFocusPanelEnabled?f.baseText(`nodeView.focusPanel.v2.noParameters.subtitle`):f.baseText(`nodeView.focusPanel.noParameters.subtitle`)),{resolvedExpression:xe}=ft({expression:de,additionalData:pe,stringifyObject:P.value&&P.value.parameter.type!==`multiOptions`});function Se(e){P.value!==void 0&&w.updateNodeParameter(c(P.value.node.parameters),{value:e,name:P.value.parameterPath},e,P.value.node,ce.value)}async function Ce(){await l(),d.value&&(Dr(d.value)?d.value.focusOnInput():xr(d.value)&&d.value.focus()),u(`focus`)}function we(e){if(P.value)switch(e){case`resetValue`:typeof P.value.parameter.default==`string`&&Se(P.value.parameter.default),Ce();break;case`addExpression`:{let e=Le(P.value.value,P.value.parameter.type);Se(typeof e==`string`?e:e.value),Ce();break}case`removeExpression`:{let e=Ze(P.value.value,xe.value,P.value.parameter.type,P.value.parameter.default,(P.value.parameter.options??[]).filter(vr));typeof e==`string`?Se(e):e&&typeof e.value==`string`&&Se(e.value),Ce();break}case`formatHtml`:Mn.emit(`format-html`);break}}function Te(){if((D.isNdvInFocusPanelEnabled||x.isFeatureEnabled)&&P.value){m.unsetParameters(),C.track(`User removed focused param`,{source:`closeIcon`,parameters:m.focusedNodeParametersInTelemetryFormat});return}C.track(`User closed focus panel`,{source:`closeIcon`,parameters:m.focusedNodeParametersInTelemetryFormat}),m.closeFocusPanel()}function Ee(){C.track(`User executed node from focus panel`,m.focusedNodeParametersInTelemetryFormat[0])}function De(e){F.value=e,Se(e)}function Oe(){setTimeout(()=>{Ce()},50)}M([()=>m.lastFocusTimestamp,()=>ue.value],()=>Oe()),M(()=>P.value,e=>{if(e){let t=e.value;typeof t==`string`&&t!==F.value&&(F.value=t)}},{immediate:!0});function K(){z.value&&O.value.setActiveNodeName(z.value.name,`focus_panel`)}function Ae(e){z.value&&j(z.value.name,e)}return(t,i)=>(S(),o(`div`,{"data-test-id":`focus-panel`,class:T([t.$style.content,{[t.$style.isNdvInFocusPanelEnabled]:r(D).isNdvInFocusPanelEnabled}])},[r(D).isNdvInFocusPanelEnabled&&z.value&&!te.value?(S(),v(ki,{key:0,node:z.value,parameter:P.value?.parameter,"is-executable":ne.value,"read-only":e.isCanvasReadOnly,onExecute:Ee,onOpenNdv:K,onClearParameter:Te,onRenameNode:Ae},null,8,[`node`,`parameter`,`is-executable`,`read-only`])):s(``,!0),P.value?(S(),o(`div`,{key:1,class:T(t.$style.content),"data-test-id":`focus-parameter`},[r(D).isNdvInFocusPanelEnabled?s(``,!0):(S(),o(`div`,{key:0,class:T(t.$style.tabHeader)},[W(`div`,{class:T(t.$style.tabHeaderText)},[L(r(J),{color:`text-dark`,size:`small`},{default:U(()=>[n(R(P.value.parameter.displayName),1)]),_:1}),L(r(J),{color:`text-base`,size:`xsmall`},{default:U(()=>[n(R(P.value.node.name),1)]),_:1})],2),W(`div`,{class:T(t.$style.buttonWrapper)},[L(Tr,{"data-test-id":`node-execute-button`,"node-name":P.value.node.name,tooltip:`Execute ${P.value.node.name}`,disabled:!ne.value,size:`small`,icon:`play`,square:!0,"hide-label":!0,"telemetry-source":`focus`,onExecute:Ee},null,8,[`node-name`,`tooltip`,`disabled`]),L(r(q),{class:T(t.$style.closeButton),icon:`x`,color:`text-base`,size:`xlarge`,onClick:Te},null,8,[`class`])],2)],2)),W(`div`,{class:T(t.$style.parameterDetailsWrapper)},[W(`div`,{class:T(t.$style.parameterOptionsWrapper)},[W(`div`,{class:T(t.$style.noExecutionDataTip)},[!V.value&&!he.value?(S(),v(r(Lt),{key:0,class:T(t.$style.delayedShow),bold:!0},{default:U(()=>[n(R(r(f).baseText(`nodeView.focusPanel.noExecutionData`)),1)]),_:1},8,[`class`])):s(``,!0)],2),r(ee)?(S(),v(Ue,{key:0,parameter:P.value.parameter,value:P.value.value,"is-read-only":G.value,"onUpdate:modelValue":we},null,8,[`parameter`,`value`,`is-read-only`])):s(``,!0)],2),typeof P.value.value==`string`?(S(),o(`div`,{key:0,class:T(t.$style.editorContainer)},[r(ee)?ue.value?(S(),v(_n,{key:1,ref_key:`inputField`,ref:d,modelValue:F.value,"onUpdate:modelValue":i[0]||=e=>F.value=e,class:T(t.$style.editor),"is-read-only":G.value,path:P.value.parameterPath,"data-test-id":`expression-modal-input`,"target-node-parameter-context":me.value,onChange:i[1]||=e=>De(e.value)},null,8,[`modelValue`,`class`,`is-read-only`,`path`,`target-node-parameter-context`])):[`json`,`string`].includes(P.value.parameter.type)?(S(),o(k,{key:2},[ae.value===`codeNodeEditor`?(S(),v(ke,{key:0,id:P.value.parameterPath,ref_key:`inputField`,ref:d,modelValue:F.value,"onUpdate:modelValue":[i[2]||=e=>F.value=e,De],class:T(t.$style.heightFull),mode:ie.value,"default-value":P.value.parameter.default,language:oe.value,"is-read-only":G.value,"target-node-parameter-context":me.value,"fill-parent":``},null,8,[`id`,`modelValue`,`class`,`mode`,`default-value`,`language`,`is-read-only`,`target-node-parameter-context`])):ae.value===`htmlEditor`?(S(),v(Bt,{key:1,ref_key:`inputField`,ref:d,modelValue:F.value,"onUpdate:modelValue":[i[3]||=e=>F.value=e,De],"is-read-only":G.value,rows:se.value,"disable-expression-coloring":!le.value,"disable-expression-completions":!le.value,fullscreen:``,"target-node-parameter-context":me.value},null,8,[`modelValue`,`is-read-only`,`rows`,`disable-expression-coloring`,`disable-expression-completions`,`target-node-parameter-context`])):ae.value===`cssEditor`?(S(),v($t,{key:2,ref_key:`inputField`,ref:d,modelValue:F.value,"onUpdate:modelValue":[i[4]||=e=>F.value=e,De],"is-read-only":G.value,rows:se.value,fullscreen:``,"target-node-parameter-context":me.value},null,8,[`modelValue`,`is-read-only`,`rows`,`target-node-parameter-context`])):ae.value===`sqlEditor`?(S(),v(ye,{key:3,ref_key:`inputField`,ref:d,modelValue:F.value,"onUpdate:modelValue":[i[5]||=e=>F.value=e,De],dialect:H(`sqlDialect`),"is-read-only":G.value,rows:se.value,fullscreen:``,"target-node-parameter-context":me.value},null,8,[`modelValue`,`dialect`,`is-read-only`,`rows`,`target-node-parameter-context`])):ae.value===`jsEditor`?(S(),v(ve,{key:4,ref_key:`inputField`,ref:d,modelValue:F.value,"onUpdate:modelValue":[i[6]||=e=>F.value=e,De],"is-read-only":G.value,rows:se.value,"posthog-capture":fe.value,"fill-parent":``},null,8,[`modelValue`,`is-read-only`,`rows`,`posthog-capture`])):P.value.parameter.type===`json`?(S(),v(un,{key:5,ref_key:`inputField`,ref:d,modelValue:F.value,"onUpdate:modelValue":[i[7]||=e=>F.value=e,De],"is-read-only":G.value,rows:se.value,fullscreen:``,"fill-parent":``},null,8,[`modelValue`,`is-read-only`,`rows`])):(S(),v(r(Ft),{key:6,ref_key:`inputField`,ref:d,modelValue:F.value,"onUpdate:modelValue":[i[8]||=e=>F.value=e,De],class:T(t.$style.editor),readonly:G.value,type:`textarea`,resize:`none`},null,8,[`modelValue`,`class`,`readonly`]))],64)):s(``,!0):(S(),o(`div`,{key:0,class:T([t.$style.content,t.$style.emptyContent])},[W(`div`,{class:T(t.$style.emptyText)},[L(r(J),{color:`text-base`},{default:U(()=>[n(R(r(f).baseText(`nodeView.focusPanel.missingParameter`)),1)]),_:1})],2)],2))],2)):s(``,!0)],2)],2)):z.value&&r(D).isNdvInFocusPanelEnabled?(S(),v(Oi,{key:2,node:z.value,"node-ids":ge.value,"is-read-only":G.value,onOpenNdv:K,onContextMenuAction:i[9]||=(e,t)=>u(`contextMenuAction`,e,t)},null,8,[`node`,`node-ids`,`is-read-only`])):(S(),o(`div`,{key:3,class:T([t.$style.content,t.$style.emptyContent])},[W(`div`,{class:T(t.$style.focusParameterWrapper)},[W(`div`,{class:T(t.$style.iconWrapper)},[L(r(q),{class:T(t.$style.forceHover),icon:`panel-right`,size:`medium`},null,8,[`class`]),L(r(q),{class:T(t.$style.pointerIcon),icon:`mouse-pointer`,color:`text-dark`,size:`large`},null,8,[`class`])],2),L(r(q),{icon:`ellipsis-vertical`,size:`small`,color:`text-base`}),L(r(Br),{size:`small`,"model-value":`expression`,disabled:!0,options:[{label:r(f).baseText(`parameterInput.fixed`),value:`fixed`},{label:r(f).baseText(`parameterInput.expression`),value:`expression`}]},null,8,[`options`])],2),W(`div`,{class:T(t.$style.emptyText)},[L(r(J),{color:`text-base`,size:`medium`,bold:!0},{default:U(()=>[n(R(_e.value),1)]),_:1}),L(r(J),{color:`text-base`,size:`small`},{default:U(()=>[n(R(be.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`}}]]),ji=V(jt.EVALUATIONS_WIZARD_SIDEPANEL,()=>{let e=zr(),t=a(()=>e.focusPanelActive&&e.selectedTab===`evaluations`),n=_(0),r=_([...ri]),i=_({}),o=_(``),s=_(!1),c=_(``),l=_(``),u=_({}),d=_({}),f=_([]),p=_([]),m=_([]),h=_(``),g=_(!0),v=_(`list`),y=_(null),b=_(null),x=_(null),S=_(null),C=_([]),w=_(!1),T=_(null),E=_(``),D=a(()=>s.value?l.value||``:o.value||``);function O(){n.value=0,r.value=[...ri],i.value={},o.value=``,s.value=!1,c.value=``,l.value=``,u.value={},d.value={},f.value=[],p.value=[],m.value=[],h.value=``,g.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){o.value=e}function ee(){s.value||(s.value=!0,!l.value&&o.value&&(l.value=o.value))}function R(){s.value=!1,c.value=``}function z(e,t){u.value={...u.value,[e]:t}}function te(e,t){d.value={...d.value,[e]:t}}function ne(){w.value=!0}function B(){w.value=!1}function V(e){let t=se();C.value=[...C.value,{...e,id:t}]}function H(e){C.value=C.value.filter(t=>t.id!==e)}function U(e,t){C.value=C.value.map(n=>n.id===e?{...n,...t}:n)}function re(e){T.value=e}function ie(e){E.value=e}function W(){v.value=`list`,x.value=null}function ae(){v.value=`create`,x.value=null}function oe(e){if(v.value=`detail`,y.value=e,e===null)b.value=null,h.value=``;else{x.value=null,b.value=null;let t=p.value[e],n=f.value[e];t&&(u.value={...t}),n&&(d.value={...n}),h.value=m.value[e]??``}}function ce(e){h.value=e}function le(e){g.value=e}function ue(e){x.value=e}function de(e){S.value=e}function fe(e,t){y.value=e,b.value=t}function G(e){let t={...e};for(let n of Object.keys(e))n in u.value&&(t[n]=u.value[n]);u.value=t}return{isOpen:t,activeStep:n,selectedMetricKeys:r,judgeSelectionByMetric:i,aiNodeName:o,isSliceMode:s,startNodeName:c,endNodeName:l,inputs:u,expectedValues:d,datasetExpectedByRow:f,datasetInputsByRow:p,datasetNamesByRow:m,caseName:h,prefillInputsFromExecution:g,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:ee,exitSliceMode:R,setInputValue:z,setExpectedValue:te,seedInputs:G,openCustomCheckModal:ne,closeCustomCheckModal:B,addCustomCheck:V,removeCustomCheck:H,updateCustomCheck:U,setActiveRunId:re,setLastWorkflowId:ie,openList:W,openCreate:ae,openDetail:oe,setCaseName:ce,setPrefillInputsFromExecution:le,setSeedExecution:ue,setPendingSeedExecution:de,setActiveRow:fe}});function Mi(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 Ni(e){let t=G(),n=$(),r=fn(),i=ji();return a(()=>{let a=n.value?.allNodes??[],o=a.filter(e=>r.isTriggerNode(e.type)),s=Bi(a),c=n.value?.connectionsBySourceNode??{},l=i.isSliceMode?i.startNodeName:i.aiNodeName,u=e=>Li(e,a,c,l),d=zi([i.seedExecution,t.value.activeExecution,t.value.lastSuccessfulExecution,h(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)?Hi(d,l,s):Ui(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]=at(f[e]);return u({fieldNames:p,values:m,hasExecution:!0})})}var Pi=`input`,Fi=`chatInput`,Ii=new Set([pr,kn]);function Li(e,t,n,r){if(e.fieldNames.length>0)return e;let i=Ri(t,n,r);return{...e,fieldNames:[i],values:{...e.values,[i]:``}}}function Ri(e,t,n){if(!n)return Pi;let r=[n,...Z(Nn(t),n,`main`)],i=new Map(e.map(e=>[e.name,e]));for(let e of r){let t=i.get(e);if(t&&Ii.has(t.type))return Fi}return Pi}function zi(e){for(let t of e)if(t&&t.mode!==`evaluation`)return t}function Bi(e){return new Map(e.filter(e=>e.type===sn).map(e=>[e.name,e.parameters?.source===`dataTable`]))}var Vi=[`row_id`,...zn];function Hi(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?[...Zt,...Vi]:Zt;return Object.fromEntries(Object.entries(r).filter(([e])=>!i.includes(e)))}function Ui(e,t,n,r=new Map){let i=Z(Nn(t),n,`main`,1),a=Mi(i,r)??i[0];if(a)return Hi(e,a,r)}function Wi(){let e=$();return a(()=>(e.value?.allNodes??[]).filter(e=>Qr(e.type)).map(e=>({name:e.name,type:e.type})))}var Gi=[Qt,br];function Ki(){let e=O(),t=$(),n=fn(),{runEntireWorkflow:r}=or({router:e}),i=a(()=>(t.value?.allNodes??[]).filter(e=>e.disabled!==!0&&n.isTriggerNode(e.type)).map(e=>({name:e.name,type:e.type}))),o=a(()=>i.value.some(e=>Gi.includes(e.type)));function s(e){if(Gi.includes(e.type)){jr.emit(`openChat`);return}r(`node`,e.name)}function c(){if(o.value){jr.emit(`openChat`);return}r(`main`)}return{runWorkflow:c,runTriggerNode:s,triggerNodes:i,hasChatTrigger:o}}function qi(){let e=$(),t=wt();return a(()=>{let n=e.value?.allNodes??[];for(let e of n){let n=Xr[e.type];if(!n)continue;let r=Ji(e.parameters?.model);if(!r)continue;let i=Yi(e.credentials);if(i&&t.allCredentials.some(e=>e.id===i))return{provider:n,model:r,credentialId:i}}return null})}function Ji(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 Yi(e){if(e){for(let t of Object.values(e))if(t?.id)return t.id}}var Xi=1e3;function Zi(){let e=ji(),t=Vr(),n=$(),r=We(),i=he(),a=Wi(),o=ct(),s=Q(),c=_(!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 kt(i.restApiContext,t);if(l())return;let r=Zr(e.name),o=n.find(e=>e.name===r)??n[n.length-1];if(!o)return;if(m(o),o.datasetSource===`data_table`)try{let e=await gt(i.restApiContext,o.datasetRef.dataTableId,a,{take:Xi});if(l())return;h(e.data)}catch(e){console.warn(`[evaluations wizard] failed to hydrate dataset rows`,e)}if(l())return;await p(t,l)}catch(e){l()||o.showError(e,s.baseText(`evaluations.wizardSidepanel.hydrate.error`))}finally{c.value=!1}}async function p(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 m(t){let n=[],r={},i=[];for(let e of t.metrics){let t=$i(e);if(t){n.push(t.key),t.judge&&(r[t.key]=t.judge);continue}let a=ea(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 h(t){let n=t.map(e=>Qi(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 Qi(e){let t={},n={},r=``,i=new Set(Object.values(ti).map(e=>e.name));for(let[a,o]of Object.entries(e)){if(a===`id`||a===`createdAt`||a===`updatedAt`)continue;let e=at(o);a===`caseName`?r=e:i.has(a)?n[a]=e:t[a]=e}return{inputs:t,expected:n,name:r}}function $i(e){if(e.type===`llm_judge`){let t=e.config.preset;if(t!==`correctness`&&t!==`helpfulness`)return;let n=Xr[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 ea(e){if(e.type===`expression`)return{name:e.name,expression:e.config.expression}}function ta(e){return e.mode!==`evaluation`&&typeof e.id==`string`}var na=20;function ra(){let e=Tt(),t=$();async function n(n){let r=t.value?.workflowId;if(!r)return;let i,a=0;for(let t=0;t<na;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(ta));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 ia(){let e=ji(),t=Tt(),n=$(),r=Ge(),{fetchLatestUserExecution:i}=ra();function a(t){e.inputs={},e.setPrefillInputsFromExecution(!0),e.setSeedExecution(t);let i=e.answerNodeName,a=t.data?.resultData?.runData,o=i&&a?yn(Hi(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 aa=[`data-test-id`,`aria-expanded`],oa=[`data-test-id`],sa=X(p({__name:`ExecutionRow`,props:{execution:{},alt:{type:Boolean}},emits:[`create`],setup(e,{emit:t}){let i=e,c=t,l=Q(),u=$(),d=fn(),f=Tt(),p=ji(),m=_(!1),h=_(!1),g=_(null),y=a(()=>i.execution.mode===`manual`),b=a(()=>{let e=i.execution.startedAt;return e?_t(e,{withSeconds:!0}):i.execution.id});async function x(){if(m.value=!m.value,m.value&&!g.value&&!h.value){h.value=!0;try{g.value=await f.fetchExecution(i.execution.id)??null}catch(e){console.warn(`[ExecutionRow] failed to load execution`,e)}finally{h.value=!1}}}let C=a(()=>{let e=g.value?.data?.resultData?.runData,t=p.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=Bi(n);return{input:i?Hi(e,t,a):Ui(e,r,t,a),output:Hi(e,t)}});function E(e){return e?Object.entries(e).map(([e,t])=>({name:e,value:at(t)})):[]}let D=a(()=>E(C.value.input)),O=a(()=>E(C.value.output));return(t,a)=>(S(),o(`div`,{class:T([t.$style.row,i.alt?t.$style.alt:null])},[W(`div`,{class:T(t.$style.header)},[W(`button`,{type:`button`,class:T(t.$style.chevron),"data-test-id":`tests-execution-toggle-${e.execution.id}`,"aria-expanded":m.value,onClick:x},[L(r(q),{icon:m.value?`chevron-down`:`chevron-right`,size:`small`,color:`text-base`},null,8,[`icon`])],10,aa),L(r(J),{size:`small`,color:`text-dark`,class:T(t.$style.date)},{default:U(()=>[n(R(b.value),1)]),_:1},8,[`class`]),y.value?(S(),v(r(q),{key:0,icon:`flask-conical`,size:`small`,color:`text-light`,title:r(l).baseText(`evaluations.tests.executions.manualBadge`),"data-test-id":`tests-execution-manual-${e.execution.id}`},null,8,[`title`,`data-test-id`])):s(``,!0),W(`span`,{class:T(t.$style.spacer)},null,2),L(r(Ne),{size:`mini`,class:T([t.$style.createButton,m.value?t.$style.createButtonVisible:null]),"data-test-id":`tests-execution-create-${e.execution.id}`,onClick:a[0]||=e=>c(`create`)},{default:U(()=>[n(R(r(l).baseText(`evaluations.tests.executions.createCase`)),1)]),_:1},8,[`class`,`data-test-id`])],2),m.value?(S(),o(`div`,{key:0,class:T(t.$style.detail),"data-test-id":`tests-execution-detail-${e.execution.id}`},[h.value?(S(),o(`div`,{key:0,class:T(t.$style.loading)},[L(r(q),{icon:`spinner`,size:`small`,spin:!0})],2)):(S(),o(k,{key:1},[D.value.length>0?(S(),o(`div`,{key:0,class:T(t.$style.group)},[L(r(J),{size:`xsmall`,bold:``,color:`text-light`,class:T(t.$style.groupLabel)},{default:U(()=>[n(R(r(l).baseText(`evaluations.tests.executions.input`)),1)]),_:1},8,[`class`]),(S(!0),o(k,null,w(D.value,e=>(S(),o(`div`,{key:`in-${e.name}`,class:T(t.$style.field)},[L(r(J),{size:`xsmall`,color:`text-light`},{default:U(()=>[n(R(e.name),1)]),_:2},1024),L(r(J),{size:`xsmall`,color:`text-dark`,class:T(t.$style.value)},{default:U(()=>[n(R(e.value),1)]),_:2},1032,[`class`])],2))),128))],2)):s(``,!0),O.value.length>0?(S(),o(`div`,{key:1,class:T(t.$style.group)},[L(r(J),{size:`xsmall`,bold:``,color:`text-light`,class:T(t.$style.groupLabel)},{default:U(()=>[n(R(r(l).baseText(`evaluations.tests.executions.output`)),1)]),_:1},8,[`class`]),(S(!0),o(k,null,w(O.value,e=>(S(),o(`div`,{key:`out-${e.name}`,class:T(t.$style.field)},[L(r(J),{size:`xsmall`,color:`text-light`},{default:U(()=>[n(R(e.name),1)]),_:2},1024),L(r(J),{size:`xsmall`,color:`text-dark`,class:T(t.$style.value)},{default:U(()=>[n(R(e.value),1)]),_:2},1032,[`class`])],2))),128))],2)):s(``,!0)],64))],10,oa)):s(``,!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`}}]]),ca={key:0,"data-test-id":`tests-list-executions`},la=20,ua=X(p({__name:`TestCaseList`,setup(e){let t=Q(),i=ji(),a=ct(),{createFromExecutionId:s,createManualCase:c}=ia(),{fetchUserExecutionCandidates:l}=ra(),u=_([]);async function f(){try{u.value=await l(la)}catch(e){console.warn(`[TestCaseList] failed to load execution candidates`,e)}}d(()=>{f()});async function p(e){try{await s(e.id)}catch(e){a.showError(e,t.baseText(`evaluations.tests.seedFromExecution.error`))}}async function m(){try{await c()}catch(e){a.showError(e,t.baseText(`evaluations.tests.seedFromExecution.error`))}}return(e,a)=>(S(),o(`div`,{class:T(e.$style.container),"data-test-id":`tests-list`},[W(`div`,{class:T(e.$style.breadcrumb)},[W(`button`,{type:`button`,class:T(e.$style.breadcrumbRoot),"data-test-id":`tests-list-breadcrumb-root`,onClick:a[0]||=e=>r(i).openList()},[L(r(J),{size:`small`,color:`text-base`},{default:U(()=>[n(R(r(t).baseText(`setupPanel.tabs.evaluations`)),1)]),_:1})],2),L(r(J),{size:`small`,color:`text-light`},{default:U(()=>[...a[1]||=[n(`/`,-1)]]),_:1}),L(r(J),{size:`small`,color:`text-dark`,bold:``},{default:U(()=>[n(R(r(t).baseText(`evaluations.tests.newCase.title`)),1)]),_:1})],2),W(`div`,{class:T(e.$style.controls)},[L(r(J),{size:`small`,color:`text-dark`},{default:U(()=>[n(R(r(t).baseText(`evaluations.tests.chooseExecution`)),1)]),_:1})],2),u.value.length>0?(S(),o(`div`,ca,[(S(!0),o(k,null,w(u.value,(e,t)=>(S(),v(sa,{key:e.id,execution:e,alt:t%2==0,onCreate:t=>p(e)},null,8,[`execution`,`alt`,`onCreate`]))),128))])):(S(),o(`div`,{key:1,class:T(e.$style.empty)},[L(r(J),{size:`small`,color:`text-light`},{default:U(()=>[n(R(r(t).baseText(`evaluations.tests.executions.empty`)),1)]),_:1})],2)),W(`div`,{class:T(e.$style.manual)},[L(r(J),{size:`small`,color:`text-light`},{default:U(()=>[n(R(r(t).baseText(`evaluations.tests.createManually.hint`)),1)]),_:1}),L(r(Ne),{variant:`outline`,size:`xsmall`,"data-test-id":`tests-list-create-manual`,onClick:m},{default:U(()=>[n(R(r(t).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`}}]]),da={};for(let[e,t]of Object.entries(Xr))da[t]=e;function fa(e){let t=[];for(let n of e.selectedMetrics){let r=ai.find(e=>e.key===n);if(!r)continue;let i=ma(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=ha(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:Zr(e.workflowName),startNodeName:e.startNodeName,endNodeName:e.endNodeName,metrics:t,datasetSource:`data_table`,datasetRef:{dataTableId:e.dataTableId}}}}function pa(e){return e.replace(/\\/g,`\\\\`).replace(/'/g,`\\'`)}function ma(e,t,n){let r=se(),i=pa(n.upstreamNodeName),a=pa(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($r.has(e)){let i=n.judgeSelectionByMetric[e];if(!i)return{kind:`err`,reason:`Missing model selection for ${t}`};let a=da[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 ha(e){return{kind:`ok`,metric:{id:se(),name:e.name,type:`expression`,config:{expression:ga(e.expression),outputType:`numeric`}}}}function ga(e){let t=e.trim();return t.length===0||t.startsWith(`=`)?t:t.startsWith(`{{`)?`=${t}`:`={{ ${t} }}`}function _a(){let e=ji(),t=$(),n=fn(),r=he(),i=ct(),a=Q();async function o(e,t){let n=(await kt(r.restApiContext,e)).find(e=>e.name===t.name);if(!n)return{created:!0,id:(await vn(r.restApiContext,e,t)).id};let i=s(n);return{created:!1,id:(await Se(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 De(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 At(r.restApiContext,o.id,t,e);a.push(n.id)}return{id:o.id,created:!1,addedColumnIds:a}}return{id:(await Ce(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 Ir(r.restApiContext,t,n.createdConfigId)}catch(e){i(`delete config`,e)}else if(n.priorConfigSnapshot)try{await Se(r.restApiContext,t,n.priorConfigSnapshot.id,n.priorConfigSnapshot.payload)}catch(e){i(`restore prior config`,e)}let a=!1;if(n.createdTableId)try{await Pr(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 K(r.restApiContext,t.tableId,[t.rowId],e)}catch(e){i(`delete data table row`,e)}else if(t.kind===`update`)try{await pe(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 Mt(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=Nn(i),s=new Set(a.filter(e=>e.type===sn).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,...Z(o,t,`main`)],c,l;for(let e of i){if(r.has(e))continue;let t=Mi(Z(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=Z(o,c,`main`,1),d=Mi(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 va(e){if(typeof e==`number`)return e;if(typeof e==`string`&&/^\d+$/.test(e))return Number(e)}function ya(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 ba(e){let t={};for(let[n,r]of Object.entries(e))n===`id`||n===`createdAt`||n===`updatedAt`||(t[n]=r);return t}var xa=Promise.resolve();function Sa(){let e=ji(),t=$(),n=he(),r=ct(),i=Q(),a=Ge(),o=Ni(),s=Vr(),{ensureConfig:c,ensureDataTable:l,rollback:u,resolveSlice:d,showPersistError:f}=_a(),p=_(!1),m=0;async function h(e){m+=1,p.value=!0;let t=xa.then(e),n=t.then(()=>void 0,()=>void 0);return xa=n,n.then(()=>{--m,m===0&&(p.value=!1)}),await t}async function g(){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=oi(e.selectedMetricKeys),m=ya([...f,...p.map(e=>e.name),ni]),h=fa({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=Zr(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[ni]=e.caseName??``;let u;if(C){let e=(await gt(n.restApiContext,t.id,i,{take:1})).count,r=va((await Xn(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 gt(n.restApiContext,t.id,i,{skip:r,take:1}),s=e.activeRowId??va(a.data[0]?.id)??null;if(s===null)throw Error(`Could not resolve row id for index ${r}`);let c=ba(a.data[0]??{});b={kind:`update`,tableId:t.id,rowId:s,priorData:c},await pe(n.restApiContext,t.id,s,o,i),u=r}let d=fa({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 g();return t.ok?!0:(e?.silent||f(t.error),!1)}async function y(n=`initial`){let o=await g();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=oi(e.selectedMetricKeys),m=ya([...u,...p.map(e=>e.name),ni]),h=Zr(r.name);try{let t=await l(h,i,m),o=fa({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 kt(n.restApiContext,c),t=Zr(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 kt(n.restApiContext,o),c=Zr(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=va((await gt(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 K(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 h(async()=>await v(e))}async function w(e=`initial`){return await h(async()=>await y(e))}async function T(e){return await h(async()=>await b(e))}async function E(){return await h(async()=>await x())}async function D(){return await h(async()=>await S())}return{persistAndRunCase:w,saveCase:C,runAll:E,saveConfig:T,deleteCase:D,isPersisting:p}}var Ca=[`data-test-id`],wa=[`data-test-id`],Ta=[`data-test-id`],Ea=[`data-test-id`],Da=X(p({__name:`TestCaseRunResult`,props:{index:{},runId:{default:null},expanded:{type:Boolean,default:!1},separated:{type:Boolean,default:!1}},setup(e){let t=[`success`,`error`,`warning`,`cancelled`],i={promptTokens:`evaluations.tests.results.metric.promptTokens`,completionTokens:`evaluations.tests.results.metric.completionTokens`,totalTokens:`evaluations.tests.results.metric.totalTokens`,executionTime:`evaluations.tests.results.metric.executionTime`},c=e,l=Q(),u=ji(),d=Vr(),f=Tt(),p=$(),m=a(()=>{let e=p.value?.workflowId;return e?[...d.testRunsByWorkflowId[e]??[]].sort((e,t)=>new Date(e.createdAt).getTime()-new Date(t.createdAt).getTime()):[]}),h=a(()=>c.runId===null?m.value[m.value.length-1]:m.value.find(e=>e.id===c.runId)),g=a(()=>{let e=h.value?.id;return e?m.value.findIndex(t=>t.id===e)+1:0}),y=a(()=>{let e=h.value;return e?_t(e.runAt??e.createdAt):``}),b=a(()=>{let e=h.value?.id;if(e)return Object.values(d.testCaseExecutionsById??{}).find(t=>t.testRunId===e&&(t.runIndex??0)===c.index)}),x=a(()=>{let e=h.value;if(!e||![`new`,`running`].includes(e.status))return!1;let n=b.value?.status;return!n||!t.includes(n)}),C=a(()=>!!(b.value&&t.includes(b.value.status))&&!x.value),E=a(()=>b.value?.status===`success`),D=a(()=>C.value&&!E.value),O=a(()=>{let e=b.value?.metrics;return e?xt(e).map(t=>{let n=e[t],r=ai.find(e=>e.key===t),i=r?l.baseText(ii(r)):t,a=qn(t);return a===`aiBased`?{key:t,label:i,text:je(n,{category:a}),passed:n>=3}:{key:t,label:i,text:Pt(n,{category:a}),passed:Vn(n)}}):[]}),A=a(()=>dt(b.value?.metrics).map(({key:e,value:t})=>({key:e,label:i[e]?l.baseText(i[e]):e,text:e===`executionTime`?we(t):Qn(t,{withUnit:!1})}))),j=a(()=>u.answerNodeName),N=_(null);async function P(e){try{N.value=await f.fetchExecution(e)??null}catch(e){console.warn(`[TestCaseRunResult] failed to load case execution`,e)}}M([()=>c.expanded,D,()=>b.value?.executionId],([e,t,n])=>{!n||!e&&!t||N.value?.id!==n&&P(n)},{immediate:!0});let F=a(()=>Rr(N.value,j.value,b.value?.outputs)),I=a(()=>{if(!D.value)return``;let e=N.value?.data?.resultData?.error?.message;if(e)return e;let t=ei(b.value?.errorCode);return t&&l.exists(t)?l.baseText(t,{interpolate:{link:``}}).trim():l.baseText(`evaluations.tests.results.runFailed`)});return(t,i)=>x.value?(S(),o(`div`,{key:0,class:T([t.$style.runSection,{[t.$style.separated]:e.separated}]),"data-test-id":`tests-result-running-${e.index}`},[W(`div`,{class:T(t.$style.runLine)},[L(r(q),{icon:`spinner`,size:`small`,spin:!0,color:`text-light`}),L(r(J),{size:`small`,color:`text-light`},{default:U(()=>[n(R(r(l).baseText(`evaluations.tests.results.running`)),1)]),_:1})],2)],10,Ca)):C.value?(S(),o(`div`,{key:1,class:T([t.$style.runSection,{[t.$style.separated]:e.separated}]),"data-test-id":`tests-result-result-${e.index}`},[W(`div`,{class:T(t.$style.runLine)},[L(r(q),{icon:E.value?`check`:`x`,size:`small`,color:E.value?`success`:`danger`},null,8,[`icon`,`color`]),L(r(J),{size:`small`,color:E.value?`success`:`danger`},{default:U(()=>[n(R(r(l).baseText(`evaluations.tests.results.runLabel`,{interpolate:{number:String(g.value),date:y.value}})),1)]),_:1},8,[`color`])],2),D.value&&I.value?(S(),v(r(J),{key:0,size:`small`,color:`danger`,class:T(t.$style.failureReason),"data-test-id":`tests-result-error-${e.index}`},{default:U(()=>[n(R(I.value),1)]),_:1},8,[`class`,`data-test-id`])):s(``,!0),e.expanded?(S(),v(r(J),{key:1,size:`small`,color:`text-light`},{default:U(()=>[n(R(r(l).baseText(`evaluations.tests.detail.output`)),1)]),_:1})):s(``,!0),W(`div`,{class:T(t.$style.badges)},[(S(!0),o(k,null,w(O.value,r=>(S(),o(`span`,{key:r.key,class:T([t.$style.badge,r.passed?t.$style.badgePass:t.$style.badgeFail]),"data-test-id":`tests-result-badge-${e.index}-${r.key}`},[n(R(r.label)+` `,1),W(`strong`,null,R(r.text),1)],10,Ta))),128))],2),e.expanded&&F.value?(S(),v(r(J),{key:2,size:`small`,color:`text-dark`,class:T(t.$style.output)},{default:U(()=>[n(R(F.value),1)]),_:1},8,[`class`])):s(``,!0),e.expanded&&A.value.length>0?(S(),o(`div`,{key:3,class:T(t.$style.operational),"data-test-id":`tests-result-operational-${e.index}`},[(S(!0),o(k,null,w(A.value,e=>(S(),v(r(J),{key:e.key,size:`xsmall`,color:`text-light`},{default:U(()=>[n(R(e.label)+` `+R(e.text),1)]),_:2},1024))),128))],10,Ea)):s(``,!0)],10,wa)):s(``,!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`}}]]),Oa=[`data-test-id`],ka=[`data-test-id`],Aa=[`data-test-id`,`onClick`],ja=[`data-test-id`],Ma=X(p({__name:`TestCaseDetail`,setup(e){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`},c=ji(),l=Vr(),u=$(),d=Q(),f=$n(),{selectedMetricKeys:p,customChecks:m,activeRowIndex:h,activeRunId:g,expectedValues:y,inputs:b,aiNodeName:x,caseName:C}=P(c),{persistAndRunCase:E,saveCase:D,deleteCase:O,isPersisting:A}=Sa(),j=Ni(),N=_(!1),F=t(async()=>{N.value&&await D({silent:!0})&&(N.value=!1)},Cr(Ot.API.AUTOSAVE));function I(e,t){c.setInputValue(e,t),N.value=!0,F()}function ee(e,t){c.setExpectedValue(e,t),N.value=!0,F()}function z(e){c.setCaseName(e),N.value=!0,F()}let te=a(()=>c.datasetInputsByRow.length>0||g.value!==null),ne=a(()=>{let e=j.value.fieldNames[0];return(e?b.value[e]:``)||d.baseText(`evaluations.tests.newCase.title`)}),B=a(()=>[{id:`delete`,label:d.baseText(`evaluations.tests.detail.delete`),disabled:h.value===null}]);function V(e){e===`delete`&&ae()}async function H(){await re(),c.openList()}async function re(){N.value&&(N.value=!1,await D({silent:!0}))}async function ie(){await re(),c.openCreate()}async function ae(){await f.confirm(d.baseText(`evaluations.tests.detail.delete.confirm.message`),d.baseText(`evaluations.tests.detail.delete.confirm.title`),{confirmButtonText:d.baseText(`generic.delete`),cancelButtonText:d.baseText(`generic.cancel`)})===`confirm`&&(N.value=!1,await O()&&c.openList())}let oe=a(()=>ai.filter(e=>p.value.includes(e.key)));function se(e){return d.baseText(i[e])}function ce(e){return ti[e]}let le=a(()=>{let e=x.value;return e?Z(Nn(u.value?.connectionsBySourceNode??{}),e,Me.AiTool,1):[]}),ue=a(()=>new Set((y.value.expectedTools??``).split(`,`).map(e=>e.trim()).filter(Boolean)));function de(e){let t=new Set(ue.value);t.has(e)?t.delete(e):t.add(e),ee(`expectedTools`,Array.from(t).join(`, `))}let fe=_(!0),G=_(!0),pe=a(()=>g.value),me=a(()=>{let e=pe.value,t=h.value;return e===null||t===null?!1:Object.values(l.testCaseExecutionsById??{}).some(n=>n.testRunId===e&&(n.runIndex??0)===t)}),he=a(()=>{let e=pe.value;if(e===null)return!1;let t=l.testRunsById[e]?.status;return!!t&&![`new`,`running`].includes(t)}),ge=_(!1);M([me,he],([e,t])=>{(e||t)&&(ge.value=!1)});let _e=a(()=>h.value!==null&&(me.value||ge.value)),ve=a(()=>h.value);async function ye(){ge.value=!0,await E(g.value?`run_again`:`initial`)?(fe.value=!1,G.value=!0):ge.value=!1}return(e,t)=>(S(),o(`div`,{class:T(e.$style.detail)},[W(`header`,{class:T(e.$style.header)},[W(`div`,{class:T(e.$style.breadcrumb)},[W(`button`,{type:`button`,class:T(e.$style.breadcrumbRoot),"data-test-id":`tests-detail-breadcrumb-root`,onClick:H},[L(r(J),{size:`small`,color:`text-base`},{default:U(()=>[n(R(r(d).baseText(`setupPanel.tabs.evaluations`)),1)]),_:1})],2),L(r(J),{size:`small`,color:`text-light`},{default:U(()=>[...t[2]||=[n(`/`,-1)]]),_:1}),L(r(Jt),{"model-value":r(C),placeholder:ne.value,"max-width":`100%`,class:T(e.$style.caseName),"data-test-id":`tests-detail-name`,"onUpdate:modelValue":z},null,8,[`model-value`,`placeholder`,`class`])],2),L(r(Oe),{items:B.value,"activator-icon":`ellipsis-vertical`,"activator-size":`small`,"data-test-id":`tests-detail-menu`,onSelect:V},null,8,[`items`]),te.value?(S(),v(r(Ne),{key:0,variant:`outline`,size:`xsmall`,"data-test-id":`tests-detail-create-case`,onClick:ie},{default:U(()=>[n(R(r(d).baseText(`evaluations.tests.results.createCase`)),1)]),_:1})):s(``,!0),L(r(Ne),{variant:`solid`,size:`xsmall`,loading:r(A),"data-test-id":`tests-detail-run`,onClick:ye},{default:U(()=>[n(R(r(d).baseText(`evaluations.tests.detail.run`)),1)]),_:1},8,[`loading`])],2),W(`div`,{class:T(e.$style.body)},[L(r(An),{modelValue:fe.value,"onUpdate:modelValue":t[0]||=e=>fe.value=e,title:r(d).baseText(`evaluations.tests.detail.config`)},{default:U(()=>[W(`div`,{class:T(e.$style.paneContent),"data-test-id":`tests-detail-config`},[W(`div`,{class:T(e.$style.block)},[W(`div`,{class:T(e.$style.sentence)},[L(r(J),{size:`small`,color:`text-dark`},{default:U(()=>[n(R(r(d).baseText(`evaluations.tests.detail.when`)),1)]),_:1}),L(r(J),{size:`small`,color:`text-dark`,bold:``,"data-test-id":`tests-detail-ai-node`},{default:U(()=>[n(R(r(x)),1)]),_:1}),L(r(J),{size:`small`,color:`text-dark`},{default:U(()=>[n(R(r(d).baseText(`evaluations.tests.detail.receivesInput`)),1)]),_:1})],2),W(`div`,{class:T(e.$style.indented)},[(S(!0),o(k,null,w(r(j).fieldNames,t=>(S(),o(`div`,{key:`input-${t}`,class:T(e.$style.field),"data-test-id":`tests-detail-input-${t}`},[L(r(J),{size:`small`,color:`text-dark`},{default:U(()=>[n(R(t),1)]),_:2},1024),L(r(Ft),{"model-value":r(b)[t]??``,type:`textarea`,rows:2,size:`small`,"onUpdate:modelValue":e=>I(t,e)},null,8,[`model-value`,`onUpdate:modelValue`])],10,Oa))),128))],2)],2),W(`div`,{class:T(e.$style.block)},[L(r(J),{size:`small`,color:`text-dark`,bold:``},{default:U(()=>[n(R(r(d).baseText(`evaluations.tests.detail.output`)),1)]),_:1}),W(`div`,{class:T(e.$style.indented)},[(S(!0),o(k,null,w(oe.value,t=>(S(),o(`div`,{key:t.key,class:T(e.$style.metric),"data-test-id":`tests-detail-metric-${t.key}`},[L(r(J),{size:`small`,color:`text-dark`},{default:U(()=>[n(R(se(t.key)),1)]),_:2},1024),t.key===`toolsUsed`?(S(),o(`div`,{key:0,class:T(e.$style.tools)},[(S(!0),o(k,null,w(le.value,t=>(S(),o(`button`,{key:t,type:`button`,class:T(e.$style.toolItem),"data-test-id":`tests-detail-tool-${t}`,onClick:e=>de(t)},[W(`span`,{class:T([e.$style.box,ue.value.has(t)?e.$style.boxChecked:null])},[ue.value.has(t)?(S(),v(r(q),{key:0,icon:`check`,size:`xsmall`})):s(``,!0)],2),L(r(J),{size:`small`,color:`text-dark`},{default:U(()=>[n(R(t),1)]),_:2},1024)],10,Aa))),128)),le.value.length===0?(S(),v(r(J),{key:0,size:`small`,color:`text-light`},{default:U(()=>[n(R(r(d).baseText(`evaluations.tests.detail.tools.empty`)),1)]),_:1})):s(``,!0)],2)):ce(t.key)?(S(),v(r(Ft),{key:1,"model-value":r(y)[ce(t.key).name]??``,type:`textarea`,rows:3,size:`small`,"data-test-id":`tests-detail-expected-${ce(t.key).name}`,"onUpdate:modelValue":e=>ee(ce(t.key).name,e)},null,8,[`model-value`,`data-test-id`,`onUpdate:modelValue`])):s(``,!0)],10,ka))),128)),(S(!0),o(k,null,w(r(m),t=>(S(),o(`div`,{key:t.id,class:T(e.$style.metric),"data-test-id":`tests-detail-custom-${t.id}`},[L(r(J),{size:`small`,color:`text-dark`},{default:U(()=>[n(R(r(d).baseText(`evaluations.tests.metric.custom.sentence`)),1)]),_:1}),L(r(J),{size:`small`,color:`text-dark`,class:T(e.$style.expression),"data-test-id":`tests-detail-custom-expression-${t.id}`},{default:U(()=>[n(R(t.expression),1)]),_:2},1032,[`class`,`data-test-id`])],10,ja))),128))],2)],2)],2)]),_:1},8,[`modelValue`,`title`]),_e.value&&ve.value!==null?(S(),v(r(An),{key:0,modelValue:G.value,"onUpdate:modelValue":t[1]||=e=>G.value=e,title:r(d).baseText(`evaluations.tests.detail.latestRun`)},{default:U(()=>[W(`div`,{class:T(e.$style.paneContent),"data-test-id":`tests-detail-results`},[L(Da,{index:ve.value,"run-id":pe.value,expanded:G.value},null,8,[`index`,`run-id`,`expanded`])],2)]),_:1},8,[`modelValue`,`title`])):s(``,!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`}}]]),Na=[`data-test-id`],Pa=X(p({__name:`SuiteConfig`,setup(e){let i=[`correctness`,`stringSimilarity`,`toolsUsed`],s=Q(),c=ji(),l=Wi(),{saveConfig:u}=Sa(),{aiNodeName:d,selectedMetricKeys:f,customChecks:p,judgeSelectionByMetric:m}=P(c),h=a(()=>ai.filter(e=>f.value.includes(e.key))),g=a(()=>{let e=i.filter(e=>!f.value.includes(e)).map(e=>{let t=ai.find(t=>t.key===e);return{id:e,label:t?s.baseText(ii(t)):e}});return e.push({id:`custom`,label:s.baseText(`evaluations.tests.detail.addMetric.custom`)}),e});function _(e){if(e===`custom`){c.addCustomCheck({name:`Custom ${p.value.length+1}`,expression:``});return}c.toggleMetric(e)}function y(e){f.value.includes(e)&&c.toggleMetric(e)}function b(e){c.setAiNodeName(e),c.exitSliceMode()}let x=t(()=>{u({silent:!0})},Cr(Ot.API.AUTOSAVE));return M([d,f,p,m],()=>{x()},{deep:!0}),(e,t)=>(S(),o(`section`,{class:T(e.$style.config),"data-test-id":`tests-suite-config`},[W(`div`,{class:T(e.$style.sentence)},[L(r(J),{size:`small`,color:`text-dark`},{default:U(()=>[n(R(r(s).baseText(`evaluations.tests.detail.when`)),1)]),_:1}),L(r(Un),{"model-value":r(d),size:`small`,filterable:``,placeholder:r(s).baseText(`evaluations.tests.chooseAiNode.placeholder`),class:T(e.$style.nodeSelect),"data-test-id":`tests-suite-config-ai-node-select`,"onUpdate:modelValue":b},{default:U(()=>[(S(!0),o(k,null,w(r(l),e=>(S(),v(r(Sr),{key:e.name,label:e.name,value:e.name},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`class`]),L(r(J),{size:`small`,color:`text-dark`},{default:U(()=>[n(R(r(s).baseText(`evaluations.tests.suite.receivesInput`)),1)]),_:1})],2),W(`div`,{class:T(e.$style.checks)},[(S(!0),o(k,null,w(h.value,e=>(S(),v(r(Ne),{key:e.key,variant:`subtle`,size:`small`,icon:`x`,"aria-label":r(s).baseText(`evaluations.tests.detail.removeMetric`),"data-test-id":`tests-suite-config-metric-${e.key}`,onClick:t=>y(e.key)},{default:U(()=>[n(R(r(s).baseText(r(ii)(e))),1)]),_:2},1032,[`aria-label`,`data-test-id`,`onClick`]))),128)),(S(!0),o(k,null,w(r(p),t=>(S(),o(`div`,{key:t.id,class:T(e.$style.customRow),"data-test-id":`tests-suite-config-custom-${t.id}`},[L(r(Ft),{"model-value":t.expression,type:`text`,size:`small`,class:T(e.$style.expressionInput),placeholder:r(s).baseText(`evaluations.tests.metric.custom.placeholder`),"onUpdate:modelValue":e=>r(c).updateCustomCheck(t.id,{expression:e})},null,8,[`model-value`,`class`,`placeholder`,`onUpdate:modelValue`]),L(r(Ne),{variant:`ghost`,size:`small`,"icon-only":``,icon:`x`,"aria-label":r(s).baseText(`evaluations.tests.detail.removeMetric`),"data-test-id":`tests-suite-config-custom-remove-${t.id}`,onClick:e=>r(c).removeCustomCheck(t.id)},null,8,[`aria-label`,`data-test-id`,`onClick`])],10,Na))),128)),L(r(Oe),{items:g.value,placement:`bottom-start`,"data-test-id":`tests-suite-config-add-metric`,onSelect:_},{activator:U(()=>[L(r(Ne),{variant:`ghost`,size:`small`,icon:`plus`},{default:U(()=>[n(R(r(s).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`}}]]),Fa=[`data-test-id`],Ia=[`data-test-id`],La=[`aria-expanded`,`data-test-id`],Ra=X(p({__name:`TestCaseResultCard`,props:{index:{}},setup(e){let t=e,i=Q(),c=ji(),l=_(!1),u=a(()=>c.datasetNamesByRow[t.index]||i.baseText(`evaluations.tests.list.caseLabel`,{interpolate:{index:t.index+1}})),d=a(()=>{let e=c.datasetInputsByRow[t.index]??{};return Object.entries(e).map(([e,t])=>({name:e,value:String(t)}))});function f(){l.value=!l.value}function p(){c.openDetail(t.index)}return(t,a)=>(S(),o(`div`,{class:T(t.$style.card),"data-test-id":`tests-result-card-${e.index}`},[W(`div`,{class:T(t.$style.header)},[W(`button`,{type:`button`,class:T(t.$style.title),"data-test-id":`tests-result-edit-${e.index}`,onClick:p},[L(r(J),{size:`medium`,color:`text-dark`,bold:``},{default:U(()=>[n(R(u.value),1)]),_:1})],10,Ia),W(`button`,{type:`button`,class:T(t.$style.chevron),"aria-expanded":l.value,"data-test-id":`tests-result-toggle-${e.index}`,onClick:f},[L(r(q),{icon:l.value?`chevron-up`:`chevron-down`,size:`small`,color:`text-base`},null,8,[`icon`])],10,La)],2),l.value?(S(),o(`div`,{key:0,class:T(t.$style.definition)},[W(`div`,{class:T(t.$style.sentence)},[L(r(J),{size:`small`,color:`text-light`},{default:U(()=>[n(R(r(i).baseText(`evaluations.tests.detail.when`)),1)]),_:1}),L(r(J),{size:`small`,color:`text-dark`,bold:``},{default:U(()=>[n(R(r(c).aiNodeName),1)]),_:1}),L(r(J),{size:`small`,color:`text-light`},{default:U(()=>[n(R(r(i).baseText(`evaluations.tests.detail.receivesInput`)),1)]),_:1})],2),W(`div`,{class:T(t.$style.entries)},[(S(!0),o(k,null,w(d.value,e=>(S(),o(`p`,{key:e.name,class:T(t.$style.entry)},[L(r(J),{size:`small`,color:`text-light`},{default:U(()=>[n(R(e.name),1)]),_:2},1024),L(r(J),{size:`small`,color:`text-dark`},{default:U(()=>[n(R(e.value),1)]),_:2},1024)],2))),128))],2)],2)):s(``,!0),L(Da,{index:e.index,expanded:l.value,separated:``},null,8,[`index`,`expanded`])],10,Fa))}}),[[`__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`}}]]),za=X(p({__name:`TestCaseResults`,setup(e){let t=Q(),i=ji(),s=Vr(),c=$(),l=ct(),{runAll:u,isPersisting:f}=Sa(),{hydrate:p}=Zi(),{datasetInputsByRow:m}=P(i),h=a(()=>m.value.length>0);async function g(){let e=c.value?.workflowId;if(e)try{await s.fetchTestRuns(e);let t=[...s.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 s.fetchTestCaseExecutions({workflowId:e,runId:n.id})}catch(e){console.warn(`[TestCaseResults] failed to load results`,e)}}d(async()=>{await p(),g()});let y=_(!1);async function b(){if(!y.value){y.value=!0;try{await u()?await g():l.showError(Error(`Run all failed`),t.baseText(`evaluations.tests.runAll.error`))}catch(e){l.showError(e,t.baseText(`evaluations.tests.runAll.error`))}finally{y.value=!1}}}return(e,a)=>(S(),o(`div`,{class:T(e.$style.container),"data-test-id":`tests-results`},[W(`header`,{class:T(e.$style.header)},[L(r(J),{tag:`h2`,size:`small`,color:`text-dark`,bold:``,class:T(e.$style.title)},{default:U(()=>[n(R(r(t).baseText(`setupPanel.tabs.evaluations`)),1)]),_:1},8,[`class`]),W(`div`,{class:T(e.$style.actions)},[L(r(Ne),{variant:`outline`,size:`xsmall`,"data-test-id":`tests-results-create-case`,onClick:a[0]||=e=>r(i).openCreate()},{default:U(()=>[n(R(r(t).baseText(`evaluations.tests.results.createCase`)),1)]),_:1}),L(r(Ne),{variant:`solid`,size:`xsmall`,loading:y.value||r(f),disabled:!h.value,"data-test-id":`tests-results-run-all`,onClick:b},{default:U(()=>[n(R(r(t).baseText(`evaluations.tests.runAll`)),1)]),_:1},8,[`loading`,`disabled`])],2)],2),W(`div`,{class:T(e.$style.body)},[L(Pa),h.value?(S(),o(`div`,{key:0,class:T(e.$style.cards)},[(S(!0),o(k,null,w(r(m),(e,t)=>(S(),v(Ra,{key:t,index:t},null,8,[`index`]))),128))],2)):(S(),o(`div`,{key:1,class:T(e.$style.empty)},[L(r(J),{size:`small`,color:`text-light`},{default:U(()=>[n(R(r(t).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`}}]]),Ba=`__EMPTY__`,Va=X(p({__name:`TestsPanel`,setup(e){let t=ji(),i=Vr(),s=$(),c=We(),l=Wn(),u=Lr(),{fetchLatestUserExecution:f}=ra(),p=Q(),{viewMode:m,judgeSelectionByMetric:h}=P(t),g=Wi(),y=qi(),{runWorkflow:x,runTriggerNode:C,triggerNodes:w}=Ki(),E=a(()=>g.value.length>0),D=a(()=>!E.value),O=a(()=>w.value.length>1),A=a(()=>w.value.map(e=>({id:e.name,label:e.name})));function j(){let e=s.value?.workflowId;e&&(w.value.length===0?u.openNodeCreatorForTriggerNodes(e,Ve.ADD_NODE_BUTTON):u.openNodeCreatorForRegularNodes(e,Ve.ADD_NODE_BUTTON))}function N(e){let t=w.value.find(t=>t.name===e);t&&C(t)}M([()=>t.isOpen,y,h],([e,n,r])=>{if(!(!e||!n))for(let e of $r)r[e]||t.setJudgeSelection(e,n)},{immediate:!0});let F=_(!1),I=_(null),ee=Ni({fallbackExecution:I});async function z(){try{await Promise.all([Promise.resolve(c.fetchLastSuccessfulExecution()),ne()])}finally{F.value=!0}}M([()=>t.isOpen,g],([e,n])=>{if(!e||(z(),t.aiNodeName))return;let r=n[0];r&&t.setAiNodeName(r.name)},{immediate:!0});let te=null;d(()=>{te=l.addEventListener(e=>{if(e.type!==`executionFinished`)return;let t=s.value?.workflowId;!t||e.data.workflowId!==t||(z(),i.fetchTestRuns(t))})}),b(()=>{te?.(),te=null});async function ne(){try{I.value=await f()}catch{I.value=null}}M(ee,({values:e,fieldNames:n})=>{n.length!==0&&t.prefillInputsFromExecution&&t.seedInputs(e)},{immediate:!0});let B=a(()=>ee.value.hasExecution),V=a(()=>{if(t.datasetInputsByRow.length>0||t.activeRunId!==null)return!0;let e=s.value?.workflowId;return!!(e&&(i.testRunsByWorkflowId[e]?.length??0)>0)}),H=a(()=>F.value&&!B.value&&!V.value),re=a(()=>!B.value&&!F.value&&!V.value),{hydrate:ie}=Zi(),{createFromExecution:W}=ia();return M(()=>[t.isOpen,s.value?.workflowId],async([e])=>{let n=s.value?.workflowId,r=t.lastWorkflowId;if(r&&r!==Ba&&n&&n!==r&&t.reset(),n&&t.setLastWorkflowId(n),!e||!n)return;await ie();let i=t.pendingSeedExecution;i&&(W(i),t.setPendingSeedExecution(null))},{immediate:!0}),(e,t)=>(S(),o(`div`,{class:T(e.$style.panel),"data-test-id":`tests-panel`},[D.value?(S(),o(`div`,{key:0,class:T(e.$style.gate),"data-test-id":`tests-panel-add-node`},[L(r(J),{size:`large`,color:`text-dark`,class:T(e.$style.gateMessage)},{default:U(()=>[n(R(r(p).baseText(`evaluations.tests.empty.noNode`)),1)]),_:1},8,[`class`]),L(r(Ne),{size:`small`,"data-test-id":`tests-panel-add-node-button`,onClick:j},{default:U(()=>[n(R(r(p).baseText(`evaluations.tests.empty.noNode.button`)),1)]),_:1})],2)):re.value?(S(),o(`div`,{key:1,class:T(e.$style.gate),"data-test-id":`tests-panel-probe-loading`},[L(r(q),{icon:`spinner`,size:`medium`,spin:!0})],2)):H.value?(S(),o(`div`,{key:2,class:T(e.$style.gate),"data-test-id":`tests-panel-gate`},[L(r(J),{size:`large`,color:`text-dark`,class:T(e.$style.gateMessage)},{default:U(()=>[n(R(r(p).baseText(`evaluations.tests.empty.noExecutions`)),1)]),_:1},8,[`class`]),O.value?(S(),v(r(Oe),{key:0,items:A.value,placement:`bottom`,"data-test-id":`tests-panel-choose-trigger`,onSelect:N},{activator:U(()=>[L(r(Ne),{size:`small`},{default:U(()=>[n(R(r(p).baseText(`evaluations.tests.empty.chooseTrigger`))+` `,1),L(r(q),{icon:`chevron-down`,size:`small`})]),_:1})]),_:1},8,[`items`])):(S(),v(r(Ne),{key:1,size:`small`,"data-test-id":`tests-panel-gate-run`,onClick:r(x)},{default:U(()=>[n(R(r(p).baseText(`evaluations.tests.empty.execute`)),1)]),_:1},8,[`onClick`]))],2)):(S(),o(k,{key:3},[r(m)===`detail`?(S(),v(Ma,{key:0})):r(m)===`create`?(S(),v(ua,{key:1})):(S(),v(za,{key:2}))],64))],2))}}),[[`__cssModules`,{$style:{panel:`_panel_16tpu_1`,gate:`_gate_16tpu_10`,gateMessage:`_gateMessage_16tpu_21`}}]]),Ha={key:0},Ua=X(p({name:`FocusSidebar`,__name:`FocusSidebar`,props:{isCanvasReadOnly:{type:Boolean}},emits:[`contextMenuAction`],setup(t,{emit:n}){let i=n,c=te(`wrapper`),l=an(),u=zr(),f=$(),p=nn(),m=mr(),h=Ge(),g=mt(),_=N(l.value),y=D();En({view_shown:`focus_panel`});let{selectedTab:x}=P(u),C=a(()=>u.focusPanelActive),w=a(()=>u.focusPanelWidth),O=a(()=>u.resolvedParameter),k=a(()=>m.isFeatureEnabled),{isFeatureEnabled:A}=qr(),{isLicensed:j,isResolved:F,ensureLicenseLoaded:I}=si(),ee=a(()=>m.isFeatureEnabled&&x.value===`setup`),R=a(()=>A.value&&x.value===`evaluations`&&F.value&&j.value),z=a(()=>A.value&&x.value===`evaluations`&&F.value&&!j.value),ne=a(()=>k.value||A.value),B=a(()=>{if(!p.isNdvInFocusPanelEnabled||O.value)return O.value?.node;let e=_.getSelectedNodes.value[0];return e?.data?.render.type===pn.Default?(f?.value?.allNodes??[]).find(t=>t.id===e.id):void 0}),V=a(()=>{let e=O.value?.parameter.displayName??B.value?.name;return e?{focus:e}:void 0});function re(e){e.key===`s`&&g.isCtrlKeyPressed(e)&&(e.stopPropagation(),e.preventDefault())}let ie=()=>{document.addEventListener(`keydown`,re,!0)},ae=()=>{document.removeEventListener(`keydown`,re,!0)};M(()=>u.focusPanelActive,e=>{e?ie():ae()},{immediate:!0}),M(y,e=>{if(!B.value||!e||!c.value?.contains(e))return;let t=e.closest(`.parameter-input`)?.getAttribute(`data-parameter-path`);t&&h.track(`User focused focus panel`,{node_id:B.value.id,node_type:B.value.type,parameter_path:t})});function oe(e){u.updateWidth(e.width)}let se=H(oe,10);function le(e,t){i(`contextMenuAction`,e,t)}return d(()=>{I()}),b(()=>{ae()}),(n,i)=>C.value?(S(),o(`div`,{key:0,ref:`wrapper`,"data-test-id":`focus-sidebar`,class:T([n.$style.wrapper,`ignore-key-press-canvas`,{[n.$style.isNdvInFocusPanelEnabled]:r(p).isNdvInFocusPanelEnabled}]),onKeydown:i[1]||=ce(()=>{},[`stop`])},[L(r(Rn),{width:w.value,"supported-directions":[`left`],"min-width":k.value?420:300,"max-width":r(p).isNdvInFocusPanelEnabled?void 0:1e3,"grid-size":8,style:e({width:`${w.value}px`}),onResize:r(se)},{default:U(()=>[W(`div`,{class:T(n.$style.container)},[ne.value?(S(),o(`div`,Ha,[L(ui,{modelValue:r(x),"onUpdate:modelValue":i[0]||=e=>E(x)?x.value=e:null,"tab-labels":V.value},null,8,[`modelValue`,`tab-labels`])])):s(``,!0),ee.value?(S(),o(`div`,{key:1,class:T(n.$style[`setup-panel-wrapper`])},[L(Di)],2)):R.value?(S(),o(`div`,{key:2,class:T(n.$style[`setup-panel-wrapper`])},[L(Va)],2)):z.value?(S(),o(`div`,{key:3,class:T([n.$style[`setup-panel-wrapper`],n.$style[`evaluations-paywall-wrapper`]])},[L(Jr)],2)):(S(),v(Ai,{key:4,"is-canvas-read-only":t.isCanvasReadOnly,onContextMenuAction:le},null,8,[`is-canvas-read-only`]))],2)]),_:1},8,[`width`,`min-width`,`max-width`,`style`,`onResize`])],34)):s(``,!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`}}]]),Wa=p({__name:`CanvasStopCurrentExecutionButton`,props:{stopping:{type:Boolean},size:{}},setup(e){let t=e,n=Q(),i=a(()=>t.stopping?n.baseText(`nodeView.stoppingCurrentExecution`):n.baseText(`nodeView.stopCurrentExecution`));return(t,n)=>(S(),v(r(Ut),{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`]))}}),Ga=p({__name:`CanvasStopWaitingForWebhookButton`,props:{size:{}},setup(e){let t=e,n=Q();return(e,i)=>(S(),v(r(Ut),{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`]))}}),Ka={"data-action":`reload`},qa={href:`https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/`,target:`_blank`},Ja=p({__name:`NodeViewUnfinishedWorkflowMessage`,setup(e){let t=Q();return(e,i)=>(S(),o(`div`,null,[W(`a`,Ka,R(r(t).baseText(`nodeView.refresh`)),1),n(` `+R(r(t).baseText(`nodeView.toSeeTheLatestStatus`))+`. `,1),i[0]||=W(`br`,null,null,-1),W(`a`,qa,R(r(t).baseText(`nodeView.moreInfo`)),1)]))}}),Ya=p({__name:`CanvasChatButton`,props:{label:{},variant:{}},setup(e){return(t,n)=>(S(),v(r(Ne),{label:e.label,size:`large`,icon:`message-circle`,variant:e.variant,"data-test-id":`workflow-chat-button`},null,8,[`label`,`variant`]))}}),Xa=X(p({__name:`CheckHeader`,props:{icon:{},iconBg:{},iconFg:{},title:{},badge:{},badgeIcon:{}},setup(t){return(i,a)=>(S(),o(`div`,{class:T(i.$style.header)},[W(`span`,{class:T([i.$style.icon,!t.iconBg&&!t.iconFg?i.$style.iconNeutral:null]),style:e(t.iconBg||t.iconFg?{backgroundColor:t.iconBg,color:t.iconFg}:null)},[L(r(q),{icon:t.icon,size:`small`},null,8,[`icon`])],6),W(`div`,{class:T(i.$style.body)},[W(`div`,{class:T(i.$style.titleRow)},[L(r(J),{size:`small`,bold:``,color:`text-dark`},{default:U(()=>[n(R(t.title),1)]),_:1}),t.badge?(S(),v(r(st),{key:0,class:T(i.$style.judgePill)},{default:U(()=>[t.badgeIcon?(S(),v(r(q),{key:0,icon:t.badgeIcon,size:`xsmall`,class:T(i.$style.judgePillIcon)},null,8,[`icon`,`class`])):s(``,!0),n(` `+R(t.badge),1)]),_:1},8,[`class`])):s(``,!0)],2),g(i.$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`}}]]),Za=[`role`,`tabindex`],Qa=[`aria-label`,`data-test-id`],$a=X(p({__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)=>(S(),o(`div`,{class:T([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]||=ie(ce(n=>!e.readonly&&t.$emit(`toggle`),[`self`,`prevent`]),[`enter`]),i[5]||=ie(ce(n=>!e.readonly&&t.$emit(`toggle`),[`self`,`prevent`]),[`space`])]},[L(Xa,{icon:e.icon,"icon-bg":e.iconBg,"icon-fg":e.iconFg,title:e.title,badge:e.badge,"badge-icon":e.badgeIcon},m({_:2},[e.description?{name:`description`,fn:U(()=>[L(r(J),{size:`small`,color:`text-base`,class:T(t.$style.description)},{default:U(()=>[n(R(e.description),1)]),_:1},8,[`class`])]),key:`0`}:void 0]),1032,[`icon`,`icon-bg`,`icon-fg`,`title`,`badge`,`badge-icon`]),e.removable?(S(),o(`button`,{key:0,type:`button`,class:T(t.$style.removeButton),"aria-label":e.removeAriaLabel,"data-test-id":e.removeTestId,onClick:i[0]||=ce(e=>t.$emit(`remove`),[`stop`])},[L(r(q),{icon:`trash-2`,size:`small`})],10,Qa)):e.selected&&!e.readonly?(S(),o(`span`,{key:1,class:T(t.$style.selectedMark),"aria-hidden":`true`},[L(r(q),{icon:`check`,size:`small`})],2)):s(``,!0),t.$slots.default?(S(),o(`div`,{key:2,class:T(t.$style.slotContainer),onClick:i[1]||=ce(()=>{},[`stop`]),onKeydown:i[2]||=ce(()=>{},[`stop`])},[g(t.$slots,`default`)],34)):s(``,!0)],42,Za))}}),[[`__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`}}]]),eo=[`aria-label`],to=X(p({__name:`EvaluationsCanvasInfoCard`,setup(e){let t=a(()=>[...ai,...ai].map(e=>({...e,isJudge:$r.has(e.key)}))),i=Q(),c=Ge(),l=ji(),u=$(),f=he(),p=Wi(),{isFeatureEnabled:m}=qr(),{isLicensed:h,ensureLicenseLoaded:g}=si(),v=_(null),y=null,b=yt(Nt),x=a(()=>{let e=b.value;return e?new Set(e.split(`,`).filter(Boolean)):new Set}),C=a(()=>u.value?.workflowId??``),E=a(()=>u.value?.active??!1),D=a(()=>p.value.length>0),O=a(()=>C.value?x.value.has(C.value):!0),A=a(()=>m.value&&h.value&&E.value&&D.value&&!O.value),j=a(()=>A.value&&v.value===!1&&!l.isOpen);d(()=>{g()});async function N(){let e=C.value;if(e&&y!==e){y=e;try{let t=await kt(f.restApiContext,e);if(e!==C.value)return;v.value=t.length>0}catch{if(e!==C.value)return;v.value=!0}finally{y===e&&(y=null)}}}M(A,e=>{if(!e){v.value=null;return}v.value===null&&N()},{immediate:!0}),M(C,()=>{v.value=null,A.value&&N()}),M(()=>l.isOpen,(e,t)=>{t&&!e&&A.value&&N()});function P(){let e=C.value;if(!e)return;let t=new Set(x.value);t.add(e),b.value=[...t].join(`,`)}function F(){c.track(`User opened evaluations wizard`,{workflow_id:C.value,source:`canvas_info_card`}),l.open(0)}return(e,a)=>j.value?(S(),o(`aside`,{key:0,class:T(e.$style.card),role:`complementary`,"data-test-id":`evaluations-canvas-info-card`},[W(`button`,{type:`button`,class:T(e.$style.dismiss),"aria-label":r(i).baseText(`evaluations.canvasInfoCard.dismiss`),"data-test-id":`evaluations-canvas-info-card-dismiss`,onClick:P},[L(r(q),{icon:`x`,size:`small`})],10,eo),W(`div`,{class:T(e.$style.marquee),"aria-hidden":`true`},[W(`ul`,{class:T(e.$style.marqueeTrack)},[(S(!0),o(k,null,w(t.value,(t,n)=>(S(),o(`li`,{key:`${t.key}-${n}`,class:T(e.$style.marqueeItem)},[L($a,{icon:t.icon,"icon-bg":t.tileBg,"icon-fg":t.tileFg,title:r(i).baseText(t.labelKey),description:r(i).baseText(t.descriptionKey),badge:t.isJudge?r(i).baseText(`evaluations.wizardSidepanel.metric.judgeTag`):void 0,readonly:``},null,8,[`icon`,`icon-bg`,`icon-fg`,`title`,`description`,`badge`])],2))),128))],2)],2),W(`div`,{class:T(e.$style.body)},[L(r(J),{size:`small`,bold:``,color:`text-dark`},{default:U(()=>[n(R(r(i).baseText(`evaluations.canvasInfoCard.title`)),1)]),_:1}),L(r(J),{size:`small`,color:`text-base`,class:T(e.$style.description)},{default:U(()=>[n(R(r(i).baseText(`evaluations.canvasInfoCard.description`)),1)]),_:1},8,[`class`])],2),W(`div`,{class:T(e.$style.footer)},[L(r(Ne),{variant:`solid`,size:`medium`,type:`button`,class:T(e.$style.setupButton),"data-test-id":`evaluations-canvas-info-card-setup`,onClick:F},{default:U(()=>[n(R(r(i).baseText(`evaluations.canvasInfoCard.setup`)),1)]),_:1},8,[`class`])],2)],2)):s(``,!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`}}]]),no=X(p({name:`NodeView`,__name:`NodeView`,setup(e){let t=f(async()=>await Xt(()=>import(`./NodeCreation-BgcoP3HA.js`),__vite__mapDeps([0,1,2,3,4,5,6]))),i=f(async()=>await Xt(()=>import(`./NodeDetailsView-VQyBJh3t.js`),__vite__mapDeps([7,1,2,3,4,5,8,9,10,11,12,13,14,15,16,17]))),c=f(async()=>await Xt(()=>import(`./SetupWorkflowCredentialsButton-C3Hmu6TA.js`),__vite__mapDeps([18,1,2,3,4,5,19]))),p=ee(),m=O(),h=I(),{canOpenNDV:g}=Gr(),y=Q(),x=Ge(),C=pt(),w=ct(),E=$n(),D=sr(),A=In({router:m,ownsAutoSave:!0,onSaved:e=>{Mr.emit(`saved:workflow`,{isFirstSave:e})}}),j=vt(),N=fe({onPaste:Yr}),P=fn(),F=Ur(),ne=me(),B=We(),V=$(),H=a(()=>Dn(V.value.documentId)),re=Gn(),ie=Fn(),W=Lr(),ae=qe(),se=wt(),ce=Or(),le=St(),ue=ot(),G=rr(),pe=hr(),he=Dt(),_e=yr(),ve=ur(),ye=zr(),Se=ji(),{isFeatureEnabled:Ce}=qr(),we=Cn(),Ee=Kr(),De=mn(),Oe=Er(),ke=nn(),K=qt(),je=rn(),Ne=On(),Fe=be();ci(K);let{addBeforeUnloadEventBindings:Le,removeBeforeUnloadEventBindings:ze}=Ie({route:h}),{registerCustomAction:He,unregisterCustomAction:Ue}=ir(),{runWorkflow:Xe,runEntireWorkflow:Ze,stopCurrentExecution:q,stopWaitingForWebhook:$e}=or({router:m}),{updateNodePosition:tt,updateNodesPosition:nt,tidyUp:J,revertUpdateNodePosition:it,renameNode:at,revertRenameNode:st,revertReplaceNodeParameters:dt,setNodeActive:ft,setNodeSelected:mt,toggleNodesDisabled:gt,revertToggleNodeDisabled:_t,toggleNodesPinned:yt,setNodeParameters:bt,deleteNode:xt,deleteNodes:Ct,copyNodes:Tt,cutNodes:Et,duplicateNodes:Ot,revertDeleteNode:kt,revertAddNode:At,createConnection:jt,revertCreateConnection:Mt,deleteConnection:Nt,revertDeleteConnection:Pt,revalidateNodeInputConnections:Ft,revalidateNodeOutputConnections:It,setNodeActiveByName:Lt,clearNodeActive:Bt,tryToOpenSubworkflowInNewTab:Ht,importWorkflowData:Ut,fetchWorkflowDataFromUrl:Gt,resetWorkspace:Kt,initializeWorkspace:Jt,lastClickPosition:Yt,startChat:Zt,addNodesAndConnections:$t,fitView:en}=Rt(),{extractWorkflow:X}=Fr();Sn({ctrl_alt_o:()=>F.openModal(Ye)});let on=te(`canvas`),cn=_(!0),ln=_(null),un=_([]),Z=an(),gn=a(()=>{let e=h.params.nodeId;return Array.isArray(e)?e[0]:e}),_n=a(()=>h.query.new===`true`),vn=a(()=>h.query.hideControls===`true`),yn=a(()=>h.query.canvasBackground!==`dots`),bn=a(()=>h.name===ut.DEMO),wn=a(()=>!!h?.meta?.readOnlyCanvas),Tn=a(()=>ie.preferences.branchReadOnly),{readOnly:En,expandGroups:kn,executionButtonType:An}=Ke(),jn=a(()=>bn.value?`secondary`:An.value),Mn=a(()=>bn.value||Tn.value||K.shouldBeReadOnly||!(Hi.value.update??Ui.value.workflow.update)||(V?.value?.isArchived??!1)||we.streaming&&!we.isHelpStreaming||En.value),Nn=a(()=>bn.value?`all`:kn.value),Rn=a(()=>Tn.value?!1:bn.value?h.query.canExecute===`true`:V?.value?.isArchived||we.streaming||En?.value?!1:!!(Hi.value.execute??Ui.value.workflow.execute)),zn=a(()=>K.isCurrentUserWriter&&!K.isCurrentTabWriter),Bn=a(()=>Yn.value.length===0),Vn=a(()=>!ve.value.activeNode&&F.activeModals.length===0),Un=a(()=>Oe.isOpen);function Wn(){h.query.action===`addEvaluationTrigger`?ba():h.query.action===`addEvaluationNode`?W.openNodeCreatorForActions(Z.value,tn,Ve.ADD_EVALUATION_NODE_BUTTON):h.query.action===`executeEvaluation`?va.value&&Ze(`node`,va.value.name):h.query.action===`openEvaluationsWizard`&&Ce.value&&(x.track(`User opened evaluations wizard`,{workflow_id:Z.value,source:`empty_state`}),Se.open(0)),Se.pendingSeedExecution&&Ce.value&&(ye.setSelectedTab(`evaluations`),ye.openFocusPanel()),Mr.off(`saved:workflow`,ja),h.name===ut.EXECUTION_DEBUG&&Mr.on(`saved:workflow`,ja),l(()=>{Kn()})}function Kn(){j.updateNodesInputIssues(),j.updateNodesCredentialsIssues(),j.updateNodesParameterIssues()}M(()=>{let e=V?.value,t=(e?.workflowTriggerNodes??[]).filter(e=>!e.disabled).map(e=>`${e.type}:${JSON.stringify(e.parameters??{})}`).join(`|`);return`${e?.settings?.credentialResolverId??``}#${t}`},()=>{cn.value||j.updateNodesCredentialsIssues()});async function qn(e){Kt(),we.streaming?D.setDocumentTitle(e.name,`AI_BUILDING`):D.setDocumentTitle(e.name,`IDLE`),await Jt(e),C.run(`workflow.open`,{workflowId:e.id,workflowName:e.name}),en()}let Yn=a(()=>V?.value?.allNodes.filter(e=>P.isTriggerNode(e.type))??[]),Xn=a(()=>Yn.value.length>0),Qn=a(()=>Yn.value.filter(e=>e.disabled).length===Yn.value.length),er=a(()=>Yn.value.filter(e=>!e.disabled&&!de(e))),tr=a(()=>er.value.length>1&&H.value.selectedTriggerNodeName!==void 0);function lr(e,t){J(e,t)}function dr(e){X(e)}function fr(e){nt(e,{trackHistory:!0})}function pr(e,t){tt(e,t,{trackHistory:!0})}function mr({nodeName:e,position:t}){it(e,{x:t[0],y:t[1]})}function _r(e){let t=un.value.findIndex(t=>t.id===e);t>=0?un.value.splice(t,1):xt(e,{trackHistory:!0})}function vr(e,t=[]){Ct(e,{deleteWholeGroupIds:t})}function br({node:e}){kt(e)}function xr({group:e}){V.value.deleteGroup(e.id)}function Sr({group:e}){V.value.restoreGroup(e)}function Cr({group:e}){V.value.restoreGroup(e)}function wr(e){Oa()&&gt([e])}function Tr({nodeName:e}){_t(e)}function Dr(e){Oa()&&gt(e)}function Ar(e,t){Yt.value=[t.x,t.y],Ri()}async function Pr(e,t){bn.value&&!g.value||(t?.metaKey||t?.ctrlKey)&&await Ht(e)||ft(e,`canvas_default_view`)}function Ir(e){Ht(e)}function Rr(){Bt()}function Br(e){Ri(),mt(e)}let Vr=!1;function Wr(e){return!Vr&&Z.value===e}async function Jr(e){let t=Z.value;await Ee.gate(`copy`,async()=>{Wr(t)&&(await Tt(e),w.showMessage({title:y.baseText(`generic.copiedToClipboard`),type:`success`}))})}async function Yr(e){if(Mn.value||Je(h)!==et.WORKFLOW||!Vn.value||!Oa())return;let t=null;if(e.match(Zn)){if(await E.confirm(y.baseText(`nodeView.confirmMessage.onClipboardPasteEvent.message`,{interpolate:{plainTextData:e}}),y.baseText(`nodeView.confirmMessage.onClipboardPasteEvent.headline`),{type:`warning`,confirmButtonText:y.baseText(`nodeView.confirmMessage.onClipboardPasteEvent.confirmButtonText`),cancelButtonText:y.baseText(`nodeView.confirmMessage.onClipboardPasteEvent.cancelButtonText`)})!==`confirm`)return;t=await Gt(e)}else t=ge(e,{fallbackValue:null});if(!t)return;let n=Z.value;await Ee.gate(`paste`,async()=>{if(!Wr(n))return;let e=(await Ut(t,`paste`,{importTags:!1,viewport:Pa.value})).nodes?.map(e=>e.id)??[];on.value?.ensureNodesAreVisible(e)})}async function Xr(e,t=[]){Mn.value?await Tt(e):await Et(e,t)}async function Zr(e){if(!Oa())return;let t=await Ot(e,{viewport:Pa.value});on.value?.ensureNodesAreVisible(t)}function Qr(e,t){Oa()&&yt(e,t)}function $r(e,t){on.value?.executeContextMenuAction(e,t)}function ei(){Mr.on(`saved:workflow`,ue.showNpsSurveyIfPossible)}function ti(){Mr.off(`saved:workflow`,ue.showNpsSurveyIfPossible),Mr.off(`saved:workflow`,ja)}async function ni(){await m.push({name:ut.NEW_WORKFLOW})}async function ri(){await A.saveCurrentWorkflow({})}function ii(e){ve.value.activeNode?.name&&at(ve.value.activeNode.name,e)}async function ai(e){let t=V?.value?.getNodeById(e)?.name??``,n=document.activeElement;if(!(n&&Be(n))&&!(!Vn.value||document.querySelector(`.rename-prompt`)))try{let e=E.prompt(y.baseText(`nodeView.prompt.newName`)+`:`,y.baseText(`nodeView.prompt.renameNode`)+`: ${t}`,{customClass:`rename-prompt`,confirmButtonText:y.baseText(`nodeView.prompt.rename`),cancelButtonText:y.baseText(`nodeView.prompt.cancel`),inputErrorMessage:y.baseText(`nodeView.prompt.invalidName`),inputValue:t,inputValidator:e=>e.trim()?!0:y.baseText(`nodeView.prompt.invalidName`)});await l();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 at(t,i.value,{trackHistory:!0})}catch{}}async function oi({currentName:e,newName:t}){await st(e,t)}async function si({nodeId:e,currentProperties:t,newProperties:n}){await dt(e,t,n)}function ui(e,t){bt(e,t)}function di(e){Ft(e)}function fi(e){It(e)}function pi(e,t){W.openNodeCreatorForConnectingNode({workflowId:Z.value,connection:{source:e,sourceHandle:t},eventSource:Ve.PLUS_ENDPOINT})}async function mi(){let e;if(Z.value&&!_n.value)e={workflowId:Z.value};else{let t=(typeof h.query?.projectId==`string`?h.query?.projectId:void 0)??G.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 se.fetchUsableCredentials(e)}function hi(e){jt(e,{trackHistory:!0})}function gi({connection:e}){Mt(e)}function _i(e,t,n){(n?.target).classList?.contains(`clickable`)||(F.lastInteractedWithNodeId=e.nodeId,F.lastInteractedWithNodeHandle=e.handleId,F.lastCancelledConnectionPosition=[t.x,t.y],setTimeout(()=>{e.nodeId&&W.openNodeCreatorForConnectingNode({workflowId:Z.value,connection:{source:e.nodeId,sourceHandle:e.handleId},eventSource:Ve.NODE_CONNECTION_DROP})}))}function vi(e){Nt(e,{trackHistory:!0})}function yi({connection:e}){Pt(e)}async function bi(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 Ut(t,`file`,{viewport:Pa.value,regenerateIds:e.regenerateIds===!0||e.regenerateIds===void 0,trackEvents:n,setStateDirty:r}),await l(),en(),Ia(t.nodes?.map(e=>e.id)??[]),e.tidyUp){let t=e.nodesIdsToTidyUp;setTimeout(async()=>{Mr.emit(`tidyUp`,{source:`import-workflow-data`,nodeIdsFilter:t,trackEvents:n}),await l(),en()},0)}}async function xi(e){let t=await Gt(e.url);if(!t)return;let n=Z.value;await Ee.gate(`import_url`,async()=>{Wr(n)&&(await Ut(t,`url`,{viewport:Pa.value}),on.value?.ensureNodesAreVisible(t.nodes?.map(e=>e.id)??[]))})}function Si(){jr.on(`importWorkflowData`,bi),jr.on(`importWorkflowUrl`,xi),jr.on(`openChat`,ga)}function Ci(){jr.off(`importWorkflowData`,bi),jr.off(`importWorkflowUrl`,xi),jr.off(`openChat`,ga)}let wi=_(void 0),Ti=_(!1);function Ei(){wi.value=void 0}function Di(){if(!(W.isCreateNodeActive&&gr(W.openSource))||!F.lastInteractedWithNodeId)return;let{type:e,mode:t}=zt(F.lastInteractedWithNodeHandle);if(e!==Me.Main||t!==Hn.Output)return;let n=F.lastInteractedWithNodeId,r=V.value.getGroupForNode(n);if(!r)return;let i=Re(r,V.value.allNodes);return i?.id===n?i.id:void 0}async function Oi({nodes:e,connections:t},n=!1,r){if(!Oa())return;let i=wi.value??Di();i!==void 0&&(F.resetLastInteractedWith(),e=e.map(e=>({...e,openDetail:!1})));let{addedNodes:a}=await $t(e,t,{dragAndDrop:n,position:r,viewport:Pa.value,telemetry:!0,replaceNodeId:i});if(a.length>0){let e=a[a.length-1].id;Ia([e])}}async function ki(e=!1){if(!Fe.value||!Oa()||Ti.value)return;Ti.value=!0;let t=W.openSource;if(V.value.allNodes.length===0&&Na.value.width>0&&Na.value.height>0){let{xMin:e,xMax:t,yMin:n,yMax:r}=Pa.value;Yt.value=[(e+t-Wt[0])/2,(n+r-Wt[1])/2]}let n=ne.currentBulkAction===null;n&&ne.startRecordingUndo();try{let n=le.selectedGroupId?V.value.getGroupById(le.selectedGroupId):void 0,r=n?Re(n,V.value.allNodes):void 0;!e&&r&&(F.resetLastInteractedWith(),F.lastInteractedWithNodeId=r.id);let{addedNodes:i}=await $t([{type:hn,name:`No Operation, do nothing`,parameters:{emptyGroupAnchor:!0},placeholder:!0,isAutoAdd:!(e||r!==void 0),openDetail:!1}],[],{viewport:Pa.value,trackBulk:!1}),a=i[0];if(!a)return;let o=V.value.getNextDefaultName(y.baseText(`canvas.nodeGroup.defaultTitle`)),s=V.value.createGroup([a.id],o);ne.pushCommandToUndo(new Jn(s,Date.now())),ae.trackGrouped(s,`node-creator`,t),ae.trackInitialEmptyGroupConnection(s),Ia([a.id])}finally{n&&ne.stopRecordingUndo(),Ti.value=!1}}async function Ai({node:e}){await At(e.name)}function Mi(e){let t=V?.value?.getNodeByName(e);t&&(Lt(e,`other`),Ia([t.id]))}function Ni(e,t,n=0){W.openSelectiveNodeCreator({workflowId:Z.value,node:e,connectionType:t,connectionIndex:n})}function Pi(e){W.setNodeCreatorState({...e,workflowId:Z.value}),e.createNodeActive||(wi.value=void 0,e.hasAddedNodes||F.resetLastInteractedWith())}function Fi(e){Pi({createNodeActive:!0,source:e})}function Ii(e){W.openNodeCreatorForTriggerNodes(Z.value,e)}function Li(){ye.toggleFocusPanel(),x.track(`User ${ye.focusPanelActive?`opened`:`closed`} focus panel`,{source:`canvasKeyboardShortcut`,parameters:ye.focusedNodeParametersInTelemetryFormat,parameterCount:ye.focusedNodeParametersInTelemetryFormat.length})}function Ri(){W.isCreateNodeActive&&=!1}function zi(){Oi({nodes:[{type:kr}],connections:[]})}function Bi(e){let{type:t,mode:n}=zt(e.sourceHandle);t===Me.AiTool&&n===Hn.Output?W.openNodeCreatorForConnectingNode({workflowId:Z.value,connection:e,eventSource:Ve.NODE_CONNECTION_ACTION,nodeCreatorView:Vt}):W.openNodeCreatorForConnectingNode({workflowId:Z.value,connection:e,eventSource:Ve.NODE_CONNECTION_ACTION})}function Vi(e){let t=V?.value?.getNodeById(e),n=V?.value?.getExpressionHandler();if(!t||!n)return;let r=P.getNodeType(t.type);if(r)if(wi.value=e,W.openingContext=`replacement`,ht(r))W.openNodeCreatorForTriggerNodes(Z.value,Ve.REPLACE_NODE_ACTION);else{let e=xe({expression:n},t,r).map(e=>typeof e==`string`?e:e.type),i=Nr({expression:n},t,r).map(e=>typeof e==`string`?e:e.type);e[0]&&i[0]&&e[0]!==i[0]?W.openNodeCreatorForRegularNodes(Z.value,Ve.REPLACE_NODE_ACTION):W.openSelectiveNodeCreator({workflowId:Z.value,connectionType:e[0]??i[0],node:t.name})}}let Hi=a(()=>Z.value?ar(re.getWorkflowById(Z.value)?.scopes).workflow:{}),Ui=a(()=>ar((h.query?.projectId?G.myProjects.find(e=>e.id===h.query.projectId):G.currentProject??G.personalProject)?.scopes)),Wi=_(!1),Gi=a(()=>H.value.isWorkflowRunning),Ki=a(()=>H.value.executionWaitingForWebhook),qi=a(()=>da.value&&fa.value&&!pa.value?!0:!Xn.value||Qn.value),Ji=a(()=>!fa.value||pa.value),Yi=a(()=>Gi.value&&!Ki.value),Xi=a(()=>Gi.value&&Ki.value);async function Zi(e){let t=V?.value?.getNodeById(e);t&&(Pn(t)&&P.isToolNode(t.type)?F.openModalWithData({name:cr,data:{nodeName:t.name}}):(ta(t),De.clearAgentRequests(Z.value,t.id),Xe({destinationNode:{nodeName:t.name,mode:`inclusive`},source:`Node.executeNode`})))}async function Qi(e,t){let n=V?.value?.getNodeById(e);if(!n)return;let r=P.getNodeType(n.type,n.typeVersion);if(!r?.webhooks?.length)return;let i=r.webhooks[0],a=await Ne.getWebhookUrl(i,n,t);a&&(N.copy(a),w.showMessage({title:y.baseText(`nodeWebhooks.showMessage.title`),type:`success`}))}async function $i(e){let t=V?.value?.getNodeById(e);if(xn.includes(t?.type??``)){w.showMessage({title:y.baseText(`nodeWebhooks.showMessage.testWebhookUrl`),type:`warning`});return}Qi(e,`test`)}async function ea(e){if(!(V?.value?.active??!1)){w.showMessage({title:y.baseText(`nodeWebhooks.showMessage.not.active`),type:`warning`});return}Qi(e,`production`)}function ta(e){let t={node_type:e.type,workflow_id:Z.value,source:`canvas`,push_ref:ve.value.pushRef};x.track(`User clicked execute node button`,t),C.run(`nodeView.onRunNode`,t)}function na(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:y.baseText(`nodeView.showError.workflowError`),message:e.data.resultData.error.message,type:`error`,duration:0}))}}function ra(e){e.waitTill&&w.showMessage({title:y.baseText(`nodeView.thisExecutionHasntFinishedYet`),message:u(Ja),type:`warning`,duration:0})}function ia(){Mr.on(`open:execution`,na),Mr.on(`open:execution`,ra)}function aa(){Mr.off(`open:execution`,na),Mr.off(`open:execution`,ra)}async function oa(){Wi.value=!0,await q(),Wi.value=!1}async function sa(){await $e()}function ca(){jr.emit(`runWorkflowButton:mouseenter`)}function la(){jr.emit(`runWorkflowButton:mouseleave`)}let ua=a(()=>V?.value?.allNodes.find(e=>e.type===Qt)),da=a(()=>!Ki.value&&!!V?.value?.allNodes.find(e=>[`@n8n/n8n-nodes-langchain.manualChatTrigger`,`@n8n/n8n-nodes-langchain.chatTrigger`].includes(e.type)&&e.disabled!==!0)),fa=a(()=>Yn.value.every(e=>e.disabled||e.type===`@n8n/n8n-nodes-langchain.chatTrigger`)),pa=a(()=>ua.value?V?.value?.pinnedDataByNodeName?.[ua.value.name]:null),ma=a(()=>je.isFloatingChatEnabled&&ua.value?.parameters?.availableInChat===!0),ha=a(()=>je.isOpen);M(ma,e=>{!e&&ha.value&&je.close()});function ga(){ma.value?je.open():Zt(`main`)}function _a(){ma.value?ha.value?je.close():je.open():Un.value?Oe.toggleOpen(!1):Zt(`main`)}let va=a(()=>V?.value?.allNodes.find(e=>e.type===sn)),ya=_(!1);async function ba(){if(!ya.value){ya.value=!0;try{if(on.value||await new Promise(e=>{let t=M(on,n=>{n&&(t(),e())})}),!Oa())return;if(va.value){Lt(va.value.name,`other`),on.value?.ensureNodesAreVisible([va.value.id]);return}let{addedNodes:e}=await $t([{type:sn,openDetail:!0}],[],{viewport:Pa.value,telemetry:!0});if(e.length>0){let t=e[e.length-1];await l(),on.value?.ensureNodesAreVisible([t.id])}}finally{try{await m.replace({query:{...h.query,action:void 0}})}finally{ya.value=!1}}}}function xa(){Y.on(`nodeMove`,mr),Y.on(`revertAddNode`,Ai),Y.on(`revertRemoveNode`,br),Y.on(`revertAddConnection`,gi),Y.on(`revertRemoveConnection`,yi),Y.on(`revertRenameNode`,oi),Y.on(`revertReplaceNodeParameters`,si),Y.on(`enableNodeToggle`,Tr),Y.on(`revertAddNodeGroup`,xr),Y.on(`revertRemoveNodeGroup`,Sr),Y.on(`revertUpdateNodeGroup`,Cr)}function Sa(){Y.off(`nodeMove`,mr),Y.off(`revertAddNode`,Ai),Y.off(`revertRemoveNode`,br),Y.off(`revertAddConnection`,gi),Y.off(`revertRemoveConnection`,yi),Y.off(`revertRenameNode`,oi),Y.off(`revertReplaceNodeParameters`,si),Y.off(`enableNodeToggle`,Tr),Y.off(`revertAddNodeGroup`,xr),Y.off(`revertRemoveNodeGroup`,Sr),Y.off(`revertUpdateNodeGroup`,Cr)}async function Ca(){try{if(await Promise.all([ce.fetchAllVariables(),_e.fetchAll(),mi(),G.getAvailableProjects()]),Z.value&&!F.stateIsDirty){let e=await re.fetchWorkflow(Z.value);e&&await qn(e)}}catch(e){console.error(e)}}function wa(){Ae.on(`pull`,Ca)}function Ta(){Ae.off(`pull`,Ca)}function Ea(){Mr.on(`create:sticky`,zi)}function Da(){Mr.off(`create:sticky`,zi)}function Oa(){if(!F.nodeViewInitialized)return!0;if(ln.value?.visible||!(Hi.value.update??Ui.value.workflow.update)||K.shouldBeReadOnly)return!1;if(wn.value||Tn.value){let e=wn.value?`executions`:`workflows`;return ln.value=w.showMessage({title:y.baseText(Tn.value?`readOnlyEnv.showMessage.${e}.title`:`readOnly.showMessage.executions.title`),message:y.baseText(Tn.value?`readOnlyEnv.showMessage.${e}.message`:`readOnly.showMessage.executions.message`),type:`info`}),!1}return!0}function ka(){K.requestWriteAccessForce()}function Aa(){Tn.value&&[ut.NEW_WORKFLOW,ut.TEMPLATE_IMPORT].find(e=>e===h.name)&&l(async()=>{Kt(),F.markStateClean(),await m.replace({name:ut.HOMEPAGE})})}async function ja(){h.name===ut.EXECUTION_DEBUG&&await m.replace({name:ut.WORKFLOW,params:{workflowId:Z.value}})}let Ma=_({x:0,y:0,zoom:1}),Na=_({width:0,height:0}),Pa=a(()=>Pe(Ma.value,Na.value));function Fa(e,t){Ma.value=e,Na.value=t,F.nodeViewOffsetPosition=[e.x,e.y]}function Ia(e){setTimeout(()=>Mr.emit(`nodes:select`,{ids:e}))}function La(e){Yt.value=[e.x,e.y],Br()}function Ra(e){Yt.value=[e.x,e.y]}async function za(e,t){if(!t.dataTransfer)return;let n=ge(t.dataTransfer.getData(lt));n&&(await Oi(n,!0,[e.x,e.y]),Pi({createNodeActive:!1,hasAddedNodes:!0}))}function Ba(){He({key:`openNodeDetail`,action:({node:e})=>{Lt(e,`other`)}}),He({key:`openSelectiveNodeCreator`,action:({creatorview:e,connectiontype:t,node:n})=>{W.openSelectiveNodeCreator({workflowId:Z.value,node:n,connectionType:t,creatorView:e})}}),He({key:`showNodeCreator`,action:()=>{ve.value.unsetActiveNodeName(),l(()=>{Ii(Ve.NODE_SHORTCUT)})}})}function Va(){Ue(`openNodeDetail`),Ue(`openSelectiveNodeCreator`),Ue(`showNodeCreator`)}function Ha(){F.addFirstStepOnLoad&&(Ii(F.addFirstStepOnLoadSource??Ve.TRIGGER_PLACEHOLDER_BUTTON),F.addFirstStepOnLoad=!1,F.addFirstStepOnLoadSource=void 0)}function Ka(e){let t=V?.value?.findNodeByPartialId(e);t?ft(t.id,`other`):(w.showToast({title:y.baseText(`nodeView.showMessage.ndvUrl.missingNodes.title`),message:y.baseText(`nodeView.showMessage.ndvUrl.missingNodes.content`),type:`warning`}),m.replace({name:h.name,params:{workflowId:Z.value},query:h.query}))}return M([()=>h.name,()=>h.params.workflowId],()=>{Wn()}),M(a(()=>V?.value?.homeProject?.id??G.currentProject?.id??G.personalProject?.id),e=>{e&&pe.fetchForProject(e)},{immediate:!0}),M(()=>cn.value||Mn.value||(V?.value?.allNodes??[]).length!==0,e=>{if(e){un.value=[];return}let t={id:pn.AddNodes,name:pn.AddNodes,type:pn.AddNodes,typeVersion:1,position:[0,0],parameters:{}},n={id:pn.ChoicePrompt,name:pn.ChoicePrompt,type:pn.ChoicePrompt,typeVersion:1,position:[0,0],parameters:{},draggable:!1};un.value=we.isAIBuilderEnabled?[n]:[t]}),M(()=>h.params.nodeId,async e=>{typeof e!=`string`||e===``?ve.value.unsetActiveNodeName():Ka(e)}),M(()=>ve.value.activeNode,async e=>{if(![ut.WORKFLOW].includes(String(h.name)))return;let t=e?.id?B.getPartialIdForNode(e?.id):``;t!==h.params.nodeId&&await m.replace({name:h.name,params:{workflowId:Z.value,nodeId:t},query:h.query})}),M(()=>F.dirtyStateSetCount,e=>{if(e>0){if(bn.value)return;K.requestWriteAccess(),we.streaming||A.autoSaveWorkflow()}}),M(()=>we.streaming,(e,t)=>{t&&!e&&F.stateIsDirty&&!K.shouldBeReadOnly&&A.autoSaveWorkflow()}),M([er,a(()=>{if(Gi.value)return H.value.activeExecution?.triggerNode?H.value.activeExecution.triggerNode:Object.keys(H.value.activeExecution?.data?.resultData.runData??{}).find(e=>V?.value?.workflowTriggerNodes.some(t=>t.name===e))})],([e,t],[n])=>{if(t!==void 0){H.value.setSelectedTriggerNodeName(t);return}if(H.value.selectedTriggerNodeName===void 0||e.every(e=>e.name!==H.value.selectedTriggerNodeName)){H.value.setSelectedTriggerNodeName(rt(er.value,P.getNodeType)?.name);return}let r=e?.find(e=>n?.every(t=>t.name!==e.name));r!==void 0&&H.value.setSelectedTriggerNodeName(r.name)},{immediate:!0}),z(async(e,t,n)=>{if(ye.focusPanelActive&&ye.closeFocusPanel(),Tn.value){n();return}let r=Je(e),i=[ut.WORKFLOW,ut.NEW_WORKFLOW].includes(t.name)&&[ut.WORKFLOW,ut.NEW_WORKFLOW].includes(e.name)&&t.params.workflowId!==e.params.workflowId;if((r===et.EXECUTIONS||r===et.EVALUATION||t.name===ut.TEMPLATE_IMPORT||r===et.WORKFLOW&&t.name===ut.EXECUTION_DEBUG)&&!i){n();return}await A.promptSaveUnsavedWorkflowChanges(n,{async confirm(){if(t.name===ut.NEW_WORKFLOW){let t=Z.value;return await m.replace({name:ut.WORKFLOW,params:{workflowId:t}}),await m.push(e),!1}return B.setWorkflowId(``),!0}})}),d(async()=>{K.setRefreshCanvasCallback(async e=>{await Jt(e)});try{Wn(),h.query.settings&&(F.openModal(Hr),m.replace({query:{settings:void 0}}))}finally{cn.value=!1,C.run(`nodeView.mount`).catch(()=>{}),setTimeout(()=>{gn.value&&Ka(gn.value)},500)}he.showPersonalizationSurvey(),Aa(),wa(),ei(),Le(),Si(),ia(),Ea(),Ba(),xa(),Ha()}),b(()=>{Vr=!0,F.closeModal(Hr),w.clearAllStickyNotifications(),V?.value?.setViewport(Ma.value),Ta(),ti(),ze(),Ci(),aa(),Da(),Va(),Sa(),Mr.off(`saved:workflow`,ja)}),(e,a)=>(S(),o(`div`,{class:T(r(p).wrapper)},[cn.value?s(``,!0):(S(),v(li,{key:0,id:r(V)?.workflowId,ref:`canvas`,"fallback-nodes":un.value,"show-fallback-nodes":Bn.value,"event-bus":r(Mr),"read-only":Mn.value,"group-expansion-mode":Nn.value,"can-execute":Rn.value,executing:Gi.value,"key-bindings":Vn.value,"suppress-interaction":r(ke).isMapperOpen,"striped-background":yn.value,"hide-controls":vn.value,"initial-viewport":r(V)?.viewport,"onUpdate:nodes:position":fr,"onUpdate:node:position":pr,"onUpdate:node:activated":Pr,"onUpdate:node:deactivated":Rr,"onUpdate:node:selected":Br,"onUpdate:node:enabled":wr,"onUpdate:node:name":ai,"onUpdate:node:parameters":ui,"onUpdate:node:inputs":di,"onUpdate:node:outputs":fi,"onUpdate:logsOpen":a[1]||=e=>r(Oe).toggleOpen(e),"onUpdate:logs:inputOpen":r(Oe).toggleInputOpen,"onUpdate:logs:outputOpen":r(Oe).toggleOutputOpen,"onUpdate:hasRangeSelection":r(le).setHasRangeSelection,"onUpdate:selectedGroup":r(le).setSelectedGroupId,"onOpen:subWorkflow":Ir,"onClick:node":Ar,"onClick:node:add":pi,"onRun:node":Zi,"onCopy:production:url":ea,"onCopy:test:url":$i,"onDelete:node":_r,"onCreate:connection":hi,"onCreate:connection:cancelled":_i,"onDelete:connection":vi,"onClick:connection:add":Bi,"onClick:pane":La,"onCreate:node":Fi,"onCreate:sticky":zi,"onDelete:nodes":vr,"onUpdate:nodes:enabled":Dr,"onUpdate:nodes:pin":Qr,"onDuplicate:nodes":Zr,"onCopy:nodes":Jr,"onCut:nodes":Xr,"onReplace:node":Vi,"onRun:workflow":a[2]||=e=>r(Ze)(`main`),"onSave:workflow":ri,"onCreate:workflow":ni,"onViewport:change":Fa,"onSelection:end":Ra,onDragAndDrop:za,onTidyUp:lr,"onToggle:focusPanel":Li,onExtractWorkflow:dr,onStartChat:_a},{default:U(()=>[Mn.value?s(``,!0):(S(),v(oe,{key:0},{default:U(()=>[L(r(c),{class:T(r(p).setupCredentialsButtonWrapper)},null,8,[`class`])]),_:1})),Mn.value?s(``,!0):(S(),v(to,{key:1,class:T(r(p).evaluationsCanvasInfoCardWrapper)},null,8,[`class`])),!Mn.value||Rn.value?(S(),o(`div`,{key:2,class:T(r(p).executionButtons)},[Ji.value?(S(),v(Qe,{key:0,"waiting-for-webhook":Ki.value,disabled:qi.value,executing:Gi.value,"trigger-nodes":Yn.value,"get-node-type":r(P).getNodeType,"selected-trigger-node-name":H.value.selectedTriggerNodeName,type:jn.value,onMouseenter:ca,onMouseleave:la,onExecute:a[0]||=e=>r(Ze)(`main`),onSelectTriggerNode:H.value.setSelectedTriggerNodeName},null,8,[`waiting-for-webhook`,`disabled`,`executing`,`trigger-nodes`,`get-node-type`,`selected-trigger-node-name`,`type`,`onSelectTriggerNode`])):s(``,!0),da.value?(S(),o(k,{key:1},[(ma.value?ha.value:Un.value)?(S(),v(Ya,{key:0,variant:`subtle`,label:r(y).baseText(`chat.hide`),class:T(r(p).chatButton),onClick:_a},null,8,[`label`,`class`])):(S(),v(Te,{key:1,label:r(y).baseText(`chat.open`),shortcut:{keys:[`c`]}},{default:U(()=>[L(Ya,{variant:Ji.value?`subtle`:`solid`,label:r(y).baseText(`chat.open`),class:T(r(p).chatButton),onClick:ga},null,8,[`variant`,`label`,`class`])]),_:1},8,[`label`]))],64)):s(``,!0),Yi.value?(S(),v(Wa,{key:2,stopping:Wi.value,size:tr.value?`xlarge`:`large`,onClick:oa},null,8,[`stopping`,`size`])):s(``,!0),Xi.value?(S(),v(Ga,{key:3,size:tr.value?`xlarge`:`large`,onClick:sa},null,8,[`size`])):s(``,!0)],2)):s(``,!0),Tn.value?(S(),v(r(dn),{key:3,theme:`warning`,icon:`lock`,class:T(r(p).readOnlyEnvironmentNotification)},{default:U(()=>[n(R(r(y).baseText(`readOnlyEnv.cantEditOrRun`)),1)]),_:1},8,[`class`])):s(``,!0),r(K).currentWriter&&!r(K).isCurrentTabWriter?(S(),v(r(nr),{key:4,class:T(r(p).canvasCenterPill),"is-another-tab":zn.value,"first-name":r(K).currentWriter.user.firstName,"last-name":r(K).currentWriter.user.lastName,onButtonClick:ka},null,8,[`class`,`is-another-tab`,`first-name`,`last-name`])):s(``,!0),r(we).streaming&&!r(we).isHelpStreaming?(S(),v(r(Ln),{key:5,class:T(r(p).canvasCenterPill),"show-stop":``,onStop:r(we).abortStreaming},null,8,[`class`,`onStop`])):s(``,!0),(S(),v(oe,null,{default:U(()=>[Mn.value?s(``,!0):(S(),v(r(t),{key:0,"create-node-active":r(W).isCreateNodeActive,"node-view-scale":Ma.value.zoom,"focus-panel-active":r(ye).focusPanelActive,onToggleNodeCreator:Pi,onAddNodes:Oi,onAddEmptyGroup:ki,onClose:Ei},null,8,[`create-node-active`,`node-view-scale`,`focus-panel-active`]))]),_:1})),(S(),v(oe,null,{default:U(()=>[L(r(i),{"read-only":Mn.value,"is-production-execution-preview":r(j).isProductionExecutionPreview.value,onRenameNode:ii,onStopExecution:oa,onSwitchSelectedNode:Mi,onOpenConnectionNodeCreator:Ni,onReplaceNode:Vi},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`])),!cn.value&&(!r(ke).isNdvInFocusPanelEnabled||!Mn.value)?(S(),v(Ua,{key:1,"is-canvas-read-only":Mn.value,onContextMenuAction:$r},null,8,[`is-canvas-read-only`])):s(``,!0)],2))}}),[[`__cssModules`,{$style:{wrapper:`_wrapper_10zlj_113`,executionButtons:`_executionButtons_10zlj_118`,chatButton:`_chatButton_10zlj_136`,setupCredentialsButtonWrapper:`_setupCredentialsButtonWrapper_10zlj_140`,evaluationsCanvasInfoCardWrapper:`_evaluationsCanvasInfoCardWrapper_10zlj_146`,readOnlyEnvironmentNotification:`_readOnlyEnvironmentNotification_10zlj_153`,canvasCenterPill:`_canvasCenterPill_10zlj_160`}}]]);export{ji as n,no as t};
@@ -1 +0,0 @@
1
- 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]=`b9afb5bc-a061-4218-8a5f-1ecc285b9911`,e._sentryDebugIdIdentifier=`sentry-dbid-b9afb5bc-a061-4218-8a5f-1ecc285b9911`)})()}catch{}import{Ad as e,Af as t,Cd as n,Dd as r,Ed as i,Kd as a,Nd as o,Sf as s,Td as c,Yd as l,Zf as u,bd as d,cf as f,jd as p,np as m,po as h,qd as g,tf as ee,uf as _,wd as v}from"./vendor-BBKxcFox.js";import{B_ as y,GC as b,I_ as te,KC as x,LC as S,MS as C,M_ as w,O as T,Sx as E,YC as D,ZS as ne,Zl as re,_C as ie,ew as ae,iv as O,nd as oe,nv as k,tC as A,zC as se,zS as j}from"./app-CpgR-J15.js";import{r as M}from"./clients.utils-Tti0rwRZ.js";async function N(e){return await O(e,`GET`,`/consent/details`)}async function P(e,t,n){return await O(e,`POST`,`/consent/approve`,{approved:t,scopes:n})}var F=h(E.CONSENT,()=>{let e=s(null),t=s(!1),n=s(null),r=s(null),i=y(),a=0;return{fetchConsentDetails:async()=>{let o=++a;t.value=!0,n.value=null,r.value=null;try{let t=await N(i.restApiContext);return o===a&&(e.value=t),e.value}catch(e){throw o===a&&(e instanceof k&&e.httpStatusCode===422?r.value=`resource_unavailable`:e instanceof k&&e.httpStatusCode===403&&(r.value=`forbidden`),n.value=e instanceof Error?e.message:`Failed to load consent details`),e}finally{o===a&&(t.value=!1)}},approveConsent:async(e,r)=>{t.value=!0,n.value=null;try{return await P(i.restApiContext,e,r)}catch(e){throw n.value=e instanceof Error?e.message:`Failed to process consent`,e}finally{t.value=!1}},resetState:()=>{e.value=null,t.value=!1,n.value=null,r.value=null},consentDetails:e,isLoading:t,error:n,errorCode:r}}),I={viewBox:`0 0 64 8`,preserveAspectRatio:`none`},L=o({__name:`OAuthConsentView`,setup(o){let h=F(),y=ae(),E=oe(),D=w(),O=te(),k=s(!1),N=s(!1),P=s(!1),L=s(!1),R=s([]),z=!0;g(()=>{z=!1});let B=n(()=>h.error),V=n(()=>h.isLoading),H=n(()=>h.errorCode===`resource_unavailable`?y.baseText(`oauth.consentView.error.resourceUnavailable`):h.errorCode===`forbidden`?y.baseText(`oauth.consentView.error.insufficientScope`):h.error),U=n(()=>{let e=h.consentDetails;return e&&!e.autoApproved?e:null}),W=n(()=>U.value?.resourceName),G=n(()=>h.consentDetails?.uiHints),K=n(()=>M(U.value?.clientName??``).icon),q=n(()=>y.baseText(`oauth.consentView.firstParty.type.${U.value?.uiHints?.consentType??`default`}`)),J=n(()=>U.value?.scopes??[]),Y=n(()=>J.value.length>0),X=n(()=>!!U.value?.redirectUri&&!U.value?.isFirstParty),Z=n(()=>Y.value&&R.value.length===0),Q=n(()=>V.value||B.value!==null||!U.value||X.value&&!L.value||Z.value),$=n(()=>Z.value?y.baseText(`oauth.consentView.allowDisabled.noScopes`):X.value&&!L.value?y.baseText(`oauth.consentView.allowDisabled.trust`):null);f(()=>U.value?.redirectUri,()=>{L.value=!1}),f(J,e=>{let t=U.value?.previousScopes??[];R.value=t.length>0?t:[...e]},{immediate:!0});let ce=async()=>{try{let e=await h.approveConsent(!0,Y.value?R.value:void 0);O.track(`User approved MCP consent`,{client_name:U.value?.clientName,selected_scopes:R.value,selected_scopes_count:R.value.length,all_scopes_selected:R.value.length===J.value.length}),k.value=!0,window.location.href=e.redirectUrl}catch(e){D.showError(e,y.baseText(`oauth.consentView.error.allow`))}},le=async()=>{try{await h.approveConsent(!1),O.track(`User denied MCP consent`,{client_name:U.value?.clientName}),window.location.href=window.BASE_PATH??`/`}catch(e){D.showError(e,y.baseText(`oauth.consentView.error.deny`))}},ue=()=>{window.location.href=window.BASE_PATH??`/`};return a(async()=>{E.set(y.baseText(`oauth.consentView.title`));try{let e=await h.fetchConsentDetails();if(!z)return;if(P.value=!0,e?.autoApproved&&e.redirectUrl){N.value=!0,window.location.href=e.redirectUrl;return}O.track(`User viewed MCP consent screen`,{client_name:U.value?.clientName,available_scopes_count:J.value.length})}catch(e){if(!z)return;D.showError(e,y.baseText(`oauth.consentView.error.fetchDetails`))}}),(n,a)=>(l(),r(`div`,{class:u(n.$style.overlay)},[v(`div`,{class:u(n.$style[`consent-dialog`])},[v(`header`,{class:u(n.$style.header)},[v(`div`,{class:u(n.$style.logo)},[G.value?.icon?(l(),c(t(x),{key:0,icon:G.value.icon,size:`large`,color:`text-dark`},null,8,[`icon`])):K.value?(l(),c(ee(K.value),{key:1,class:u(n.$style[`brand-icon`])},null,8,[`class`])):P.value||B.value?(l(),c(t(x),{key:2,icon:`mcp`,size:`large`,color:`text-dark`})):i(``,!0)],2),v(`span`,{class:u(n.$style.connector),"aria-hidden":`true`},[(l(),r(`svg`,I,[v(`line`,{class:u(n.$style[`connector-line`]),x1:`0`,y1:`4`,x2:`64`,y2:`4`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-dasharray":`2 5`},null,2)])),v(`span`,{class:u(n.$style.badge)},[p(t(x),{class:u(n.$style[`badge-spinner`]),icon:`loader-circle`,size:`large`},null,8,[`class`])],2)],2),v(`div`,{class:u(n.$style.logo)},[p(t(j),{size:`small`,collapsed:!0,"release-channel":`stable`})],2)],2),k.value?(l(),r(`div`,{key:0,class:u(n.$style.success),"data-test-id":`consent-success-screen`},[p(t(A),{tag:`h2`,size:`large`,bold:!0},{default:_(()=>[e(m(t(y).baseText(`oauth.consentView.success.title`)),1)]),_:1}),p(t(S),{color:`text-base`},{default:_(()=>[e(m(t(y).baseText(`oauth.consentView.success.description`)),1)]),_:1})],2)):B.value?(l(),r(`div`,{key:1,class:u(n.$style.content),"data-test-id":`consent-error`},[p(t(A),{tag:`h2`,size:`large`,bold:!0},{default:_(()=>[e(m(t(y).baseText(`oauth.consentView.error.heading`)),1)]),_:1}),p(t(C),{theme:`danger`,"data-test-id":`consent-error-notice`,content:H.value??``},null,8,[`content`])],2)):N.value||!P.value?(l(),r(`div`,{key:2,class:u(n.$style.content),"data-test-id":`consent-loading`},null,2)):(l(),r(`div`,{key:3,class:u(n.$style.content),"data-test-id":`consent-content`},[U.value?.isFirstParty?(l(),c(t(A),{key:0,tag:`h2`,size:`large`,bold:!0},{default:_(()=>[e(m(t(y).baseText(`oauth.consentView.firstParty.heading`,{interpolate:{resourceName:W.value??``}})),1)]),_:1})):W.value?(l(),c(t(A),{key:1,tag:`h2`,size:`large`,bold:!0},{default:_(()=>[e(m(t(y).baseText(`oauth.consentView.headingWithWorkflow`,{interpolate:{clientName:U.value?.clientName??``,resourceName:W.value}})),1)]),_:1})):(l(),c(t(A),{key:2,tag:`h2`,size:`large`,bold:!0},{default:_(()=>[e(m(t(y).baseText(`oauth.consentView.heading`,{interpolate:{clientName:U.value?.clientName??``}})),1)]),_:1})),v(`div`,{class:u(n.$style[`text-content`])},[U.value?.isFirstParty?(l(),c(t(S),{key:0,color:`text-base`,size:`medium`},{default:_(()=>[e(m(t(y).baseText(`oauth.consentView.firstParty.description`,{interpolate:{resourceType:q.value}})),1)]),_:1})):W.value?(l(),c(t(S),{key:1,color:`text-base`,size:`medium`},{default:_(()=>[e(m(t(y).baseText(`oauth.consentView.descriptionWithWorkflow`,{interpolate:{clientName:U.value?.clientName??``}})),1)]),_:1})):Y.value?(l(),c(t(S),{key:2,color:`text-base`,size:`medium`},{default:_(()=>[e(m(t(y).baseText(`oauth.consentView.scopes.description`,{interpolate:{clientName:U.value?.clientName??``}})),1)]),_:1})):(l(),c(t(S),{key:3,color:`text-base`,size:`medium`},{default:_(()=>[e(m(t(y).baseText(`oauth.consentView.description`,{interpolate:{clientName:U.value?.clientName??``}})),1)]),_:1})),Y.value?(l(),c(re,{key:4,modelValue:R.value,"onUpdate:modelValue":a[0]||=e=>R.value=e,"available-scopes":J.value,groups:t(T),"scope-tools":U.value?.scopeTools,"i18n-key-prefix":`oauth.consentView.scopes`,"root-test-id":`consent-scopes`},null,8,[`modelValue`,`available-scopes`,`groups`,`scope-tools`])):W.value?i(``,!0):(l(),r(`ul`,{key:5,class:u(n.$style[`permission-list`])},[v(`li`,null,m(t(y).baseText(`oauth.consentView.action.listWorkflows`)),1),v(`li`,null,m(t(y).baseText(`oauth.consentView.action.workflowDetails`)),1),v(`li`,null,m(t(y).baseText(`oauth.consentView.action.executeWorkflows`)),1),v(`li`,null,m(t(y).baseText(`oauth.consentView.action.executionDetails`)),1),v(`li`,null,m(t(y).baseText(`oauth.consentView.action.createUpdateWorkflows`)),1),v(`li`,null,m(t(y).baseText(`oauth.consentView.action.createDataTables`)),1),v(`li`,null,m(t(y).baseText(`oauth.consentView.action.searchProjectsAndFolders`)),1)],2))],2)],2)),!k.value&&!N.value&&(B.value||P.value)?(l(),r(`footer`,{key:4,class:u(n.$style.footer)},[!B.value&&X.value?(l(),r(`div`,{key:0,class:u(n.$style.divided)},[p(t(ie),{theme:`secondary`,iconless:!0,class:u(n.$style[`redirect-note`]),"data-test-id":`consent-redirect-warning`},{default:_(()=>[v(`span`,{class:u(n.$style[`redirect-note-title`])},m(t(y).baseText(`oauth.consentView.redirectWarning.title`)),3),v(`code`,{class:u(n.$style[`redirect-url`]),"data-test-id":`consent-redirect-uri`},m(U.value?.redirectUri),3)]),_:1},8,[`class`])],2)):i(``,!0),v(`div`,{class:u([n.$style[`footer-actions`],n.$style.divided])},[!B.value&&X.value?(l(),c(t(ne),{key:0,modelValue:L.value,"onUpdate:modelValue":a[1]||=e=>L.value=e,class:u(n.$style[`trust-confirm`]),label:t(y).baseText(`oauth.consentView.redirectWarning.confirm`),"data-test-id":`consent-redirect-confirm`},null,8,[`modelValue`,`class`,`label`])):i(``,!0),v(`div`,{class:u(n.$style[`button-group`])},[B.value?(l(),c(t(b),{key:0,variant:`solid`,"data-test-id":`consent-close-button`,size:`large`,onClick:ue},{default:_(()=>[e(m(t(y).baseText(`generic.close`)),1)]),_:1})):(l(),r(d,{key:1},[p(t(b),{variant:`outline`,"data-test-id":`consent-deny-button`,size:`large`,loading:V.value,disabled:V.value,onClick:le},{default:_(()=>[e(m(t(y).baseText(`generic.deny`)),1)]),_:1},8,[`loading`,`disabled`]),p(t(se),{disabled:!Q.value||!$.value},{content:_(()=>[e(m($.value),1)]),default:_(()=>[p(t(b),{variant:`solid`,"data-test-id":`consent-allow-button`,size:`large`,loading:V.value,disabled:Q.value,onClick:ce},{default:_(()=>[e(m(t(y).baseText(`oauth.consentView.allow`)),1)]),_:1},8,[`loading`,`disabled`])]),_:1},8,[`disabled`])],64))],2)],2)],2)):i(``,!0)],2)],2))}}),R=`_overlay_fngd8_1`,z=`_header_fngd8_31`,B=`_logo_fngd8_38`,V=`_connector_fngd8_58`,H=`_badge_fngd8_85`,U=`_content_fngd8_118`,W=`_success_fngd8_124`,G=`_footer_fngd8_153`,K=`_divided_fngd8_152`,q=D(L,[[`__cssModules`,{$style:{overlay:R,"consent-dialog":`_consent-dialog_fngd8_14`,header:z,logo:B,"brand-icon":`_brand-icon_fngd8_53`,connector:V,"connector-line":`_connector-line_fngd8_75`,"mcp-connector-dash":`_mcp-connector-dash_fngd8_1`,badge:H,"badge-spinner":`_badge-spinner_fngd8_102`,"mcp-connector-spin":`_mcp-connector-spin_fngd8_1`,content:U,success:W,"text-content":`_text-content_fngd8_133`,"permission-list":`_permission-list_fngd8_139`,footer:G,divided:K,"redirect-note":`_redirect-note_fngd8_171`,"redirect-note-title":`_redirect-note-title_fngd8_179`,"redirect-url":`_redirect-url_fngd8_180`,"footer-actions":`_footer-actions_fngd8_194`,"button-group":`_button-group_fngd8_203`,"trust-confirm":`_trust-confirm_fngd8_212`}}]]);export{q as default};
@@ -1 +0,0 @@
1
- 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]=`f3569fc1-dcac-40f5-a3d3-0a5b7e7aa37e`,e._sentryDebugIdIdentifier=`sentry-dbid-f3569fc1-dcac-40f5-a3d3-0a5b7e7aa37e`)})()}catch{}import{Ad as e,Af as t,Cd as n,Dd as r,Ed as i,Kd as a,Nd as o,Pu as s,Qd as c,Sf as l,Td as u,Tu as d,Vd as f,Wd as p,Yd as m,Zf as h,as as g,cf as _,is as v,jd as y,np as b,of as x,uf as S,wd as C,yd as w}from"./vendor-BBKxcFox.js";import{B_ as T,Eh as ee,Fx as te,GC as ne,Gi as E,I_ as D,Ir as O,KC as k,LC as A,N_ as j,Pc as M,R_ as re,Rr as ie,TC as N,WC as P,YC as F,YS as ae,bf as I,cS as L,ew as R,g_ as z,gf as oe,hf as se,jp as ce,m as B,mf as V,my as H,p as U,tC as le,yp as ue,zC as de,z_ as fe}from"./app-CpgR-J15.js";import{t as W}from"./promotions.eventBus-B3Jv7Css.js";import{i as pe,t as G}from"./readyToRun.store-Dakbm94R.js";import{t as me}from"./useLatestFetch-BqC-A0c3.js";import{n as K}from"./useInstancePromotionConnection-gQ61Hgvz.js";import{t as q}from"./promotions.api-DK3WsfqT.js";function he(e,t){if(!e.dynamicRoute)return e;let n={name:e.dynamicRoute.name};e.dynamicRoute.includeProjectId&&t&&(n.params={projectId:t});let{dynamicRoute:r,...i}=e;return{...i,to:n}}function ge(e,t){return e.map(e=>he(e,t))}var _e=o({__name:`ProjectTabs`,props:{showSettings:{type:Boolean,default:!1},showExecutions:{type:Boolean,default:!0},pageType:{default:`project`},additionalTabs:{default:()=>[]}},setup(e){let r=e,i=R(),a=v(),o=V(),s=D(),c=l(``),d=n(()=>c.value?String(c.value):``),f=n(()=>Array.isArray(a?.params?.projectId)?a.params.projectId[0]:a?.params?.projectId),p=n(()=>o.currentProject?.type===I.Public),h=()=>f.value?{workflows:{name:j.PROJECTS_WORKFLOWS,params:{projectId:f.value}},credentials:{name:j.PROJECTS_CREDENTIALS,params:{projectId:f.value}},executions:{name:j.PROJECTS_EXECUTIONS,params:{projectId:f.value}},variables:{name:j.PROJECTS_VARIABLES,params:{projectId:f.value}}}:r.pageType===`shared`?{workflows:{name:j.SHARED_WORKFLOWS},credentials:{name:j.SHARED_CREDENTIALS},executions:{name:j.NOT_FOUND},variables:{name:j.NOT_FOUND}}:{workflows:{name:j.WORKFLOWS},credentials:{name:j.CREDENTIALS},executions:{name:j.EXECUTIONS},variables:{name:j.HOME_VARIABLES}},g=(e,t,n)=>({label:i.baseText(e),value:n[t].name,to:n[t]}),y=n(()=>{let e=h(),t=[g(`mainSidebar.workflows`,`workflows`,e),g(`mainSidebar.credentials`,`credentials`,e)];if(r.showExecutions&&t.push(g(`mainSidebar.executions`,`executions`,e)),(r.pageType===`overview`||r.pageType===`project`&&!p.value)&&t.push(g(`mainSidebar.variables`,`variables`,e)),r.additionalTabs?.length){let e=ge(r.additionalTabs,f.value);for(let n of e){let{insertAfter:e,...r}=n,i=e?t.findIndex(t=>t.value===e):-1;i===-1?t.push(r):t.splice(i+1,0,r)}}return r.showSettings&&t.push({label:i.baseText(`projects.settings`),value:j.PROJECT_SETTINGS,to:{name:j.PROJECT_SETTINGS,params:{projectId:f.value}}}),t});_(()=>a?.name,()=>{c.value=a.name===j.PROJECTS_FOLDERS?j.PROJECTS_WORKFLOWS:a.name},{immediate:!0});function b(e){c.value===`variables`&&s.track(`User clicked project variables tab`,{project_id:f.value}),c.value=e}return(e,n)=>(m(),u(t(L),{"model-value":d.value,options:y.value,"data-test-id":`project-tabs`,"onUpdate:modelValue":b},null,8,[`model-value`,`options`]))}}),ve=F(o({__name:`ProjectCreateResource`,props:{actions:{},disabled:{type:Boolean},variant:{}},emits:[`action`],setup(e,{expose:n,emit:i}){let a=i,o=x(`actionToggleRef`);return n({openActionToggle:e=>o.value?.openActionToggle(e)}),(n,i)=>(m(),r(`div`,{class:h([n.$style.buttonGroup])},[c(n.$slots,`default`),y(t(N),{ref_key:`actionToggleRef`,ref:o,"data-test-id":`add-resource`,actions:e.actions,placement:`bottom-end`,teleported:!1,onAction:i[0]||=e=>a(`action`,e)},{default:S(()=>[y(t(P),{disabled:e.disabled,class:h([n.$style.buttonGroupDropdown]),icon:`chevron-down`,variant:e.variant??`solid`},null,8,[`disabled`,`class`,`variant`])]),_:1},8,[`actions`])],2))}}),[[`__cssModules`,{$style:{buttonGroup:`_buttonGroup_s7s71_1`,buttonGroupDropdown:`_buttonGroupDropdown_s7s71_12`}}]]),ye=(e,t,n)=>{if(!e||t<=0)return``;let r=.55*n,i=Math.floor(t/r);if(e.length<=i)return``;let a=e.slice(0,i),o=a.lastIndexOf(` `);return a.slice(0,o===-1?i:o)+`...`},be=o({__name:`ReadyToRunButton`,props:{hasActiveCallouts:{type:Boolean}},setup(r){let a=r,o=v(),s=R(),c=pe(),l=V(),d=oe(),f=E(),p=G(),h=n(()=>H(l.currentProject?.scopes??l.personalProject?.scopes)),g=n(()=>p.getButtonVisibility(f.totalWorkflowCount>0,h.value.workflow.create,d.preferences.branchReadOnly)&&!a.hasActiveCallouts),_=async()=>{let e=c.isOverviewSubPage?l.personalProject?.id:o.params.projectId;try{await p.claimCreditsAndOpenWorkflow(`button`,o.params.folderId,e)}catch{}};return(n,r)=>g.value?(m(),u(t(ne),{key:0,variant:`subtle`,"data-test-id":`ready-to-run-button`,icon:`zap`,loading:t(p).claimingCredits,disabled:t(d).preferences.branchReadOnly||t(p).claimingCredits,onClick:_},{default:S(()=>[e(b(t(s).baseText(`workflows.empty.readyToRun`)),1)]),_:1},8,[`loading`,`disabled`])):i(``,!0)}});function J(e,t,n){let r=T(),{next:i}=me(),a=l(0),o=l(!1);async function s(){let s=i(),c=e.value;if(a.value=0,o.value=!1,!(!n.value||!c))try{let{changes:e}=await q(r.restApiContext,c,t);s()&&(a.value=e.length)}catch{s()&&(o.value=!0)}}return _([e,n],s,{immediate:!0}),{count:a,failed:o,refetch:s}}var xe=F(o({__name:`PromotionBanners`,setup(o){let s=R(),c=g(),l=ue(),u=re(),d=V(),{isEnabled:f}=B(),v=n(()=>d.currentProject?.id),x=n(()=>d.currentProject?.type===I.Team),C=n(()=>H(d.currentProject?.scopes).project),w=n(()=>H(u.currentUser?.globalScopes).gitConnection),{connection:T,hasPromoteConfig:ee,hasApplyConfig:te,load:ne}=K(),E=n(()=>x.value&&f.value&&!!C.value.export&&!!w.value.list&&(!!w.value.push||!!w.value.pull)),D=n(()=>E.value&&ee.value&&!!w.value.push),O=n(()=>E.value&&te.value&&!!w.value.pull);_([E,v],async([e])=>{e&&await ne()},{immediate:!0});let{count:M,refetch:ie}=J(v,`promote`,D),{count:N,failed:P,refetch:F}=J(v,`apply`,O);async function L({projectId:e,project:t}){t&&d.currentProjectId===e&&d.setCurrentProject(t),await Promise.all([ie(),F()])}async function z({projectId:e}){d.currentProjectId===e&&await c.replace({name:j.HOMEPAGE})}a(()=>{W.on(`applied`,L),W.on(`projectRemoved`,z)}),p(()=>{W.off(`applied`,L),W.off(`projectRemoved`,z)});let oe=n(()=>M.value===1?s.baseText(`promotions.banner.singleChangeAvailable`):s.baseText(`promotions.banner.changesAvailable`,{interpolate:{count:String(M.value)}})),se=n(()=>P.value?s.baseText(`promotions.banner.incoming.error`):N.value===1?s.baseText(`promotions.banner.incoming.singleChangeAvailable`):s.baseText(`promotions.banner.incoming.changesAvailable`,{interpolate:{count:String(N.value)}}));function ce(){v.value&&l.openModalWithData({name:U,data:{projectId:v.value,direction:`promote`}})}function le(){let e=T.value?.configs.apply;!v.value||!T.value||!e||l.openModalWithData({name:U,data:{projectId:v.value,direction:`apply`,apply:{connectionId:T.value.id,configId:e.id,branchName:e.settings.branchName}}})}return(n,a)=>(m(),r(`div`,null,[D.value&&t(M)>0?(m(),r(`div`,{key:0,class:h(n.$style.banner),"data-test-id":`promotion-banner`},[y(t(k),{icon:`upload`,size:`small`}),y(t(A),{size:`small`},{default:S(()=>[e(b(oe.value),1)]),_:1}),y(t(ae),{size:`small`,"data-test-id":`promotion-banner-link`,onClick:ce},{default:S(()=>[e(b(t(s).baseText(`promotions.banner.viewChanges`)),1)]),_:1})],2)):i(``,!0),O.value&&(t(N)>0||t(P))?(m(),r(`div`,{key:1,class:h(n.$style.banner),"data-test-id":`promotion-incoming-banner`},[y(t(k),{icon:t(P)?`triangle-alert`:`download`,size:`small`},null,8,[`icon`]),y(t(A),{size:`small`},{default:S(()=>[e(b(se.value),1)]),_:1}),y(t(ae),{size:`small`,"data-test-id":`promotion-incoming-banner-link`,onClick:le},{default:S(()=>[e(b(t(s).baseText(`promotions.banner.viewChanges`)),1)]),_:1})],2)):i(``,!0)]))}}),[[`__cssModules`,{$style:{banner:`_banner_k33wq_1`}}]]),Se={style:{display:`flex`,gap:`var(--spacing--xs)`,"align-items":`center`}},Y=F(o({__name:`ProjectHeader`,props:{hasActiveCallouts:{type:Boolean},mainButton:{}},emits:[`createFolder`],setup(a,{emit:o}){let p=v(),_=g(),x=R(),T=V(),E=oe(),k=fe(),N=ue(),F=D(),{createAgent:ae}=O(),L=re(),B=se(),U=n(()=>T.currentProject?.id),W=n(()=>T.currentProject?.type===I.Team),G=n(()=>U.value?B.isFavorite(U.value,`project`):!1);async function me(){U.value&&await B.toggleFavorite(U.value,`project`)}let K=pe(),q=a,he=o,ge=n(()=>T.currentProject?.type===I.Personal?{type:`icon`,value:`user`}:T.currentProject?.name?te(T.currentProject.icon)?T.currentProject.icon:{type:`icon`,value:`layers`}:{type:`icon`,value:`house`}),J=n(()=>T.currentProject??T.personalProject),{canCreate:Y}=ie(()=>J.value?.id),Ce=n(()=>J.value?.type===I.Personal),we=n(()=>T.currentProject?T.currentProject.type===I.Personal?x.baseText(`projects.menu.personal`):T.currentProject.name:K.isSharedSubPage?x.baseText(`projects.header.shared.title`):K.isOverviewSubPage?x.baseText(`projects.menu.overview`):Ce.value?x.baseText(`projects.menu.personal`):null),Te=n(()=>H(T.currentProject?.scopes).project),Ee=n(()=>H(T.currentProject?.scopes).projectVariable),De=n(()=>H(L.currentUser?.globalScopes).variable),Oe=n(()=>H(T.currentProject?.scopes).externalSecretsProvider),ke=n(()=>!!p?.params?.projectId&&(!!Te.value.update||!!Te.value.manageMembers||!!Oe.value.read)&&T.currentProject?.type===I.Team),Ae=n(()=>k.isFoldersFeatureEnabled&&[j.PROJECTS_WORKFLOWS,j.PROJECTS_FOLDERS].includes(p.name)),je=n(()=>K.isSharedSubPage?`shared`:K.isOverviewSubPage?`overview`:`project`),Me=n(()=>{let e=N.moduleTabs[je.value];return Object.keys(e).filter(k.isModuleActive).flatMap(t=>e[t])}),X={WORKFLOW:`workflow`,CREDENTIAL:`credential`,FOLDER:`folder`,DATA_TABLE:`dataTable`,VARIABLE:`variable`,AGENT:`agent`},Ne=n(()=>({value:X.WORKFLOW,label:x.baseText(`projects.header.create.workflow`),icon:E.preferences.branchReadOnly?`lock`:void 0,size:`mini`,disabled:E.preferences.branchReadOnly||!H(J.value?.scopes).workflow.create})),Pe=n(()=>({value:X.CREDENTIAL,label:x.baseText(`projects.header.create.credential`),icon:E.preferences.branchReadOnly?`lock`:void 0,size:`mini`,disabled:E.preferences.branchReadOnly||!H(J.value?.scopes).credential.create})),Fe=n(()=>({value:X.DATA_TABLE,label:x.baseText(`dataTable.add.button.label`),icon:E.preferences.branchReadOnly?`lock`:void 0,size:`mini`,disabled:E.preferences.branchReadOnly||!H(J.value?.scopes)?.dataTable?.create})),Ie=n(()=>({value:X.VARIABLE,label:x.baseText(`variables.add.button.label`),icon:E.preferences.branchReadOnly?`lock`:void 0,size:`mini`,disabled:E.preferences.branchReadOnly||!k.isEnterpriseFeatureEnabled[z.Variables]||!Ee.value.create&&!De.value.create})),Le=n(()=>({value:X.AGENT,label:x.baseText(`projects.header.create.agent`),size:`mini`,disabled:!Y.value})),Z=n(()=>q.mainButton===X.AGENT&&!k.isModuleActive(`agents`)?X.WORKFLOW:q.mainButton??X.WORKFLOW),Re=n(()=>{switch(Z.value){case X.CREDENTIAL:return Pe.value;case X.DATA_TABLE:return Fe.value;case X.VARIABLE:return Ie.value;case X.AGENT:return Le.value;case X.WORKFLOW:default:return Ne.value}}),ze=n(()=>{let e=[];return Z.value!==X.WORKFLOW&&e.push({value:X.WORKFLOW,label:x.baseText(`projects.header.create.workflow`),disabled:E.preferences.branchReadOnly||!H(J.value?.scopes).workflow.create}),Z.value!==X.CREDENTIAL&&e.push({value:X.CREDENTIAL,label:x.baseText(`projects.header.create.credential`),disabled:E.preferences.branchReadOnly||!H(J.value?.scopes).credential.create}),Z.value!==X.VARIABLE&&k.isEnterpriseFeatureEnabled[z.Variables]&&e.push({value:X.VARIABLE,label:x.baseText(`variables.add.button.label`),disabled:E.preferences.branchReadOnly||!H(J.value?.scopes).projectVariable.create}),Ae.value&&e.push({value:X.FOLDER,label:x.baseText(`projects.header.create.folder`),disabled:E.preferences.branchReadOnly||!H(J.value?.scopes).folder.create}),k.isDataTableFeatureEnabled&&Z.value!==X.DATA_TABLE&&e.push({value:X.DATA_TABLE,label:x.baseText(`dataTable.add.button.label`),disabled:E.preferences.branchReadOnly||!H(J.value?.scopes)?.dataTable?.create}),k.isModuleActive(`agents`)&&Z.value!==X.AGENT&&e.push({value:X.AGENT,label:x.baseText(`projects.header.create.agent`),disabled:!Y.value}),e}),Be=n(()=>!K.isOverviewSubPage&&!K.isSharedSubPage&&!Ce.value);function Ve(e){return[j.PROJECTS_CREDENTIALS,j.CREDENTIALS,j.SHARED_CREDENTIALS].includes(e)}function He(e){return[j.PROJECTS_WORKFLOWS,j.WORKFLOWS,j.SHARED_WORKFLOWS,j.PROJECTS_FOLDERS].includes(e)}function Ue(e){if(Ve(e))return`credentials_list`;if(He(e))return`workflow_list`}let We={[X.WORKFLOW]:e=>{_.push({name:j.NEW_WORKFLOW,query:{projectId:e,parentFolderId:p.params.folderId,uiContext:Ue(p.name?.toString()??``)}})},[X.CREDENTIAL]:e=>{_.push({name:j.PROJECTS_CREDENTIALS,params:{projectId:e,credentialId:`create`},query:{uiContext:Ue(p.name?.toString()??``)}})},[X.FOLDER]:()=>{he(`createFolder`)},[X.DATA_TABLE]:e=>{_.push({name:ee,params:{projectId:e,new:`new`}})},[X.VARIABLE]:()=>{N.openModalWithData({name:ce,data:{mode:`new`}}),F.track(`User clicked header add variable button`)},[X.AGENT]:(e,t)=>{ae(t,e)}},Ge=n(()=>K.isSharedSubPage?x.baseText(`projects.header.shared.subtitle`):K.isOverviewSubPage?x.baseText(k.isDataTableFeatureEnabled?`projects.header.overview.subtitleWithDataTables`:`projects.header.overview.subtitle`):Ce.value?x.baseText(k.isDataTableFeatureEnabled?`projects.header.personal.subtitleWithDataTables`:`projects.header.personal.subtitle`):null),Q=n(()=>K.isProjectsSubPage?T.currentProject?.description:null),Ke=n(()=>G.value?`star-filled`:`star`),$=l(null),{width:qe}=d($),Je=l(null),{width:Ye}=d(Je),Xe=l(null);s($,()=>{if(!$.value)return;let e=$.value.querySelector(`span[data-test-id="project-subtitle"]`);if(e){let t=window.getComputedStyle(e);Xe.value=parseFloat(t.fontSize)}});let Ze=n(()=>{if(!Q.value)return``;let e=qe.value-Ye.value,t=Xe.value??14;return ye(Q.value,e,t)}),Qe=(e,t)=>{let n=We[e];J.value&&n(J.value.id,t)};return(n,a)=>(m(),r(`div`,null,[C(`div`,{ref_key:`projectHeaderRef`,ref:$,class:h(n.$style.projectHeader)},[C(`div`,{class:h(n.$style.projectDetails)},[Be.value?(m(),u(M,{key:0,icon:ge.value,"border-less":!0,size:`medium`},null,8,[`icon`])):i(``,!0),C(`div`,{class:h(n.$style.headerActions)},[we.value?(m(),u(t(le),{key:0,bold:``,tag:`h2`,size:`xlarge`,"data-test-id":`project-name`},{default:S(()=>[e(b(we.value),1)]),_:1})):i(``,!0),Ge.value?(m(),u(t(A),{key:1,color:`text-light`,"data-test-id":`project-subtitle`},{default:S(()=>[e(b(Ge.value),1)]),_:1})):Q.value?(m(),r(`div`,{key:2,class:h(n.$style.projectDescriptionWrapper)},[y(t(A),{color:`text-light`,"data-test-id":`project-subtitle`},{default:S(()=>[e(b(Ze.value||Q.value),1)]),_:1}),Ze.value?(m(),r(`div`,{key:0,class:h(n.$style.tooltip)},[y(t(A),{color:`text-light`},{default:S(()=>[e(b(Q.value),1)]),_:1})],2)):i(``,!0)],2)):i(``,!0)],2),W.value?(m(),u(t(P),{key:1,class:h([n.$style.favoriteBtn,G.value&&n.$style.favoriteBtnActive]),icon:Ke.value,"aria-label":t(x).baseText(G.value?`favorites.remove`:`favorites.add`),variant:`ghost`,size:`medium`,"data-test-id":`project-favorite-btn`,onClick:w(me,[`stop`])},null,8,[`class`,`icon`,`aria-label`])):i(``,!0)],2),t(p).name===t(j).PROJECT_SETTINGS?i(``,!0):(m(),r(`div`,{key:0,ref_key:`headerActionsRef`,ref:Je,class:h([n.$style.headerActions])},[y(t(de),{disabled:!t(E).preferences.branchReadOnly,content:t(x).baseText(`readOnlyEnv.cantAdd.any`)},{default:S(()=>[C(`div`,Se,[y(be,{"has-active-callouts":q.hasActiveCallouts},null,8,[`has-active-callouts`]),y(ve,{"data-test-id":`add-resource-buttons`,actions:ze.value,disabled:t(E).preferences.branchReadOnly,onAction:a[1]||=e=>Qe(e,`dropdown`)},{default:S(()=>[y(t(ne),f({"data-test-id":`add-resource-${Z.value}`},Re.value,{size:`medium`,onClick:a[0]||=e=>Qe(Z.value,`button`)}),null,16,[`data-test-id`])]),_:1},8,[`actions`,`disabled`])])]),_:1},8,[`disabled`,`content`])],2))],2),c(n.$slots,`default`),C(`div`,{class:h(n.$style.actions)},[y(_e,{"page-type":je.value,"show-executions":!t(K).isSharedSubPage,"show-settings":ke.value,"additional-tabs":Me.value},null,8,[`page-type`,`show-executions`,`show-settings`,`additional-tabs`])],2),y(xe)]))}}),[[`__cssModules`,{$style:{projectHeader:`_projectHeader_19xx4_113`,projectDetails:`_projectDetails_19xx4_120`,actions:`_actions_19xx4_125`,projectDescriptionWrapper:`_projectDescriptionWrapper_19xx4_129`,tooltip:`_tooltip_19xx4_133`,favoriteBtn:`_favoriteBtn_19xx4_150`,favoriteBtnActive:`_favoriteBtnActive_19xx4_157`,headerActions:`_headerActions_19xx4_171`}}]]);export{Y as t};
@@ -1 +0,0 @@
1
- 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]=`7a1c06b6-779b-454f-9703-682b276cf729`,e._sentryDebugIdIdentifier=`sentry-dbid-7a1c06b6-779b-454f-9703-682b276cf729`)})()}catch{}import{o as e}from"./rolldown-runtime-BobR2NKB.js";import{Ad as t,Af as n,Cd as r,Dd as i,Ed as a,Jo as o,Nd as s,Sf as c,Td as l,Tf as u,Yd as d,Zd as f,Zf as p,Zo as m,_d as h,_f as g,as as _,bd as v,cf as y,df as b,is as x,jd as S,np as C,uf as w,vu as T,wd as E}from"./vendor-BBKxcFox.js";import{Bx as D,GC as O,I_ as k,JS as A,LC as j,Lx as M,M_ as N,N_ as P,Rx as F,Xx as I,YC as L,_y as R,cS as ee,cg as te,ew as z,jC as B,kx as ne,rC as V,tC as re,wo as H,zC as ie,z_ as ae,zx as U}from"./app-CpgR-J15.js";import{a as W,n as G,t as oe}from"./projectRoleScopes-CmxWpREX.js";import{n as se,t as ce}from"./useRoleEditorForm-DaG3zVGH.js";var K=e(o(),1),q=L(s({__name:`RoleProjectMembersModal`,props:{open:{type:Boolean},roleSlug:{},projectId:{},projectName:{}},emits:[`update:open`],setup(e,{emit:a}){let o=e,s=a,u=H(),m=z(),h=_(),g=c({members:[]}),b=c(!1);y(()=>o.open,async e=>{if(e){b.value=!0;try{g.value=await u.fetchRoleProjectMembers(o.roleSlug,o.projectId)}finally{b.value=!1}}},{immediate:!0});let x=r(()=>{let e=[...u.roles.global,...u.roles.project,...u.roles.credential,...u.roles.workflow];return new Map(e.map(e=>[e.slug,e.displayName]))});function T(e){return x.value.get(e)??e}function k(){s(`update:open`,!1),h.push({name:P.PROJECT_SETTINGS,params:{projectId:o.projectId}})}return(r,a)=>(d(),l(n(F),{open:e.open,size:`medium`,"onUpdate:open":a[1]||=e=>s(`update:open`,e)},{default:w(()=>[S(n(D),null,{default:w(()=>[S(n(U),null,{default:w(()=>[t(C(n(m).baseText(`projectRoles.assignments.membersModal.title`,{interpolate:{projectName:e.projectName}})),1)]),_:1})]),_:1}),E(`div`,{class:p(r.$style.content)},[b.value?(d(),l(n(B),{key:0,rows:3})):(d(),i(`div`,{key:1,class:p(r.$style.memberList)},[(d(!0),i(v,null,f(g.value.members,e=>(d(),i(`div`,{key:e.userId,class:p(r.$style.memberRow)},[S(n(I),{"first-name":e.firstName,"last-name":e.lastName,email:e.email},null,8,[`first-name`,`last-name`,`email`]),S(n(j),{class:p(r.$style.roleLabel),color:`text-light`,size:`small`},{default:w(()=>[t(C(T(e.role)),1)]),_:2},1032,[`class`])],2))),128))],2))],2),S(n(M),null,{default:w(()=>[S(n(O),{variant:`subtle`,onClick:a[0]||=e=>s(`update:open`,!1)},{default:w(()=>[t(C(n(m).baseText(`projectRoles.assignments.membersModal.cancel`)),1)]),_:1}),S(n(O),{onClick:k},{default:w(()=>[t(C(n(m).baseText(`projectRoles.assignments.membersModal.manageMembers`)),1)]),_:1})]),_:1})]),_:1},8,[`open`]))}}),[[`__cssModules`,{$style:{content:`_content_bm3ht_2`,memberList:`_memberList_bm3ht_8`,memberRow:`_memberRow_bm3ht_13`,roleLabel:`_roleLabel_bm3ht_25`}}]]),J=[`onClick`],le=L(s({__name:`RoleAssignmentsTab`,props:{roleSlug:{}},setup(e){let o=e,s=H(),u=z(),{state:h,isLoading:g,execute:_}=T(async()=>await s.fetchRoleAssignments(o.roleSlug),{projects:[],totalProjects:0});y(()=>o.roleSlug,async()=>await _());let b=c(!1),x=c(null),D=c(`memberCount`),O=c(`desc`),k=r(()=>h.value.totalProjects-h.value.projects.length),A=r(()=>[...h.value.projects].sort((e,t)=>{let n=0;return n=D.value===`projectName`?e.projectName.localeCompare(t.projectName):D.value===`memberCount`?e.memberCount-t.memberCount:(e.lastAssigned??``).localeCompare(t.lastAssigned??``),O.value===`desc`?-n:n}));function M(e){D.value===e?O.value=O.value===`asc`?`desc`:`asc`:(D.value=e,O.value=e===`memberCount`?`desc`:`asc`)}function N(e){return D.value===e?O.value===`asc`?` ↑`:` ↓`:``}function F(e){x.value=e,b.value=!0}function I(e){return e?(0,K.default)(new Date(e),`mmm dS, yyyy`):`—`}return(r,o)=>(d(),i(`div`,{class:p(r.$style.container)},[n(g)?(d(),l(n(B),{key:0,rows:3})):n(h).projects.length===0?(d(),i(`div`,{key:1,class:p(r.$style.emptyState)},[S(n(j),{color:`text-light`},{default:w(()=>[t(C(k.value>0?n(u).baseText(`projectRoles.assignments.restrictedEmptyState`,{adjustToNumber:k.value,interpolate:{count:k.value}}):n(u).baseText(`projectRoles.assignments.emptyState`)),1)]),_:1})],2)):(d(),i(v,{key:2},[k.value>0?(d(),l(n(j),{key:0,class:p(r.$style.restrictedNotice),color:`text-light`,size:`small`,tag:`p`},{default:w(()=>[t(C(n(u).baseText(`projectRoles.assignments.restrictedNotice`,{interpolate:{count:n(h).projects.length,total:n(h).totalProjects}})),1)]),_:1},8,[`class`])):a(``,!0),S(n(V),null,{default:w(()=>[E(`thead`,null,[E(`tr`,null,[E(`th`,{class:p(r.$style.sortableHeader),onClick:o[0]||=e=>M(`projectName`)},C(n(u).baseText(`projectRoles.assignments.projectColumn`))+C(N(`projectName`)),3),E(`th`,{class:p([r.$style.alignRight,r.$style.sortableHeader]),onClick:o[1]||=e=>M(`memberCount`)},C(n(u).baseText(`projectRoles.assignments.membersColumn`))+C(N(`memberCount`)),3),E(`th`,{class:p(r.$style.sortableHeader),onClick:o[2]||=e=>M(`lastAssigned`)},C(n(u).baseText(`projectRoles.assignments.lastAssignedColumn`))+C(N(`lastAssigned`)),3)])]),E(`tbody`,null,[(d(!0),i(v,null,f(A.value,e=>(d(),i(`tr`,{key:e.projectId},[E(`td`,null,[S(n(m),{to:{name:n(P).PROJECTS_WORKFLOWS,params:{projectId:e.projectId}},class:p(r.$style.projectLink)},{default:w(()=>[t(C(e.projectName),1)]),_:2},1032,[`to`,`class`])]),E(`td`,{class:p(r.$style.alignRight)},[E(`button`,{class:p(r.$style.memberCountButton),onClick:t=>F(e)},C(e.memberCount),11,J)],2),E(`td`,null,C(I(e.lastAssigned)),1)]))),128))])]),_:1})],64)),x.value?(d(),l(q,{key:3,open:b.value,"role-slug":e.roleSlug,"project-id":x.value.projectId,"project-name":x.value.projectName,"onUpdate:open":o[3]||=e=>b.value=e},null,8,[`open`,`role-slug`,`project-id`,`project-name`])):a(``,!0)],2))}}),[[`__cssModules`,{$style:{container:`_container_s1egh_2`,emptyState:`_emptyState_s1egh_6`,restrictedNotice:`_restrictedNotice_s1egh_11`,alignRight:`_alignRight_s1egh_15`,sortableHeader:`_sortableHeader_s1egh_19`,projectLink:`_projectLink_s1egh_24`,memberCountButton:`_memberCountButton_s1egh_33`}}]]),ue={key:0,class:`mb-l`},de={style:{flex:`1`}},fe={key:1,class:`mt-xl`},pe=L(s({__name:`ProjectRoleView`,props:{roleSlug:{}},setup(e){let o=H(),s=x(),c=_(),{showError:m,showMessage:y}=N(),T=z(),D=ne(),M=k(),F=ae(),I=e,{activeTab:L,tabOptions:V,form:U,isLoading:K,initialState:q,isReadOnly:J,isNew:pe,showEditButtons:me,showCreateButton:he,hasUnsavedChanges:ge,displayNameValidationRules:_e,submitted:ve,validateOnSubmit:ye,resetForm:be}=ce({roleSlug:()=>I.roleSlug,viewRoute:P.PROJECT_ROLE_VIEW,defaultScopes:()=>structuredClone(u(o.processedProjectRoles.find(e=>e.slug===`project:viewer`)?.scopes??[])),filterScopes:e=>e.filter(e=>R.project.has(e)),fetchError:`Error fetching role`}),Y=r(()=>s.query.from===P.PROJECT_SETTINGS),xe=r(()=>Y.value?T.baseText(`projectRoles.backToProjectSettings`):T.baseText(`projectRoles.backToProjectRoles`)),Se=()=>{Y.value?c.back():c.push({name:P.PROJECT_ROLES_SETTINGS})},Ce=r(()=>F.moduleSettings[`external-secrets`]?.roleBasedAccess?G:G.filter(e=>e!==`externalSecretsProvider`&&e!==`externalSecret`)),X=oe;function Z(e){let t=U.value.scopes.indexOf(e),n=t===-1;if(t===-1?U.value.scopes.push(e):U.value.scopes.splice(t,1),e.startsWith(`dataTable:`)&&e.endsWith(`:read`)){Z(e.replace(`:read`,`:listProject`));return}if(e.endsWith(`:read`)&&Z(e.replace(`:read`,`:list`)),e===`workflow:execute`&&n&&(U.value.scopes.includes(`workflow:read`)||Z(`workflow:read`)),e===`workflow:read`&&!n&&U.value.scopes.includes(`workflow:execute`)&&Z(`workflow:execute`),e===`workflow:read`&&(n&&!U.value.scopes.includes(`execution:read`)&&Z(`execution:read`),n||(U.value.scopes.includes(`execution:read`)&&Z(`execution:read`),U.value.scopes.includes(`execution:delete`)&&Z(`execution:delete`))),e===`execution:delete`&&n&&!U.value.scopes.includes(`workflow:read`)&&Z(`workflow:read`),e===`workflow:publish`){if(n&&!U.value.scopes.includes(`workflow:unpublish`))U.value.scopes.push(`workflow:unpublish`);else if(!n){let e=U.value.scopes.indexOf(`workflow:unpublish`);e!==-1&&U.value.scopes.splice(e,1)}}}async function we(){if(ye(`projectRoles.action.create.error`))try{let e=await o.createRole({...U.value,scopes:W(U.value.scopes),description:U.value.description??void 0,roleType:`project`});return o.fetchRoles(),M.track(`User successfully created new role`,{role_id:e.slug,role_name:e.displayName,role_type:`project`,permissions:e.scopes}),c.replace({name:P.PROJECT_ROLE_SETTINGS,params:{roleSlug:e.slug}}),y({type:`success`,message:T.baseText(`projectRoles.action.create.success`)}),q.value=structuredClone(e),e}catch(e){m(e,T.baseText(`projectRoles.action.create.error`));return}}async function Te(e){return e?await D.confirm(T.baseText(`projectRoles.action.update.text`,{interpolate:{count:e}}),T.baseText(`projectRoles.action.update.title`,{interpolate:{count:e}}),{type:`warning`,confirmButtonText:T.baseText(`projectRoles.action.update`),cancelButtonText:T.baseText(`roles.action.cancel`)})===te:!0}async function Ee(e){if(await Te(q?.value?.usedByUsers))try{let t=await o.updateRole(e,{...U.value,scopes:W(U.value.scopes),description:U.value.description??void 0});return o.fetchRoles(),M.track(`User updated role`,{role_id:t.slug,role_name:t.displayName,role_type:`project`,permissions_from:q.value?.scopes,permissions_to:t.scopes}),q.value=structuredClone(t),y({type:`success`,message:T.baseText(`projectRoles.action.update.success`)}),t}catch(e){m(e,T.baseText(`projectRoles.action.update.error`));return}}async function Q(){I.roleSlug?await Ee(I.roleSlug):await we()}function $(e){let t=o.processedProjectRoles.find(t=>t.slug===e);t&&(U.value.scopes=structuredClone(u(t.scopes)).filter(e=>R.project.has(e)))}async function De(){if(q?.value&&await D.confirm(T.baseText(`roles.action.delete.text`,{interpolate:{roleName:q.value.displayName}}),T.baseText(`roles.action.delete.title`,{interpolate:{roleName:q.value.displayName}}),{type:`warning`,confirmButtonText:T.baseText(`roles.action.delete`),cancelButtonText:T.baseText(`roles.action.cancel`)})===`confirm`){M.track(`User clicked delete role`,{role_id:q.value.slug,role_name:q.value.displayName,permissions:q.value?.scopes});try{await o.deleteRole(q.value.slug);let e=o.roles.project.findIndex(e=>e.slug===q.value?.slug);e!==-1&&o.roles.project.splice(e,1),y({title:T.baseText(`roles.action.delete.success`),type:`success`}),M.track(`User successfully deleted role`,{role_id:q.value.slug,role_name:q.value.displayName,permissions:q.value?.scopes}),c.back()}catch(e){m(e,T.baseText(`roles.action.delete.error`));return}}}let Oe=r(()=>({newRoleTitle:T.baseText(`projectRoles.newRole`),roleName:T.baseText(`projectRoles.roleName`),description:T.baseText(`projectRoles.description`),optional:T.baseText(`projectRoles.optional`),systemRoleNotEditable:T.baseText(`projectRoles.systemRoleNotEditable`),discardChanges:T.baseText(`projectRoles.discardChanges`),save:T.baseText(`projectRoles.save`),create:T.baseText(`projectRoles.create`)}));return(r,o)=>(d(),l(se,{"display-name":n(U).displayName,"onUpdate:displayName":o[5]||=e=>n(U).displayName=e,description:n(U).description,"onUpdate:description":o[6]||=e=>n(U).description=e,"is-new":n(pe),"is-read-only":n(J),"show-edit-buttons":n(me),"show-create-button":n(he),"has-unsaved-changes":n(ge),"back-button-text":xe.value,labels:Oe.value,"display-name-validation-rules":n(_e),"show-display-name-error":n(ve),onBack:Se,onSave:Q,onDiscard:o[7]||=e=>n(be)(n(q)),onCreate:Q},{default:w(()=>[e.roleSlug?(d(),i(`div`,ue,[S(n(ee),{modelValue:n(L),"onUpdate:modelValue":o[0]||=e=>g(L)?L.value=e:null,options:n(V)},null,8,[`modelValue`,`options`])])):a(``,!0),b(E(`div`,null,[n(J)?a(``,!0):(d(),i(v,{key:0},[S(n(j),{color:`text-light`,class:`mb-2xs`,tag:`p`},{default:w(()=>[t(C(n(T).baseText(`projectRoles.preset`)),1)]),_:1}),E(`div`,{class:p([`mb-s`,r.$style.presetsContainer])},[S(n(O),{variant:`subtle`,onClick:o[1]||=e=>$(`project:admin`)},{default:w(()=>[t(C(n(T).baseText(`projectRoles.admin`)),1)]),_:1}),S(n(O),{variant:`subtle`,onClick:o[2]||=e=>$(`project:editor`)},{default:w(()=>[t(C(n(T).baseText(`projectRoles.editor`)),1)]),_:1}),S(n(O),{variant:`subtle`,onClick:o[3]||=e=>$(`project:viewer`)},{default:w(()=>[t(C(n(T).baseText(`projectRoles.viewer`)),1)]),_:1})],2)],64)),E(`div`,{class:p(r.$style.cardContainer)},[(d(!0),i(v,null,f(Ce.value,e=>(d(),i(`div`,{key:e,class:p([`mb-s mt-s`,r.$style.card])},[E(`div`,{class:p(r.$style.cardTitle)},C(n(T).baseText(`projectRoles.type.${e}`)),3),E(`div`,de,[n(K)?(d(),l(n(B),{key:0,rows:n(X)[e].length,"shrink-last":!1},null,8,[`rows`])):(d(!0),i(v,{key:1},f(n(X)[e],e=>(d(),i(`div`,{key:e,class:`mb-2xs`},[S(n(ie),{content:n(T).baseText(`projectRoles.${e}.tooltip`),placement:`right`,enterable:!1,"show-after":250},{default:w(()=>[S(n(A),{"data-test-id":`scope-checkbox-${e}`,"model-value":n(U).scopes.includes(e),label:n(T).baseText(`projectRoles.${e}`),"validate-on-blur":``,type:`checkbox`,class:p(r.$style.checkbox),disabled:n(J)||e===`execution:read`,"onUpdate:modelValue":()=>Z(e)},null,8,[`data-test-id`,`model-value`,`label`,`class`,`disabled`,`onUpdate:modelValue`])]),_:2},1032,[`content`])]))),128))])],2))),128))],2),e.roleSlug&&!n(J)?(d(),i(`div`,fe,[S(n(re),{tag:`h2`,class:`mb-2xs`,size:`large`},{default:w(()=>[t(C(n(T).baseText(`projectRoles.dangerZone`)),1)]),_:1}),S(n(j),{tag:`p`,class:`mb-s`},{default:w(()=>[n(q)?.usedByProjects?(d(),i(v,{key:0},[t(C(n(T).baseText(`projectRoles.action.delete.useWarning.before`))+` `,1),E(`a`,{class:p(r.$style.assignmentsLink),onClick:o[4]||=e=>L.value=`assignments`},C(n(T).baseText(`projectRoles.action.delete.useWarning.linkText`,{adjustToNumber:n(q).usedByProjects,interpolate:{count:n(q).usedByProjects}})),3),t(`. `+C(n(T).baseText(`projectRoles.action.delete.useWarning.after`)),1)],64)):(d(),i(v,{key:1},[t(C(n(T).baseText(`projectRoles.action.delete.warning`)),1)],64))]),_:1}),S(n(O),{variant:`destructive`,disabled:!!n(q)?.usedByProjects,onClick:De},{default:w(()=>[t(C(n(T).baseText(`projectRoles.action.delete.button`)),1)]),_:1},8,[`disabled`])])):a(``,!0)],512),[[h,!e.roleSlug||n(L)===`permissions`]]),e.roleSlug&&n(L)===`assignments`?(d(),l(le,{key:1,"role-slug":e.roleSlug},null,8,[`role-slug`])):a(``,!0)]),_:1},8,[`display-name`,`description`,`is-new`,`is-read-only`,`show-edit-buttons`,`show-create-button`,`has-unsaved-changes`,`back-button-text`,`labels`,`display-name-validation-rules`,`show-display-name-error`]))}}),[[`__cssModules`,{$style:{cardContainer:`_cardContainer_1gh3t_2`,card:`_card_1gh3t_2`,cardTitle:`_cardTitle_1gh3t_21`,presetsContainer:`_presetsContainer_1gh3t_25`,checkbox:`_checkbox_1gh3t_30`,assignmentsLink:`_assignmentsLink_1gh3t_38`}}]]);export{pe as default};
@@ -1 +0,0 @@
1
- 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]=`9da190a6-72d3-4b08-95d0-0bfebfb0031d`,e._sentryDebugIdIdentifier=`sentry-dbid-9da190a6-72d3-4b08-95d0-0bfebfb0031d`)})()}catch{}import"./rolldown-runtime-BobR2NKB.js";import{$u as e,Ad as t,Af as n,Bd as r,Cd as i,Dd as a,Ed as o,Fd as s,Fs as c,Hd as l,Kd as u,Nd as d,Os as f,Qf as p,Sf as m,Td as h,Ud as g,Yd as _,Zd as v,Zf as y,as as b,bd as x,bf as S,cf as C,if as w,jd as T,np as E,od as D,uf as O,wd as k,yd as A}from"./vendor-BBKxcFox.js";import{F_ as ee,Fx as j,GC as M,Gx as te,I_ as N,JS as P,Jx as F,KC as I,LC as L,Li as R,M_ as ne,N_ as re,Om as z,Pp as ie,R_ as ae,Rb as oe,SC as se,S_ as ce,TC as B,To as V,UC as H,WC as le,XS as U,Xx as W,YC as G,_f as ue,eC as de,ew as K,iC as fe,lg as pe,mf as me,my as he,nd as ge,ou as q,pf as J,qx as _e,sC as Y,sm as ve,sp as ye,tC as X,vf as Z,wo as be,yp as Q,zC as xe,z_ as Se}from"./app-CpgR-J15.js";import{t as Ce}from"./ProjectHeader-B4DG-NX1.js";import{t as $}from"./RoleSelectDropdown-C7Hy_RYv.js";import{t as we}from"./useSecretsProvidersList.ee-B3hi7Qwv.js";var Te={key:1},Ee={class:`pt-l`},De=G(d({__name:`ProjectDeleteDialog`,props:r({currentProject:{},searchFn:{type:Function},resourceCounts:{}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:r([`confirmDelete`],[`update:modelValue`]),setup(e,{emit:r}){let s=e,l=w(e,`modelValue`),u=i(()=>s.searchFn??J()),d=e=>e.id!==s.currentProject?.id,p=r,g=K(),v=m(null),b=m(null),x=m(``),S=i(()=>s.resourceCounts.credentials+s.resourceCounts.workflows+s.resourceCounts.dataTables>0),C=i(()=>{let e=g.baseText(`projects.settings.delete.question.wipe.placeholder`);return!S.value||b.value===`transfer`&&!!v.value||b.value===`wipe`&&x.value===e}),D=()=>{C.value&&(b.value===`wipe`&&(v.value=null),p(`confirmDelete`,v.value?.id))};return(e,r)=>(_(),h(n(f),{modelValue:l.value,"onUpdate:modelValue":r[4]||=e=>l.value=e,title:n(g).baseText(`projects.settings.delete.title`,{interpolate:{projectName:s.currentProject?.name??``}}),width:`650`,"append-to":`#${n(z)}`},{footer:O(()=>[T(n(M),{variant:`destructive`,type:`button`,disabled:!C.value,"data-test-id":`project-settings-delete-confirm-button`,onClick:A(D,[`stop`,`prevent`])},{default:O(()=>[t(E(n(g).baseText(`projects.settings.danger.deleteProject`)),1)]),_:1},8,[`disabled`])]),default:O(()=>[S.value?S.value?(_(),a(`div`,Te,[T(n(L),{color:`text-base`},{default:O(()=>[t(E(n(g).baseText(`projects.settings.delete.message`)),1)]),_:1}),k(`div`,Ee,[T(n(c),{"model-value":b.value??``,label:`transfer`,class:`mb-s`,"onUpdate:modelValue":r[0]||=e=>b.value=`transfer`},{default:O(()=>[T(n(L),{color:`text-dark`},{default:O(()=>[t(E(n(g).baseText(`projects.settings.delete.question.transfer.label`)),1)]),_:1})]),_:1},8,[`model-value`]),b.value===`transfer`?(_(),a(`div`,{key:0,class:y(e.$style.operation)},[T(n(L),{color:`text-dark`},{default:O(()=>[t(E(n(g).baseText(`projects.settings.delete.question.transfer.title`)),1)]),_:1}),T(V,{modelValue:v.value,"onUpdate:modelValue":r[1]||=e=>v.value=e,class:`pt-2xs`,"search-fn":u.value,"filter-fn":d,"empty-options-text":n(g).baseText(`projects.sharing.noMatchingProjects`)},null,8,[`modelValue`,`search-fn`,`empty-options-text`])],2)):o(``,!0),T(n(c),{"model-value":b.value??``,label:`wipe`,class:`mb-s`,"onUpdate:modelValue":r[2]||=e=>b.value=`wipe`},{default:O(()=>[T(n(L),{color:`text-dark`},{default:O(()=>[t(E(n(g).baseText(`projects.settings.delete.question.wipe.label`)),1)]),_:1})]),_:1},8,[`model-value`]),b.value===`wipe`?(_(),a(`div`,{key:1,class:y(e.$style.operation)},[T(n(U),{label:n(g).baseText(`projects.settings.delete.question.wipe.title`)},{default:O(()=>[T(n(H),{modelValue:x.value,"onUpdate:modelValue":r[3]||=e=>x.value=e,"data-test-id":`project-delete-confirm-input`,placeholder:n(g).baseText(`projects.settings.delete.question.wipe.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])],2)):o(``,!0)])])):o(``,!0):(_(),h(n(L),{key:0,color:`text-base`},{default:O(()=>[t(E(n(g).baseText(`projects.settings.delete.message.empty`)),1)]),_:1}))]),_:1},8,[`modelValue`,`title`,`append-to`]))}}),[[`__cssModules`,{$style:{operation:`_operation_1ohxk_1`}}]]),Oe={class:`pt-l`},ke=G(d({__name:`ProjectRoleUpgradeDialog`,props:r({limit:{},planName:{}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let r=e,i=w(e,`modelValue`),a=q(),o=K(),s=async()=>{await a.goToUpgrade(`rbac`,`upgrade-rbac`),i.value=!1};return(e,a)=>(_(),h(n(f),{modelValue:i.value,"onUpdate:modelValue":a[1]||=e=>i.value=e,title:n(o).baseText(`projects.settings.role.upgrade.title`),width:`500`,"append-to":`#${n(z)}`},{footer:O(()=>[k(`div`,{class:y(e.$style.footer)},[T(n(M),{variant:`subtle`,"native-type":`button`,onClick:a[0]||=e=>i.value=!1},{default:O(()=>[t(E(n(o).baseText(`generic.cancel`)),1)]),_:1}),T(n(M),{variant:`solid`,"native-type":`button`,onClick:s},{default:O(()=>[t(E(n(o).baseText(`projects.create.limitReached.link`)),1)]),_:1})],2)]),default:O(()=>[k(`div`,Oe,[T(n(D),{keypath:`projects.settings.role.upgrade.message`,scope:`global`},{planName:O(()=>[t(E(r.planName),1)]),limit:O(()=>[t(E(n(o).baseText(`projects.create.limit`,{adjustToNumber:r.limit,interpolate:{count:String(r.limit)}})),1)]),_:1})])]),_:1},8,[`modelValue`,`title`,`append-to`]))}}),[[`__cssModules`,{$style:{footer:`_footer_149jx_1`}}]]),Ae=[`aria-label`],je=G(d({__name:`ProjectMembersAccessCell`,props:{data:{},projectRoles:{}},setup(e){let t=e,r=K(),a=i(()=>r.baseText(`projects.settings.table.access.full`)),o=i(()=>t.projectRoles.find(e=>e.slug===t.data.role)?.displayName),s=i(()=>{let e=[r.baseText(`projects.settings.table.access.tooltip.full`,{interpolate:{name:t.data.firstName||t.data.email||``,role:t.data.instanceRole?.displayName??``}})];return o.value&&e.push(r.baseText(`projects.settings.table.access.tooltip.storedRole`,{interpolate:{projectRole:o.value}})),e.join(` `)});return(e,t)=>(_(),h(n(xe),{placement:`top`,"show-after":300,content:s.value},{default:O(()=>[k(`span`,{class:y(e.$style.label),tabindex:`0`,"aria-label":`${a.value}. ${s.value}`,"data-test-id":`project-member-access-label`},[k(`span`,{class:y(e.$style.text)},E(a.value),3),T(n(I),{icon:`info`,size:`small`,color:`text-light`,class:y(e.$style.icon)},null,8,[`class`])],10,Ae)]),_:1},8,[`content`]))}}),[[`__cssModules`,{$style:{label:`_label_1myfd_1`,text:`_text_1myfd_16`,icon:`_icon_1myfd_22`}}]]),Me=d({__name:`ProjectMembersActionsCell`,props:{data:{},actions:{}},emits:[`action`],setup(e,{emit:t}){let r=e,i=t,a=e=>{i(`action`,{action:e,userId:r.data.id})};return(e,t)=>r.actions.length>0?(_(),h(n(B),{key:0,placement:`bottom`,actions:r.actions,theme:`dark`,onAction:a},null,8,[`actions`])):o(``,!0)}}),Ne={key:1},Pe=d({__name:`ProjectMembersRoleCell`,props:{data:{},roles:{}},emits:[`update:role`,`show-role-upgrade-dialog`],setup(e,{emit:t}){let r=e,o=t,s=Se(),c=i(()=>r.roles.find(e=>e.slug===r.data.role)),l=i(()=>r.data.role!==`project:personalOwner`),u=i(()=>s.isCustomRolesFeatureEnabled),d=i(()=>ue([`rbac`],{rbac:{scope:`role:manage`}})),f=i(()=>r.roles.filter(e=>e.systemRole)),p=i(()=>r.roles.filter(e=>!e.systemRole)),m=e=>{o(`update:role`,{role:e,userId:r.data.id})};return(t,r)=>l.value?(_(),h($,{key:0,"system-roles":f.value,"custom-roles":p.value,"current-role":e.data.role,"has-custom-roles-license":u.value,"can-manage-roles":d.value,"add-custom-role-route-name":n(re).PROJECT_NEW_ROLE,"test-id":`project-member-role-dropdown`,"onUpdate:role":m,onSystemRoleUpgradeNeeded:r[0]||=e=>o(`show-role-upgrade-dialog`)},null,8,[`system-roles`,`custom-roles`,`current-role`,`has-custom-roles-license`,`can-manage-roles`,`add-custom-role-route-name`])):(_(),a(`span`,Ne,E(c.value?.displayName),1))}}),Fe={class:`pt-xs pb-xs`},Ie=d({__name:`ProjectMembersTable`,props:r({data:{},loading:{type:Boolean},currentUserId:{},projectRoles:{},actions:{},canEditRole:{type:Boolean}},{tableOptions:{default:()=>({page:0,itemsPerPage:10,sortBy:[]})},tableOptionsModifiers:{}}),emits:r([`update:options`,`update:role`,`show-role-upgrade-dialog`,`action`],[`update:tableOptions`]),setup(e,{emit:r}){let o=K(),c=e,l=r,u=w(e,`tableOptions`),d=i(()=>c.data.items),f=m([{title:o.baseText(`projects.settings.table.header.user`),key:`name`,width:400,disableSort:!0,value:e=>e},{title:o.baseText(`projects.settings.table.header.role`),key:`role`,width:200,disableSort:!0},{title:``,key:`actions`,align:`end`,width:46,disableSort:!0,value(){}}]),g=e=>!e.alwaysHasAccess&&e.id!==c.currentUserId&&c.canEditRole,v=({role:e,userId:t})=>{l(`update:role`,{role:e,userId:t})},y=e=>e.alwaysHasAccess||e.id===c.currentUserId||e.role===`project:personalOwner`?[]:(c.actions??[]).filter(t=>t.guard?.(e)??!0);return(r,i)=>(_(),a(`div`,null,[T(n(te),{"sort-by":u.value.sortBy,"onUpdate:sortBy":i[2]||=e=>u.value.sortBy=e,page:u.value.page,"onUpdate:page":i[3]||=e=>u.value.page=e,"items-per-page":u.value.itemsPerPage,"onUpdate:itemsPerPage":i[4]||=e=>u.value.itemsPerPage=e,headers:f.value,items:d.value,"items-length":e.data.count,loading:e.loading,"page-sizes":[10,25,50],"onUpdate:options":i[5]||=e=>l(`update:options`,e)},{"item.name":O(({value:e})=>[k(`div`,Fe,[T(n(W),p(s(e)),null,16)])]),"item.role":O(({item:e})=>[g(e)?(_(),h(Pe,{key:0,data:e,roles:c.projectRoles,"onUpdate:role":v,onShowRoleUpgradeDialog:i[0]||=e=>l(`show-role-upgrade-dialog`)},null,8,[`data`,`roles`])):e.alwaysHasAccess?(_(),h(je,{key:1,data:e,"project-roles":c.projectRoles},null,8,[`data`,`project-roles`])):(_(),h(n(L),{key:2,color:`text-dark`},{default:O(()=>[t(E(c.projectRoles.find(t=>t.slug===e.role)?.displayName??e.role),1)]),_:2},1024))]),"item.actions":O(({item:e})=>[T(Me,{data:e,actions:y(e),onAction:i[1]||=e=>r.$emit(`action`,e)},null,8,[`data`,`actions`])]),_:2},1032,[`sort-by`,`page`,`items-per-page`,`headers`,`items`,`items-length`,`loading`])]))}}),Le={key:0,"data-test-id":`external-secrets-section`},Re={class:`mb-s`},ze={for:`projectExternalSecrets`},Be={key:0},Ve=G(d({__name:`ProjectExternalSecrets`,setup(e,{expose:r}){let s=K(),c=ne(),l=b(),u=me(),d=Q(),f=Z(),p=Se(),g=we(),w=R(u.currentProjectId),D=m([]),A=S({}),ee=m(!1),j=m(``),N=m(new Set),P=m(0),F=m(5),z=i(()=>p.moduleSettings[`external-secrets`]?.forProjects??!1),ie=i(()=>u.currentProject?.scopes?.includes(`externalSecretsProvider:list`)??!1),ae=i(()=>u.currentProject?.scopes?.includes(`externalSecretsProvider:create`)??!1),oe=i(()=>f.hasScope(`externalSecretsProvider:create`)),se=i(()=>z.value&&ie.value),ce=i(()=>D.value.length>0?null:oe.value?g.activeProviders.value.length>0?`instance-admin-no-project-providers`:`project-admin-no-providers`:ae.value?`project-admin-no-providers`:null),B=i(()=>{let e=ce.value;return e?{"instance-admin-no-project-providers":{heading:s.baseText(`projects.settings.externalSecrets.emptyState.heading`),description:s.baseText(`projects.settings.externalSecrets.emptyState.instanceAdmin.noProjectProviders.description`),buttonText:s.baseText(`projects.settings.externalSecrets.button.shareSecretsStore`),buttonAction:ye,testId:`external-secrets-empty-state-no-project-providers`},"project-admin-no-providers":{heading:s.baseText(`projects.settings.externalSecrets.emptyState.heading`),description:s.baseText(`projects.settings.externalSecrets.emptyState.projectAdmin.description`),buttonText:s.baseText(`projects.settings.externalSecrets.button.addSecretsStore`),buttonAction:ve,testId:`external-secrets-empty-state-project-admin`}}[e]:null}),V=i(()=>[...D.value].sort((e,t)=>e.name.localeCompare(t.name))),U=i(()=>{if(!j.value.trim())return V.value;let e=j.value.toLowerCase();return V.value.filter(t=>t.name.toLowerCase().includes(e)?!0:(A[t.name]??[]).some(t=>t.name.toLowerCase().includes(e)))}),W=i(()=>{let e=P.value*F.value,t=e+F.value;return U.value.slice(e,t)});function G(e){let t=A[e]??[],n=j.value.trim().toLowerCase();return n?t.filter(t=>t.name.toLowerCase().includes(n)||e.toLowerCase().includes(n)):t}let ue=i(()=>W.value.map(e=>{let t=N.value.has(e.name);return{id:`header-${e.name}`,connectionName:e.name,secretsCount:e.secretsCount,isExpanded:t,secrets:t?G(e.name):[]}})),fe=i(()=>[{title:s.baseText(`projects.settings.externalSecrets.table.header.secretName`),key:`connectionName`,disableSort:!0,resize:!1,value:e=>e.connectionName}]);async function he(e){if(A[e]?.length)return;let{secrets:t}=await w.getConnection(e);A[e]=t??[]}async function ge(){await Promise.all(W.value.filter(e=>e.secretsCount>0).map(async e=>await he(e.name)))}async function q(){if(!(!u.currentProjectId||!ie.value||!z.value)){ee.value=!0;try{D.value=await u.getProjectSecretProviders(u.currentProjectId),await ge()}catch(e){c.showError(e,s.baseText(`projects.settings.externalSecrets.load.error`))}finally{ee.value=!1}}}function J(e){N.value.has(e)?N.value.delete(e):N.value.add(e)}function _e(e,t=`connection`){let n=g.activeProviders.value.map(e=>e.name);d.openModalWithData({name:pe,data:{activeTab:t,providerKey:e,providerTypes:g.providerTypes.value,existingProviderNames:n,projectId:u.currentProjectId,onClose:async()=>{await q()}}})}function Y(e){_e(e,`connection`)}function ve(){ae.value&&_e()}function ye(){l.push({name:re.EXTERNAL_SECRETS_SETTINGS})}return C(j,()=>{P.value=0}),C([P,F],async()=>{await ge()}),C([()=>u.currentProjectId,se],async([e,t])=>{e&&t&&await q()},{immediate:!0}),C(se,async e=>{e&&(await Promise.allSettled([g.fetchProviderTypes(),g.fetchActiveConnections()]),oe.value&&await u.getAllProjects())},{immediate:!0}),r({fetchProjectSecretConnections:q}),(e,r)=>se.value?(_(),a(`fieldset`,Le,[k(`h3`,Re,[k(`label`,ze,E(n(s).baseText(`projects.settings.externalSecrets`)),1)]),B.value?(_(),h(n(de),{key:0,"data-test-id":B.value.testId,description:`yes`},{description:O(()=>[T(n(X),{tag:`h3`,size:`small`,class:`mb-2xs`},{default:O(()=>[t(E(B.value.heading),1)]),_:1}),T(n(L),{size:`small`,color:`text-base`,class:y(e.$style.description)},{default:O(()=>[t(E(B.value.description),1)]),_:1},8,[`class`])]),additionalContent:O(()=>[T(n(M),{variant:`ghost`,size:`xsmall`,class:`mr-2xs`,element:`a`,href:n(s).baseText(`settings.externalSecrets.docs`),target:`_blank`,"data-test-id":`secrets-provider-connections-learn-more`},{default:O(()=>[t(E(n(s).baseText(`generic.learnMore`))+` `,1),T(n(I),{icon:`arrow-up-right`})]),_:1},8,[`href`]),T(n(M),{variant:`subtle`,size:`xsmall`,"data-test-id":`${ce.value}-button`,onClick:B.value.buttonAction},{default:O(()=>[t(E(B.value.buttonText),1)]),_:1},8,[`data-test-id`,`onClick`])]),_:1},8,[`data-test-id`])):D.value.length>0?(_(),a(`div`,{key:1,class:y(e.$style.secretProvidersContainer)},[k(`div`,{class:y(e.$style.actionsContainer)},[k(`div`,{class:y(e.$style.searchContainer)},[T(n(H),{modelValue:j.value,"onUpdate:modelValue":r[0]||=e=>j.value=e,placeholder:n(s).baseText(`projects.settings.externalSecrets.search.placeholder`),clearable:``,"data-test-id":`secrets-providers-search`,size:`small`},{prefix:O(()=>[T(n(I),{icon:`search`})]),_:1},8,[`modelValue`,`placeholder`])],2),ae.value?(_(),h(n(M),{key:0,variant:`outline`,size:`small`,"data-test-id":`external-secrets-add-button`,onClick:ve},{default:O(()=>[t(E(n(s).baseText(`projects.settings.externalSecrets.button.addSecretsStore`)),1)]),_:1})):o(``,!0)],2),T(n(te),{page:P.value,"onUpdate:page":r[1]||=e=>P.value=e,"items-per-page":F.value,"onUpdate:itemsPerPage":r[2]||=e=>F.value=e,headers:fe.value,items:ue.value,"items-length":U.value.length,loading:ee.value,"page-sizes":[5,10,25,50],"row-props":()=>({class:e.$style.groupHeaderRow}),"data-test-id":`external-secrets-table`},{item:O(({item:r})=>[k(`tr`,{class:y(e.$style.groupHeaderRow)},[k(`td`,{class:y(e.$style.groupHeaderCell)},[k(`div`,{class:y(e.$style.groupHeaderContent)},[T(n(le),{variant:`ghost`,icon:r.isExpanded?`chevron-down`:`chevron-right`,class:y(e.$style.expandButton),disabled:r.secretsCount===0,title:r.isExpanded?n(s).baseText(`projects.settings.externalSecrets.collapse`):n(s).baseText(`projects.settings.externalSecrets.expand`),"data-test-id":`external-secrets-expand-button`,onClick:e=>J(r.connectionName)},null,8,[`icon`,`class`,`disabled`,`title`,`onClick`]),T(n(L),{class:y(e.$style.connectionLink),bold:``,onClick:e=>Y(r.connectionName)},{default:O(()=>[t(E(r.connectionName),1)]),_:2},1032,[`class`,`onClick`]),T(n(L),{color:`text-light`,size:`small`},{default:O(()=>[t(E(r.secretsCount===1?n(s).baseText(`settings.secretsProviderConnections.oneSecret`):n(s).baseText(`settings.secretsProviderConnections.secrets`,{interpolate:{count:r.secretsCount.toString()}})),1)]),_:2},1024)],2)],2)],2),r.isExpanded&&r.secrets.length>0?(_(),a(`tr`,Be,[k(`td`,{class:y(e.$style.secretsCell)},[k(`div`,{class:y(e.$style.secretsList)},[(_(!0),a(x,null,v(r.secrets,t=>(_(),a(`div`,{key:t.name,class:y(e.$style.secretRow)},[k(`span`,null,[k(`code`,{class:y(e.$style.secretName)},E(t.name),3)])],2))),128))],2)],2)])):o(``,!0)]),_:1},8,[`page`,`items-per-page`,`headers`,`items`,`items-length`,`loading`,`row-props`])],2)):o(``,!0)])):o(``,!0)}}),[[`__cssModules`,{$style:{description:`_description_a1205_1`,secretProvidersContainer:`_secretProvidersContainer_a1205_6`,actionsContainer:`_actionsContainer_a1205_12`,searchContainer:`_searchContainer_a1205_17`,groupHeaderRow:`_groupHeaderRow_a1205_22`,groupHeaderCell:`_groupHeaderCell_a1205_29`,secretsCell:`_secretsCell_a1205_41`,secretsList:`_secretsList_a1205_45`,secretRow:`_secretRow_a1205_50`,groupHeaderContent:`_groupHeaderContent_a1205_65`,expandButton:`_expandButton_a1205_74`,secretName:`_secretName_a1205_88`,connectionLink:`_connectionLink_a1205_95`}}]]),He=G(d({__name:`ProjectSettingsCustomTelemetryTags`,props:{modelValue:{}},emits:[`update:modelValue`,`validate`],setup(e,{expose:r,emit:s}){let c=e,l=s,u=K(),d=m(c.modelValue.map(()=>!1));C(()=>c.modelValue.length,e=>{e<d.value.length&&(d.value=d.value.slice(0,e))});let f=i(()=>{let e=new Set;return c.modelValue.map(t=>{let n=t.key.trim();return n?e.has(n)?u.baseText(`projects.settings.customSpanAttributes.error.duplicateKey`):(e.add(n),null):u.baseText(`projects.settings.customSpanAttributes.error.emptyKey`)})});C(i(()=>f.value.some(e=>e!==null)),e=>l(`validate`,!e),{immediate:!0});function p(){d.value=c.modelValue.map(()=>!1)}function h(e){d.value[e]=!0}function g(){l(`update:modelValue`,[...c.modelValue,{key:``,value:``}]),d.value.push(!1)}function b(e){l(`update:modelValue`,c.modelValue.filter((t,n)=>n!==e)),d.value.splice(e,1)}function S(e,t,n){l(`update:modelValue`,c.modelValue.map((r,i)=>i===e?{...r,[t]:n}:r))}return r({resetTouched:p}),(r,i)=>(_(),a(`div`,null,[T(n(L),{size:`small`,class:`mb-s`,tag:`p`},{default:O(()=>[t(E(n(u).baseText(`projects.settings.customSpanAttributes.description`))+` `,1),k(`a`,{class:y(r.$style.docsLink),href:`https://docs.n8n.io/hosting/logging-monitoring/opentelemetry/`,target:`_blank`},[t(E(n(u).baseText(`projects.settings.customSpanAttributes.docsLink`)),1),T(n(I),{icon:`arrow-up-right`,size:`xsmall`})],2)]),_:1}),(_(!0),a(x,null,v(e.modelValue,(e,t)=>(_(),a(`div`,{key:t,class:y(r.$style.telemetryTagContainer)},[k(`div`,{class:y(r.$style.telemetryTagRow)},[T(n(U),{label:t===0?n(u).baseText(`projects.settings.customSpanAttributes.key.label`):void 0,size:`small`},{default:O(()=>[T(n(H),{"model-value":e.key,placeholder:n(u).baseText(`projects.settings.customSpanAttributes.key.placeholder`),"aria-label":n(u).baseText(`projects.settings.customSpanAttributes.key.label`),"data-test-id":`project-telemetry-tag-key`,"onUpdate:modelValue":e=>S(t,`key`,e),onBlur:e=>h(t)},null,8,[`model-value`,`placeholder`,`aria-label`,`onUpdate:modelValue`,`onBlur`])]),_:2},1032,[`label`]),T(n(U),{label:t===0?n(u).baseText(`projects.settings.customSpanAttributes.value.label`):void 0,size:`small`},{default:O(()=>[T(n(H),{"model-value":e.value,placeholder:n(u).baseText(`projects.settings.customSpanAttributes.value.placeholder`),"aria-label":n(u).baseText(`projects.settings.customSpanAttributes.value.label`),"data-test-id":`project-telemetry-tag-value`,"onUpdate:modelValue":e=>S(t,`value`,e)},null,8,[`model-value`,`placeholder`,`aria-label`,`onUpdate:modelValue`])]),_:2},1032,[`label`]),T(n(M),{icon:`trash-2`,variant:`ghost`,size:`small`,"native-type":`button`,title:n(u).baseText(`projects.settings.customSpanAttributes.remove`),"aria-label":n(u).baseText(`projects.settings.customSpanAttributes.remove`),"data-test-id":`project-telemetry-tag-remove`,onClick:A(e=>b(t),[`stop`,`prevent`])},null,8,[`title`,`aria-label`,`onClick`])],2),d.value[t]&&f.value[t]?(_(),a(`span`,{key:0,class:y(r.$style.tagErrorMessage),"data-test-id":`project-telemetry-tag-key-error`},E(f.value[t]),3)):o(``,!0)],2))),128)),T(n(M),{icon:`plus`,variant:`subtle`,"native-type":`button`,class:`mt-2xs`,"data-test-id":`project-telemetry-tag-add`,onClick:A(g,[`stop`,`prevent`])},{default:O(()=>[t(E(n(u).baseText(`projects.settings.customSpanAttributes.add`)),1)]),_:1})]))}}),[[`__cssModules`,{$style:{telemetryTagContainer:`_telemetryTagContainer_152r7_1`,telemetryTagRow:`_telemetryTagRow_152r7_6`,tagErrorMessage:`_tagErrorMessage_152r7_12`,docsLink:`_docsLink_152r7_19`}}]]),Ue={class:`project-worker-pools`,"data-test-id":`project-worker-pools-section`},We={for:`projectDefaultPool`},Ge=G(d({__name:`ProjectWorkerPoolsSection`,props:{defaultPool:{},availablePools:{},disabled:{type:Boolean}},emits:[`update:defaultPool`],setup(e,{emit:r}){let i=K(),o=e,s=r,c=e=>{s(`update:defaultPool`,e===``?``:e)};return(e,r)=>(_(),a(`fieldset`,Ue,[k(`h3`,null,[k(`label`,We,E(n(i).baseText(`projects.settings.workerPools.title`)),1)]),T(n(fe),{id:`projectDefaultPool`,"model-value":o.defaultPool??``,disabled:o.disabled,class:y(e.$style.input),"data-test-id":`project-default-pool-input`,"onUpdate:modelValue":c},{default:O(()=>[T(n(Y),{label:n(i).baseText(`projects.settings.workerPools.defaultQueue`),value:``},null,8,[`label`]),(_(!0),a(x,null,v(o.availablePools,e=>(_(),h(n(Y),{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`disabled`,`class`]),T(n(L),{color:`text-light`,size:`small`,class:y(e.$style.help)},{default:O(()=>[t(E(n(i).baseText(`projects.settings.workerPools.help`)),1)]),_:1},8,[`class`])]))}}),[[`__cssModules`,{$style:{input:`_input_1oor6_1`,help:`_help_1oor6_5`}}]]),Ke={for:`projectName`},qe={for:`projectDescription`},Je={key:1,id:`projectMembers`},Ye={for:`projectMembers`},Xe={key:0,class:`mb-m`,"data-test-id":`project-roles-managed-notice`},Ze={key:0},Qe={class:`mb-m`},$e=10,et=G(d({__name:`ProjectSettings`,setup(r){let s=ae(),c=K(),d=me(),f=be(),p=ee(),v=Se(),S=ne(),w=b(),D=N(),te=ge(),R=i(()=>!!he(d.currentProject?.scopes).project.update),z=i(()=>!!he(d.currentProject?.scopes).project.manageMembers),B=e=>{S.showError(e,c.baseText(`projects.settings.save.error.title`))},V=m(!1),le=m(!1),U=m(!1),W=m(!1),G=m(!0),de=m(!0),fe=i(()=>W.value&&G.value&&de.value),pe=m({credentials:-1,dataTables:-1,workflows:-1}),q=m({name:``,description:``,relations:[],customTelemetryTags:[],defaultPool:null}),J=m(!1),Y=m(null),X=m({...ie}),Z=m(``),Q=m({page:0,itemsPerPage:10,sortBy:[]}),xe=m(``),$=m([]),we=m(!1),Te=i(()=>ue([`rbac`],{rbac:{scope:`user:list`}})||z.value),Ee=i(()=>new Map((d.currentProject?.implicitMembers??[]).map(e=>[e.id,e]))),Oe=i(()=>$.value.filter(e=>!(q.value.relations||[]).find(t=>t.id===e.id)&&!Ee.value.has(e.id))),Ae=i(()=>f.processedProjectRoles.find(e=>e.licensed)?.slug),je=i(()=>bt.value||!z.value?[]:[{label:c.baseText(`projects.settings.table.row.removeUser`),value:`remove`,guard:e=>e.id!==s.currentUser?.id&&e.role!==`project:personalOwner`}]),Me=async e=>{if(!d.currentProject||!s.usersById[e])return;let t=Ae.value;if(t){q.value.relations.find(t=>t.id===e)||q.value.relations.push({id:e,role:t});try{J.value=!0,await d.addMember(d.currentProject.id,{userId:e,role:t}),S.showMessage({type:`success`,title:c.baseText(`projects.settings.member.added.title`)}),D.track(`User added member to project`,{project_id:d.currentProject.id,target_user_id:e,role:t})}catch(t){q.value.relations=q.value.relations.filter(t=>t.id!==e),B(t)}}},Ne=async({userId:e,role:t})=>{if(!d.currentProject)return;let n=q.value.relations.findIndex(t=>t.id===e);if(n===-1)return;let r=q.value.relations[n].role;q.value.relations[n].role=t;try{J.value=!0,await d.updateMemberRole(d.currentProject.id,e,t),f.fetchRoles(),S.showMessage({type:`success`,title:c.baseText(`projects.settings.memberRole.updated.title`)}),D.track(`User changed member role on project`,{project_id:d.currentProject.id,target_user_id:e,role:t})}catch(e){q.value.relations[n].role=r,S.showError(e,c.baseText(`projects.settings.memberRole.update.error.title`))}},Pe=()=>{U.value=!0},Fe=m(null);async function Le(e){let t=d.currentProject;if(!t)return;let n=q.value.relations.findIndex(t=>t.id===e);if(n===-1)return;let r=q.value.relations.splice(n,1)[0];if(t.relations.some(t=>t.id===e))try{J.value=!0,await d.removeMember(t.id,e),S.showMessage({type:`success`,title:c.baseText(`projects.settings.member.removed.title`)}),D.track(`User removed member from project`,{project_id:t.id,target_user_id:e})}catch(e){q.value.relations.splice(n,0,r),B(e)}}let Re=async({action:e,userId:t})=>{switch(e){case`remove`:await Le(t);break;default:break}},ze=()=>{q.value.relations=d.currentProject?.relations?oe(d.currentProject.relations):[],q.value.name=d.currentProject?.name??``,q.value.description=d.currentProject?.description??``,q.value.customTelemetryTags=d.currentProject?.customTelemetryTags?oe(d.currentProject.customTelemetryTags):[],Fe.value?.resetTouched(),q.value.defaultPool=d.currentProjectPoolSettings?.defaultPool??null},Be=()=>{let e=d.currentProjectPoolSettings?.defaultPool||null;return(q.value.defaultPool||null)!==e},Ue=()=>{ze(),U.value=!1},We=()=>{let e={};return d.currentProject?(q.value.name!==d.currentProject.name&&(e.name=q.value.name??``),q.value.description!==d.currentProject.description&&(e.description=q.value.description??``),q.value.relations.length!==d.currentProject.relations.length&&(e.memberAdded=q.value.relations.filter(e=>!d.currentProject?.relations.find(t=>t.id===e.id)),e.memberRemoved=d.currentProject.relations.filter(e=>!q.value.relations.find(t=>t.id===e.id))),e.role=q.value.relations.filter(t=>d.currentProject?.relations.find(e=>e.id===t.id)?.role!==t.role&&!e.memberAdded?.find(e=>e.id===t.id)),e):e},et=e=>{let t=d.currentProject?.id;e.name&&D.track(`User changed project name`,{project_id:t,name:e.name}),e.memberAdded?.forEach(e=>{D.track(`User added member to project`,{project_id:t,target_user_id:e.id,role:e.role})}),e.memberRemoved?.forEach(e=>{D.track(`User removed member from project`,{project_id:t,target_user_id:e.id})}),e.role?.forEach(e=>{D.track(`User changed member role on project`,{project_id:t,target_user_id:e.id,role:e.role})})},tt=async()=>{if(d.currentProject)try{let e=d.currentProject.id,t=[];t.push(d.updateProject(e,{name:q.value.name??``,description:q.value.description??``,...v.isOtelCustomSpanAttributesEnabled?{customTelemetryTags:q.value.customTelemetryTags}:{}})),st.value&&Be()&&t.push(d.updateCurrentProjectPoolSettings(e,{defaultPool:q.value.defaultPool??``})),await Promise.all(t),U.value=!1}catch(e){throw B(e),e}},nt=async()=>{if(U.value)try{await tt(),et(We()),S.showMessage({title:c.baseText(`projects.settings.save.successful.title`,{interpolate:{projectName:q.value.name??``}}),type:`success`})}catch{}},rt=async()=>{d.currentProjectId&&(pe.value=await d.getResourceCounts(d.currentProjectId)),V.value=!0},it=async e=>{try{if(d.currentProject){let t=d.currentProject?.name??``;await d.deleteProject(d.currentProject.id,e),await w.push({name:re.HOMEPAGE}),S.showMessage({title:c.baseText(`projects.settings.delete.successful.title`,{interpolate:{projectName:t}}),type:`success`}),V.value=!0}}catch(e){S.showError(e,c.baseText(`projects.settings.delete.error.title`))}},at=()=>{q.value.name===c.baseText(`projects.settings.newProjectName`)&&(Y.value?.inputRef?.focus(),Y.value?.inputRef?.select())},ot=async()=>{if(d.currentProject)try{await d.updateProject(d.currentProject.id,{icon:X.value}),S.showMessage({title:c.baseText(`projects.settings.icon.update.successful.title`),type:`success`})}catch(e){B(e)}},st=i(()=>v.isWorkerPoolsEnabled),ct=()=>{q.value.defaultPool=d.currentProjectPoolSettings?.defaultPool??null};C(()=>d.currentProject,async()=>{if(J.value){J.value=!1;return}ze(),await l(),at(),d.currentProject?.icon&&j(d.currentProject.icon)&&(X.value=d.currentProject.icon);let e=d.currentProjectId;R.value&&e&&st.value&&await d.fetchProjectPoolSettings(e).catch(()=>{}).finally(ct)},{immediate:!0});let lt=i(()=>{let e=Ee.value,t=s.currentUser?.id,n=q.value.relations.map(n=>{let r=s.usersById[n.id],i=ye(n.role)?n.role:`project:viewer`,a=e.get(n.id);return{...r,...n,role:i,firstName:n?.firstName??r?.firstName??null,lastName:n?.lastName??r?.lastName??null,email:n?.email??r?.email??null,isCurrentUser:n.id===t,...a&&{alwaysHasAccess:!0,instanceRole:a.globalRole}}}),r=new Set(n.map(e=>e.id));for(let i of e.values())r.has(i.id)||n.push({id:i.id,firstName:i.firstName??null,lastName:i.lastName??null,email:i.email??null,role:i.globalRole.slug,isPendingUser:s.usersById[i.id]?.isPendingUser??!1,isCurrentUser:i.id===t,alwaysHasAccess:!0,instanceRole:i.globalRole});return n}),ut=i(()=>{if(!Z.value.trim())return lt.value;let e=Z.value.toLowerCase();return lt.value.filter(t=>{let n=`${t.firstName??``} ${t.lastName??``}`.toLowerCase(),r=(t.email??``).toLowerCase();return n.includes(e)||r.includes(e)})}),dt=e=>`${e.firstName??``} ${e.lastName??``}`.trim()||(e.email??``),ft=i(()=>{let e=d.currentProject?.creatorId,t=s.currentUser?.id,n=n=>e&&n.id===e?0:n.id===t?1:2;return[...ut.value].sort((e,t)=>n(e)-n(t)||dt(e).localeCompare(dt(t),void 0,{sensitivity:`base`}))}),pt=i(()=>{let{page:e,itemsPerPage:t}=Q.value,n=e*t;return{items:ft.value.slice(n,n+t),count:ft.value.length}});C(()=>ft.value.length,e=>{let{page:t,itemsPerPage:n}=Q.value;t>0&&t*n>=e&&(Q.value.page=Math.max(0,Math.ceil(e/n)-1))});let mt=i(()=>lt.value.length>=$e);C(mt,e=>{!e&&Z.value&&(Z.value=``)});let ht=e(()=>{Q.value.page=0},ve(ce.INPUT.SEARCH)),gt=e=>{Z.value=e,ht()},_t=e=>{Q.value=e},vt=async e=>{xe.value=e,we.value=!0;try{let t=d.currentProject?.id;if(!t){$.value=[];return}let n={};e.trim()&&(n.fullText=e),Te.value||(n.projectId=t),await s.fetchUsers({take:50,filter:n}),e.trim()?$.value=s.allUsers.filter(t=>{let n=e.toLowerCase(),r=`${t.firstName??``} ${t.lastName??``}`.toLowerCase(),i=(t.email??``).toLowerCase();return r.includes(n)||i.includes(n)}):$.value=s.allUsers}catch(e){S.showError(e,c.baseText(`projects.settings.users.search.error`))}finally{we.value=!1}},yt=e(vt,ve(ce.INPUT.SEARCH));g(async()=>{z.value&&await vt(``)});let bt=i(()=>d.currentProject?.rolesManaged??!1);return u(async()=>{te.set(c.baseText(`projects.settings`)),!(!R.value&&!z.value)&&(at(),await f.fetchRoles())}),(e,r)=>(_(),a(`div`,{class:y(e.$style.projectSettings),"data-test-id":`project-settings-container`},[k(`div`,{class:y(e.$style.header)},[T(Ce),R.value?(_(),a(`div`,{key:0,class:y(e.$style.headerRow)},[T(n(L),{tag:`h1`,size:`xlarge`,class:`pt-xs pb-m`},{default:O(()=>[t(E(n(c).baseText(`projects.settings.info`)),1)]),_:1}),k(`div`,{class:y(e.$style.headerButtons)},[T(n(M),{variant:`subtle`,"native-type":`button`,disabled:!U.value,class:`mr-2xs`,"data-test-id":`project-settings-cancel-button`,onClick:A(Ue,[`stop`,`prevent`])},{default:O(()=>[t(E(n(c).baseText(`projects.settings.button.cancel`)),1)]),_:1},8,[`disabled`]),T(n(M),{disabled:!fe.value||!U.value,variant:`solid`,"data-test-id":`project-settings-save-button`,onClick:A(nt,[`stop`,`prevent`])},{default:O(()=>[t(E(n(c).baseText(`projects.settings.button.save`)),1)]),_:1},8,[`disabled`])],2)],2)):o(``,!0)],2),k(`form`,{onSubmit:A(nt,[`prevent`])},[R.value?(_(),a(x,{key:0},[k(`fieldset`,null,[k(`label`,Ke,E(n(c).baseText(`projects.settings.name`)),1),k(`div`,{class:y(e.$style.projectName)},[T(n(_e),{modelValue:X.value,"onUpdate:modelValue":[r[0]||=e=>X.value=e,ot],"button-tooltip":n(c).baseText(`projects.settings.iconPicker.button.tooltip`),"show-color-picker":``},null,8,[`modelValue`,`button-tooltip`]),T(n(P),{id:`projectName`,ref_key:`nameInput`,ref:Y,modelValue:q.value.name,"onUpdate:modelValue":r[1]||=e=>q.value.name=e,label:``,type:`text`,name:`name`,required:``,"data-test-id":`project-settings-name-input`,class:y(e.$style.projectNameInput),onEnter:nt,onInput:Pe,onValidate:r[2]||=e=>W.value=e},null,8,[`modelValue`,`class`])],2)]),k(`fieldset`,null,[k(`label`,qe,E(n(c).baseText(`projects.settings.description`)),1),T(n(P),{id:`projectDescription`,modelValue:q.value.description,"onUpdate:modelValue":r[3]||=e=>q.value.description=e,label:``,name:`description`,type:`textarea`,maxlength:512,autosize:!0,"data-test-id":`project-settings-description-input`,class:y(e.$style.projectDescriptionInput),onEnter:nt,onInput:Pe,onValidate:r[4]||=e=>G.value=e},null,8,[`modelValue`,`class`])])],64)):o(``,!0),T(Ve,{class:y(e.$style.externalSecrets)},null,8,[`class`]),R.value||z.value?(_(),a(`fieldset`,Je,[k(`h3`,null,[k(`label`,Ye,E(n(c).baseText(`projects.settings.projectMembers`)),1)]),k(`div`,{class:y([e.$style.membersInputRow,`mb-s`])},[T(n(F),{id:`projectMembers`,class:y(e.$style.userSelect),size:`large`,users:Oe.value,"current-user-id":n(s).currentUser?.id,placeholder:n(c).baseText(`workflows.shareModal.select.placeholder`),"data-test-id":`project-members-select`,remote:``,"remote-method":n(yt),loading:we.value,disabled:bt.value||!z.value,"onUpdate:modelValue":Me},{prefix:O(()=>[T(n(I),{icon:`search`})]),_:1},8,[`class`,`users`,`current-user-id`,`placeholder`,`remote-method`,`loading`,`disabled`]),mt.value?(_(),h(n(H),{key:0,class:y(e.$style.search),"model-value":Z.value,placeholder:n(c).baseText(`projects.settings.members.search.placeholder`),clearable:``,"data-test-id":`project-members-search`,"onUpdate:modelValue":gt},{prefix:O(()=>[T(n(I),{icon:`search`})]),_:1},8,[`class`,`model-value`,`placeholder`])):o(``,!0)],2),bt.value?(_(),a(`div`,Xe,[T(n(se),{type:`info`,title:n(c).baseText(`settings.projectRolesManaged.description`)},null,8,[`title`])])):o(``,!0),lt.value.length>0?(_(),a(`div`,{key:1,class:y(e.$style.membersTableContainer)},[T(Ie,{"table-options":Q.value,"onUpdate:tableOptions":r[5]||=e=>Q.value=e,"data-test-id":`project-members-table`,data:pt.value,"current-user-id":n(s).currentUser?.id,"project-roles":n(f).processedProjectRoles,actions:je.value,"can-edit-role":!bt.value&&z.value,"onUpdate:options":_t,"onUpdate:role":Ne,onShowRoleUpgradeDialog:r[6]||=e=>le.value=!0,onAction:Re},null,8,[`table-options`,`data`,`current-user-id`,`project-roles`,`actions`,`can-edit-role`])],2)):o(``,!0)])):o(``,!0),R.value?(_(),a(x,{key:2},[n(v).isOtelCustomSpanAttributesEnabled?(_(),a(`fieldset`,Ze,[k(`h3`,null,[k(`label`,null,E(n(c).baseText(`projects.settings.customSpanAttributes.label`)),1)]),T(He,{ref_key:`telemetryTagsRef`,ref:Fe,modelValue:q.value.customTelemetryTags,"onUpdate:modelValue":[r[7]||=e=>q.value.customTelemetryTags=e,Pe],onValidate:r[8]||=e=>de.value=e},null,8,[`modelValue`])])):o(``,!0),st.value?(_(),h(Ge,{key:1,"default-pool":q.value.defaultPool,"available-pools":n(d).currentProjectPoolSettings?.availablePools??[],"onUpdate:defaultPool":r[9]||=e=>{q.value.defaultPool=e,Pe()}},null,8,[`default-pool`,`available-pools`])):o(``,!0),k(`fieldset`,null,[k(`h3`,Qe,E(n(c).baseText(`projects.settings.danger.title`)),1),k(`small`,{class:y(e.$style.danger)},E(n(c).baseText(`projects.settings.danger.message`)),3),T(n(M),{variant:`subtle`,size:`large`,"native-type":`button`,"data-test-id":`project-settings-delete-button`,onClick:A(rt,[`stop`,`prevent`])},{default:O(()=>[t(E(n(c).baseText(`projects.settings.danger.deleteProject`)),1)]),_:1})])],64)):o(``,!0)],32),T(De,{modelValue:V.value,"onUpdate:modelValue":r[10]||=e=>V.value=e,"current-project":n(d).currentProject,"resource-counts":pe.value,onConfirmDelete:it},null,8,[`modelValue`,`current-project`,`resource-counts`]),T(ke,{modelValue:le.value,"onUpdate:modelValue":r[11]||=e=>le.value=e,limit:n(d).teamProjectsLimit,"plan-name":n(p).currentPlanData?.displayName},null,8,[`modelValue`,`limit`,`plan-name`])],2))}}),[[`__cssModules`,{$style:{projectSettings:`_projectSettings_i54mg_1`,header:`_header_i54mg_25`,headerRow:`_headerRow_i54mg_31`,headerButtons:`_headerButtons_i54mg_38`,upgrade:`_upgrade_i54mg_44`,externalSecrets:`_externalSecrets_i54mg_48`,membersInputRow:`_membersInputRow_i54mg_53`,membersTableContainer:`_membersTableContainer_i54mg_61`,search:`_search_i54mg_65`,projectName:`_projectName_i54mg_70`,projectNameInput:`_projectNameInput_i54mg_75`,projectDescriptionInput:`_projectDescriptionInput_i54mg_79`,userSelect:`_userSelect_i54mg_80`,danger:`_danger_i54mg_90`}}]]);export{et as default};
@@ -1 +0,0 @@
1
- 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]=`f94dfec7-17f5-4c14-98b8-074e2dbedb57`,e._sentryDebugIdIdentifier=`sentry-dbid-f94dfec7-17f5-4c14-98b8-074e2dbedb57`)})()}catch{}import{o as e}from"./rolldown-runtime-BobR2NKB.js";import{Ad as t,Af as n,Cd as r,Dd as i,Ed as a,Kd as o,Nd as s,Od as c,Qf as l,Sf as ee,Td as u,Vd as d,Yd as f,Zd as te,Zf as p,as as ne,bd as re,df as ie,ef as ae,is as m,jd as h,np as g,of as _,uf as v,vu as oe,wd as y}from"./vendor-BBKxcFox.js";import{$l as b,GC as x,I_ as se,KC as S,LC as C,MC as w,M_ as T,R_ as ce,XS as E,YC as D,YS as le,ZS as ue,eC as O,ew as k,g_ as de,gf as fe,iC as pe,jp as A,kx as me,mf as he,mp as ge,my as j,nd as _e,ou as ve,sC as ye,uf as M,yp as N,zC as P,z_ as be}from"./app-CpgR-J15.js";import{i as xe}from"./readyToRun.store-Dakbm94R.js";import{t as Se}from"./ResourcesListLayout-CvqCsvNp.js";import{t as Ce}from"./ProjectHeader-B4DG-NX1.js";import{t as we}from"./insights.store-m93OWMWI.js";import{t as Te}from"./InsightsSummary-CP_BdFAs.js";import"./src-DoCaW2Io.js";import{t as F}from"./pickBy-i7zxYSQc.js";var Ee=e(F(),1),De=D(s({__name:`VariablesUsageBadge`,props:{name:{}},setup(e){let i=k(),a=b(),{showMessage:o}=T(),s=e,c=r(()=>`$vars.${s.name}`),l=()=>{a.copy(c.value),o({title:i.baseText(`variables.row.usage.copiedToClipboard`),type:`success`})};return(e,r)=>(f(),u(n(P),{placement:`top`},{content:v(()=>[t(g(n(i).baseText(`variables.row.usage.copyToClipboard`)),1)]),default:v(()=>[y(`span`,{class:`usageSyntax`,onClick:l},g(c.value),1)]),_:1}))}}),[[`__scopeId`,`data-v-ce74e568`]]),Oe={class:`mb-s`},ke={key:0,class:`mb-s`},Ae={"data-test-id":`variables-row`},je={key:0},Me={key:0},Ne={class:`scope-badge`,style:{display:`flex`,"align-items":`center`,gap:`4px`}},Pe={key:1,align:`right`},Fe={class:`action-buttons`},Ie={key:0,class:`mt-xs`},I=D(s({__name:`ProjectVariables`,setup(e){let s=be(),b=M(),D=ce(),F=N(),I=se(),L=k(),Le=me(),Re=fe(),R=m(),ze=ne(),z=we(),Be=xe(),B=he(),Ve=_(`layoutRef`),{showError:He,showMessage:Ue}=T(),V=R.params.projectId,H=r(()=>j(D.currentUser?.globalScopes).variable),U=r(()=>j(B.currentProject?.scopes).projectVariable),{isLoading:We,execute:Ge}=oe(b.fetchAllVariables,[],{immediate:!0}),W=r(()=>s.isEnterpriseFeatureEnabled[de.Variables]),Ke=()=>{F.openModalWithData({name:A,data:{mode:`new`}}),I.track(`User clicked add variable button`)},qe=e=>{F.openModalWithData({name:A,data:{mode:`edit`,variable:e}})},Je=r(()=>b.variables.filter(e=>!V||e.project?.id===V).map(e=>({resourceType:`variable`,id:e.id,name:e.key,key:e.key,value:e.value,project:e.project}))),G=r(()=>b.variables.filter(e=>!e.project)),K=r(()=>W.value&&(H.value.create??U.value.create)),Ye=r(()=>{let e=[{id:0,path:`name`,label:L.baseText(`variables.table.key`),classes:[`variables-key-column`]},{id:1,path:`value`,label:L.baseText(`variables.table.value`),classes:[`variables-value-column`]},{id:2,path:`usage`,label:L.baseText(`variables.table.usage`),classes:[`variables-usage-column`]}];return V||e.push({id:3,path:`project`,label:L.baseText(`variables.table.scope`),classes:[`variables-scope-column`]}),W.value?e.concat({id:4,path:`actions`,label:``,classes:[`variables-actions-column`]}):e}),Xe=async e=>{try{if(await Le.confirm(L.baseText(`variables.modals.deleteConfirm.message`,{interpolate:{name:e.key}}),L.baseText(`variables.modals.deleteConfirm.title`),{confirmButtonText:L.baseText(`variables.modals.deleteConfirm.confirmButton`),cancelButtonText:L.baseText(`variables.modals.deleteConfirm.cancelButton`)})!==`confirm`)return;await b.deleteVariable({id:e.id,value:e.value,key:e.key}),Ue({title:L.baseText(`variables.delete.successful.message`,{interpolate:{variableName:e.key}}),type:`success`})}catch(e){He(e,L.baseText(`variables.errors.delete`))}},q=e=>{ze.replace({query:(0,Ee.default)(e)})},J=ee({...R.query,incomplete:R.query.incomplete?.toString()===`true`,projectId:R.query.projectId?.toString()||``}),Ze=e=>{q({...J.value,search:e})},Qe=(e,t,n)=>{if(!ge(e))return!1;let r=t;return r.incomplete&&(n&&=!e.value),r.projectId&&(r.projectId===`global`?n&&=!e.project:n&&=e.project?.id===r.projectId),n},Y=(e,t,n)=>n===`asc`?Q(e).trim().localeCompare(Q(t).trim()):Q(t).trim().localeCompare(Q(e).trim()),$e={nameAsc:(e,t)=>Y(e,t,`asc`),nameDesc:(e,t)=>Y(e,t,`desc`)},X=r(()=>{let e=[{value:`global`,label:L.baseText(`variables.modal.scope.global`),icon:{type:`icon`,value:`database`}}];return e.push(...B.availableProjects.filter(e=>e.type!==`personal`).map(e=>{let t=e.icon??{type:`icon`,value:`layer-group`};return{value:e.id,label:e.name??e.id,icon:t}})),e}),Z=r(()=>X.value.find(e=>e.value===J.value.projectId)?.icon??{type:`icon`,value:`database`});function et(){ve().goToUpgrade(`variables`,`upgrade-variables`)}function Q(e){return e.key}Re.$onAction(({name:e,after:t})=>{e===`pullWorkfolder`&&t&&t(()=>{Ge()})});let $=r(()=>({heading:L.baseText(F.contextBasedTranslationKeys.variables.unavailable.title),description:L.baseText(F.contextBasedTranslationKeys.variables.unavailable.description),buttonText:L.baseText(F.contextBasedTranslationKeys.variables.unavailable.button),buttonType:`secondary`,"onClick:button":et,"data-test-id":`unavailable-resources-list`}));return o(()=>{_e().set(L.baseText(`variables.heading`))}),(e,r)=>{let o=ae(`n8n-truncate`);return f(),u(Se,{ref_key:`layoutRef`,ref:Ve,filters:J.value,"onUpdate:filters":[r[1]||=e=>J.value=e,q],"resource-key":`variables`,disabled:!W.value,resources:Je.value,"additional-filters-handler":Qe,shareable:!1,"display-name":Q,"sort-fns":$e,"sort-options":[`nameAsc`,`nameDesc`],type:`datatable`,"type-props":{columns:Ye.value},loading:n(We),"onUpdate:search":Ze,"onClick:add":Ke},c({header:v(()=>[h(Ce,{"main-button":`variable`},{default:v(()=>[n(Be).isOverviewSubPage&&n(z).isSummaryEnabled?(f(),u(n(Te),{key:0,loading:n(z).weeklySummary.isLoading,summary:n(z).weeklySummary.state,"time-range":`week`},null,8,[`loading`,`summary`])):a(``,!0)]),_:1})]),filters:v(({setKeyValue:o})=>[y(`div`,Oe,[h(n(E),{label:n(L).baseText(`credentials.filters.status`),bold:!1,size:`small`,color:`text-base`,class:`mb-3xs`},null,8,[`label`]),h(n(ue),{label:`Value missing`,"data-test-id":`variable-filter-incomplete`,"model-value":J.value.incomplete,"onUpdate:modelValue":e=>o(`incomplete`,e)},null,8,[`model-value`,`onUpdate:modelValue`])]),n(V)?a(``,!0):(f(),i(`div`,ke,[h(n(E),{label:n(L).baseText(`forms.resourceFiltersDropdown.owner`),bold:!1,size:`small`,color:`text-base`,class:`mb-3xs`},null,8,[`label`]),h(n(pe),{modelValue:J.value.projectId,"onUpdate:modelValue":[r[0]||=e=>J.value.projectId=e,e=>o(`projectId`,e)],size:`large`,filterable:``,"data-test-id":`variable-modal-scope-select`},{prefix:v(()=>[Z.value?.type===`emoji`?(f(),u(n(C),{key:0,class:p(e.$style.menuItemEmoji)},{default:v(()=>[t(g(Z.value?.value),1)]),_:1},8,[`class`])):Z.value?.value?(f(),u(n(S),{key:1,icon:Z.value.value},null,8,[`icon`])):a(``,!0)]),default:v(()=>[(f(!0),i(re,null,te(X.value,r=>(f(),u(n(ye),{key:r.value||`global`,value:r.value,label:r.label,class:p({[e.$style.globalOption]:r.value===`global`})},{default:v(()=>[y(`div`,{class:p(e.$style.optionContent)},[r.icon&&r.icon?.type===`emoji`?(f(),u(n(C),{key:0,class:p(e.$style.menuItemEmoji)},{default:v(()=>[t(g(r.icon.value),1)]),_:2},1032,[`class`])):r.icon?.value?(f(),u(n(S),{key:1,icon:r.icon.value},null,8,[`icon`])):a(``,!0),y(`span`,null,g(r.label),1)],2)]),_:2},1032,[`value`,`label`,`class`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`])]))]),default:v(({data:e})=>[y(`tr`,Ae,[y(`td`,null,g(e.key),1),y(`td`,null,[e.value?ie((f(),i(`span`,je,null,512)),[[o,e.value,`20`]]):(f(),u(n(w),{key:1,variant:`warning`},{default:v(()=>[...r[2]||=[t(` Value missing `,-1)]]),_:1}))]),y(`td`,null,[e.key?(f(),u(De,{key:0,name:e.key},null,8,[`name`])):a(``,!0)]),n(V)?a(``,!0):(f(),i(`td`,Me,[h(n(w),null,{default:v(()=>[y(`div`,Ne,[e.project?(f(),u(n(S),{key:0,icon:`layers`})):a(``,!0),t(` `+g(e.project?.name??n(L).baseText(`variables.table.scope.global`)),1)])]),_:2},1024)])),W.value?(f(),i(`td`,Pe,[y(`div`,Fe,[h(n(P),{disabled:H.value.update??U.value.update,placement:`top`},{content:v(()=>[t(g(n(L).baseText(`variables.row.button.edit.onlyRoleCanEdit`)),1)]),default:v(()=>[h(n(x),{variant:`subtle`,size:`small`,"data-test-id":`variable-row-edit-button`,class:`mr-xs`,disabled:!(H.value.update??U.value.update),onClick:t=>qe(e)},{default:v(()=>[t(g(n(L).baseText(`variables.row.button.edit`)),1)]),_:1},8,[`disabled`,`onClick`])]),_:2},1032,[`disabled`]),h(n(P),{disabled:H.value.delete??U.value.delete,placement:`top`},{content:v(()=>[t(g(n(L).baseText(`variables.row.button.delete.onlyRoleCanDelete`)),1)]),default:v(()=>[h(n(x),{variant:`subtle`,size:`small`,"data-test-id":`variable-row-delete-button`,disabled:!(H.value.delete??U.value.delete),onClick:t=>Xe(e)},{default:v(()=>[t(g(n(L).baseText(`variables.row.button.delete`)),1)]),_:1},8,[`disabled`,`onClick`])]),_:2},1032,[`disabled`])])])):a(``,!0)])]),postdata:v(()=>[n(V)&&G.value.length?(f(),i(`div`,Ie,[n(V)?(f(),u(n(C),{key:0,size:`small`},{default:v(()=>[h(n(le),{href:`/home/variables`,theme:`text`,size:`small`},{default:v(()=>[t(g(G.value.length)+` global variables `,1)]),_:1}),r[3]||=t(` available in this project `,-1)]),_:1})):a(``,!0)])):a(``,!0)]),_:2},[W.value?void 0:{name:`preamble`,fn:v(()=>[h(n(O),d({class:`mb-m`},$.value),null,16)]),key:`0`},!W.value||W.value&&!K.value?{name:`empty`,fn:v(()=>[W.value?K.value?a(``,!0):(f(),u(n(O),{key:1,"data-test-id":`cannot-create-variables`,heading:n(L).baseText(`variables.empty.notAllowedToCreate.heading`,{interpolate:{name:n(D).currentUser?.firstName??``}}),description:n(L).baseText(`variables.empty.notAllowedToCreate.description`)},null,8,[`heading`,`description`])):(f(),u(n(O),l(d({key:0},$.value)),null,16))]),key:`1`}:void 0]),1032,[`filters`,`disabled`,`resources`,`type-props`,`loading`])}}}),[[`__cssModules`,{$style:{optionContent:`_optionContent_5otes_1`,menuItemEmoji:`_menuItemEmoji_5otes_7`,globalOption:`_globalOption_5otes_12`}}],[`__scopeId`,`data-v-281fc901`]]);export{I as default};