n8n-editor-ui 1.92.0 → 1.94.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 (124) hide show
  1. package/dist/assets/{AnimatedSpinner-CtKKeDrz.js → AnimatedSpinner-CY5xYI5m.js} +1 -1
  2. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DR6h_xsK.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BOrzkwPH.js} +1 -1
  3. package/dist/assets/{AuthView-mKkzBRxh.js → AuthView-BTzGYAnY.js} +2 -2
  4. package/dist/assets/{CanvasChatSwitch-Bu2VD2kp.js → CanvasChatSwitch-CwpjFCL0.js} +17 -18
  5. package/dist/assets/{ChangePasswordView-D5UI1v-J.js → ChangePasswordView-BKR2UFVI.js} +3 -3
  6. package/dist/assets/CollectionParameter-BJtiV9En.js +4 -0
  7. package/dist/assets/{CredentialsView-B78eNJO5.js → CredentialsView-DVgxfnNi.js} +26 -11
  8. package/dist/assets/{DemoFooter-DP26HpCu.js → DemoFooter-C1T3Q0NX.js} +7 -8
  9. package/dist/assets/{ErrorView-C3fvEdCg.js → ErrorView-Cf2Yb8Ea.js} +1 -1
  10. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-BBpwYdHY.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-DUu0UMcW.js} +2 -2
  11. package/dist/assets/{ExecutionsView-BvlDZwIs.js → ExecutionsView-DjNkfnDh.js} +20 -18
  12. package/dist/assets/{FileSaver.min-BzAtcQXX.js → FileSaver.min-C1p9Eies.js} +1 -1
  13. package/dist/assets/{FixedCollectionParameter-CS5zXMAh.js → FixedCollectionParameter-DN_uJhpe.js} +1 -1
  14. package/dist/assets/{ForgotMyPasswordView-CVQ7pcIG.js → ForgotMyPasswordView-BMQBDIrq.js} +3 -3
  15. package/dist/assets/{InsightsChartAverageRuntime-Boh0SMb3.js → InsightsChartAverageRuntime-JzBkV6Rc.js} +4 -4
  16. package/dist/assets/{InsightsChartFailed-IZ-KYOU9.js → InsightsChartFailed-DMD3c7zM.js} +4 -4
  17. package/dist/assets/{InsightsChartFailureRate-2fWw3p0L.js → InsightsChartFailureRate-D_qeZo4f.js} +4 -4
  18. package/dist/assets/{InsightsChartTimeSaved-B2pLVys1.js → InsightsChartTimeSaved-Cw2T-Wvp.js} +4 -4
  19. package/dist/assets/{InsightsChartTotal-2QD4wPLR.js → InsightsChartTotal-DlF47gob.js} +4 -4
  20. package/dist/assets/{InsightsDashboard-Bx4vx9gz.css → InsightsDashboard-BSrakbzr.css} +42 -8
  21. package/dist/assets/{InsightsDashboard-CbiFbJ8w.js → InsightsDashboard-CxQ9H296.js} +40 -41
  22. package/dist/assets/{InsightsPaywall-5d-cSdiS.js → InsightsPaywall-hRkAfeHz.js} +1 -1
  23. package/dist/assets/InsightsSummary-BcXd-3nU.js +209 -0
  24. package/dist/assets/{InsightsSummary-CdlaUpAt.css → InsightsSummary-DzGQpM5h.css} +27 -24
  25. package/dist/assets/{InsightsTableWorkflows-Blv_GPUj.css → InsightsTableWorkflows-DfTZQkWL.css} +3 -4
  26. package/dist/assets/{InsightsTableWorkflows-_eTCUNCX.js → InsightsTableWorkflows-ybloXdDn.js} +5 -6
  27. package/dist/assets/{Logo-Dl2xVRIu.js → Logo-BGe7-2Vd.js} +1 -1
  28. package/dist/assets/{LogsPanel-JnYirDqa.js → LogsPanel-DtTp6kY0.js} +334 -338
  29. package/dist/assets/{MainHeader-CEPLiR-5.css → MainHeader-Y95RcfHb.css} +24 -17
  30. package/dist/assets/{MainHeader-Bk29pgmL.js → MainHeader-h2DV-VuD.js} +148 -82
  31. package/dist/assets/{MainSidebar-BM5ku_wM.js → MainSidebar-AAHHRXFA.js} +28 -11
  32. package/dist/assets/{MainSidebar-zZpP3qQ0.css → MainSidebar-D1_1YFQZ.css} +2 -2
  33. package/dist/assets/{NodeCreation-BEjdAYc_.js → NodeCreation-nHiG-Lhi.js} +9 -5
  34. package/dist/assets/{NodeCreator-D9fmPdS2.css → NodeCreator-D18StsVZ.css} +1021 -174
  35. package/dist/assets/{NodeCreator-cEUgbAI9.js → NodeCreator-weAzsmlU.js} +862 -418
  36. package/dist/assets/{NodeDetailsView-D4O9dKTA.js → NodeDetailsView-BsXbcyfb.js} +22 -15
  37. package/dist/assets/{NodeDetailsView-DsFLtbxi.css → NodeDetailsView-DpO8nTmN.css} +16 -16
  38. package/dist/assets/{NodeView-DDSOUm8E.js → NodeView-BY1O3wWl.js} +104 -50
  39. package/dist/assets/{ProjectCardBadge-BNn2hiMe.js → ProjectCardBadge-3xpk5Z4e.js} +38 -2
  40. package/dist/assets/{ProjectHeader-CaEZ2OPj.js → ProjectHeader-CpoOisjf.js} +106 -64
  41. package/dist/assets/{ProjectSettings-otA8E-yW.js → ProjectSettings-B__3XaPY.js} +14 -3
  42. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-C3JbZMCk.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-DaoPdG_5.js} +1 -1
  43. package/dist/assets/{ResourcesListLayout-1d9Ic6VX.js → ResourcesListLayout-DAxou314.js} +156 -53
  44. package/dist/assets/{ResourcesListLayout-CtGME7aU.css → ResourcesListLayout-DuNjbsMn.css} +8 -8
  45. package/dist/assets/{RunData-BjlZgIyx.css → RunData-CE5FsU6k.css} +2 -2
  46. package/dist/assets/{RunData-Bx47sNQp.js → RunData-fnd-jejc.js} +257 -99
  47. package/dist/assets/{RunDataAi-DOac7nwD.js → RunDataAi-Ck3VGKP_.js} +3 -4
  48. package/dist/assets/{RunDataJson-Pev6yNEV.js → RunDataJson-B80Z4URL.js} +7 -7
  49. package/dist/assets/{RunDataJsonActions-Co4xgmVq.js → RunDataJsonActions-CdZi1Qul.js} +1 -1
  50. package/dist/assets/{RunDataParsedAiContent-D6MNLmT3.js → RunDataParsedAiContent-BczxQ63H.js} +5 -5
  51. package/dist/assets/{RunDataSearch-C8orcAlP.js → RunDataSearch-C4KmCz4c.js} +1 -1
  52. package/dist/assets/{RunDataTable-oi_l8dhA.js → RunDataTable-CsLCZIWp.js} +3 -3
  53. package/dist/assets/{SamlOnboarding-CT5J6dx0.js → SamlOnboarding-DkhjCrPa.js} +3 -3
  54. package/dist/assets/{SettingsApiView-CupjcI9v.js → SettingsApiView-Ci2-rEpm.js} +1 -1
  55. package/dist/assets/{SettingsCommunityNodesView-B5K2VLyJ.js → SettingsCommunityNodesView-_UOppuqS.js} +24 -11
  56. package/dist/assets/{SettingsExternalSecrets-BidJCf_t.js → SettingsExternalSecrets-DHIkKr53.js} +1 -1
  57. package/dist/assets/{SettingsLdapView-Cva6akhW.js → SettingsLdapView-B8ezgdqP.js} +1 -1
  58. package/dist/assets/{SettingsLogStreamingView-Cy-rAKUO.js → SettingsLogStreamingView-YP6Xy7Fe.js} +1 -1
  59. package/dist/assets/{SettingsPersonalView-ZJ1Syok2.js → SettingsPersonalView-BmbFyWPb.js} +1 -1
  60. package/dist/assets/{SettingsSourceControl-CMtqqlkO.js → SettingsSourceControl-DwaOdDke.js} +1 -1
  61. package/dist/assets/{SettingsSso-Bi3OpykL.js → SettingsSso-DOC-P2wt.js} +14 -1
  62. package/dist/assets/{SettingsUsageAndPlan-C5TbwZhP.js → SettingsUsageAndPlan-DVOLlEkG.js} +1 -1
  63. package/dist/assets/{SettingsUsersView-BHuP5k0A.js → SettingsUsersView-CN_KLeIm.js} +1 -1
  64. package/dist/assets/{SettingsView-DPIIqaKN.js → SettingsView-DiAhLyco.js} +1 -1
  65. package/dist/assets/{SetupView-C4V9j6sh.js → SetupView-OE_yCNOU.js} +3 -3
  66. package/dist/assets/{SetupWorkflowCredentialsButton-BZ9ILQUp.js → SetupWorkflowCredentialsButton-Dx1IkZgW.js} +1 -1
  67. package/dist/assets/{SetupWorkflowFromTemplateView-3uV3zSU2.js → SetupWorkflowFromTemplateView-lQXKgIuL.js} +3 -3
  68. package/dist/assets/{SigninView-DWZHdCjG.js → SigninView-BWSrzbF7.js} +3 -3
  69. package/dist/assets/{SignoutView-DbduXAir.js → SignoutView-DxGgFxt2.js} +1 -1
  70. package/dist/assets/{SignupView-DWq6VACk.js → SignupView-Dtu5bMqF.js} +3 -3
  71. package/dist/assets/{TemplateDetails-BckqE6GK.js → TemplateDetails-CQ7TYqsP.js} +1 -1
  72. package/dist/assets/{TemplateList-Bw0JeBMP.js → TemplateList-Cxmv-0p-.js} +1 -1
  73. package/dist/assets/{TemplatesCollectionView-CAKT-mpV.js → TemplatesCollectionView-xvV6FXib.js} +5 -5
  74. package/dist/assets/{TemplatesSearchView-I2a5us58.js → TemplatesSearchView-CsECyZ52.js} +3 -3
  75. package/dist/assets/{TemplatesView-6EwGFFJK.js → TemplatesView-DrEKpZTU.js} +1 -1
  76. package/dist/assets/{TemplatesWorkflowView-C8xYMhwu.js → TemplatesWorkflowView-iSAL_yol.js} +5 -5
  77. package/dist/assets/{TestDefinitionEditView-CNd3Cuzq.js → TestDefinitionEditView-C3ohfu_r.js} +6 -7
  78. package/dist/assets/{TestDefinitionListView-BwTWIaAM.js → TestDefinitionListView-Dwto0jxH.js} +1 -1
  79. package/dist/assets/{TestDefinitionNewView-BQas0_G1.js → TestDefinitionNewView-9xVUm2ZJ.js} +2 -2
  80. package/dist/assets/{TestDefinitionRootView-D971MFye.js → TestDefinitionRootView-DLurQ4xl.js} +1 -1
  81. package/dist/assets/{VariablesView-DcBBuFxh.js → VariablesView-Cg2WSt_e.js} +4 -3
  82. package/dist/assets/{WorkerView-DSgBNIeb.js → WorkerView-BG-Dl0Ej.js} +6 -6
  83. package/dist/assets/{WorkflowActivator-DAyH7N29.css → WorkflowActivator-DrMTmuTZ.css} +2 -2
  84. package/dist/assets/{WorkflowActivator-CPCbgb_n.js → WorkflowActivator-e7wvW1kJ.js} +17 -11
  85. package/dist/assets/{WorkflowExecutionsInfoAccordion-Bc6vzAZu.js → WorkflowExecutionsInfoAccordion-CijtfO0l.js} +1 -1
  86. package/dist/assets/{WorkflowExecutionsLandingPage-BPPS4V9i.js → WorkflowExecutionsLandingPage-Do4y1yOx.js} +2 -2
  87. package/dist/assets/{WorkflowExecutionsPreview-Bbb5MB8Z.js → WorkflowExecutionsPreview-Bqo_3PXl.js} +6 -6
  88. package/dist/assets/{WorkflowExecutionsView-Pz-7iHJY.js → WorkflowExecutionsView-C1gS45nc.js} +10 -10
  89. package/dist/assets/{WorkflowHistory-Czo9IuI6.js → WorkflowHistory-CypQw7rC.js} +37 -19
  90. package/dist/assets/{WorkflowOnboardingView-B8DdkfJ5.js → WorkflowOnboardingView-DoKXpaNj.js} +1 -1
  91. package/dist/assets/{WorkflowPreview-eVlO1itk.js → WorkflowPreview-Bxs5XzBX.js} +1 -1
  92. package/dist/assets/{WorkflowsView-Cr2D0vym.js → WorkflowsView-BlvgD3xI.js} +299 -157
  93. package/dist/assets/{WorkflowsView-B2_HJCJ5.css → WorkflowsView-CQvTAWQ0.css} +24 -13
  94. package/dist/assets/{chartjs.utils-Dk1WO3Mr.js → chartjs.utils-CuWcgqCr.js} +2 -2
  95. package/dist/assets/{dateFormatter-C8N5khiG.js → dateFormatter-LbucaaRt.js} +1 -1
  96. package/dist/assets/{easyAiWorkflowUtils-CLqHnasO.js → easyAiWorkflowUtils-_kvYb5hw.js} +1 -1
  97. package/dist/assets/{global-link-actions-BvoZh8u9.js → global-link-actions-DG0SjhQE.js} +1 -1
  98. package/dist/assets/{import-curl-BpxkGYMX.js → import-curl-DQ6uPzZ1.js} +1 -1
  99. package/dist/assets/{index-DCpy4nCU.css → index-BA8d2DN9.css} +311 -515
  100. package/dist/assets/{index-B6eunbxp.js → index-hdsPF3tl.js} +61611 -57550
  101. package/dist/assets/{index-Br8T1Gn6.js → index-vIybYvt3.js} +1 -1
  102. package/dist/assets/{pickBy-8Urz9lDY.js → pickBy-DmKUpB7M.js} +1 -1
  103. package/dist/assets/{polyfills-CLZ4X0Ad.js → polyfills-J2x06Gdp.js} +157 -224
  104. package/dist/assets/{templateActions-DzjysjbQ.js → templateActions-DxoxchKp.js} +1 -1
  105. package/dist/assets/{typescript.worker-BsxN2afA.js → typescript.worker-B1loTpxy.js} +1 -1
  106. package/dist/assets/{useBeforeUnload-DxrN8vOO.js → useBeforeUnload-B7JAQiE8.js} +1 -1
  107. package/dist/assets/{useCanvasMapping-cuXLM-h-.css → useCanvasMapping-CFf4cwnq.css} +6 -5
  108. package/dist/assets/{useCanvasMapping-C2BQB9QB.js → useCanvasMapping-CvcOHj5p.js} +94 -50
  109. package/dist/assets/{useClearExecutionButtonVisible-BV-jMf2m.js → useClearExecutionButtonVisible-DFNEJves.js} +1 -2
  110. package/dist/assets/{useExecutionDebugging-0pPCimcw.js → useExecutionDebugging-DsRIfE0y.js} +1 -1
  111. package/dist/assets/{useExecutionHelpers-DIvhViMz.js → useExecutionHelpers-CEOL8_vt.js} +3 -3
  112. package/dist/assets/{useImportCurlCommand-BWf4R83s.js → useImportCurlCommand-DdIN4YaF.js} +2 -2
  113. package/dist/assets/useProjectPages-OGc-GAxb.js +17 -0
  114. package/dist/assets/{usePushConnection-Pobjq0U9.js → usePushConnection-DNGIaS0A.js} +29 -127
  115. package/dist/assets/{useTestDefinitionForm-BA3IS_2B.js → useTestDefinitionForm-Bi6EgFVm.js} +1 -1
  116. package/dist/assets/{useWorkflowActivate-DFqvrpj6.js → useWorkflowActivate-CJ1hLmv2.js} +1 -1
  117. package/dist/assets/{useWorkflowSaving-BACesUoL.js → useWorkflowSaving-BuokdhTC.js} +2 -2
  118. package/dist/index.html +3 -3
  119. package/package.json +1 -1
  120. package/tsconfig.json +1 -0
  121. package/vite.config.mts +4 -0
  122. package/dist/assets/CollectionParameter-BeCTpZ-q.js +0 -4
  123. package/dist/assets/InsightsSummary-gldDQ9rg.js +0 -207
  124. package/dist/assets/useCanvasOperations-DaP5jKbH.js +0 -3183
