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,7 +1,7 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunDataTable-BO0R4JT_.js","assets/index-BpdkKRP4.js","assets/index-C5OXOcIJ.css","assets/useExecutionHelpers-DN5HqPqY.js","assets/dateFormatter-CZI1kGYK.js","assets/RunDataTable-DyUvXWfl.css","assets/RunDataJson-B2WU5od1.js","assets/FileSaver.min-Cm0u4qyc.js","assets/RunDataJson-Txw0lqay.css","assets/RunDataSearch-CQsyZvGK.js","assets/RunDataSearch-R6qtl0Jf.css"])))=>i.map(i=>d[i]);
2
- import { dB as hasKey, cl as getDefaultExportFromCjs, dC as AGENT_LANGCHAIN_NODE_TYPE, d as defineComponent, be as useClipboard, a as useToast, dD as useAIAssistantHelpers, by as useNodeTypesStore, au as useNDVStore, a1 as useRootStore, dl as useAssistantStore, L as useUIStore, q as computed, dE as MAX_DISPLAY_DATA_SIZE, dF as isCommunityPackageName, c as useI18n, h as resolveComponent, cc as resolveDirective, i as createElementBlock, g as openBlock, k as createBaseVNode, f as createCommentVNode, aC as withDirectives, t as toDisplayString, j as createVNode, m as unref, dG as InlineAskAssistantButton, w as withCtx, l as createTextVNode, F as Fragment, D as renderList, dH as NEW_ASSISTANT_SESSION_MODAL, ci as sanitizeHtml, bd as N8nText, J as withModifiers, n as normalizeClass, _ as _export_sfc, dI as requireVue, dJ as sanitizeHtml$1, dK as sanitizeHtmlExports, r as ref, U as useWorkflowsStore, o as onMounted, bV as jsonParse, e as createBlock, bz as useNodeHelpers, aS as N8nTooltip, aU as _sfc_main$a, aT as N8nLink, bF as N8nRadioButtons, aW as createSlots, bD as N8nIcon, bl as NodeConnectionTypes, a3 as useSourceControlStore, du as useSchemaPreviewStore, aw as usePostHog, W as useRoute, bJ as toRef, bp as usePinnedData, dL as useNodeType, cH as storeToRefs, dM as TRIMMED_TASK_DATA_CONNECTIONS_KEY, dN as executionDataToJson, dO as NODE_TYPES_EXCLUDED_FROM_OUTPUT_NAME_APPEND, dP as CORE_NODES_CATEGORY, dQ as SCHEMA_PREVIEW_EXPERIMENT, dR as computedAsync, I as watch, ai as useTelemetry, y as onBeforeUnmount, aL as useStorage, dS as LOCAL_STORAGE_PIN_DATA_DISCOVERY_NDV_FLAG, dT as dataPinningEventBus, dU as LOCAL_STORAGE_PIN_DATA_DISCOVERY_CANVAS_FLAG, dV as searchInObject, bw as getConnectionTypes, dW as isObject, dX as MAX_DISPLAY_DATA_SIZE_SCHEMA_VIEW, dY as HTML_NODE_TYPE, x as renderSlot, b$ as N8nCallout, dZ as DATA_PINNING_DOCS_URL, aD as vShow, bZ as Suspense, b_ as defineAsyncComponent, b4 as normalizeProps, b7 as mergeProps, bf as N8nButton, d_ as _sfc_main$b, d$ as N8nSelect, e0 as N8nTabs, b5 as guardReactiveProps, e1 as _sfc_main$c, e2 as JsonEditor, e3 as DATA_EDITING_DOCS_URL, df as InfoTip, e4 as N8nBlockUi, aq as __vitePreload, e5 as isPresent, bx as getNodeOutputs, e6 as getNodeHints, e7 as getGenericHints, e8 as clearJsonKey, e9 as TEST_PIN_DATA, aR as useExternalHooks, ea as isEmpty, eb as isEqual } from "./index-BpdkKRP4.js";
3
- import { F as FileSaver_minExports } from "./FileSaver.min-Cm0u4qyc.js";
4
- import { u as useExecutionHelpers } from "./useExecutionHelpers-DN5HqPqY.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"
@@ -1696,6 +1696,62 @@ function getConsumedTokens(outputRun) {
1696
1696
  );
1697
1697
  return tokenUsage;
1698
1698
  }
1699
+ function formatTokenUsageCount(usage, field) {
1700
+ const count = field === "total" ? usage.totalTokens : field === "completion" ? usage.completionTokens : usage.promptTokens;
1701
+ return usage.isEstimate ? `~${count}` : count.toLocaleString();
1702
+ }
1703
+ function getConsumedTokensV2(task) {
1704
+ if (!task.data) {
1705
+ return emptyTokenUsageData;
1706
+ }
1707
+ const tokenUsage = Object.values(task.data).flat().flat().reduce((acc, curr) => {
1708
+ const tokenUsageData = curr?.json?.tokenUsage ?? curr?.json?.tokenUsageEstimate;
1709
+ if (!tokenUsageData) return acc;
1710
+ return addTokenUsageData(acc, {
1711
+ ...tokenUsageData,
1712
+ isEstimate: !!curr?.json.tokenUsageEstimate
1713
+ });
1714
+ }, emptyTokenUsageData);
1715
+ return tokenUsage;
1716
+ }
1717
+ function createNodeV2(parent, node, currentDepth, runIndex, runData, children = []) {
1718
+ return {
1719
+ parent,
1720
+ node,
1721
+ id: `${node.name}:${runIndex}`,
1722
+ depth: currentDepth,
1723
+ runIndex,
1724
+ runData,
1725
+ children,
1726
+ consumedTokens: getConsumedTokensV2(runData)
1727
+ };
1728
+ }
1729
+ function getTreeNodeDataV2(nodeName, runData, workflow, data, runIndex) {
1730
+ const node = workflow.getNode(nodeName);
1731
+ return node ? getTreeNodeDataRecV2(void 0, node, runData, 0, workflow, data, runIndex) : [];
1732
+ }
1733
+ function getTreeNodeDataRecV2(parent, node, runData, currentDepth, workflow, data, runIndex) {
1734
+ const connectedSubNodes = workflow.getParentNodes(node.name, "ALL_NON_MAIN", 1);
1735
+ const treeNode = createNodeV2(parent, node, currentDepth, runIndex ?? 0, runData);
1736
+ const children = connectedSubNodes.flatMap(
1737
+ (subNodeName) => (data[subNodeName] ?? []).flatMap((t, index) => {
1738
+ if (runIndex !== void 0 && index !== runIndex) {
1739
+ return [];
1740
+ }
1741
+ const subNode = workflow.getNode(subNodeName);
1742
+ return subNode ? getTreeNodeDataRecV2(treeNode, subNode, t, currentDepth + 1, workflow, data, index) : [];
1743
+ })
1744
+ ).sort((a, b) => {
1745
+ if (a.runData.executionIndex !== void 0 && b.runData.executionIndex !== void 0) {
1746
+ return a.runData.executionIndex - b.runData.executionIndex;
1747
+ }
1748
+ const aTime = a.runData.startTime ?? 0;
1749
+ const bTime = b.runData.startTime ?? 0;
1750
+ return aTime - bTime;
1751
+ });
1752
+ treeNode.children = children;
1753
+ return [treeNode];
1754
+ }
1699
1755
  function getTotalConsumedTokens(...usage) {
1700
1756
  return usage.reduce(addTokenUsageData, emptyTokenUsageData);
1701
1757
  }
@@ -1705,37 +1761,25 @@ function getSubtreeTotalConsumedTokens(treeNode) {
1705
1761
  ...treeNode.children.map(getSubtreeTotalConsumedTokens)
1706
1762
  );
1707
1763
  }
