n8n-editor-ui 1.91.1 → 1.93.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 (120) hide show
  1. package/dist/assets/{AnimatedSpinner-BrkRvAXQ.js → AnimatedSpinner-hbTZDd93.js} +1 -1
  2. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DRamY8Fo.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CYzc5StE.js} +1 -1
  3. package/dist/assets/{AuthView-ehh7NFh5.js → AuthView-8SLMP0H_.js} +2 -2
  4. package/dist/assets/{CanvasChatSwitch-DUBgoMXw.js → CanvasChatSwitch-Dt8TgNJg.js} +22 -10
  5. package/dist/assets/{ChangePasswordView-BLFb7_-o.js → ChangePasswordView-DIRyDp89.js} +3 -3
  6. package/dist/assets/CollectionParameter-Cj4t6-hd.js +4 -0
  7. package/dist/assets/{CredentialsView-1uYUpp0G.js → CredentialsView-B6-VxAJ6.js} +26 -11
  8. package/dist/assets/{DemoFooter-CNfkqkRC.js → DemoFooter-CIHwH5PG.js} +8 -8
  9. package/dist/assets/{ErrorView-CmYweWFA.js → ErrorView-C7i0TZwT.js} +1 -1
  10. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-DAWTDTON.js → ExecutionsTime.vue_vue_type_script_setup_true_lang--2G21NNR.js} +2 -2
  11. package/dist/assets/{ExecutionsView-fotg1R4V.js → ExecutionsView-C_YtciAr.js} +10 -9
  12. package/dist/assets/{FileSaver.min-CcnqpaV-.js → FileSaver.min-bgn7Q9Gt.js} +1 -1
  13. package/dist/assets/{FixedCollectionParameter-BYR4RzWw.js → FixedCollectionParameter-BPCJ5aaq.js} +1 -1
  14. package/dist/assets/{ForgotMyPasswordView-CQMKtpr-.js → ForgotMyPasswordView-DyUaGd6Z.js} +3 -3
  15. package/dist/assets/{InsightsChartAverageRuntime-B-9BU5qw.js → InsightsChartAverageRuntime-BB2I2vpV.js} +4 -4
  16. package/dist/assets/{InsightsChartFailed-Bd1BlFEm.js → InsightsChartFailed-CN_Rl3Bl.js} +4 -4
  17. package/dist/assets/{InsightsChartFailureRate-DPTCueAp.js → InsightsChartFailureRate-CHKlg6tg.js} +4 -4
  18. package/dist/assets/{InsightsChartTimeSaved-CSVKB08W.js → InsightsChartTimeSaved-Cd05cM8q.js} +4 -4
  19. package/dist/assets/{InsightsChartTotal-Bxjmisao.js → InsightsChartTotal-ChAO7myf.js} +4 -4
  20. package/dist/assets/{InsightsDashboard-5cOORj5z.js → InsightsDashboard-BeCfBVUz.js} +10 -10
  21. package/dist/assets/{InsightsPaywall-Bdo_3Ic_.js → InsightsPaywall-Chz8CDc3.js} +1 -1
  22. package/dist/assets/{InsightsSummary-DB62HhNM.js → InsightsSummary-MECenLJQ.js} +1 -1
  23. package/dist/assets/{InsightsTableWorkflows-BEC5Yh0b.js → InsightsTableWorkflows-5rpYY7YT.js} +2 -2
  24. package/dist/assets/{Logo-CK8euEWT.js → Logo-DUDCllkm.js} +1 -1
  25. package/dist/assets/{LogsPanel-CrGEYFLo.js → LogsPanel-D9r5AcQH.js} +75 -106
  26. package/dist/assets/{LogsPanel-DLC2TAqh.css → LogsPanel-mTaFEGk_.css} +38 -34
  27. package/dist/assets/{MainHeader-CEPLiR-5.css → MainHeader-CEMGASqv.css} +18 -11
  28. package/dist/assets/{MainHeader-C7XOaZKu.js → MainHeader-DkKOOZ_D.js} +145 -79
  29. package/dist/assets/{MainSidebar-CKMiDGvH.css → MainSidebar-D1_1YFQZ.css} +13 -12
  30. package/dist/assets/{MainSidebar-DD_ugRL3.js → MainSidebar-ZUBIWeXm.js} +36 -19
  31. package/dist/assets/{NodeCreation-S2FoBcnW.js → NodeCreation-DCfAFuL5.js} +10 -5
  32. package/dist/assets/{NodeCreator-D9fmPdS2.css → NodeCreator-D18StsVZ.css} +1021 -174
  33. package/dist/assets/{NodeCreator-D6TKVgLu.js → NodeCreator-a0YVv1IE.js} +863 -418
  34. package/dist/assets/{NodeDetailsView-DtvMtBqp.js → NodeDetailsView-C5_hVJzj.js} +60 -47
  35. package/dist/assets/{NodeDetailsView-CGgV4Pn_.css → NodeDetailsView-pYP-34nS.css} +20 -20
  36. package/dist/assets/{NodeView-BPhaaoWK.js → NodeView-Bk9h8GYy.js} +49 -25
  37. package/dist/assets/{ProjectCardBadge-C_L_pqWA.js → ProjectCardBadge-DRlDZx3d.js} +38 -2
  38. package/dist/assets/{ProjectHeader-C0FZTxjm.js → ProjectHeader-DNm605Kk.js} +106 -64
  39. package/dist/assets/{ProjectSettings-DlggJ6Ti.js → ProjectSettings-Dge_6KaR.js} +3 -2
  40. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-BNtCDFSj.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-CUf0LkWR.js} +1 -1
  41. package/dist/assets/{ResourcesListLayout-HzoSFUaj.js → ResourcesListLayout-Bbl-1i4l.js} +156 -53
  42. package/dist/assets/{ResourcesListLayout-CtGME7aU.css → ResourcesListLayout-DuNjbsMn.css} +8 -8
  43. package/dist/assets/{RunData-C9dtm1M2.css → RunData-DQeENuzG.css} +12 -2
  44. package/dist/assets/{RunData-D8Eax0cQ.js → RunData-b0RE2JWc.js} +418 -207
  45. package/dist/assets/{RunDataAi-BF2gZZGr.css → RunDataAi-D9VLFXIf.css} +10 -51
  46. package/dist/assets/{RunDataAi-BUnCQIRN.js → RunDataAi-DnWcCR_0.js} +27 -310
  47. package/dist/assets/{RunDataJson-DXd3nZxI.js → RunDataJson-CptVuHuA.js} +7 -7
  48. package/dist/assets/{RunDataJsonActions-aivOaol2.js → RunDataJsonActions-3jjDztw7.js} +1 -1
  49. package/dist/assets/RunDataParsedAiContent-9EEUzCKp.css +176 -0
  50. package/dist/assets/RunDataParsedAiContent-BbXv-NPD.js +148 -0
  51. package/dist/assets/{RunDataSearch-DJ9BZGTu.js → RunDataSearch-B90wjsDA.js} +1 -1
  52. package/dist/assets/{RunDataTable-vEPCwbcC.js → RunDataTable-CpS78GlT.js} +3 -3
  53. package/dist/assets/{SamlOnboarding--OTxMEws.js → SamlOnboarding-Ch9K5rRW.js} +3 -3
  54. package/dist/assets/{SettingsApiView-BulxWyyY.js → SettingsApiView-9GU5n_rm.js} +1 -1
  55. package/dist/assets/{SettingsCommunityNodesView-4wwPXFO2.js → SettingsCommunityNodesView-CPnVRzNX.js} +24 -11
  56. package/dist/assets/{SettingsExternalSecrets-zt7dxBKK.js → SettingsExternalSecrets-D7xTMV9h.js} +1 -1
  57. package/dist/assets/{SettingsLdapView-xneO6UIv.js → SettingsLdapView-OfrjGKkt.js} +1 -1
  58. package/dist/assets/{SettingsLogStreamingView-_h8wUzum.js → SettingsLogStreamingView-C_VnOaeX.js} +1 -1
  59. package/dist/assets/{SettingsPersonalView-CwYMP4sk.js → SettingsPersonalView-Dm24akPV.js} +14 -13
  60. package/dist/assets/{SettingsSourceControl-B9Tg93u3.js → SettingsSourceControl-DDCmL82j.js} +1 -1
  61. package/dist/assets/{SettingsSso-XaL1PzfW.js → SettingsSso-BGGQ0Cpg.js} +14 -1
  62. package/dist/assets/{SettingsUsageAndPlan-Ci15FW81.js → SettingsUsageAndPlan-BzO_zdkH.js} +1 -1
  63. package/dist/assets/{SettingsUsersView-DBJV4vSK.js → SettingsUsersView-DHQUqhqB.js} +1 -1
  64. package/dist/assets/{SettingsView-DMzdPF-1.js → SettingsView-CbtAqjOX.js} +1 -1
  65. package/dist/assets/{SetupView-BqWgdvDq.js → SetupView-BME1OE6U.js} +3 -3
  66. package/dist/assets/{SetupWorkflowCredentialsButton-B2wnuUnF.js → SetupWorkflowCredentialsButton-DZr4TCPC.js} +1 -1
  67. package/dist/assets/{SetupWorkflowFromTemplateView-BwC_wFSc.js → SetupWorkflowFromTemplateView-CPkKEY04.js} +3 -3
  68. package/dist/assets/{SigninView-DpTLJJwD.js → SigninView-DUeRvOiY.js} +3 -3
  69. package/dist/assets/{SignoutView-dkTtOCo1.js → SignoutView-BC7SBunZ.js} +1 -1
  70. package/dist/assets/{SignupView-CJFJJO3L.js → SignupView-B5ecYJ2q.js} +3 -3
  71. package/dist/assets/{TemplateDetails-84YElIBA.js → TemplateDetails-DjanZgC1.js} +1 -1
  72. package/dist/assets/{TemplateList-CGsfKuVA.js → TemplateList-8TyNGxY-.js} +1 -1
  73. package/dist/assets/{TemplatesCollectionView-2y8KZk0I.js → TemplatesCollectionView-BkH4pJCv.js} +5 -5
  74. package/dist/assets/{TemplatesSearchView-DgosiOzl.js → TemplatesSearchView-Bcdhi1SL.js} +3 -3
  75. package/dist/assets/{TemplatesView-CgQSZO4a.js → TemplatesView-De2XB6We.js} +1 -1
  76. package/dist/assets/{TemplatesWorkflowView-2pSUmAbX.js → TemplatesWorkflowView-BVnwtrMa.js} +5 -5
  77. package/dist/assets/{TestDefinitionEditView-C26sWE7p.js → TestDefinitionEditView-DjmPnrTk.js} +7 -7
  78. package/dist/assets/{TestDefinitionListView-Cyl6bsLP.js → TestDefinitionListView-BL2s_qBZ.js} +1 -1
  79. package/dist/assets/{TestDefinitionNewView-CfIZ0atk.js → TestDefinitionNewView-B9BqJZST.js} +2 -2
  80. package/dist/assets/{TestDefinitionRootView-CYg7HBL-.js → TestDefinitionRootView-AlWyxbc0.js} +1 -1
  81. package/dist/assets/{VariablesView-BFE9B0_b.js → VariablesView-BZCvPfan.js} +4 -3
  82. package/dist/assets/{WorkerView-BUMCMS_B.js → WorkerView-CigxqnWi.js} +6 -6
  83. package/dist/assets/{WorkflowActivator-BDLto9c0.js → WorkflowActivator-B7jRy4L1.js} +8 -4
  84. package/dist/assets/{WorkflowActivator-DAyH7N29.css → WorkflowActivator-DrMTmuTZ.css} +2 -2
  85. package/dist/assets/{WorkflowExecutionsInfoAccordion-manN-WIj.js → WorkflowExecutionsInfoAccordion-C_ZycbsF.js} +1 -1
  86. package/dist/assets/{WorkflowExecutionsLandingPage-BzGmpGvf.js → WorkflowExecutionsLandingPage-DOqrfKlC.js} +2 -2
  87. package/dist/assets/{WorkflowExecutionsPreview-CNEV2lom.js → WorkflowExecutionsPreview-B4Cj2gXW.js} +6 -6
  88. package/dist/assets/{WorkflowExecutionsView-WiNvtAmD.js → WorkflowExecutionsView-RXfP7zkJ.js} +11 -9
  89. package/dist/assets/{WorkflowHistory-6uJJqB4x.js → WorkflowHistory-DrXrRwIS.js} +37 -19
  90. package/dist/assets/{WorkflowOnboardingView-CPt_AUR-.js → WorkflowOnboardingView-CXH1vCW2.js} +1 -1
  91. package/dist/assets/{WorkflowPreview-CHUEX6H6.js → WorkflowPreview-B_MuFEV8.js} +1 -1
  92. package/dist/assets/{WorkflowsView-B2_HJCJ5.css → WorkflowsView-CQvTAWQ0.css} +24 -13
  93. package/dist/assets/{WorkflowsView-DbGBRbfc.js → WorkflowsView-D90hfJ35.js} +300 -158
  94. package/dist/assets/{chartjs.utils-C--HONKb.js → chartjs.utils-DalQn9bk.js} +2 -2
  95. package/dist/assets/{dateFormatter-DbKqmK4w.js → dateFormatter-BPfJSa6q.js} +1 -1
  96. package/dist/assets/{easyAiWorkflowUtils-BWgfZ0am.js → easyAiWorkflowUtils-kgtpBx2h.js} +1 -1
  97. package/dist/assets/{global-link-actions-COf-9vBh.js → global-link-actions-CnWOMvqA.js} +1 -1
  98. package/dist/assets/{import-curl-BiXaU2jk.js → import-curl-BvX_O56D.js} +1 -1
  99. package/dist/assets/{index-B6xE9gZ1.js → index-Bb2NNknG.js} +1 -1
  100. package/dist/assets/{index-BLAboPd2.js → index-DZ6VpjNj.js} +4635 -2824
  101. package/dist/assets/{index-sq5ggyEC.css → index-yNaoC3fo.css} +363 -97
  102. package/dist/assets/{pickBy-gZHb6vZ2.js → pickBy-B_HGYyxS.js} +1 -1
  103. package/dist/assets/{templateActions-DCx74tPa.js → templateActions-DQfZ3ni5.js} +1 -1
  104. package/dist/assets/{useBeforeUnload-DbfysOS-.js → useBeforeUnload-Cu0LPVWe.js} +1 -1
  105. package/dist/assets/{useCanvasMapping-CSuq_dYj.js → useCanvasMapping-CTTq6x8X.js} +62 -40
  106. package/dist/assets/{useCanvasMapping-cuXLM-h-.css → useCanvasMapping-VtpW_QZA.css} +6 -5
  107. package/dist/assets/{useCanvasOperations-C0pQBHW3.js → useCanvasOperations-u8oSDa_u.js} +96 -445
  108. package/dist/assets/{useClearExecutionButtonVisible-Cvfxw8xC.js → useClearExecutionButtonVisible-Dwc1_eG9.js} +2 -2
  109. package/dist/assets/{useExecutionDebugging-D2H5O6fT.js → useExecutionDebugging-rc72wLIp.js} +1 -1
  110. package/dist/assets/{useExecutionHelpers-C--m0pTQ.js → useExecutionHelpers-DqwMonFW.js} +2 -2
  111. package/dist/assets/{useImportCurlCommand-XFn6Ezp2.js → useImportCurlCommand-D_onuFvo.js} +19 -10
  112. package/dist/assets/useProjectPages-e8b03-5_.js +17 -0
  113. package/dist/assets/usePushConnection-wm-7Id6Q.js +629 -0
  114. package/dist/assets/{useTestDefinitionForm-2YP-8pAN.js → useTestDefinitionForm-DlUOnNC0.js} +1 -1
  115. package/dist/assets/{useWorkflowActivate-CvmIpy5T.js → useWorkflowActivate-65xML23U.js} +1 -1
  116. package/dist/assets/useWorkflowSaving-CUel20JA.js +66 -0
  117. package/dist/index.html +2 -2
  118. package/package.json +1 -1
  119. package/dist/assets/CollectionParameter-BaH_a73u.js +0 -4
  120. package/dist/assets/usePushConnection-x0iF1Axz.js +0 -537
