n8n-editor-ui 1.90.1 → 1.92.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 (126) hide show
  1. package/dist/assets/{AnimatedSpinner-ChThynSJ.js → AnimatedSpinner-CtKKeDrz.js} +1 -1
  2. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-WGp2Kuen.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DR6h_xsK.js} +1 -1
  3. package/dist/assets/{AuthView-Dlhn_SQ-.js → AuthView-mKkzBRxh.js} +2 -2
  4. package/dist/assets/{CanvasChatSwitch-BuBg7TJP.js → CanvasChatSwitch-Bu2VD2kp.js} +24 -12
  5. package/dist/assets/{ChangePasswordView-BKYXOoDf.js → ChangePasswordView-D5UI1v-J.js} +3 -3
  6. package/dist/assets/CollectionParameter-BeCTpZ-q.js +4 -0
  7. package/dist/assets/{CredentialsView-BNWIgrLb.js → CredentialsView-B78eNJO5.js} +10 -9
  8. package/dist/assets/{DemoFooter-DR6r_2qR.js → DemoFooter-DP26HpCu.js} +8 -8
  9. package/dist/assets/{ErrorView-Bu8Mt5FH.js → ErrorView-C3fvEdCg.js} +1 -1
  10. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-DvtOOOhh.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-BBpwYdHY.js} +2 -2
  11. package/dist/assets/{ExecutionsView-C0WZAIi0.js → ExecutionsView-BvlDZwIs.js} +11 -10
  12. package/dist/assets/{FileSaver.min-Cm0u4qyc.js → FileSaver.min-BzAtcQXX.js} +1 -1
  13. package/dist/assets/{FixedCollectionParameter-KmRZtBiP.js → FixedCollectionParameter-CS5zXMAh.js} +1 -1
  14. package/dist/assets/{ForgotMyPasswordView-GH7SqEFu.js → ForgotMyPasswordView-CVQ7pcIG.js} +3 -3
  15. package/dist/assets/{InsightsChartAverageRuntime-SeBUN06R.js → InsightsChartAverageRuntime-Boh0SMb3.js} +7 -6
  16. package/dist/assets/{InsightsChartFailed-TYjH8LwV.js → InsightsChartFailed-IZ-KYOU9.js} +7 -6
  17. package/dist/assets/{InsightsChartFailureRate-D41Jv-6v.js → InsightsChartFailureRate-2fWw3p0L.js} +7 -6
  18. package/dist/assets/{InsightsChartTimeSaved-TLPDAmPx.js → InsightsChartTimeSaved-B2pLVys1.js} +7 -6
  19. package/dist/assets/{InsightsChartTotal-CaKTe2mv.js → InsightsChartTotal-2QD4wPLR.js} +7 -6
  20. package/dist/assets/{InsightsDashboard-DPVczYm3.css → InsightsDashboard-Bx4vx9gz.css} +16 -0
  21. package/dist/assets/InsightsDashboard-CbiFbJ8w.js +372 -0
  22. package/dist/assets/{InsightsPaywall-Z4Y0nO-i.js → InsightsPaywall-5d-cSdiS.js} +1 -1
  23. package/dist/assets/{InsightsSummary-FixbpmPJ.css → InsightsSummary-CdlaUpAt.css} +25 -25
  24. package/dist/assets/{InsightsSummary-DzYli0Pu.js → InsightsSummary-gldDQ9rg.js} +16 -17
  25. package/dist/assets/{InsightsTableWorkflows-CUHAG57c.js → InsightsTableWorkflows-_eTCUNCX.js} +2 -2
  26. package/dist/assets/{Logo-Dxp4M9dy.js → Logo-Dl2xVRIu.js} +1 -1
  27. package/dist/assets/{LogsPanel-zIrTNE6j.js → LogsPanel-JnYirDqa.js} +520 -436
  28. package/dist/assets/{LogsPanel-DmPMCt9w.css → LogsPanel-mTaFEGk_.css} +208 -98
  29. package/dist/assets/{MainHeader-D4cIIoUA.js → MainHeader-Bk29pgmL.js} +122 -295
  30. package/dist/assets/MainHeader-CEPLiR-5.css +1044 -0
  31. package/dist/assets/{MainSidebar-BtW-9UPT.js → MainSidebar-BM5ku_wM.js} +11 -11
  32. package/dist/assets/{MainSidebar-CKMiDGvH.css → MainSidebar-zZpP3qQ0.css} +13 -12
  33. package/dist/assets/{NodeCreation-thD32mA1.js → NodeCreation-BEjdAYc_.js} +4 -4
  34. package/dist/assets/{NodeCreator-B4mHaU45.js → NodeCreator-cEUgbAI9.js} +14 -4
  35. package/dist/assets/{NodeDetailsView-cO3Ci9jH.js → NodeDetailsView-D4O9dKTA.js} +93 -68
  36. package/dist/assets/{NodeDetailsView-CGgV4Pn_.css → NodeDetailsView-DsFLtbxi.css} +20 -20
  37. package/dist/assets/{NodeView-E5b1ClVD.js → NodeView-DDSOUm8E.js} +152 -34
  38. package/dist/assets/{ProjectCardBadge-LnLKqSK-.js → ProjectCardBadge-BNn2hiMe.js} +1 -1
  39. package/dist/assets/{ProjectHeader-DC02ZuZ0.js → ProjectHeader-CaEZ2OPj.js} +1 -1
  40. package/dist/assets/{ProjectSettings-Zr1UOp7s.js → ProjectSettings-otA8E-yW.js} +2 -2
  41. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-CM7WIpD3.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-C3JbZMCk.js} +1 -1
  42. package/dist/assets/{ResourcesListLayout-DTsuHdYx.js → ResourcesListLayout-1d9Ic6VX.js} +2 -2
  43. package/dist/assets/{ResourcesListLayout-CglK2dXR.css → ResourcesListLayout-CtGME7aU.css} +8 -8
  44. package/dist/assets/{RunData-DepHcD2K.css → RunData-BjlZgIyx.css} +102 -73
  45. package/dist/assets/{RunData-Ds-U68nr.js → RunData-Bx47sNQp.js} +690 -398
  46. package/dist/assets/{RunDataAi-BF2gZZGr.css → RunDataAi-D9VLFXIf.css} +10 -51
  47. package/dist/assets/{RunDataAi-DdK11EHU.js → RunDataAi-DOac7nwD.js} +27 -310
  48. package/dist/assets/{RunDataJson-Txw0lqay.css → RunDataJson-BH9HLoGC.css} +12 -8
  49. package/dist/assets/{RunDataJson-B2WU5od1.js → RunDataJson-Pev6yNEV.js} +20 -14
  50. package/dist/assets/{RunDataJsonActions-DqZ2X1yJ.js → RunDataJsonActions-Co4xgmVq.js} +1 -1
  51. package/dist/assets/RunDataParsedAiContent-9EEUzCKp.css +176 -0
  52. package/dist/assets/RunDataParsedAiContent-D6MNLmT3.js +148 -0
  53. package/dist/assets/{RunDataSearch-CQsyZvGK.js → RunDataSearch-C8orcAlP.js} +1 -1
  54. package/dist/assets/{RunDataTable-DyUvXWfl.css → RunDataTable-CUxj7dHx.css} +47 -39
  55. package/dist/assets/{RunDataTable-BO0R4JT_.js → RunDataTable-oi_l8dhA.js} +41 -30
  56. package/dist/assets/{SamlOnboarding-CmwMX5y2.js → SamlOnboarding-CT5J6dx0.js} +3 -3
  57. package/dist/assets/{SettingsApiView-D6uBbi9-.js → SettingsApiView-CupjcI9v.js} +1 -1
  58. package/dist/assets/{SettingsCommunityNodesView-CJODtx_K.js → SettingsCommunityNodesView-B5K2VLyJ.js} +4 -4
  59. package/dist/assets/{SettingsExternalSecrets-CVk14P_P.js → SettingsExternalSecrets-BidJCf_t.js} +1 -1
  60. package/dist/assets/{SettingsLdapView-pg71FErj.js → SettingsLdapView-Cva6akhW.js} +1 -1
  61. package/dist/assets/{SettingsLogStreamingView-DUOI3Xb9.js → SettingsLogStreamingView-Cy-rAKUO.js} +1 -1
  62. package/dist/assets/{SettingsPersonalView-BFnOmBPC.js → SettingsPersonalView-ZJ1Syok2.js} +14 -13
  63. package/dist/assets/{SettingsSourceControl-BUNmxcvB.js → SettingsSourceControl-CMtqqlkO.js} +1 -1
  64. package/dist/assets/{SettingsSso-Dx8Qw_2Z.js → SettingsSso-Bi3OpykL.js} +1 -1
  65. package/dist/assets/{SettingsUsageAndPlan-DTk86tXU.js → SettingsUsageAndPlan-C5TbwZhP.js} +1 -1
  66. package/dist/assets/{SettingsUsersView-BviXcl30.js → SettingsUsersView-BHuP5k0A.js} +1 -1
  67. package/dist/assets/{SettingsView-fzPdUijx.js → SettingsView-DPIIqaKN.js} +1 -1
  68. package/dist/assets/{SetupView-DUTx1JXK.js → SetupView-C4V9j6sh.js} +3 -3
  69. package/dist/assets/{SetupWorkflowCredentialsButton-fApxCGHh.js → SetupWorkflowCredentialsButton-BZ9ILQUp.js} +1 -1
  70. package/dist/assets/{SetupWorkflowFromTemplateView-C5t9fEKF.js → SetupWorkflowFromTemplateView-3uV3zSU2.js} +3 -3
  71. package/dist/assets/{SigninView-BRVoXQRW.js → SigninView-DWZHdCjG.js} +3 -3
  72. package/dist/assets/{SignoutView-Duh6wb4Y.js → SignoutView-DbduXAir.js} +1 -1
  73. package/dist/assets/{SignupView-DMkpTtjs.js → SignupView-DWq6VACk.js} +3 -3
  74. package/dist/assets/{TemplateDetails-Df9_jph6.js → TemplateDetails-BckqE6GK.js} +1 -1
  75. package/dist/assets/{TemplateList-qSnJvw0K.js → TemplateList-Bw0JeBMP.js} +1 -1
  76. package/dist/assets/{TemplatesCollectionView--ccYXaCo.js → TemplatesCollectionView-CAKT-mpV.js} +5 -5
  77. package/dist/assets/{TemplatesSearchView-D1YgHKld.js → TemplatesSearchView-I2a5us58.js} +3 -3
  78. package/dist/assets/{TemplatesView-B9CwObHN.js → TemplatesView-6EwGFFJK.js} +1 -1
  79. package/dist/assets/{TemplatesWorkflowView-DtLpUF59.js → TemplatesWorkflowView-C8xYMhwu.js} +5 -5
  80. package/dist/assets/{TestDefinitionEditView-DFcBlKnN.js → TestDefinitionEditView-CNd3Cuzq.js} +8 -8
  81. package/dist/assets/{TestDefinitionListView-C_mbolTO.js → TestDefinitionListView-BwTWIaAM.js} +1 -1
  82. package/dist/assets/{TestDefinitionNewView-CvyM6TLE.js → TestDefinitionNewView-BQas0_G1.js} +2 -2
  83. package/dist/assets/{TestDefinitionRootView-BXzJY0cY.js → TestDefinitionRootView-D971MFye.js} +1 -1
  84. package/dist/assets/{VariablesView-BHFJj5IU.js → VariablesView-DcBBuFxh.js} +3 -3
  85. package/dist/assets/{WorkerView-CgIksFjP.js → WorkerView-DSgBNIeb.js} +6 -6
  86. package/dist/assets/WorkflowActivator-CPCbgb_n.js +776 -0
  87. package/dist/assets/{MainHeader-CWA2JfVJ.css → WorkflowActivator-DAyH7N29.css} +74 -434
  88. package/dist/assets/{WorkflowExecutionsInfoAccordion-BcBLZ_Ul.js → WorkflowExecutionsInfoAccordion-Bc6vzAZu.js} +1 -1
  89. package/dist/assets/{WorkflowExecutionsLandingPage-B9ByHnbR.js → WorkflowExecutionsLandingPage-BPPS4V9i.js} +2 -2
  90. package/dist/assets/{WorkflowExecutionsPreview-DCE7TYLh.js → WorkflowExecutionsPreview-Bbb5MB8Z.js} +6 -6
  91. package/dist/assets/{WorkflowExecutionsView-DFoBpdS7.js → WorkflowExecutionsView-Pz-7iHJY.js} +11 -9
  92. package/dist/assets/{WorkflowHistory-DolmPUM2.js → WorkflowHistory-Czo9IuI6.js} +4 -4
  93. package/dist/assets/{WorkflowOnboardingView-DQW48M8_.js → WorkflowOnboardingView-B8DdkfJ5.js} +1 -1
  94. package/dist/assets/{WorkflowPreview-BFR6V9SO.js → WorkflowPreview-eVlO1itk.js} +1 -1
  95. package/dist/assets/{WorkflowsView-CsM69PSv.css → WorkflowsView-B2_HJCJ5.css} +28 -162
  96. package/dist/assets/{WorkflowsView-B-feKuLZ.js → WorkflowsView-Cr2D0vym.js} +124 -217
  97. package/dist/assets/{chartjs.utils-BcXTJ2Te.js → chartjs.utils-Dk1WO3Mr.js} +2 -2
  98. package/dist/assets/{dateFormatter-CZI1kGYK.js → dateFormatter-C8N5khiG.js} +5 -5
  99. package/dist/assets/{easyAiWorkflowUtils-ChToD_Yl.js → easyAiWorkflowUtils-CLqHnasO.js} +1 -1
  100. package/dist/assets/{global-link-actions-OGaZVwsw.js → global-link-actions-BvoZh8u9.js} +1 -1
  101. package/dist/assets/{import-curl-CAszzwx1.js → import-curl-BpxkGYMX.js} +1 -1
  102. package/dist/assets/{index-BpdkKRP4.js → index-B6eunbxp.js} +14227 -11881
  103. package/dist/assets/{index-7WdERzqm.js → index-Br8T1Gn6.js} +1 -1
  104. package/dist/assets/{index-C5OXOcIJ.css → index-DCpy4nCU.css} +6147 -4061
  105. package/dist/assets/{pickBy-mYqFOFbh.js → pickBy-8Urz9lDY.js} +1 -1
  106. package/dist/assets/{templateActions-BX9arLbc.js → templateActions-DzjysjbQ.js} +1 -1
  107. package/dist/assets/{useBeforeUnload-K7nQ15Rk.js → useBeforeUnload-DxrN8vOO.js} +1 -1
  108. package/dist/assets/{useCanvasMapping-D_UPCxYX.js → useCanvasMapping-C2BQB9QB.js} +270 -112
  109. package/dist/assets/{useCanvasMapping-C--wac6H.css → useCanvasMapping-cuXLM-h-.css} +185 -4
  110. package/dist/assets/{useCanvasOperations-D6VFiC3b.js → useCanvasOperations-DaP5jKbH.js} +4 -3
  111. package/dist/assets/{useClearExecutionButtonVisible-D_0O6f0X.js → useClearExecutionButtonVisible-BV-jMf2m.js} +2 -2
  112. package/dist/assets/{useExecutionDebugging-BNMaKOh7.js → useExecutionDebugging-0pPCimcw.js} +1 -1
  113. package/dist/assets/{useExecutionHelpers-DN5HqPqY.js → useExecutionHelpers-DIvhViMz.js} +2 -2
  114. package/dist/assets/{useImportCurlCommand-BSL596XF.js → useImportCurlCommand-BWf4R83s.js} +19 -10
  115. package/dist/assets/usePushConnection-Pobjq0U9.js +632 -0
  116. package/dist/assets/{useTestDefinitionForm-CIhrxyve.js → useTestDefinitionForm-BA3IS_2B.js} +1 -1
  117. package/dist/assets/{useWorkflowActivate-pZ62ib_C.js → useWorkflowActivate-DFqvrpj6.js} +1 -1
  118. package/dist/assets/useWorkflowSaving-BACesUoL.js +66 -0
  119. package/dist/index.html +2 -2
  120. package/package.json +1 -1
  121. package/vite.config.mts +15 -1
  122. package/dist/assets/CollectionParameter-CQXiWluX.js +0 -4
  123. package/dist/assets/InsightsDashboard-o3JS9fjz.js +0 -178
  124. package/dist/assets/WorkflowActivator-BX59FxTZ.css +0 -260
  125. package/dist/assets/WorkflowActivator-O6i5XAk2.js +0 -231
  126. package/dist/assets/usePushConnection-BdV7ILvK.js +0 -535