@@ -1,13 +1,12 @@
1
- import { d as defineComponent, r as ref, q as computed, h as resolveComponent, i as createElementBlock, g as openBlock, n as normalizeClass, k as createBaseVNode, j as createVNode, bC as _sfc_main$g, w as withCtx, bd as withKeys, b2 as withModifiers, l as createTextVNode, t as toDisplayString, m as unref, c as useI18n, e as createBlock, f as createCommentVNode, z as nextTick, _ as _export_sfc, as as useNDVStore, Q as useWorkflowsStore, dT as isCommunityPackageName, cM as NPM_PACKAGE_DOCS_BASE_URL, hS as BUILTIN_NODES_DOCS_URL, cO as COMMUNITY_NODES_INSTALLATION_DOCS_URL, aP as useExternalHooks, ag as useTelemetry, bm as NodeConnectionTypes, b as useRouter, bf as useClipboard, a5 as useWorkflowHelpers, a as useToast, hT as OPEN_URL_PANEL_TRIGGER_NODE_TYPES, hU as PRODUCTION_ONLY_TRIGGER_NODE_TYPES, fz as MCP_TRIGGER_NODE_TYPE, fq as FORM_TRIGGER_NODE_TYPE, bk as CHAT_TRIGGER_NODE_TYPE, X as watch, F as Fragment, D as renderList, aQ as onClickOutside, aq as h, hV as toRef, hW as tryOnScopeDispose, hX as toValue, hY as isIOS, hZ as noop, h_ as isObject, h$ as isClient, bz as useNodeTypesStore, bA as useNodeHelpers, G as useDebounce, B as normalizeStyle, gf as TitledList, bw as getNodeInputs, i0 as SWITCH_NODE_TYPE, ep as isEqual, i1 as captureException, p as useSettingsStore, au as usePostHog, bR as useCredentialsStore, u as useUsersStore, a1 as useProjectsStore, dI as OPEN_AI_API_CREDENTIAL_TYPE, i2 as AI_CREDITS_EXPERIMENT, bU as useHistoryStore, ab as ProjectTypes, bx as getConnectionTypes, o as onMounted, bH as ndvEventBus, y as onBeforeUnmount, i3 as _sfc_main$h, i4 as CUSTOM_NODES_DOCS_URL, aA as withDirectives, aB as vShow, hs as _sfc_main$i, i5 as NodeCredentials, bo as get, fQ as getNodeParameters, cl as deepCopy, i6 as set, i7 as unset, fF as RenameNodeCommand, hr as isINodePropertyCollectionList, i8 as isINodePropertiesList, i9 as isINodePropertyOptionsList, ia as displayParameter, h7 as Draggable, bM as useThrottleFn, H as useUIStore, fU as useSlots, ib as MAIN_NODE_PANEL_WIDTH, aJ as useStorage, ic as LOCAL_STORAGE_MAIN_PANEL_RELATIVE_WIDTH, x as renderSlot, cm as resolveDirective, dq as InfoTip, cR as storeToRefs, gj as useNodeDirtiness, d_ as useNodeType, bq as usePinnedData, gg as CanvasNodeDirtiness, aV as createSlots, be as N8nText, id as waitingNodeTooltip, bG as N8nRadioButtons, ek as isPresent, ie as truncate, gY as createStaticVNode, bY as START_NODE_TYPE, fn as MANUAL_TRIGGER_NODE_TYPE, ig as CRON_NODE_TYPE, ih as INTERVAL_NODE_TYPE, by as getNodeOutputs, ii as uniqBy, b6 as resolveDynamicComponent, aR as N8nTooltip, bE as N8nIcon, ij as isTriggerPanelObject, dz as getTriggerNodeServiceName, fi as WEBHOOK_NODE_TYPE, dt as CopyInput, C as createEventBus, gi as Transition, V as VIEWS, ak as WORKFLOW_SETTINGS_MODAL_KEY, g8 as useDeviceSupport, ik as EXECUTABLE_TRIGGER_NODE_TYPES, ay as STICKY_NODE_TYPE, il as BASE_NODE_SURVEY_URL, aa as EnterpriseEditionFeature, e6 as dataPinningEventBus, bJ as useStyles, im as APP_MODALS_ELEMENT_ID, ai as useMessage, aj as MODAL_CONFIRM, b_ as jsonParse } from "./index-B6eunbxp.js";
2
- import { i as importCurlEventBus } from "./import-curl-BpxkGYMX.js";
3
- import { R as RunData } from "./RunData-Bx47sNQp.js";
4
- import { b as convertToDisplayDateComponents } from "./dateFormatter-C8N5khiG.js";
5
- import { R as RunDataAi } from "./RunDataAi-DOac7nwD.js";
6
- import { u as useWorkflowActivate } from "./useWorkflowActivate-DFqvrpj6.js";
7
- import "./FileSaver.min-BzAtcQXX.js";
8
- import "./useExecutionHelpers-DIvhViMz.js";
9
- import "./RunDataParsedAiContent-D6MNLmT3.js";
10
- import "./useCanvasOperations-DaP5jKbH.js";
1
+ import { d as defineComponent, r as ref, q as computed, h as resolveComponent, i as createElementBlock, g as openBlock, n as normalizeClass, k as createBaseVNode, j as createVNode, bD as _sfc_main$g, w as withCtx, be as withKeys, b3 as withModifiers, l as createTextVNode, t as toDisplayString, m as unref, c as useI18n, e as createBlock, f as createCommentVNode, z as nextTick, _ as _export_sfc, as as useNDVStore, Q as useWorkflowsStore, dN as isCommunityPackageName, cU as NPM_PACKAGE_DOCS_BASE_URL, gY as BUILTIN_NODES_DOCS_URL, cW as COMMUNITY_NODES_INSTALLATION_DOCS_URL, aP as useExternalHooks, ag as useTelemetry, by as NodeConnectionTypes, b as useRouter, bg as useClipboard, a5 as useWorkflowHelpers, a as useToast, gZ as OPEN_URL_PANEL_TRIGGER_NODE_TYPES, g_ as PRODUCTION_ONLY_TRIGGER_NODE_TYPES, g$ as MCP_TRIGGER_NODE_TYPE, h0 as FORM_TRIGGER_NODE_TYPE, c4 as CHAT_TRIGGER_NODE_TYPE, X as watch, F as Fragment, D as renderList, aQ as onClickOutside, aq as h, h1 as toRef, h2 as tryOnScopeDispose, h3 as toValue, h4 as isIOS, h5 as noop, h6 as isObject, h7 as isClient, bz as useNodeTypesStore, bA as useNodeHelpers, G as useDebounce, B as normalizeStyle, f5 as TitledList, bv as getNodeInputs, h8 as SWITCH_NODE_TYPE, ey as isEqual, h9 as captureException, p as useSettingsStore, au as usePostHog, bU as useCredentialsStore, u as useUsersStore, a1 as useProjectsStore, dS as OPEN_AI_API_CREDENTIAL_TYPE, ha as AI_CREDITS_EXPERIMENT, bX as useHistoryStore, ab as ProjectTypes, bw as getConnectionTypes, o as onMounted, bQ as ndvEventBus, y as onBeforeUnmount, hb as _sfc_main$h, hc as CUSTOM_NODES_DOCS_URL, aA as withDirectives, aB as vShow, gp as _sfc_main$i, hd as NodeCredentials, gr as get, he as getNodeParameters, ct as deepCopy, hf as set, hg as unset, hh as getUpdatedToolDescription, hi as RenameNodeCommand, go as isINodePropertyCollectionList, hj as isINodePropertiesList, hk as isINodePropertyOptionsList, hl as displayParameter, g4 as Draggable, bO as useThrottleFn, H as useUIStore, eF as useSlots, hm as MAIN_NODE_PANEL_WIDTH, aJ as useStorage, hn as LOCAL_STORAGE_MAIN_PANEL_RELATIVE_WIDTH, x as renderSlot, cu as resolveDirective, dy as InfoTip, cZ as storeToRefs, fa as useNodeDirtiness, e8 as useNodeType, bl as usePinnedData, f6 as CanvasNodeDirtiness, aV as createSlots, bf as N8nText, ho as waitingNodeTooltip, bJ as N8nRadioButtons, et as isPresent, hp as truncate, fV as createStaticVNode, c0 as START_NODE_TYPE, gF as MANUAL_TRIGGER_NODE_TYPE, hq as CRON_NODE_TYPE, hr as INTERVAL_NODE_TYPE, bx as getNodeOutputs, hs as uniqBy, b7 as resolveDynamicComponent, aR as N8nTooltip, bF as N8nIcon, ht as isTriggerPanelObject, dH as getTriggerNodeServiceName, gL as WEBHOOK_NODE_TYPE, dB as CopyInput, C as createEventBus, f8 as Transition, V as VIEWS, ak as WORKFLOW_SETTINGS_MODAL_KEY, e_ as useDeviceSupport, hu as EXECUTABLE_TRIGGER_NODE_TYPES, ay as STICKY_NODE_TYPE, hv as BASE_NODE_SURVEY_URL, aa as EnterpriseEditionFeature, ef as dataPinningEventBus, bM as useStyles, hw as APP_MODALS_ELEMENT_ID, ai as useMessage, aj as MODAL_CONFIRM, c3 as jsonParse } from "./index-hdsPF3tl.js";
2
+ import { i as importCurlEventBus } from "./import-curl-DQ6uPzZ1.js";
3
+ import { R as RunData } from "./RunData-fnd-jejc.js";
4
+ import { b as convertToDisplayDateComponents } from "./dateFormatter-LbucaaRt.js";
5
+ import { R as RunDataAi } from "./RunDataAi-Ck3VGKP_.js";
6
+ import { u as useWorkflowActivate } from "./useWorkflowActivate-CJ1hLmv2.js";
7
+ import "./FileSaver.min-C1p9Eies.js";
8
+ import "./useExecutionHelpers-CEOL8_vt.js";
9
+ import "./RunDataParsedAiContent-BczxQ63H.js";
11
10
  const _sfc_main$f = /* @__PURE__ */ defineComponent({
12
11
  __name: "NodeTitle",
13
12
  props: {
@@ -1282,9 +1281,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
1282
1281
  );
1283
1282
  const node2 = computed(() => ndvStore.activeNode);
1284
1283
  const isTriggerNode = computed(() => !!node2.value && nodeTypesStore.isTriggerNode(node2.value.type));
1285
- const isNodesAsToolNode = computed(
1286
- () => !!node2.value && nodeTypesStore.isNodesAsToolNode(node2.value.type)
1287
- );
1284
+ const isToolNode = computed(() => !!node2.value && nodeTypesStore.isToolNode(node2.value.type));
1288
1285
  const isExecutable = computed(() => {
1289
1286
  if (props.nodeType && node2.value) {
1290
1287
  const workflowNode = currentWorkflowInstance.value.getNode(node2.value.name);
@@ -1294,7 +1291,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
1294
1291
  props.nodeType
1295
1292
  );
1296
1293
  const inputNames = getConnectionTypes(inputs);
1297
- if (!inputNames.includes(NodeConnectionTypes.Main) && !isNodesAsToolNode.value && !isTriggerNode.value) {
1294
+ if (!inputNames.includes(NodeConnectionTypes.Main) && !isToolNode.value && !isTriggerNode.value) {
1298
1295
  return false;
1299
1296
  }
1300
1297
  }
@@ -1568,6 +1565,16 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
1568
1565
  _node,
1569
1566
  nodeType
1570
1567
  );
1568
+ if (isToolNode.value) {
1569
+ const updatedDescription = getUpdatedToolDescription(
1570
+ props.nodeType,
1571
+ nodeParameters,
1572
+ node2.value?.parameters
1573
+ );
1574
+ if (updatedDescription && nodeParameters) {
1575
+ nodeParameters.toolDescription = updatedDescription;
1576
+ }
1577
+ }
1571
1578
  for (const key of Object.keys(nodeParameters)) {
1572
1579
  if (nodeParameters && nodeParameters[key] !== null && nodeParameters[key] !== void 0) {
1573
1580
  setValue(`parameters.${key}`, nodeParameters[key]);
@@ -2136,7 +2143,7 @@ const style0$8 = {
2136
2143
  const cssModules$9 = {
2137
2144
  "$style": style0$8
2138
2145
  };
2139
- const NodeSettings = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__cssModules", cssModules$9], ["__scopeId", "data-v-3636ca77"]]);
2146
+ const NodeSettings = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__cssModules", cssModules$9], ["__scopeId", "data-v-d0343287"]]);
2140
2147
  const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2141
2148
  __name: "PanelDragButton",
2142
2149
  props: {
@@ -1006,7 +1006,7 @@
1006
1006
  -------------------------- */
1007
1007
  /* BEM
1008
1008
  -------------------------- */
1009
- .node-settings[data-v-3636ca77] {
1009
+ .node-settings[data-v-d0343287] {
1010
1010
  display: flex;
1011
1011
  flex-direction: column;
1012
1012
  overflow: hidden;
@@ -1014,19 +1014,19 @@
1014
1014
  height: 100%;
1015
1015
  width: 100%;
1016
1016
  }
1017
- .node-settings .no-parameters[data-v-3636ca77] {
1017
+ .node-settings .no-parameters[data-v-d0343287] {
1018
1018
  margin-top: var(--spacing-xs);
1019
1019
  }
1020
- .node-settings .header-side-menu[data-v-3636ca77] {
1020
+ .node-settings .header-side-menu[data-v-d0343287] {
1021
1021
  padding: var(--spacing-s) var(--spacing-s) var(--spacing-s) var(--spacing-s);
1022
1022
  font-size: var(--font-size-l);
1023
1023
  display: flex;
1024
1024
  justify-content: space-between;
1025
1025
  }
1026
- .node-settings .header-side-menu .node-name[data-v-3636ca77] {
1026
+ .node-settings .header-side-menu .node-name[data-v-d0343287] {
1027
1027
  padding-top: var(--spacing-5xs);
1028
1028
  }
1029
- .node-settings .node-is-not-valid[data-v-3636ca77] {
1029
+ .node-settings .node-is-not-valid[data-v-d0343287] {
1030
1030
  height: 75%;
1031
1031
  padding: 10px;
1032
1032
  display: flex;
@@ -1036,54 +1036,54 @@
1036
1036
  text-align: center;
1037
1037
  line-height: var(--font-line-height-regular);
1038
1038
  }
1039
- .node-settings .node-parameters-wrapper[data-v-3636ca77] {
1039
+ .node-settings .node-parameters-wrapper[data-v-d0343287] {
1040
1040
  overflow-y: auto;
1041
1041
  padding: 0 var(--spacing-m) var(--spacing-l) var(--spacing-m);
1042
1042
  flex-grow: 1;
1043
1043
  }
1044
- .node-settings.dragging[data-v-3636ca77] {
1044
+ .node-settings.dragging[data-v-d0343287] {
1045
1045
  border-color: var(--color-primary);
1046
1046
  box-shadow: 0px 6px 16px rgba(255, 74, 51, 0.15);
1047
1047
  }
1048
- .parameter-content[data-v-3636ca77] {
1048
+ .parameter-content[data-v-d0343287] {
1049
1049
  font-size: 0.9em;
1050
1050
  margin-right: -15px;
1051
1051
  margin-left: -15px;
1052
1052
  }
1053
- .parameter-content input[data-v-3636ca77] {
1053
+ .parameter-content input[data-v-d0343287] {
1054
1054
  width: calc(100% - 35px);
1055
1055
  padding: 5px;
1056
1056
  }
1057
- .parameter-content select[data-v-3636ca77] {
1057
+ .parameter-content select[data-v-d0343287] {
1058
1058
  width: calc(100% - 20px);
1059
1059
  padding: 5px;
1060
1060
  }
1061
- .parameter-content[data-v-3636ca77]:before {
1061
+ .parameter-content[data-v-d0343287]:before {
1062
1062
  display: table;
1063
1063
  content: " ";
1064
1064
  position: relative;
1065
1065
  box-sizing: border-box;
1066
1066
  clear: both;
1067
1067
  }
1068
- .parameter-wrapper[data-v-3636ca77] {
1068
+ .parameter-wrapper[data-v-d0343287] {
1069
1069
  padding: 0 1em;
1070
1070
  }
1071
- .color-reset-button-wrapper[data-v-3636ca77] {
1071
+ .color-reset-button-wrapper[data-v-d0343287] {
1072
1072
  position: relative;
1073
1073
  }
1074
- .color-reset-button[data-v-3636ca77] {
1074
+ .color-reset-button[data-v-d0343287] {
1075
1075
  position: absolute;
1076
1076
  right: 7px;
1077
1077
  top: -25px;
1078
1078
  }
1079
- .node-version[data-v-3636ca77] {
1079
+ .node-version[data-v-d0343287] {
1080
1080
  border-top: var(--border-base);
1081
1081
  font-size: var(--font-size-xs);
1082
1082
  font-size: var(--font-size-2xs);
1083
1083
  padding: var(--spacing-xs) 0 var(--spacing-2xs) 0;
1084
1084
  color: var(--color-text-light);
1085
1085
  }
1086
- .parameter-value input.expression[data-v-3636ca77] {
1086
+ .parameter-value input.expression[data-v-d0343287] {
1087
1087
  border-style: dashed;
1088
1088
  border-color: #ff9600;
1089
1089
  display: inline-block;
@@ -1,13 +1,12 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NodeCreation-BEjdAYc_.js","assets/index-B6eunbxp.js","assets/index-DCpy4nCU.css","assets/useCanvasOperations-DaP5jKbH.js","assets/NodeCreation-RKvezEeg.css","assets/NodeDetailsView-D4O9dKTA.js","assets/import-curl-BpxkGYMX.js","assets/RunData-Bx47sNQp.js","assets/FileSaver.min-BzAtcQXX.js","assets/useExecutionHelpers-DIvhViMz.js","assets/dateFormatter-C8N5khiG.js","assets/RunData-BjlZgIyx.css","assets/RunDataAi-DOac7nwD.js","assets/RunDataParsedAiContent-D6MNLmT3.js","assets/RunDataParsedAiContent-9EEUzCKp.css","assets/RunDataAi-D9VLFXIf.css","assets/useWorkflowActivate-DFqvrpj6.js","assets/NodeDetailsView-DsFLtbxi.css","assets/SetupWorkflowCredentialsButton-BZ9ILQUp.js"])))=>i.map(i=>d[i]);
2
- import { d as defineComponent, h as resolveComponent, e as createBlock, g as openBlock, C as createEventBus, Y as useCssModule, bN as toRef, q as computed, r as ref, bO as refDebounced, i as createElementBlock, k as createBaseVNode, x as renderSlot, f as createCommentVNode, b7 as mergeProps, m as unref, n as normalizeClass, _ as _export_sfc, c as useI18n, bP as KeyboardShortcutTooltip, w as withCtx, j as createVNode, b2 as withModifiers, bQ as reactive, o as onMounted, bb as onUnmounted, l as createTextVNode, t as toDisplayString, b as useRouter, R as useRoute, a as useToast, a4 as useDocumentTitle, a5 as useWorkflowHelpers, bA as useNodeHelpers, bz as useNodeTypesStore, H as useUIStore, Q as useWorkflowsStore, a0 as useSourceControlStore, p as useSettingsStore, bR as useCredentialsStore, bS as useEnvironmentsStore, bT as useExternalSecretsStore, Z as useRootStore, at as useExecutionsStore, $ as useCanvasStore, a3 as useNpsSurveyStore, bU as useHistoryStore, a1 as useProjectsStore, u as useUsersStore, E as useTagsStore, P as usePushConnectionStore, as as useNDVStore, aN as useTemplatesStore, bV as useBuilderStore, a2 as useFoldersStore, bW as useParameterOverridesStore, bB as useRunWorkflow, bf as useClipboard, S as PLACEHOLDER_EMPTY_WORKFLOW_ID, bX as NEW_WORKFLOW_ID, V as VIEWS, aZ as LOGS_PANEL_STATE, bY as START_NODE_TYPE, bZ as getNodeViewTab, s as MAIN_HEADER_TABS, am as VALID_WORKFLOW_IMPORT_URL_REGEX, ai as useMessage, aj as MODAL_CONFIRM, b_ as jsonParse, a7 as getResourcePermissions, bk as CHAT_TRIGGER_NODE_TYPE, bl as MANUAL_CHAT_TRIGGER_NODE_TYPE, X as watch, b$ as onBeforeRouteLeave, az as onBeforeMount, ak as WORKFLOW_SETTINGS_MODAL_KEY, aP as useExternalHooks, c0 as onActivated, c1 as onDeactivated, y as onBeforeUnmount, c2 as Suspense, c3 as defineAsyncComponent, c4 as N8nCallout, ao as __vitePreload, aa as EnterpriseEditionFeature, z as nextTick, ag as useTelemetry, c5 as tryToParseNumber, ah as nodeViewEventBus, bm as NodeConnectionTypes, c6 as isValidNodeConnectionType, c7 as CanvasConnectionMode, c8 as historyBus, aF as sourceControlEventBus, c9 as getNodesWithNormalizedPosition, aq as h, ca as NODE_CREATOR_OPEN_SOURCES, cb as CanvasNodeRenderType, ay as STICKY_NODE_TYPE, cc as hasFromAiExpressions, cd as FROM_AI_PARAMETERS_MODAL_KEY, ce as DRAG_EVENT_DATA_KEY } from "./index-B6eunbxp.js";
3
- import { u as useVueFlow, a as useCanvasMapping, C as Canvas } from "./useCanvasMapping-C2BQB9QB.js";
4
- import { g as globalLinkActionsEventBus } from "./global-link-actions-BvoZh8u9.js";
5
- import { a as useNodeCreatorStore, b as useCanvasOperations, c as createCanvasConnectionHandleString } from "./useCanvasOperations-DaP5jKbH.js";
6
- import { u as useExecutionDebugging } from "./useExecutionDebugging-0pPCimcw.js";
7
- import { u as useBeforeUnload } from "./useBeforeUnload-DxrN8vOO.js";
8
- import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-CLqHnasO.js";
9
- import { u as useClearExecutionButtonVisible } from "./useClearExecutionButtonVisible-BV-jMf2m.js";
10
- import { u as useWorkflowSaving } from "./useWorkflowSaving-BACesUoL.js";
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NodeCreation-nHiG-Lhi.js","assets/index-hdsPF3tl.js","assets/index-BA8d2DN9.css","assets/NodeCreation-RKvezEeg.css","assets/NodeDetailsView-BsXbcyfb.js","assets/import-curl-DQ6uPzZ1.js","assets/RunData-fnd-jejc.js","assets/FileSaver.min-C1p9Eies.js","assets/useExecutionHelpers-CEOL8_vt.js","assets/dateFormatter-LbucaaRt.js","assets/RunData-CE5FsU6k.css","assets/RunDataAi-Ck3VGKP_.js","assets/RunDataParsedAiContent-BczxQ63H.js","assets/RunDataParsedAiContent-9EEUzCKp.css","assets/RunDataAi-D9VLFXIf.css","assets/useWorkflowActivate-CJ1hLmv2.js","assets/NodeDetailsView-DpO8nTmN.css","assets/SetupWorkflowCredentialsButton-Dx1IkZgW.js"])))=>i.map(i=>d[i]);
2
+ import { d as defineComponent, h as resolveComponent, e as createBlock, g as openBlock, C as createEventBus, Y as useCssModule, bI as toRef, q as computed, r as ref, bR as refThrottled, i as createElementBlock, k as createBaseVNode, x as renderSlot, f as createCommentVNode, b8 as mergeProps, m as unref, n as normalizeClass, _ as _export_sfc, c as useI18n, bL as KeyboardShortcutTooltip, w as withCtx, j as createVNode, b3 as withModifiers, bS as reactive, o as onMounted, bc as onUnmounted, l as createTextVNode, t as toDisplayString, b as useRouter, R as useRoute, a as useToast, a4 as useDocumentTitle, a5 as useWorkflowHelpers, bA as useNodeHelpers, bz as useNodeTypesStore, H as useUIStore, Q as useWorkflowsStore, a0 as useSourceControlStore, bT as useNodeCreatorStore, p as useSettingsStore, bU as useCredentialsStore, bV as useEnvironmentsStore, bW as useExternalSecretsStore, Z as useRootStore, at as useExecutionsStore, $ as useCanvasStore, a3 as useNpsSurveyStore, bX as useHistoryStore, a1 as useProjectsStore, u as useUsersStore, E as useTagsStore, P as usePushConnectionStore, as as useNDVStore, aN as useTemplatesStore, bY as useBuilderStore, a2 as useFoldersStore, bZ as useAgentRequestStore, aY as useLogsStore, bB as useRunWorkflow, b_ as useCanvasOperations, bg as useClipboard, S as PLACEHOLDER_EMPTY_WORKFLOW_ID, b$ as NEW_WORKFLOW_ID, V as VIEWS, c0 as START_NODE_TYPE, c1 as getNodeViewTab, s as MAIN_HEADER_TABS, c2 as VALID_WORKFLOW_IMPORT_URL_REGEX, ai as useMessage, aj as MODAL_CONFIRM, c3 as jsonParse, a7 as getResourcePermissions, c4 as CHAT_TRIGGER_NODE_TYPE, c5 as MANUAL_CHAT_TRIGGER_NODE_TYPE, X as watch, c6 as onBeforeRouteLeave, az as onBeforeMount, ak as WORKFLOW_SETTINGS_MODAL_KEY, aP as useExternalHooks, c7 as onActivated, c8 as onDeactivated, y as onBeforeUnmount, c9 as Suspense, ca as defineAsyncComponent, F as Fragment, cb as N8nCallout, ao as __vitePreload, aa as EnterpriseEditionFeature, z as nextTick, ag as useTelemetry, cc as tryToParseNumber, ah as nodeViewEventBus, by as NodeConnectionTypes, cd as createCanvasConnectionHandleString, ce as isValidNodeConnectionType, cf as CanvasConnectionMode, aF as sourceControlEventBus, cg as getNodesWithNormalizedPosition, aq as h, ch as NODE_CREATOR_OPEN_SOURCES, ci as CanvasNodeRenderType, ay as STICKY_NODE_TYPE, cj as needsAgentInput, ck as FROM_AI_PARAMETERS_MODAL_KEY, cl as historyBus, cm as DRAG_EVENT_DATA_KEY } from "./index-hdsPF3tl.js";
3
+ import { u as useVueFlow, a as useCanvasMapping, C as Canvas } from "./useCanvasMapping-CvcOHj5p.js";
4
+ import { g as globalLinkActionsEventBus } from "./global-link-actions-DG0SjhQE.js";
5
+ import { u as useExecutionDebugging } from "./useExecutionDebugging-DsRIfE0y.js";
6
+ import { u as useBeforeUnload } from "./useBeforeUnload-B7JAQiE8.js";
7
+ import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-_kvYb5hw.js";
8
+ import { u as useClearExecutionButtonVisible } from "./useClearExecutionButtonVisible-DFNEJves.js";
9
+ import { u as useWorkflowSaving } from "./useWorkflowSaving-BuokdhTC.js";
11
10
  const _sfc_main$7 = /* @__PURE__ */ defineComponent({
12
11
  __name: "CanvasChatButton",
13
12
  props: {
@@ -64,8 +63,8 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
64
63
  initialFitViewDone.value = true;
65
64
  }
66
65
  });
67
- const mappedNodesDebounced = refDebounced(mappedNodes, 200, { maxWait: 50 });
68
- const mappedConnectionsDebounced = refDebounced(mappedConnections, 200, { maxWait: 50 });
66
+ const mappedNodesThrottled = refThrottled(mappedNodes, 200);
67
+ const mappedConnectionsThrottled = refThrottled(mappedConnections, 200);
69
68
  return (_ctx, _cache) => {
70
69
  return openBlock(), createElementBlock("div", {
71
70
  class: normalizeClass(unref($style).wrapper),
@@ -77,8 +76,8 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
77
76
  workflow.value ? (openBlock(), createBlock(Canvas, mergeProps({
78
77
  key: 0,
79
78
  id: _ctx.id,
80
- nodes: _ctx.executing ? unref(mappedNodesDebounced) : unref(mappedNodes),
81
- connections: _ctx.executing ? unref(mappedConnectionsDebounced) : unref(mappedConnections),
79
+ nodes: _ctx.executing ? unref(mappedNodesThrottled) : unref(mappedNodes),
80
+ connections: _ctx.executing ? unref(mappedConnectionsThrottled) : unref(mappedConnections),
82
81
  "event-bus": _ctx.eventBus,
83
82
  "read-only": _ctx.readOnly
84
83
  }, _ctx.$attrs), null, 16, ["id", "nodes", "connections", "event-bus", "read-only"])) : createCommentVNode("", true)
@@ -285,13 +284,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
285
284
  __name: "NodeView",
286
285
  setup(__props) {
287
286
  const LazyNodeCreation = defineAsyncComponent(
288
- async () => await __vitePreload(() => import("./NodeCreation-BEjdAYc_.js").then((n) => n.N), true ? __vite__mapDeps([0,1,2,3,4]) : void 0)
287
+ async () => await __vitePreload(() => import("./NodeCreation-nHiG-Lhi.js").then((n) => n.N), true ? __vite__mapDeps([0,1,2,3]) : void 0)
289
288
  );
290
289
  const LazyNodeDetailsView = defineAsyncComponent(
291
- async () => await __vitePreload(() => import("./NodeDetailsView-D4O9dKTA.js"), true ? __vite__mapDeps([5,1,2,6,7,8,9,10,11,12,13,14,3,15,16,17]) : void 0)
290
+ async () => await __vitePreload(() => import("./NodeDetailsView-BsXbcyfb.js"), true ? __vite__mapDeps([4,1,2,5,6,7,8,9,10,11,12,13,14,15,16]) : void 0)
292
291
  );
293
292
  const LazySetupWorkflowCredentialsButton = defineAsyncComponent(
294
- async () => await __vitePreload(() => import("./SetupWorkflowCredentialsButton-BZ9ILQUp.js"), true ? __vite__mapDeps([18,1,2]) : void 0)
293
+ async () => await __vitePreload(() => import("./SetupWorkflowCredentialsButton-Dx1IkZgW.js"), true ? __vite__mapDeps([17,1,2]) : void 0)
295
294
  );
296
295
  const $style = useCssModule();
297
296
  const router = useRouter();
@@ -326,7 +325,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
326
325
  const templatesStore = useTemplatesStore();
327
326
  const builderStore = useBuilderStore();
328
327
  const foldersStore = useFoldersStore();
329
- const parameterOverridesStore = useParameterOverridesStore();
328
+ const agentRequestStore = useAgentRequestStore();
329
+ const logsStore = useLogsStore();
330
330
  const canvasEventBus = createEventBus();
331
331
  const { addBeforeUnloadEventBindings, removeBeforeUnloadEventBindings } = useBeforeUnload({
332
332
  route
@@ -364,6 +364,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
364
364
  setNodeActiveByName,
365
365
  clearNodeActive,
366
366
  addConnections,
367
+ tryToOpenSubworkflowInNewTab,
367
368
  importWorkflowData,
368
369
  fetchWorkflowDataFromUrl,
369
370
  resetWorkspace,
@@ -372,7 +373,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
372
373
  editableWorkflow,
373
374
  editableWorkflowObject,
374
375
  lastClickPosition,
375
- toggleChatOpen
376
+ startChat
376
377
  } = useCanvasOperations({ router });
377
378
  const { applyExecutionData } = useExecutionDebugging();
378
379
  useClipboard({ onPaste: onClipboardPaste });
@@ -398,13 +399,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
398
399
  return sourceControlStore.preferences.branchReadOnly;
399
400
  });
400
401
  const isCanvasReadOnly = computed(() => {
401
- return isDemoRoute.value || isReadOnlyEnvironment.value || !(workflowPermissions.value.update ?? projectPermissions.value.workflow.update);
402
+ return isDemoRoute.value || isReadOnlyEnvironment.value || !(workflowPermissions.value.update ?? projectPermissions.value.workflow.update) || editableWorkflow.value.isArchived;
402
403
  });
403
404
  const showFallbackNodes = computed(() => triggerNodes.value.length === 0);
404
405
  const keyBindingsEnabled = computed(() => {
405
406
  return !ndvStore.activeNode && uiStore.activeModals.length === 0;
406
407
  });
407
- const isLogsPanelOpen = computed(() => workflowsStore.logsPanelState !== LOGS_PANEL_STATE.CLOSED);
408
+ const isLogsPanelOpen = computed(() => logsStore.isOpen);
408
409
  async function initializeData() {
409
410
  const loadPromises = (() => {
410
411
  if (settingsStore.isPreviewMode && isDemoRoute.value) return [];
@@ -480,12 +481,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
480
481
  async function initializeWorkspaceForNewWorkflow() {
481
482
  resetWorkspace();
482
483
  const parentFolderId = route.query.parentFolderId;
483
- await workflowsStore.getNewWorkflowData(
484
+ await workflowsStore.getNewWorkflowDataAndMakeShareable(
484
485
  void 0,
485
486
  projectsStore.currentProjectId,
486
487
  parentFolderId
487
488
  );
488
- workflowsStore.makeNewWorkflowShareable();
489
489
  if (projectsStore.currentProjectId) {
490
490
  await fetchAndSetProject(projectsStore.currentProjectId);
491
491
  }
@@ -686,12 +686,22 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
686
686
  }
687
687
  toggleNodesDisabled(ids);
688
688
  }
689
- function onClickNode() {
689
+ function onClickNode(_id, event) {
690
+ lastClickPosition.value = [event.x, event.y];
690
691
  closeNodeCreator();
691
692
  }
692
- function onSetNodeActivated(id) {
693
+ function onSetNodeActivated(id, event) {
694
+ if (event?.metaKey || event?.ctrlKey) {
695
+ const didOpen = tryToOpenSubworkflowInNewTab(id);
696
+ if (didOpen) {
697
+ return;
698
+ }
699
+ }
693
700
  setNodeActive(id);
694
701
  }
702
+ function onOpenSubWorkflow(id) {
703
+ tryToOpenSubworkflowInNewTab(id);
704
+ }
695
705
  function onSetNodeDeactivated() {
696
706
  clearNodeActive();
697
707
  }
@@ -734,7 +744,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
734
744
  if (!workflowData) {
735
745
  return;
736
746
  }
737
- const result = await importWorkflowData(workflowData, "paste", false);
747
+ const result = await importWorkflowData(workflowData, "paste", {
748
+ importTags: false,
749
+ viewport: viewportBoundaries.value
750
+ });
738
751
  selectNodes(result.nodes?.map((node) => node.id) ?? []);
739
752
  }
740
753
  async function onCutNodes(ids) {
@@ -748,7 +761,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
748
761
  if (!checkIfEditingIsAllowed()) {
749
762
  return;
750
763
  }
751
- const newIds = await duplicateNodes(ids);
764
+ const newIds = await duplicateNodes(ids, {
765
+ viewport: viewportBoundaries.value
766
+ });
752
767
  selectNodes(newIds);
753
768
  }
754
769
  function onPinNodes(ids, source) {
@@ -759,7 +774,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
759
774
  }
760
775
  async function onSaveWorkflow() {
761
776
  const workflowIsSaved = !uiStore.stateIsDirty;
762
- if (workflowIsSaved) {
777
+ const workflowIsArchived = workflowsStore.workflow.isArchived;
778
+ if (workflowIsSaved || workflowIsArchived) {
763
779
  return;
764
780
  }
765
781
  const saved = await workflowHelpers.saveCurrentWorkflow();
@@ -909,7 +925,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
909
925
  }
910
926
  async function onImportWorkflowDataEvent(data) {
911
927
  const workflowData = data.data;
912
- await importWorkflowData(workflowData, "file");
928
+ await importWorkflowData(workflowData, "file", {
929
+ viewport: viewportBoundaries.value
930
+ });
913
931
  fitView();
914
932
  selectNodes(workflowData.nodes?.map((node) => node.id) ?? []);
915
933
  if (data.tidyUp) {
@@ -923,7 +941,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
923
941
  if (!workflowData) {
924
942
  return;
925
943
  }
926
- await importWorkflowData(workflowData, "url");
944
+ await importWorkflowData(workflowData, "url", {
945
+ viewport: viewportBoundaries.value
946
+ });
927
947
  fitView();
928
948
  selectNodes(workflowData.nodes?.map((node) => node.id) ?? []);
929
949
  }
@@ -944,6 +964,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
944
964
  const addedNodes = await addNodes(nodes, {
945
965
  dragAndDrop,
946
966
  position,
967
+ viewport: viewportBoundaries.value,
947
968
  trackHistory: true,
948
969
  telemetry: true
949
970
  });
@@ -1050,7 +1071,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1050
1071
  async function onRunWorkflowToNode(id) {
1051
1072
  const node = workflowsStore.getNodeById(id);
1052
1073
  if (!node) return;
1053
- if (hasFromAiExpressions(node) && nodeTypesStore.isNodesAsToolNode(node.type)) {
1074
+ if (needsAgentInput(node) && nodeTypesStore.isToolNode(node.type)) {
1054
1075
  uiStore.openModalWithData({
1055
1076
  name: FROM_AI_PARAMETERS_MODAL_KEY,
1056
1077
  data: {
@@ -1059,7 +1080,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1059
1080
  });
1060
1081
  } else {
1061
1082
  trackRunWorkflowToNode(node);
1062
- parameterOverridesStore.clearParameterOverrides(workflowsStore.workflowId, node.id);
1083
+ agentRequestStore.clearAgentRequests(workflowsStore.workflowId, node.id);
1063
1084
  void runWorkflow({ destinationNode: node.name, source: "Node.executeNode" });
1064
1085
  }
1065
1086
  }
@@ -1175,11 +1196,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1175
1196
  if (!chatTriggerNode.value) return null;
1176
1197
  return workflowsStore.pinDataByNodeName(chatTriggerNode.value.name);
1177
1198
  });
1178
- async function onToggleChat() {
1179
- await toggleChatOpen("main");
1180
- }
1181
- async function onOpenChat() {
1182
- await toggleChatOpen("main", true);
1199
+ function onOpenChat() {
1200
+ startChat("main");
1183
1201
  }
1184
1202
  function addUndoRedoEventBindings() {
1185
1203
  historyBus.on("nodeMove", onRevertNodePosition);
@@ -1339,9 +1357,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1339
1357
  });
1340
1358
  }
1341
1359
  const viewportTransform = ref({ x: 0, y: 0, zoom: 1 });
1342
- function onViewportChange(event) {
1343
- viewportTransform.value = event;
1344
- uiStore.nodeViewOffsetPosition = [event.x, event.y];
1360
+ const viewportDimensions = ref({ width: 0, height: 0 });
1361
+ const viewportBoundaries = computed(() => {
1362
+ const { x, y, zoom } = viewportTransform.value;
1363
+ const { width, height } = viewportDimensions.value;
1364
+ const xMin = -x / zoom;
1365
+ const yMin = -y / zoom;
1366
+ const xMax = (width - x) / zoom;
1367
+ const yMax = (height - y) / zoom;
1368
+ return { xMin, yMin, xMax, yMax };
1369
+ });
1370
+ function onViewportChange(viewport, dimensions) {
1371
+ viewportTransform.value = viewport;
1372
+ viewportDimensions.value = dimensions;
1373
+ uiStore.nodeViewOffsetPosition = [viewport.x, viewport.y];
1345
1374
  }
1346
1375
  function fitView() {
1347
1376
  setTimeout(() => canvasEventBus.emit("fitView"));
@@ -1353,6 +1382,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1353
1382
  lastClickPosition.value = [position.x, position.y];
1354
1383
  onSetNodeSelected();
1355
1384
  }
1385
+ function onSelectionEnd(position) {
1386
+ lastClickPosition.value = [position.x, position.y];
1387
+ }
1356
1388
  async function onDragAndDrop(position, event) {
1357
1389
  if (!event.dataTransfer) {
1358
1390
  return;
@@ -1543,6 +1575,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1543
1575
  showAddFirstStepIfEnabled();
1544
1576
  });
1545
1577
  onDeactivated(() => {
1578
+ uiStore.closeModal(WORKFLOW_SETTINGS_MODAL_KEY);
1546
1579
  removeUndoRedoEventBindings();
1547
1580
  });
1548
1581
  onBeforeUnmount(() => {
@@ -1580,6 +1613,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1580
1613
  "onUpdate:node:parameters": onUpdateNodeParameters,
1581
1614
  "onUpdate:node:inputs": onUpdateNodeInputs,
1582
1615
  "onUpdate:node:outputs": onUpdateNodeOutputs,
1616
+ "onUpdate:logsOpen": _cache[2] || (_cache[2] = ($event) => unref(logsStore).toggleOpen($event)),
1617
+ "onUpdate:logs:inputOpen": unref(logsStore).toggleInputOpen,
1618
+ "onUpdate:logs:outputOpen": unref(logsStore).toggleOutputOpen,
1619
+ "onOpen:subWorkflow": onOpenSubWorkflow,
1583
1620
  "onClick:node": onClickNode,
1584
1621
  "onClick:node:add": onClickNodeAdd,
1585
1622
  "onRun:node": onRunWorkflowToNode,
@@ -1597,12 +1634,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1597
1634
  "onDuplicate:nodes": onDuplicateNodes,
1598
1635
  "onCopy:nodes": onCopyNodes,
1599
1636
  "onCut:nodes": onCutNodes,
1600
- "onRun:workflow": _cache[1] || (_cache[1] = ($event) => unref(runEntireWorkflow)("main")),
1637
+ "onRun:workflow": _cache[3] || (_cache[3] = ($event) => unref(runEntireWorkflow)("main")),
1601
1638
  "onSave:workflow": onSaveWorkflow,
1602
1639
  "onCreate:workflow": onCreateWorkflow,
1603
- onViewportChange,
1640
+ "onViewport:change": onViewportChange,
1641
+ "onSelection:end": onSelectionEnd,
1604
1642
  onDragAndDrop,
1605
- onTidyUp
1643
+ onTidyUp,
1644
+ onStartChat: _cache[4] || (_cache[4] = ($event) => unref(startChat)())
1606
1645
  }, {
1607
1646
  default: withCtx(() => [
1608
1647
  (openBlock(), createBlock(Suspense, null, {
@@ -1626,12 +1665,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1626
1665
  onMouseleave: onRunWorkflowButtonMouseLeave,
1627
1666
  onClick: _cache[0] || (_cache[0] = ($event) => unref(runEntireWorkflow)("main"))
1628
1667
  }, null, 8, ["waiting-for-webhook", "disabled", "executing"])) : createCommentVNode("", true),
1629
- containsChatTriggerNodes.value ? (openBlock(), createBlock(_component_CanvasChatButton, {
1630
- key: 1,
1631
- type: isLogsPanelOpen.value ? "tertiary" : "primary",
1632
- label: isLogsPanelOpen.value ? unref(i18n).baseText("chat.hide") : unref(i18n).baseText("chat.open"),
1633
- onClick: onToggleChat
1634
- }, null, 8, ["type", "label"])) : createCommentVNode("", true),
1668
+ containsChatTriggerNodes.value ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
1669
+ isLogsPanelOpen.value ? (openBlock(), createBlock(_component_CanvasChatButton, {
1670
+ key: 0,
1671
+ type: "tertiary",
1672
+ label: unref(i18n).baseText("chat.hide"),
1673
+ onClick: _cache[1] || (_cache[1] = ($event) => unref(logsStore).toggleOpen(false))
1674
+ }, null, 8, ["label"])) : (openBlock(), createBlock(KeyboardShortcutTooltip, {
1675
+ key: 1,
1676
+ label: unref(i18n).baseText("chat.open"),
1677
+ shortcut: { keys: ["c"] }
1678
+ }, {
1679
+ default: withCtx(() => [
1680
+ createVNode(_component_CanvasChatButton, {
1681
+ type: "primary",
1682
+ label: unref(i18n).baseText("chat.open"),
1683
+ onClick: onOpenChat
1684
+ }, null, 8, ["label"])
1685
+ ]),
1686
+ _: 1
1687
+ }, 8, ["label"]))
1688
+ ], 64)) : createCommentVNode("", true),
1635
1689
  isStopExecutionButtonVisible.value ? (openBlock(), createBlock(_sfc_main$4, {
1636
1690
  key: 2,
1637
1691
  stopping: isStoppingExecution.value,
@@ -1687,7 +1741,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1687
1741
  }))
1688
1742
  ]),
1689
1743
  _: 1
1690
- }, 8, ["id", "workflow", "workflow-object", "fallback-nodes", "show-fallback-nodes", "event-bus", "read-only", "executing", "key-bindings"])) : createCommentVNode("", true);
1744
+ }, 8, ["id", "workflow", "workflow-object", "fallback-nodes", "show-fallback-nodes", "event-bus", "read-only", "executing", "key-bindings", "onUpdate:logs:inputOpen", "onUpdate:logs:outputOpen"])) : createCommentVNode("", true);
1691
1745
  };
1692
1746
  }
1693
1747
  });
@@ -1,4 +1,39 @@
1
- import { d as defineComponent, q as computed, ab as ProjectTypes, c as useI18n, hc as splitName, gZ as ResourceType, V as VIEWS, h as resolveComponent, cm as resolveDirective, i as createElementBlock, g as openBlock, b7 as mergeProps, j as createVNode, x as renderSlot, w as withCtx, e as createBlock, f as createCommentVNode, n as normalizeClass, aA as withDirectives, dF as ProjectIcon, k as createBaseVNode, l as createTextVNode, t as toDisplayString, _ as _export_sfc } from "./index-B6eunbxp.js";
1
+ import { d as defineComponent, b as useRouter, q as computed, c as useI18n, h as resolveComponent, e as createBlock, g as openBlock, m as unref, V as VIEWS, ab as ProjectTypes, g6 as splitName, fW as ResourceType, cu as resolveDirective, i as createElementBlock, b8 as mergeProps, j as createVNode, x as renderSlot, w as withCtx, f as createCommentVNode, n as normalizeClass, aA as withDirectives, dP as ProjectIcon, k as createBaseVNode, l as createTextVNode, t as toDisplayString, _ as _export_sfc } from "./index-hdsPF3tl.js";
2
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3
+ __name: "EmptySharedSectionActionBox",
4
+ props: {
5
+ personalProject: {},
6
+ resourceType: { default: "workflows" }
7
+ },
8
+ setup(__props) {
9
+ const i18n = useI18n();
10
+ const router = useRouter();
11
+ const props = __props;
12
+ const heading = computed(() => {
13
+ return i18n.baseText("workflows.empty.shared-with-me", {
14
+ interpolate: {
15
+ resource: i18n.baseText(`generic.${props.resourceType === "workflows" ? "workflow" : "credential"}`).toLowerCase()
16
+ }
17
+ });
18
+ });
19
+ const onPersonalLinkClick = (event) => {
20
+ event.preventDefault();
21
+ void router.push({
22
+ name: VIEWS.PROJECTS_WORKFLOWS,
23
+ params: { projectId: props.personalProject.id }
24
+ });
25
+ };
26
+ return (_ctx, _cache) => {
27
+ const _component_n8n_action_box = resolveComponent("n8n-action-box");
28
+ return openBlock(), createBlock(_component_n8n_action_box, {
29
+ "data-test-id": "empty-shared-action-box",
30
+ heading: heading.value,
31
+ description: unref(i18n).baseText("workflows.empty.shared-with-me.link"),
32
+ onDescriptionClick: onPersonalLinkClick
33
+ }, null, 8, ["heading", "description"]);
34
+ };
35
+ }
36
+ });
2
37
  const _hoisted_1 = { key: 1 };
3
38
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
39
  __name: "ProjectCardBadge",
@@ -194,5 +229,6 @@ const cssModules = {
194
229
  };
195
230
  const ProjectCardBadge = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
196
231
  export {
197
- ProjectCardBadge as P
232
+ ProjectCardBadge as P,
233
+ _sfc_main$1 as _
198
234
  };