1708
- function formatTokenUsageCount(usage, field) {
1709
- const count = field === "total" ? usage.totalTokens : field === "completion" ? usage.completionTokens : usage.promptTokens;
1710
- return usage.isEstimate ? `~${count}` : count.toLocaleString();
1711
- }
1712
- function findLogEntryToAutoSelect(tree, nodesByName, runData) {
1713
- return findLogEntryToAutoSelectRec(tree, nodesByName, runData, 0);
1714
- }
1715
- function findLogEntryToAutoSelectRec(tree, nodesByName, runData, depth) {
1716
- for (const entry of tree) {
1717
- const taskData = runData[entry.node]?.[entry.runIndex];
1764
+ function findLogEntryToAutoSelectRec(data, subTree, depth) {
1765
+ for (const entry of subTree) {
1766
+ const taskData = data.data?.resultData.runData[entry.node.name]?.[entry.runIndex];
1718
1767
  if (taskData?.error) {
1719
1768
  return entry;
1720
1769
  }
1721
- const childAutoSelect = findLogEntryToAutoSelectRec(
1722
- entry.children,
1723
- nodesByName,
1724
- runData,
1725
- depth + 1
1726
- );
1770
+ const childAutoSelect = findLogEntryToAutoSelectRec(data, entry.children, depth + 1);
1727
1771
  if (childAutoSelect) {
1728
1772
  return childAutoSelect;
1729
1773
  }
1730
- if (nodesByName[entry.node]?.type === AGENT_LANGCHAIN_NODE_TYPE) {
1774
+ if (data.workflowData.nodes.find((n) => n.name === entry.node.name)?.type === AGENT_LANGCHAIN_NODE_TYPE) {
1731
1775
  return entry;
1732
1776
  }
1733
1777
  }
1734
- return depth === 0 ? tree[0] : void 0;
1778
+ return depth === 0 ? subTree[0] : void 0;
1735
1779
  }
1736
1780
  function createLogEntries(workflow, runData) {
1737
- const runs = Object.entries(runData).filter(([nodeName]) => workflow.getChildNodes(nodeName, "ALL_NON_MAIN").length === 0).flatMap(
1738
- ([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 }))
1739
1783
  ).sort((a, b) => {
1740
1784
  if (a.task.executionIndex !== void 0 && b.task.executionIndex !== void 0) {
1741
1785
  return a.task.executionIndex - b.task.executionIndex;
@@ -1744,152 +1788,178 @@ function createLogEntries(workflow, runData) {
1744
1788
  });
1745
1789
  return runs.flatMap(({ nodeName, runIndex, task }) => {
1746
1790
  if (workflow.getParentNodes(nodeName, "ALL_NON_MAIN").length > 0) {
1747
- return getTreeNodeData(
1748
- nodeName,
1749
- workflow,
1750
- createAiData(nodeName, workflow, (node) => runData[node] ?? []),
1751
- void 0
1752
- );
1791
+ return getTreeNodeDataV2(nodeName, task, workflow, runData, void 0);
1753
1792
  }
1754
- return getTreeNodeData(
1755
- nodeName,
1756
- workflow,
1757
- [
1758
- {
1759
- data: getReferencedData(task, false)[0],
1760
- node: nodeName,
1761
- runIndex
1762
- }
1763
- ],
1764
- runIndex
1765
- );
1793
+ return getTreeNodeDataV2(nodeName, task, workflow, runData, runIndex);
1766
1794
  });
1767
1795
  }
1768
- const _hoisted_1$8 = { class: "node-error-view" };
1769
- const _hoisted_2$4 = { class: "node-error-view__header" };
1770
- const _hoisted_3$3 = {
1796
+ function includesLogEntry(log, logs) {
1797
+ return logs.some(
1798
+ (l) => l.node.name === log.node.name && log.runIndex === l.runIndex || includesLogEntry(log, l.children)
1799
+ );
1800
+ }
1801
+ function findSelectedLogEntry(state, execution) {
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
+ }
1804
+ function deepToRaw(sourceObj) {
1805
+ const seen = /* @__PURE__ */ new WeakMap();
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
+ }
1813
+ if (Array.isArray(input)) {
1814
+ return input.map((item) => objectIterator(item));
1815
+ }
1816
+ if (isRef(input) || isReactive(input) || isProxy(input)) {
1817
+ return objectIterator(toRaw(input));
1818
+ }
1819
+ if (input !== null && typeof input === "object" && Object.getPrototypeOf(input) === Object.prototype) {
1820
+ return Object.keys(input).reduce((acc, key) => {
1821
+ acc[key] = objectIterator(input[key]);
1822
+ return acc;
1823
+ }, {});
1824
+ }
1825
+ return input;
1826
+ };
1827
+ return objectIterator(sourceObj);
1828
+ }
1829
+ function flattenLogEntries(entries, collapsedEntryIds, ret = []) {
1830
+ for (const entry of entries) {
1831
+ ret.push(entry);
1832
+ if (!collapsedEntryIds[entry.id]) {
1833
+ flattenLogEntries(entry.children, collapsedEntryIds, ret);
1834
+ }
1835
+ }
1836
+ return ret;
1837
+ }
1838
+ const _hoisted_1$8 = { class: "node-error-view__header" };
1839
+ const _hoisted_2$4 = {
1771
1840
  class: "node-error-view__header-message",
1772
1841
  "data-test-id": "node-error-message"
1773
1842
  };
1774
- const _hoisted_4$3 = {
1843
+ const _hoisted_3$3 = {
1775
1844
  key: 0,
1776
1845
  "data-test-id": "node-error-description",
1777
1846
  class: "node-error-view__header-description"
1778
1847
  };
1779
- const _hoisted_5$3 = { key: 1 };
1780
- const _hoisted_6$2 = {
1848
+ const _hoisted_4$3 = { key: 1 };
1849
+ const _hoisted_5$3 = {
1781
1850
  key: 2,
1782
1851
  class: "node-error-view__button",
1783
1852
  "data-test-id": "node-error-view-ask-assistant-button"
1784
1853
  };
1785
- const _hoisted_7$2 = {
1854
+ const _hoisted_6$2 = {
1786
1855
  key: 0,
1787
1856
  class: "node-error-view__info"
1788
1857
  };
1789
- const _hoisted_8$2 = { class: "node-error-view__info-header" };
1790
- const _hoisted_9$2 = { class: "node-error-view__info-title" };
1791
- const _hoisted_10 = { class: "copy-button" };
1792
- const _hoisted_11 = { class: "node-error-view__info-content" };
1793
- 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 = {
1794
1863
  key: 0,
1795
1864
  class: "node-error-view__details"
1796
1865
  };
1797
- const _hoisted_13 = { class: "node-error-view__details-summary" };
1798
- const _hoisted_14 = { class: "node-error-view__details-content" };
1799
- 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 = {
1800
1869
  key: 0,
1801
1870
  class: "node-error-view__details-row"
1802
1871
  };
1803
- const _hoisted_16 = { class: "node-error-view__details-label" };
1804
- const _hoisted_17 = { class: "node-error-view__details-value" };
1805
- 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 = {
1806
1875
  key: 1,
1807
1876
  class: "node-error-view__details-row"
1808
1877
  };
1809
- const _hoisted_19 = { class: "node-error-view__details-label" };
1810
- const _hoisted_20 = { class: "node-error-view__details-value" };
1811
- 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 = {
1812
1881
  key: 2,
1813
1882
  class: "node-error-view__details-row"
1814
1883
  };
1815
- const _hoisted_22 = { class: "node-error-view__details-label" };
1816
- const _hoisted_23 = { class: "node-error-view__details-value" };
1817
- 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 = {
1818
1887
  key: 3,
1819
1888
  class: "node-error-view__details-row"
1820
1889
  };
1821
- const _hoisted_25 = { class: "node-error-view__details-label" };
1822
- const _hoisted_26 = { class: "node-error-view__details-value" };
1823
- 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 = {
1824
1893
  key: 4,
1825
1894
  class: "node-error-view__details-row"
1826
1895
  };
1827
- const _hoisted_28 = { class: "node-error-view__details-label" };
1828
- const _hoisted_29 = { class: "node-error-view__details-value" };
1829
- const _hoisted_30 = { class: "node-error-view__details" };
1830
- const _hoisted_31 = { class: "node-error-view__details-summary" };
1831
- const _hoisted_32 = { class: "node-error-view__details-content" };
1832
- 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 = {
1833
1902
  key: 0,
1834
1903
  class: "node-error-view__details-row"
1835
1904
  };
1836
- const _hoisted_34 = { class: "node-error-view__details-label" };
1837
- const _hoisted_35 = { class: "node-error-view__details-value" };
1838
- 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 = {
1839
1908
  key: 1,
1840
1909
  class: "node-error-view__details-row"
1841
1910
  };
1842
- const _hoisted_37 = { class: "node-error-view__details-label" };
1843
- const _hoisted_38 = { class: "node-error-view__details-value" };
1844
- 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 = {
1845
1914
  key: 2,
1846
1915
  class: "node-error-view__details-row"
1847
1916
  };
1848
- const _hoisted_40 = { class: "node-error-view__details-label" };
1849
- const _hoisted_41 = { class: "node-error-view__details-value" };
1850
- 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 = {
1851
1920
  key: 3,
1852
1921
  class: "node-error-view__details-row"
1853
1922
  };
1854
- const _hoisted_43 = { class: "node-error-view__details-label" };
1855
- const _hoisted_44 = { class: "node-error-view__details-value" };
1856
- 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 = {
1857
1926
  key: 4,
1858
1927
  class: "node-error-view__details-row"
1859
1928
  };
1860
- const _hoisted_46 = { class: "node-error-view__details-label" };
1861
- const _hoisted_47 = { class: "node-error-view__details-value" };
1862
- const _hoisted_48 = { class: "node-error-view__details-row" };
1863
- const _hoisted_49 = { class: "node-error-view__details-label" };
1864
- const _hoisted_50 = { class: "node-error-view__details-value" };
1865
- 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 = {
1866
1935
  key: 5,
1867
1936
  class: "node-error-view__details-row"
1868
1937
  };
1869
- const _hoisted_52 = { class: "node-error-view__details-label" };
1870
- const _hoisted_53 = { class: "node-error-view__details-value" };
1871
- 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 = {
1872
1941
  key: 6,
1873
1942
  class: "node-error-view__details-row"
1874
1943
  };
1875
- const _hoisted_55 = { class: "node-error-view__details-label" };
1876
- const _hoisted_56 = { class: "node-error-view__details-value" };
1877
- 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 = {
1878
1947
  key: 7,
1879
1948
  class: "node-error-view__details-row"
1880
1949
  };
1881
- const _hoisted_58 = { class: "node-error-view__details-label" };
1882
- const _hoisted_59 = { class: "node-error-view__details-value" };
1883
- 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 = {
1884
1953
  key: 8,
1885
1954
  class: "node-error-view__details-row"
1886
1955
  };
1887
- const _hoisted_61 = { class: "node-error-view__details-label" };
1888
- const _hoisted_62 = { class: "node-error-view__details-value" };
1889
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
1956
+ const _hoisted_60 = { class: "node-error-view__details-label" };
1957
+ const _hoisted_61 = { class: "node-error-view__details-value" };
1958
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
1890
1959
  __name: "NodeErrorView",
1891
1960
  props: {
1892
1961
  error: {},
1962
+ showDetails: { type: Boolean },
1893
1963
  compact: { type: Boolean }
1894
1964
  },
1895
1965
  setup(__props) {
@@ -2188,19 +2258,20 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2188
2258
  }
2189
2259
  return (_ctx, _cache) => {
2190
2260
  const _component_n8n_button = resolveComponent("n8n-button");
2191
- const _component_n8n_icon_button = resolveComponent("n8n-icon-button");
2192
2261
  const _component_n8n_tooltip = resolveComponent("n8n-tooltip");
2193
2262
  const _component_font_awesome_icon = resolveComponent("font-awesome-icon");
2194
2263
  const _directive_n8n_html = resolveDirective("n8n-html");
2195
- return openBlock(), createElementBlock("div", _hoisted_1$8, [
2196
- createBaseVNode("div", _hoisted_2$4, [
2197
- 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, [
2198
2269
  createBaseVNode("div", null, toDisplayString(getErrorMessage()), 1)
2199
2270
  ]),
2200
- (_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)), [
2201
2272
  [_directive_n8n_html, getErrorDescription()]
2202
2273
  ]) : createCommentVNode("", true),
2203
- isSubNodeError.value ? (openBlock(), createElementBlock("div", _hoisted_5$3, [
2274
+ isSubNodeError.value ? (openBlock(), createElementBlock("div", _hoisted_4$3, [
2204
2275
  createVNode(_component_n8n_button, {
2205
2276
  icon: "arrow-right",
2206
2277
  type: "secondary",
@@ -2210,28 +2281,28 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2210
2281
  onClick: onOpenErrorNodeDetailClick
2211
2282
  }, null, 8, ["label"])
2212
2283
  ])) : createCommentVNode("", true),
2213
- isAskAssistantAvailable.value ? (openBlock(), createElementBlock("div", _hoisted_6$2, [
2284
+ isAskAssistantAvailable.value ? (openBlock(), createElementBlock("div", _hoisted_5$3, [
2214
2285
  createVNode(InlineAskAssistantButton, {
2215
2286
  asked: assistantAlreadyAsked.value,
2216
2287
  onClick: onAskAssistantClick
2217
2288
  }, null, 8, ["asked"])
2218
2289
  ])) : createCommentVNode("", true)
2219
2290
  ]),
2220
- !_ctx.compact ? (openBlock(), createElementBlock("div", _hoisted_7$2, [
2221
- createBaseVNode("div", _hoisted_8$2, [
2222
- 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),
2223
2294
  createVNode(_component_n8n_tooltip, {
2224
2295
  class: "item",
2225
2296
  content: unref(i18n).baseText("nodeErrorView.copyToClipboard.tooltip"),
2226
2297
  placement: "left"
2227
2298
  }, {
2228
2299
  default: withCtx(() => [
2229
- createBaseVNode("div", _hoisted_10, [
2230
- createVNode(_component_n8n_icon_button, {
2300
+ createBaseVNode("div", _hoisted_9$2, [
2301
+ createVNode(unref(_sfc_main$b), {
2231
2302
  icon: "copy",
2232
2303
  type: "secondary",
2233
2304
  size: "mini",
2234
- text: "true",
2305
+ text: true,
2235
2306
  "transparent-background": "transparent",
2236
2307
  onClick: copyErrorDetails
2237
2308
  })
@@ -2240,9 +2311,9 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2240
2311
  _: 1
2241
2312
  }, 8, ["content"])
2242
2313
  ]),
2243
- createBaseVNode("div", _hoisted_11, [
2244
- "httpCode" in _ctx.error && _ctx.error.httpCode || prepareRawMessages.value.length || _ctx.error?.context?.data || _ctx.error.extra ? (openBlock(), createElementBlock("details", _hoisted_12, [
2245
- 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, [
2246
2317
  createVNode(_component_font_awesome_icon, {
2247
2318
  class: "node-error-view__details-icon",
2248
2319
  icon: "angle-right"
@@ -2251,16 +2322,16 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2251
2322
  interpolate: { node: `${nodeDefaultName.value}` }
2252
2323
  })), 1)
2253
2324
  ]),
2254
- createBaseVNode("div", _hoisted_14, [
2255
- "httpCode" in _ctx.error && _ctx.error.httpCode ? (openBlock(), createElementBlock("div", _hoisted_15, [
2256
- createBaseVNode("p", _hoisted_16, toDisplayString(unref(i18n).baseText("nodeErrorView.errorCode")), 1),
2257
- 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, [
2258
2329
  createBaseVNode("code", null, toDisplayString(_ctx.error.httpCode), 1)
2259
2330
  ])
2260
2331
  ])) : createCommentVNode("", true),
2261
- prepareRawMessages.value.length ? (openBlock(), createElementBlock("div", _hoisted_18, [
2262
- createBaseVNode("p", _hoisted_19, toDisplayString(unref(i18n).baseText("nodeErrorView.details.rawMessages")), 1),
2263
- 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, [
2264
2335
  (openBlock(true), createElementBlock(Fragment, null, renderList(prepareRawMessages.value, (msg, index) => {
2265
2336
  return openBlock(), createElementBlock("div", { key: index }, [
2266
2337
  createBaseVNode("pre", null, [
@@ -2270,25 +2341,25 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2270
2341
  }), 128))
2271
2342
  ])
2272
2343
  ])) : createCommentVNode("", true),
2273
- _ctx.error?.context?.data ? (openBlock(), createElementBlock("div", _hoisted_21, [
2274
- createBaseVNode("p", _hoisted_22, toDisplayString(unref(i18n).baseText("nodeErrorView.details.errorData")), 1),
2275
- 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, [
2276
2347
  createBaseVNode("pre", null, [
2277
2348
  createBaseVNode("code", null, toDisplayString(_ctx.error.context.data), 1)
2278
2349
  ])
2279
2350
  ])
2280
2351
  ])) : createCommentVNode("", true),
2281
- _ctx.error.extra ? (openBlock(), createElementBlock("div", _hoisted_24, [
2282
- createBaseVNode("p", _hoisted_25, toDisplayString(unref(i18n).baseText("nodeErrorView.details.errorExtra")), 1),
2283
- 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, [
2284
2355
  createBaseVNode("pre", null, [
2285
2356
  createBaseVNode("code", null, toDisplayString(_ctx.error.extra), 1)
2286
2357
  ])
2287
2358
  ])
2288
2359
  ])) : createCommentVNode("", true),
2289
- _ctx.error.context && _ctx.error.context.request ? (openBlock(), createElementBlock("div", _hoisted_27, [
2290
- createBaseVNode("p", _hoisted_28, toDisplayString(unref(i18n).baseText("nodeErrorView.details.request")), 1),
2291
- 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, [
2292
2363
  createBaseVNode("pre", null, [
2293
2364
  createBaseVNode("code", null, toDisplayString(_ctx.error.context.request), 1)
2294
2365
  ])
@@ -2296,75 +2367,75 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2296
2367
  ])) : createCommentVNode("", true)
2297
2368
  ])
2298
2369
  ])) : createCommentVNode("", true),
2299
- createBaseVNode("details", _hoisted_30, [
2300
- createBaseVNode("summary", _hoisted_31, [
2370
+ createBaseVNode("details", _hoisted_29, [
2371
+ createBaseVNode("summary", _hoisted_30, [
2301
2372
  createVNode(_component_font_awesome_icon, {
2302
2373
  class: "node-error-view__details-icon",
2303
2374
  icon: "angle-right"
2304
2375
  }),
2305
2376
  createTextVNode(" " + toDisplayString(unref(i18n).baseText("nodeErrorView.details.info")), 1)
2306
2377
  ]),
2307
- createBaseVNode("div", _hoisted_32, [
2308
- _ctx.error.context && _ctx.error.context.itemIndex !== void 0 ? (openBlock(), createElementBlock("div", _hoisted_33, [
2309
- createBaseVNode("p", _hoisted_34, toDisplayString(unref(i18n).baseText("nodeErrorView.itemIndex")), 1),
2310
- 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, [
2311
2382
  createBaseVNode("code", null, toDisplayString(_ctx.error.context.itemIndex), 1)
2312
2383
  ])
2313
2384
  ])) : createCommentVNode("", true),
2314
- _ctx.error.context && _ctx.error.context.runIndex !== void 0 ? (openBlock(), createElementBlock("div", _hoisted_36, [
2315
- createBaseVNode("p", _hoisted_37, toDisplayString(unref(i18n).baseText("nodeErrorView.runIndex")), 1),
2316
- 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, [
2317
2388
  createBaseVNode("code", null, toDisplayString(_ctx.error.context.runIndex), 1)
2318
2389
  ])
2319
2390
  ])) : createCommentVNode("", true),
2320
- _ctx.error.context && _ctx.error.context.parameter !== void 0 ? (openBlock(), createElementBlock("div", _hoisted_39, [
2321
- createBaseVNode("p", _hoisted_40, toDisplayString(unref(i18n).baseText("nodeErrorView.inParameter")), 1),
2322
- 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, [
2323
2394
  createBaseVNode("code", null, toDisplayString(parameterDisplayName(`${_ctx.error.context.parameter}`)), 1)
2324
2395
  ])
2325
2396
  ])) : createCommentVNode("", true),
2326
- _ctx.error.node && _ctx.error.node.type ? (openBlock(), createElementBlock("div", _hoisted_42, [
2327
- createBaseVNode("p", _hoisted_43, toDisplayString(unref(i18n).baseText("nodeErrorView.details.nodeType")), 1),
2328
- 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, [
2329
2400
  createBaseVNode("code", null, toDisplayString(_ctx.error.node.type), 1)
2330
2401
  ])
2331
2402
  ])) : createCommentVNode("", true),
2332
- _ctx.error.node && _ctx.error.node.typeVersion ? (openBlock(), createElementBlock("div", _hoisted_45, [
2333
- createBaseVNode("p", _hoisted_46, toDisplayString(unref(i18n).baseText("nodeErrorView.details.nodeVersion")), 1),
2334
- 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, [
2335
2406
  createBaseVNode("code", null, [
2336
2407
  createBaseVNode("span", null, toDisplayString(_ctx.error.node.typeVersion + " "), 1),
2337
2408
  createBaseVNode("span", null, "(" + toDisplayString(nodeVersionTag(_ctx.error.node)) + ")", 1)
2338
2409
  ])
2339
2410
  ])
2340
2411
  ])) : createCommentVNode("", true),
2341
- createBaseVNode("div", _hoisted_48, [
2342
- createBaseVNode("p", _hoisted_49, toDisplayString(unref(i18n).baseText("nodeErrorView.details.n8nVersion")), 1),
2343
- 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, [
2344
2415
  createBaseVNode("code", null, toDisplayString(n8nVersion.value), 1)
2345
2416
  ])
2346
2417
  ]),
2347
- _ctx.error.timestamp ? (openBlock(), createElementBlock("div", _hoisted_51, [
2348
- createBaseVNode("p", _hoisted_52, toDisplayString(unref(i18n).baseText("nodeErrorView.time")), 1),
2349
- 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, [
2350
2421
  createBaseVNode("code", null, toDisplayString(new Date(_ctx.error.timestamp).toLocaleString()), 1)
2351
2422
  ])
2352
2423
  ])) : createCommentVNode("", true),
2353
- _ctx.error.cause && displayCause.value ? (openBlock(), createElementBlock("div", _hoisted_54, [
2354
- createBaseVNode("p", _hoisted_55, toDisplayString(unref(i18n).baseText("nodeErrorView.details.errorCause")), 1),
2355
- 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, [
2356
2427
  createBaseVNode("code", null, toDisplayString(_ctx.error.cause), 1)
2357
2428
  ])
2358
2429
  ])) : createCommentVNode("", true),
2359
- _ctx.error.context && _ctx.error.context.causeDetailed ? (openBlock(), createElementBlock("div", _hoisted_57, [
2360
- createBaseVNode("p", _hoisted_58, toDisplayString(unref(i18n).baseText("nodeErrorView.details.causeDetailed")), 1),
2361
- 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, [
2362
2433
  createBaseVNode("code", null, toDisplayString(_ctx.error.context.causeDetailed), 1)
2363
2434
  ])
2364
2435
  ])) : createCommentVNode("", true),
2365
- _ctx.error.stack ? (openBlock(), createElementBlock("div", _hoisted_60, [
2366
- createBaseVNode("p", _hoisted_61, toDisplayString(unref(i18n).baseText("nodeErrorView.details.stackTrace")), 1),
2367
- 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, [
2368
2439
  createBaseVNode("code", null, toDisplayString(_ctx.error.stack), 1)
2369
2440
  ])
2370
2441
  ])) : createCommentVNode("", true)
@@ -2372,11 +2443,156 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2372
2443
  ])
2373
2444
  ])
2374
2445
  ])) : createCommentVNode("", true)
2375
- ]);
2446
+ ], 2);
2376
2447
  };
2377
2448
  }
2378
2449
  });
2379
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
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
+ }
2595
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2380
2596
  __name: "ConsumedTokensDetails",
2381
2597
  props: {
2382
2598
  consumedTokens: {}
@@ -2417,7 +2633,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2417
2633
  }
2418
2634
  });
2419
2635
  const _hoisted_1$7 = ["href"];
2420
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2636
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2421
2637
  __name: "ViewSubExecution",
2422
2638
  props: {
2423
2639
  taskMetadata: {},
@@ -2474,7 +2690,7 @@ const style0$4 = {
2474
2690
  const cssModules$4 = {
2475
2691
  "$style": style0$4
2476
2692
  };
2477
- const ViewSubExecution = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__cssModules", cssModules$4]]);
2693
+ const ViewSubExecution = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__cssModules", cssModules$4]]);
2478
2694
  var vueJsonPretty$1 = { exports: {} };
2479
2695
  var vueJsonPretty = vueJsonPretty$1.exports;
2480
2696
  var hasRequiredVueJsonPretty;
@@ -2827,7 +3043,7 @@ const sanitizeOptions = {
2827
3043
  head: ""
2828
3044
  }
2829
3045
  };
2830
- const _sfc_main$6 = {
3046
+ const _sfc_main$7 = {
2831
3047
  name: "RunDataHtml",
2832
3048
  props: {
2833
3049
  inputHtml: {
@@ -2848,7 +3064,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
2848
3064
  srcdoc: $options.sanitizedHtml
2849
3065
  }, null, 8, _hoisted_1$6);
2850
3066
  }
2851
- const RunDataHtml = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["render", _sfc_render]]);
3067
+ const RunDataHtml = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["render", _sfc_render]]);
2852
3068
  const RunDataHtml$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2853