@@ -1,6 +1,6 @@
1
- import { _ as _export_sfc$1, i as createElementBlock, g as openBlock, k as createBaseVNode, d as defineComponent, fD as getCurrentScope, b1 as inject, fE as effectScope, I as watch, cN as getCurrentInstance, fF as useSlots, bb as onUnmounted, j as createVNode, x as renderSlot, w as withCtx, m as unref, r as ref, fG as useAttrs, f as createCommentVNode, e as createBlock, b7 as mergeProps, F as Fragment, bJ as toRef, fH as Teleport, fI as createPropsRestProxy, q as computed, o as onMounted, n as normalizeClass, bM as reactive, fJ as onScopeDispose, aB as onBeforeMount, D as renderList, B as normalizeStyle, z as nextTick, y as onBeforeUnmount, fK as isMemoSame, t as toDisplayString, b6 as resolveDynamicComponent, l as createTextVNode, b2 as isRef, b3 as toRefs$1, fL as customRef, bg as provide, h as resolveComponent, as as h, fM as toValue$1, fN as markRaw, fO as readonly, c as useI18n, bL as KeyboardShortcutTooltip, bl as NodeConnectionTypes, fP as CanvasKey, a0 as useCssModule, L as useUIStore, by as useNodeTypesStore, U as useWorkflowsStore, a3 as useSourceControlStore, a9 as getResourcePermissions, e5 as isPresent, fQ as getMousePosition$1, aA as STICKY_NODE_TYPE, bp as usePinnedData, fR as NOT_DUPLICATABLE_NODE_TYPES, fS as isExecutable, fT as N8nActionDropdown, cl as getDefaultExportFromCjs, fz as NODE_SIZE, bS as CanvasNodeRenderType, fA as GRID_SIZE, fU as useThrottleFn, fV as useActiveElement, fW as useDeviceSupport, fX as useEventListener$1, fY as onKeyDown, fZ as onKeyUp, a$ as watchEffect, b4 as normalizeProps, aW as createSlots, c1 as isValidNodeConnectionType, c2 as CanvasConnectionMode, f_ as refThrottled, f$ as CanvasNodeKey, g0 as mergeModels, g1 as useModel, bz as useNodeHelpers, g2 as TitledList, aS as N8nTooltip, g3 as CanvasNodeDirtiness, bB as _sfc_main$z, J as withModifiers, aj as nodeViewEventBus, c5 as NODE_CREATOR_OPEN_SOURCES, g4 as CanvasNodeHandleKey, aC as withDirectives, aD as vShow, g5 as Transition$2, b as useRouter, bA as useRunWorkflow, a_ as LOGS_PANEL_STATE, bj as CHAT_TRIGGER_NODE_TYPE, C as createEventBus, eb as isEqual, bZ as Suspense, b5 as guardReactiveProps, g6 as useNodeDirtiness, fj as CUSTOM_API_CALL_KEY, bv as getNodeInputs, bx as getNodeOutputs, ds as getTriggerNodeServiceName, ci as sanitizeHtml, g7 as nodeIssuesToString, g8 as WAIT_NODE_TYPE, er as SEND_AND_WAIT_OPERATION, g9 as FORM_NODE_TYPE, ga as WAIT_INDEFINITELY, gb as SIMULATE_NODE_TYPE, gc as SIMULATE_TRIGGER_NODE_TYPE, gd as getNodeIconSource } from "./index-BpdkKRP4.js";
2
- import { p as parseCanvasConnectionHandleString, a as useNodeCreatorStore, b as useCanvasOperations, i as insertSpacersBetweenEndpoints, c as createCanvasConnectionHandleString, m as mapLegacyEndpointsToCanvasConnectionPort, e as checkOverlap, f as mapLegacyConnectionsToCanvasConnections } from "./useCanvasOperations-D6VFiC3b.js";
3
- const _sfc_main$y = {};
1
+ import { _ as _export_sfc$1, i as createElementBlock, g as openBlock, k as createBaseVNode, d as defineComponent, fS as getCurrentScope, b0 as inject, fT as effectScope, X as watch, cX as getCurrentInstance, fU as useSlots, bb as onUnmounted, j as createVNode, x as renderSlot, w as withCtx, m as unref, r as ref, fV as useAttrs, f as createCommentVNode, e as createBlock, b7 as mergeProps, F as Fragment, bN as toRef, fW as Teleport, fX as createPropsRestProxy, q as computed, o as onMounted, n as normalizeClass, bQ as reactive, fY as onScopeDispose, az as onBeforeMount, D as renderList, B as normalizeStyle, z as nextTick, y as onBeforeUnmount, fZ as isMemoSame, t as toDisplayString, b6 as resolveDynamicComponent, l as createTextVNode, b1 as isRef, b3 as toRefs$1, f_ as customRef, bh as provide, h as resolveComponent, aq as h, f$ as toValue$1, g0 as markRaw, g1 as readonly, c as useI18n, bP as KeyboardShortcutTooltip, bm as NodeConnectionTypes, g2 as CanvasKey, Y as useCssModule, H as useUIStore, bz as useNodeTypesStore, Q as useWorkflowsStore, a0 as useSourceControlStore, a7 as getResourcePermissions, ek as isPresent, g3 as getMousePosition$1, ay as STICKY_NODE_TYPE, bq as usePinnedData, g4 as NOT_DUPLICATABLE_NODE_TYPES, g5 as isExecutable, bJ as useStyles, g6 as N8nActionDropdown, cv as getDefaultExportFromCjs, fO as NODE_SIZE, cb as CanvasNodeRenderType, fP as GRID_SIZE, bM as useThrottleFn, g7 as useActiveElement, g8 as useDeviceSupport, g9 as useEventListener$1, ga as onKeyDown, gb as onKeyUp, a_ as watchEffect, b4 as normalizeProps, aV as createSlots, c6 as isValidNodeConnectionType, c7 as CanvasConnectionMode, gc as CanvasNodeKey, gd as mergeModels, ge as useModel, bA as useNodeHelpers, gf as TitledList, aR as N8nTooltip, gg as CanvasNodeDirtiness, bC as _sfc_main$A, b2 as withModifiers, ah as nodeViewEventBus, ca as NODE_CREATOR_OPEN_SOURCES, bV as useBuilderStore, bd as withKeys, gh as CanvasNodeHandleKey, aA as withDirectives, aB as vShow, gi as Transition$2, b as useRouter, bB as useRunWorkflow, aZ as LOGS_PANEL_STATE, bk as CHAT_TRIGGER_NODE_TYPE, C as createEventBus, ep as isEqual, p as useSettingsStore, c2 as Suspense, b5 as guardReactiveProps, gj as useNodeDirtiness, fy as CUSTOM_API_CALL_KEY, bw as getNodeInputs, by as getNodeOutputs, dz as getTriggerNodeServiceName, cs as sanitizeHtml, gk as WAIT_NODE_TYPE, eG as SEND_AND_WAIT_OPERATION, gl as FORM_NODE_TYPE, gm as WAIT_INDEFINITELY, gn as SIMULATE_NODE_TYPE, go as SIMULATE_TRIGGER_NODE_TYPE, gp as getNodeIconSource } from "./index-B6eunbxp.js";
2
+ import { p as parseCanvasConnectionHandleString, a as useNodeCreatorStore, b as useCanvasOperations, i as insertSpacersBetweenEndpoints, c as createCanvasConnectionHandleString, m as mapLegacyEndpointsToCanvasConnectionPort, e as checkOverlap, f as mapLegacyConnectionsToCanvasConnections } from "./useCanvasOperations-DaP5jKbH.js";
3
+ const _sfc_main$z = {};
4
4
  const _hoisted_1$d = {
5
5
  xmlns: "http://www.w3.org/2000/svg",
6
6
  viewBox: "0 0 16 16"
@@ -13,7 +13,7 @@ function _sfc_render$1(_ctx, _cache) {
13
13
  }, null, -1)
