n8n-editor-ui 1.91.0 → 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 (113) hide show
  1. package/dist/assets/{AnimatedSpinner-fxUUiJkt.js → AnimatedSpinner-CtKKeDrz.js} +1 -1
  2. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DaejGlee.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DR6h_xsK.js} +1 -1
  3. package/dist/assets/{AuthView-C38evMFm.js → AuthView-mKkzBRxh.js} +2 -2
  4. package/dist/assets/{CanvasChatSwitch-wA9DYH8v.js → CanvasChatSwitch-Bu2VD2kp.js} +22 -10
  5. package/dist/assets/{ChangePasswordView-BhWZeFH0.js → ChangePasswordView-D5UI1v-J.js} +3 -3
  6. package/dist/assets/CollectionParameter-BeCTpZ-q.js +4 -0
  7. package/dist/assets/{CredentialsView-Nqr-i2Pe.js → CredentialsView-B78eNJO5.js} +6 -6
  8. package/dist/assets/{DemoFooter-BWR2cAp9.js → DemoFooter-DP26HpCu.js} +8 -8
  9. package/dist/assets/{ErrorView-CS9OEuyr.js → ErrorView-C3fvEdCg.js} +1 -1
  10. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-DetKnv65.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-BBpwYdHY.js} +2 -2
  11. package/dist/assets/{ExecutionsView-C9YWPuDj.js → ExecutionsView-BvlDZwIs.js} +8 -8
  12. package/dist/assets/{FileSaver.min-DmkzTNV9.js → FileSaver.min-BzAtcQXX.js} +1 -1
  13. package/dist/assets/{FixedCollectionParameter-B95bmTf5.js → FixedCollectionParameter-CS5zXMAh.js} +1 -1
  14. package/dist/assets/{ForgotMyPasswordView-qiBahYik.js → ForgotMyPasswordView-CVQ7pcIG.js} +3 -3
  15. package/dist/assets/{InsightsChartAverageRuntime-Dxhbd0ns.js → InsightsChartAverageRuntime-Boh0SMb3.js} +4 -4
  16. package/dist/assets/{InsightsChartFailed-BQcqQ0cP.js → InsightsChartFailed-IZ-KYOU9.js} +4 -4
  17. package/dist/assets/{InsightsChartFailureRate-ByRknnji.js → InsightsChartFailureRate-2fWw3p0L.js} +4 -4
  18. package/dist/assets/{InsightsChartTimeSaved-DwWd2CE4.js → InsightsChartTimeSaved-B2pLVys1.js} +4 -4
  19. package/dist/assets/{InsightsChartTotal-ByBJBO5S.js → InsightsChartTotal-2QD4wPLR.js} +4 -4
  20. package/dist/assets/{InsightsDashboard-Bi1pPMYJ.js → InsightsDashboard-CbiFbJ8w.js} +10 -10
  21. package/dist/assets/{InsightsPaywall-BHAFddnZ.js → InsightsPaywall-5d-cSdiS.js} +1 -1
  22. package/dist/assets/{InsightsSummary-BbdmlYGl.js → InsightsSummary-gldDQ9rg.js} +1 -1
  23. package/dist/assets/{InsightsTableWorkflows-06mtfv-r.js → InsightsTableWorkflows-_eTCUNCX.js} +2 -2
  24. package/dist/assets/{Logo-YWli2nsX.js → Logo-Dl2xVRIu.js} +1 -1
  25. package/dist/assets/{LogsPanel-CutVxFbc.js → LogsPanel-JnYirDqa.js} +73 -105
  26. package/dist/assets/{LogsPanel-DLC2TAqh.css → LogsPanel-mTaFEGk_.css} +38 -34
  27. package/dist/assets/{MainHeader-DeD-Rq-o.js → MainHeader-Bk29pgmL.js} +9 -9
  28. package/dist/assets/{MainSidebar-w7XcpgsG.js → MainSidebar-BM5ku_wM.js} +11 -11
  29. package/dist/assets/{MainSidebar-CKMiDGvH.css → MainSidebar-zZpP3qQ0.css} +13 -12
  30. package/dist/assets/{NodeCreation-BPVX4AyM.js → NodeCreation-BEjdAYc_.js} +4 -4
  31. package/dist/assets/{NodeCreator-ORfmLjpf.js → NodeCreator-cEUgbAI9.js} +3 -3
  32. package/dist/assets/{NodeDetailsView-z4dW5CZA.js → NodeDetailsView-D4O9dKTA.js} +62 -47
  33. package/dist/assets/{NodeDetailsView-CGgV4Pn_.css → NodeDetailsView-DsFLtbxi.css} +20 -20
  34. package/dist/assets/{NodeView-DoYUR6zN.js → NodeView-DDSOUm8E.js} +29 -16
  35. package/dist/assets/{ProjectCardBadge-9gGGsnO4.js → ProjectCardBadge-BNn2hiMe.js} +1 -1
  36. package/dist/assets/{ProjectHeader-mP1U8azT.js → ProjectHeader-CaEZ2OPj.js} +1 -1
  37. package/dist/assets/{ProjectSettings-BXv7wHt2.js → ProjectSettings-otA8E-yW.js} +2 -2
  38. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-Cu81u0g8.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-C3JbZMCk.js} +1 -1
  39. package/dist/assets/{ResourcesListLayout-l12N8elL.js → ResourcesListLayout-1d9Ic6VX.js} +1 -1
  40. package/dist/assets/{RunData-C9dtm1M2.css → RunData-BjlZgIyx.css} +12 -2
  41. package/dist/assets/{RunData-DcTRJlPx.js → RunData-Bx47sNQp.js} +383 -189
  42. package/dist/assets/{RunDataAi-BF2gZZGr.css → RunDataAi-D9VLFXIf.css} +10 -51
  43. package/dist/assets/{RunDataAi-gSq_Xjqe.js → RunDataAi-DOac7nwD.js} +27 -310
  44. package/dist/assets/{RunDataJson-ZWzRQWbP.js → RunDataJson-Pev6yNEV.js} +7 -7
  45. package/dist/assets/{RunDataJsonActions-CLZHKSxo.js → RunDataJsonActions-Co4xgmVq.js} +1 -1
  46. package/dist/assets/RunDataParsedAiContent-9EEUzCKp.css +176 -0
  47. package/dist/assets/RunDataParsedAiContent-D6MNLmT3.js +148 -0
  48. package/dist/assets/{RunDataSearch-DGVT04w4.js → RunDataSearch-C8orcAlP.js} +1 -1
  49. package/dist/assets/{RunDataTable-DXZeWFoe.js → RunDataTable-oi_l8dhA.js} +3 -3
  50. package/dist/assets/{SamlOnboarding-oqY0GJU1.js → SamlOnboarding-CT5J6dx0.js} +3 -3
  51. package/dist/assets/{SettingsApiView-wOjTe5Iz.js → SettingsApiView-CupjcI9v.js} +1 -1
  52. package/dist/assets/{SettingsCommunityNodesView-BferxshR.js → SettingsCommunityNodesView-B5K2VLyJ.js} +4 -4
  53. package/dist/assets/{SettingsExternalSecrets-AVAe3pFB.js → SettingsExternalSecrets-BidJCf_t.js} +1 -1
  54. package/dist/assets/{SettingsLdapView-Dzz0oH8X.js → SettingsLdapView-Cva6akhW.js} +1 -1
  55. package/dist/assets/{SettingsLogStreamingView-7wK5X84p.js → SettingsLogStreamingView-Cy-rAKUO.js} +1 -1
  56. package/dist/assets/{SettingsPersonalView-DFJF_V6T.js → SettingsPersonalView-ZJ1Syok2.js} +14 -13
  57. package/dist/assets/{SettingsSourceControl-CMcBENTO.js → SettingsSourceControl-CMtqqlkO.js} +1 -1
  58. package/dist/assets/{SettingsSso-Z1Q6NEkd.js → SettingsSso-Bi3OpykL.js} +1 -1
  59. package/dist/assets/{SettingsUsageAndPlan-CcRKHQ0-.js → SettingsUsageAndPlan-C5TbwZhP.js} +1 -1
  60. package/dist/assets/{SettingsUsersView-B3WfDCek.js → SettingsUsersView-BHuP5k0A.js} +1 -1
  61. package/dist/assets/{SettingsView-BlwKUaR5.js → SettingsView-DPIIqaKN.js} +1 -1
  62. package/dist/assets/{SetupView-D5lrdUoq.js → SetupView-C4V9j6sh.js} +3 -3
  63. package/dist/assets/{SetupWorkflowCredentialsButton-Bc6VdFCN.js → SetupWorkflowCredentialsButton-BZ9ILQUp.js} +1 -1
  64. package/dist/assets/{SetupWorkflowFromTemplateView-CJD5W1WL.js → SetupWorkflowFromTemplateView-3uV3zSU2.js} +3 -3
  65. package/dist/assets/{SigninView-DH2fyWJ4.js → SigninView-DWZHdCjG.js} +3 -3
  66. package/dist/assets/{SignoutView-CBkwCdXi.js → SignoutView-DbduXAir.js} +1 -1
  67. package/dist/assets/{SignupView-BRMhMcBZ.js → SignupView-DWq6VACk.js} +3 -3
  68. package/dist/assets/{TemplateDetails-D-BdppKN.js → TemplateDetails-BckqE6GK.js} +1 -1
  69. package/dist/assets/{TemplateList-BnoYTtBt.js → TemplateList-Bw0JeBMP.js} +1 -1
  70. package/dist/assets/{TemplatesCollectionView-BjJj8lj5.js → TemplatesCollectionView-CAKT-mpV.js} +5 -5
  71. package/dist/assets/{TemplatesSearchView-EuczA-oB.js → TemplatesSearchView-I2a5us58.js} +3 -3
  72. package/dist/assets/{TemplatesView-lDM12E7u.js → TemplatesView-6EwGFFJK.js} +1 -1
  73. package/dist/assets/{TemplatesWorkflowView-CvyrJnPM.js → TemplatesWorkflowView-C8xYMhwu.js} +5 -5
  74. package/dist/assets/{TestDefinitionEditView-D3rNVRaa.js → TestDefinitionEditView-CNd3Cuzq.js} +7 -7
  75. package/dist/assets/{TestDefinitionListView-m3RGW84j.js → TestDefinitionListView-BwTWIaAM.js} +1 -1
  76. package/dist/assets/{TestDefinitionNewView-BdBvbajQ.js → TestDefinitionNewView-BQas0_G1.js} +2 -2
  77. package/dist/assets/{TestDefinitionRootView-DJnT-m57.js → TestDefinitionRootView-D971MFye.js} +1 -1
  78. package/dist/assets/{VariablesView-C7i_CSj8.js → VariablesView-DcBBuFxh.js} +3 -3
  79. package/dist/assets/{WorkerView-GWMai3R9.js → WorkerView-DSgBNIeb.js} +6 -6
  80. package/dist/assets/{WorkflowActivator-SziK5CNk.js → WorkflowActivator-CPCbgb_n.js} +2 -2
  81. package/dist/assets/{WorkflowExecutionsInfoAccordion-DENHBjmU.js → WorkflowExecutionsInfoAccordion-Bc6vzAZu.js} +1 -1
  82. package/dist/assets/{WorkflowExecutionsLandingPage-BzDiGWu4.js → WorkflowExecutionsLandingPage-BPPS4V9i.js} +2 -2
  83. package/dist/assets/{WorkflowExecutionsPreview-DqdkoKXB.js → WorkflowExecutionsPreview-Bbb5MB8Z.js} +6 -6
  84. package/dist/assets/{WorkflowExecutionsView-AxW7n6yq.js → WorkflowExecutionsView-Pz-7iHJY.js} +11 -9
  85. package/dist/assets/{WorkflowHistory-BVlsuqfI.js → WorkflowHistory-Czo9IuI6.js} +3 -3
  86. package/dist/assets/{WorkflowOnboardingView-fOW1AS_n.js → WorkflowOnboardingView-B8DdkfJ5.js} +1 -1
  87. package/dist/assets/{WorkflowPreview-ChN9npJk.js → WorkflowPreview-eVlO1itk.js} +1 -1
  88. package/dist/assets/{WorkflowsView-s_WHwcWN.js → WorkflowsView-Cr2D0vym.js} +9 -9
  89. package/dist/assets/{chartjs.utils-wOlz1LMy.js → chartjs.utils-Dk1WO3Mr.js} +2 -2
  90. package/dist/assets/{dateFormatter-yaAmYK7_.js → dateFormatter-C8N5khiG.js} +1 -1
  91. package/dist/assets/{easyAiWorkflowUtils-CVW2fylI.js → easyAiWorkflowUtils-CLqHnasO.js} +1 -1
  92. package/dist/assets/{global-link-actions-X1_8ARhd.js → global-link-actions-BvoZh8u9.js} +1 -1
  93. package/dist/assets/{import-curl-DdqJa2Tm.js → import-curl-BpxkGYMX.js} +1 -1
  94. package/dist/assets/{index-B7FgXPOI.js → index-B6eunbxp.js} +2871 -2467
  95. package/dist/assets/{index-CK1EcLzg.js → index-Br8T1Gn6.js} +1 -1
  96. package/dist/assets/{index-sq5ggyEC.css → index-DCpy4nCU.css} +124 -0
  97. package/dist/assets/{pickBy-s5T-2ufr.js → pickBy-8Urz9lDY.js} +1 -1
  98. package/dist/assets/{templateActions-sdO4R-bv.js → templateActions-DzjysjbQ.js} +1 -1
  99. package/dist/assets/{useBeforeUnload-CQPMw1S7.js → useBeforeUnload-DxrN8vOO.js} +1 -1
  100. package/dist/assets/{useCanvasMapping-DRc556sb.js → useCanvasMapping-C2BQB9QB.js} +21 -18
  101. package/dist/assets/{useCanvasOperations-B0S86JW0.js → useCanvasOperations-DaP5jKbH.js} +2 -2
  102. package/dist/assets/{useClearExecutionButtonVisible-C3SJ4iFv.js → useClearExecutionButtonVisible-BV-jMf2m.js} +2 -2
  103. package/dist/assets/{useExecutionDebugging-CJwhg6O9.js → useExecutionDebugging-0pPCimcw.js} +1 -1
  104. package/dist/assets/{useExecutionHelpers-BWNgdgwx.js → useExecutionHelpers-DIvhViMz.js} +2 -2
  105. package/dist/assets/{useImportCurlCommand-DAljDdWP.js → useImportCurlCommand-BWf4R83s.js} +19 -10
  106. package/dist/assets/usePushConnection-Pobjq0U9.js +632 -0
  107. package/dist/assets/{useTestDefinitionForm-CLiOMqSh.js → useTestDefinitionForm-BA3IS_2B.js} +1 -1
  108. package/dist/assets/{useWorkflowActivate-yVdxh8CC.js → useWorkflowActivate-DFqvrpj6.js} +1 -1
  109. package/dist/assets/useWorkflowSaving-BACesUoL.js +66 -0
  110. package/dist/index.html +2 -2
  111. package/package.json +1 -1
  112. package/dist/assets/CollectionParameter-X0kImkTc.js +0 -4
  113. package/dist/assets/usePushConnection-BBpCn7jd.js +0 -537
