n8n-editor-ui 2.1.1 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (298) hide show
  1. package/data/node-popularity.json +0 -4
  2. package/dist/assets/{AddDataTableModal-Dz0DDl2J.js → AddDataTableModal-C07v9Nxn.js} +18 -19
  3. package/dist/assets/{AgentEditorModal-BucPtfuf.js → AgentEditorModal-BrtNn_I9.js} +51 -62
  4. package/dist/assets/{AgentEditorModal-CzlIqORm.css → AgentEditorModal-CnYw6elM.css} +7 -13
  5. package/dist/assets/{Alert-0hwMnhqx.js → Alert-CjCTAWnZ.js} +1 -1
  6. package/dist/assets/{AnnotationTagsDropdown.ee-FwAi0jQL.js → AnnotationTagsDropdown.ee-BLpUZufe.js} +2 -2
  7. package/dist/assets/{AuthView-DpssdaNh.js → AuthView-CqAePJa9.js} +5 -5
  8. package/dist/assets/BottomMenu-CRVyIu-B.css +474 -0
  9. package/dist/assets/BottomMenu-Cej7gwr4.js +547 -0
  10. package/dist/assets/{ChangePasswordView-DBihzMqB.js → ChangePasswordView-BuzmSLJ8.js} +15 -15
  11. package/dist/assets/{ChatAgentAvatar-BK95BHUo.css → ChatAgentAvatar-B68ZZ295.css} +18 -9
  12. package/dist/assets/{ChatAgentAvatar-DDaNlXcV.js → ChatAgentAvatar-CwpeLqqo.js} +17 -16
  13. package/dist/assets/{ChatSidebarOpener-B4_hEzpT.js → ChatLayout-Baw4DF5I.js} +9 -28
  14. package/dist/assets/{ChatPersonalAgentsView-DhQsTHJ3.js → ChatPersonalAgentsView-B9Pt0vxY.js} +29 -34
  15. package/dist/assets/ChatPersonalAgentsView-BiiyFIRl.css +159 -0
  16. package/dist/assets/ChatSidebar-Cmc2-HvU.js +526 -0
  17. package/dist/assets/{ChatSidebar-D0f-W0S9.css → ChatSidebar-DcNxY7Pt.css} +61 -336
  18. package/dist/assets/{ChatView-B1O45V-1.js → ChatView-C2ezV2fz.js} +121 -142
  19. package/dist/assets/{ChatView-mTIZIDr3.css → ChatView-DZODCD2o.css} +4 -4
  20. package/dist/assets/{ChatWorkflowAgentsView-U76sjiCh.js → ChatWorkflowAgentsView-DBmwl58I.js} +22 -23
  21. package/dist/assets/CollectionParameter-DvlRV-HR.js +50 -0
  22. package/dist/assets/{CommunityNodeUpdateInfo-DaqlFCWs.js → CommunityNodeUpdateInfo-DjXh6DHu.js} +8 -8
  23. package/dist/assets/{CopyInput-DjkkoSUR.js → CopyInput-D-Z7pmxS.js} +4 -4
  24. package/dist/assets/{CredentialIcon-B5mFnPOM.js → CredentialIcon-ClX-2bGh.js} +3 -3
  25. package/dist/assets/{CredentialPicker-DmA-dFkP.js → CredentialPicker-CrCc144c.js} +5 -6
  26. package/dist/assets/{CredentialSelectorModal-CVKa8AAF.js → CredentialSelectorModal-Da2na5my.js} +18 -20
  27. package/dist/assets/{CredentialsView-B2WvyZTw.js → CredentialsView-CqNF_Gka.js} +34 -37
  28. package/dist/assets/{DataTableActions-CGYkW0Ge.js → DataTableActions-D0ibHSoF.js} +5 -6
  29. package/dist/assets/{DataTableDetailsView-B-_rx-9L.js → DataTableDetailsView-BRY9rVV1.js} +22 -24
  30. package/dist/assets/{DataTableView-K-cZEOKP.js → DataTableView-D4ujwn7I.js} +31 -34
  31. package/dist/assets/DemoFooter-fhB0ZsZi.js +63 -0
  32. package/dist/assets/{Draggable-D6WWA0zM.js → Draggable-Bs1jTk_8.js} +1 -1
  33. package/dist/assets/{EmptySharedSectionActionBox-CR6VISbw.js → EmptySharedSectionActionBox-BBB3j3rf.js} +4 -4
  34. package/dist/assets/{EnterpriseEdition.ee-CZml4Gcj.js → EnterpriseEdition.ee-_BSL-rxT.js} +1 -1
  35. package/dist/assets/{EntityNotFound-5i3KSEDe.js → EntityNotFound-8qJnYCXt.js} +7 -7
  36. package/dist/assets/{EntityUnAuthorised-DHAtMGRv.js → EntityUnAuthorised-CYu0UXzr.js} +7 -7
  37. package/dist/assets/{ErrorView-CxNhrbRr.js → ErrorView-CrDo6qHL.js} +9 -9
  38. package/dist/assets/{EvaluationsRootView-DFRtR5a2.js → EvaluationsRootView-C_7tPZ3q.js} +36 -36
  39. package/dist/assets/{EvaluationsView-DDnL-VtS.js → EvaluationsView-DTmT_Mjm.js} +21 -21
  40. package/dist/assets/{ExecutionsTime-CNz8UC7l.css → ExecutionsTime-CMAp2_xF.css} +24 -21
  41. package/dist/assets/{ExecutionsTime-Bll0yiJm.js → ExecutionsTime-ncZBFujs.js} +37 -28
  42. package/dist/assets/{ExecutionsView-8Y-vd0QZ.js → ExecutionsView-DKx5PCwr.js} +34 -37
  43. package/dist/assets/{ExternalSecretsProviderConnectionSwitch.ee-BWWuVEWG.js → ExternalSecretsProviderConnectionSwitch.ee-DQZ57stj.js} +4 -4
  44. package/dist/assets/{FixedCollectionParameter-CsPQJVNL.js → FixedCollectionParameter-BJZ0eM-5.js} +45 -53
  45. package/dist/assets/{ForgotMyPasswordView-DXGbw-EL.js → ForgotMyPasswordView-D_k_YvIG.js} +15 -15
  46. package/dist/assets/{InsightsChartAverageRuntime-Bm0c6_UE.js → InsightsChartAverageRuntime-Cljk8p2A.js} +10 -10
  47. package/dist/assets/{InsightsChartFailed-D6TI96gu.js → InsightsChartFailed-DTmTcxHp.js} +8 -8
  48. package/dist/assets/{InsightsChartFailureRate-BXjbwEEr.js → InsightsChartFailureRate-BKL-1iTZ.js} +10 -10
  49. package/dist/assets/{InsightsChartTimeSaved-BPUaaTg8.js → InsightsChartTimeSaved-CIxYU033.js} +10 -10
  50. package/dist/assets/{InsightsChartTotal-D3aCqsFD.js → InsightsChartTotal-_2DLJIdR.js} +8 -8
  51. package/dist/assets/{InsightsDashboard-C9pPsgT2.js → InsightsDashboard--1f1U32C.js} +32 -34
  52. package/dist/assets/{InsightsPaywall-fDfWjnVB.js → InsightsPaywall-DwtdewB6.js} +15 -16
  53. package/dist/assets/{InsightsSummary-Bjy-SY3W.js → InsightsSummary-DWzL1ePo.js} +8 -8
  54. package/dist/assets/{InsightsTableWorkflows-CAslapaK.js → InsightsTableWorkflows-CHoJdUEl.js} +18 -18
  55. package/dist/assets/{ItemsRenderer-CuTgDOI7.js → ItemsRenderer-Bju44b_S.js} +10 -10
  56. package/dist/assets/{ItemsRenderer-Cr6c6uYy.css → ItemsRenderer-DkobJF9f.css} +4 -2
  57. package/dist/assets/{KeyboardShortcutTooltip-BSbSC7ko.js → KeyboardShortcutTooltip-srIzApSu.js} +1 -1
  58. package/dist/assets/{LogsPanel-BVg_Ph6Z.js → LogsPanel-C9nCXiIh.js} +24 -25
  59. package/dist/assets/LogsPanel-z0W4CHve.js +50 -0
  60. package/dist/assets/MCPConnectWorkflowsModal-CR5hRPTJ.js +301 -0
  61. package/dist/assets/MCPConnectWorkflowsModal-CS2q8ice.css +275 -0
  62. package/dist/assets/{MainHeader-DJA_Afhq.css → MainHeader-CSaAWCWj.css} +13 -13
  63. package/dist/assets/{MainHeader-CfOHJ5AX.js → MainHeader-Dtf7ohow.js} +97 -101
  64. package/dist/assets/{MainSidebar-bwCkn71q.css → MainSidebar-CEsQ8o1Y.css} +84 -304
  65. package/dist/assets/{MainSidebar-BLoE9rZO.js → MainSidebar-_37xftBv.js} +222 -694
  66. package/dist/assets/{MigrationRuleDetail-CmcZ36s9.js → MigrationRuleDetail-CCO__jC7.js} +20 -20
  67. package/dist/assets/{MigrationRules-Cf4vXtX8.js → MigrationRules-B0SPwFyT.js} +12 -12
  68. package/dist/assets/{Modal-BkPSKUmM.js → Modal-DrkMFWe3.js} +4 -4
  69. package/dist/assets/{ModelByIdSelectorModal-BoLoyNu7.js → ModelByIdSelectorModal-CoQLLeXk.js} +17 -18
  70. package/dist/assets/{NDVEmptyState-ClE3eiVz.js → NDVEmptyState-DKrc1TFh.js} +1 -1
  71. package/dist/assets/{NodeCreation-DFfRX0DY.js → NodeCreation-k3pkIHZY.js} +41 -49
  72. package/dist/assets/{NodeCreator-CO64k-3G.js → NodeCreator-B6D9_1wn.js} +47 -50
  73. package/dist/assets/{NodeCreator-C-ckvxD7.css → NodeCreator-OSIpRI6S.css} +25 -25
  74. package/dist/assets/{NodeDetailsView-BURiqx95.js → NodeDetailsView-DfMYS7Pz.js} +60 -68
  75. package/dist/assets/{NodeDetailsViewV2-XUrXwnja.js → NodeDetailsViewV2-DOCw_zWY.js} +61 -69
  76. package/dist/assets/{ModalDrawer-B-12esvU.css → NodeIcon-BDxr0f30.css} +5 -6
  77. package/dist/assets/{NodeIcon-CWyPkrTk.js → NodeIcon-DL6ucXJC.js} +4 -4
  78. package/dist/assets/{NodeSettings-CcYkiMI8.js → NodeSettings-CS2iUNwL.js} +17 -17
  79. package/dist/assets/{NodeView-BPGoqSQJ.js → NodeView-0XOeMCB7.js} +111 -106
  80. package/dist/assets/{OAuthConsentView-kdX_7fls.js → OAuthConsentView-WGFrtRYZ.js} +14 -14
  81. package/dist/assets/{ParameterInputList-CXEjv4Ky.css → ParameterInputList-0YoVowEI.css} +10 -7
  82. package/dist/assets/{ParameterInputList-DdA16d29.js → ParameterInputList-DTEJwrQm.js} +59 -56
  83. package/dist/assets/{PrebuiltAgentTemplatesView-CwoV26I0.js → PrebuiltAgentTemplatesView-CJ6VJ0XJ.js} +17 -19
  84. package/dist/assets/{ProjectBreadcrumb-3cTfM8kZ.js → ProjectBreadcrumb-FtcudW_2.js} +4 -4
  85. package/dist/assets/{ProjectCardBadge-DWmYy--A.js → ProjectCardBadge-C42B_oyx.js} +5 -5
  86. package/dist/assets/{ProjectHeader-CzeJhu2I.js → ProjectHeader-UBLuSGFT.js} +8 -8
  87. package/dist/assets/{ProjectIcon-Biy_-Ssg.js → ProjectIcon-CEp8nyYM.js} +1 -1
  88. package/dist/assets/{ProjectRoleView-D6dn38TT.js → ProjectRoleView-BQvsQqjp.js} +15 -16
  89. package/dist/assets/{ProjectRolesView-BljI8SKN.js → ProjectRolesView-CksItD9m.js} +16 -19
  90. package/dist/assets/{ProjectSettings-Cu6igv0N.js → ProjectSettings-DUSQ3i-j.js} +26 -28
  91. package/dist/assets/{ProjectSharing-YZRwVLxy.js → ProjectSharing-DcKfaqUD.js} +5 -5
  92. package/dist/assets/{ProjectVariables-ClTl8P4L.js → ProjectVariables-BEwMAsZl.js} +32 -35
  93. package/dist/assets/{ProviderSettingsModal-Bw0f0MFf.js → ProviderSettingsModal-D9LOoiTP.js} +21 -23
  94. package/dist/assets/{PushConnectionTracker-ClSwVP7t.js → PushConnectionTracker-CYhR1yeo.js} +3 -3
  95. package/dist/assets/{ResolversView-BC_8K9SU.js → ResolversView-MhtoNdHP.js} +15 -17
  96. package/dist/assets/{ResourceFiltersDropdown-BACE5ZTX.css → ResourceFiltersDropdown-Cma1Lj9J.css} +12 -9
  97. package/dist/assets/{ResourceFiltersDropdown-1x0v8WL5.js → ResourceFiltersDropdown-DJG8zh1q.js} +18 -18
  98. package/dist/assets/{ResourcesListLayout-DeXcgSE7.js → ResourcesListLayout-CBYWFTvd.js} +9 -9
  99. package/dist/assets/{RunDataHtml-DhjduYN-.js → RunDataHtml-B4A7gRBL.js} +3 -3
  100. package/dist/assets/{RunDataHtml-_b8v7-9v.js → RunDataHtml-CkjC7YuF.js} +1 -1
  101. package/dist/assets/{RunDataJson-CzijJVcS.js → RunDataJson-hUd8I9Iw.js} +14 -14
  102. package/dist/assets/{RunDataJsonActions-F_lYqidD.js → RunDataJsonActions-mj5kInPr.js} +15 -15
  103. package/dist/assets/{RunDataParsedAiContent-rfF9dj2q.js → RunDataParsedAiContent-DQYrKUHo.js} +8 -8
  104. package/dist/assets/RunDataParsedAiContent-DhKdg7Ux.js +24 -0
  105. package/dist/assets/{RunDataSearch-sHgYw75e.js → RunDataSearch-BanmtjON.js} +10 -10
  106. package/dist/assets/{RunDataTable-CcVCz6KL.js → RunDataTable-CLw-U45I.js} +18 -18
  107. package/dist/assets/{SamlOnboarding-_E1uKrqU.js → SamlOnboarding-CL7FFqOA.js} +15 -15
  108. package/dist/assets/{SaveButton-CKB6EQNE.js → SaveButton-DdOVpjST.js} +3 -3
  109. package/dist/assets/{SelectedItemsInfo-BvVqSABb.js → SelectedItemsInfo-DBuH5w0D.js} +2 -2
  110. package/dist/assets/{SettingsApiView-BTIamHhf.js → SettingsApiView-C0aDHviI.js} +17 -20
  111. package/dist/assets/{SettingsChatHubView-CcI8QRBj.js → SettingsChatHubView-xXbgxwbM.js} +19 -19
  112. package/dist/assets/{SettingsCommunityNodesView-DnxcG1WB.js → SettingsCommunityNodesView-BAxes_Db.js} +29 -36
  113. package/dist/assets/{SettingsExternalSecrets-CZeypg03.js → SettingsExternalSecrets-B6jdgfB7.js} +17 -18
  114. package/dist/assets/{SettingsLdapView-BocG9o4_.js → SettingsLdapView-CR2IAnRQ.js} +19 -22
  115. package/dist/assets/{SettingsLogStreamingView-Cb0TLdGI.js → SettingsLogStreamingView-DSRc5q9w.js} +17 -20
  116. package/dist/assets/{SettingsMCPView-B61X_NPm.js → SettingsMCPView-C7HQFidB.js} +136 -164
  117. package/dist/assets/{SettingsMCPView-CuJwNWhp.css → SettingsMCPView-DIdodQTu.css} +28 -41
  118. package/dist/assets/{SettingsPersonalView-DwALyVrM.js → SettingsPersonalView-DOH_Ml9N.js} +15 -16
  119. package/dist/assets/{SettingsSourceControl-o8jjZB6R.js → SettingsSourceControl-DH0mZaa0.js} +19 -21
  120. package/dist/assets/{SettingsSso-CWlyF0Ul.js → SettingsSso-CrWkteb1.js} +21 -24
  121. package/dist/assets/{SettingsUsageAndPlan-qLBre8L1.js → SettingsUsageAndPlan-DQzF59ve.js} +17 -19
  122. package/dist/assets/{SettingsUsersView-IoXkRrA3.js → SettingsUsersView-BZrQxtA7.js} +22 -25
  123. package/dist/assets/{SettingsView-BRggCZxl.js → SettingsView-LDjLlP2V.js} +14 -14
  124. package/dist/assets/{SetupTemplateFormStep-B16Nen7u.js → SetupTemplateFormStep-CwgC9pY3.js} +7 -7
  125. package/dist/assets/{SetupView-B_3dlp0F.js → SetupView-wJeD4wwM.js} +15 -15
  126. package/dist/assets/{SetupWorkflowCredentialsButton-DbpL-wd-.js → SetupWorkflowCredentialsButton-kVNSvjYZ.js} +14 -14
  127. package/dist/assets/{SetupWorkflowFromTemplateView-DtkJ3dhT.js → SetupWorkflowFromTemplateView-CBTduGfH.js} +21 -25
  128. package/dist/assets/{SeverityTag-Bdpvd3O4.js → SeverityTag-CuF3dVKd.js} +2 -2
  129. package/dist/assets/{SigninView-D0mRO95G.js → SigninView-DjWIkUJe.js} +16 -16
  130. package/dist/assets/{SignoutView-D-cEDvGt.js → SignoutView-CP6UttCg.js} +8 -8
  131. package/dist/assets/{SignupView-BGUF0a3y.js → SignupView-DKWZNap-.js} +15 -15
  132. package/dist/assets/{SkeletonAgentCard-BqWJHS47.js → SkeletonAgentCard-DcV1dSF-.js} +8 -8
  133. package/dist/assets/{TagsDropdown-CKHFeXgu.js → TagsDropdown-CuT_jHbX.js} +3 -3
  134. package/dist/assets/{TemplateCard-C1F6Sjp3.js → TemplateCard-DY1aPA-a.js} +6 -7
  135. package/dist/assets/{TemplateDetails-ByaDkPHZ.js → TemplateDetails-Cstu-YNP.js} +6 -7
  136. package/dist/assets/{TemplateList-IOK3RSuN.js → TemplateList-BfBs1Bpa.js} +5 -5
  137. package/dist/assets/{TemplatesCollectionView-CpjEgT9v.js → TemplatesCollectionView-DgKv-274.js} +22 -24
  138. package/dist/assets/{TemplatesSearchView-Ddpn7Bwp.js → TemplatesSearchView-BgdaZIha.js} +19 -21
  139. package/dist/assets/{TemplatesView-DRX4MxqG.js → TemplatesView-HPIEGoX2.js} +3 -3
  140. package/dist/assets/{TemplatesWorkflowView-DOl8Qqi3.js → TemplatesWorkflowView-3-fxkWIH.js} +23 -25
  141. package/dist/assets/{TestRunDetailView-TQvUYMub.js → TestRunDetailView-D9tH7Ptp.js} +19 -19
  142. package/dist/assets/{TimeAgo-DxwwBGgJ.js → TimeAgo-BpAJIqal.js} +3 -3
  143. package/dist/assets/{ToolsSelectorModal-D0Uim3wr.js → ToolsSelectorModal-DSyXV7Ag.js} +17 -18
  144. package/dist/assets/{TriggerPanel-Bkka_-zL.js → TriggerPanel-DDzH4j34.js} +18 -19
  145. package/dist/assets/{VirtualSchema-498CQIM4.js → VirtualSchema-BN0NQDyh.js} +15 -16
  146. package/dist/assets/VirtualSchema-rizWsPXH.js +35 -0
  147. package/dist/assets/{VueMarkdown-Cpmboohi.js → VueMarkdown-D7yo0t2n.js} +1 -1
  148. package/dist/assets/{WorkerView-D0MGMP-3.js → WorkerView-DeYRT0mS.js} +34 -41
  149. package/dist/assets/{WorkflowActivationErrorMessage-CQe9ZG_g.js → WorkflowActivationErrorMessage-D9ktIWO1.js} +1 -1
  150. package/dist/assets/{WorkflowActivator-xCBwqG20.css → WorkflowActivator-BGcCOUCH.css} +2 -2
  151. package/dist/assets/{WorkflowActivator-CQk3zJa2.js → WorkflowActivator-Cj1x_nLm.js} +13 -11
  152. package/dist/assets/{WorkflowExecutionsInfoAccordion-DrB1HwtD.js → WorkflowExecutionsInfoAccordion-DOW8-lUO.js} +11 -15
  153. package/dist/assets/{WorkflowExecutionsLandingPage-wZsE1MEB.js → WorkflowExecutionsLandingPage-D-k97H81.js} +19 -33
  154. package/dist/assets/{WorkflowExecutionsPreview-DhEx7EQF.js → WorkflowExecutionsPreview-bwSmtqxL.js} +22 -25
  155. package/dist/assets/{WorkflowExecutionsView-CDFxKpEl.js → WorkflowExecutionsView-BoJYR4A-.js} +50 -46
  156. package/dist/assets/{WorkflowExecutionsView-J4lWGYW8.css → WorkflowExecutionsView-DzHhxp4K.css} +2 -2
  157. package/dist/assets/{WorkflowHistory-D3BhOWlD.css → WorkflowHistory-BBHdNsOb.css} +147 -98
  158. package/dist/assets/{WorkflowHistory-_npGuIvZ.js → WorkflowHistory-DDwFxfgs.js} +329 -273
  159. package/dist/assets/WorkflowLocation-6rp_-CuW.css +164 -0
  160. package/dist/assets/WorkflowLocation-BcPFmw0j.js +164 -0
  161. package/dist/assets/{WorkflowOnboardingView-DJmpaFOM.js → WorkflowOnboardingView-CQjMFn6h.js} +8 -10
  162. package/dist/assets/{WorkflowPreview-CVFW6eRL.js → WorkflowPreview-C2LPnLG1.js} +4 -4
  163. package/dist/assets/{WorkflowTagsDropdown-Dp6YkEZ3.js → WorkflowTagsDropdown-ChfpozQB.js} +2 -2
  164. package/dist/assets/{WorkflowsView-B068TUtp.js → WorkflowsView-C3nCkxzz.js} +65 -84
  165. package/dist/assets/{_MapCache-BXj4WgHo.js → _MapCache-0zNxISSG.js} +78 -8
  166. package/dist/assets/{_baseOrderBy-GjkKJVvF.js → _baseOrderBy-CesQfsb9.js} +4 -4
  167. package/dist/assets/{_initCloneObject-GPxNDW5O.js → _initCloneObject-DrYdt_vX.js} +2 -2
  168. package/dist/assets/{aiTemplatesStarterCollection.store-Ca9czXOC.js → aiTemplatesStarterCollection.store-Bz4IH9Sr.js} +5 -5
  169. package/dist/assets/{apiKeys.store-D60Aub0Q.js → apiKeys.store-W8uXGfoe.js} +2 -2
  170. package/dist/assets/{assistant.store-C0GxcpwT.js → assistant.store-Cn9sEjYD.js} +6 -6
  171. package/dist/assets/{auth.eventBus-BD50qglP.js → auth.eventBus-D9L5FHI4.js} +1 -1
  172. package/dist/assets/{banners.store-COEGRZB2.js → banners.store-CRNqMmnn.js} +4 -4
  173. package/dist/assets/{builder.store--AJ05qsa.js → builder.store-YujiPssa.js} +5772 -157
  174. package/dist/assets/{chartjs.utils-BuKhcKwM.js → chartjs.utils-CoNBCTXc.js} +3 -3
  175. package/dist/assets/{chat.store-DwNzDu7-.js → chat.store-YbHxxnni.js} +124 -88
  176. package/dist/assets/{chatPanel.store-DcSNy2dM.js → chatPanel.store-DmxMXfyE.js} +17 -11
  177. package/dist/assets/{col-D5wesaQA.js → col-oSGwUVsR.js} +1 -2
  178. package/dist/assets/{constants-B6Jp7SZD.js → constants-D52YoOSp.js} +13 -13
  179. package/dist/assets/{constants-qk3hx0l8.js → constants-DLTaaipl.js} +2 -1
  180. package/dist/assets/{core-CiWhevuy.js → core-BbiIkN91.js} +1 -1
  181. package/dist/assets/{dataTable.store-DjA0BZm0.js → dataTable.store-CUsh5p9b.js} +3 -3
  182. package/dist/assets/{date-picker-ZPBpyB3m.js → date-picker-DeUybCvv.js} +2 -2
  183. package/dist/assets/{dateFormatter-DqsBbNBt.js → dateFormatter-DzJiM44k.js} +2 -2
  184. package/dist/assets/{dialog-DJAwPy6j.js → dialog-C4MrWHj5.js} +3 -3
  185. package/dist/assets/{dist-JIm44DPf.js → dist-DP_8je0B.js} +1 -1
  186. package/dist/assets/{en-b3uD8cvU.js → en-CF30SCh2.js} +11 -1
  187. package/dist/assets/en-DyO2pPiC.js +2 -0
  188. package/dist/assets/{es-BskBLtZB.js → es-DlTgUi2w.js} +1 -1
  189. package/dist/assets/{evaluation.constants-CE1pFRXt.js → evaluation.constants-0Qe9Ioy2.js} +3 -3
  190. package/dist/assets/{executions.store-Di5hWapE.js → executions.store-Dodf4hZt.js} +2 -2
  191. package/dist/assets/{externalSecrets.ee.store-DRAvYvQH.js → externalSecrets.ee.store-CRomIb5E.js} +3 -3
  192. package/dist/assets/{folders.store-CHmc_cIa.js → folders.store-Bld2a-oS.js} +3 -3
  193. package/dist/assets/{index-BPWWnUZx.js → index-BFbfC2Dj.js} +478 -172
  194. package/dist/assets/{index-BkLJ6ICr.css → index-Bl6XoGDE.css} +155 -24
  195. package/dist/assets/{insights.constants-B7y0cvTb.js → insights.constants-C8GITe6H.js} +1 -1
  196. package/dist/assets/{insights.store-CUBXm-KC.js → insights.store-CwovPTtG.js} +5 -5
  197. package/dist/assets/{insights.utils-Dc4VSauh.js → insights.utils-BjffJfoC.js} +4 -4
  198. package/dist/assets/{isEmpty-B9tt1d3-.js → isEmpty-OfTBXDAe.js} +26 -27
  199. package/dist/assets/{languageModules-CLe6cIYW.js → languageModules-D_uyjb6R.js} +1 -1
  200. package/dist/assets/{logStreaming.store-Cv3Kx61Q.js → logStreaming.store-fF1gjMD8.js} +2 -2
  201. package/dist/assets/mcp.constants-DQPD3Ntp.js +10 -0
  202. package/dist/assets/{mcp.store-BY003P3O.js → mcp.store-CaNRXC4L.js} +14 -3
  203. package/dist/assets/{merge-BfSiz1ty.js → merge-BmWPLD5Q.js} +1 -1
  204. package/dist/assets/{nodeCreator.store-CPxLvRpA.js → nodeCreator.store-CnQC3Thy.js} +11 -16
  205. package/dist/assets/{nodeIcon-CwI12n1T.js → nodeIcon-Bcr-G7rB.js} +3 -3
  206. package/dist/assets/{nodeTransforms-E21OvGFn.js → nodeTransforms-DK79e95H.js} +2 -2
  207. package/dist/assets/{orderBy-BD202wCl.js → orderBy-YGC4g6w9.js} +2 -2
  208. package/dist/assets/{personalizedTemplatesV3.store-Bzf1Cn2b.js → personalizedTemplatesV3.store-BKxUzmKZ.js} +3 -5
  209. package/dist/assets/{pickBy-DhNfLbj0.js → pickBy-BnWwuV2u.js} +2 -2
  210. package/dist/assets/{radio-_dKLhwOP.js → radio-DyB--77Q.js} +1 -2
  211. package/dist/assets/{readyToRun.store-2jju4pRU.js → readyToRun.store-BRvUlRSD.js} +6 -7
  212. package/dist/assets/{readyToRunWorkflows.store-Bx_siYQA.js → readyToRunWorkflows.store-BNsVPNB9.js} +5 -6
  213. package/dist/assets/{roles.store-CfxqweOK.js → roles.store-pbRRxt0E.js} +3 -3
  214. package/dist/assets/{router-WNnUej-x.js → router-nTea-Urj.js} +111 -90
  215. package/dist/assets/{sanitize-html-Cft-jOcY.js → sanitize-html-Cc45ZKm8.js} +1 -1
  216. package/dist/assets/{schemaPreview.store-Do_fvTej.js → schemaPreview.store-D6CQiOeI.js} +3 -3
  217. package/dist/assets/{semver-CJFCetEf.js → semver-CrR9VADA.js} +2 -2
  218. package/dist/assets/{sourceControl.eventBus-Cvxq2KVt.js → sourceControl.eventBus-KIeXsiU7.js} +1 -1
  219. package/dist/assets/{src-DS0bffpn.css → src-CWWagUhy.css} +729 -81
  220. package/dist/assets/{src-RwnQoRPP.js → src-DTY1hJHs.js} +1675 -3573
  221. package/dist/assets/{sso.store-BfZ0zC0E.js → sso.store-Di00dtDC.js} +2 -2
  222. package/dist/assets/{table-8YZ1ENjX.js → table-VmuGzK7A.js} +3 -3
  223. package/dist/assets/{templateActions-Cs0Obyiy.js → templateActions-DIWkQgOn.js} +5 -5
  224. package/dist/assets/{templateTransforms-wuELQNpD.js → templateTransforms-BYfEDiSK.js} +1 -1
  225. package/dist/assets/{truncate-BmR9EyjG.js → truncate-ByNK2lRy.js} +2266 -27
  226. package/dist/assets/{uniqBy-DbOFAEPx.js → uniqBy-CJFaA-UD.js} +1 -1
  227. package/dist/assets/{usage.store-BQa0qHOj.js → usage.store-BY4g7MNp.js} +2 -2
  228. package/dist/assets/{useActions-CMJSyR7r.js → useActions-CBZGt3Kf.js} +4 -4
  229. package/dist/assets/{useBeforeUnload-DpKXUfN8.js → useBeforeUnload-CQAM_lAW.js} +3 -3
  230. package/dist/assets/{useCanvasMapping-BqapVTrs.js → useCanvasMapping-C0deX2fv.js} +35 -32
  231. package/dist/assets/{useCanvasOperations-Biw6mnUM.js → useCanvasOperations-BQyHvbXi.js} +140 -28
  232. package/dist/assets/{useClipboard-DvY5RseI.js → useClipboard-CqFyEHaX.js} +2 -2
  233. package/dist/assets/{useCommandBar-UBYl6Lds.js → useCommandBar-I9Rh00u6.js} +26 -30
  234. package/dist/assets/{useCredentialResolvers-PAhMLRo2.js → useCredentialResolvers-CaMKldsZ.js} +4 -5
  235. package/dist/assets/{useCustomAgent-BRGYGAAN.js → useCustomAgent-DLwpqJcm.js} +25 -15
  236. package/dist/assets/{useDebounce-Cisb25yt.js → useDebounce-DGSOfe85.js} +2 -2
  237. package/dist/assets/{useExecutionData-OVx1QXVF.js → useExecutionData-BocEX1BJ.js} +1 -1
  238. package/dist/assets/{useExecutionDebugging-B8KvDhkA.js → useExecutionDebugging-CsWzUsUi.js} +6 -7
  239. package/dist/assets/{useExecutionHelpers-DkOSl_iJ.js → useExecutionHelpers-BWgzEc86.js} +5 -5
  240. package/dist/assets/{useImportCurlCommand-3YGPoLWh.js → useImportCurlCommand-DGIgJik0.js} +9 -9
  241. package/dist/assets/{useKeybindings-BcvGBvra.js → useKeybindings-DD-ZZkmj.js} +4 -4
  242. package/dist/assets/{useLogsTreeExpand-CbLhbpHd.js → useLogsTreeExpand-BQmkJc3D.js} +13 -13
  243. package/dist/assets/{useMcp-1Dma_uQx.js → useMcp-CtPU_6al.js} +2 -2
  244. package/dist/assets/{usePageRedirectionHelper-D0ob2A1J.js → usePageRedirectionHelper-TzgTKFxt.js} +3 -4
  245. package/dist/assets/{usePinnedData-B3-uxBtk.js → usePinnedData-Dztv0dCp.js} +4 -4
  246. package/dist/assets/{usePushConnection-BA2hhsGP.js → usePushConnection-Ce3EppRV.js} +12 -13
  247. package/dist/assets/{useRecentResources-C_Rg8cei.js → useRecentResources-fniP3oOE.js} +9 -8
  248. package/dist/assets/{useRunWorkflow-nBr2MJkO.js → useRunWorkflow-CJgkc0Iq.js} +9 -10
  249. package/dist/assets/{useSettingsItems-B7GpfNq3.js → useSettingsItems-Ds8JJZE_.js} +4 -4
  250. package/dist/assets/{useTelemetryContext-DHoBfjOQ.js → useTelemetryContext-Ds7-s6ZC.js} +1 -1
  251. package/dist/assets/{useWorkflowActivate-B3DYQS1P.js → useWorkflowActivate-DocAQ9u8.js} +7 -8
  252. package/dist/assets/{useWorkflowsCache-BNSc43ak.js → useWorkflowsCache-BXhjK2ZF.js} +1 -1
  253. package/dist/assets/{userRoleProvisioning.store-DAStBpkv.js → userRoleProvisioning.store-DNmA1ftX.js} +2 -2
  254. package/dist/assets/utils-C2GPI2gK.js +54 -0
  255. package/dist/assets/{versions.store-BIIVPCEy.js → versions.store-qQUmfjg3.js} +3 -3
  256. package/dist/index.html +109 -119
  257. package/package.json +1 -1
  258. package/dist/assets/ChatSidebar-DW6c9Blv.js +0 -555
  259. package/dist/assets/CollectionParameter-Ci_0m1Vk.js +0 -58
  260. package/dist/assets/DemoFooter-DuvjbD1c.js +0 -71
  261. package/dist/assets/FileSaver.min--9uV1QmK.js +0 -72
  262. package/dist/assets/LogsPanel-DZfIzuWL.js +0 -58
  263. package/dist/assets/ModalDrawer-DJsD4EIc.js +0 -277
  264. package/dist/assets/NodeIcon-eaW3atZy.css +0 -125
  265. package/dist/assets/RunDataParsedAiContent-DuwV5rNK.js +0 -24
  266. package/dist/assets/VirtualSchema-B-AQEHOc.js +0 -42
  267. package/dist/assets/cloudPlan.store-Dad6qPdn.js +0 -185
  268. package/dist/assets/en-BD3FHSTF.js +0 -2
  269. package/dist/assets/focusPanel.store-C5r79FXL.js +0 -208
  270. package/dist/assets/mcp.constants-svQUbNx5.js +0 -8
  271. package/dist/assets/npsSurvey.store-DF2xZcCA.js +0 -98
  272. package/dist/assets/overlay-Bil1NnPh.js +0 -165
  273. package/dist/assets/templates.store-C3DEfML8.js +0 -3915
  274. package/dist/assets/useChatHubSidebarState-CZrP-mNo.js +0 -29
  275. package/dist/assets/useMessage-DIJ5qCTv.js +0 -610
  276. package/dist/assets/useWorkflowSaving-B1uc1ePR.js +0 -229
  277. package/dist/assets/utils-BLHsa_NJ.js +0 -18
  278. /package/dist/assets/{AnimatedSpinner-g6zev3_N.js → AnimatedSpinner-wiGFgffA.js} +0 -0
  279. /package/dist/assets/{CalendarDate-B-JEhNYg.js → CalendarDate-zWqgZMlk.js} +0 -0
  280. /package/dist/assets/{ChatFile-8ik4bOn3.js → ChatFile-cnNK8Kf8.js} +0 -0
  281. /package/dist/assets/{ChatSidebarOpener-CxM-3LAt.css → ChatLayout-CxM-3LAt.css} +0 -0
  282. /package/dist/assets/{ChatPersonalAgentsView-BBfu-g98.css → ChatWorkflowAgentsView-BBfu-g98.css} +0 -0
  283. /package/dist/assets/{PageViewLayout-B889Bfwc.js → PageViewLayout-BHSzOio1.js} +0 -0
  284. /package/dist/assets/{TextWithHighlights-C4QSPTGM.js → TextWithHighlights-DjzuDrgO.js} +0 -0
  285. /package/dist/assets/{buttons.esm-CZxEX89d.js → buttons.esm-CT4flsfB.js} +0 -0
  286. /package/dist/assets/{chart-BxWK2ZOo.js → chart-CE3HWIkr.js} +0 -0
  287. /package/dist/assets/{core-CXk6RNMV.js → core-6W4wWNc1.js} +0 -0
  288. /package/dist/assets/{dateformat-hG8NERse.js → dateformat-CM9k0--B.js} +0 -0
  289. /package/dist/assets/{exports-CdZcr9ah.js → exports-hpMZaOPT.js} +0 -0
  290. /package/dist/assets/{fileUtils-D3GQ2UWQ.js → fileUtils-D_SiS8no.js} +0 -0
  291. /package/dist/assets/{path-browserify-BgjP7RyT.js → path-browserify-BtCDmZ3_.js} +0 -0
  292. /package/dist/assets/{retry-CMAFrhVi.js → retry-dP46utx2.js} +0 -0
  293. /package/dist/assets/{smartDecimal-Bi50OE4b.js → smartDecimal-DK6-_VSq.js} +0 -0
  294. /package/dist/assets/{sortByProperty-DAqnDMg7.js → sortByProperty-CV1aCzkS.js} +0 -0
  295. /package/dist/assets/{useIntersectionObserver-BZ6Jqnr3.js → useIntersectionObserver-DXKoRNFj.js} +0 -0
  296. /package/dist/assets/{vue-0rlD32wK.js → vue-Dg_43WEg.js} +0 -0
  297. /package/dist/assets/{vue-json-pretty-B9qWbmOF.js → vue-json-pretty-DGKuDe33.js} +0 -0
  298. /package/dist/assets/{xml-DSIt30t0.js → xml-B6veOr9z.js} +0 -0