14
14
  ]));
15
15
  }
16
- const TidyUpIcon = /* @__PURE__ */ _export_sfc$1(_sfc_main$y, [["render", _sfc_render$1]]);
16
+ const TidyUpIcon = /* @__PURE__ */ _export_sfc$1(_sfc_main$z, [["render", _sfc_render$1]]);
17
17
  function tryOnScopeDispose(fn) {
18
18
  if (getCurrentScope()) {
19
19
  onScopeDispose(fn);
@@ -9576,7 +9576,7 @@ const __default__$g = {
9576
9576
  name: "Panel",
9577
9577
  compatConfig: { MODE: 3 }
9578
9578
  };
9579
- const _sfc_main$x = /* @__PURE__ */ defineComponent({
9579
+ const _sfc_main$y = /* @__PURE__ */ defineComponent({
9580
9580
  ...__default__$g,
9581
9581
  props: {
9582
9582
  position: {}
@@ -9677,7 +9677,7 @@ const __default__$4 = {
9677
9677
  name: "Controls",
9678
9678
  compatConfig: { MODE: 3 }
9679
9679
  };
9680
- const _sfc_main$w = /* @__PURE__ */ defineComponent({
9680
+ const _sfc_main$x = /* @__PURE__ */ defineComponent({
9681
9681
  ...__default__$4,
9682
9682
  props: {
9683
9683
  showZoom: { type: Boolean, default: true },
@@ -9720,7 +9720,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
9720
9720
  emit("interactionChange", !isInteractive.value);
9721
9721
  }
9722
9722
  return (_ctx, _cache) => {
9723
- return openBlock(), createBlock(unref(_sfc_main$x), {
9723
+ return openBlock(), createBlock(unref(_sfc_main$y), {
9724
9724
  class: "vue-flow__controls",
9725
9725
  position: _ctx.position
9726
9726
  }, {
@@ -9793,7 +9793,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
9793
9793
  };
9794
9794
  }
9795
9795
  });
9796
- const _sfc_main$v = /* @__PURE__ */ defineComponent({
9796
+ const _sfc_main$w = /* @__PURE__ */ defineComponent({
9797
9797
  __name: "CanvasControlButtons",
9798
9798
  props: {
9799
9799
  zoom: { default: 1 },
@@ -9823,7 +9823,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
9823
9823
  return (_ctx, _cache) => {
9824
9824
  const _component_N8nIconButton = resolveComponent("N8nIconButton");
9825
9825
  const _component_N8nButton = resolveComponent("N8nButton");
9826
- return openBlock(), createBlock(unref(_sfc_main$w), {
9826
+ return openBlock(), createBlock(unref(_sfc_main$x), {
9827
9827
  "show-zoom": false,
9828
9828
  "show-fit-view": false
9829
9829
  }, {
@@ -9918,13 +9918,13 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
9918
9918
  }
9919
9919
  });
9920
9920
  const iconButton = "_iconButton_fx9xi_123";
9921
- const style0$o = {
9921
+ const style0$p = {
9922
9922
  iconButton
9923
9923
  };
9924
- const cssModules$o = {
9925
- "$style": style0$o
9924
+ const cssModules$p = {
9925
+ "$style": style0$p
9926
9926
  };
9927
- const __unplugin_components_1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$v, [["__cssModules", cssModules$o]]);
9927
+ const __unplugin_components_1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$w, [["__cssModules", cssModules$p]]);
9928
9928
  const EDGE_PADDING_BOTTOM = 130;
9929
9929
  const EDGE_PADDING_X = 40;
9930
9930
  const EDGE_BORDER_RADIUS = 16;
@@ -9981,7 +9981,7 @@ function injectStrict(key, fallback) {
9981
9981
  function useCanvas() {
9982
9982
  return injectStrict(CanvasKey);
9983
9983
  }
9984
- const _sfc_main$u = /* @__PURE__ */ defineComponent({
9984
+ const _sfc_main$v = /* @__PURE__ */ defineComponent({
9985
9985
  __name: "CanvasConnectionLine",
9986
9986
  props: {
9987
9987
  sourceX: {},
@@ -10048,14 +10048,14 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
10048
10048
  });
10049
10049
  const edge$1 = "_edge_cbk94_123";
10050
10050
  const visible = "_visible_cbk94_129";
10051
- const style0$n = {
10051
+ const style0$o = {
10052
10052
  edge: edge$1,
10053
10053
  visible
10054
10054
  };
10055
- const cssModules$n = {
10056
- "$style": style0$n
10055
+ const cssModules$o = {
10056
+ "$style": style0$o
10057
10057
  };
10058
- const __unplugin_components_0$5 = /* @__PURE__ */ _export_sfc$1(_sfc_main$u, [["__cssModules", cssModules$n]]);
10058
+ const __unplugin_components_0$5 = /* @__PURE__ */ _export_sfc$1(_sfc_main$v, [["__cssModules", cssModules$o]]);
10059
10059
  const position = ref([0, 0]);
10060
10060
  const isOpen = ref(false);
10061
10061
  const target = ref();
@@ -10262,7 +10262,7 @@ const useContextMenu = (onAction = () => {
10262
10262
  _dispatchAction
10263
10263
  };
10264
10264
  };
10265
- const _sfc_main$t = /* @__PURE__ */ defineComponent({
10265
+ const _sfc_main$u = /* @__PURE__ */ defineComponent({
10266
10266
  __name: "ContextMenu",
10267
10267
  emits: ["action"],
10268
10268
  setup(__props, { emit: __emit }) {
@@ -10270,6 +10270,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
10270
10270
  const { position: position2, isOpen: isOpen2, actions: actions2, target: target2 } = contextMenu2;
10271
10271
  const dropdown = ref();
10272
10272
  const emit = __emit;
10273
+ const { APP_Z_INDEXES } = useStyles();
10273
10274
  watch(
10274
10275
  isOpen2,
10275
10276
  () => {
@@ -10300,7 +10301,8 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
10300
10301
  class: normalizeClass(_ctx.$style.contextMenu),
10301
10302
  style: normalizeStyle({
10302
10303
  left: `${unref(position2)[0]}px`,
10303
- top: `${unref(position2)[1]}px`
10304
+ top: `${unref(position2)[1]}px`,
10305
+ zIndex: unref(APP_Z_INDEXES).CONTEXT_MENU
10304
10306
  })
10305
10307
  }, [
10306
10308
  createVNode(unref(N8nActionDropdown), {
@@ -10328,14 +10330,14 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
10328
10330
  });
10329
10331
  const contextMenu = "_contextMenu_12fz3_123";
10330
10332
  const activator = "_activator_12fz3_127";
10331
- const style0$m = {
10333
+ const style0$n = {
10332
10334
  contextMenu,
10333
10335
  activator
10334
10336
  };
10335
- const cssModules$m = {
10336
- "$style": style0$m
10337
+ const cssModules$n = {
10338
+ "$style": style0$n
10337
10339
  };
10338
- const ContextMenu = /* @__PURE__ */ _export_sfc$1(_sfc_main$t, [["__cssModules", cssModules$m]]);
10340
+ const ContextMenu = /* @__PURE__ */ _export_sfc$1(_sfc_main$u, [["__cssModules", cssModules$n]]);
10339
10341
  var graph;
10340
10342
  var hasRequiredGraph;
10341
10343
  function requireGraph() {
@@ -16926,7 +16928,7 @@ const __default__$3 = {
16926
16928
  name: "MiniMap",
16927
16929
  compatConfig: { MODE: 3 }
16928
16930
  };
16929
- const _sfc_main$s = /* @__PURE__ */ defineComponent({
16931
+ const _sfc_main$t = /* @__PURE__ */ defineComponent({
16930
16932
  ...__default__$3,
16931
16933
  props: {
16932
16934
  nodeColor: { type: [String, Function], default: "#e2e2e2" },
@@ -17089,7 +17091,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
17089
17091
  emit("nodeMouseleave", param);
17090
17092
  }
17091
17093
  return (_ctx, _cache) => {
17092
- return openBlock(), createBlock(unref(_sfc_main$x), {
17094
+ return openBlock(), createBlock(unref(_sfc_main$y), {
17093
17095
  position: _ctx.position,
17094
17096
  class: normalizeClass(["vue-flow__minimap", { pannable: _ctx.pannable, zoomable: _ctx.zoomable }])
17095
17097
  }, {
@@ -17149,7 +17151,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
17149
17151
  });
17150
17152
  const _hoisted_1$9 = ["id", "x", "y", "width", "height", "patternTransform"];
17151
17153
  const _hoisted_2$5 = ["d", "stroke-width"];
17152
- const _sfc_main$r = /* @__PURE__ */ defineComponent({
17154
+ const _sfc_main$s = /* @__PURE__ */ defineComponent({
17153
17155
  __name: "CanvasBackgroundStripedPattern",
17154
17156
  props: {
17155
17157
  id: {},
@@ -17179,7 +17181,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
17179
17181
  };
17180
17182
  }
17181
17183
  });
17182
- const CanvasBackgroundStripedPattern = /* @__PURE__ */ _export_sfc$1(_sfc_main$r, [["__scopeId", "data-v-161512f5"]]);
17184
+ const CanvasBackgroundStripedPattern = /* @__PURE__ */ _export_sfc$1(_sfc_main$s, [["__scopeId", "data-v-161512f5"]]);
17183
17185
  var BackgroundVariant = /* @__PURE__ */ ((BackgroundVariant2) => {
17184
17186
  BackgroundVariant2["Lines"] = "lines";
17185
17187
  BackgroundVariant2["Dots"] = "dots";
@@ -17215,7 +17217,7 @@ const __default__$2 = {
17215
17217
  name: "Background",
17216
17218
  compatConfig: { MODE: 3 }
17217
17219
  };
17218
- const _sfc_main$q = /* @__PURE__ */ defineComponent({
17220
+ const _sfc_main$r = /* @__PURE__ */ defineComponent({
17219
17221
  ...__default__$2,
17220
17222
  props: {
17221
17223
  id: {},
@@ -17300,7 +17302,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
17300
17302
  };
17301
17303
  }
17302
17304
  });
17303
- const _sfc_main$p = /* @__PURE__ */ defineComponent({
17305
+ const _sfc_main$q = /* @__PURE__ */ defineComponent({
17304
17306
  __name: "CanvasBackground",
17305
17307
  props: {
17306
17308
  striped: { type: Boolean },
@@ -17308,7 +17310,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
17308
17310
  },
17309
17311
  setup(__props) {
17310
17312
  return (_ctx, _cache) => {
17311
- return openBlock(), createBlock(unref(_sfc_main$q), {
17313
+ return openBlock(), createBlock(unref(_sfc_main$r), {
17312
17314
  "data-test-id": "canvas-background",
17313
17315
  "pattern-color": "#aaa",
17314
17316
  gap: unref(GRID_SIZE)
@@ -17331,7 +17333,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
17331
17333
  }
17332
17334
  });
17333
17335
  const _hoisted_1$7 = ["id"];
17334
- const _sfc_main$o = /* @__PURE__ */ defineComponent({
17336
+ const _sfc_main$p = /* @__PURE__ */ defineComponent({
17335
17337
  __name: "CanvasArrowHeadMarker",
17336
17338
  props: {
17337
17339
  id: {}
@@ -17364,7 +17366,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
17364
17366
  };
17365
17367
  }
17366
17368
  });
17367
- const _sfc_main$n = /* @__PURE__ */ defineComponent({
17369
+ const _sfc_main$o = /* @__PURE__ */ defineComponent({
17368
17370
  __name: "CanvasEdgeToolbar",
17369
17371
  props: {
17370
17372
  type: {}
@@ -17415,17 +17417,17 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
17415
17417
  }
17416
17418
  });
17417
17419
  const canvasEdgeToolbar = "_canvasEdgeToolbar_8p9ym_123";
17418
- const style0$l = {
17420
+ const style0$m = {
17419
17421
  canvasEdgeToolbar
17420
17422
  };
17421
- const cssModules$l = {
17422
- "$style": style0$l
17423
+ const cssModules$m = {
17424
+ "$style": style0$m
17423
17425
  };
17424
- const CanvasEdgeToolbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$n, [["__cssModules", cssModules$l]]);
17426
+ const CanvasEdgeToolbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$o, [["__cssModules", cssModules$m]]);
17425
17427
  const _hoisted_1$6 = ["data-source-node-name", "data-target-node-name"];
17426
17428
  const _hoisted_2$3 = ["data-source-node-name", "data-target-node-name", "data-edge-status"];
17427
17429
  const delayedHoveredTimeout = 300;
17428
- const _sfc_main$m = /* @__PURE__ */ defineComponent({
17430
+ const _sfc_main$n = /* @__PURE__ */ defineComponent({
17429
17431
  __name: "CanvasEdge",
17430
17432
  props: {
17431
17433
  id: {},
@@ -17605,15 +17607,15 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
17605
17607
  const edge = "_edge_fyzmo_123";
17606
17608
  const edgeLabelWrapper = "_edgeLabelWrapper_fyzmo_127";
17607
17609
  const edgeLabel = "_edgeLabel_fyzmo_127";
17608
- const style0$k = {
17610
+ const style0$l = {
17609
17611
  edge,
17610
17612
  edgeLabelWrapper,
17611
17613
  edgeLabel
17612
17614
  };
17613
- const cssModules$k = {
17614
- "$style": style0$k
17615
+ const cssModules$l = {
17616
+ "$style": style0$l
17615
17617
  };
17616
- const Edge = /* @__PURE__ */ _export_sfc$1(_sfc_main$m, [["__cssModules", cssModules$k]]);
17618
+ const Edge = /* @__PURE__ */ _export_sfc$1(_sfc_main$n, [["__cssModules", cssModules$l]]);
17617
17619
  function useCanvasNode() {
17618
17620
  const node2 = inject(CanvasNodeKey);
17619
17621
  const data = computed(
@@ -17656,7 +17658,6 @@ function useCanvasNode() {
17656
17658
  const executionStatus = computed(() => data.value.execution.status);
17657
17659
  const executionWaiting = computed(() => data.value.execution.waiting);
17658
17660
  const executionRunning = computed(() => data.value.execution.running);
17659
- const executionRunningThrottled = refThrottled(executionRunning, 300);
17660
17661
  const runDataOutputMap = computed(() => data.value.runData.outputMap);
17661
17662
  const runDataIterations = computed(() => data.value.runData.iterations);
17662
17663
  const hasRunData = computed(() => data.value.runData.visible);
@@ -17684,14 +17685,13 @@ function useCanvasNode() {
17684
17685
  executionStatus,
17685
17686
  executionWaiting,
17686
17687
  executionRunning,
17687
- executionRunningThrottled,
17688
17688
  render: render2,
17689
17689
  eventBus
17690
17690
  };
17691
17691
  }
17692
17692
  const _hoisted_1$5 = ["title"];
17693
17693
  const _hoisted_2$2 = ["onClick"];
17694
- const _sfc_main$l = /* @__PURE__ */ defineComponent({
17694
+ const _sfc_main$m = /* @__PURE__ */ defineComponent({
17695
17695
  __name: "CanvasNodeStickyColorSelector",
17696
17696
  props: {
17697
17697
  "visible": { type: Boolean },
@@ -17785,7 +17785,7 @@ const content = "_content_3lp7u_129";
17785
17785
  const color = "_color_3lp7u_136";
17786
17786
  const selected$2 = "_selected_3lp7u_148";
17787
17787
  const option = "_option_3lp7u_173";
17788
- const style0$j = {
17788
+ const style0$k = {
17789
17789
  popover,
17790
17790
  content,
17791
17791
  color,
@@ -17799,11 +17799,11 @@ const style0$j = {
17799
17799
  "sticky-color-7": "_sticky-color-7_3lp7u_169",
17800
17800
  option
17801
17801
  };
17802
- const cssModules$j = {
17803
- "$style": style0$j
17802
+ const cssModules$k = {
17803
+ "$style": style0$k
17804
17804
  };
17805
- const __unplugin_components_0$4 = /* @__PURE__ */ _export_sfc$1(_sfc_main$l, [["__cssModules", cssModules$j]]);
17806
- const _sfc_main$k = /* @__PURE__ */ defineComponent({
17805
+ const __unplugin_components_0$4 = /* @__PURE__ */ _export_sfc$1(_sfc_main$m, [["__cssModules", cssModules$k]]);
17806
+ const _sfc_main$l = /* @__PURE__ */ defineComponent({
17807
17807
  __name: "CanvasNodeToolbar",
17808
17808
  props: {
17809
17809
  readOnly: { type: Boolean }
@@ -17815,7 +17815,13 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
17815
17815
  const $style = useCssModule();
17816
17816
  const i18n = useI18n();
17817
17817
  const { isExecuting } = useCanvas();
17818
- const { isDisabled, render: render2 } = useCanvasNode();
17818
+ const { isDisabled, render: render2, name } = useCanvasNode();
17819
+ const workflowsStore = useWorkflowsStore();
17820
+ const nodeTypesStore = useNodeTypesStore();
17821
+ const node2 = computed(() => !!name.value && workflowsStore.getNodeByName(name.value));
17822
+ const isNodesAsToolNode = computed(
17823
+ () => !!node2.value && nodeTypesStore.isNodesAsToolNode(node2.value.type)
17824
+ );
17819
17825
  const nodeDisabledTitle = computed(() => {
17820
17826
  return isDisabled.value ? i18n.baseText("node.enable") : i18n.baseText("node.disable");
17821
17827
  });
@@ -17827,7 +17833,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
17827
17833
  [$style.forceVisible]: isHovered.value || isStickyColorSelectorOpen.value
17828
17834
  }));
17829
17835
  const isExecuteNodeVisible = computed(() => {
17830
- return !props.readOnly && render2.value.type === CanvasNodeRenderType.Default && "configuration" in render2.value.options && !render2.value.options.configuration;
17836
+ return !props.readOnly && render2.value.type === CanvasNodeRenderType.Default && "configuration" in render2.value.options && (!render2.value.options.configuration || isNodesAsToolNode.value);
17831
17837
  });
17832
17838
  const isDisableNodeVisible = computed(() => {
17833
17839
  return !props.readOnly && render2.value.type === CanvasNodeRenderType.Default;
@@ -17934,16 +17940,16 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
17934
17940
  const canvasNodeToolbar$1 = "_canvasNodeToolbar_104hp_123";
17935
17941
  const canvasNodeToolbarItems = "_canvasNodeToolbarItems_104hp_130";
17936
17942
  const forceVisible = "_forceVisible_104hp_141";
17937
- const style0$i = {
17943
+ const style0$j = {
17938
17944
  canvasNodeToolbar: canvasNodeToolbar$1,
17939
17945
  canvasNodeToolbarItems,
17940
17946
  forceVisible
17941
17947
  };
17942
- const cssModules$i = {
17943
- "$style": style0$i
17948
+ const cssModules$j = {
17949
+ "$style": style0$j
17944
17950
  };
17945
- const CanvasNodeToolbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$k, [["__cssModules", cssModules$i]]);
17946
- const _sfc_main$j = /* @__PURE__ */ defineComponent({
17951
+ const CanvasNodeToolbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$l, [["__cssModules", cssModules$j]]);
17952
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
17947
17953
  __name: "CanvasNodeDisabledStrikeThrough",
17948
17954
  setup(__props) {
17949
17955
  const $style = useCssModule();
@@ -17965,20 +17971,20 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
17965
17971
  const disabledStrikeThrough = "_disabledStrikeThrough_nl2g7_123";
17966
17972
  const success$2 = "_success_nl2g7_132";
17967
17973
  const warning$2 = "_warning_nl2g7_136";
17968
- const style0$h = {
17974
+ const style0$i = {
17969
17975
  disabledStrikeThrough,
17970
17976
  success: success$2,
17971
17977
  warning: warning$2
17972
17978
  };
17973
- const cssModules$h = {
17974
- "$style": style0$h
17979
+ const cssModules$i = {
17980
+ "$style": style0$i
17975
17981
  };
17976
- const __unplugin_components_3 = /* @__PURE__ */ _export_sfc$1(_sfc_main$j, [["__cssModules", cssModules$h]]);
17982
+ const __unplugin_components_3 = /* @__PURE__ */ _export_sfc$1(_sfc_main$k, [["__cssModules", cssModules$i]]);
17977
17983
  const _hoisted_1$4 = { key: 1 };
17978
17984
  const _hoisted_2$1 = ["textContent"];
17979
- const _hoisted_3$1 = { key: 3 };
17985
+ const _hoisted_3$1 = { key: 2 };
17980
17986
  const _hoisted_4 = { key: 5 };
17981
- const _sfc_main$i = /* @__PURE__ */ defineComponent({
17987
+ const _sfc_main$j = /* @__PURE__ */ defineComponent({
17982
17988
  __name: "CanvasNodeStatusIcons",
17983
17989
  setup(__props) {
17984
17990
  const nodeHelpers = useNodeHelpers();
@@ -17989,7 +17995,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
17989
17995
  hasIssues,
17990
17996
  executionStatus,
17991
17997
  executionWaiting,
17992
- executionRunningThrottled,
17998
+ executionRunning,
17993
17999
  hasRunData,
17994
18000
  runDataIterations,
17995
18001
  isDisabled,
@@ -18045,14 +18051,8 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
18045
18051
  spin: ""
18046
18052
  })
18047
18053
  ], 2)
18048
- ])) : unref(hasPinnedData) && !unref(nodeHelpers).isProductionExecutionPreview.value && !unref(isDisabled) ? (openBlock(), createElementBlock("div", {
18049
- key: 2,
18050
- "data-test-id": "canvas-node-status-pinned",
18051
- class: normalizeClass([_ctx.$style.status, _ctx.$style.pinnedData])
18052
- }, [
18053
- createVNode(_component_FontAwesomeIcon, { icon: "thumbtack" })
18054
- ], 2)) : unref(executionStatus) === "unknown" ? (openBlock(), createElementBlock("div", _hoisted_3$1)) : unref(executionRunningThrottled) || unref(executionStatus) === "running" ? (openBlock(), createElementBlock("div", {
18055
- key: 4,
18054
+ ])) : unref(executionStatus) === "unknown" ? (openBlock(), createElementBlock("div", _hoisted_3$1)) : unref(executionRunning) || unref(executionStatus) === "running" ? (openBlock(), createElementBlock("div", {
18055
+ key: 3,
18056
18056
  "data-test-id": "canvas-node-status-running",
18057
18057
  class: normalizeClass([_ctx.$style.status, _ctx.$style.running])
18058
18058
  }, [
@@ -18060,6 +18060,12 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
18060
18060
  icon: "sync-alt",
18061
18061
  spin: ""
18062
18062
  })
18063
+ ], 2)) : unref(hasPinnedData) && !unref(nodeHelpers).isProductionExecutionPreview.value && !unref(isDisabled) ? (openBlock(), createElementBlock("div", {
18064
+ key: 4,
18065
+ "data-test-id": "canvas-node-status-pinned",
18066
+ class: normalizeClass([_ctx.$style.status, _ctx.$style.pinnedData])
18067
+ }, [
18068
+ createVNode(_component_FontAwesomeIcon, { icon: "thumbtack" })
18063
18069
  ], 2)) : dirtiness.value !== void 0 ? (openBlock(), createElementBlock("div", _hoisted_4, [
18064
18070
  createVNode(unref(N8nTooltip), {
18065
18071
  "show-after": 500,
@@ -18106,7 +18112,7 @@ const running$1 = "_running_93vv6_142";
18106
18112
  const issues = "_issues_93vv6_165";
18107
18113
  const count = "_count_93vv6_170";
18108
18114
  const warning$1 = "_warning_93vv6_174";
18109
- const style0$g = {
18115
+ const style0$h = {
18110
18116
  status,
18111
18117
  runData,
18112
18118
  waiting: waiting$1,
@@ -18117,11 +18123,11 @@ const style0$g = {
18117
18123
  count,
18118
18124
  warning: warning$1
18119
18125
  };
18120
- const cssModules$g = {
18121
- "$style": style0$g
18126
+ const cssModules$h = {
18127
+ "$style": style0$h
18122
18128
  };
18123
- const __unplugin_components_2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$i, [["__cssModules", cssModules$g]]);
18124
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
18129
+ const __unplugin_components_2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$j, [["__cssModules", cssModules$h]]);
18130
+ const _sfc_main$i = /* @__PURE__ */ defineComponent({
18125
18131
  __name: "CanvasNodeTooltip",
18126
18132
  props: {
18127
18133
  visible: { type: Boolean }
@@ -18160,14 +18166,14 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
18160
18166
  });
18161
18167
  const tooltipTrigger = "_tooltipTrigger_dauyi_123";
18162
18168
  const popper = "_popper_dauyi_131";
18163
- const style0$f = {
18169
+ const style0$g = {
18164
18170
  tooltipTrigger,
18165
18171
  popper
18166
18172
  };
18167
- const cssModules$f = {
18168
- "$style": style0$f
18173
+ const cssModules$g = {
18174
+ "$style": style0$g
18169
18175
  };
18170
- const __unplugin_components_0$3 = /* @__PURE__ */ _export_sfc$1(_sfc_main$h, [["__cssModules", cssModules$f]]);
18176
+ const __unplugin_components_0$3 = /* @__PURE__ */ _export_sfc$1(_sfc_main$i, [["__cssModules", cssModules$g]]);
18171
18177
  function useNodeConnections({
18172
18178
  inputs: inputs2,
18173
18179
  outputs,
@@ -18217,7 +18223,7 @@ function useNodeConnections({
18217
18223
  };
18218
18224
  }
18219
18225
  const _hoisted_1$3 = ["data-test-id"];
18220
- const _sfc_main$g = /* @__PURE__ */ defineComponent({
18226
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
18221
18227
  __name: "CanvasNodeDefault",
18222
18228
  emits: ["open:contextmenu", "activate"],
18223
18229
  setup(__props, { emit: __emit }) {
@@ -18318,7 +18324,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
18318
18324
  }
18319
18325
  return (_ctx, _cache) => {
18320
18326
  const _component_CanvasNodeTooltip = __unplugin_components_0$3;
18321
- const _component_NodeIcon = _sfc_main$z;
18327
+ const _component_NodeIcon = _sfc_main$A;
18322
18328
  const _component_CanvasNodeStatusIcons = __unplugin_components_2;
18323
18329
  const _component_CanvasNodeDisabledStrikeThrough = __unplugin_components_3;
18324
18330
  return openBlock(), createElementBlock("div", {
@@ -18380,7 +18386,7 @@ const disabled = "_disabled_1d2zc_218";
18380
18386
  const running = "_running_1d2zc_221";
18381
18387
  const waiting = "_waiting_1d2zc_225";
18382
18388
  const disabledLabel = "_disabledLabel_1d2zc_242";
18383
- const style0$e = {
18389
+ const style0$f = {
18384
18390
  node,
18385
18391
  trigger: trigger$1,
18386
18392
  configuration,
@@ -18399,10 +18405,10 @@ const style0$e = {
18399
18405
  waiting,
18400
18406
  disabledLabel
18401
18407
  };
18402
- const cssModules$e = {
18403
- "$style": style0$e
18408
+ const cssModules$f = {
18409
+ "$style": style0$f
18404
18410
  };
18405
- const CanvasNodeDefault = /* @__PURE__ */ _export_sfc$1(_sfc_main$g, [["__cssModules", cssModules$e]]);
18411
+ const CanvasNodeDefault = /* @__PURE__ */ _export_sfc$1(_sfc_main$h, [["__cssModules", cssModules$f]]);
18406
18412
  var xhtml = "http://www.w3.org/1999/xhtml";
18407
18413
  const namespaces = {
18408
18414
  svg: "http://www.w3.org/2000/svg",
@@ -19682,7 +19688,7 @@ const __default__ = {
19682
19688
  compatConfig: { MODE: 3 },
19683
19689
  inheritAttrs: false
19684
19690
  };
19685
- const _sfc_main$f = /* @__PURE__ */ defineComponent({
19691
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
19686
19692
  ...__default__,
19687
19693
  props: {
19688
19694
  nodeId: {},
@@ -19795,7 +19801,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
19795
19801
  };
19796
19802
  }
19797
19803
  });
19798
- const _sfc_main$e = /* @__PURE__ */ defineComponent({
19804
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
19799
19805
  ...{
19800
19806
  inheritAttrs: false
19801
19807
  },
@@ -19852,7 +19858,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
19852
19858
  return (_ctx, _cache) => {
19853
19859
  const _component_N8nSticky = resolveComponent("N8nSticky");
19854
19860
  return openBlock(), createElementBlock(Fragment, null, [
19855
- createVNode(unref(_sfc_main$f), {
19861
+ createVNode(unref(_sfc_main$g), {
19856
19862
  "min-height": 80,
19857
19863
  "min-width": 150,
19858
19864
  height: renderOptions.value.height,
@@ -19881,16 +19887,16 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
19881
19887
  });
19882
19888
  const sticky = "_sticky_1jyj2_123";
19883
19889
  const selected = "_selected_1jyj2_130";
19884
- const style0$d = {
19890
+ const style0$e = {
19885
19891
  sticky,
19886
19892
  selected
19887
19893
  };
19888
- const cssModules$d = {
19889
- "$style": style0$d
19894
+ const cssModules$e = {
19895
+ "$style": style0$e
19890
19896
  };
19891
- const CanvasNodeStickyNote = /* @__PURE__ */ _export_sfc$1(_sfc_main$e, [["__cssModules", cssModules$d]]);
19897
+ const CanvasNodeStickyNote = /* @__PURE__ */ _export_sfc$1(_sfc_main$f, [["__cssModules", cssModules$e]]);
19892
19898
  const _hoisted_1$2 = ["textContent"];
19893
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
19899
+ const _sfc_main$e = /* @__PURE__ */ defineComponent({
19894
19900
  __name: "CanvasNodeAddNodes",
19895
19901
  setup(__props) {
19896
19902
  const nodeCreatorStore = useNodeCreatorStore();
@@ -19958,15 +19964,110 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
19958
19964
  const addNodes = "_addNodes_1qfrq_123";
19959
19965
  const button = "_button_1qfrq_131";
19960
19966
  const label$4 = "_label_1qfrq_152";
19961
- const style0$c = {
19967
+ const style0$d = {
19962
19968
  addNodes,
19963
19969
  button,
19964
19970
  label: label$4
19965
19971
  };
19972
+ const cssModules$d = {
19973
+ "$style": style0$d
19974
+ };
19975
+ const CanvasNodeAddNodes = /* @__PURE__ */ _export_sfc$1(_sfc_main$e, [["__cssModules", cssModules$d]]);
19976
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
19977
+ __name: "CanvasNodeAIPrompt",
19978
+ emits: ["delete"],
19979
+ setup(__props, { emit: __emit }) {
19980
+ const emit = __emit;
19981
+ const i18n = useI18n();
19982
+ const { id: id2 } = useCanvasNode();
19983
+ const builderStore = useBuilderStore();
19984
+ const isPromptVisible = ref(true);
19985
+ const isFocused = ref(false);
19986
+ const prompt = ref("");
19987
+ const hasContent = computed(() => prompt.value.trim().length > 0);
19988
+ async function onSubmit() {
19989
+ builderStore.openChat();
19990
+ emit("delete", id2.value);
19991
+ await builderStore.initBuilderChat(prompt.value, "canvas");
19992
+ isPromptVisible.value = false;
19993
+ }
19994
+ return (_ctx, _cache) => {
19995
+ const _component_n8n_input = resolveComponent("n8n-input");
19996
+ const _component_n8n_button = resolveComponent("n8n-button");
19997
+ return isPromptVisible.value ? (openBlock(), createElementBlock("div", {
19998
+ key: 0,
19999
+ class: normalizeClass(_ctx.$style.container),
20000
+ "data-test-id": "canvas-ai-prompt"
20001
+ }, [
20002
+ createBaseVNode("div", {
20003
+ class: normalizeClass([_ctx.$style.promptContainer, { [_ctx.$style.focused]: isFocused.value }])
20004
+ }, [
20005
+ createBaseVNode("form", {
20006
+ class: normalizeClass(_ctx.$style.form),
20007
+ onSubmit: withModifiers(onSubmit, ["prevent"])
20008
+ }, [
20009
+ createVNode(_component_n8n_input, {
20010
+ modelValue: prompt.value,
20011
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => prompt.value = $event),
20012
+ class: normalizeClass(_ctx.$style.form_textarea),
20013
+ type: "textarea",
20014
+ disabled: unref(builderStore).streaming,
20015
+ placeholder: unref(i18n).baseText("aiAssistant.builder.placeholder"),
20016
+ "read-only": false,
20017
+ rows: 15,
20018
+ onFocus: _cache[1] || (_cache[1] = ($event) => isFocused.value = true),
20019
+ onBlur: _cache[2] || (_cache[2] = ($event) => isFocused.value = false),
20020
+ onKeydown: withKeys(withModifiers(onSubmit, ["meta", "stop"]), ["enter"])
20021
+ }, null, 8, ["modelValue", "class", "disabled", "placeholder", "onKeydown"]),
20022
+ createBaseVNode("div", {
20023
+ class: normalizeClass(_ctx.$style.form_footer)
20024
+ }, [
20025
+ createVNode(_component_n8n_button, {
20026
+ "native-type": "submit",
20027
+ disabled: !hasContent.value || unref(builderStore).streaming,
20028
+ onKeydown: withKeys(onSubmit, ["enter"])
20029
+ }, {
20030
+ default: withCtx(() => [
20031
+ createTextVNode(toDisplayString(unref(i18n).baseText("aiAssistant.builder.buildWorkflow")), 1)
20032
+ ]),
20033
+ _: 1
20034
+ }, 8, ["disabled"])
20035
+ ], 2)
20036
+ ], 34)
20037
+ ], 2),
20038
+ createBaseVNode("div", {
20039
+ class: normalizeClass(_ctx.$style.or)
20040
+ }, [
20041
+ createBaseVNode("p", {
20042
+ class: normalizeClass(_ctx.$style.or_text)
20043
+ }, "or", 2)
20044
+ ], 2)
20045
+ ], 2)) : createCommentVNode("", true);
20046
+ };
20047
+ }
20048
+ });
20049
+ const container$1 = "_container_145fr_123";
20050
+ const promptContainer = "_promptContainer_145fr_128";
20051
+ const focused = "_focused_145fr_142";
20052
+ const form = "_form_145fr_146";
20053
+ const form_textarea = "_form_textarea_145fr_153";
20054
+ const form_footer = "_form_footer_145fr_170";
20055
+ const or = "_or_145fr_176";
20056
+ const or_text = "_or_text_145fr_185";
20057
+ const style0$c = {
20058
+ container: container$1,
20059
+ promptContainer,
20060
+ focused,
20061
+ form,
20062
+ form_textarea,
20063
+ form_footer,
20064
+ or,
20065
+ or_text
20066
+ };
19966
20067
  const cssModules$c = {
19967
20068
  "$style": style0$c
19968
20069
  };
19969
- const CanvasNodeAddNodes = /* @__PURE__ */ _export_sfc$1(_sfc_main$d, [["__cssModules", cssModules$c]]);
20070
+ const CanvasNodeAIPrompt = /* @__PURE__ */ _export_sfc$1(_sfc_main$d, [["__cssModules", cssModules$c]]);
19970
20071
  const _sfc_main$c = /* @__PURE__ */ defineComponent({
19971
20072
  __name: "CanvasNodeRenderer",
19972
20073
  setup(__props) {
@@ -19981,6 +20082,9 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
19981
20082
  case CanvasNodeRenderType.AddNodes:
19982
20083
  Component = CanvasNodeAddNodes;
19983
20084
  break;
20085
+ case CanvasNodeRenderType.AIPrompt:
20086
+ Component = CanvasNodeAIPrompt;
20087
+ break;
19984
20088
  default:
19985
20089
  Component = CanvasNodeDefault;
19986
20090
  }
@@ -20626,11 +20730,10 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
20626
20730
  const router = useRouter();
20627
20731
  const i18n = useI18n();
20628
20732
  const workflowsStore = useWorkflowsStore();
20629
- const uiStore = useUIStore();
20630
20733
  const { runEntireWorkflow } = useRunWorkflow({ router });
20631
20734
  const { toggleChatOpen } = useCanvasOperations({ router });
20632
20735
  const isChatOpen = computed(() => workflowsStore.logsPanelState !== LOGS_PANEL_STATE.CLOSED);
20633
- const isExecuting = computed(() => uiStore.isActionActive.workflowRunning);
20736
+ const isExecuting = computed(() => workflowsStore.isWorkflowRunning);
20634
20737
  const testId = computed(() => `execute-workflow-button-${__props.name}`);
20635
20738
  return (_ctx, _cache) => {
20636
20739
  const _component_FontAwesomeIcon = resolveComponent("FontAwesomeIcon");
@@ -20867,7 +20970,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
20867
20970
  readOnly,
20868
20971
  eventBus: canvasNodeEventBus
20869
20972
  });
20870
- const hasToolbar = computed(() => props.data.type !== CanvasNodeRenderType.AddNodes);
20973
+ const hasToolbar = computed(
20974
+ () => ![CanvasNodeRenderType.AddNodes, CanvasNodeRenderType.AIPrompt].includes(renderType2.value)
20975
+ );
20871
20976
  const showToolbar2 = computed(() => {
20872
20977
  const target2 = contextMenu2.target.value;
20873
20978
  return contextMenu2.isOpen && target2?.source === "node-button" && target2.nodeId === id2.value;
@@ -20954,7 +21059,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
20954
21059
  onDeactivate,
20955
21060
  onMove,
20956
21061
  onUpdate,
20957
- "onOpen:contextmenu": onOpenContextMenuFromNode
21062
+ "onOpen:contextmenu": onOpenContextMenuFromNode,
21063
+ onDelete
20958
21064
  }),
20959
21065
  props.data.render.type === unref(CanvasNodeRenderType).Default && props.data.render.options.trigger ? (openBlock(), createBlock(CanvasNodeTrigger, {
20960
21066
  key: 2,
@@ -20983,6 +21089,45 @@ const cssModules$1 = {
20983
21089
  "$style": style0$1
20984
21090
  };
20985
21091
  const CanvasNode = /* @__PURE__ */ _export_sfc$1(_sfc_main$1, [["__cssModules", cssModules$1]]);
21092
+ function useViewportAutoAdjust(viewportRef, viewport, setViewport) {
21093
+ const settingsStore = useSettingsStore();
21094
+ if (settingsStore.isNewLogsEnabled) {
21095
+ const canvasRect = ref();
21096
+ watch(
21097
+ viewportRef,
21098
+ (vp, _, onCleanUp) => {
21099
+ if (!vp) {
21100
+ return;
21101
+ }
21102
+ const resizeObserver = new ResizeObserver((entries) => {
21103
+ const entry = entries[0];
21104
+ if (entry) {
21105
+ canvasRect.value = entry.contentRect;
21106
+ }
21107
+ });
21108
+ canvasRect.value = {
21109
+ x: vp.offsetLeft,
21110
+ y: vp.offsetTop,
21111
+ width: vp.offsetWidth,
21112
+ height: vp.offsetHeight
21113
+ };
21114
+ resizeObserver.observe(vp);
21115
+ onCleanUp(() => resizeObserver.disconnect());
21116
+ },
21117
+ { immediate: true }
21118
+ );
21119
+ watch(canvasRect, async (newRect, oldRect) => {
21120
+ if (!newRect || !oldRect) {
21121
+ return;
21122
+ }
21123
+ await setViewport({
21124
+ x: viewport.value.x + (newRect.width - oldRect.width) / 2,
21125
+ y: viewport.value.y + (newRect.height - oldRect.height) / 2,
21126
+ zoom: viewport.value.zoom
21127
+ });
21128
+ });
21129
+ }
21130
+ }
20986
21131
  const renameKeyCode = " ";
20987
21132
  const defaultZoom = 1;
20988
21133
  const minimapVisibilityDelay = 1e3;
@@ -21024,6 +21169,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21024
21169
  findNode,
21025
21170
  viewport,
21026
21171
  nodesSelectionActive,
21172
+ setViewport,
21027
21173
  onEdgeMouseLeave,
21028
21174
  onEdgeMouseEnter,
21029
21175
  onEdgeMouseMove,
@@ -21061,7 +21207,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21061
21207
  useShortKeyPress(
21062
21208
  renameKeyCode,
21063
21209
  () => {
21064
- if (lastSelectedNode.value) {
21210
+ if (lastSelectedNode.value && lastSelectedNode.value.id !== CanvasNodeRenderType.AIPrompt) {
21065
21211
  emit("update:node:name", lastSelectedNode.value.id);
21066
21212
  }
21067
21213
  },
@@ -21143,7 +21289,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21143
21289
  ctrl_alt_n: () => emit("create:workflow"),
21144
21290
  ctrl_enter: () => emit("run:workflow"),
21145
21291
  ctrl_s: () => emit("save:workflow"),
21146
- shift_alt_t: async () => await onTidyUp("keyboard-shortcut")
21292
+ shift_alt_t: async () => await onTidyUp({ source: "keyboard-shortcut" })
21147
21293
  };
21148
21294
  return fullKeymap;
21149
21295
  });
@@ -21312,6 +21458,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21312
21458
  };
21313
21459
  }
21314
21460
  const isPaneMoving = ref(false);
21461
+ useViewportAutoAdjust(viewportRef, viewport, setViewport);
21315
21462
  function getProjectedPosition(event) {
21316
21463
  const bounds = viewportRef.value?.getBoundingClientRect() ?? { left: 0, top: 0 };
21317
21464
  const offsetX = event?.clientX ?? 0;
@@ -21403,14 +21550,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21403
21550
  case "change_color":
21404
21551
  return props.eventBus.emit("nodes:action", { ids: nodeIds, action: "update:sticky:color" });
21405
21552
  case "tidy_up":
21406
- return await onTidyUp("context-menu");
21553
+ return await onTidyUp({ source: "context-menu" });
21407
21554
  }
21408
21555
  }
21409
- async function onTidyUp(source) {
21556
+ async function onTidyUp(payload) {
21410
21557
  const applyOnSelection = selectedNodes.value.length > 1;
21411
21558
  const target2 = applyOnSelection ? "selection" : "all";
21412
21559
  const result = layout(target2);
21413
- emit("tidy-up", { result, target: target2, source });
21560
+ emit("tidy-up", { result, target: target2, source: payload.source });
21414
21561
  if (!applyOnSelection) {
21415
21562
  await nextTick();
21416
21563
  await onFitView();
@@ -21460,11 +21607,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21460
21607
  onMounted(() => {
21461
21608
  props.eventBus.on("fitView", onFitView);
21462
21609
  props.eventBus.on("nodes:select", onSelectNodes);
21610
+ props.eventBus.on("tidyUp", onTidyUp);
21463
21611
  window.addEventListener("blur", onWindowBlur);
21464
21612
  });
21465
21613
  onUnmounted(() => {
21466
21614
  props.eventBus.off("fitView", onFitView);
21467
21615
  props.eventBus.off("nodes:select", onSelectNodes);
21616
+ props.eventBus.off("tidyUp", onTidyUp);
21468
21617
  window.removeEventListener("blur", onWindowBlur);
21469
21618
  });
21470
21619
  onPaneReady(async () => {
@@ -21567,14 +21716,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21567
21716
  createVNode(_component_CanvasConnectionLine, normalizeProps(guardReactiveProps(connectionLineProps)), null, 16)
21568
21717
  ]),
21569
21718
  default: withCtx(() => [
21570
- createVNode(_sfc_main$o, { id: arrowHeadMarkerId.value }, null, 8, ["id"]),
21571
- createVNode(_sfc_main$p, {
21719
+ createVNode(_sfc_main$p, { id: arrowHeadMarkerId.value }, null, 8, ["id"]),
21720
+ createVNode(_sfc_main$q, {
21572
21721
  viewport: unref(viewport),
21573
21722
  striped: _ctx.readOnly
21574
21723
  }, null, 8, ["viewport", "striped"]),
21575
21724
  createVNode(Transition$2, { name: "minimap" }, {
21576
21725
  default: withCtx(() => [
21577
- withDirectives(createVNode(unref(_sfc_main$s), {
21726
+ withDirectives(createVNode(unref(_sfc_main$t), {
21578
21727
  "data-test-id": "canvas-minimap",
21579
21728
  "aria-label": "n8n Minimap",
21580
21729
  height: 120,
@@ -21603,7 +21752,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21603
21752
  onZoomIn,
21604
21753
  onZoomOut,
21605
21754
  onResetZoom,
21606
- onTidyUp: _cache[0] || (_cache[0] = ($event) => onTidyUp("canvas-button"))
21755
+ onTidyUp: _cache[0] || (_cache[0] = ($event) => onTidyUp({ source: "canvas-button" }))
21607
21756
  }, null, 8, ["class", "position", "zoom", "read-only"]),
21608
21757
  (openBlock(), createBlock(Suspense, null, {
21609
21758
  default: withCtx(() => [
@@ -21626,7 +21775,7 @@ const style0 = {
21626
21775
  const cssModules = {
21627
21776
  "$style": style0
21628
21777
  };
21629
- const Canvas = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-053d8c50"]]);
21778
+ const Canvas = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-af44edae"]]);
21630
21779
  function useCanvasMapping({
21631
21780
  nodes,
21632
21781
  connections,
@@ -21654,6 +21803,12 @@ function useCanvasMapping({
21654
21803
  options: {}
21655
21804
  };
21656
21805
  }
21806
+ function createAIPromptRenderType() {
21807
+ return {
21808
+ type: CanvasNodeRenderType.AIPrompt,
21809
+ options: {}
21810
+ };
21811
+ }
21657
21812
  function createDefaultNodeRenderType(node2) {
21658
21813
  const nodeType = nodeTypeDescriptionByNodeId.value[node2.id];
21659
21814
  const icon = getNodeIconSource(
@@ -21686,6 +21841,9 @@ function useCanvasMapping({
21686
21841
  case `${CanvasNodeRenderType.AddNodes}`:
21687
21842
  acc[node2.id] = createAddNodesRenderType();
21688
21843
  break;
21844
+ case `${CanvasNodeRenderType.AIPrompt}`:
21845
+ acc[node2.id] = createAIPromptRenderType();
21846
+ break;
21689
21847
  default:
21690
21848
  acc[node2.id] = createDefaultNodeRenderType(node2);
21691
21849
  }
@@ -21879,7 +22037,7 @@ function useCanvasMapping({
21879
22037
  });
21880
22038
  }
21881
22039
  if (node2?.issues !== void 0) {
21882
- issues2.push(...nodeIssuesToString(node2.issues, node2));
22040
+ issues2.push(...nodeHelpers.nodeIssuesToString(node2.issues, node2));
21883
22041
  }
21884
22042
  acc[node2.id] = issues2;
21885
22043
  return acc;