@@ -1,7 +1,7 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunDataTable-DXZeWFoe.js","assets/index-B7FgXPOI.js","assets/index-sq5ggyEC.css","assets/useExecutionHelpers-BWNgdgwx.js","assets/dateFormatter-yaAmYK7_.js","assets/RunDataTable-CUxj7dHx.css","assets/RunDataJson-ZWzRQWbP.js","assets/FileSaver.min-DmkzTNV9.js","assets/RunDataJson-BH9HLoGC.css","assets/RunDataSearch-DGVT04w4.js","assets/RunDataSearch-R6qtl0Jf.css"])))=>i.map(i=>d[i]);
2
- import { dI as hasKey, cq as getDefaultExportFromCjs, dJ as AGENT_LANGCHAIN_NODE_TYPE, b1 as isRef, dK as isReactive, dL as isProxy, da as toRaw, d as defineComponent, bf as useClipboard, a as useToast, dM as useAIAssistantHelpers, bz as useNodeTypesStore, as as useNDVStore, Z as useRootStore, dr as useAssistantStore, H as useUIStore, q as computed, dN as MAX_DISPLAY_DATA_SIZE, dO as isCommunityPackageName, c as useI18n, h as resolveComponent, ch as resolveDirective, i as createElementBlock, g as openBlock, k as createBaseVNode, f as createCommentVNode, aA as withDirectives, t as toDisplayString, j as createVNode, m as unref, dP as InlineAskAssistantButton, w as withCtx, aT as _sfc_main$b, l as createTextVNode, F as Fragment, D as renderList, dQ as NEW_ASSISTANT_SESSION_MODAL, cn as sanitizeHtml, be as N8nText, b2 as withModifiers, n as normalizeClass, _ as _export_sfc, dR as requireVue, dS as sanitizeHtml$1, dT as sanitizeHtmlExports, r as ref, Q as useWorkflowsStore, o as onMounted, bZ as jsonParse, e as createBlock, bA as useNodeHelpers, aR as N8nTooltip, aS as N8nLink, bG as N8nRadioButtons, aV as createSlots, bE as N8nIcon, bm as NodeConnectionTypes, a0 as useSourceControlStore, dz as useSchemaPreviewStore, au as usePostHog, R as useRoute, bN as toRef, bq as usePinnedData, dU as useNodeType, cM as storeToRefs, dV as TRIMMED_TASK_DATA_CONNECTIONS_KEY, dW as executionDataToJson, dX as NODE_TYPES_EXCLUDED_FROM_OUTPUT_NAME_APPEND, dY as CORE_NODES_CATEGORY, dZ as SCHEMA_PREVIEW_EXPERIMENT, d_ as computedAsync, X as watch, bH as ndvEventBus, ag as useTelemetry, y as onBeforeUnmount, aJ as useStorage, d$ as LOCAL_STORAGE_PIN_DATA_DISCOVERY_NDV_FLAG, e0 as dataPinningEventBus, e1 as LOCAL_STORAGE_PIN_DATA_DISCOVERY_CANVAS_FLAG, e2 as searchInObject, bx as getConnectionTypes, e3 as isObject, e4 as MAX_DISPLAY_DATA_SIZE_SCHEMA_VIEW, e5 as HTML_NODE_TYPE, x as renderSlot, c3 as N8nCallout, e6 as DATA_PINNING_DOCS_URL, aB as vShow, c1 as Suspense, c2 as defineAsyncComponent, b4 as normalizeProps, b7 as mergeProps, bg as N8nButton, e7 as _sfc_main$c, e8 as N8nSelect, e9 as N8nTabs, b5 as guardReactiveProps, ea as _sfc_main$d, eb as JsonEditor, ec as DATA_EDITING_DOCS_URL, dk as InfoTip, ed as N8nBlockUi, ao as __vitePreload, ee as isPresent, by as getNodeOutputs, ef as getGenericHints, eg as clearJsonKey, eh as TEST_PIN_DATA, aP as useExternalHooks, ei as isEmpty, ej as isEqual } from "./index-B7FgXPOI.js";
3
- import { F as FileSaver_minExports } from "./FileSaver.min-DmkzTNV9.js";
4
- import { u as useExecutionHelpers } from "./useExecutionHelpers-BWNgdgwx.js";
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunDataTable-oi_l8dhA.js","assets/index-B6eunbxp.js","assets/index-DCpy4nCU.css","assets/useExecutionHelpers-DIvhViMz.js","assets/dateFormatter-C8N5khiG.js","assets/RunDataTable-CUxj7dHx.css","assets/RunDataJson-Pev6yNEV.js","assets/FileSaver.min-BzAtcQXX.js","assets/RunDataJson-BH9HLoGC.css","assets/RunDataParsedAiContent-D6MNLmT3.js","assets/RunDataParsedAiContent-9EEUzCKp.css","assets/RunDataSearch-C8orcAlP.js","assets/RunDataSearch-R6qtl0Jf.css"])))=>i.map(i=>d[i]);
2
+ import { dN as hasKey, cv as getDefaultExportFromCjs, dO as AGENT_LANGCHAIN_NODE_TYPE, b1 as isRef, dP as isReactive, dQ as isProxy, df as toRaw, d as defineComponent, bf as useClipboard, a as useToast, dR as useAIAssistantHelpers, bz as useNodeTypesStore, as as useNDVStore, Z as useRootStore, dC as useAssistantStore, H as useUIStore, q as computed, dS as MAX_DISPLAY_DATA_SIZE, dT as isCommunityPackageName, c as useI18n, h as resolveComponent, cm as resolveDirective, i as createElementBlock, g as openBlock, n as normalizeClass, k as createBaseVNode, f as createCommentVNode, aA as withDirectives, t as toDisplayString, j as createVNode, m as unref, dU as InlineAskAssistantButton, w as withCtx, aT as _sfc_main$b, l as createTextVNode, F as Fragment, D as renderList, dV as NEW_ASSISTANT_SESSION_MODAL, cs as sanitizeHtml, bm as NodeConnectionTypes, dW as isObjectEmpty, be as N8nText, b2 as withModifiers, _ as _export_sfc, dX as requireVue, dY as sanitizeHtml$1, dZ as sanitizeHtmlExports, r as ref, Q as useWorkflowsStore, o as onMounted, b_ as jsonParse, e as createBlock, bA as useNodeHelpers, aR as N8nTooltip, aS as N8nLink, X as watch, bG as N8nRadioButtons, aV as createSlots, bE as N8nIcon, a0 as useSourceControlStore, dD as useSchemaPreviewStore, au as usePostHog, R as useRoute, bN as toRef, bq as usePinnedData, d_ as useNodeType, cR as storeToRefs, d$ as TRIMMED_TASK_DATA_CONNECTIONS_KEY, e0 as executionDataToJson, e1 as NODE_TYPES_EXCLUDED_FROM_OUTPUT_NAME_APPEND, e2 as CORE_NODES_CATEGORY, e3 as SCHEMA_PREVIEW_EXPERIMENT, e4 as computedAsync, bH as ndvEventBus, ag as useTelemetry, y as onBeforeUnmount, aJ as useStorage, e5 as LOCAL_STORAGE_PIN_DATA_DISCOVERY_NDV_FLAG, e6 as dataPinningEventBus, e7 as LOCAL_STORAGE_PIN_DATA_DISCOVERY_CANVAS_FLAG, e8 as searchInObject, bx as getConnectionTypes, e9 as isObject, ea as MAX_DISPLAY_DATA_SIZE_SCHEMA_VIEW, eb as HTML_NODE_TYPE, x as renderSlot, c4 as N8nCallout, ec as DATA_PINNING_DOCS_URL, aB as vShow, c2 as Suspense, c3 as defineAsyncComponent, b4 as normalizeProps, b7 as mergeProps, bg as N8nButton, ed as _sfc_main$c, ee as N8nSelect, ef as N8nTabs, b5 as guardReactiveProps, eg as _sfc_main$d, eh as JsonEditor, ei as DATA_EDITING_DOCS_URL, dq as InfoTip, ej as N8nBlockUi, ao as __vitePreload, ek as isPresent, by as getNodeOutputs, el as getGenericHints, em as clearJsonKey, en as TEST_PIN_DATA, aP as useExternalHooks, eo as isEmpty, ep as isEqual } from "./index-B6eunbxp.js";
3
+ import { F as FileSaver_minExports } from "./FileSaver.min-BzAtcQXX.js";
4
+ import { u as useExecutionHelpers } from "./useExecutionHelpers-DIvhViMz.js";
5
5
  function responseHasSubworkflowData(response) {
6
6
  return ["executionId", "workflowId"].every(
7
7
  (x) => hasKey(response, x) && typeof response[x] === "string"
@@ -1778,8 +1778,8 @@ function findLogEntryToAutoSelectRec(data, subTree, depth) {
1778
1778
  return depth === 0 ? subTree[0] : void 0;
1779
1779
  }
1780
1780
  function createLogEntries(workflow, runData) {
1781
- const runs = Object.entries(runData).filter(([nodeName]) => workflow.getChildNodes(nodeName, "ALL_NON_MAIN").length === 0).flatMap(
1782
- ([nodeName, taskData]) => taskData.map((task, runIndex) => ({ nodeName, task, runIndex }))
1781
+ const runs = Object.entries(runData).flatMap(
1782
+ ([nodeName, taskData]) => workflow.getChildNodes(nodeName, "ALL_NON_MAIN").length > 0 || workflow.getNode(nodeName)?.disabled ? [] : taskData.map((task, runIndex) => ({ nodeName, task, runIndex }))
1783
1783
  ).sort((a, b) => {
1784
1784
  if (a.task.executionIndex !== void 0 && b.task.executionIndex !== void 0) {
1785
1785
  return a.task.executionIndex - b.task.executionIndex;
@@ -1802,7 +1802,14 @@ function findSelectedLogEntry(state, execution) {
1802
1802
  return state.type === "initial" || state.workflowId !== execution?.workflowData.id || state.type === "selected" && !includesLogEntry(state.data, execution.tree) ? execution ? findLogEntryToAutoSelectRec(execution, execution.tree, 0) : void 0 : state.type === "none" ? void 0 : state.data;
1803
1803
  }
1804
1804
  function deepToRaw(sourceObj) {
1805
+ const seen = /* @__PURE__ */ new WeakMap();
1805
1806
  const objectIterator = (input) => {
1807
+ if (seen.has(input)) {
1808
+ return input;
1809
+ }
1810
+ if (input !== null && typeof input === "object") {
1811
+ seen.set(input, true);
1812
+ }
1806
1813
  if (Array.isArray(input)) {
1807
1814
  return input.map((item) => objectIterator(item));
1808
1815
  }
@@ -1828,131 +1835,131 @@ function flattenLogEntries(entries, collapsedEntryIds, ret = []) {
1828
1835
  }
1829
1836
  return ret;
1830
1837
  }
1831
- const _hoisted_1$8 = { class: "node-error-view" };
1832
- const _hoisted_2$4 = { class: "node-error-view__header" };
1833
- const _hoisted_3$3 = {
1838
+ const _hoisted_1$8 = { class: "node-error-view__header" };
1839
+ const _hoisted_2$4 = {
1834
1840
  class: "node-error-view__header-message",
1835
1841
  "data-test-id": "node-error-message"
1836
1842
  };
1837
- const _hoisted_4$3 = {
1843
+ const _hoisted_3$3 = {
1838
1844
  key: 0,
1839
1845
  "data-test-id": "node-error-description",
1840
1846
  class: "node-error-view__header-description"
1841
1847
  };
1842
- const _hoisted_5$3 = { key: 1 };
1843
- const _hoisted_6$2 = {
1848
+ const _hoisted_4$3 = { key: 1 };
1849
+ const _hoisted_5$3 = {
1844
1850
  key: 2,
1845
1851
  class: "node-error-view__button",
1846
1852
  "data-test-id": "node-error-view-ask-assistant-button"
1847
1853
  };
1848
- const _hoisted_7$2 = {
1854
+ const _hoisted_6$2 = {
1849
1855
  key: 0,
1850
1856
  class: "node-error-view__info"
1851
1857
  };
1852
- const _hoisted_8$2 = { class: "node-error-view__info-header" };
1853
- const _hoisted_9$2 = { class: "node-error-view__info-title" };
1854
- const _hoisted_10 = { class: "copy-button" };
1855
- const _hoisted_11 = { class: "node-error-view__info-content" };
1856
- const _hoisted_12 = {
1858
+ const _hoisted_7$2 = { class: "node-error-view__info-header" };
1859
+ const _hoisted_8$2 = { class: "node-error-view__info-title" };
1860
+ const _hoisted_9$2 = { class: "copy-button" };
1861
+ const _hoisted_10 = { class: "node-error-view__info-content" };
1862
+ const _hoisted_11 = {
1857
1863
  key: 0,
1858
1864
  class: "node-error-view__details"
1859
1865
  };
1860
- const _hoisted_13 = { class: "node-error-view__details-summary" };
1861
- const _hoisted_14 = { class: "node-error-view__details-content" };
1862
- const _hoisted_15 = {
1866
+ const _hoisted_12 = { class: "node-error-view__details-summary" };
1867
+ const _hoisted_13 = { class: "node-error-view__details-content" };
1868
+ const _hoisted_14 = {
1863
1869
  key: 0,
1864
1870
  class: "node-error-view__details-row"
1865
1871
  };
1866
- const _hoisted_16 = { class: "node-error-view__details-label" };
1867
- const _hoisted_17 = { class: "node-error-view__details-value" };
1868
- const _hoisted_18 = {
1872
+ const _hoisted_15 = { class: "node-error-view__details-label" };
1873
+ const _hoisted_16 = { class: "node-error-view__details-value" };
1874
+ const _hoisted_17 = {
1869
1875
  key: 1,
1870
1876
  class: "node-error-view__details-row"
1871
1877
  };
1872
- const _hoisted_19 = { class: "node-error-view__details-label" };
1873
- const _hoisted_20 = { class: "node-error-view__details-value" };
1874
- const _hoisted_21 = {
1878
+ const _hoisted_18 = { class: "node-error-view__details-label" };
1879
+ const _hoisted_19 = { class: "node-error-view__details-value" };
1880
+ const _hoisted_20 = {
1875
1881
  key: 2,
1876
1882
  class: "node-error-view__details-row"
1877
1883
  };
1878
- const _hoisted_22 = { class: "node-error-view__details-label" };
1879
- const _hoisted_23 = { class: "node-error-view__details-value" };
1880
- const _hoisted_24 = {
1884
+ const _hoisted_21 = { class: "node-error-view__details-label" };
1885
+ const _hoisted_22 = { class: "node-error-view__details-value" };
1886
+ const _hoisted_23 = {
1881
1887
  key: 3,
1882
1888
  class: "node-error-view__details-row"
1883
1889
  };
1884
- const _hoisted_25 = { class: "node-error-view__details-label" };
1885
- const _hoisted_26 = { class: "node-error-view__details-value" };
1886
- const _hoisted_27 = {
1890
+ const _hoisted_24 = { class: "node-error-view__details-label" };
1891
+ const _hoisted_25 = { class: "node-error-view__details-value" };
1892
+ const _hoisted_26 = {
1887
1893
  key: 4,
1888
1894
  class: "node-error-view__details-row"
1889
1895
  };
1890
- const _hoisted_28 = { class: "node-error-view__details-label" };
1891
- const _hoisted_29 = { class: "node-error-view__details-value" };
1892
- const _hoisted_30 = { class: "node-error-view__details" };
1893
- const _hoisted_31 = { class: "node-error-view__details-summary" };
1894
- const _hoisted_32 = { class: "node-error-view__details-content" };
1895
- const _hoisted_33 = {
1896
+ const _hoisted_27 = { class: "node-error-view__details-label" };
1897
+ const _hoisted_28 = { class: "node-error-view__details-value" };
1898
+ const _hoisted_29 = { class: "node-error-view__details" };
1899
+ const _hoisted_30 = { class: "node-error-view__details-summary" };
1900
+ const _hoisted_31 = { class: "node-error-view__details-content" };
1901
+ const _hoisted_32 = {
1896
1902
  key: 0,
1897
1903
  class: "node-error-view__details-row"
1898
1904
  };
1899
- const _hoisted_34 = { class: "node-error-view__details-label" };
1900
- const _hoisted_35 = { class: "node-error-view__details-value" };
1901
- const _hoisted_36 = {
1905
+ const _hoisted_33 = { class: "node-error-view__details-label" };
1906
+ const _hoisted_34 = { class: "node-error-view__details-value" };
1907
+ const _hoisted_35 = {
1902
1908
  key: 1,
1903
1909
  class: "node-error-view__details-row"
1904
1910
  };
1905
- const _hoisted_37 = { class: "node-error-view__details-label" };
1906
- const _hoisted_38 = { class: "node-error-view__details-value" };
1907
- const _hoisted_39 = {
1911
+ const _hoisted_36 = { class: "node-error-view__details-label" };
1912
+ const _hoisted_37 = { class: "node-error-view__details-value" };
1913
+ const _hoisted_38 = {
1908
1914
  key: 2,
1909
1915
  class: "node-error-view__details-row"
1910
1916
  };
1911
- const _hoisted_40 = { class: "node-error-view__details-label" };
1912
- const _hoisted_41 = { class: "node-error-view__details-value" };
1913
- const _hoisted_42 = {
1917
+ const _hoisted_39 = { class: "node-error-view__details-label" };
1918
+ const _hoisted_40 = { class: "node-error-view__details-value" };
1919
+ const _hoisted_41 = {
1914
1920
  key: 3,
1915
1921
  class: "node-error-view__details-row"
1916
1922
  };
1917
- const _hoisted_43 = { class: "node-error-view__details-label" };
1918
- const _hoisted_44 = { class: "node-error-view__details-value" };
1919
- const _hoisted_45 = {
1923
+ const _hoisted_42 = { class: "node-error-view__details-label" };
1924
+ const _hoisted_43 = { class: "node-error-view__details-value" };
1925
+ const _hoisted_44 = {
1920
1926
  key: 4,
1921
1927
  class: "node-error-view__details-row"
1922
1928
  };
1923
- const _hoisted_46 = { class: "node-error-view__details-label" };
1924
- const _hoisted_47 = { class: "node-error-view__details-value" };
1925
- const _hoisted_48 = { class: "node-error-view__details-row" };
1926
- const _hoisted_49 = { class: "node-error-view__details-label" };
1927
- const _hoisted_50 = { class: "node-error-view__details-value" };
1928
- const _hoisted_51 = {
1929
+ const _hoisted_45 = { class: "node-error-view__details-label" };
1930
+ const _hoisted_46 = { class: "node-error-view__details-value" };
1931
+ const _hoisted_47 = { class: "node-error-view__details-row" };
1932
+ const _hoisted_48 = { class: "node-error-view__details-label" };
1933
+ const _hoisted_49 = { class: "node-error-view__details-value" };
1934
+ const _hoisted_50 = {
1929
1935
  key: 5,
1930
1936
  class: "node-error-view__details-row"
1931
1937
  };
1932
- const _hoisted_52 = { class: "node-error-view__details-label" };
1933
- const _hoisted_53 = { class: "node-error-view__details-value" };
1934
- const _hoisted_54 = {
1938
+ const _hoisted_51 = { class: "node-error-view__details-label" };
1939
+ const _hoisted_52 = { class: "node-error-view__details-value" };
1940
+ const _hoisted_53 = {
1935
1941
  key: 6,
1936
1942
  class: "node-error-view__details-row"
1937
1943
  };
1938
- const _hoisted_55 = { class: "node-error-view__details-label" };
1939
- const _hoisted_56 = { class: "node-error-view__details-value" };
1940
- const _hoisted_57 = {
1944
+ const _hoisted_54 = { class: "node-error-view__details-label" };
1945
+ const _hoisted_55 = { class: "node-error-view__details-value" };
1946
+ const _hoisted_56 = {
1941
1947
  key: 7,
1942
1948
  class: "node-error-view__details-row"
1943
1949
  };
1944
- const _hoisted_58 = { class: "node-error-view__details-label" };
1945
- const _hoisted_59 = { class: "node-error-view__details-value" };
1946
- const _hoisted_60 = {
1950
+ const _hoisted_57 = { class: "node-error-view__details-label" };
1951
+ const _hoisted_58 = { class: "node-error-view__details-value" };
1952
+ const _hoisted_59 = {
1947
1953
  key: 8,
1948
1954
  class: "node-error-view__details-row"
1949
1955
  };
1950
- const _hoisted_61 = { class: "node-error-view__details-label" };
1951
- const _hoisted_62 = { class: "node-error-view__details-value" };
1956
+ const _hoisted_60 = { class: "node-error-view__details-label" };
1957
+ const _hoisted_61 = { class: "node-error-view__details-value" };
1952
1958
  const _sfc_main$a = /* @__PURE__ */ defineComponent({
1953
1959
  __name: "NodeErrorView",
1954
1960
  props: {
1955
1961
  error: {},
1962
+ showDetails: { type: Boolean },
1956
1963
  compact: { type: Boolean }
1957
1964
  },
1958
1965
  setup(__props) {
@@ -2254,15 +2261,17 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2254
2261
  const _component_n8n_tooltip = resolveComponent("n8n-tooltip");
2255
2262
  const _component_font_awesome_icon = resolveComponent("font-awesome-icon");
2256
2263
  const _directive_n8n_html = resolveDirective("n8n-html");
2257
- return openBlock(), createElementBlock("div", _hoisted_1$8, [
2258
- createBaseVNode("div", _hoisted_2$4, [
2259
- createBaseVNode("div", _hoisted_3$3, [
2264
+ return openBlock(), createElementBlock("div", {
2265
+ class: normalizeClass(["node-error-view", props.compact ? "node-error-view_compact" : ""])
2266
+ }, [
2267
+ createBaseVNode("div", _hoisted_1$8, [
2268
+ createBaseVNode("div", _hoisted_2$4, [
2260
2269
  createBaseVNode("div", null, toDisplayString(getErrorMessage()), 1)
2261
2270
  ]),
2262
- (_ctx.error.description || _ctx.error.context?.descriptionKey) && !isSubNodeError.value ? withDirectives((openBlock(), createElementBlock("div", _hoisted_4$3, null, 512)), [
2271
+ (_ctx.error.description || _ctx.error.context?.descriptionKey) && !isSubNodeError.value ? withDirectives((openBlock(), createElementBlock("div", _hoisted_3$3, null, 512)), [
2263
2272
  [_directive_n8n_html, getErrorDescription()]
2264
2273
  ]) : createCommentVNode("", true),
2265
- isSubNodeError.value ? (openBlock(), createElementBlock("div", _hoisted_5$3, [
2274
+ isSubNodeError.value ? (openBlock(), createElementBlock("div", _hoisted_4$3, [
2266
2275
  createVNode(_component_n8n_button, {
2267
2276
  icon: "arrow-right",
2268
2277
  type: "secondary",
@@ -2272,23 +2281,23 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2272
2281
  onClick: onOpenErrorNodeDetailClick
2273
2282
  }, null, 8, ["label"])
2274
2283
  ])) : createCommentVNode("", true),
2275
- isAskAssistantAvailable.value ? (openBlock(), createElementBlock("div", _hoisted_6$2, [
2284
+ isAskAssistantAvailable.value ? (openBlock(), createElementBlock("div", _hoisted_5$3, [
2276
2285
  createVNode(InlineAskAssistantButton, {
2277
2286
  asked: assistantAlreadyAsked.value,
2278
2287
  onClick: onAskAssistantClick
2279
2288
  }, null, 8, ["asked"])
2280
2289
  ])) : createCommentVNode("", true)
2281
2290
  ]),
2282
- !_ctx.compact ? (openBlock(), createElementBlock("div", _hoisted_7$2, [
2283
- createBaseVNode("div", _hoisted_8$2, [
2284
- createBaseVNode("p", _hoisted_9$2, toDisplayString(unref(i18n).baseText("nodeErrorView.details.title")), 1),
2291
+ _ctx.showDetails ? (openBlock(), createElementBlock("div", _hoisted_6$2, [
2292
+ createBaseVNode("div", _hoisted_7$2, [
2293
+ createBaseVNode("p", _hoisted_8$2, toDisplayString(unref(i18n).baseText("nodeErrorView.details.title")), 1),
2285
2294
  createVNode(_component_n8n_tooltip, {
2286
2295
  class: "item",
2287
2296
  content: unref(i18n).baseText("nodeErrorView.copyToClipboard.tooltip"),
2288
2297
  placement: "left"
2289
2298
  }, {
2290
2299
  default: withCtx(() => [
2291
- createBaseVNode("div", _hoisted_10, [
2300
+ createBaseVNode("div", _hoisted_9$2, [
2292
2301
  createVNode(unref(_sfc_main$b), {
2293
2302
  icon: "copy",
2294
2303
  type: "secondary",
@@ -2302,9 +2311,9 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2302
2311
  _: 1
2303
2312
  }, 8, ["content"])
2304
2313
  ]),
2305
- createBaseVNode("div", _hoisted_11, [
2306
- "httpCode" in _ctx.error && _ctx.error.httpCode || prepareRawMessages.value.length || _ctx.error?.context?.data || _ctx.error.extra ? (openBlock(), createElementBlock("details", _hoisted_12, [
2307
- createBaseVNode("summary", _hoisted_13, [
2314
+ createBaseVNode("div", _hoisted_10, [
2315
+ "httpCode" in _ctx.error && _ctx.error.httpCode || prepareRawMessages.value.length || _ctx.error?.context?.data || _ctx.error.extra ? (openBlock(), createElementBlock("details", _hoisted_11, [
2316
+ createBaseVNode("summary", _hoisted_12, [
2308
2317
  createVNode(_component_font_awesome_icon, {
2309
2318
  class: "node-error-view__details-icon",
2310
2319
  icon: "angle-right"
@@ -2313,16 +2322,16 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2313
2322
  interpolate: { node: `${nodeDefaultName.value}` }
2314
2323
  })), 1)
2315
2324
  ]),
2316
- createBaseVNode("div", _hoisted_14, [
2317
- "httpCode" in _ctx.error && _ctx.error.httpCode ? (openBlock(), createElementBlock("div", _hoisted_15, [
2318
- createBaseVNode("p", _hoisted_16, toDisplayString(unref(i18n).baseText("nodeErrorView.errorCode")), 1),
2319
- createBaseVNode("p", _hoisted_17, [
2325
+ createBaseVNode("div", _hoisted_13, [
2326
+ "httpCode" in _ctx.error && _ctx.error.httpCode ? (openBlock(), createElementBlock("div", _hoisted_14, [
2327
+ createBaseVNode("p", _hoisted_15, toDisplayString(unref(i18n).baseText("nodeErrorView.errorCode")), 1),
2328
+ createBaseVNode("p", _hoisted_16, [
2320
2329
  createBaseVNode("code", null, toDisplayString(_ctx.error.httpCode), 1)
2321
2330
  ])
2322
2331
  ])) : createCommentVNode("", true),
2323
- prepareRawMessages.value.length ? (openBlock(), createElementBlock("div", _hoisted_18, [
2324
- createBaseVNode("p", _hoisted_19, toDisplayString(unref(i18n).baseText("nodeErrorView.details.rawMessages")), 1),
2325
- createBaseVNode("div", _hoisted_20, [
2332
+ prepareRawMessages.value.length ? (openBlock(), createElementBlock("div", _hoisted_17, [
2333
+ createBaseVNode("p", _hoisted_18, toDisplayString(unref(i18n).baseText("nodeErrorView.details.rawMessages")), 1),
2334
+ createBaseVNode("div", _hoisted_19, [
2326
2335
  (openBlock(true), createElementBlock(Fragment, null, renderList(prepareRawMessages.value, (msg, index) => {
2327
2336
  return openBlock(), createElementBlock("div", { key: index }, [
2328
2337
  createBaseVNode("pre", null, [
@@ -2332,25 +2341,25 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2332
2341
  }), 128))
2333
2342
  ])
2334
2343
  ])) : createCommentVNode("", true),
2335
- _ctx.error?.context?.data ? (openBlock(), createElementBlock("div", _hoisted_21, [
2336
- createBaseVNode("p", _hoisted_22, toDisplayString(unref(i18n).baseText("nodeErrorView.details.errorData")), 1),
2337
- createBaseVNode("div", _hoisted_23, [
2344
+ _ctx.error?.context?.data ? (openBlock(), createElementBlock("div", _hoisted_20, [
2345
+ createBaseVNode("p", _hoisted_21, toDisplayString(unref(i18n).baseText("nodeErrorView.details.errorData")), 1),
2346
+ createBaseVNode("div", _hoisted_22, [
2338
2347
  createBaseVNode("pre", null, [
2339
2348
  createBaseVNode("code", null, toDisplayString(_ctx.error.context.data), 1)
2340
2349
  ])
2341
2350
  ])
2342
2351
  ])) : createCommentVNode("", true),
2343
- _ctx.error.extra ? (openBlock(), createElementBlock("div", _hoisted_24, [
2344
- createBaseVNode("p", _hoisted_25, toDisplayString(unref(i18n).baseText("nodeErrorView.details.errorExtra")), 1),
2345
- createBaseVNode("div", _hoisted_26, [
2352
+ _ctx.error.extra ? (openBlock(), createElementBlock("div", _hoisted_23, [
2353
+ createBaseVNode("p", _hoisted_24, toDisplayString(unref(i18n).baseText("nodeErrorView.details.errorExtra")), 1),
2354
+ createBaseVNode("div", _hoisted_25, [
2346
2355
  createBaseVNode("pre", null, [
2347
2356
  createBaseVNode("code", null, toDisplayString(_ctx.error.extra), 1)
2348
2357
  ])
2349
2358
  ])
2350
2359
  ])) : createCommentVNode("", true),
2351
- _ctx.error.context && _ctx.error.context.request ? (openBlock(), createElementBlock("div", _hoisted_27, [
2352
- createBaseVNode("p", _hoisted_28, toDisplayString(unref(i18n).baseText("nodeErrorView.details.request")), 1),
2353
- createBaseVNode("div", _hoisted_29, [
2360
+ _ctx.error.context && _ctx.error.context.request ? (openBlock(), createElementBlock("div", _hoisted_26, [
2361
+ createBaseVNode("p", _hoisted_27, toDisplayString(unref(i18n).baseText("nodeErrorView.details.request")), 1),
2362
+ createBaseVNode("div", _hoisted_28, [
2354
2363
  createBaseVNode("pre", null, [
2355
2364
  createBaseVNode("code", null, toDisplayString(_ctx.error.context.request), 1)
2356
2365
  ])
@@ -2358,75 +2367,75 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2358
2367
  ])) : createCommentVNode("", true)
2359
2368
  ])
2360
2369
  ])) : createCommentVNode("", true),
2361
- createBaseVNode("details", _hoisted_30, [
2362
- createBaseVNode("summary", _hoisted_31, [
2370
+ createBaseVNode("details", _hoisted_29, [
2371
+ createBaseVNode("summary", _hoisted_30, [
2363
2372
  createVNode(_component_font_awesome_icon, {
2364
2373
  class: "node-error-view__details-icon",
2365
2374
  icon: "angle-right"
2366
2375
  }),
2367
2376
  createTextVNode(" " + toDisplayString(unref(i18n).baseText("nodeErrorView.details.info")), 1)
2368
2377
  ]),
2369
- createBaseVNode("div", _hoisted_32, [
2370
- _ctx.error.context && _ctx.error.context.itemIndex !== void 0 ? (openBlock(), createElementBlock("div", _hoisted_33, [
2371
- createBaseVNode("p", _hoisted_34, toDisplayString(unref(i18n).baseText("nodeErrorView.itemIndex")), 1),
2372
- createBaseVNode("p", _hoisted_35, [
2378
+ createBaseVNode("div", _hoisted_31, [
2379
+ _ctx.error.context && _ctx.error.context.itemIndex !== void 0 ? (openBlock(), createElementBlock("div", _hoisted_32, [
2380
+ createBaseVNode("p", _hoisted_33, toDisplayString(unref(i18n).baseText("nodeErrorView.itemIndex")), 1),
2381
+ createBaseVNode("p", _hoisted_34, [
2373
2382
  createBaseVNode("code", null, toDisplayString(_ctx.error.context.itemIndex), 1)
2374
2383
  ])
2375
2384
  ])) : createCommentVNode("", true),
2376
- _ctx.error.context && _ctx.error.context.runIndex !== void 0 ? (openBlock(), createElementBlock("div", _hoisted_36, [
2377
- createBaseVNode("p", _hoisted_37, toDisplayString(unref(i18n).baseText("nodeErrorView.runIndex")), 1),
2378
- createBaseVNode("p", _hoisted_38, [
2385
+ _ctx.error.context && _ctx.error.context.runIndex !== void 0 ? (openBlock(), createElementBlock("div", _hoisted_35, [
2386
+ createBaseVNode("p", _hoisted_36, toDisplayString(unref(i18n).baseText("nodeErrorView.runIndex")), 1),
2387
+ createBaseVNode("p", _hoisted_37, [
2379
2388
  createBaseVNode("code", null, toDisplayString(_ctx.error.context.runIndex), 1)
2380
2389
  ])
2381
2390
  ])) : createCommentVNode("", true),
2382
- _ctx.error.context && _ctx.error.context.parameter !== void 0 ? (openBlock(), createElementBlock("div", _hoisted_39, [
2383
- createBaseVNode("p", _hoisted_40, toDisplayString(unref(i18n).baseText("nodeErrorView.inParameter")), 1),
2384
- createBaseVNode("p", _hoisted_41, [
2391
+ _ctx.error.context && _ctx.error.context.parameter !== void 0 ? (openBlock(), createElementBlock("div", _hoisted_38, [
2392
+ createBaseVNode("p", _hoisted_39, toDisplayString(unref(i18n).baseText("nodeErrorView.inParameter")), 1),
2393
+ createBaseVNode("p", _hoisted_40, [
2385
2394
  createBaseVNode("code", null, toDisplayString(parameterDisplayName(`${_ctx.error.context.parameter}`)), 1)
2386
2395
  ])
2387
2396
  ])) : createCommentVNode("", true),
2388
- _ctx.error.node && _ctx.error.node.type ? (openBlock(), createElementBlock("div", _hoisted_42, [
2389
- createBaseVNode("p", _hoisted_43, toDisplayString(unref(i18n).baseText("nodeErrorView.details.nodeType")), 1),
2390
- createBaseVNode("p", _hoisted_44, [
2397
+ _ctx.error.node && _ctx.error.node.type ? (openBlock(), createElementBlock("div", _hoisted_41, [
2398
+ createBaseVNode("p", _hoisted_42, toDisplayString(unref(i18n).baseText("nodeErrorView.details.nodeType")), 1),
2399
+ createBaseVNode("p", _hoisted_43, [
2391
2400
  createBaseVNode("code", null, toDisplayString(_ctx.error.node.type), 1)
2392
2401
  ])
2393
2402
  ])) : createCommentVNode("", true),
2394
- _ctx.error.node && _ctx.error.node.typeVersion ? (openBlock(), createElementBlock("div", _hoisted_45, [
2395
- createBaseVNode("p", _hoisted_46, toDisplayString(unref(i18n).baseText("nodeErrorView.details.nodeVersion")), 1),
2396
- createBaseVNode("p", _hoisted_47, [
2403
+ _ctx.error.node && _ctx.error.node.typeVersion ? (openBlock(), createElementBlock("div", _hoisted_44, [
2404
+ createBaseVNode("p", _hoisted_45, toDisplayString(unref(i18n).baseText("nodeErrorView.details.nodeVersion")), 1),
2405
+ createBaseVNode("p", _hoisted_46, [
2397
2406
  createBaseVNode("code", null, [
2398
2407
  createBaseVNode("span", null, toDisplayString(_ctx.error.node.typeVersion + " "), 1),
2399
2408
  createBaseVNode("span", null, "(" + toDisplayString(nodeVersionTag(_ctx.error.node)) + ")", 1)
2400
2409
  ])
2401
2410
  ])
2402
2411
  ])) : createCommentVNode("", true),
2403
- createBaseVNode("div", _hoisted_48, [
2404
- createBaseVNode("p", _hoisted_49, toDisplayString(unref(i18n).baseText("nodeErrorView.details.n8nVersion")), 1),
2405
- createBaseVNode("p", _hoisted_50, [
2412
+ createBaseVNode("div", _hoisted_47, [
2413
+ createBaseVNode("p", _hoisted_48, toDisplayString(unref(i18n).baseText("nodeErrorView.details.n8nVersion")), 1),
2414
+ createBaseVNode("p", _hoisted_49, [
2406
2415
  createBaseVNode("code", null, toDisplayString(n8nVersion.value), 1)
2407
2416
  ])
2408
2417
  ]),
2409
- _ctx.error.timestamp ? (openBlock(), createElementBlock("div", _hoisted_51, [
2410
- createBaseVNode("p", _hoisted_52, toDisplayString(unref(i18n).baseText("nodeErrorView.time")), 1),
2411
- createBaseVNode("p", _hoisted_53, [
2418
+ _ctx.error.timestamp ? (openBlock(), createElementBlock("div", _hoisted_50, [
2419
+ createBaseVNode("p", _hoisted_51, toDisplayString(unref(i18n).baseText("nodeErrorView.time")), 1),
2420
+ createBaseVNode("p", _hoisted_52, [
2412
2421
  createBaseVNode("code", null, toDisplayString(new Date(_ctx.error.timestamp).toLocaleString()), 1)
2413
2422
  ])
2414
2423
  ])) : createCommentVNode("", true),
2415
- _ctx.error.cause && displayCause.value ? (openBlock(), createElementBlock("div", _hoisted_54, [
2416
- createBaseVNode("p", _hoisted_55, toDisplayString(unref(i18n).baseText("nodeErrorView.details.errorCause")), 1),
2417
- createBaseVNode("pre", _hoisted_56, [
2424
+ _ctx.error.cause && displayCause.value ? (openBlock(), createElementBlock("div", _hoisted_53, [
2425
+ createBaseVNode("p", _hoisted_54, toDisplayString(unref(i18n).baseText("nodeErrorView.details.errorCause")), 1),
2426
+ createBaseVNode("pre", _hoisted_55, [
2418
2427
  createBaseVNode("code", null, toDisplayString(_ctx.error.cause), 1)
2419
2428
  ])
2420
2429
  ])) : createCommentVNode("", true),
2421
- _ctx.error.context && _ctx.error.context.causeDetailed ? (openBlock(), createElementBlock("div", _hoisted_57, [
2422
- createBaseVNode("p", _hoisted_58, toDisplayString(unref(i18n).baseText("nodeErrorView.details.causeDetailed")), 1),
2423
- createBaseVNode("pre", _hoisted_59, [
2430
+ _ctx.error.context && _ctx.error.context.causeDetailed ? (openBlock(), createElementBlock("div", _hoisted_56, [
2431
+ createBaseVNode("p", _hoisted_57, toDisplayString(unref(i18n).baseText("nodeErrorView.details.causeDetailed")), 1),
2432
+ createBaseVNode("pre", _hoisted_58, [
2424
2433
  createBaseVNode("code", null, toDisplayString(_ctx.error.context.causeDetailed), 1)
2425
2434
  ])
2426
2435
  ])) : createCommentVNode("", true),
2427
- _ctx.error.stack ? (openBlock(), createElementBlock("div", _hoisted_60, [
2428
- createBaseVNode("p", _hoisted_61, toDisplayString(unref(i18n).baseText("nodeErrorView.details.stackTrace")), 1),
2429
- createBaseVNode("pre", _hoisted_62, [
2436
+ _ctx.error.stack ? (openBlock(), createElementBlock("div", _hoisted_59, [
2437
+ createBaseVNode("p", _hoisted_60, toDisplayString(unref(i18n).baseText("nodeErrorView.details.stackTrace")), 1),
2438
+ createBaseVNode("pre", _hoisted_61, [
2430
2439
  createBaseVNode("code", null, toDisplayString(_ctx.error.stack), 1)
2431
2440
  ])
2432
2441
  ])) : createCommentVNode("", true)
@@ -2434,10 +2443,155 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2434
2443
  ])
2435
2444
  ])
2436
2445
  ])) : createCommentVNode("", true)
2437
- ]);
2446
+ ], 2);
2438
2447
  };
2439
2448
  }
2440
2449
  });
2450
+ const fallbackParser = (execData) => ({
2451
+ type: "json",
2452
+ data: execData,
2453
+ parsed: false
2454
+ });
2455
+ const outputTypeParsers = {
2456
+ [NodeConnectionTypes.AiLanguageModel](execData) {
2457
+ const response = execData.response ?? execData;
2458
+ if (!response) throw new Error("No response from Language Model");
2459
+ if (Array.isArray(response?.messages) && response?.messages.length === 1 && typeof response?.messages[0] === "string") {
2460
+ return {
2461
+ type: "text",
2462
+ data: response.messages[0],
2463
+ parsed: true
2464
+ };
2465
+ }
2466
+ if (response.messages && Array.isArray(response.messages)) {
2467
+ return outputTypeParsers[NodeConnectionTypes.AiMemory](execData);
2468
+ }
2469
+ if (response.generations) {
2470
+ const generations = response.generations;
2471
+ const content = generations.map((generation) => {
2472
+ if (generation?.text) return generation.text;
2473
+ if (Array.isArray(generation)) {
2474
+ return generation.map((item) => item.text ?? item).join("\n\n").trim();
2475
+ }
2476
+ return generation;
2477
+ });
2478
+ return {
2479
+ type: "json",
2480
+ data: content,
2481
+ parsed: true
2482
+ };
2483
+ }
2484
+ return {
2485
+ type: "json",
2486
+ data: response,
2487
+ parsed: true
2488
+ };
2489
+ },
2490
+ [NodeConnectionTypes.AiTool]: fallbackParser,
2491
+ [NodeConnectionTypes.AiAgent]: fallbackParser,
2492
+ [NodeConnectionTypes.AiMemory](execData) {
2493
+ const chatHistory = execData.chatHistory ?? execData.messages ?? execData?.response?.chat_history;
2494
+ if (Array.isArray(chatHistory)) {
2495
+ const responseText = chatHistory.map((content) => {
2496
+ if (content.type === "constructor" && content.id?.includes("messages") && content.kwargs) {
2497
+ let message = String(content.kwargs.content);
2498
+ if (Array.isArray(message)) {
2499
+ message = message.map((item) => {
2500
+ const { type, image_url } = item;
2501
+ if (type === "image_url" && typeof image_url === "object" && typeof image_url.url === "string") {
2502
+ return `![Input image](${image_url.url})`;
2503
+ } else if (typeof image_url === "string") {
2504
+ return `![Input image](${image_url})`;
2505
+ }
2506
+ return item.text;
2507
+ }).join("\n");
2508
+ }
2509
+ if (Object.keys(content.kwargs.additional_kwargs).length) {
2510
+ message += ` (${JSON.stringify(content.kwargs.additional_kwargs)})`;
2511
+ }
2512
+ if (content.id.includes("HumanMessage")) {
2513
+ message = `**Human:** ${String(message).trim()}`;
2514
+ } else if (content.id.includes("AIMessage")) {
2515
+ message = `**AI:** ${message}`;
2516
+ } else if (content.id.includes("SystemMessage")) {
2517
+ message = `**System Message:** ${message}`;
2518
+ }
2519
+ return message;
2520
+ }
2521
+ return "";
2522
+ }).join("\n\n");
2523
+ if (responseText.length === 0) {
2524
+ return fallbackParser(execData);
2525
+ }
2526
+ return {
2527
+ type: "markdown",
2528
+ data: responseText,
2529
+ parsed: true
2530
+ };
2531
+ }
2532
+ return fallbackParser(execData);
2533
+ },
2534
+ [NodeConnectionTypes.AiOutputParser]: fallbackParser,
2535
+ [NodeConnectionTypes.AiRetriever]: fallbackParser,
2536
+ [NodeConnectionTypes.AiVectorStore](execData) {
2537
+ if (execData.documents) {
2538
+ return {
2539
+ type: "json",
2540
+ data: execData.documents,
2541
+ parsed: true
2542
+ };
2543
+ }
2544
+ return fallbackParser(execData);
2545
+ },
2546
+ [NodeConnectionTypes.AiEmbedding](execData) {
2547
+ if (execData.documents) {
2548
+ return {
2549
+ type: "json",
2550
+ data: execData.documents,
2551
+ parsed: true
2552
+ };
2553
+ }
2554
+ return fallbackParser(execData);
2555
+ },
2556
+ [NodeConnectionTypes.AiDocument](execData) {
2557
+ if (execData.documents) {
2558
+ return {
2559
+ type: "json",
2560
+ data: execData.documents,
2561
+ parsed: true
2562
+ };
2563
+ }
2564
+ return fallbackParser(execData);
2565
+ },
2566
+ [NodeConnectionTypes.AiTextSplitter](execData) {
2567
+ const arrayData = Array.isArray(execData.response) ? execData.response : [execData.textSplitter];
2568
+ return {
2569
+ type: "text",
2570
+ data: arrayData.join("\n\n"),
2571
+ parsed: true
2572
+ };
2573
+ }
2574
+ };
2575
+ function parseAiContent(executionData, endpointType) {
2576
+ if ([NodeConnectionTypes.AiChain, NodeConnectionTypes.Main].includes(
2577
+ endpointType
2578
+ )) {
2579
+ return executionData.map((data) => ({ raw: data.json, parsedContent: null }));
2580
+ }
2581
+ const contentJson = executionData.map((node) => {
2582
+ const hasBinaryData = !isObjectEmpty(node.binary);
2583
+ return hasBinaryData ? node.binary : node.json;
2584
+ });
2585
+ const parser = outputTypeParsers[endpointType];
2586
+ if (!parser)
2587
+ return [
2588
+ {
2589
+ raw: contentJson.filter((item) => item !== void 0),
2590
+ parsedContent: null
2591
+ }
2592
+ ];
2593
+ return contentJson.filter((c) => c !== void 0).map((c) => ({ raw: c, parsedContent: parser(c) }));
2594
+ }
2441
2595
  const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2442
2596
  __name: "ConsumedTokensDetails",
2443
2597
  props: {
@@ -3206,7 +3360,7 @@ const cssModules$2 = {
3206
3360
  "$style": style0$2
3207
3361
  };
3208
3362
  const RunDataItemCount = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__cssModules", cssModules$2]]);
3209
- const _hoisted_1$1 = { key: 5 };
3363
+ const _hoisted_1$1 = { key: 6 };
3210
3364
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3211
3365
  __name: "RunDataDisplayModeSelect",
3212
3366
  props: {
@@ -3214,7 +3368,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3214
3368
  value: {},
3215
3369
  hasBinaryData: { type: Boolean },
3216
3370
  paneType: {},
3217
- nodeGeneratesHtml: { type: Boolean }
3371
+ nodeGeneratesHtml: { type: Boolean },
3372
+ hasRenderableData: { type: Boolean }
3218
3373
  },
3219
3374
  emits: ["change"],
3220
3375
  setup(__props, { emit: __emit }) {
@@ -3232,8 +3387,20 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3232
3387
  if (__props.paneType === "output" && __props.nodeGeneratesHtml) {
3233
3388
  defaults.unshift({ label: "HTML", value: "html" });
3234
3389
  }
3390
+ if (__props.hasRenderableData) {
3391
+ defaults.unshift({ label: i18n.baseText("runData.rendered"), value: "ai" });
3392
+ }
3235
3393
  return defaults;
3236
3394
  });
3395
+ watch(
3396
+ [() => __props.value, options],
3397
+ ([val, opts]) => {
3398
+ if (opts.length > 0 && opts.every((opt) => opt.value !== val)) {
3399
+ emit("change", opts[0].value);
3400
+ }
3401
+ },
3402
+ { immediate: true }
3403
+ );
3237
3404
  return (_ctx, _cache) => {
3238
3405
  return openBlock(), createBlock(unref(N8nRadioButtons), {
3239
3406
  "model-value": _ctx.value,
@@ -3266,6 +3433,10 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3266
3433
  key: 4,
3267
3434
  icon: "html",
3268
3435
  size: "small"
3436
+ })) : option.value === "ai" ? (openBlock(), createBlock(unref(N8nIcon), {
3437
+ key: 5,
3438
+ icon: "text",
3439
+ size: "small"
3269
3440
  })) : (openBlock(), createElementBlock("span", _hoisted_1$1, toDisplayString(option.label), 1))
3270
3441
  ]),
3271
3442
  key: "0"
@@ -3368,6 +3539,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3368
3539
  executingMessage: {},
3369
3540
  pushRef: {},
3370
3541
  paneType: {},
3542
+ displayMode: {},
3371
3543
  noDataInBranchMessage: {},
3372
3544
  node: { default: null },
3373
3545
  nodes: { default: () => [] },
@@ -3387,24 +3559,28 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3387
3559
  disablePin: { type: Boolean, default: false },
3388
3560
  compact: { type: Boolean, default: false },
3389
3561
  tableHeaderBgColor: { default: "base" },
3390
- disableHoverHighlight: { type: Boolean, default: false }
3562
+ disableHoverHighlight: { type: Boolean, default: false },
3563
+ disableAiContent: { type: Boolean, default: false }
3391
3564
  },
3392
- emits: ["search", "runChange", "itemHover", "linkRun", "unlinkRun", "activatePane", "tableMounted"],
3565
+ emits: ["search", "runChange", "itemHover", "linkRun", "unlinkRun", "activatePane", "tableMounted", "displayModeChange"],
3393
3566
  setup(__props, { expose: __expose, emit: __emit }) {
3394
3567
  const LazyRunDataTable = defineAsyncComponent(
3395
- async () => await __vitePreload(() => import("./RunDataTable-DXZeWFoe.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0)
3568
+ async () => await __vitePreload(() => import("./RunDataTable-oi_l8dhA.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0)
3396
3569
  );
3397
3570
  const LazyRunDataJson = defineAsyncComponent(
3398
- async () => await __vitePreload(() => import("./RunDataJson-ZWzRQWbP.js"), true ? __vite__mapDeps([6,1,2,7,3,4,8]) : void 0)
3571
+ async () => await __vitePreload(() => import("./RunDataJson-Pev6yNEV.js"), true ? __vite__mapDeps([6,1,2,7,3,4,8]) : void 0)
3399
3572
  );
3400
3573
  const LazyRunDataSchema = defineAsyncComponent(
3401
- async () => await __vitePreload(() => import("./index-B7FgXPOI.js").then((n) => n.iA), true ? __vite__mapDeps([1,2]) : void 0)
3574
+ async () => await __vitePreload(() => import("./index-B6eunbxp.js").then((n) => n.iF), true ? __vite__mapDeps([1,2]) : void 0)
3402
3575
  );
3403
3576
  const LazyRunDataHtml = defineAsyncComponent(
3404
3577
  async () => await __vitePreload(() => Promise.resolve().then(() => RunDataHtml$1), true ? void 0 : void 0)
3405
3578
  );
3579
+ const LazyRunDataAi = defineAsyncComponent(
3580
+ async () => await __vitePreload(() => import("./RunDataParsedAiContent-D6MNLmT3.js"), true ? __vite__mapDeps([9,1,2,7,3,4,10]) : void 0)
3581
+ );
3406
3582
  const LazyRunDataSearch = defineAsyncComponent(
3407
- async () => await __vitePreload(() => import("./RunDataSearch-DGVT04w4.js"), true ? __vite__mapDeps([9,1,2,10]) : void 0)
3583
+ async () => await __vitePreload(() => import("./RunDataSearch-C8orcAlP.js"), true ? __vite__mapDeps([11,1,2,12]) : void 0)
3408
3584
  );
3409
3585
  const props = __props;
3410
3586
  const emit = __emit;
@@ -3438,14 +3614,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3438
3614
  const node = toRef(props, "node");
3439
3615
  const pinnedData = usePinnedData(node, {
3440
3616
  runIndex: props.runIndex,
3441
- displayMode: props.paneType === "input" ? ndvStore.inputPanelDisplayMode : ndvStore.outputPanelDisplayMode
3617
+ displayMode: props.displayMode
3442
3618
  });
3443
3619
  const { isSubNodeType } = useNodeType({
3444
3620
  node
3445
3621
  });
3446
- const displayMode = computed(
3447
- () => props.paneType === "input" ? ndvStore.inputPanelDisplayMode : ndvStore.outputPanelDisplayMode
3448
- );
3449
3622
  const isReadOnlyRoute = computed(() => route.meta.readOnlyCanvas === true);
3450
3623
  const isWaitNodeWaiting = computed(() => {
3451
3624
  return node.value?.name && workflowExecution.value?.data?.resultData?.runData?.[node.value?.name]?.[props.runIndex]?.executionStatus === "waiting";
@@ -3455,7 +3628,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3455
3628
  if (!node.value) return null;
3456
3629
  return nodeTypesStore.getNodeType(node.value.type, node.value.typeVersion);
3457
3630
  });
3458
- const isSchemaView = computed(() => displayMode.value === "schema");
3631
+ const isSchemaView = computed(() => props.displayMode === "schema");
3459
3632
  const isSearchInSchemaView = computed(() => isSchemaView.value && !!search2.value);
3460
3633
  const hasMultipleInputNodes = computed(() => props.paneType === "input" && props.nodes.length > 0);
3461
3634
  const displaysMultipleNodes = computed(() => isSchemaView.value && hasMultipleInputNodes.value);
@@ -3722,6 +3895,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3722
3895
  unfilteredDataCount: unfilteredDataCount.value,
3723
3896
  subExecutionsCount: activeTaskMetadata.value?.subExecutionsCount
3724
3897
  }));
3898
+ const parsedAiContent = computed(
3899
+ () => props.disableAiContent ? [] : parseAiContent(rawInputData.value, connectionType.value)
3900
+ );
3901
+ const hasParsedAiContent = computed(
3902
+ () => parsedAiContent.value.some((prr) => prr.parsedContent?.parsed)
3903
+ );
3725
3904
  function setInputBranchIndex(value) {
3726
3905
  if (props.paneType === "input") {
3727
3906
  outputIndex.value = value;
@@ -3758,9 +3937,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3758
3937
  showPinDataDiscoveryTooltip(data);
3759
3938
  });
3760
3939
  watch(binaryData, (newData, prevData) => {
3761
- if (newData.length && !prevData.length && displayMode.value !== "binary") {
3940
+ if (newData.length && !prevData.length && props.displayMode !== "binary") {
3762
3941
  switchToBinary();
3763
- } else if (!newData.length && displayMode.value === "binary") {
3942
+ } else if (!newData.length && props.displayMode === "binary") {
3764
3943
  onDisplayModeChange("table");
3765
3944
  }
3766
3945
  });
@@ -3773,6 +3952,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3773
3952
  watch(search2, (newSearch) => {
3774
3953
  emit("search", newSearch);
3775
3954
  });
3955
+ watch(
3956
+ hasParsedAiContent,
3957
+ (hasAiContent) => {
3958
+ if (hasAiContent && props.displayMode !== "ai") {
3959
+ emit("displayModeChange", "ai");
3960
+ }
3961
+ },
3962
+ { immediate: true }
3963
+ );
3776
3964
  onMounted(() => {
3777
3965
  init();
3778
3966
  ndvEventBus.on("setInputBranchIndex", setInputBranchIndex);
@@ -3926,7 +4114,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3926
4114
  push_ref: props.pushRef,
3927
4115
  run_index: props.runIndex,
3928
4116
  is_output_present: hasNodeRun.value || pinnedData.hasData.value,
3929
- view: !hasNodeRun.value && !pinnedData.hasData.value ? "undefined" : displayMode.value,
4117
+ view: !hasNodeRun.value && !pinnedData.hasData.value ? "undefined" : props.displayMode,
3930
4118
  is_data_pinned: pinnedData.hasData.value
3931
4119
  });
3932
4120
  }
@@ -3960,7 +4148,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3960
4148
  node_type: activeNode.value?.type,
3961
4149
  push_ref: props.pushRef,
3962
4150
  run_index: props.runIndex,
3963
- view: displayMode.value,
4151
+ view: props.displayMode,
3964
4152
  type
3965
4153
  });
3966
4154
  }
@@ -3973,7 +4161,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3973
4161
  node_type: activeNode.value?.type,
3974
4162
  push_ref: props.pushRef,
3975
4163
  run_index: props.runIndex,
3976
- view: !hasNodeRun.value && !pinnedData.hasData.value ? "none" : displayMode.value
4164
+ view: !hasNodeRun.value && !pinnedData.hasData.value ? "none" : props.displayMode
3977
4165
  };
3978
4166
  void externalHooks.run("runData.onTogglePinData", telemetryPayload);
3979
4167
  telemetry.track("User clicked pin data icon", telemetryPayload);
@@ -4073,8 +4261,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4073
4261
  });
4074
4262
  }
4075
4263
  function onDisplayModeChange(newDisplayMode) {
4076
- const previous = displayMode.value;
4077
- ndvStore.setPanelDisplayMode({ pane: props.paneType, mode: newDisplayMode });
4264
+ const previous = props.displayMode;
4265
+ emit("displayModeChange", newDisplayMode);
4078
4266
  if (!userEnabledShowData.value) updateShowData();
4079
4267
  if (dataContainerRef.value) {
4080
4268
  const dataDisplay2 = dataContainerRef.value.children[0];
@@ -4186,15 +4374,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4186
4374
  }
4187
4375
  connectionType.value = outputTypes.length === 0 ? NodeConnectionTypes.Main : outputTypes[0];
4188
4376
  if (binaryData.value.length > 0) {
4189
- ndvStore.setPanelDisplayMode({
4190
- pane: props.paneType,
4191
- mode: "binary"
4192
- });
4193
- } else if (displayMode.value === "binary") {
4194
- ndvStore.setPanelDisplayMode({
4195
- pane: props.paneType,
4196
- mode: "schema"
4197
- });
4377
+ emit("displayModeChange", "binary");
4378
+ } else if (props.displayMode === "binary") {
4379
+ emit("displayModeChange", "schema");
4198
4380
  }
4199
4381
  }
4200
4382
  function closeBinaryDataDisplay() {
@@ -4283,10 +4465,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4283
4465
  if (!activeNode.value) return;
4284
4466
  const shouldDisplayHtml = activeNode.value.type === HTML_NODE_TYPE && activeNode.value.parameters.operation === "generateHtmlTemplate";
4285
4467
  if (shouldDisplayHtml) {
4286
- ndvStore.setPanelDisplayMode({
4287
- pane: "output",
4288
- mode: "html"
4289
- });
4468
+ emit("displayModeChange", "html");
4290
4469
  }
4291
4470
  }
4292
4471
  function activatePane() {
@@ -4374,7 +4553,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4374
4553
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => search2.value = $event),
4375
4554
  class: normalizeClass(_ctx.$style.search),
4376
4555
  "pane-type": _ctx.paneType,
4377
- "display-mode": displayMode.value,
4556
+ "display-mode": _ctx.displayMode,
4378
4557
  "is-area-active": _ctx.isPaneActive,
4379
4558
  onFocus: activatePane
4380
4559
  }, null, 8, ["modelValue", "class", "pane-type", "display-mode", "is-area-active"])) : createCommentVNode("", true)
@@ -4384,12 +4563,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4384
4563
  withDirectives(createVNode(_sfc_main$2, {
4385
4564
  class: normalizeClass(_ctx.$style.displayModeSelect),
4386
4565
  compact: props.compact,
4387
- value: displayMode.value,
4566
+ value: _ctx.displayMode,
4388
4567
  "has-binary-data": binaryData.value.length > 0,
4389
4568
  "pane-type": _ctx.paneType,
4390
4569
  "node-generates-html": unref(activeNode)?.type === unref(HTML_NODE_TYPE) && unref(activeNode).parameters.operation === "generateHtmlTemplate",
4570
+ "has-renderable-data": hasParsedAiContent.value,
4391
4571
  onChange: onDisplayModeChange
4392
- }, null, 8, ["class", "compact", "value", "has-binary-data", "pane-type", "node-generates-html"]), [
4572
+ }, null, 8, ["class", "compact", "value", "has-binary-data", "pane-type", "node-generates-html", "has-renderable-data"]), [
4393
4573
  [
4394
4574
  vShow,
4395
4575
  unref(hasPreviewSchema) || hasNodeRun.value && (inputData.value.length || binaryData.value.length || search2.value || hasMultipleInputNodes.value) && !editMode2.value.enabled
@@ -4504,7 +4684,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4504
4684
  activeTaskMetadata.value && !(_ctx.paneType === "input" && hasInputOverwrite.value) ? (openBlock(), createBlock(ViewSubExecution, {
4505
4685
  key: 0,
4506
4686
  "task-metadata": activeTaskMetadata.value,
4507
- "display-mode": displayMode.value
4687
+ "display-mode": _ctx.displayMode
4508
4688
  }, null, 8, ["task-metadata", "display-mode"])) : createCommentVNode("", true)
4509
4689
  ], 2)), [
4510
4690
  [vShow, !editMode2.value.enabled]
@@ -4552,7 +4732,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4552
4732
  activeTaskMetadata.value && !(_ctx.paneType === "input" && hasInputOverwrite.value) ? (openBlock(), createBlock(ViewSubExecution, {
4553
4733
  key: 1,
4554
4734
  "task-metadata": activeTaskMetadata.value,
4555
- "display-mode": displayMode.value
4735
+ "display-mode": _ctx.displayMode
4556
4736
  }, null, 8, ["task-metadata", "display-mode"])) : createCommentVNode("", true),
4557
4737
  createBaseVNode("div", {
4558
4738
  class: normalizeClass(_ctx.$style.tabs)
@@ -4574,7 +4754,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4574
4754
  activeTaskMetadata.value && !(_ctx.paneType === "input" && hasInputOverwrite.value) ? (openBlock(), createBlock(ViewSubExecution, {
4575
4755
  key: 1,
4576
4756
  "task-metadata": activeTaskMetadata.value,
4577
- "display-mode": displayMode.value
4757
+ "display-mode": _ctx.displayMode
4578
4758
  }, null, 8, ["task-metadata", "display-mode"])) : createCommentVNode("", true)
4579
4759
  ], 2)), [
4580
4760
  [vShow, !editMode2.value.enabled]
@@ -4641,9 +4821,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4641
4821
  class: normalizeClass(_ctx.$style.stretchVertically)
4642
4822
  }, [
4643
4823
  createVNode(_sfc_main$a, {
4824
+ compact: _ctx.compact,
4644
4825
  error: subworkflowExecutionError.value,
4645
- class: normalizeClass(_ctx.$style.errorDisplay)
4646
- }, null, 8, ["error", "class"])
4826
+ class: normalizeClass(_ctx.$style.errorDisplay),
4827
+ "show-details": ""
4828
+ }, null, 8, ["compact", "error", "class"])
4647
4829
  ], 2)) : isWaitNodeWaiting.value ? (openBlock(), createElementBlock("div", {
4648
4830
  key: 3,
4649
4831
  class: normalizeClass(_ctx.$style.center)
@@ -4737,14 +4919,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4737
4919
  key: 0,
4738
4920
  error: workflowRunErrorAsNodeError.value,
4739
4921
  class: normalizeClass(_ctx.$style.inlineError),
4740
- compact: ""
4741
- }, null, 8, ["error", "class"])) : createCommentVNode("", true),
4922
+ compact: _ctx.compact
4923
+ }, null, 8, ["error", "class", "compact"])) : createCommentVNode("", true),
4742
4924
  renderSlot(_ctx.$slots, "content", {}, void 0, true)
4743
4925
  ])) : workflowRunErrorAsNodeError.value ? (openBlock(), createBlock(_sfc_main$a, {
4744
4926
  key: 2,
4745
4927
  error: workflowRunErrorAsNodeError.value,
4746
- class: normalizeClass(_ctx.$style.dataDisplay)
4747
- }, null, 8, ["error", "class"])) : createCommentVNode("", true)
4928
+ class: normalizeClass(_ctx.$style.dataDisplay),
4929
+ compact: _ctx.compact,
4930
+ "show-details": ""
4931
+ }, null, 8, ["error", "class", "compact"])) : createCommentVNode("", true)
4748
4932
  ], 2)) : hasNodeRun.value && (!unfilteredDataCount.value || search2.value && !dataCount.value) && !displaysMultipleNodes.value && branches.value.length > 1 ? (openBlock(), createElementBlock("div", {
4749
4933
  key: 10,
4750
4934
  class: normalizeClass(_ctx.$style.center)
@@ -4830,7 +5014,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4830
5014
  label: unref(i18n).baseText("runData.downloadBinaryData"),
4831
5015
  onClick: _cache[7] || (_cache[7] = ($event) => downloadJsonData())
4832
5016
  }, null, 8, ["label"])
4833
- ], 2)) : hasNodeRun.value && _ctx.$slots["content"] ? renderSlot(_ctx.$slots, "content", { key: 13 }, void 0, true) : hasNodeRun.value && displayMode.value === "table" && binaryData.value.length > 0 && inputData.value.length === 1 && Object.keys(jsonData.value[0] || {}).length === 0 ? (openBlock(), createElementBlock("div", {
5017
+ ], 2)) : hasNodeRun.value && _ctx.$slots["content"] ? renderSlot(_ctx.$slots, "content", { key: 13 }, void 0, true) : hasNodeRun.value && _ctx.displayMode === "table" && binaryData.value.length > 0 && inputData.value.length === 1 && Object.keys(jsonData.value[0] || {}).length === 0 ? (openBlock(), createElementBlock("div", {
4834
5018
  key: 14,
4835
5019
  class: normalizeClass(_ctx.$style.center)
4836
5020
  }, [
@@ -4871,7 +5055,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4871
5055
  ]),
4872
5056
  _: 1
4873
5057
  })
4874
- ], 2)) : hasNodeRun.value && displayMode.value === "table" && node.value ? (openBlock(), createBlock(Suspense, { key: 16 }, {
5058
+ ], 2)) : hasNodeRun.value && _ctx.displayMode === "table" && node.value ? (openBlock(), createBlock(Suspense, { key: 16 }, {
4875
5059
  default: withCtx(() => [
4876
5060
  createVNode(unref(LazyRunDataTable), {
4877
5061
  node: node.value,
@@ -4892,7 +5076,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4892
5076
  }, null, 8, ["node", "input-data", "mapping-enabled", "distance-from-active", "run-index", "page-offset", "total-runs", "has-default-hover-state", "search", "header-bg-color", "compact", "disable-hover-highlight"])
4893
5077
  ]),
4894
5078
  _: 1
4895
- })) : hasNodeRun.value && displayMode.value === "json" && node.value ? (openBlock(), createBlock(Suspense, { key: 17 }, {
5079
+ })) : hasNodeRun.value && _ctx.displayMode === "json" && node.value ? (openBlock(), createBlock(Suspense, { key: 17 }, {
4896
5080
  default: withCtx(() => [
4897
5081
  createVNode(unref(LazyRunDataJson), {
4898
5082
  "pane-type": _ctx.paneType,
@@ -4910,12 +5094,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4910
5094
  }, null, 8, ["pane-type", "edit-mode", "push-ref", "node", "input-data", "mapping-enabled", "distance-from-active", "run-index", "output-index", "total-runs", "search", "compact"])
4911
5095
  ]),
4912
5096
  _: 1
4913
- })) : hasNodeRun.value && isPaneTypeOutput.value && displayMode.value === "html" ? (openBlock(), createBlock(Suspense, { key: 18 }, {
5097
+ })) : hasNodeRun.value && isPaneTypeOutput.value && _ctx.displayMode === "html" ? (openBlock(), createBlock(Suspense, { key: 18 }, {
4914
5098
  default: withCtx(() => [
4915
5099
  createVNode(unref(LazyRunDataHtml), { "input-html": inputHtml.value }, null, 8, ["input-html"])
4916
5100
  ]),
4917
5101
  _: 1
4918
- })) : (hasNodeRun.value || unref(hasPreviewSchema)) && isSchemaView.value ? (openBlock(), createBlock(Suspense, { key: 19 }, {
5102
+ })) : hasNodeRun.value && _ctx.displayMode === "ai" ? (openBlock(), createBlock(Suspense, { key: 19 }, {
5103
+ default: withCtx(() => [
5104
+ createVNode(unref(LazyRunDataAi), {
5105
+ "render-type": "rendered",
5106
+ compact: _ctx.compact,
5107
+ content: parsedAiContent.value
5108
+ }, null, 8, ["compact", "content"])
5109
+ ]),
5110
+ _: 1
5111
+ })) : (hasNodeRun.value || unref(hasPreviewSchema)) && isSchemaView.value ? (openBlock(), createBlock(Suspense, { key: 20 }, {
4919
5112
  default: withCtx(() => [
4920
5113
  createVNode(unref(LazyRunDataSchema), {
4921
5114
  nodes: _ctx.nodes,
@@ -4932,8 +5125,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4932
5125
  }, null, 8, ["nodes", "mapping-enabled", "node", "data", "pane-type", "connection-type", "output-index", "search", "class", "compact"])
4933
5126
  ]),
4934
5127
  _: 1
4935
- })) : displayMode.value === "binary" && binaryData.value.length === 0 ? (openBlock(), createElementBlock("div", {
4936
- key: 20,
5128
+ })) : _ctx.displayMode === "binary" && binaryData.value.length === 0 ? (openBlock(), createElementBlock("div", {
5129
+ key: 21,
4937
5130
  class: normalizeClass(_ctx.$style.center)
4938
5131
  }, [
4939
5132
  createVNode(unref(N8nText), {
@@ -4945,8 +5138,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4945
5138
  ]),
4946
5139
  _: 1
4947
5140
  })
4948
- ], 2)) : displayMode.value === "binary" ? (openBlock(), createElementBlock("div", {
4949
- key: 21,
5141
+ ], 2)) : _ctx.displayMode === "binary" ? (openBlock(), createElementBlock("div", {
5142
+ key: 22,
4950
5143
  class: normalizeClass(_ctx.$style.dataDisplay)
4951
5144
  }, [
4952
5145
  (openBlock(true), createElementBlock(Fragment, null, renderList(binaryData.value, (binaryDataEntry, index) => {
@@ -5077,13 +5270,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5077
5270
  ]);
5078
5271
  }), 128))
5079
5272
  ], 2)) : !hasNodeRun.value ? (openBlock(), createElementBlock("div", {
5080
- key: 22,
5273
+ key: 23,
5081
5274
  class: normalizeClass(_ctx.$style.center)
5082
5275
  }, [
5083
5276
  renderSlot(_ctx.$slots, "node-not-run", {}, void 0, true)
5084
5277
  ], 2)) : createCommentVNode("", true)
5085
5278
  ], 2),
5086
- _ctx.hidePagination === false && hasNodeRun.value && !hasRunError.value && displayMode.value !== "binary" && dataCount.value > pageSize.value && !isSchemaView.value && !isArtificialRecoveredEventItem.value ? withDirectives((openBlock(), createBlock(RunDataPaginationBar, {
5279
+ _ctx.hidePagination === false && hasNodeRun.value && !hasRunError.value && _ctx.displayMode !== "binary" && dataCount.value > pageSize.value && !isSchemaView.value && !isArtificialRecoveredEventItem.value ? withDirectives((openBlock(), createBlock(RunDataPaginationBar, {
5087
5280
  key: 8,
5088
5281
  "current-page": currentPage.value,
5089
5282
  "page-size": pageSize.value,
@@ -5180,7 +5373,7 @@ const style0 = {
5180
5373
  const cssModules = {
5181
5374
  "$style": style0
5182
5375
  };
5183
- const RunData = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-5b056086"]]);
5376
+ const RunData = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-ba7b70a3"]]);
5184
5377
  export {
5185
5378
  HighlightJS as H,
5186
5379
  RunData as R,
@@ -5198,5 +5391,6 @@ export {
5198
5391
  createAiData as j,
5199
5392
  getTreeNodeData as k,
5200
5393
  getReferencedData as l,
5201
- VueJsonPretty as m
5394
+ VueJsonPretty as m,
5395
+ parseAiContent as p
5202
5396
  };