@@ -1,185 +0,0 @@
1
- import { C as computed, It as ref, Pt as reactive } from "./vue.runtime.esm-bundler-tP5dCd7J.js";
2
- import { $o as useSettingsStore, Cc as STORES, cc as getCurrentPlan, g as usePostHog, lc as getCurrentUsage, nr as hasPermission, oc as getAdminPanelLoginCode, sc as getCloudUserInfo } from "./builder.store--AJ05qsa.js";
3
- import { Cc as UPGRADE_PLAN_CTA_EXPERIMENT, Ec as CLOUD_TRIAL_CHECK_INTERVAL, Ga as DateTime } from "./constants-B6Jp7SZD.js";
4
- import { k as defineStore, r as useRootStore } from "./_baseOrderBy-GjkKJVvF.js";
5
- var DEFAULT_STATE = {
6
- initialized: false,
7
- data: null,
8
- usage: null,
9
- loadingPlan: false
10
- };
11
- var DYNAMIC_TRIAL_BANNER_DISMISSED_KEY = "n8n-dynamic-trial-banner-dismissed";
12
- const useCloudPlanStore = defineStore(STORES.CLOUD_PLAN, () => {
13
- const rootStore = useRootStore();
14
- const settingsStore = useSettingsStore();
15
- const posthogStore = usePostHog();
16
- const state = reactive(DEFAULT_STATE);
17
- const currentUserCloudInfo = ref(null);
18
- const isDynamicTrialBannerDismissed = ref(localStorage.getItem(DYNAMIC_TRIAL_BANNER_DISMISSED_KEY) === "true");
19
- const reset = () => {
20
- currentUserCloudInfo.value = null;
21
- state.data = null;
22
- state.usage = null;
23
- };
24
- const userIsTrialing = computed(() => state.data?.metadata?.group === "trial");
25
- const currentPlanData = computed(() => state.data);
26
- const currentUsageData = computed(() => state.usage);
27
- const selectedApps = computed(() => currentUserCloudInfo.value?.selectedApps);
28
- const codingSkill = computed(() => {
29
- const information = currentUserCloudInfo.value?.information;
30
- if (!information) return 0;
31
- if (!("which_of_these_do_you_feel_comfortable_doing" in information && information.which_of_these_do_you_feel_comfortable_doing && Array.isArray(information.which_of_these_do_you_feel_comfortable_doing))) return 0;
32
- return information.which_of_these_do_you_feel_comfortable_doing.length;
33
- });
34
- const dynamicTrialBannerText = computed(() => {
35
- return currentUserCloudInfo.value?.trialBannerData?.bannerText;
36
- });
37
- const shouldShowDynamicTrialBanner = computed(() => {
38
- return dynamicTrialBannerText.value !== void 0 && dynamicTrialBannerText.value !== "" && !isDynamicTrialBannerDismissed.value;
39
- });
40
- const dismissDynamicTrialBanner = () => {
41
- isDynamicTrialBannerDismissed.value = true;
42
- localStorage.setItem(DYNAMIC_TRIAL_BANNER_DISMISSED_KEY, "true");
43
- };
44
- const trialExpired = computed(() => state.data?.metadata?.group === "trial" && DateTime.now().toMillis() >= DateTime.fromISO(state.data?.expirationDate).toMillis());
45
- const allExecutionsUsed = computed(() => {
46
- if (!state.usage?.executions || !state.data?.monthlyExecutionsLimit) return false;
47
- return state.usage?.executions >= state.data?.monthlyExecutionsLimit;
48
- });
49
- const hasCloudPlan = computed(() => {
50
- const cloudUserId = settingsStore.settings.n8nMetadata?.userId;
51
- return hasPermission(["instanceOwner"]) && settingsStore.isCloudDeployment && !!cloudUserId;
52
- });
53
- const getUserCloudAccount = async () => {
54
- if (!hasCloudPlan.value) throw new Error("User does not have a cloud plan");
55
- let cloudUser = null;
56
- try {
57
- cloudUser = await getCloudUserInfo(rootStore.restApiContext);
58
- currentUserCloudInfo.value = cloudUser;
59
- } catch (error) {
60
- throw new Error(error.message);
61
- }
62
- };
63
- const getAutoLoginCode = async () => {
64
- return await getAdminPanelLoginCode(rootStore.restApiContext);
65
- };
66
- const isTrialUpgradeOnSidebar = computed(() => {
67
- return posthogStore.getVariant(UPGRADE_PLAN_CTA_EXPERIMENT.name) === UPGRADE_PLAN_CTA_EXPERIMENT.variant;
68
- });
69
- const getOwnerCurrentPlan = async () => {
70
- if (!hasCloudPlan.value) throw new Error("User does not have a cloud plan");
71
- state.loadingPlan = true;
72
- let plan;
73
- try {
74
- plan = await getCurrentPlan(rootStore.restApiContext);
75
- state.data = plan;
76
- state.loadingPlan = false;
77
- } catch (error) {
78
- state.loadingPlan = false;
79
- throw new Error(error);
80
- }
81
- return plan;
82
- };
83
- const getInstanceCurrentUsage = async () => {
84
- const usage = await getCurrentUsage({
85
- baseUrl: rootStore.baseUrl,
86
- pushRef: ""
87
- });
88
- state.usage = usage;
89
- return usage;
90
- };
91
- const usageLeft = computed(() => {
92
- if (!state.data || !state.usage) return {
93
- workflowsLeft: -1,
94
- executionsLeft: -1
95
- };
96
- return {
97
- workflowsLeft: state.data.activeWorkflowsLimit - state.usage.activeWorkflows,
98
- executionsLeft: state.data.monthlyExecutionsLimit - state.usage.executions
99
- };
100
- });
101
- const trialDaysLeft = computed(() => {
102
- if (!state.data?.expirationDate) return -1;
103
- const differenceInMs = (/* @__PURE__ */ new Date()).valueOf() - new Date(state.data.expirationDate).valueOf();
104
- const differenceInDays = Math.floor(differenceInMs / (1e3 * 60 * 60 * 24));
105
- return Math.ceil(differenceInDays);
106
- });
107
- const startPollingInstanceUsageData = () => {
108
- const interval = setInterval(async () => {
109
- try {
110
- await getInstanceCurrentUsage();
111
- if (trialExpired.value || allExecutionsUsed.value) {
112
- clearTimeout(interval);
113
- return;
114
- }
115
- } catch {}
116
- }, CLOUD_TRIAL_CHECK_INTERVAL);
117
- };
118
- const checkForCloudPlanData = async () => {
119
- try {
120
- await getOwnerCurrentPlan();
121
- if (!userIsTrialing.value) return;
122
- await getInstanceCurrentUsage();
123
- startPollingInstanceUsageData();
124
- } catch (e) {
125
- throw new Error(e.message);
126
- }
127
- };
128
- const fetchUserCloudAccount = async () => {
129
- try {
130
- await getUserCloudAccount();
131
- } catch (e) {
132
- throw new Error(e.message);
133
- }
134
- };
135
- const initialize = async () => {
136
- if (state.initialized) return;
137
- try {
138
- await checkForCloudPlanData();
139
- } catch (error) {
140
- console.warn("Error checking for cloud plan data:", error);
141
- }
142
- try {
143
- await fetchUserCloudAccount();
144
- } catch (error) {
145
- console.warn("Error fetching user cloud account:", error);
146
- }
147
- state.initialized = true;
148
- };
149
- const generateCloudDashboardAutoLoginLink = async (data) => {
150
- const searchParams = new URLSearchParams();
151
- const adminPanelHost = new URL(window.location.href).host.split(".").slice(1).join(".");
152
- const { code } = await getAutoLoginCode();
153
- const linkUrl = `https://${adminPanelHost}/login`;
154
- searchParams.set("code", code);
155
- searchParams.set("returnPath", data.redirectionPath);
156
- return `${linkUrl}?${searchParams.toString()}`;
157
- };
158
- return {
159
- state,
160
- usageLeft,
161
- trialDaysLeft,
162
- userIsTrialing,
163
- currentPlanData,
164
- currentUsageData,
165
- trialExpired,
166
- allExecutionsUsed,
167
- hasCloudPlan,
168
- currentUserCloudInfo,
169
- generateCloudDashboardAutoLoginLink,
170
- initialize,
171
- getOwnerCurrentPlan,
172
- getInstanceCurrentUsage,
173
- reset,
174
- checkForCloudPlanData,
175
- fetchUserCloudAccount,
176
- getAutoLoginCode,
177
- selectedApps,
178
- codingSkill,
179
- dynamicTrialBannerText,
180
- shouldShowDynamicTrialBanner,
181
- dismissDynamicTrialBanner,
182
- isTrialUpgradeOnSidebar
183
- };
184
- });
185
- export { useCloudPlanStore as t };
@@ -1,2 +0,0 @@
1
- import { t as en_default } from "./en-b3uD8cvU.js";
2
- export { en_default as default };
@@ -1,208 +0,0 @@
1
- import { o as __toESM } from "./chunk-6z4oVpB-.js";
2
- import { C as computed, It as ref } from "./vue.runtime.esm-bundler-tP5dCd7J.js";
3
- import { ot as watchOnce, pt as i18n } from "./_MapCache-BXj4WgHo.js";
4
- import { r as require_get } from "./truncate-BmR9EyjG.js";
5
- import { Cc as STORES, Qo as useStorage, _t as useNodeTypesStore, v as useWorkflowsStore } from "./builder.store--AJ05qsa.js";
6
- import { Aa as jsonParse, Fs as LOCAL_STORAGE_FOCUS_PANEL, c as PLACEHOLDER_EMPTY_WORKFLOW_ID, oo as FROM_AI_AUTO_GENERATED_MARKER, wi as extractFromAICalls } from "./constants-B6Jp7SZD.js";
7
- import { k as defineStore } from "./_baseOrderBy-GjkKJVvF.js";
8
- function sanitizeFromAiParameterName(s) {
9
- s = s.replace(/[^a-zA-Z0-9\-]/g, "_");
10
- if (s.length >= 64) s = s.slice(0, 63);
11
- return s;
12
- }
13
- var NODE_DENYLIST = [
14
- "@n8n/n8n-nodes-langchain.toolCode",
15
- "@n8n/n8n-nodes-langchain.toolHttpRequest",
16
- "@n8n/n8n-nodes-langchain.mcpClientTool",
17
- ["@n8n/n8n-nodes-langchain.toolWorkflow", 1.2]
18
- ];
19
- var PATH_DENYLIST = [
20
- "parameters.name",
21
- "parameters.toolName",
22
- "parameters.description",
23
- "parameters.toolDescription"
24
- ];
25
- var PROP_TYPE_DENYLIST = ["options", "credentialsSelect"];
26
- const fromAIExtraProps = { description: {
27
- initialValue: "",
28
- type: "string",
29
- typeOptions: { rows: 2 },
30
- tooltip: i18n.baseText("parameterOverride.descriptionTooltip")
31
- } };
32
- function isExtraPropKey(extraProps, key) {
33
- return extraProps.hasOwnProperty(key);
34
- }
35
- function updateFromAIOverrideValues(override, expr) {
36
- const { extraProps, extraPropValues } = override;
37
- const overrides = parseOverrides(expr);
38
- if (overrides) {
39
- for (const [key, value] of Object.entries(overrides)) if (isExtraPropKey(extraProps, key)) if (extraProps[key].initialValue === value) delete extraPropValues[key];
40
- else extraPropValues[key] = value;
41
- }
42
- }
43
- function fieldTypeToFromAiType(propType) {
44
- switch (propType) {
45
- case "boolean":
46
- case "number":
47
- case "json": return propType;
48
- default: return "string";
49
- }
50
- }
51
- function isFromAIOverrideValue(s) {
52
- return s.startsWith(`={{ ${FROM_AI_AUTO_GENERATED_MARKER} $fromAI(`);
53
- }
54
- function getBestQuoteChar(description) {
55
- if (description.includes("\n")) return "`";
56
- if (!description.includes("`")) return "`";
57
- if (!description.includes("\"")) return "\"";
58
- return "'";
59
- }
60
- function buildUniqueName(props) {
61
- const filteredPaths = props.path.split(".").filter((x) => /\[\d+\]/i.test(x)).map((x) => x.replaceAll(/[\[\]]/gi, ""));
62
- let result = [...filteredPaths, props.parameter.displayName].join("_");
63
- if (filteredPaths.length > 1) result = result.slice(-63);
64
- else result = result.slice(0, 63);
65
- return result;
66
- }
67
- function buildValueFromOverride(override, props, includeMarker) {
68
- const { extraPropValues, extraProps } = override;
69
- const marker = includeMarker ? `${FROM_AI_AUTO_GENERATED_MARKER} ` : "";
70
- const key = sanitizeFromAiParameterName(buildUniqueName(props));
71
- const description = extraPropValues?.description?.toString() ?? extraProps.description.initialValue;
72
- const quoteChar = getBestQuoteChar(description);
73
- return `={{ ${marker}$fromAI('${key}', ${quoteChar}${description.replaceAll(/\\/g, "\\\\").replaceAll(quoteChar, `\\${quoteChar}`)}${quoteChar}, '${fieldTypeToFromAiType(props.parameter.type)}') }}`;
74
- }
75
- function parseOverrides(expression) {
76
- try {
77
- const calls = extractFromAICalls(expression.replace(/\\[^`]/g, "\\\\"));
78
- if (calls.length === 1) return { description: calls[0].description };
79
- } catch (e) {}
80
- return null;
81
- }
82
- function isDeniedNode(nodeDenyData, node) {
83
- if (typeof nodeDenyData === "string") return node.type === nodeDenyData;
84
- else {
85
- const [typeName, version] = nodeDenyData;
86
- return node.type === typeName && node.typeVersion <= version;
87
- }
88
- }
89
- function canBeContentOverride(props, node) {
90
- if (NODE_DENYLIST.some((x) => isDeniedNode(x, node))) return false;
91
- if (PATH_DENYLIST.includes(props.path)) return false;
92
- if (PROP_TYPE_DENYLIST.includes(props.parameter.type)) return false;
93
- const codex = useNodeTypesStore().getNodeType(node.type, node?.typeVersion)?.codex;
94
- if (!codex?.categories?.includes("AI") || !codex?.subcategories?.AI?.includes("Tools") || codex?.subcategories?.AI?.includes("Vector Stores")) return false;
95
- return !props.parameter.noDataExpression;
96
- }
97
- function makeOverrideValue(context, node) {
98
- if (!node) return null;
99
- if (canBeContentOverride(context, node)) {
100
- const fromAiOverride = {
101
- type: "fromAI",
102
- extraProps: fromAIExtraProps,
103
- extraPropValues: {}
104
- };
105
- updateFromAIOverrideValues(fromAiOverride, context.value?.toString() ?? "");
106
- return fromAiOverride;
107
- }
108
- return null;
109
- }
110
- var import_get = /* @__PURE__ */ __toESM(require_get());
111
- var DEFAULT_PANEL_WIDTH = 500;
112
- var DEFAULT_FOCUS_PANEL_DATA = {
113
- isActive: false,
114
- parameters: []
115
- };
116
- const useFocusPanelStore = defineStore(STORES.FOCUS_PANEL, () => {
117
- const workflowsStore = useWorkflowsStore();
118
- const focusPanelStorage = useStorage(LOCAL_STORAGE_FOCUS_PANEL);
119
- const focusPanelData = computed(() => {
120
- const defaultValue = { [workflowsStore.workflowId]: DEFAULT_FOCUS_PANEL_DATA };
121
- return focusPanelStorage.value ? jsonParse(focusPanelStorage.value, { fallbackValue: defaultValue }) : defaultValue;
122
- });
123
- const currentFocusPanelData = computed(() => focusPanelData.value[workflowsStore.workflowId] ?? DEFAULT_FOCUS_PANEL_DATA);
124
- const lastFocusTimestamp = ref(0);
125
- const focusPanelActive = computed(() => currentFocusPanelData.value.isActive);
126
- const focusPanelWidth = computed(() => currentFocusPanelData.value.width ?? DEFAULT_PANEL_WIDTH);
127
- const _focusedNodeParameters = computed(() => currentFocusPanelData.value.parameters);
128
- const focusedNodeParameters = computed(() => _focusedNodeParameters.value.map((x) => {
129
- const node = workflowsStore.getNodeById(x.nodeId);
130
- if (!node) return x;
131
- const value = (0, import_get.default)(node?.parameters ?? {}, x.parameterPath.replace(/parameters\./, ""));
132
- if (typeof value === "string" && isFromAIOverrideValue(value)) return x;
133
- return {
134
- ...x,
135
- node,
136
- value
137
- };
138
- }));
139
- const resolvedParameter = computed(() => focusedNodeParameters.value[0] && isRichParameter(focusedNodeParameters.value[0]) ? focusedNodeParameters.value[0] : void 0);
140
- function _setOptions({ parameters, isActive, wid = workflowsStore.workflowId, width = void 0, removeEmpty = false }) {
141
- const focusPanelDataCurrent = focusPanelData.value;
142
- if (removeEmpty && "__EMPTY__" in focusPanelDataCurrent) delete focusPanelDataCurrent[PLACEHOLDER_EMPTY_WORKFLOW_ID];
143
- focusPanelStorage.value = JSON.stringify({
144
- ...focusPanelData.value,
145
- [wid]: {
146
- isActive: isActive ?? focusPanelActive.value,
147
- parameters: parameters ?? _focusedNodeParameters.value,
148
- width: width ?? focusPanelWidth.value
149
- }
150
- });
151
- if (isActive) lastFocusTimestamp.value = Date.now();
152
- }
153
- function onNewWorkflowSave(wid) {
154
- if (!currentFocusPanelData.value || !("__EMPTY__" in focusPanelData.value)) return;
155
- const latestWorkflowData = focusPanelData.value[PLACEHOLDER_EMPTY_WORKFLOW_ID];
156
- _setOptions({
157
- wid,
158
- parameters: latestWorkflowData.parameters,
159
- isActive: latestWorkflowData.isActive,
160
- removeEmpty: true
161
- });
162
- }
163
- function openWithFocusedNodeParameter(nodeParameter) {
164
- _setOptions({
165
- parameters: [nodeParameter],
166
- isActive: true
167
- });
168
- }
169
- function closeFocusPanel() {
170
- _setOptions({ isActive: false });
171
- }
172
- function unsetParameters() {
173
- _setOptions({ parameters: [] });
174
- }
175
- function toggleFocusPanel() {
176
- _setOptions({ isActive: !focusPanelActive.value });
177
- }
178
- function updateWidth(width) {
179
- _setOptions({ width });
180
- }
181
- function isRichParameter(p) {
182
- return "value" in p && "node" in p;
183
- }
184
- const focusedNodeParametersInTelemetryFormat = computed(() => focusedNodeParameters.value.map((x) => ({
185
- parameterPath: x.parameterPath,
186
- nodeType: isRichParameter(x) ? x.node.type : "unresolved",
187
- nodeId: x.nodeId
188
- })));
189
- watchOnce(() => currentFocusPanelData.value, (value) => {
190
- if (value.isActive && value.parameters.length > 0) lastFocusTimestamp.value = Date.now();
191
- });
192
- return {
193
- focusPanelActive,
194
- focusedNodeParameters,
195
- focusedNodeParametersInTelemetryFormat,
196
- lastFocusTimestamp,
197
- focusPanelWidth,
198
- resolvedParameter,
199
- openWithFocusedNodeParameter,
200
- isRichParameter,
201
- closeFocusPanel,
202
- toggleFocusPanel,
203
- onNewWorkflowSave,
204
- updateWidth,
205
- unsetParameters
206
- };
207
- });
208
- export { updateFromAIOverrideValues as a, makeOverrideValue as i, buildValueFromOverride as n, isFromAIOverrideValue as r, useFocusPanelStore as t };
@@ -1,8 +0,0 @@
1
- const MCP_ENDPOINT = "mcp-server/http";
2
- const MCP_DOCS_PAGE_URL = "https://docs.n8n.io/advanced-ai/accessing-n8n-mcp-server";
3
- const MCP_SETTINGS_VIEW = "McpSettings";
4
- const MCP_STORE = "mcp";
5
- const LOADING_INDICATOR_TIMEOUT = 200;
6
- const MCP_TOOLTIP_DELAY = 100;
7
- const MCP_CONNECT_POPOVER_WIDTH = 460;
8
- export { MCP_SETTINGS_VIEW as a, MCP_ENDPOINT as i, MCP_CONNECT_POPOVER_WIDTH as n, MCP_STORE as o, MCP_DOCS_PAGE_URL as r, MCP_TOOLTIP_DELAY as s, LOADING_INDICATOR_TIMEOUT as t };
@@ -1,98 +0,0 @@
1
- import { It as ref } from "./vue.runtime.esm-bundler-tP5dCd7J.js";
2
- import { $o as useSettingsStore, Ts as getPromptsData, Wi as useUIStore, ks as updateNpsSurveyState } from "./builder.store--AJ05qsa.js";
3
- import { Ac as SIX_MONTHS_IN_MILLIS, jc as THREE_DAYS_IN_MILLIS, kc as SEVEN_DAYS_IN_MILLIS, qo as CONTACT_PROMPT_MODAL_KEY, us as NPS_SURVEY_MODAL_KEY } from "./constants-B6Jp7SZD.js";
4
- import { g as assert, k as defineStore, r as useRootStore } from "./_baseOrderBy-GjkKJVvF.js";
5
- const useNpsSurveyStore = defineStore("npsSurvey", () => {
6
- const rootStore = useRootStore();
7
- const uiStore = useUIStore();
8
- const settingsStore = useSettingsStore();
9
- const shouldShowNpsSurveyNext = ref(false);
10
- const currentSurveyState = ref();
11
- const currentUserId = ref();
12
- const promptsData = ref();
13
- function setupNpsSurveyOnLogin(userId, settings) {
14
- currentUserId.value = userId;
15
- if (settings) setShouldShowNpsSurvey(settings);
16
- }
17
- function setShouldShowNpsSurvey(settings) {
18
- if (!settingsStore.isTelemetryEnabled) {
19
- shouldShowNpsSurveyNext.value = false;
20
- return;
21
- }
22
- currentSurveyState.value = settings.npsSurvey;
23
- const userActivated = Boolean(settings.userActivated);
24
- const userActivatedAt = settings.userActivatedAt;
25
- const lastShownAt = currentSurveyState.value?.lastShownAt;
26
- if (!userActivated || !userActivatedAt) return;
27
- if (Date.now() - userActivatedAt < THREE_DAYS_IN_MILLIS) return;
28
- if (!currentSurveyState.value || !lastShownAt) {
29
- shouldShowNpsSurveyNext.value = true;
30
- return;
31
- }
32
- const timeSinceLastShown = Date.now() - lastShownAt;
33
- if ("responded" in currentSurveyState.value && timeSinceLastShown < SIX_MONTHS_IN_MILLIS) return;
34
- if ("waitingForResponse" in currentSurveyState.value && timeSinceLastShown < SEVEN_DAYS_IN_MILLIS) return;
35
- shouldShowNpsSurveyNext.value = true;
36
- }
37
- function resetNpsSurveyOnLogOut() {
38
- shouldShowNpsSurveyNext.value = false;
39
- }
40
- async function showNpsSurveyIfPossible() {
41
- if (!shouldShowNpsSurveyNext.value) return;
42
- uiStore.openModal(NPS_SURVEY_MODAL_KEY);
43
- shouldShowNpsSurveyNext.value = false;
44
- const updatedState = {
45
- waitingForResponse: true,
46
- lastShownAt: Date.now(),
47
- ignoredCount: currentSurveyState.value && "ignoredCount" in currentSurveyState.value ? currentSurveyState.value.ignoredCount : 0
48
- };
49
- await updateNpsSurveyState(rootStore.restApiContext, updatedState);
50
- currentSurveyState.value = updatedState;
51
- }
52
- async function respondNpsSurvey() {
53
- assert(currentSurveyState.value);
54
- const updatedState = {
55
- responded: true,
56
- lastShownAt: currentSurveyState.value.lastShownAt
57
- };
58
- await updateNpsSurveyState(rootStore.restApiContext, updatedState);
59
- currentSurveyState.value = updatedState;
60
- }
61
- async function ignoreNpsSurvey() {
62
- assert(currentSurveyState.value);
63
- const state = currentSurveyState.value;
64
- const ignoredCount = "ignoredCount" in state ? state.ignoredCount : 0;
65
- if (ignoredCount + 1 >= 3) {
66
- await respondNpsSurvey();
67
- return;
68
- }
69
- const updatedState = {
70
- waitingForResponse: true,
71
- lastShownAt: currentSurveyState.value.lastShownAt,
72
- ignoredCount: ignoredCount + 1
73
- };
74
- await updateNpsSurveyState(rootStore.restApiContext, updatedState);
75
- currentSurveyState.value = updatedState;
76
- }
77
- async function fetchPromptsData() {
78
- assert(currentUserId.value);
79
- if (!settingsStore.isTelemetryEnabled) return;
80
- try {
81
- promptsData.value = await getPromptsData(settingsStore.settings.instanceId, currentUserId.value);
82
- } catch (e) {
83
- console.error("Failed to fetch prompts data");
84
- }
85
- if (promptsData.value?.showContactPrompt) uiStore.openModal(CONTACT_PROMPT_MODAL_KEY);
86
- else await useNpsSurveyStore().showNpsSurveyIfPossible();
87
- }
88
- return {
89
- promptsData,
90
- resetNpsSurveyOnLogOut,
91
- showNpsSurveyIfPossible,
92
- ignoreNpsSurvey,
93
- respondNpsSurvey,
94
- setupNpsSurveyOnLogin,
95
- fetchPromptsData
96
- };
97
- });
98
- export { useNpsSurveyStore as t };
@@ -1,165 +0,0 @@
1
- import { J as onBeforeUnmount, Jt as NOOP, L as h, M as createVNode, Nt as onScopeDispose, Ot as init_reactivity_esm_bundler, P as defineComponent, Z as onMounted, _t as watch, at as renderSlot, jt as isRef, tn as init_shared_esm_bundler, vt as watchEffect, wt as computed } from "./vue.runtime.esm-bundler-tP5dCd7J.js";
2
- import { rn as PatchFlags, un as getScrollBarWidth } from "./src-RwnQoRPP.js";
3
- import { Ct as addUnit, Et as removeClass, F as useNamespace, Ot as throwError, St as addClass, Tt as hasClass, X as buildProps, Z as definePropType, bn as isClient, wt as getStyle } from "./truncate-BmR9EyjG.js";
4
- var useDraggable = (targetRef, dragRef, draggable) => {
5
- let transform = {
6
- offsetX: 0,
7
- offsetY: 0
8
- };
9
- const onMousedown = (e) => {
10
- const downX = e.clientX;
11
- const downY = e.clientY;
12
- const { offsetX, offsetY } = transform;
13
- const targetRect = targetRef.value.getBoundingClientRect();
14
- const targetLeft = targetRect.left;
15
- const targetTop = targetRect.top;
16
- const targetWidth = targetRect.width;
17
- const targetHeight = targetRect.height;
18
- const clientWidth = document.documentElement.clientWidth;
19
- const clientHeight = document.documentElement.clientHeight;
20
- const minLeft = -targetLeft + offsetX;
21
- const minTop = -targetTop + offsetY;
22
- const maxLeft = clientWidth - targetLeft - targetWidth + offsetX;
23
- const maxTop = clientHeight - targetTop - targetHeight + offsetY;
24
- const onMousemove = (e2) => {
25
- const moveX = Math.min(Math.max(offsetX + e2.clientX - downX, minLeft), maxLeft);
26
- const moveY = Math.min(Math.max(offsetY + e2.clientY - downY, minTop), maxTop);
27
- transform = {
28
- offsetX: moveX,
29
- offsetY: moveY
30
- };
31
- if (targetRef.value) targetRef.value.style.transform = `translate(${addUnit(moveX)}, ${addUnit(moveY)})`;
32
- };
33
- const onMouseup = () => {
34
- document.removeEventListener("mousemove", onMousemove);
35
- document.removeEventListener("mouseup", onMouseup);
36
- };
37
- document.addEventListener("mousemove", onMousemove);
38
- document.addEventListener("mouseup", onMouseup);
39
- };
40
- const onDraggable = () => {
41
- if (dragRef.value && targetRef.value) dragRef.value.addEventListener("mousedown", onMousedown);
42
- };
43
- const offDraggable = () => {
44
- if (dragRef.value && targetRef.value) dragRef.value.removeEventListener("mousedown", onMousedown);
45
- };
46
- onMounted(() => {
47
- watchEffect(() => {
48
- if (draggable.value) onDraggable();
49
- else offDraggable();
50
- });
51
- });
52
- onBeforeUnmount(() => {
53
- offDraggable();
54
- });
55
- };
56
- init_reactivity_esm_bundler();
57
- var useLockscreen = (trigger, options = {}) => {
58
- if (!isRef(trigger)) throwError("[useLockscreen]", "You need to pass a ref param to this function");
59
- const ns = options.ns || useNamespace("popup");
60
- const hiddenCls = computed(() => ns.bm("parent", "hidden"));
61
- if (!isClient || hasClass(document.body, hiddenCls.value)) return;
62
- let scrollBarWidth = 0;
63
- let withoutHiddenClass = false;
64
- let bodyWidth = "0";
65
- const cleanup = () => {
66
- setTimeout(() => {
67
- if (typeof document === "undefined") return;
68
- removeClass(document == null ? void 0 : document.body, hiddenCls.value);
69
- if (withoutHiddenClass && document) document.body.style.width = bodyWidth;
70
- }, 200);
71
- };
72
- watch(trigger, (val) => {
73
- if (!val) {
74
- cleanup();
75
- return;
76
- }
77
- withoutHiddenClass = !hasClass(document.body, hiddenCls.value);
78
- if (withoutHiddenClass) bodyWidth = document.body.style.width;
79
- scrollBarWidth = getScrollBarWidth(ns.namespace.value);
80
- const bodyHasOverflow = document.documentElement.clientHeight < document.body.scrollHeight;
81
- const bodyOverflowY = getStyle(document.body, "overflowY");
82
- if (scrollBarWidth > 0 && (bodyHasOverflow || bodyOverflowY === "scroll") && withoutHiddenClass) document.body.style.width = `calc(100% - ${scrollBarWidth}px)`;
83
- addClass(document.body, hiddenCls.value);
84
- });
85
- onScopeDispose(() => cleanup());
86
- };
87
- init_shared_esm_bundler();
88
- var useSameTarget = (handleClick) => {
89
- if (!handleClick) return {
90
- onClick: NOOP,
91
- onMousedown: NOOP,
92
- onMouseup: NOOP
93
- };
94
- let mousedownTarget = false;
95
- let mouseupTarget = false;
96
- const onClick = (e) => {
97
- if (mousedownTarget && mouseupTarget) handleClick(e);
98
- mousedownTarget = mouseupTarget = false;
99
- };
100
- const onMousedown = (e) => {
101
- mousedownTarget = e.target === e.currentTarget;
102
- };
103
- const onMouseup = (e) => {
104
- mouseupTarget = e.target === e.currentTarget;
105
- };
106
- return {
107
- onClick,
108
- onMousedown,
109
- onMouseup
110
- };
111
- };
112
- var overlayProps = buildProps({
113
- mask: {
114
- type: Boolean,
115
- default: true
116
- },
117
- customMaskEvent: {
118
- type: Boolean,
119
- default: false
120
- },
121
- overlayClass: { type: definePropType([
122
- String,
123
- Array,
124
- Object
125
- ]) },
126
- zIndex: { type: definePropType([String, Number]) }
127
- });
128
- var overlayEmits = { click: (evt) => evt instanceof MouseEvent };
129
- var BLOCK = "overlay";
130
- var ElOverlay = defineComponent({
131
- name: "ElOverlay",
132
- props: overlayProps,
133
- emits: overlayEmits,
134
- setup(props, { slots, emit }) {
135
- const ns = useNamespace(BLOCK);
136
- const onMaskClick = (e) => {
137
- emit("click", e);
138
- };
139
- const { onClick, onMousedown, onMouseup } = useSameTarget(props.customMaskEvent ? void 0 : onMaskClick);
140
- return () => {
141
- return props.mask ? createVNode("div", {
142
- class: [ns.b(), props.overlayClass],
143
- style: { zIndex: props.zIndex },
144
- onClick,
145
- onMousedown,
146
- onMouseup
147
- }, [renderSlot(slots, "default")], PatchFlags.STYLE | PatchFlags.CLASS | PatchFlags.PROPS, [
148
- "onClick",
149
- "onMouseup",
150
- "onMousedown"
151
- ]) : h("div", {
152
- class: props.overlayClass,
153
- style: {
154
- zIndex: props.zIndex,
155
- position: "fixed",
156
- top: "0px",
157
- right: "0px",
158
- bottom: "0px",
159
- left: "0px"
160
- }
161
- }, [renderSlot(slots, "default")]);
162
- };
163
- }
164
- });
165
- export { useDraggable as i, useSameTarget as n, useLockscreen as r, ElOverlay as t };