@@ -1,7 +1,7 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunDataTable-vEPCwbcC.js","assets/index-BLAboPd2.js","assets/index-sq5ggyEC.css","assets/useExecutionHelpers-C--m0pTQ.js","assets/dateFormatter-DbKqmK4w.js","assets/RunDataTable-CUxj7dHx.css","assets/RunDataJson-DXd3nZxI.js","assets/FileSaver.min-CcnqpaV-.js","assets/RunDataJson-BH9HLoGC.css","assets/RunDataSearch-DJ9BZGTu.js","assets/RunDataSearch-R6qtl0Jf.css"])))=>i.map(i=>d[i]);
2
- import { dI as hasKey, cq as getDefaultExportFromCjs, dJ as AGENT_LANGCHAIN_NODE_TYPE, b1 as isRef, dK as isReactive, dL as isProxy, da as toRaw, d as defineComponent, bf as useClipboard, a as useToast, dM as useAIAssistantHelpers, bz as useNodeTypesStore, as as useNDVStore, Z as useRootStore, dr as useAssistantStore, H as useUIStore, q as computed, dN as MAX_DISPLAY_DATA_SIZE, dO as isCommunityPackageName, c as useI18n, h as resolveComponent, ch as resolveDirective, i as createElementBlock, g as openBlock, k as createBaseVNode, f as createCommentVNode, aA as withDirectives, t as toDisplayString, j as createVNode, m as unref, dP as InlineAskAssistantButton, w as withCtx, aT as _sfc_main$b, l as createTextVNode, F as Fragment, D as renderList, dQ as NEW_ASSISTANT_SESSION_MODAL, cn as sanitizeHtml, be as N8nText, b2 as withModifiers, n as normalizeClass, _ as _export_sfc, dR as requireVue, dS as sanitizeHtml$1, dT as sanitizeHtmlExports, r as ref, Q as useWorkflowsStore, o as onMounted, bZ as jsonParse, e as createBlock, bA as useNodeHelpers, aR as N8nTooltip, aS as N8nLink, bG as N8nRadioButtons, aV as createSlots, bE as N8nIcon, bm as NodeConnectionTypes, a0 as useSourceControlStore, dz as useSchemaPreviewStore, au as usePostHog, R as useRoute, bN as toRef, bq as usePinnedData, dU as useNodeType, cM as storeToRefs, dV as TRIMMED_TASK_DATA_CONNECTIONS_KEY, dW as executionDataToJson, dX as NODE_TYPES_EXCLUDED_FROM_OUTPUT_NAME_APPEND, dY as CORE_NODES_CATEGORY, dZ as SCHEMA_PREVIEW_EXPERIMENT, d_ as computedAsync, X as watch, bH as ndvEventBus, ag as useTelemetry, y as onBeforeUnmount, aJ as useStorage, d$ as LOCAL_STORAGE_PIN_DATA_DISCOVERY_NDV_FLAG, e0 as dataPinningEventBus, e1 as LOCAL_STORAGE_PIN_DATA_DISCOVERY_CANVAS_FLAG, e2 as searchInObject, bx as getConnectionTypes, e3 as isObject, e4 as MAX_DISPLAY_DATA_SIZE_SCHEMA_VIEW, e5 as HTML_NODE_TYPE, x as renderSlot, c3 as N8nCallout, e6 as DATA_PINNING_DOCS_URL, aB as vShow, c1 as Suspense, c2 as defineAsyncComponent, b4 as normalizeProps, b7 as mergeProps, bg as N8nButton, e7 as _sfc_main$c, e8 as N8nSelect, e9 as N8nTabs, b5 as guardReactiveProps, ea as _sfc_main$d, eb as JsonEditor, ec as DATA_EDITING_DOCS_URL, dk as InfoTip, ed as N8nBlockUi, ao as __vitePreload, ee as isPresent, by as getNodeOutputs, ef as getGenericHints, eg as clearJsonKey, eh as TEST_PIN_DATA, aP as useExternalHooks, ei as isEmpty, ej as isEqual } from "./index-BLAboPd2.js";
3
- import { F as FileSaver_minExports } from "./FileSaver.min-CcnqpaV-.js";
4
- import { u as useExecutionHelpers } from "./useExecutionHelpers-C--m0pTQ.js";
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunDataTable-CpS78GlT.js","assets/index-DZ6VpjNj.js","assets/index-yNaoC3fo.css","assets/useExecutionHelpers-DqwMonFW.js","assets/dateFormatter-BPfJSa6q.js","assets/RunDataTable-CUxj7dHx.css","assets/RunDataJson-CptVuHuA.js","assets/FileSaver.min-bgn7Q9Gt.js","assets/RunDataJson-BH9HLoGC.css","assets/RunDataParsedAiContent-BbXv-NPD.js","assets/RunDataParsedAiContent-9EEUzCKp.css","assets/RunDataSearch-B90wjsDA.js","assets/RunDataSearch-R6qtl0Jf.css"])))=>i.map(i=>d[i]);
2
+ import { dQ as hasKey, cx as getDefaultExportFromCjs, dR as AGENT_LANGCHAIN_NODE_TYPE, b1 as isRef, dS as isReactive, dT as isProxy, dh as toRaw, d as defineComponent, bf as useClipboard, a as useToast, dU as useAIAssistantHelpers, bz as useNodeTypesStore, as as useNDVStore, Z as useRootStore, dE as useAssistantStore, H as useUIStore, q as computed, dV as MAX_DISPLAY_DATA_SIZE, dG as isCommunityPackageName, c as useI18n, h as resolveComponent, co 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, dW as InlineAskAssistantButton, w as withCtx, aT as _sfc_main$b, l as createTextVNode, F as Fragment, D as renderList, dX as NEW_ASSISTANT_SESSION_MODAL, cu as sanitizeHtml, bm as NodeConnectionTypes, dY as isObjectEmpty, be as N8nText, b2 as withModifiers, _ as _export_sfc, dZ as requireVue, d_ as sanitizeHtml$1, d$ as sanitizeHtmlExports, r as ref, Q as useWorkflowsStore, o as onMounted, c0 as jsonParse, e as createBlock, bA as useNodeHelpers, aR as N8nTooltip, aS as N8nLink, X as watch, bH as N8nRadioButtons, aV as createSlots, bE as N8nIcon, a0 as useSourceControlStore, dF as useSchemaPreviewStore, R as useRoute, bO as toRef, bq as usePinnedData, e0 as useNodeType, cT as storeToRefs, e1 as TRIMMED_TASK_DATA_CONNECTIONS_KEY, e2 as executionDataToJson, e3 as NODE_TYPES_EXCLUDED_FROM_OUTPUT_NAME_APPEND, e4 as CORE_NODES_CATEGORY, e5 as computedAsync, bI as ndvEventBus, ag as useTelemetry, y as onBeforeUnmount, aJ as useStorage, e6 as LOCAL_STORAGE_PIN_DATA_DISCOVERY_NDV_FLAG, e7 as dataPinningEventBus, e8 as LOCAL_STORAGE_PIN_DATA_DISCOVERY_CANVAS_FLAG, e9 as searchInObject, bx as getConnectionTypes, ea as isObject, eb as MAX_DISPLAY_DATA_SIZE_SCHEMA_VIEW, ec as HTML_NODE_TYPE, x as renderSlot, c6 as N8nCallout, ed as DATA_PINNING_DOCS_URL, aB as vShow, c4 as Suspense, c5 as defineAsyncComponent, b4 as normalizeProps, b7 as mergeProps, bg as N8nButton, ee as _sfc_main$c, ef as N8nSelect, eg as N8nTabs, b5 as guardReactiveProps, eh as _sfc_main$d, ei as JsonEditor, ej as DATA_EDITING_DOCS_URL, ds as InfoTip, ek as N8nBlockUi, ao as __vitePreload, el as isPresent, by as getNodeOutputs, em as getGenericHints, en as clearJsonKey, eo as TEST_PIN_DATA, aP as useExternalHooks, ep as isEmpty, eq as isEqual } from "./index-DZ6VpjNj.js";
3
+ import { F as FileSaver_minExports } from "./FileSaver.min-bgn7Q9Gt.js";
4
+ import { u as useExecutionHelpers } from "./useExecutionHelpers-DqwMonFW.js";
5
5
  function responseHasSubworkflowData(response) {
6
6
  return ["executionId", "workflowId"].every(
7
7
  (x) => hasKey(response, x) && typeof response[x] === "string"
@@ -1606,9 +1606,17 @@ function getTreeNodeDataRec(parent, nodeName, currentDepth, workflow, aiData, ru
1606
1606
  if (!connections) {
1607
1607
  return resultData.map((d) => createNode(parent, nodeName, currentDepth, d.runIndex, d));
1608
1608
  }
1609
+ const filteredAiData = currentDepth === 0 ? aiData?.filter(({ data }) => {
1610
+ if (!data?.source || data.source.every((source) => source === null)) {
1611
+ return true;
1612
+ }
1613
+ return data.source.some(
1614
+ (source) => source?.previousNode === nodeName && (runIndex === void 0 || source.previousNodeRun === runIndex)
1615
+ );
1616
+ }) : aiData;
1609
1617
  const connectedSubNodes = workflow.getParentNodes(nodeName, "ALL_NON_MAIN", 1);
1610
1618
  const treeNode = createNode(parent, nodeName, currentDepth, runIndex ?? 0);
1611
- const children = (aiData ?? []).flatMap(
1619
+ const children = (filteredAiData ?? []).flatMap(
1612
1620
  (data) => connectedSubNodes.includes(data.node) && (runIndex === void 0 || data.runIndex === runIndex) ? getTreeNodeDataRec(treeNode, data.node, currentDepth + 1, workflow, aiData, data.runIndex) : []
1613
1621
  );
1614
1622
  treeNode.children = children;
@@ -1649,6 +1657,9 @@ function getReferencedData(taskData, withInput, withOutput) {
1649
1657
  data: data[type][0],
1650
1658
  inOut,
1651
1659
  type,
1660
+ // Include source information in AI content to track which node triggered the execution
1661
+ // This enables filtering in the UI to show only relevant executions
1662
+ source: taskData.source,
1652
1663
  metadata: {
1653
1664
  executionTime: taskData.executionTime,
1654
1665
  startTime: taskData.startTime,
@@ -1735,7 +1746,10 @@ function getTreeNodeDataRecV2(parent, node, runData, currentDepth, workflow, dat
1735
1746
  const treeNode = createNodeV2(parent, node, currentDepth, runIndex ?? 0, runData);
1736
1747
  const children = connectedSubNodes.flatMap(
1737
1748
  (subNodeName) => (data[subNodeName] ?? []).flatMap((t, index) => {
1738
- if (runIndex !== void 0 && index !== runIndex) {
1749
+ const isMatched = currentDepth === 0 && t.source.some((source) => source !== null) ? t.source.some(
1750
+ (source) => source?.previousNode === node.name && (runIndex === void 0 || source.previousNodeRun === runIndex)
1751
+ ) : runIndex === void 0 || index === runIndex;
1752
+ if (!isMatched) {
1739
1753
  return [];
1740
1754
  }
1741
1755
  const subNode = workflow.getNode(subNodeName);
@@ -1778,20 +1792,28 @@ function findLogEntryToAutoSelectRec(data, subTree, depth) {
1778
1792
  return depth === 0 ? subTree[0] : void 0;
1779
1793
  }
1780
1794
  function createLogEntries(workflow, runData) {
1781
- const runs = Object.entries(runData).filter(([nodeName]) => workflow.getChildNodes(nodeName, "ALL_NON_MAIN").length === 0).flatMap(
1782
- ([nodeName, taskData]) => taskData.map((task, runIndex) => ({ nodeName, task, runIndex }))
1795
+ const runs = Object.entries(runData).flatMap(
1796
+ ([nodeName, taskData]) => workflow.getChildNodes(nodeName, "ALL_NON_MAIN").length > 0 || workflow.getNode(nodeName)?.disabled ? [] : taskData.map((task, runIndex) => ({
1797
+ nodeName,
1798
+ task,
1799
+ runIndex,
1800
+ nodeHasMultipleRuns: taskData.length > 1
1801
+ }))
1783
1802
  ).sort((a, b) => {
1784
1803
  if (a.task.executionIndex !== void 0 && b.task.executionIndex !== void 0) {
1785
1804
  return a.task.executionIndex - b.task.executionIndex;
1786
1805
  }
1787
1806
  return a.nodeName === b.nodeName ? a.runIndex - b.runIndex : a.task.startTime - b.task.startTime;
1788
1807
  });
1789
- return runs.flatMap(({ nodeName, runIndex, task }) => {
1790
- if (workflow.getParentNodes(nodeName, "ALL_NON_MAIN").length > 0) {
1791
- return getTreeNodeDataV2(nodeName, task, workflow, runData, void 0);
1792
- }
1793
- return getTreeNodeDataV2(nodeName, task, workflow, runData, runIndex);
1794
- });
1808
+ return runs.flatMap(
1809
+ ({ nodeName, runIndex, task, nodeHasMultipleRuns }) => getTreeNodeDataV2(
1810
+ nodeName,
1811
+ task,
1812
+ workflow,
1813
+ runData,
1814
+ nodeHasMultipleRuns ? runIndex : void 0
1815
+ )
1816
+ );
1795
1817
  }
1796
1818
  function includesLogEntry(log, logs) {
1797
1819
  return logs.some(
@@ -1802,7 +1824,14 @@ function findSelectedLogEntry(state, execution) {
1802
1824
  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
1825
  }
1804
1826
  function deepToRaw(sourceObj) {
1827
+ const seen = /* @__PURE__ */ new WeakMap();
1805
1828
  const objectIterator = (input) => {
1829
+ if (seen.has(input)) {
1830
+ return input;
1831
+ }
1832
+ if (input !== null && typeof input === "object") {
1833
+ seen.set(input, true);
1834
+ }
1806
1835
  if (Array.isArray(input)) {
1807
1836
  return input.map((item) => objectIterator(item));
1808
1837
  }
@@ -1828,131 +1857,131 @@ function flattenLogEntries(entries, collapsedEntryIds, ret = []) {
1828
1857
  }
1829
1858
  return ret;
1830
1859
  }
1831
- const _hoisted_1$8 = { class: "node-error-view" };
1832
- const _hoisted_2$4 = { class: "node-error-view__header" };
1833
- const _hoisted_3$3 = {
1860
+ const _hoisted_1$8 = { class: "node-error-view__header" };
1861
+ const _hoisted_2$4 = {
1834
1862
  class: "node-error-view__header-message",
1835
1863
  "data-test-id": "node-error-message"
1836
1864
  };
1837
- const _hoisted_4$3 = {
1865
+ const _hoisted_3$3 = {
1838
1866
  key: 0,
1839
1867
  "data-test-id": "node-error-description",
1840
1868
  class: "node-error-view__header-description"
1841
1869
  };
1842
- const _hoisted_5$3 = { key: 1 };
1843
- const _hoisted_6$2 = {
1870
+ const _hoisted_4$3 = { key: 1 };
1871
+ const _hoisted_5$3 = {
1844
1872
  key: 2,
1845
1873
  class: "node-error-view__button",
1846
1874
  "data-test-id": "node-error-view-ask-assistant-button"
1847
1875
  };
1848
- const _hoisted_7$2 = {
1876
+ const _hoisted_6$2 = {
1849
1877
  key: 0,
1850
1878
  class: "node-error-view__info"
1851
1879
  };
1852
- const _hoisted_8$2 = { class: "node-error-view__info-header" };
1853
- const _hoisted_9$2 = { class: "node-error-view__info-title" };
1854
- const _hoisted_10 = { class: "copy-button" };
1855
- const _hoisted_11 = { class: "node-error-view__info-content" };
1856
- const _hoisted_12 = {
1880
+ const _hoisted_7$2 = { class: "node-error-view__info-header" };
1881
+ const _hoisted_8$2 = { class: "node-error-view__info-title" };
1882
+ const _hoisted_9$2 = { class: "copy-button" };
1883
+ const _hoisted_10 = { class: "node-error-view__info-content" };
1884
+ const _hoisted_11 = {
1857
1885
  key: 0,
1858
1886
  class: "node-error-view__details"
1859
1887
  };
1860
- const _hoisted_13 = { class: "node-error-view__details-summary" };
1861
- const _hoisted_14 = { class: "node-error-view__details-content" };
1862
- const _hoisted_15 = {
1888
+ const _hoisted_12 = { class: "node-error-view__details-summary" };
1889
+ const _hoisted_13 = { class: "node-error-view__details-content" };
1890
+ const _hoisted_14 = {
1863
1891
  key: 0,
1864
1892
  class: "node-error-view__details-row"
1865
1893
  };
1866
- const _hoisted_16 = { class: "node-error-view__details-label" };
1867
- const _hoisted_17 = { class: "node-error-view__details-value" };
1868
- const _hoisted_18 = {
1894
+ const _hoisted_15 = { class: "node-error-view__details-label" };
1895
+ const _hoisted_16 = { class: "node-error-view__details-value" };
1896
+ const _hoisted_17 = {
1869
1897
  key: 1,
1870
1898
  class: "node-error-view__details-row"
1871
1899
  };
1872
- const _hoisted_19 = { class: "node-error-view__details-label" };
1873
- const _hoisted_20 = { class: "node-error-view__details-value" };
1874
- const _hoisted_21 = {
1900
+ const _hoisted_18 = { class: "node-error-view__details-label" };
1901
+ const _hoisted_19 = { class: "node-error-view__details-value" };
1902
+ const _hoisted_20 = {
1875
1903
  key: 2,
1876
1904
  class: "node-error-view__details-row"
1877
1905
  };
1878
- const _hoisted_22 = { class: "node-error-view__details-label" };
1879
- const _hoisted_23 = { class: "node-error-view__details-value" };
1880
- const _hoisted_24 = {
1906
+ const _hoisted_21 = { class: "node-error-view__details-label" };
1907
+ const _hoisted_22 = { class: "node-error-view__details-value" };
1908
+ const _hoisted_23 = {
1881
1909
  key: 3,
1882
1910
  class: "node-error-view__details-row"
1883
1911
  };
1884
- const _hoisted_25 = { class: "node-error-view__details-label" };
1885
- const _hoisted_26 = { class: "node-error-view__details-value" };
1886
- const _hoisted_27 = {
1912
+ const _hoisted_24 = { class: "node-error-view__details-label" };
1913
+ const _hoisted_25 = { class: "node-error-view__details-value" };
1914
+ const _hoisted_26 = {
1887
1915
  key: 4,
1888
1916
  class: "node-error-view__details-row"
1889
1917
  };
1890
- const _hoisted_28 = { class: "node-error-view__details-label" };
1891
- const _hoisted_29 = { class: "node-error-view__details-value" };
1892
- const _hoisted_30 = { class: "node-error-view__details" };
1893
- const _hoisted_31 = { class: "node-error-view__details-summary" };
1894
- const _hoisted_32 = { class: "node-error-view__details-content" };
1895
- const _hoisted_33 = {
1918
+ const _hoisted_27 = { class: "node-error-view__details-label" };
1919
+ const _hoisted_28 = { class: "node-error-view__details-value" };
1920
+ const _hoisted_29 = { class: "node-error-view__details" };
1921
+ const _hoisted_30 = { class: "node-error-view__details-summary" };
1922
+ const _hoisted_31 = { class: "node-error-view__details-content" };
1923
+ const _hoisted_32 = {
1896
1924
  key: 0,
1897
1925
  class: "node-error-view__details-row"
1898
1926
  };
1899
- const _hoisted_34 = { class: "node-error-view__details-label" };
1900
- const _hoisted_35 = { class: "node-error-view__details-value" };
1901
- const _hoisted_36 = {
1927
+ const _hoisted_33 = { class: "node-error-view__details-label" };
1928
+ const _hoisted_34 = { class: "node-error-view__details-value" };
1929
+ const _hoisted_35 = {
1902
1930
  key: 1,
1903
1931
  class: "node-error-view__details-row"
1904
1932
  };
1905
- const _hoisted_37 = { class: "node-error-view__details-label" };
1906
- const _hoisted_38 = { class: "node-error-view__details-value" };
1907
- const _hoisted_39 = {
1933
+ const _hoisted_36 = { class: "node-error-view__details-label" };
1934
+ const _hoisted_37 = { class: "node-error-view__details-value" };
1935
+ const _hoisted_38 = {
1908
1936
  key: 2,
1909
1937
  class: "node-error-view__details-row"
1910
1938
  };
1911
- const _hoisted_40 = { class: "node-error-view__details-label" };
1912
- const _hoisted_41 = { class: "node-error-view__details-value" };
1913
- const _hoisted_42 = {
1939
+ const _hoisted_39 = { class: "node-error-view__details-label" };
1940
+ const _hoisted_40 = { class: "node-error-view__details-value" };
1941
+ const _hoisted_41 = {
1914
1942
  key: 3,
1915
1943
  class: "node-error-view__details-row"
1916
1944
  };
1917
- const _hoisted_43 = { class: "node-error-view__details-label" };
1918
- const _hoisted_44 = { class: "node-error-view__details-value" };
1919
- const _hoisted_45 = {
1945
+ const _hoisted_42 = { class: "node-error-view__details-label" };
1946
+ const _hoisted_43 = { class: "node-error-view__details-value" };
1947
+ const _hoisted_44 = {
1920
1948
  key: 4,
1921
1949
  class: "node-error-view__details-row"
1922
1950
  };
1923
- const _hoisted_46 = { class: "node-error-view__details-label" };
1924
- const _hoisted_47 = { class: "node-error-view__details-value" };
1925
- const _hoisted_48 = { class: "node-error-view__details-row" };
1926
- const _hoisted_49 = { class: "node-error-view__details-label" };
1927
- const _hoisted_50 = { class: "node-error-view__details-value" };
1928
- const _hoisted_51 = {
1951
+ const _hoisted_45 = { class: "node-error-view__details-label" };
1952
+ const _hoisted_46 = { class: "node-error-view__details-value" };
1953
+ const _hoisted_47 = { class: "node-error-view__details-row" };
1954
+ const _hoisted_48 = { class: "node-error-view__details-label" };
1955
+ const _hoisted_49 = { class: "node-error-view__details-value" };
1956
+ const _hoisted_50 = {
1929
1957
  key: 5,
1930
1958
  class: "node-error-view__details-row"
1931
1959
  };
1932
- const _hoisted_52 = { class: "node-error-view__details-label" };
1933
- const _hoisted_53 = { class: "node-error-view__details-value" };
1934
- const _hoisted_54 = {
1960
+ const _hoisted_51 = { class: "node-error-view__details-label" };
1961
+ const _hoisted_52 = { class: "node-error-view__details-value" };
1962
+ const _hoisted_53 = {
1935
1963
  key: 6,
1936
1964
  class: "node-error-view__details-row"
1937
1965
  };
1938
- const _hoisted_55 = { class: "node-error-view__details-label" };
1939
- const _hoisted_56 = { class: "node-error-view__details-value" };
1940
- const _hoisted_57 = {
1966
+ const _hoisted_54 = { class: "node-error-view__details-label" };
1967
+ const _hoisted_55 = { class: "node-error-view__details-value" };
1968
+ const _hoisted_56 = {
1941
1969
  key: 7,
1942
1970
  class: "node-error-view__details-row"
1943
1971
  };
1944
- const _hoisted_58 = { class: "node-error-view__details-label" };
1945
- const _hoisted_59 = { class: "node-error-view__details-value" };
1946
- const _hoisted_60 = {
1972
+ const _hoisted_57 = { class: "node-error-view__details-label" };
1973
+ const _hoisted_58 = { class: "node-error-view__details-value" };
1974
+ const _hoisted_59 = {
1947
1975
  key: 8,
1948
1976
  class: "node-error-view__details-row"
1949
1977
  };
1950
- const _hoisted_61 = { class: "node-error-view__details-label" };
1951
- const _hoisted_62 = { class: "node-error-view__details-value" };
1978
+ const _hoisted_60 = { class: "node-error-view__details-label" };
1979
+ const _hoisted_61 = { class: "node-error-view__details-value" };
1952
1980
  const _sfc_main$a = /* @__PURE__ */ defineComponent({
1953
1981
  __name: "NodeErrorView",
1954
1982
  props: {
1955
1983
  error: {},
1984
+ showDetails: { type: Boolean },
1956
1985
  compact: { type: Boolean }
1957
1986
  },
1958
1987
  setup(__props) {
@@ -2254,15 +2283,17 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2254
2283
  const _component_n8n_tooltip = resolveComponent("n8n-tooltip");
2255
2284
  const _component_font_awesome_icon = resolveComponent("font-awesome-icon");
2256
2285
  const _directive_n8n_html = resolveDirective("n8n-html");
2257
- return openBlock(), createElementBlock("div", _hoisted_1$8, [
2258
- createBaseVNode("div", _hoisted_2$4, [
2259
- createBaseVNode("div", _hoisted_3$3, [
2286
+ return openBlock(), createElementBlock("div", {
2287
+ class: normalizeClass(["node-error-view", props.compact ? "node-error-view_compact" : ""])
2288
+ }, [
2289
+ createBaseVNode("div", _hoisted_1$8, [
2290
+ createBaseVNode("div", _hoisted_2$4, [
2260
2291
  createBaseVNode("div", null, toDisplayString(getErrorMessage()), 1)
2261
2292
  ]),
2262
- (_ctx.error.description || _ctx.error.context?.descriptionKey) && !isSubNodeError.value ? withDirectives((openBlock(), createElementBlock("div", _hoisted_4$3, null, 512)), [
2293
+ (_ctx.error.description || _ctx.error.context?.descriptionKey) && !isSubNodeError.value ? withDirectives((openBlock(), createElementBlock("div", _hoisted_3$3, null, 512)), [
2263
2294
  [_directive_n8n_html, getErrorDescription()]
2264
2295
  ]) : createCommentVNode("", true),
2265
- isSubNodeError.value ? (openBlock(), createElementBlock("div", _hoisted_5$3, [
2296
+ isSubNodeError.value ? (openBlock(), createElementBlock("div", _hoisted_4$3, [
2266
2297
  createVNode(_component_n8n_button, {
2267
2298
  icon: "arrow-right",
2268
2299
  type: "secondary",
@@ -2272,23 +2303,23 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2272
2303
  onClick: onOpenErrorNodeDetailClick
2273
2304
  }, null, 8, ["label"])
2274
2305
  ])) : createCommentVNode("", true),
2275
- isAskAssistantAvailable.value ? (openBlock(), createElementBlock("div", _hoisted_6$2, [
2306
+ isAskAssistantAvailable.value ? (openBlock(), createElementBlock("div", _hoisted_5$3, [
2276
2307
  createVNode(InlineAskAssistantButton, {
2277
2308
  asked: assistantAlreadyAsked.value,
2278
2309
  onClick: onAskAssistantClick
2279
2310
  }, null, 8, ["asked"])
2280
2311
  ])) : createCommentVNode("", true)
2281
2312
  ]),
2282
- !_ctx.compact ? (openBlock(), createElementBlock("div", _hoisted_7$2, [
2283
- createBaseVNode("div", _hoisted_8$2, [
2284
- createBaseVNode("p", _hoisted_9$2, toDisplayString(unref(i18n).baseText("nodeErrorView.details.title")), 1),
2313
+ _ctx.showDetails ? (openBlock(), createElementBlock("div", _hoisted_6$2, [
2314
+ createBaseVNode("div", _hoisted_7$2, [
2315
+ createBaseVNode("p", _hoisted_8$2, toDisplayString(unref(i18n).baseText("nodeErrorView.details.title")), 1),
2285
2316
  createVNode(_component_n8n_tooltip, {
2286
2317
  class: "item",
2287
2318
  content: unref(i18n).baseText("nodeErrorView.copyToClipboard.tooltip"),
2288
2319
  placement: "left"
2289
2320
  }, {
2290
2321
  default: withCtx(() => [
2291
- createBaseVNode("div", _hoisted_10, [
2322
+ createBaseVNode("div", _hoisted_9$2, [
2292
2323
  createVNode(unref(_sfc_main$b), {
2293
2324
  icon: "copy",
2294
2325
  type: "secondary",
@@ -2302,9 +2333,9 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2302
2333
  _: 1
2303
2334
  }, 8, ["content"])
2304
2335
  ]),
2305
- createBaseVNode("div", _hoisted_11, [
2306
- "httpCode" in _ctx.error && _ctx.error.httpCode || prepareRawMessages.value.length || _ctx.error?.context?.data || _ctx.error.extra ? (openBlock(), createElementBlock("details", _hoisted_12, [
2307
- createBaseVNode("summary", _hoisted_13, [
2336
+ createBaseVNode("div", _hoisted_10, [
2337
+ "httpCode" in _ctx.error && _ctx.error.httpCode || prepareRawMessages.value.length || _ctx.error?.context?.data || _ctx.error.extra ? (openBlock(), createElementBlock("details", _hoisted_11, [
2338
+ createBaseVNode("summary", _hoisted_12, [
2308
2339
  createVNode(_component_font_awesome_icon, {
2309
2340
  class: "node-error-view__details-icon",
2310
2341
  icon: "angle-right"
@@ -2313,16 +2344,16 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2313
2344
  interpolate: { node: `${nodeDefaultName.value}` }
2314
2345
  })), 1)
2315
2346
  ]),
2316
- createBaseVNode("div", _hoisted_14, [
2317
- "httpCode" in _ctx.error && _ctx.error.httpCode ? (openBlock(), createElementBlock("div", _hoisted_15, [
2318
- createBaseVNode("p", _hoisted_16, toDisplayString(unref(i18n).baseText("nodeErrorView.errorCode")), 1),
2319
- createBaseVNode("p", _hoisted_17, [
2347
+ createBaseVNode("div", _hoisted_13, [
2348
+ "httpCode" in _ctx.error && _ctx.error.httpCode ? (openBlock(), createElementBlock("div", _hoisted_14, [
2349
+ createBaseVNode("p", _hoisted_15, toDisplayString(unref(i18n).baseText("nodeErrorView.errorCode")), 1),
2350
+ createBaseVNode("p", _hoisted_16, [
2320
2351
  createBaseVNode("code", null, toDisplayString(_ctx.error.httpCode), 1)
2321
2352
  ])
2322
2353
  ])) : createCommentVNode("", true),
2323
- prepareRawMessages.value.length ? (openBlock(), createElementBlock("div", _hoisted_18, [
2324
- createBaseVNode("p", _hoisted_19, toDisplayString(unref(i18n).baseText("nodeErrorView.details.rawMessages")), 1),
2325
- createBaseVNode("div", _hoisted_20, [
2354
+ prepareRawMessages.value.length ? (openBlock(), createElementBlock("div", _hoisted_17, [
2355
+ createBaseVNode("p", _hoisted_18, toDisplayString(unref(i18n).baseText("nodeErrorView.details.rawMessages")), 1),
2356
+ createBaseVNode("div", _hoisted_19, [
2326
2357
  (openBlock(true), createElementBlock(Fragment, null, renderList(prepareRawMessages.value, (msg, index) => {
2327
2358
  return openBlock(), createElementBlock("div", { key: index }, [
2328
2359
  createBaseVNode("pre", null, [
@@ -2332,25 +2363,25 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2332
2363
  }), 128))
2333
2364
  ])
2334
2365
  ])) : createCommentVNode("", true),
2335
- _ctx.error?.context?.data ? (openBlock(), createElementBlock("div", _hoisted_21, [
2336
- createBaseVNode("p", _hoisted_22, toDisplayString(unref(i18n).baseText("nodeErrorView.details.errorData")), 1),
2337
- createBaseVNode("div", _hoisted_23, [
2366
+ _ctx.error?.context?.data ? (openBlock(), createElementBlock("div", _hoisted_20, [
2367
+ createBaseVNode("p", _hoisted_21, toDisplayString(unref(i18n).baseText("nodeErrorView.details.errorData")), 1),
2368
+ createBaseVNode("div", _hoisted_22, [
2338
2369
  createBaseVNode("pre", null, [
2339
2370
  createBaseVNode("code", null, toDisplayString(_ctx.error.context.data), 1)
2340
2371
  ])
2341
2372
  ])
2342
2373
  ])) : createCommentVNode("", true),
2343
- _ctx.error.extra ? (openBlock(), createElementBlock("div", _hoisted_24, [
2344
- createBaseVNode("p", _hoisted_25, toDisplayString(unref(i18n).baseText("nodeErrorView.details.errorExtra")), 1),
2345
- createBaseVNode("div", _hoisted_26, [
2374
+ _ctx.error.extra ? (openBlock(), createElementBlock("div", _hoisted_23, [
2375
+ createBaseVNode("p", _hoisted_24, toDisplayString(unref(i18n).baseText("nodeErrorView.details.errorExtra")), 1),
2376
+ createBaseVNode("div", _hoisted_25, [
2346
2377
  createBaseVNode("pre", null, [
2347
2378
  createBaseVNode("code", null, toDisplayString(_ctx.error.extra), 1)
2348
2379
  ])
2349
2380
  ])
2350
2381
  ])) : createCommentVNode("", true),
2351
- _ctx.error.context && _ctx.error.context.request ? (openBlock(), createElementBlock("div", _hoisted_27, [
2352
- createBaseVNode("p", _hoisted_28, toDisplayString(unref(i18n).baseText("nodeErrorView.details.request")), 1),
2353
- createBaseVNode("div", _hoisted_29, [
2382
+ _ctx.error.context && _ctx.error.context.request ? (openBlock(), createElementBlock("div", _hoisted_26, [
2383
+ createBaseVNode("p", _hoisted_27, toDisplayString(unref(i18n).baseText("nodeErrorView.details.request")), 1),
2384
+ createBaseVNode("div", _hoisted_28, [
2354
2385
  createBaseVNode("pre", null, [
2355
2386
  createBaseVNode("code", null, toDisplayString(_ctx.error.context.request), 1)
2356
2387
  ])
@@ -2358,75 +2389,75 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2358
2389
  ])) : createCommentVNode("", true)
2359
2390
  ])
2360
2391
  ])) : createCommentVNode("", true),
2361
- createBaseVNode("details", _hoisted_30, [
2362
- createBaseVNode("summary", _hoisted_31, [
2392
+ createBaseVNode("details", _hoisted_29, [
2393
+ createBaseVNode("summary", _hoisted_30, [
2363
2394
  createVNode(_component_font_awesome_icon, {
2364
2395
  class: "node-error-view__details-icon",
2365
2396
  icon: "angle-right"
2366
2397
  }),
2367
2398
  createTextVNode(" " + toDisplayString(unref(i18n).baseText("nodeErrorView.details.info")), 1)
2368
2399
  ]),
2369
- createBaseVNode("div", _hoisted_32, [
2370
- _ctx.error.context && _ctx.error.context.itemIndex !== void 0 ? (openBlock(), createElementBlock("div", _hoisted_33, [
2371
- createBaseVNode("p", _hoisted_34, toDisplayString(unref(i18n).baseText("nodeErrorView.itemIndex")), 1),
2372
- createBaseVNode("p", _hoisted_35, [
2400
+ createBaseVNode("div", _hoisted_31, [
2401
+ _ctx.error.context && _ctx.error.context.itemIndex !== void 0 ? (openBlock(), createElementBlock("div", _hoisted_32, [
2402
+ createBaseVNode("p", _hoisted_33, toDisplayString(unref(i18n).baseText("nodeErrorView.itemIndex")), 1),
2403
+ createBaseVNode("p", _hoisted_34, [
2373
2404
  createBaseVNode("code", null, toDisplayString(_ctx.error.context.itemIndex), 1)
2374
2405
  ])
2375
2406
  ])) : createCommentVNode("", true),
2376
- _ctx.error.context && _ctx.error.context.runIndex !== void 0 ? (openBlock(), createElementBlock("div", _hoisted_36, [
2377
- createBaseVNode("p", _hoisted_37, toDisplayString(unref(i18n).baseText("nodeErrorView.runIndex")), 1),
2378
- createBaseVNode("p", _hoisted_38, [
2407
+ _ctx.error.context && _ctx.error.context.runIndex !== void 0 ? (openBlock(), createElementBlock("div", _hoisted_35, [
2408
+ createBaseVNode("p", _hoisted_36, toDisplayString(unref(i18n).baseText("nodeErrorView.runIndex")), 1),
2409
+ createBaseVNode("p", _hoisted_37, [
2379
2410
  createBaseVNode("code", null, toDisplayString(_ctx.error.context.runIndex), 1)
2380
2411
  ])
2381
2412
  ])) : createCommentVNode("", true),
2382
- _ctx.error.context && _ctx.error.context.parameter !== void 0 ? (openBlock(), createElementBlock("div", _hoisted_39, [
2383
- createBaseVNode("p", _hoisted_40, toDisplayString(unref(i18n).baseText("nodeErrorView.inParameter")), 1),
2384
- createBaseVNode("p", _hoisted_41, [
2413
+ _ctx.error.context && _ctx.error.context.parameter !== void 0 ? (openBlock(), createElementBlock("div", _hoisted_38, [
2414
+ createBaseVNode("p", _hoisted_39, toDisplayString(unref(i18n).baseText("nodeErrorView.inParameter")), 1),
2415
+ createBaseVNode("p", _hoisted_40, [
2385
2416
  createBaseVNode("code", null, toDisplayString(parameterDisplayName(`${_ctx.error.context.parameter}`)), 1)
2386
2417
  ])
2387
2418
  ])) : createCommentVNode("", true),
2388
- _ctx.error.node && _ctx.error.node.type ? (openBlock(), createElementBlock("div", _hoisted_42, [
2389
- createBaseVNode("p", _hoisted_43, toDisplayString(unref(i18n).baseText("nodeErrorView.details.nodeType")), 1),
2390
- createBaseVNode("p", _hoisted_44, [
2419
+ _ctx.error.node && _ctx.error.node.type ? (openBlock(), createElementBlock("div", _hoisted_41, [
2420
+ createBaseVNode("p", _hoisted_42, toDisplayString(unref(i18n).baseText("nodeErrorView.details.nodeType")), 1),
2421
+ createBaseVNode("p", _hoisted_43, [
2391
2422
  createBaseVNode("code", null, toDisplayString(_ctx.error.node.type), 1)
2392
2423
  ])
2393
2424
  ])) : createCommentVNode("", true),
2394
- _ctx.error.node && _ctx.error.node.typeVersion ? (openBlock(), createElementBlock("div", _hoisted_45, [
2395
- createBaseVNode("p", _hoisted_46, toDisplayString(unref(i18n).baseText("nodeErrorView.details.nodeVersion")), 1),
2396
- createBaseVNode("p", _hoisted_47, [
2425
+ _ctx.error.node && _ctx.error.node.typeVersion ? (openBlock(), createElementBlock("div", _hoisted_44, [
2426
+ createBaseVNode("p", _hoisted_45, toDisplayString(unref(i18n).baseText("nodeErrorView.details.nodeVersion")), 1),
2427
+ createBaseVNode("p", _hoisted_46, [
2397
2428
  createBaseVNode("code", null, [
2398
2429
  createBaseVNode("span", null, toDisplayString(_ctx.error.node.typeVersion + " "), 1),
2399
2430
  createBaseVNode("span", null, "(" + toDisplayString(nodeVersionTag(_ctx.error.node)) + ")", 1)
2400
2431
  ])
2401
2432
  ])
2402
2433
  ])) : createCommentVNode("", true),
2403
- createBaseVNode("div", _hoisted_48, [
2404
- createBaseVNode("p", _hoisted_49, toDisplayString(unref(i18n).baseText("nodeErrorView.details.n8nVersion")), 1),
2405
- createBaseVNode("p", _hoisted_50, [
2434
+ createBaseVNode("div", _hoisted_47, [
2435
+ createBaseVNode("p", _hoisted_48, toDisplayString(unref(i18n).baseText("nodeErrorView.details.n8nVersion")), 1),
2436
+ createBaseVNode("p", _hoisted_49, [
2406
2437
  createBaseVNode("code", null, toDisplayString(n8nVersion.value), 1)
2407
2438
  ])
2408
2439
  ]),
2409
- _ctx.error.timestamp ? (openBlock(), createElementBlock("div", _hoisted_51, [
2410
- createBaseVNode("p", _hoisted_52, toDisplayString(unref(i18n).baseText("nodeErrorView.time")), 1),
2411
- createBaseVNode("p", _hoisted_53, [
2440
+ _ctx.error.timestamp ? (openBlock(), createElementBlock("div", _hoisted_50, [
2441
+ createBaseVNode("p", _hoisted_51, toDisplayString(unref(i18n).baseText("nodeErrorView.time")), 1),
2442
+ createBaseVNode("p", _hoisted_52, [
2412
2443
  createBaseVNode("code", null, toDisplayString(new Date(_ctx.error.timestamp).toLocaleString()), 1)
2413
2444
  ])
2414
2445
  ])) : createCommentVNode("", true),
2415
- _ctx.error.cause && displayCause.value ? (openBlock(), createElementBlock("div", _hoisted_54, [
2416
- createBaseVNode("p", _hoisted_55, toDisplayString(unref(i18n).baseText("nodeErrorView.details.errorCause")), 1),
2417
- createBaseVNode("pre", _hoisted_56, [
2446
+ _ctx.error.cause && displayCause.value ? (openBlock(), createElementBlock("div", _hoisted_53, [
2447
+ createBaseVNode("p", _hoisted_54, toDisplayString(unref(i18n).baseText("nodeErrorView.details.errorCause")), 1),
2448
+ createBaseVNode("pre", _hoisted_55, [
2418
2449
  createBaseVNode("code", null, toDisplayString(_ctx.error.cause), 1)
2419
2450
  ])
2420
2451
  ])) : createCommentVNode("", true),
2421
- _ctx.error.context && _ctx.error.context.causeDetailed ? (openBlock(), createElementBlock("div", _hoisted_57, [
2422
- createBaseVNode("p", _hoisted_58, toDisplayString(unref(i18n).baseText("nodeErrorView.details.causeDetailed")), 1),
2423
- createBaseVNode("pre", _hoisted_59, [
2452
+ _ctx.error.context && _ctx.error.context.causeDetailed ? (openBlock(), createElementBlock("div", _hoisted_56, [
2453
+ createBaseVNode("p", _hoisted_57, toDisplayString(unref(i18n).baseText("nodeErrorView.details.causeDetailed")), 1),
2454
+ createBaseVNode("pre", _hoisted_58, [
2424
2455
  createBaseVNode("code", null, toDisplayString(_ctx.error.context.causeDetailed), 1)
2425
2456
  ])
2426
2457
  ])) : createCommentVNode("", true),
2427
- _ctx.error.stack ? (openBlock(), createElementBlock("div", _hoisted_60, [
2428
- createBaseVNode("p", _hoisted_61, toDisplayString(unref(i18n).baseText("nodeErrorView.details.stackTrace")), 1),
2429
- createBaseVNode("pre", _hoisted_62, [
2458
+ _ctx.error.stack ? (openBlock(), createElementBlock("div", _hoisted_59, [
2459
+ createBaseVNode("p", _hoisted_60, toDisplayString(unref(i18n).baseText("nodeErrorView.details.stackTrace")), 1),
2460
+ createBaseVNode("pre", _hoisted_61, [
2430
2461
  createBaseVNode("code", null, toDisplayString(_ctx.error.stack), 1)
2431
2462
  ])
2432
2463
  ])) : createCommentVNode("", true)
@@ -2434,10 +2465,155 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2434
2465
  ])
2435
2466
  ])
2436
2467
  ])) : createCommentVNode("", true)
2437
- ]);
2468
+ ], 2);
2438
2469
  };
2439
2470
  }
2440
2471
  });
2472
+ const fallbackParser = (execData) => ({
2473
+ type: "json",
2474
+ data: execData,
2475
+ parsed: false
2476
+ });
2477
+ const outputTypeParsers = {
2478
+ [NodeConnectionTypes.AiLanguageModel](execData) {
2479
+ const response = execData.response ?? execData;
2480
+ if (!response) throw new Error("No response from Language Model");
2481
+ if (Array.isArray(response?.messages) && response?.messages.length === 1 && typeof response?.messages[0] === "string") {
2482
+ return {
2483
+ type: "text",
2484
+ data: response.messages[0],
2485
+ parsed: true
2486
+ };
2487
+ }
2488
+ if (response.messages && Array.isArray(response.messages)) {
2489
+ return outputTypeParsers[NodeConnectionTypes.AiMemory](execData);
2490
+ }
2491
+ if (response.generations) {
2492
+ const generations = response.generations;
2493
+ const content = generations.map((generation) => {
2494
+ if (generation?.text) return generation.text;
2495
+ if (Array.isArray(generation)) {
2496
+ return generation.map((item) => item.text ?? item).join("\n\n").trim();
2497
+ }
2498
+ return generation;
2499
+ });
2500
+ return {
2501
+ type: "json",
2502
+ data: content,
2503
+ parsed: true
2504
+ };
2505
+ }
2506
+ return {
2507
+ type: "json",
2508
+ data: response,
2509
+ parsed: true
2510
+ };
2511
+ },
2512
+ [NodeConnectionTypes.AiTool]: fallbackParser,
2513
+ [NodeConnectionTypes.AiAgent]: fallbackParser,
2514
+ [NodeConnectionTypes.AiMemory](execData) {
2515
+ const chatHistory = execData.chatHistory ?? execData.messages ?? execData?.response?.chat_history;
2516
+ if (Array.isArray(chatHistory)) {
2517
+ const responseText = chatHistory.map((content) => {
2518
+ if (content.type === "constructor" && content.id?.includes("messages") && content.kwargs) {
2519
+ let message = String(content.kwargs.content);
2520
+ if (Array.isArray(message)) {
2521
+ message = message.map((item) => {
2522
+ const { type, image_url } = item;
2523
+ if (type === "image_url" && typeof image_url === "object" && typeof image_url.url === "string") {
2524
+ return `![Input image](${image_url.url})`;
2525
+ } else if (typeof image_url === "string") {
2526
+ return `![Input image](${image_url})`;
2527
+ }
2528
+ return item.text;
2529
+ }).join("\n");
2530
+ }
2531
+ if (Object.keys(content.kwargs.additional_kwargs).length) {
2532
+ message += ` (${JSON.stringify(content.kwargs.additional_kwargs)})`;
2533
+ }
2534
+ if (content.id.includes("HumanMessage")) {
2535
+ message = `**Human:** ${String(message).trim()}`;
2536
+ } else if (content.id.includes("AIMessage")) {
2537
+ message = `**AI:** ${message}`;
2538
+ } else if (content.id.includes("SystemMessage")) {
2539
+ message = `**System Message:** ${message}`;
2540
+ }
2541
+ return message;
2542
+ }
2543
+ return "";
2544
+ }).join("\n\n");
2545
+ if (responseText.length === 0) {
2546
+ return fallbackParser(execData);
2547
+ }
2548
+ return {
2549
+ type: "markdown",
2550
+ data: responseText,
2551
+ parsed: true
2552
+ };
2553
+ }
2554
+ return fallbackParser(execData);
2555
+ },
2556
+ [NodeConnectionTypes.AiOutputParser]: fallbackParser,
2557
+ [NodeConnectionTypes.AiRetriever]: fallbackParser,
2558
+ [NodeConnectionTypes.AiVectorStore](execData) {
2559
+ if (execData.documents) {
2560
+ return {
2561
+ type: "json",
2562
+ data: execData.documents,
2563
+ parsed: true
2564
+ };
2565
+ }
2566
+ return fallbackParser(execData);
2567
+ },
2568
+ [NodeConnectionTypes.AiEmbedding](execData) {
2569
+ if (execData.documents) {
2570
+ return {
2571
+ type: "json",
2572
+ data: execData.documents,
2573
+ parsed: true
2574
+ };
2575
+ }
2576
+ return fallbackParser(execData);
2577
+ },
2578
+ [NodeConnectionTypes.AiDocument](execData) {
2579
+ if (execData.documents) {
2580
+ return {
2581
+ type: "json",
2582
+ data: execData.documents,
2583
+ parsed: true
2584
+ };
2585
+ }
2586
+ return fallbackParser(execData);
2587
+ },
2588
+ [NodeConnectionTypes.AiTextSplitter](execData) {
2589
+ const arrayData = Array.isArray(execData.response) ? execData.response : [execData.textSplitter];
2590
+ return {
2591
+ type: "text",
2592
+ data: arrayData.join("\n\n"),
2593
+ parsed: true
2594
+ };
2595
+ }
2596
+ };
2597
+ function parseAiContent(executionData, endpointType) {
2598
+ if ([NodeConnectionTypes.AiChain, NodeConnectionTypes.Main].includes(
2599
+ endpointType
2600
+ )) {
2601
+ return executionData.map((data) => ({ raw: data.json, parsedContent: null }));
2602
+ }
2603
+ const contentJson = executionData.map((node) => {
2604
+ const hasBinaryData = !isObjectEmpty(node.binary);
2605
+ return hasBinaryData ? node.binary : node.json;
2606
+ });
2607
+ const parser = outputTypeParsers[endpointType];
2608
+ if (!parser)
2609
+ return [
2610
+ {
2611
+ raw: contentJson.filter((item) => item !== void 0),
2612
+ parsedContent: null
2613
+ }
2614
+ ];
2615
+ return contentJson.filter((c) => c !== void 0).map((c) => ({ raw: c, parsedContent: parser(c) }));
2616
+ }
2441
2617
  const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2442
2618
  __name: "ConsumedTokensDetails",
2443
2619
  props: {
@@ -3206,7 +3382,7 @@ const cssModules$2 = {
3206
3382
  "$style": style0$2
3207
3383
  };
3208
3384
  const RunDataItemCount = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__cssModules", cssModules$2]]);
3209
- const _hoisted_1$1 = { key: 5 };
3385
+ const _hoisted_1$1 = { key: 6 };
3210
3386
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3211
3387
  __name: "RunDataDisplayModeSelect",
3212
3388
  props: {
@@ -3214,7 +3390,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3214
3390
  value: {},
3215
3391
  hasBinaryData: { type: Boolean },
3216
3392
  paneType: {},
3217
- nodeGeneratesHtml: { type: Boolean }
3393
+ nodeGeneratesHtml: { type: Boolean },
3394
+ hasRenderableData: { type: Boolean }
3218
3395
  },
3219
3396
  emits: ["change"],
3220
3397
  setup(__props, { emit: __emit }) {
@@ -3232,8 +3409,20 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3232
3409
  if (__props.paneType === "output" && __props.nodeGeneratesHtml) {
3233
3410
  defaults.unshift({ label: "HTML", value: "html" });
3234
3411
  }
3412
+ if (__props.hasRenderableData) {
3413
+ defaults.unshift({ label: i18n.baseText("runData.rendered"), value: "ai" });
3414
+ }
3235
3415
  return defaults;
3236
3416
  });
3417
+ watch(
3418
+ [() => __props.value, options],
3419
+ ([val, opts]) => {
3420
+ if (opts.length > 0 && opts.every((opt) => opt.value !== val)) {
3421
+ emit("change", opts[0].value);
3422
+ }
3423
+ },
3424
+ { immediate: true }
3425
+ );
3237
3426
  return (_ctx, _cache) => {
3238
3427
  return openBlock(), createBlock(unref(N8nRadioButtons), {
3239
3428
  "model-value": _ctx.value,
@@ -3266,6 +3455,10 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3266
3455
  key: 4,
3267
3456
  icon: "html",
3268
3457
  size: "small"
3458
+ })) : option.value === "ai" ? (openBlock(), createBlock(unref(N8nIcon), {
3459
+ key: 5,
3460
+ icon: "text",
3461
+ size: "small"
3269
3462
  })) : (openBlock(), createElementBlock("span", _hoisted_1$1, toDisplayString(option.label), 1))
3270
3463
  ]),
3271
3464
  key: "0"
@@ -3368,6 +3561,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3368
3561
  executingMessage: {},
3369
3562
  pushRef: {},
3370
3563
  paneType: {},
3564
+ displayMode: {},
3371
3565
  noDataInBranchMessage: {},
3372
3566
  node: { default: null },
3373
3567
  nodes: { default: () => [] },
@@ -3387,24 +3581,28 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3387
3581
  disablePin: { type: Boolean, default: false },
3388
3582
  compact: { type: Boolean, default: false },
3389
3583
  tableHeaderBgColor: { default: "base" },
3390
- disableHoverHighlight: { type: Boolean, default: false }
3584
+ disableHoverHighlight: { type: Boolean, default: false },
3585
+ disableAiContent: { type: Boolean, default: false }
3391
3586
  },
3392
- emits: ["search", "runChange", "itemHover", "linkRun", "unlinkRun", "activatePane", "tableMounted"],
3587
+ emits: ["search", "runChange", "itemHover", "linkRun", "unlinkRun", "activatePane", "tableMounted", "displayModeChange"],
3393
3588
  setup(__props, { expose: __expose, emit: __emit }) {
3394
3589
  const LazyRunDataTable = defineAsyncComponent(
3395
- async () => await __vitePreload(() => import("./RunDataTable-vEPCwbcC.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0)
3590
+ async () => await __vitePreload(() => import("./RunDataTable-CpS78GlT.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0)
3396
3591
  );
3397
3592
  const LazyRunDataJson = defineAsyncComponent(
3398
- async () => await __vitePreload(() => import("./RunDataJson-DXd3nZxI.js"), true ? __vite__mapDeps([6,1,2,7,3,4,8]) : void 0)
3593
+ async () => await __vitePreload(() => import("./RunDataJson-CptVuHuA.js"), true ? __vite__mapDeps([6,1,2,7,3,4,8]) : void 0)
3399
3594
  );
3400
3595
  const LazyRunDataSchema = defineAsyncComponent(
3401
- async () => await __vitePreload(() => import("./index-BLAboPd2.js").then((n) => n.iA), true ? __vite__mapDeps([1,2]) : void 0)
3596
+ async () => await __vitePreload(() => import("./index-DZ6VpjNj.js").then((n) => n.iQ), true ? __vite__mapDeps([1,2]) : void 0)
3402
3597
  );
3403
3598
  const LazyRunDataHtml = defineAsyncComponent(
3404
3599
  async () => await __vitePreload(() => Promise.resolve().then(() => RunDataHtml$1), true ? void 0 : void 0)
3405
3600
  );
3601
+ const LazyRunDataAi = defineAsyncComponent(
3602
+ async () => await __vitePreload(() => import("./RunDataParsedAiContent-BbXv-NPD.js"), true ? __vite__mapDeps([9,1,2,7,3,4,10]) : void 0)
3603
+ );
3406
3604
  const LazyRunDataSearch = defineAsyncComponent(
3407
- async () => await __vitePreload(() => import("./RunDataSearch-DJ9BZGTu.js"), true ? __vite__mapDeps([9,1,2,10]) : void 0)
3605
+ async () => await __vitePreload(() => import("./RunDataSearch-B90wjsDA.js"), true ? __vite__mapDeps([11,1,2,12]) : void 0)
3408
3606
  );
3409
3607
  const props = __props;
3410
3608
  const emit = __emit;
@@ -3428,7 +3626,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3428
3626
  const rootStore = useRootStore();
3429
3627
  const uiStore = useUIStore();
3430
3628
  const schemaPreviewStore = useSchemaPreviewStore();
3431
- const posthogStore = usePostHog();
3432
3629
  const toast = useToast();
3433
3630
  const route = useRoute();
3434
3631
  const nodeHelpers = useNodeHelpers();
@@ -3438,14 +3635,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3438
3635
  const node = toRef(props, "node");
3439
3636
  const pinnedData = usePinnedData(node, {
3440
3637
  runIndex: props.runIndex,
3441
- displayMode: props.paneType === "input" ? ndvStore.inputPanelDisplayMode : ndvStore.outputPanelDisplayMode
3638
+ displayMode: props.displayMode
3442
3639
  });
3443
3640
  const { isSubNodeType } = useNodeType({
3444
3641
  node
3445
3642
  });
3446
- const displayMode = computed(
3447
- () => props.paneType === "input" ? ndvStore.inputPanelDisplayMode : ndvStore.outputPanelDisplayMode
3448
- );
3643
+ const isArchivedWorkflow = computed(() => workflowsStore.workflow.isArchived);
3449
3644
  const isReadOnlyRoute = computed(() => route.meta.readOnlyCanvas === true);
3450
3645
  const isWaitNodeWaiting = computed(() => {
3451
3646
  return node.value?.name && workflowExecution.value?.data?.resultData?.runData?.[node.value?.name]?.[props.runIndex]?.executionStatus === "waiting";
@@ -3455,7 +3650,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3455
3650
  if (!node.value) return null;
3456
3651
  return nodeTypesStore.getNodeType(node.value.type, node.value.typeVersion);
3457
3652
  });
3458
- const isSchemaView = computed(() => displayMode.value === "schema");
3653
+ const isSchemaView = computed(() => props.displayMode === "schema");
3459
3654
  const isSearchInSchemaView = computed(() => isSchemaView.value && !!search2.value);
3460
3655
  const hasMultipleInputNodes = computed(() => props.paneType === "input" && props.nodes.length > 0);
3461
3656
  const displaysMultipleNodes = computed(() => isSchemaView.value && hasMultipleInputNodes.value);
@@ -3668,7 +3863,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3668
3863
  return canPinData.value;
3669
3864
  });
3670
3865
  const pinButtonDisabled = computed(
3671
- () => !rawInputData.value.length && !pinnedData.hasData.value || !!binaryData.value?.length || isReadOnlyRoute.value || readOnlyEnv.value
3866
+ () => !rawInputData.value.length && !pinnedData.hasData.value || !!binaryData.value?.length || isReadOnlyRoute.value || readOnlyEnv.value || isArchivedWorkflow.value
3672
3867
  );
3673
3868
  const activeTaskMetadata = computed(() => {
3674
3869
  if (!node.value) {
@@ -3694,12 +3889,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3694
3889
  return Boolean(taskData?.inputOverride);
3695
3890
  });
3696
3891
  const isSchemaPreviewEnabled = computed(
3697
- () => props.paneType === "input" && !(nodeType.value?.codex?.categories ?? []).some(
3698
- (category) => category === CORE_NODES_CATEGORY
3699
- ) && posthogStore.isVariantEnabled(
3700
- SCHEMA_PREVIEW_EXPERIMENT.name,
3701
- SCHEMA_PREVIEW_EXPERIMENT.variant
3702
- )
3892
+ () => props.paneType === "input" && !(nodeType.value?.codex?.categories ?? []).some((category) => category === CORE_NODES_CATEGORY)
3703
3893
  );
3704
3894
  const hasPreviewSchema = computedAsync(async () => {
3705
3895
  if (!isSchemaPreviewEnabled.value || props.nodes.length === 0) return false;
@@ -3722,6 +3912,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3722
3912
  unfilteredDataCount: unfilteredDataCount.value,
3723
3913
  subExecutionsCount: activeTaskMetadata.value?.subExecutionsCount
3724
3914
  }));
3915
+ const parsedAiContent = computed(
3916
+ () => props.disableAiContent ? [] : parseAiContent(rawInputData.value, connectionType.value)
3917
+ );
3918
+ const hasParsedAiContent = computed(
3919
+ () => parsedAiContent.value.some((prr) => prr.parsedContent?.parsed)
3920
+ );
3725
3921
  function setInputBranchIndex(value) {
3726
3922
  if (props.paneType === "input") {
3727
3923
  outputIndex.value = value;
@@ -3758,9 +3954,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3758
3954
  showPinDataDiscoveryTooltip(data);
3759
3955
  });
3760
3956
  watch(binaryData, (newData, prevData) => {
3761
- if (newData.length && !prevData.length && displayMode.value !== "binary") {
3957
+ if (newData.length && !prevData.length && props.displayMode !== "binary") {
3762
3958
  switchToBinary();
3763
- } else if (!newData.length && displayMode.value === "binary") {
3959
+ } else if (!newData.length && props.displayMode === "binary") {
3764
3960
  onDisplayModeChange("table");
3765
3961
  }
3766
3962
  });
@@ -3773,6 +3969,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3773
3969
  watch(search2, (newSearch) => {
3774
3970
  emit("search", newSearch);
3775
3971
  });
3972
+ watch(
3973
+ hasParsedAiContent,
3974
+ (hasAiContent) => {
3975
+ if (hasAiContent && props.displayMode !== "ai") {
3976
+ emit("displayModeChange", "ai");
3977
+ }
3978
+ },
3979
+ { immediate: true }
3980
+ );
3776
3981
  onMounted(() => {
3777
3982
  init();
3778
3983
  ndvEventBus.on("setInputBranchIndex", setInputBranchIndex);
@@ -3894,7 +4099,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3894
4099
  return;
3895
4100
  }
3896
4101
  const pinDataDiscoveryFlag = useStorage(LOCAL_STORAGE_PIN_DATA_DISCOVERY_NDV_FLAG).value;
3897
- if (value && value.length > 0 && !isReadOnlyRoute.value && !pinDataDiscoveryFlag) {
4102
+ if (value && value.length > 0 && !isReadOnlyRoute.value && !isArchivedWorkflow.value && !pinDataDiscoveryFlag) {
3898
4103
  pinDataDiscoveryComplete();
3899
4104
  setTimeout(() => {
3900
4105
  isControlledPinDataTooltip.value = true;
@@ -3926,7 +4131,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3926
4131
  push_ref: props.pushRef,
3927
4132
  run_index: props.runIndex,
3928
4133
  is_output_present: hasNodeRun.value || pinnedData.hasData.value,
3929
- view: !hasNodeRun.value && !pinnedData.hasData.value ? "undefined" : displayMode.value,
4134
+ view: !hasNodeRun.value && !pinnedData.hasData.value ? "undefined" : props.displayMode,
3930
4135
  is_data_pinned: pinnedData.hasData.value
3931
4136
  });
3932
4137
  }
@@ -3960,7 +4165,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3960
4165
  node_type: activeNode.value?.type,
3961
4166
  push_ref: props.pushRef,
3962
4167
  run_index: props.runIndex,
3963
- view: displayMode.value,
4168
+ view: props.displayMode,
3964
4169
  type
3965
4170
  });
3966
4171
  }
@@ -3973,7 +4178,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3973
4178
  node_type: activeNode.value?.type,
3974
4179
  push_ref: props.pushRef,
3975
4180
  run_index: props.runIndex,
3976
- view: !hasNodeRun.value && !pinnedData.hasData.value ? "none" : displayMode.value
4181
+ view: !hasNodeRun.value && !pinnedData.hasData.value ? "none" : props.displayMode
3977
4182
  };
3978
4183
  void externalHooks.run("runData.onTogglePinData", telemetryPayload);
3979
4184
  telemetry.track("User clicked pin data icon", telemetryPayload);
@@ -4073,8 +4278,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4073
4278
  });
4074
4279
  }
4075
4280
  function onDisplayModeChange(newDisplayMode) {
4076
- const previous = displayMode.value;
4077
- ndvStore.setPanelDisplayMode({ pane: props.paneType, mode: newDisplayMode });
4281
+ const previous = props.displayMode;
4282
+ emit("displayModeChange", newDisplayMode);
4078
4283
  if (!userEnabledShowData.value) updateShowData();
4079
4284
  if (dataContainerRef.value) {
4080
4285
  const dataDisplay2 = dataContainerRef.value.children[0];
@@ -4186,15 +4391,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4186
4391
  }
4187
4392
  connectionType.value = outputTypes.length === 0 ? NodeConnectionTypes.Main : outputTypes[0];
4188
4393
  if (binaryData.value.length > 0) {
4189
- ndvStore.setPanelDisplayMode({
4190
- pane: props.paneType,
4191
- mode: "binary"
4192
- });
4193
- } else if (displayMode.value === "binary") {
4194
- ndvStore.setPanelDisplayMode({
4195
- pane: props.paneType,
4196
- mode: "schema"
4197
- });
4394
+ emit("displayModeChange", "binary");
4395
+ } else if (props.displayMode === "binary") {
4396
+ emit("displayModeChange", "schema");
4198
4397
  }
4199
4398
  }
4200
4399
  function closeBinaryDataDisplay() {
@@ -4283,10 +4482,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4283
4482
  if (!activeNode.value) return;
4284
4483
  const shouldDisplayHtml = activeNode.value.type === HTML_NODE_TYPE && activeNode.value.parameters.operation === "generateHtmlTemplate";
4285
4484
  if (shouldDisplayHtml) {
4286
- ndvStore.setPanelDisplayMode({
4287
- pane: "output",
4288
- mode: "html"
4289
- });
4485
+ emit("displayModeChange", "html");
4290
4486
  }
4291
4487
  }
4292
4488
  function activatePane() {
@@ -4328,7 +4524,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4328
4524
  ]),
4329
4525
  default: withCtx(() => [
4330
4526
  createTextVNode(toDisplayString(unref(i18n).baseText("runData.pindata.thisDataIsPinned")) + " ", 1),
4331
- !isReadOnlyRoute.value && !readOnlyEnv.value ? (openBlock(), createElementBlock("span", _hoisted_1, [
4527
+ !isReadOnlyRoute.value && !isArchivedWorkflow.value && !readOnlyEnv.value ? (openBlock(), createElementBlock("span", _hoisted_1, [
4332
4528
  createVNode(unref(N8nLink), {
4333
4529
  theme: "secondary",
4334
4530
  size: "small",
@@ -4374,7 +4570,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4374
4570
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => search2.value = $event),
4375
4571
  class: normalizeClass(_ctx.$style.search),
4376
4572
  "pane-type": _ctx.paneType,
4377
- "display-mode": displayMode.value,
4573
+ "display-mode": _ctx.displayMode,
4378
4574
  "is-area-active": _ctx.isPaneActive,
4379
4575
  onFocus: activatePane
4380
4576
  }, null, 8, ["modelValue", "class", "pane-type", "display-mode", "is-area-active"])) : createCommentVNode("", true)
@@ -4384,12 +4580,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4384
4580
  withDirectives(createVNode(_sfc_main$2, {
4385
4581
  class: normalizeClass(_ctx.$style.displayModeSelect),
4386
4582
  compact: props.compact,
4387
- value: displayMode.value,
4583
+ value: _ctx.displayMode,
4388
4584
  "has-binary-data": binaryData.value.length > 0,
4389
4585
  "pane-type": _ctx.paneType,
4390
4586
  "node-generates-html": unref(activeNode)?.type === unref(HTML_NODE_TYPE) && unref(activeNode).parameters.operation === "generateHtmlTemplate",
4587
+ "has-renderable-data": hasParsedAiContent.value,
4391
4588
  onChange: onDisplayModeChange
4392
- }, null, 8, ["class", "compact", "value", "has-binary-data", "pane-type", "node-generates-html"]), [
4589
+ }, null, 8, ["class", "compact", "value", "has-binary-data", "pane-type", "node-generates-html", "has-renderable-data"]), [
4393
4590
  [
4394
4591
  vShow,
4395
4592
  unref(hasPreviewSchema) || hasNodeRun.value && (inputData.value.length || binaryData.value.length || search2.value || hasMultipleInputNodes.value) && !editMode2.value.enabled
@@ -4504,7 +4701,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4504
4701
  activeTaskMetadata.value && !(_ctx.paneType === "input" && hasInputOverwrite.value) ? (openBlock(), createBlock(ViewSubExecution, {
4505
4702
  key: 0,
4506
4703
  "task-metadata": activeTaskMetadata.value,
4507
- "display-mode": displayMode.value
4704
+ "display-mode": _ctx.displayMode
4508
4705
  }, null, 8, ["task-metadata", "display-mode"])) : createCommentVNode("", true)
4509
4706
  ], 2)), [
4510
4707
  [vShow, !editMode2.value.enabled]
@@ -4552,7 +4749,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4552
4749
  activeTaskMetadata.value && !(_ctx.paneType === "input" && hasInputOverwrite.value) ? (openBlock(), createBlock(ViewSubExecution, {
4553
4750
  key: 1,
4554
4751
  "task-metadata": activeTaskMetadata.value,
4555
- "display-mode": displayMode.value
4752
+ "display-mode": _ctx.displayMode
4556
4753
  }, null, 8, ["task-metadata", "display-mode"])) : createCommentVNode("", true),
4557
4754
  createBaseVNode("div", {
4558
4755
  class: normalizeClass(_ctx.$style.tabs)
@@ -4574,7 +4771,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4574
4771
  activeTaskMetadata.value && !(_ctx.paneType === "input" && hasInputOverwrite.value) ? (openBlock(), createBlock(ViewSubExecution, {
4575
4772
  key: 1,
4576
4773
  "task-metadata": activeTaskMetadata.value,
4577
- "display-mode": displayMode.value
4774
+ "display-mode": _ctx.displayMode
4578
4775
  }, null, 8, ["task-metadata", "display-mode"])) : createCommentVNode("", true)
4579
4776
  ], 2)), [
4580
4777
  [vShow, !editMode2.value.enabled]
@@ -4641,9 +4838,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4641
4838
  class: normalizeClass(_ctx.$style.stretchVertically)
4642
4839
  }, [
4643
4840
  createVNode(_sfc_main$a, {
4841
+ compact: _ctx.compact,
4644
4842
  error: subworkflowExecutionError.value,
4645
- class: normalizeClass(_ctx.$style.errorDisplay)
4646
- }, null, 8, ["error", "class"])
4843
+ class: normalizeClass(_ctx.$style.errorDisplay),
4844
+ "show-details": ""
4845
+ }, null, 8, ["compact", "error", "class"])
4647
4846
  ], 2)) : isWaitNodeWaiting.value ? (openBlock(), createElementBlock("div", {
4648
4847
  key: 3,
4649
4848
  class: normalizeClass(_ctx.$style.center)
@@ -4737,14 +4936,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4737
4936
  key: 0,
4738
4937
  error: workflowRunErrorAsNodeError.value,
4739
4938
  class: normalizeClass(_ctx.$style.inlineError),
4740
- compact: ""
4741
- }, null, 8, ["error", "class"])) : createCommentVNode("", true),
4939
+ compact: _ctx.compact
4940
+ }, null, 8, ["error", "class", "compact"])) : createCommentVNode("", true),
4742
4941
  renderSlot(_ctx.$slots, "content", {}, void 0, true)
4743
4942
  ])) : workflowRunErrorAsNodeError.value ? (openBlock(), createBlock(_sfc_main$a, {
4744
4943
  key: 2,
4745
4944
  error: workflowRunErrorAsNodeError.value,
4746
- class: normalizeClass(_ctx.$style.dataDisplay)
4747
- }, null, 8, ["error", "class"])) : createCommentVNode("", true)
4945
+ class: normalizeClass(_ctx.$style.dataDisplay),
4946
+ compact: _ctx.compact,
4947
+ "show-details": ""
4948
+ }, null, 8, ["error", "class", "compact"])) : createCommentVNode("", true)
4748
4949
  ], 2)) : hasNodeRun.value && (!unfilteredDataCount.value || search2.value && !dataCount.value) && !displaysMultipleNodes.value && branches.value.length > 1 ? (openBlock(), createElementBlock("div", {
4749
4950
  key: 10,
4750
4951
  class: normalizeClass(_ctx.$style.center)
@@ -4830,7 +5031,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4830
5031
  label: unref(i18n).baseText("runData.downloadBinaryData"),
4831
5032
  onClick: _cache[7] || (_cache[7] = ($event) => downloadJsonData())
4832
5033
  }, null, 8, ["label"])
4833
- ], 2)) : hasNodeRun.value && _ctx.$slots["content"] ? renderSlot(_ctx.$slots, "content", { key: 13 }, void 0, true) : hasNodeRun.value && displayMode.value === "table" && binaryData.value.length > 0 && inputData.value.length === 1 && Object.keys(jsonData.value[0] || {}).length === 0 ? (openBlock(), createElementBlock("div", {
5034
+ ], 2)) : hasNodeRun.value && _ctx.$slots["content"] ? renderSlot(_ctx.$slots, "content", { key: 13 }, void 0, true) : hasNodeRun.value && _ctx.displayMode === "table" && binaryData.value.length > 0 && inputData.value.length === 1 && Object.keys(jsonData.value[0] || {}).length === 0 ? (openBlock(), createElementBlock("div", {
4834
5035
  key: 14,
4835
5036
  class: normalizeClass(_ctx.$style.center)
4836
5037
  }, [
@@ -4871,7 +5072,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4871
5072
  ]),
4872
5073
  _: 1
4873
5074
  })
4874
- ], 2)) : hasNodeRun.value && displayMode.value === "table" && node.value ? (openBlock(), createBlock(Suspense, { key: 16 }, {
5075
+ ], 2)) : hasNodeRun.value && _ctx.displayMode === "table" && node.value ? (openBlock(), createBlock(Suspense, { key: 16 }, {
4875
5076
  default: withCtx(() => [
4876
5077
  createVNode(unref(LazyRunDataTable), {
4877
5078
  node: node.value,
@@ -4892,7 +5093,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4892
5093
  }, null, 8, ["node", "input-data", "mapping-enabled", "distance-from-active", "run-index", "page-offset", "total-runs", "has-default-hover-state", "search", "header-bg-color", "compact", "disable-hover-highlight"])
4893
5094
  ]),
4894
5095
  _: 1
4895
- })) : hasNodeRun.value && displayMode.value === "json" && node.value ? (openBlock(), createBlock(Suspense, { key: 17 }, {
5096
+ })) : hasNodeRun.value && _ctx.displayMode === "json" && node.value ? (openBlock(), createBlock(Suspense, { key: 17 }, {
4896
5097
  default: withCtx(() => [
4897
5098
  createVNode(unref(LazyRunDataJson), {
4898
5099
  "pane-type": _ctx.paneType,
@@ -4910,12 +5111,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4910
5111
  }, null, 8, ["pane-type", "edit-mode", "push-ref", "node", "input-data", "mapping-enabled", "distance-from-active", "run-index", "output-index", "total-runs", "search", "compact"])
4911
5112
  ]),
4912
5113
  _: 1
4913
- })) : hasNodeRun.value && isPaneTypeOutput.value && displayMode.value === "html" ? (openBlock(), createBlock(Suspense, { key: 18 }, {
5114
+ })) : hasNodeRun.value && isPaneTypeOutput.value && _ctx.displayMode === "html" ? (openBlock(), createBlock(Suspense, { key: 18 }, {
4914
5115
  default: withCtx(() => [
4915
5116
  createVNode(unref(LazyRunDataHtml), { "input-html": inputHtml.value }, null, 8, ["input-html"])
4916
5117
  ]),
4917
5118
  _: 1
4918
- })) : (hasNodeRun.value || unref(hasPreviewSchema)) && isSchemaView.value ? (openBlock(), createBlock(Suspense, { key: 19 }, {
5119
+ })) : hasNodeRun.value && _ctx.displayMode === "ai" ? (openBlock(), createBlock(Suspense, { key: 19 }, {
5120
+ default: withCtx(() => [
5121
+ createVNode(unref(LazyRunDataAi), {
5122
+ "render-type": "rendered",
5123
+ compact: _ctx.compact,
5124
+ content: parsedAiContent.value
5125
+ }, null, 8, ["compact", "content"])
5126
+ ]),
5127
+ _: 1
5128
+ })) : (hasNodeRun.value || unref(hasPreviewSchema)) && isSchemaView.value ? (openBlock(), createBlock(Suspense, { key: 20 }, {
4919
5129
  default: withCtx(() => [
4920
5130
  createVNode(unref(LazyRunDataSchema), {
4921
5131
  nodes: _ctx.nodes,
@@ -4932,8 +5142,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4932
5142
  }, null, 8, ["nodes", "mapping-enabled", "node", "data", "pane-type", "connection-type", "output-index", "search", "class", "compact"])
4933
5143
  ]),
4934
5144
  _: 1
4935
- })) : displayMode.value === "binary" && binaryData.value.length === 0 ? (openBlock(), createElementBlock("div", {
4936
- key: 20,
5145
+ })) : _ctx.displayMode === "binary" && binaryData.value.length === 0 ? (openBlock(), createElementBlock("div", {
5146
+ key: 21,
4937
5147
  class: normalizeClass(_ctx.$style.center)
4938
5148
  }, [
4939
5149
  createVNode(unref(N8nText), {
@@ -4945,8 +5155,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4945
5155
  ]),
4946
5156
  _: 1
4947
5157
  })
4948
- ], 2)) : displayMode.value === "binary" ? (openBlock(), createElementBlock("div", {
4949
- key: 21,
5158
+ ], 2)) : _ctx.displayMode === "binary" ? (openBlock(), createElementBlock("div", {
5159
+ key: 22,
4950
5160
  class: normalizeClass(_ctx.$style.dataDisplay)
4951
5161
  }, [
4952
5162
  (openBlock(true), createElementBlock(Fragment, null, renderList(binaryData.value, (binaryDataEntry, index) => {
@@ -5077,13 +5287,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5077
5287
  ]);
5078
5288
  }), 128))
5079
5289
  ], 2)) : !hasNodeRun.value ? (openBlock(), createElementBlock("div", {
5080
- key: 22,
5290
+ key: 23,
5081
5291
  class: normalizeClass(_ctx.$style.center)
5082
5292
  }, [
5083
5293
  renderSlot(_ctx.$slots, "node-not-run", {}, void 0, true)
5084
5294
  ], 2)) : createCommentVNode("", true)
5085
5295
  ], 2),
5086
- _ctx.hidePagination === false && hasNodeRun.value && !hasRunError.value && displayMode.value !== "binary" && dataCount.value > pageSize.value && !isSchemaView.value && !isArtificialRecoveredEventItem.value ? withDirectives((openBlock(), createBlock(RunDataPaginationBar, {
5296
+ _ctx.hidePagination === false && hasNodeRun.value && !hasRunError.value && _ctx.displayMode !== "binary" && dataCount.value > pageSize.value && !isSchemaView.value && !isArtificialRecoveredEventItem.value ? withDirectives((openBlock(), createBlock(RunDataPaginationBar, {
5087
5297
  key: 8,
5088
5298
  "current-page": currentPage.value,
5089
5299
  "page-size": pageSize.value,
@@ -5180,7 +5390,7 @@ const style0 = {
5180
5390
  const cssModules = {
5181
5391
  "$style": style0
5182
5392
  };
5183
- const RunData = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-5b056086"]]);
5393
+ const RunData = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-148793aa"]]);
5184
5394
  export {
5185
5395
  HighlightJS as H,
5186
5396
  RunData as R,
@@ -5198,5 +5408,6 @@ export {
5198
5408
  createAiData as j,
5199
5409
  getTreeNodeData as k,
5200
5410
  getReferencedData as l,
5201
- VueJsonPretty as m
5411
+ VueJsonPretty as m,
5412
+ parseAiContent as p
5202
5413
  };