3069
  __proto__: null,
2854
3070
  default: RunDataHtml
@@ -2870,7 +3086,7 @@ const _hoisted_6$1 = {
2870
3086
  const _hoisted_7$1 = ["src", "type"];
2871
3087
  const _hoisted_8$1 = ["src"];
2872
3088
  const _hoisted_9$1 = ["src"];
2873
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
3089
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2874
3090
  __name: "BinaryDataDisplayEmbed",
2875
3091
  props: {
2876
3092
  binaryData: {}
@@ -2949,7 +3165,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
2949
3165
  });
2950
3166
  const _hoisted_1$4 = { class: "binary-data-window-wrapper" };
2951
3167
  const _hoisted_2$2 = { key: 0 };
2952
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
3168
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
2953
3169
  __name: "BinaryDataDisplay",
2954
3170
  props: {
2955
3171
  displayData: {},
@@ -3008,7 +3224,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
3008
3224
  onClick: withModifiers(closeWindow, ["stop"])
3009
3225
  }, null, 8, ["title", "label"]),
3010
3226
  createBaseVNode("div", _hoisted_1$4, [
3011
- !binaryData.value ? (openBlock(), createElementBlock("div", _hoisted_2$2, toDisplayString(unref(i18n).baseText("binaryDataDisplay.noDataFoundToDisplay")), 1)) : (openBlock(), createBlock(_sfc_main$5, {
3227
+ !binaryData.value ? (openBlock(), createElementBlock("div", _hoisted_2$2, toDisplayString(unref(i18n).baseText("binaryDataDisplay.noDataFoundToDisplay")), 1)) : (openBlock(), createBlock(_sfc_main$6, {
3012
3228
  key: 1,
3013
3229
  "binary-data": binaryData.value
3014
3230
  }, null, 8, ["binary-data"]))
@@ -3022,7 +3238,7 @@ const _hoisted_2$1 = { key: 1 };
3022
3238
  const _hoisted_3$1 = { key: 2 };
3023
3239
  const _hoisted_4$1 = { key: 0 };
3024
3240
  const _hoisted_5$1 = { key: 1 };
3025
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
3241
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
3026
3242
  __name: "RunDataPinButton",
3027
3243
  props: {
3028
3244
  tooltipContentsVisibility: {},
@@ -3071,7 +3287,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
3071
3287
  ]))
3072
3288
  ]),
3073
3289
  default: withCtx(() => [
3074
- createVNode(unref(_sfc_main$a), {
3290
+ createVNode(unref(_sfc_main$b), {
3075
3291
  class: normalizeClass(_ctx.$style.pinDataButton),
3076
3292
  type: "tertiary",
3077
3293
  active: props.pinnedData.hasData.value,
@@ -3093,23 +3309,22 @@ const style0$3 = {
3093
3309
  const cssModules$3 = {
3094
3310
  "$style": style0$3
3095
3311
  };
3096
- const RunDataPinButton = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__cssModules", cssModules$3]]);
3312
+ const RunDataPinButton = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__cssModules", cssModules$3]]);
3097
3313
  const _hoisted_1$2 = { key: 0 };
3098
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3314
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
3099
3315
  __name: "RunDataItemCount",
3100
3316
  props: {
3101
3317
  dataCount: {},
3102
3318
  unfilteredDataCount: {},
3103
3319
  subExecutionsCount: { default: 0 },
3104
- search: {},
3105
- muted: { type: Boolean }
3320
+ search: {}
3106
3321
  },
3107
3322
  setup(__props) {
3108
3323
  const i18n = useI18n();
3109
3324
  return (_ctx, _cache) => {
3110
3325
  return _ctx.search ? (openBlock(), createBlock(unref(N8nText), {
3111
3326
  key: 0,
3112
- class: normalizeClass([_ctx.$style.itemsText, _ctx.muted ? _ctx.$style.muted : ""])
3327
+ class: normalizeClass(_ctx.$style.itemsText)
3113
3328
  }, {
3114
3329
  default: withCtx(() => [
3115
3330
  createTextVNode(toDisplayString(unref(i18n).baseText("ndv.search.items", {
@@ -3120,7 +3335,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3120
3335
  _: 1
3121
3336
  }, 8, ["class"])) : (openBlock(), createBlock(unref(N8nText), {
3122
3337
  key: 1,
3123
- class: normalizeClass([_ctx.$style.itemsText, _ctx.muted ? _ctx.$style.muted : ""])
3338
+ class: normalizeClass(_ctx.$style.itemsText)
3124
3339
  }, {
3125
3340
  default: withCtx(() => [
3126
3341
  createBaseVNode("span", null, toDisplayString(unref(i18n).baseText("ndv.output.items", {
@@ -3137,25 +3352,24 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3137
3352
  };
3138
3353
  }
3139
3354
  });
3140
- const itemsText = "_itemsText_1p5xj_123";
3141
- const muted = "_muted_1p5xj_130";
3355
+ const itemsText = "_itemsText_1e7yn_123";
3142
3356
  const style0$2 = {
3143
- itemsText,
3144
- muted
3357
+ itemsText
3145
3358
  };
3146
3359
  const cssModules$2 = {
3147
3360
  "$style": style0$2
3148
3361
  };
3149
- const RunDataItemCount = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__cssModules", cssModules$2]]);
3150
- const _hoisted_1$1 = { key: 5 };
3151
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3362
+ const RunDataItemCount = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__cssModules", cssModules$2]]);
3363
+ const _hoisted_1$1 = { key: 6 };
3364
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3152
3365
  __name: "RunDataDisplayModeSelect",
3153
3366
  props: {
3154
3367
  compact: { type: Boolean },
3155
3368
  value: {},
3156
3369
  hasBinaryData: { type: Boolean },
3157
3370
  paneType: {},
3158
- nodeGeneratesHtml: { type: Boolean }
3371
+ nodeGeneratesHtml: { type: Boolean },
3372
+ hasRenderableData: { type: Boolean }
3159
3373
  },
3160
3374
  emits: ["change"],
3161
3375
  setup(__props, { emit: __emit }) {
@@ -3173,13 +3387,27 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3173
3387
  if (__props.paneType === "output" && __props.nodeGeneratesHtml) {
3174
3388
  defaults.unshift({ label: "HTML", value: "html" });
3175
3389
  }
3390
+ if (__props.hasRenderableData) {
3391
+ defaults.unshift({ label: i18n.baseText("runData.rendered"), value: "ai" });
3392
+ }
3176
3393
  return defaults;
3177
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
+ );
3178
3404
  return (_ctx, _cache) => {
3179
3405
  return openBlock(), createBlock(unref(N8nRadioButtons), {
3180
3406
  "model-value": _ctx.value,
3181
3407
  options: options.value,
3182
3408
  "data-test-id": "ndv-run-data-display-mode",
3409
+ size: _ctx.compact ? "small-medium" : "medium",
3410
+ "square-buttons": _ctx.compact,
3183
3411
  "onUpdate:modelValue": _cache[0] || (_cache[0] = (selected) => emit("change", selected))
3184
3412
  }, createSlots({ _: 2 }, [
3185
3413
  _ctx.compact ? {
@@ -3188,44 +3416,107 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3188
3416
  option.value === "table" ? (openBlock(), createBlock(unref(N8nIcon), {
3189
3417
  key: 0,
3190
3418
  icon: "table",
3191
- size: "small",
3192
- class: normalizeClass(_ctx.$style.icon)
3193
- }, null, 8, ["class"])) : option.value === "json" ? (openBlock(), createBlock(unref(N8nIcon), {
3419
+ size: "small"
3420
+ })) : option.value === "json" ? (openBlock(), createBlock(unref(N8nIcon), {
3194
3421
  key: 1,
3195
3422
  icon: "json",
3196
- size: "small",
3197
- class: normalizeClass(_ctx.$style.icon)
3198
- }, null, 8, ["class"])) : option.value === "binary" ? (openBlock(), createBlock(unref(N8nIcon), {
3423
+ size: "small"
3424
+ })) : option.value === "binary" ? (openBlock(), createBlock(unref(N8nIcon), {
3199
3425
  key: 2,
3200
3426
  icon: "binary",
3201
- size: "small",
3202
- class: normalizeClass(_ctx.$style.icon)
3203
- }, null, 8, ["class"])) : option.value === "schema" ? (openBlock(), createBlock(unref(N8nIcon), {
3427
+ size: "small"
3428
+ })) : option.value === "schema" ? (openBlock(), createBlock(unref(N8nIcon), {
3204
3429
  key: 3,
3205
3430
  icon: "schema",
3206
- size: "small",
3207
- class: normalizeClass(_ctx.$style.icon)
3208
- }, null, 8, ["class"])) : option.value === "html" ? (openBlock(), createBlock(unref(N8nIcon), {
3431
+ size: "small"
3432
+ })) : option.value === "html" ? (openBlock(), createBlock(unref(N8nIcon), {
3209
3433
  key: 4,
3210
3434
  icon: "html",
3211
- size: "small",
3212
- class: normalizeClass(_ctx.$style.icon)
3213
- }, null, 8, ["class"])) : (openBlock(), createElementBlock("span", _hoisted_1$1, toDisplayString(option.label), 1))
3435
+ size: "small"
3436
+ })) : option.value === "ai" ? (openBlock(), createBlock(unref(N8nIcon), {
3437
+ key: 5,
3438
+ icon: "text",
3439
+ size: "small"
3440
+ })) : (openBlock(), createElementBlock("span", _hoisted_1$1, toDisplayString(option.label), 1))
3214
3441
  ]),
3215
3442
  key: "0"
3216
3443
  } : void 0
3217
- ]), 1032, ["model-value", "options"]);
3444
+ ]), 1032, ["model-value", "options", "size", "square-buttons"]);
3445
+ };
3446
+ }
3447
+ });
3448
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3449
+ __name: "RunDataPaginationBar",
3450
+ props: {
3451
+ pageSize: {},
3452
+ total: {},
3453
+ currentPage: {}
3454
+ },
3455
+ emits: ["update:current-page", "update:page-size"],
3456
+ setup(__props, { emit: __emit }) {
3457
+ const emit = __emit;
3458
+ const i18n = useI18n();
3459
+ const pageSizes = [1, 10, 25, 50, 100];
3460
+ return (_ctx, _cache) => {
3461
+ const _component_el_pagination = resolveComponent("el-pagination");
3462
+ const _component_N8nOption = resolveComponent("N8nOption");
3463
+ const _component_N8nSelect = resolveComponent("N8nSelect");
3464
+ return openBlock(), createElementBlock("div", {
3465
+ class: normalizeClass(_ctx.$style.pagination),
3466
+ "data-test-id": "ndv-data-pagination"
3467
+ }, [
3468
+ createVNode(_component_el_pagination, {
3469
+ background: "",
3470
+ "hide-on-single-page": true,
3471
+ "current-page": _ctx.currentPage,
3472
+ "pager-count": 5,
3473
+ "page-size": _ctx.pageSize,
3474
+ layout: "prev, pager, next",
3475
+ total: _ctx.total,
3476
+ "onUpdate:currentPage": _cache[0] || (_cache[0] = (value) => emit("update:current-page", value))
3477
+ }, null, 8, ["current-page", "page-size", "total"]),
3478
+ createBaseVNode("div", {
3479
+ class: normalizeClass(_ctx.$style.pageSizeSelector)
3480
+ }, [
3481
+ createVNode(_component_N8nSelect, {
3482
+ size: "mini",
3483
+ "model-value": _ctx.pageSize,
3484
+ teleported: "",
3485
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = (value) => emit("update:page-size", value))
3486
+ }, {
3487
+ prepend: withCtx(() => [
3488
+ createTextVNode(toDisplayString(unref(i18n).baseText("ndv.output.pageSize")), 1)
3489
+ ]),
3490
+ default: withCtx(() => [
3491
+ (openBlock(), createElementBlock(Fragment, null, renderList(pageSizes, (size) => {
3492
+ return createVNode(_component_N8nOption, {
3493
+ key: size,
3494
+ label: size,
3495
+ value: size
3496
+ }, null, 8, ["label", "value"]);
3497
+ }), 64)),
3498
+ createVNode(_component_N8nOption, {
3499
+ label: unref(i18n).baseText("ndv.output.all"),
3500
+ value: _ctx.total
3501
+ }, null, 8, ["label", "value"])
3502
+ ]),
3503
+ _: 1
3504
+ }, 8, ["model-value"])
3505
+ ], 2)
3506
+ ], 2);
3218
3507
  };
3219
3508
  }
3220
3509
  });
3221
- const icon = "_icon_1xx9c_123";
3510
+ const pagination = "_pagination_1hlvz_123";
3511
+ const pageSizeSelector = "_pageSizeSelector_1hlvz_134";
3222
3512
  const style0$1 = {
3223
- icon
3513
+ pagination,
3514
+ pageSizeSelector
3224
3515
  };
3225
3516
  const cssModules$1 = {
3226
3517
  "$style": style0$1
3227
3518
  };
3228
- const RunDataDisplayModeSelect = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__cssModules", cssModules$1]]);
3519
+ const RunDataPaginationBar = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__cssModules", cssModules$1]]);
3229
3520
  const _hoisted_1 = {
3230
3521
  key: 0,
3231
3522
  class: "ml-4xs"
@@ -3242,11 +3533,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3242
3533
  __name: "RunData",
3243
3534
  props: {
3244
3535
  workflow: {},
3536
+ workflowExecution: { default: void 0 },
3245
3537
  runIndex: {},
3246
3538
  tooMuchDataTitle: {},
3247
3539
  executingMessage: {},
3248
3540
  pushRef: {},
3249
3541
  paneType: {},
3542
+ displayMode: {},
3250
3543
  noDataInBranchMessage: {},
3251
3544
  node: { default: null },
3252
3545
  nodes: { default: () => [] },
@@ -3265,24 +3558,29 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3265
3558
  disableEdit: { type: Boolean, default: false },
3266
3559
  disablePin: { type: Boolean, default: false },
3267
3560
  compact: { type: Boolean, default: false },
3268
- tableHeaderBgColor: { default: "base" }
3561
+ tableHeaderBgColor: { default: "base" },
3562
+ disableHoverHighlight: { type: Boolean, default: false },
3563
+ disableAiContent: { type: Boolean, default: false }
3269
3564
  },
3270
- emits: ["search", "runChange", "itemHover", "linkRun", "unlinkRun", "activatePane", "tableMounted"],
3565
+ emits: ["search", "runChange", "itemHover", "linkRun", "unlinkRun", "activatePane", "tableMounted", "displayModeChange"],
3271
3566
  setup(__props, { expose: __expose, emit: __emit }) {
3272
3567
  const LazyRunDataTable = defineAsyncComponent(
3273
- async () => await __vitePreload(() => import("./RunDataTable-BO0R4JT_.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)
3274
3569
  );
3275
3570
  const LazyRunDataJson = defineAsyncComponent(
3276
- async () => await __vitePreload(() => import("./RunDataJson-B2WU5od1.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)
3277
3572
  );
3278
3573
  const LazyRunDataSchema = defineAsyncComponent(
3279
- async () => await __vitePreload(() => import("./index-BpdkKRP4.js").then((n) => n.is), 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)
3280
3575
  );
3281
3576
  const LazyRunDataHtml = defineAsyncComponent(
3282
3577
  async () => await __vitePreload(() => Promise.resolve().then(() => RunDataHtml$1), true ? void 0 : void 0)
3283
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
+ );
3284
3582
  const LazyRunDataSearch = defineAsyncComponent(
3285
- async () => await __vitePreload(() => import("./RunDataSearch-CQsyZvGK.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)
3286
3584
  );
3287
3585
  const props = __props;
3288
3586
  const emit = __emit;
@@ -3295,7 +3593,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3295
3593
  const binaryDataDisplayData = ref(null);
3296
3594
  const currentPage = ref(1);
3297
3595
  const pageSize = ref(10);
3298
- const pageSizes = [1, 10, 25, 50, 100];
3299
3596
  const pinDataDiscoveryTooltipVisible = ref(false);
3300
3597
  const isControlledPinDataTooltip = ref(false);
3301
3598
  const search2 = ref("");
@@ -3317,14 +3614,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3317
3614
  const node = toRef(props, "node");
3318
3615
  const pinnedData = usePinnedData(node, {
3319
3616
  runIndex: props.runIndex,
3320
- displayMode: props.paneType === "input" ? ndvStore.inputPanelDisplayMode : ndvStore.outputPanelDisplayMode
3617
+ displayMode: props.displayMode
3321
3618
  });
3322
3619
  const { isSubNodeType } = useNodeType({
3323
3620
  node
3324
3621
  });
3325
- const displayMode = computed(
3326
- () => props.paneType === "input" ? ndvStore.inputPanelDisplayMode : ndvStore.outputPanelDisplayMode
3327
- );
3328
3622
  const isReadOnlyRoute = computed(() => route.meta.readOnlyCanvas === true);
3329
3623
  const isWaitNodeWaiting = computed(() => {
3330
3624
  return node.value?.name && workflowExecution.value?.data?.resultData?.runData?.[node.value?.name]?.[props.runIndex]?.executionStatus === "waiting";
@@ -3334,11 +3628,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3334
3628
  if (!node.value) return null;
3335
3629
  return nodeTypesStore.getNodeType(node.value.type, node.value.typeVersion);
3336
3630
  });
3337
- const isSchemaView = computed(() => displayMode.value === "schema");
3631
+ const isSchemaView = computed(() => props.displayMode === "schema");
3338
3632
  const isSearchInSchemaView = computed(() => isSchemaView.value && !!search2.value);
3339
- const displaysMultipleNodes = computed(
3340
- () => isSchemaView.value && props.paneType === "input" && props.nodes.length > 0
3341
- );
3633
+ const hasMultipleInputNodes = computed(() => props.paneType === "input" && props.nodes.length > 0);
3634
+ const displaysMultipleNodes = computed(() => isSchemaView.value && hasMultipleInputNodes.value);
3342
3635
  const isTriggerNode = computed(() => !!node.value && nodeTypesStore.isTriggerNode(node.value.type));
3343
3636
  const canPinData = computed(
3344
3637
  () => !!node.value && pinnedData.canPinNode(false, currentOutputIndex.value) && !isPaneTypeInput.value && pinnedData.isValidNodeType.value && !(binaryData.value && binaryData.value.length > 0)
@@ -3385,12 +3678,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3385
3678
  }
3386
3679
  return [];
3387
3680
  });
3388
- const workflowExecution = computed(() => workflowsStore.getWorkflowExecution);
3681
+ const workflowExecution = computed(
3682
+ () => props.workflowExecution ?? workflowsStore.getWorkflowExecution ?? void 0
3683
+ );
3389
3684
  const workflowRunData = computed(() => {
3390
- if (workflowExecution.value === null) {
3685
+ if (workflowExecution.value === void 0) {
3391
3686
  return null;
3392
3687
  }
3393
- const executionData = workflowExecution.value.data;
3688
+ const executionData = workflowExecution.value?.data;
3394
3689
  if (executionData?.resultData) {
3395
3690
  return executionData.resultData.runData;
3396
3691
  }
@@ -3498,7 +3793,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3498
3793
  const isPaneTypeOutput = computed(() => props.paneType === "output");
3499
3794
  const readOnlyEnv = computed(() => sourceControlStore.preferences.branchReadOnly);
3500
3795
  const showIOSearch = computed(
3501
- () => hasNodeRun.value && !hasRunError.value && unfilteredInputData.value.length > 0
3796
+ () => hasNodeRun.value && !hasRunError.value && (unfilteredInputData.value.length > 0 || displaysMultipleNodes.value)
3502
3797
  );
3503
3798
  const inputSelectLocation = computed(() => {
3504
3799
  if (isSchemaView.value) return "none";
@@ -3510,7 +3805,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3510
3805
  return "items";
3511
3806
  });
3512
3807
  const showIoSearchNoMatchContent = computed(
3513
- () => hasNodeRun.value && !inputData.value.length && !!search2.value
3808
+ () => hasNodeRun.value && !inputData.value.length && !!search2.value && !displaysMultipleNodes.value
3514
3809
  );
3515
3810
  const parentNodeOutputData = computed(() => {
3516
3811
  const parentNode = props.workflow.getParentNodesByDepth(node.value?.name ?? "")[0];
@@ -3568,7 +3863,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3568
3863
  if (!node.value) {
3569
3864
  return false;
3570
3865
  }
3571
- const taskData = nodeHelpers.getNodeTaskData(node.value, props.runIndex);
3866
+ const taskData = nodeHelpers.getNodeTaskData(node.value.name, props.runIndex);
3572
3867
  return Boolean(taskData?.inputOverride);
3573
3868
  });
3574
3869
  const isSchemaPreviewEnabled = computed(
@@ -3598,9 +3893,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3598
3893
  search: search2.value,
3599
3894
  dataCount: dataCount.value,
3600
3895
  unfilteredDataCount: unfilteredDataCount.value,
3601
- subExecutionsCount: activeTaskMetadata.value?.subExecutionsCount,
3602
- muted: props.compact || props.paneType === "input" && maxRunIndex.value === 0
3896
+ subExecutionsCount: activeTaskMetadata.value?.subExecutionsCount
3603
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
+ );
3904
+ function setInputBranchIndex(value) {
3905
+ if (props.paneType === "input") {
3906
+ outputIndex.value = value;
3907
+ }
3908
+ }
3604
3909
  watch(node, (newNode, prevNode) => {
3605
3910
  if (newNode?.id === prevNode?.id) return;
3606
3911
  init();
@@ -3632,9 +3937,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3632
3937
  showPinDataDiscoveryTooltip(data);
3633
3938
  });
3634
3939
  watch(binaryData, (newData, prevData) => {
3635
- if (newData.length && !prevData.length && displayMode.value !== "binary") {
3940
+ if (newData.length && !prevData.length && props.displayMode !== "binary") {
3636
3941
  switchToBinary();
3637
- } else if (!newData.length && displayMode.value === "binary") {
3942
+ } else if (!newData.length && props.displayMode === "binary") {
3638
3943
  onDisplayModeChange("table");
3639
3944
  }
3640
3945
  });
@@ -3647,8 +3952,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3647
3952
  watch(search2, (newSearch) => {
3648
3953
  emit("search", newSearch);
3649
3954
  });
3955
+ watch(
3956
+ hasParsedAiContent,
3957
+ (hasAiContent) => {
3958
+ if (hasAiContent && props.displayMode !== "ai") {
3959
+ emit("displayModeChange", "ai");
3960
+ }
3961
+ },
3962
+ { immediate: true }
3963
+ );
3650
3964
  onMounted(() => {
3651
3965
  init();
3966
+ ndvEventBus.on("setInputBranchIndex", setInputBranchIndex);
3652
3967
  if (!isPaneTypeInput.value) {
3653
3968
  showPinDataDiscoveryTooltip(jsonData.value);
3654
3969
  }
@@ -3681,6 +3996,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3681
3996
  });
3682
3997
  onBeforeUnmount(() => {
3683
3998
  hidePinDataDiscoveryTooltip();
3999
+ ndvEventBus.off("setInputBranchIndex", setInputBranchIndex);
3684
4000
  });
3685
4001
  function getResolvedNodeOutputs() {
3686
4002
  if (node.value && nodeType.value) {
@@ -3713,12 +4029,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3713
4029
  }
3714
4030
  return true;
3715
4031
  }
3716
- function getNodeHints$1() {
4032
+ function getNodeHints() {
3717
4033
  try {
3718
4034
  if (node.value && nodeType.value) {
3719
4035
  const workflowNode = props.workflow.getNode(node.value.name);
3720
4036
  if (workflowNode) {
3721
- const nodeHints = getNodeHints(props.workflow, workflowNode, nodeType.value, {
4037
+ const nodeHints = nodeHelpers.getNodeHints(props.workflow, workflowNode, nodeType.value, {
3722
4038
  runExecutionData: workflowExecution.value?.data ?? null,
3723
4039
  runIndex: props.runIndex,
3724
4040
  connectionInputData: parentNodeOutputData.value
@@ -3798,7 +4114,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3798
4114
  push_ref: props.pushRef,
3799
4115
  run_index: props.runIndex,
3800
4116
  is_output_present: hasNodeRun.value || pinnedData.hasData.value,
3801
- view: !hasNodeRun.value && !pinnedData.hasData.value ? "undefined" : displayMode.value,
4117
+ view: !hasNodeRun.value && !pinnedData.hasData.value ? "undefined" : props.displayMode,
3802
4118
  is_data_pinned: pinnedData.hasData.value
3803
4119
  });
3804
4120
  }
@@ -3832,7 +4148,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3832
4148
  node_type: activeNode.value?.type,
3833
4149
  push_ref: props.pushRef,
3834
4150
  run_index: props.runIndex,
3835
- view: displayMode.value,
4151
+ view: props.displayMode,
3836
4152
  type
3837
4153
  });
3838
4154
  }
@@ -3845,7 +4161,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3845
4161
  node_type: activeNode.value?.type,
3846
4162
  push_ref: props.pushRef,
3847
4163
  run_index: props.runIndex,
3848
- view: !hasNodeRun.value && !pinnedData.hasData.value ? "none" : displayMode.value
4164
+ view: !hasNodeRun.value && !pinnedData.hasData.value ? "none" : props.displayMode
3849
4165
  };
3850
4166
  void externalHooks.run("runData.onTogglePinData", telemetryPayload);
3851
4167
  telemetry.track("User clicked pin data icon", telemetryPayload);
@@ -3945,8 +4261,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3945
4261
  });
3946
4262
  }
3947
4263
  function onDisplayModeChange(newDisplayMode) {
3948
- const previous = displayMode.value;
3949
- ndvStore.setPanelDisplayMode({ pane: props.paneType, mode: newDisplayMode });
4264
+ const previous = props.displayMode;
4265
+ emit("displayModeChange", newDisplayMode);
3950
4266
  if (!userEnabledShowData.value) updateShowData();
3951
4267
  if (dataContainerRef.value) {
3952
4268
  const dataDisplay2 = dataContainerRef.value.children[0];
@@ -4000,7 +4316,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4000
4316
  runIndex,
4001
4317
  outputIndex2,
4002
4318
  props.paneType,
4003
- connectionType2
4319
+ connectionType2,
4320
+ workflowExecution.value
4004
4321
  );
4005
4322
  }
4006
4323
  if (inputData2.length === 0 || !Array.isArray(inputData2)) {
@@ -4057,15 +4374,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4057
4374
  }
4058
4375
  connectionType.value = outputTypes.length === 0 ? NodeConnectionTypes.Main : outputTypes[0];
4059
4376
  if (binaryData.value.length > 0) {
4060
- ndvStore.setPanelDisplayMode({
4061
- pane: props.paneType,
4062
- mode: "binary"
4063
- });
4064
- } else if (displayMode.value === "binary") {
4065
- ndvStore.setPanelDisplayMode({
4066
- pane: props.paneType,
4067
- mode: "schema"
4068
- });
4377
+ emit("displayModeChange", "binary");
4378
+ } else if (props.displayMode === "binary") {
4379
+ emit("displayModeChange", "schema");
4069
4380
  }
4070
4381
  }
4071
4382
  function closeBinaryDataDisplay() {
@@ -4154,10 +4465,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4154
4465
  if (!activeNode.value) return;
4155
4466
  const shouldDisplayHtml = activeNode.value.type === HTML_NODE_TYPE && activeNode.value.parameters.operation === "generateHtmlTemplate";
4156
4467
  if (shouldDisplayHtml) {
4157
- ndvStore.setPanelDisplayMode({
4158
- pane: "output",
4159
- mode: "html"
4160
- });
4468
+ emit("displayModeChange", "html");
4161
4469
  }
4162
4470
  }
4163
4471
  function activatePane() {
@@ -4170,7 +4478,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4170
4478
  __expose({ enterEditMode });
4171
4479
  return (_ctx, _cache) => {
4172
4480
  const _component_i18n_t = resolveComponent("i18n-t");
4173
- const _component_el_pagination = resolveComponent("el-pagination");
4174
4481
  const _directive_n8n_html = resolveDirective("n8n-html");
4175
4482
  return openBlock(), createElementBlock("div", {
4176
4483
  class: normalizeClass(["run-data", _ctx.$style.container, props.compact ? _ctx.$style.compact : ""]),
@@ -4218,7 +4525,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4218
4525
  ]),
4219
4526
  _: 1
4220
4527
  }, 8, ["class"])) : createCommentVNode("", true),
4221
- binaryDataDisplayData.value ? (openBlock(), createBlock(_sfc_main$4, {
4528
+ binaryDataDisplayData.value ? (openBlock(), createBlock(_sfc_main$5, {
4222
4529
  key: 1,
4223
4530
  "window-visible": binaryDataDisplayVisible.value,
4224
4531
  "display-data": binaryDataDisplayData.value,
@@ -4227,7 +4534,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4227
4534
  createBaseVNode("div", {
4228
4535
  class: normalizeClass(_ctx.$style.header)
4229
4536
  }, [
4230
- renderSlot(_ctx.$slots, "header", {}, void 0, true),
4537
+ createBaseVNode("div", {
4538
+ class: normalizeClass(_ctx.$style.title)
4539
+ }, [
4540
+ renderSlot(_ctx.$slots, "header", {}, void 0, true)
4541
+ ], 2),
4231
4542
  withDirectives(createBaseVNode("div", {
4232
4543
  class: normalizeClass(_ctx.$style.displayModes),
4233
4544
  "data-test-id": "run-data-pane-header",
@@ -4242,29 +4553,30 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4242
4553
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => search2.value = $event),
4243
4554
  class: normalizeClass(_ctx.$style.search),
4244
4555
  "pane-type": _ctx.paneType,
4245
- "display-mode": displayMode.value,
4556
+ "display-mode": _ctx.displayMode,
4246
4557
  "is-area-active": _ctx.isPaneActive,
4247
4558
  onFocus: activatePane
4248
4559
  }, null, 8, ["modelValue", "class", "pane-type", "display-mode", "is-area-active"])) : createCommentVNode("", true)
4249
4560
  ]),
4250
4561
  _: 1
4251
4562
  })),
4252
- withDirectives(createVNode(RunDataDisplayModeSelect, {
4563
+ withDirectives(createVNode(_sfc_main$2, {
4253
4564
  class: normalizeClass(_ctx.$style.displayModeSelect),
4254
4565
  compact: props.compact,
4255
- value: displayMode.value,
4566
+ value: _ctx.displayMode,
4256
4567
  "has-binary-data": binaryData.value.length > 0,
4257
4568
  "pane-type": _ctx.paneType,
4258
4569
  "node-generates-html": unref(activeNode)?.type === unref(HTML_NODE_TYPE) && unref(activeNode).parameters.operation === "generateHtmlTemplate",
4570
+ "has-renderable-data": hasParsedAiContent.value,
4259
4571
  onChange: onDisplayModeChange
4260
- }, 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"]), [
4261
4573
  [
4262
4574
  vShow,
4263
- unref(hasPreviewSchema) || hasNodeRun.value && (inputData.value.length || binaryData.value.length || search2.value) && !editMode2.value.enabled
4575
+ unref(hasPreviewSchema) || hasNodeRun.value && (inputData.value.length || binaryData.value.length || search2.value || hasMultipleInputNodes.value) && !editMode2.value.enabled
4264
4576
  ]
4265
4577
  ]),
4266
4578
  props.compact ? (openBlock(), createBlock(RunDataItemCount, normalizeProps(mergeProps({ key: 0 }, itemsCountProps.value)), null, 16)) : createCommentVNode("", true),
4267
- !props.disableEdit && canPinData.value && !isReadOnlyRoute.value && !readOnlyEnv.value ? withDirectives((openBlock(), createBlock(unref(_sfc_main$a), {
4579
+ !props.disableEdit && canPinData.value && !isReadOnlyRoute.value && !readOnlyEnv.value ? withDirectives((openBlock(), createBlock(unref(_sfc_main$b), {
4268
4580
  key: 1,
4269
4581
  title: unref(i18n).baseText("runData.editOutput"),
4270
4582
  circle: false,
@@ -4338,7 +4650,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4338
4650
  ]),
4339
4651
  default: withCtx(() => [
4340
4652
  (openBlock(true), createElementBlock(Fragment, null, renderList(maxRunIndex.value + 1, (option) => {
4341
- return openBlock(), createBlock(unref(_sfc_main$b), {
4653
+ return openBlock(), createBlock(unref(_sfc_main$c), {
4342
4654
  key: option,
4343
4655
  label: getRunLabel(option),
4344
4656
  value: option - 1
@@ -4355,7 +4667,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4355
4667
  createTextVNode(toDisplayString(unref(i18n).baseText(_ctx.linkedRuns ? "runData.unlinking.hint" : "runData.linking.hint")), 1)
4356
4668
  ]),
4357
4669
  default: withCtx(() => [
4358
- createVNode(unref(_sfc_main$a), {
4670
+ createVNode(unref(_sfc_main$b), {
4359
4671
  icon: _ctx.linkedRuns ? "unlink" : "link",
4360
4672
  class: normalizeClass(["linkRun", _ctx.linkedRuns ? "linked" : ""]),
4361
4673
  text: "",
@@ -4372,7 +4684,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4372
4684
  activeTaskMetadata.value && !(_ctx.paneType === "input" && hasInputOverwrite.value) ? (openBlock(), createBlock(ViewSubExecution, {
4373
4685
  key: 0,
4374
4686
  "task-metadata": activeTaskMetadata.value,
4375
- "display-mode": displayMode.value
4687
+ "display-mode": _ctx.displayMode
4376
4688
  }, null, 8, ["task-metadata", "display-mode"])) : createCommentVNode("", true)
4377
4689
  ], 2)), [
4378
4690
  [vShow, !editMode2.value.enabled]
@@ -4396,7 +4708,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4396
4708
  _: 3
4397
4709
  })
4398
4710
  ], 2)) : createCommentVNode("", true),
4399
- (openBlock(true), createElementBlock(Fragment, null, renderList(getNodeHints$1(), (hint) => {
4711
+ (openBlock(true), createElementBlock(Fragment, null, renderList(getNodeHints(), (hint) => {
4400
4712
  return openBlock(), createBlock(unref(N8nCallout), {
4401
4713
  key: hint.message,
4402
4714
  class: normalizeClass(_ctx.$style.hintCallout),
@@ -4420,12 +4732,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4420
4732
  activeTaskMetadata.value && !(_ctx.paneType === "input" && hasInputOverwrite.value) ? (openBlock(), createBlock(ViewSubExecution, {
4421
4733
  key: 1,
4422
4734
  "task-metadata": activeTaskMetadata.value,
4423
- "display-mode": displayMode.value
4735
+ "display-mode": _ctx.displayMode
4424
4736
  }, null, 8, ["task-metadata", "display-mode"])) : createCommentVNode("", true),
4425
4737
  createBaseVNode("div", {
4426
4738
  class: normalizeClass(_ctx.$style.tabs)
4427
4739
  }, [
4428
4740
  createVNode(unref(N8nTabs), {
4741
+ size: "small",
4429
4742
  "model-value": currentOutputIndex.value,
4430
4743
  options: branches.value,
4431
4744
  "onUpdate:modelValue": onBranchChange
@@ -4441,7 +4754,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4441
4754
  activeTaskMetadata.value && !(_ctx.paneType === "input" && hasInputOverwrite.value) ? (openBlock(), createBlock(ViewSubExecution, {
4442
4755
  key: 1,
4443
4756
  "task-metadata": activeTaskMetadata.value,
4444
- "display-mode": displayMode.value
4757
+ "display-mode": _ctx.displayMode
4445
4758
  }, null, 8, ["task-metadata", "display-mode"])) : createCommentVNode("", true)
4446
4759
  ], 2)), [
4447
4760
  [vShow, !editMode2.value.enabled]
@@ -4460,7 +4773,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4460
4773
  createBaseVNode("div", {
4461
4774
  class: normalizeClass(_ctx.$style.spinner)
4462
4775
  }, [
4463
- createVNode(unref(_sfc_main$c), { type: "ring" })
4776
+ createVNode(unref(_sfc_main$d), { type: "ring" })
4464
4777
  ], 2),
4465
4778
  createVNode(unref(N8nText), null, {
4466
4779
  default: withCtx(() => [
@@ -4507,10 +4820,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4507
4820
  key: 2,
4508
4821
  class: normalizeClass(_ctx.$style.stretchVertically)
4509
4822
  }, [
4510
- createVNode(_sfc_main$9, {
4823
+ createVNode(_sfc_main$a, {
4824
+ compact: _ctx.compact,
4511
4825
  error: subworkflowExecutionError.value,
4512
- class: normalizeClass(_ctx.$style.errorDisplay)
4513
- }, null, 8, ["error", "class"])
4826
+ class: normalizeClass(_ctx.$style.errorDisplay),
4827
+ "show-details": ""
4828
+ }, null, 8, ["compact", "error", "class"])
4514
4829
  ], 2)) : isWaitNodeWaiting.value ? (openBlock(), createElementBlock("div", {
4515
4830
  key: 3,
4516
4831
  class: normalizeClass(_ctx.$style.center)
@@ -4546,7 +4861,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4546
4861
  createBaseVNode("div", {
4547
4862
  class: normalizeClass(_ctx.$style.spinner)
4548
4863
  }, [
4549
- createVNode(unref(_sfc_main$c), { type: "ring" })
4864
+ createVNode(unref(_sfc_main$d), { type: "ring" })
4550
4865
  ], 2),
4551
4866
  createVNode(unref(N8nText), {
4552
4867
  color: "text-dark",
@@ -4600,19 +4915,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4600
4915
  ]),
4601
4916
  _: 1
4602
4917
  }, 8, ["class"])) : _ctx.$slots["content"] ? (openBlock(), createElementBlock("div", _hoisted_2, [
4603
- workflowRunErrorAsNodeError.value ? (openBlock(), createBlock(_sfc_main$9, {
4918
+ workflowRunErrorAsNodeError.value ? (openBlock(), createBlock(_sfc_main$a, {
4604
4919
  key: 0,
4605
4920
  error: workflowRunErrorAsNodeError.value,
4606
4921
  class: normalizeClass(_ctx.$style.inlineError),
4607
- compact: ""
4608
- }, null, 8, ["error", "class"])) : createCommentVNode("", true),
4922
+ compact: _ctx.compact
4923
+ }, null, 8, ["error", "class", "compact"])) : createCommentVNode("", true),
4609
4924
  renderSlot(_ctx.$slots, "content", {}, void 0, true)
4610
- ])) : workflowRunErrorAsNodeError.value ? (openBlock(), createBlock(_sfc_main$9, {
4925
+ ])) : workflowRunErrorAsNodeError.value ? (openBlock(), createBlock(_sfc_main$a, {
4611
4926
  key: 2,
4612
4927
  error: workflowRunErrorAsNodeError.value,
4613
- class: normalizeClass(_ctx.$style.dataDisplay)
4614
- }, null, 8, ["error", "class"])) : createCommentVNode("", true)
4615
- ], 2)) : hasNodeRun.value && (!unfilteredDataCount.value || search2.value && !dataCount.value) && branches.value.length > 1 ? (openBlock(), createElementBlock("div", {
4928
+ class: normalizeClass(_ctx.$style.dataDisplay),
4929
+ compact: _ctx.compact,
4930
+ "show-details": ""
4931
+ }, null, 8, ["error", "class", "compact"])) : createCommentVNode("", true)
4932
+ ], 2)) : hasNodeRun.value && (!unfilteredDataCount.value || search2.value && !dataCount.value) && !displaysMultipleNodes.value && branches.value.length > 1 ? (openBlock(), createElementBlock("div", {
4616
4933
  key: 10,
4617
4934
  class: normalizeClass(_ctx.$style.center)
4618
4935
  }, [
@@ -4649,7 +4966,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4649
4966
  ]),
4650
4967
  _: 1
4651
4968
  }))
4652
- ], 2)) : hasNodeRun.value && !inputData.value.length && !search2.value ? (openBlock(), createElementBlock("div", {
4969
+ ], 2)) : hasNodeRun.value && !inputData.value.length && !displaysMultipleNodes.value && !search2.value ? (openBlock(), createElementBlock("div", {
4653
4970
  key: 11,
4654
4971
  class: normalizeClass(_ctx.$style.center)
4655
4972
  }, [
@@ -4697,7 +5014,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4697
5014
  label: unref(i18n).baseText("runData.downloadBinaryData"),
4698
5015
  onClick: _cache[7] || (_cache[7] = ($event) => downloadJsonData())
4699
5016
  }, null, 8, ["label"])
4700
- ], 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", {
4701
5018
  key: 14,
4702
5019
  class: normalizeClass(_ctx.$style.center)
4703
5020
  }, [
@@ -4738,7 +5055,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4738
5055
  ]),
4739
5056
  _: 1
4740
5057
  })
4741
- ], 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 }, {
4742
5059
  default: withCtx(() => [
4743
5060
  createVNode(unref(LazyRunDataTable), {
4744
5061
  node: node.value,
@@ -4751,13 +5068,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4751
5068
  "has-default-hover-state": _ctx.paneType === "input" && !search2.value,
4752
5069
  search: search2.value,
4753
5070
  "header-bg-color": _ctx.tableHeaderBgColor,
5071
+ compact: props.compact,
5072
+ "disable-hover-highlight": props.disableHoverHighlight,
4754
5073
  onMounted: _cache[8] || (_cache[8] = ($event) => emit("tableMounted", $event)),
4755
5074
  onActiveRowChanged: onItemHover,
4756
5075
  onDisplayModeChange
4757
- }, null, 8, ["node", "input-data", "mapping-enabled", "distance-from-active", "run-index", "page-offset", "total-runs", "has-default-hover-state", "search", "header-bg-color"])
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"])
4758
5077
  ]),
4759
5078
  _: 1
4760
- })) : 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 }, {
4761
5080
  default: withCtx(() => [
4762
5081
  createVNode(unref(LazyRunDataJson), {
4763
5082
  "pane-type": _ctx.paneType,
@@ -4770,16 +5089,26 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4770
5089
  "run-index": _ctx.runIndex,
4771
5090
  "output-index": currentOutputIndex.value,
4772
5091
  "total-runs": maxRunIndex.value,
4773
- search: search2.value
4774
- }, null, 8, ["pane-type", "edit-mode", "push-ref", "node", "input-data", "mapping-enabled", "distance-from-active", "run-index", "output-index", "total-runs", "search"])
5092
+ search: search2.value,
5093
+ compact: props.compact
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"])
4775
5095
  ]),
4776
5096
  _: 1
4777
- })) : 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 }, {
4778
5098
  default: withCtx(() => [
4779
5099
  createVNode(unref(LazyRunDataHtml), { "input-html": inputHtml.value }, null, 8, ["input-html"])
4780
5100
  ]),
4781
5101
  _: 1
4782
- })) : (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 }, {
4783
5112
  default: withCtx(() => [
4784
5113
  createVNode(unref(LazyRunDataSchema), {
4785
5114
  nodes: _ctx.nodes,
@@ -4788,17 +5117,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4788
5117
  data: jsonData.value,
4789
5118
  "pane-type": _ctx.paneType,
4790
5119
  "connection-type": connectionType.value,
4791
- "run-index": _ctx.runIndex,
4792
5120
  "output-index": currentOutputIndex.value,
4793
- "total-runs": maxRunIndex.value,
4794
5121
  search: search2.value,
4795
5122
  class: normalizeClass(_ctx.$style.schema),
5123
+ compact: props.compact,
4796
5124
  "onClear:search": onSearchClear
4797
- }, null, 8, ["nodes", "mapping-enabled", "node", "data", "pane-type", "connection-type", "run-index", "output-index", "total-runs", "search", "class"])
5125
+ }, null, 8, ["nodes", "mapping-enabled", "node", "data", "pane-type", "connection-type", "output-index", "search", "class", "compact"])
4798
5126
  ]),
4799
5127
  _: 1
4800
- })) : displayMode.value === "binary" && binaryData.value.length === 0 ? (openBlock(), createElementBlock("div", {
4801
- key: 20,
5128
+ })) : _ctx.displayMode === "binary" && binaryData.value.length === 0 ? (openBlock(), createElementBlock("div", {
5129
+ key: 21,
4802
5130
  class: normalizeClass(_ctx.$style.center)
4803
5131
  }, [
4804
5132
  createVNode(unref(N8nText), {
@@ -4810,8 +5138,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4810
5138
  ]),
4811
5139
  _: 1
4812
5140
  })
4813
- ], 2)) : displayMode.value === "binary" ? (openBlock(), createElementBlock("div", {
4814
- key: 21,
5141
+ ], 2)) : _ctx.displayMode === "binary" ? (openBlock(), createElementBlock("div", {
5142
+ key: 22,
4815
5143
  class: normalizeClass(_ctx.$style.dataDisplay)
4816
5144
  }, [
4817
5145
  (openBlock(true), createElementBlock(Fragment, null, renderList(binaryData.value, (binaryDataEntry, index) => {
@@ -4942,56 +5270,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4942
5270
  ]);
4943
5271
  }), 128))
4944
5272
  ], 2)) : !hasNodeRun.value ? (openBlock(), createElementBlock("div", {
4945
- key: 22,
5273
+ key: 23,
4946
5274
  class: normalizeClass(_ctx.$style.center)
4947
5275
  }, [
4948
5276
  renderSlot(_ctx.$slots, "node-not-run", {}, void 0, true)
4949
5277
  ], 2)) : createCommentVNode("", true)
4950
5278
  ], 2),
4951
- _ctx.hidePagination === false && hasNodeRun.value && !hasRunError.value && displayMode.value !== "binary" && dataCount.value > pageSize.value && !isSchemaView.value && !isArtificialRecoveredEventItem.value ? withDirectives((openBlock(), createElementBlock("div", {
5279
+ _ctx.hidePagination === false && hasNodeRun.value && !hasRunError.value && _ctx.displayMode !== "binary" && dataCount.value > pageSize.value && !isSchemaView.value && !isArtificialRecoveredEventItem.value ? withDirectives((openBlock(), createBlock(RunDataPaginationBar, {
4952
5280
  key: 8,
4953
- class: normalizeClass(_ctx.$style.pagination),
4954
- "data-test-id": "ndv-data-pagination"
4955
- }, [
4956
- createVNode(_component_el_pagination, {
4957
- background: "",
4958
- "hide-on-single-page": true,
4959
- "current-page": currentPage.value,
4960
- "pager-count": 5,
4961
- "page-size": pageSize.value,
4962
- layout: "prev, pager, next",
4963
- total: dataCount.value,
4964
- "onUpdate:currentPage": onCurrentPageChange
4965
- }, null, 8, ["current-page", "page-size", "total"]),
4966
- createBaseVNode("div", {
4967
- class: normalizeClass(_ctx.$style.pageSizeSelector)
4968
- }, [
4969
- createVNode(unref(N8nSelect), {
4970
- size: "mini",
4971
- "model-value": pageSize.value,
4972
- teleported: "",
4973
- "onUpdate:modelValue": onPageSizeChange
4974
- }, {
4975
- prepend: withCtx(() => [
4976
- createTextVNode(toDisplayString(unref(i18n).baseText("ndv.output.pageSize")), 1)
4977
- ]),
4978
- default: withCtx(() => [
4979
- (openBlock(), createElementBlock(Fragment, null, renderList(pageSizes, (size) => {
4980
- return createVNode(unref(_sfc_main$b), {
4981
- key: size,
4982
- label: size,
4983
- value: size
4984
- }, null, 8, ["label", "value"]);
4985
- }), 64)),
4986
- createVNode(unref(_sfc_main$b), {
4987
- label: unref(i18n).baseText("ndv.output.all"),
4988
- value: dataCount.value
4989
- }, null, 8, ["label", "value"])
4990
- ]),
4991
- _: 1
4992
- }, 8, ["model-value"])
4993
- ], 2)
4994
- ], 2)), [
5281
+ "current-page": currentPage.value,
5282
+ "page-size": pageSize.value,
5283
+ total: dataCount.value,
5284
+ "onUpdate:currentPage": onCurrentPageChange,
5285
+ "onUpdate:pageSize": onPageSizeChange
5286
+ }, null, 8, ["current-page", "page-size", "total"])), [
4995
5287
  [vShow, !editMode2.value.enabled]
4996
5288
  ]) : createCommentVNode("", true),
4997
5289
  createVNode(unref(N8nBlockUi), {
@@ -5002,44 +5294,43 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5002
5294
  };
5003
5295
  }
5004
5296
  });
5005
- const infoIcon = "_infoIcon_12zhg_123";
5006
- const center = "_center_12zhg_127";
5007
- const container = "_container_12zhg_141";
5008
- const pinnedDataCallout = "_pinnedDataCallout_12zhg_149";
5009
- const header = "_header_12zhg_157";
5010
- const compact = "_compact_12zhg_168";
5011
- const dataContainer = "_dataContainer_12zhg_176";
5012
- const dataDisplay = "_dataDisplay_12zhg_185";
5013
- const inlineError = "_inlineError_12zhg_197";
5014
- const outputs = "_outputs_12zhg_204";
5015
- const tabs = "_tabs_12zhg_213";
5016
- const itemsCount = "_itemsCount_12zhg_221";
5017
- const inputSelect = "_inputSelect_12zhg_231";
5018
- const runSelector = "_runSelector_12zhg_237";
5019
- const runSelectorInner = "_runSelectorInner_12zhg_250";
5020
- const runSelectorSelect = "_runSelectorSelect_12zhg_256";
5021
- const search = "_search_12zhg_260";
5022
- const pagination = "_pagination_12zhg_264";
5023
- const pageSizeSelector = "_pageSizeSelector_12zhg_274";
5024
- const binaryIndex = "_binaryIndex_12zhg_280";
5025
- const binaryRow = "_binaryRow_12zhg_297";
5026
- const binaryCell = "_binaryCell_12zhg_302";
5027
- const binaryHeader = "_binaryHeader_12zhg_314";
5028
- const binaryButtonContainer = "_binaryButtonContainer_12zhg_323";
5029
- const binaryValue = "_binaryValue_12zhg_334";
5030
- const displayModes = "_displayModes_12zhg_339";
5031
- const tooltipContain = "_tooltipContain_12zhg_347";
5032
- const spinner = "_spinner_12zhg_351";
5033
- const editMode = "_editMode_12zhg_362";
5034
- const editModeBody = "_editModeBody_12zhg_371";
5035
- const editModeFooter = "_editModeFooter_12zhg_378";
5036
- const editModeFooterInfotip = "_editModeFooterInfotip_12zhg_388";
5037
- const editModeActions = "_editModeActions_12zhg_394";
5038
- const stretchVertically = "_stretchVertically_12zhg_401";
5039
- const uiBlocker = "_uiBlocker_12zhg_405";
5040
- const hintCallout = "_hintCallout_12zhg_410";
5041
- const schema = "_schema_12zhg_416";
5042
- const displayModeSelect = "_displayModeSelect_12zhg_421";
5297
+ const infoIcon = "_infoIcon_f5ono_123";
5298
+ const center = "_center_f5ono_127";
5299
+ const container = "_container_f5ono_141";
5300
+ const pinnedDataCallout = "_pinnedDataCallout_f5ono_149";
5301
+ const header = "_header_f5ono_157";
5302
+ const compact = "_compact_f5ono_169";
5303
+ const dataContainer = "_dataContainer_f5ono_181";
5304
+ const dataDisplay = "_dataDisplay_f5ono_187";
5305
+ const inlineError = "_inlineError_f5ono_202";
5306
+ const outputs = "_outputs_f5ono_209";
5307
+ const tabs = "_tabs_f5ono_224";
5308
+ const itemsCount = "_itemsCount_f5ono_232";
5309
+ const inputSelect = "_inputSelect_f5ono_242";
5310
+ const runSelector = "_runSelector_f5ono_248";
5311
+ const runSelectorInner = "_runSelectorInner_f5ono_261";
5312
+ const runSelectorSelect = "_runSelectorSelect_f5ono_267";
5313
+ const search = "_search_f5ono_271";
5314
+ const binaryIndex = "_binaryIndex_f5ono_275";
5315
+ const binaryRow = "_binaryRow_f5ono_292";
5316
+ const binaryCell = "_binaryCell_f5ono_297";
5317
+ const binaryHeader = "_binaryHeader_f5ono_309";
5318
+ const binaryButtonContainer = "_binaryButtonContainer_f5ono_318";
5319
+ const binaryValue = "_binaryValue_f5ono_329";
5320
+ const displayModes = "_displayModes_f5ono_334";
5321
+ const tooltipContain = "_tooltipContain_f5ono_346";
5322
+ const spinner = "_spinner_f5ono_350";
5323
+ const editMode = "_editMode_f5ono_361";
5324
+ const editModeBody = "_editModeBody_f5ono_370";
5325
+ const editModeFooter = "_editModeFooter_f5ono_377";
5326
+ const editModeFooterInfotip = "_editModeFooterInfotip_f5ono_387";
5327
+ const editModeActions = "_editModeActions_f5ono_393";
5328
+ const stretchVertically = "_stretchVertically_f5ono_400";
5329
+ const uiBlocker = "_uiBlocker_f5ono_404";
5330
+ const hintCallout = "_hintCallout_f5ono_409";
5331
+ const schema = "_schema_f5ono_418";
5332
+ const displayModeSelect = "_displayModeSelect_f5ono_423";
5333
+ const title = "_title_f5ono_434";
5043
5334
  const style0 = {
5044
5335
  infoIcon,
5045
5336
  center,
@@ -5048,7 +5339,6 @@ const style0 = {
5048
5339
  header,
5049
5340
  compact,
5050
5341
  dataContainer,
5051
- "actions-group": "_actions-group_12zhg_181",
5052
5342
  dataDisplay,
5053
5343
  inlineError,
5054
5344
  outputs,
@@ -5059,8 +5349,6 @@ const style0 = {
5059
5349
  runSelectorInner,
5060
5350
  runSelectorSelect,
5061
5351
  search,
5062
- pagination,
5063
- pageSizeSelector,
5064
5352
  binaryIndex,
5065
5353
  binaryRow,
5066
5354
  binaryCell,
@@ -5079,26 +5367,30 @@ const style0 = {
5079
5367
  uiBlocker,
5080
5368
  hintCallout,
5081
5369
  schema,
5082
- displayModeSelect
5370
+ displayModeSelect,
5371
+ title
5083
5372
  };
5084
5373
  const cssModules = {
5085
5374
  "$style": style0
5086
5375
  };
5087
- const RunData = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-97a8af0b"]]);
5376
+ const RunData = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-ba7b70a3"]]);
5088
5377
  export {
5089
5378
  HighlightJS as H,
5090
5379
  RunData as R,
5091
5380
  ViewSubExecution as V,
5092
- _sfc_main$8 as _,
5381
+ _sfc_main$9 as _,
5093
5382
  getTotalConsumedTokens as a,
5094
- findLogEntryToAutoSelect as b,
5383
+ flattenLogEntries as b,
5095
5384
  createLogEntries as c,
5096
- _sfc_main$9 as d,
5097
- getConsumedTokens as e,
5385
+ deepToRaw as d,
5386
+ findSelectedLogEntry as e,
5098
5387
  formatTokenUsageCount as f,
5099
5388
  getSubtreeTotalConsumedTokens as g,
5100
- createAiData as h,
5101
- getTreeNodeData as i,
5102
- getReferencedData as j,
5103
- VueJsonPretty as k
5389
+ _sfc_main$a as h,
5390
+ getConsumedTokens as i,
5391
+ createAiData as j,
5392
+ getTreeNodeData as k,
5393
+ getReferencedData as l,
5394
+ VueJsonPretty as m,
5395
+ parseAiContent as p
5104
5396
  };