n8n-editor-ui 1.93.0 → 1.94.1

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-hbTZDd93.js → AnimatedSpinner-D6WDdcap.js} +1 -1
  2. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CYzc5StE.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BIiF0RoL.js} +1 -1
  3. package/dist/assets/{AuthView-8SLMP0H_.js → AuthView-B4QlUHa3.js} +2 -2
  4. package/dist/assets/{CanvasChatSwitch-Dt8TgNJg.js → CanvasChatSwitch-K2_X0yVZ.js} +17 -18
  5. package/dist/assets/{ChangePasswordView-DIRyDp89.js → ChangePasswordView-nJzqV_9k.js} +3 -3
  6. package/dist/assets/CollectionParameter-DSAqoHVF.js +4 -0
  7. package/dist/assets/{CredentialsView-B6-VxAJ6.js → CredentialsView-DwV08zbe.js} +7 -7
  8. package/dist/assets/{DemoFooter-CIHwH5PG.js → DemoFooter-DKvO12Ew.js} +7 -8
  9. package/dist/assets/{ErrorView-C7i0TZwT.js → ErrorView-BJvgdQd3.js} +1 -1
  10. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang--2G21NNR.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-ykvCUf2F.js} +2 -2
  11. package/dist/assets/{ExecutionsView-C_YtciAr.js → ExecutionsView-Dv-BEvYW.js} +19 -18
  12. package/dist/assets/{FileSaver.min-bgn7Q9Gt.js → FileSaver.min-BuBI9fyd.js} +1 -1
  13. package/dist/assets/{FixedCollectionParameter-BPCJ5aaq.js → FixedCollectionParameter-C_dNC7Pj.js} +1 -1
  14. package/dist/assets/{ForgotMyPasswordView-DyUaGd6Z.js → ForgotMyPasswordView-BqD6YlYn.js} +3 -3
  15. package/dist/assets/{InsightsChartAverageRuntime-BB2I2vpV.js → InsightsChartAverageRuntime-yZMYNCP5.js} +4 -4
  16. package/dist/assets/{InsightsChartFailed-CN_Rl3Bl.js → InsightsChartFailed-DswsKdTF.js} +4 -4
  17. package/dist/assets/{InsightsChartFailureRate-CHKlg6tg.js → InsightsChartFailureRate-ChXUUpeM.js} +4 -4
  18. package/dist/assets/{InsightsChartTimeSaved-Cd05cM8q.js → InsightsChartTimeSaved-8QcRGtZx.js} +4 -4
  19. package/dist/assets/{InsightsChartTotal-ChAO7myf.js → InsightsChartTotal-NdMdI8Qq.js} +4 -4
  20. package/dist/assets/{InsightsDashboard-Bx4vx9gz.css → InsightsDashboard-BSrakbzr.css} +42 -8
  21. package/dist/assets/{InsightsDashboard-BeCfBVUz.js → InsightsDashboard-D41M-gz3.js} +40 -41
  22. package/dist/assets/{InsightsPaywall-Chz8CDc3.js → InsightsPaywall-bBhcjWHb.js} +1 -1
  23. package/dist/assets/{InsightsSummary-CdlaUpAt.css → InsightsSummary-DzGQpM5h.css} +27 -24
  24. package/dist/assets/InsightsSummary-cD6ZTQoq.js +209 -0
  25. package/dist/assets/{InsightsTableWorkflows-5rpYY7YT.js → InsightsTableWorkflows-D-kstco3.js} +5 -6
  26. package/dist/assets/{InsightsTableWorkflows-Blv_GPUj.css → InsightsTableWorkflows-DfTZQkWL.css} +3 -4
  27. package/dist/assets/{Logo-DUDCllkm.js → Logo-BWI1k82s.js} +1 -1
  28. package/dist/assets/{LogsPanel-D9r5AcQH.js → LogsPanel-dLKjFOi5.js} +331 -336
  29. package/dist/assets/{MainHeader-DkKOOZ_D.js → MainHeader-DKuLugMM.js} +13 -13
  30. package/dist/assets/{MainHeader-CEMGASqv.css → MainHeader-Y95RcfHb.css} +18 -18
  31. package/dist/assets/{MainSidebar-ZUBIWeXm.js → MainSidebar-D2cUU1u5.js} +2 -2
  32. package/dist/assets/{NodeCreation-DCfAFuL5.js → NodeCreation-ueFdk4bA.js} +3 -4
  33. package/dist/assets/{NodeCreator-a0YVv1IE.js → NodeCreator-BWDbSeT1.js} +172 -68
  34. package/dist/assets/{NodeCreator-D18StsVZ.css → NodeCreator-Cp8Apzva.css} +38 -21
  35. package/dist/assets/{NodeDetailsView-pYP-34nS.css → NodeDetailsView-DpO8nTmN.css} +16 -16
  36. package/dist/assets/{NodeDetailsView-C5_hVJzj.js → NodeDetailsView-Drob-YV5.js} +20 -11
  37. package/dist/assets/{NodeView-Bk9h8GYy.js → NodeView-Dnn0dJFr.js} +81 -38
  38. package/dist/assets/{ProjectCardBadge-DRlDZx3d.js → ProjectCardBadge-DK_f2cCt.js} +1 -1
  39. package/dist/assets/{ProjectHeader-DNm605Kk.js → ProjectHeader-NRCcW7_U.js} +2 -2
  40. package/dist/assets/{ProjectSettings-Dge_6KaR.js → ProjectSettings-B98B3ftD.js} +14 -4
  41. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-CUf0LkWR.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-EcrEFKi4.js} +1 -1
  42. package/dist/assets/{ResourcesListLayout-Bbl-1i4l.js → ResourcesListLayout-sZKInqTx.js} +2 -2
  43. package/dist/assets/{RunData-DQeENuzG.css → RunData-CE5FsU6k.css} +2 -2
  44. package/dist/assets/{RunData-b0RE2JWc.js → RunData-D3endKo8.js} +233 -92
  45. package/dist/assets/{RunDataAi-DnWcCR_0.js → RunDataAi-DtrK7pjQ.js} +3 -4
  46. package/dist/assets/{RunDataJson-CptVuHuA.js → RunDataJson-BJ8lDeAI.js} +7 -7
  47. package/dist/assets/{RunDataJsonActions-3jjDztw7.js → RunDataJsonActions-DpCNv6bq.js} +1 -1
  48. package/dist/assets/{RunDataParsedAiContent-BbXv-NPD.js → RunDataParsedAiContent--QjlaSo3.js} +5 -5
  49. package/dist/assets/{RunDataSearch-B90wjsDA.js → RunDataSearch-InL45suv.js} +1 -1
  50. package/dist/assets/{RunDataTable-CpS78GlT.js → RunDataTable-CRwBT8_s.js} +3 -3
  51. package/dist/assets/{SamlOnboarding-Ch9K5rRW.js → SamlOnboarding-CKncz2Ro.js} +3 -3
  52. package/dist/assets/{SettingsApiView-9GU5n_rm.js → SettingsApiView-CE0y_6pn.js} +1 -1
  53. package/dist/assets/{SettingsCommunityNodesView-CPnVRzNX.js → SettingsCommunityNodesView-Dec23ei2.js} +4 -4
  54. package/dist/assets/{SettingsExternalSecrets-D7xTMV9h.js → SettingsExternalSecrets-Dqp4cvDN.js} +1 -1
  55. package/dist/assets/{SettingsLdapView-OfrjGKkt.js → SettingsLdapView-Dk8y5NtN.js} +1 -1
  56. package/dist/assets/{SettingsLogStreamingView-C_VnOaeX.js → SettingsLogStreamingView-BqphnxJz.js} +1 -1
  57. package/dist/assets/{SettingsPersonalView-Dm24akPV.js → SettingsPersonalView-aoam48uq.js} +1 -1
  58. package/dist/assets/{SettingsSourceControl-DDCmL82j.js → SettingsSourceControl-B_1iGyw9.js} +1 -1
  59. package/dist/assets/{SettingsSso-BGGQ0Cpg.js → SettingsSso-CRDg8n6o.js} +1 -1
  60. package/dist/assets/{SettingsUsageAndPlan-BzO_zdkH.js → SettingsUsageAndPlan-DALiZmtM.js} +1 -1
  61. package/dist/assets/{SettingsUsersView-DHQUqhqB.js → SettingsUsersView-BFmyoREW.js} +1 -1
  62. package/dist/assets/{SettingsView-CbtAqjOX.js → SettingsView-Ct5FP8RA.js} +1 -1
  63. package/dist/assets/{SetupView-BME1OE6U.js → SetupView-CWBcWcHu.js} +3 -3
  64. package/dist/assets/{SetupWorkflowCredentialsButton-DZr4TCPC.js → SetupWorkflowCredentialsButton-DNjlHJdz.js} +1 -1
  65. package/dist/assets/{SetupWorkflowFromTemplateView-CPkKEY04.js → SetupWorkflowFromTemplateView-CDxjlwvR.js} +3 -3
  66. package/dist/assets/{SigninView-DUeRvOiY.js → SigninView-w-cjH-9l.js} +3 -3
  67. package/dist/assets/{SignoutView-BC7SBunZ.js → SignoutView-BQRpyJSJ.js} +1 -1
  68. package/dist/assets/{SignupView-B5ecYJ2q.js → SignupView-C7787Mur.js} +3 -3
  69. package/dist/assets/{TemplateDetails-DjanZgC1.js → TemplateDetails-xekR6vvf.js} +1 -1
  70. package/dist/assets/{TemplateList-8TyNGxY-.js → TemplateList-ChkM_l8S.js} +1 -1
  71. package/dist/assets/{TemplatesCollectionView-BkH4pJCv.js → TemplatesCollectionView-C7G8-LtU.js} +5 -5
  72. package/dist/assets/{TemplatesSearchView-Bcdhi1SL.js → TemplatesSearchView-D1zNGFYQ.js} +3 -3
  73. package/dist/assets/{TemplatesView-De2XB6We.js → TemplatesView-l-xkgW6-.js} +1 -1
  74. package/dist/assets/{TemplatesWorkflowView-BVnwtrMa.js → TemplatesWorkflowView-VjCM8q6w.js} +5 -5
  75. package/dist/assets/{TestDefinitionEditView-DjmPnrTk.js → TestDefinitionEditView-NwOMxo3u.js} +6 -7
  76. package/dist/assets/{TestDefinitionListView-BL2s_qBZ.js → TestDefinitionListView-BWV9O0Q3.js} +1 -1
  77. package/dist/assets/{TestDefinitionNewView-B9BqJZST.js → TestDefinitionNewView-CPb07jVn.js} +2 -2
  78. package/dist/assets/{TestDefinitionRootView-AlWyxbc0.js → TestDefinitionRootView-dvJQLmpk.js} +1 -1
  79. package/dist/assets/{VariablesView-BZCvPfan.js → VariablesView-BVls8Qra.js} +4 -4
  80. package/dist/assets/{WorkerView-CigxqnWi.js → WorkerView-Dm9dqtjG.js} +6 -6
  81. package/dist/assets/{WorkflowActivator-B7jRy4L1.js → WorkflowActivator-DfshltMu.js} +11 -9
  82. package/dist/assets/{WorkflowExecutionsInfoAccordion-C_ZycbsF.js → WorkflowExecutionsInfoAccordion-CrrBjf1F.js} +1 -1
  83. package/dist/assets/{WorkflowExecutionsLandingPage-DOqrfKlC.js → WorkflowExecutionsLandingPage-DrIX9hPD.js} +2 -2
  84. package/dist/assets/{WorkflowExecutionsPreview-B4Cj2gXW.js → WorkflowExecutionsPreview-C3ZM2R3J.js} +6 -6
  85. package/dist/assets/{WorkflowExecutionsView-RXfP7zkJ.js → WorkflowExecutionsView-BfWgLIZh.js} +10 -10
  86. package/dist/assets/{WorkflowHistory-DrXrRwIS.js → WorkflowHistory-gIJ3qyRQ.js} +3 -3
  87. package/dist/assets/{WorkflowOnboardingView-CXH1vCW2.js → WorkflowOnboardingView-CuOxA3HS.js} +1 -1
  88. package/dist/assets/{WorkflowPreview-B_MuFEV8.js → WorkflowPreview-DeCTI_GV.js} +1 -1
  89. package/dist/assets/{WorkflowsView-D90hfJ35.js → WorkflowsView-D65lDvqh.js} +9 -9
  90. package/dist/assets/{chartjs.utils-DalQn9bk.js → chartjs.utils-BpJiEmTU.js} +2 -2
  91. package/dist/assets/{dateFormatter-BPfJSa6q.js → dateFormatter-DNA1ez0J.js} +1 -1
  92. package/dist/assets/{easyAiWorkflowUtils-kgtpBx2h.js → easyAiWorkflowUtils-CGShRraC.js} +1 -1
  93. package/dist/assets/{global-link-actions-CnWOMvqA.js → global-link-actions-C7aXjvv8.js} +1 -1
  94. package/dist/assets/{import-curl-BvX_O56D.js → import-curl-Cp0oelYK.js} +1 -1
  95. package/dist/assets/{index-Bb2NNknG.js → index-B9xszJYe.js} +1 -1
  96. package/dist/assets/{index-DZ6VpjNj.js → index-BEvy7DZc.js} +60295 -57650
  97. package/dist/assets/{index-yNaoC3fo.css → index-Ed_z14lJ.css} +91 -435
  98. package/dist/assets/{pickBy-B_HGYyxS.js → pickBy-B7cHrDCV.js} +1 -1
  99. package/dist/assets/{polyfills-CLZ4X0Ad.js → polyfills-J2x06Gdp.js} +157 -224
  100. package/dist/assets/{templateActions-DQfZ3ni5.js → templateActions-D2DZ5K8P.js} +1 -1
  101. package/dist/assets/{typescript.worker-BsxN2afA.js → typescript.worker-B1loTpxy.js} +1 -1
  102. package/dist/assets/{useBeforeUnload-Cu0LPVWe.js → useBeforeUnload-DkXUEOdq.js} +1 -1
  103. package/dist/assets/{useCanvasMapping-VtpW_QZA.css → useCanvasMapping-CFf4cwnq.css} +6 -6
  104. package/dist/assets/{useCanvasMapping-CTTq6x8X.js → useCanvasMapping-DjhK-zhP.js} +56 -31
  105. package/dist/assets/{useClearExecutionButtonVisible-Dwc1_eG9.js → useClearExecutionButtonVisible--2zd8JTS.js} +1 -2
  106. package/dist/assets/{useExecutionDebugging-rc72wLIp.js → useExecutionDebugging-CfJ1doKR.js} +1 -1
  107. package/dist/assets/{useExecutionHelpers-DqwMonFW.js → useExecutionHelpers-DcgY6WXs.js} +3 -3
  108. package/dist/assets/{useImportCurlCommand-D_onuFvo.js → useImportCurlCommand-D5kLqokm.js} +2 -2
  109. package/dist/assets/{useProjectPages-e8b03-5_.js → useProjectPages-DgIy9DQO.js} +1 -1
  110. package/dist/assets/{usePushConnection-wm-7Id6Q.js → usePushConnection-DieWXsRW.js} +16 -111
  111. package/dist/assets/{useTestDefinitionForm-DlUOnNC0.js → useTestDefinitionForm-Mm_EnTMi.js} +1 -1
  112. package/dist/assets/{useWorkflowActivate-65xML23U.js → useWorkflowActivate-CkyGF_8r.js} +1 -1
  113. package/dist/assets/{useWorkflowSaving-CUel20JA.js → useWorkflowSaving-B0hVR80g.js} +1 -1
  114. package/dist/index.html +3 -3
  115. package/package.json +1 -1
  116. package/tsconfig.json +1 -0
  117. package/vite.config.mts +4 -0
  118. package/dist/assets/CollectionParameter-Cj4t6-hd.js +0 -4
  119. package/dist/assets/InsightsSummary-MECenLJQ.js +0 -207
  120. package/dist/assets/useCanvasOperations-u8oSDa_u.js +0 -2834
@@ -1,7 +1,7 @@
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";
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunDataTable-CRwBT8_s.js","assets/index-BEvy7DZc.js","assets/index-Ed_z14lJ.css","assets/useExecutionHelpers-DcgY6WXs.js","assets/dateFormatter-DNA1ez0J.js","assets/RunDataTable-CUxj7dHx.css","assets/RunDataJson-BJ8lDeAI.js","assets/FileSaver.min-BuBI9fyd.js","assets/RunDataJson-BH9HLoGC.css","assets/RunDataParsedAiContent--QjlaSo3.js","assets/RunDataParsedAiContent-9EEUzCKp.css","assets/RunDataSearch-InL45suv.js","assets/RunDataSearch-R6qtl0Jf.css"])))=>i.map(i=>d[i]);
2
+ import { dX as hasKey, cD as getDefaultExportFromCjs, d as defineComponent, r as ref, dY as MarkdownIt, q as computed, aq as h, b2 as isRef, dZ as isReactive, d_ as isProxy, dn as toRaw, d$ as AGENT_LANGCHAIN_NODE_TYPE, bg as useClipboard, a as useToast, e0 as useAIAssistantHelpers, bz as useNodeTypesStore, as as useNDVStore, Z as useRootStore, dL as useAssistantStore, H as useUIStore, e1 as MAX_DISPLAY_DATA_SIZE, dN as isCommunityPackageName, c as useI18n, h as resolveComponent, cu 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, e2 as InlineAskAssistantButton, w as withCtx, aT as _sfc_main$b, l as createTextVNode, F as Fragment, D as renderList, e3 as NEW_ASSISTANT_SESSION_MODAL, cA as sanitizeHtml, by as NodeConnectionTypes, e4 as isObjectEmpty, bf as N8nText, b3 as withModifiers, _ as _export_sfc, e5 as requireVue, e6 as sanitizeHtml$1, e7 as sanitizeHtmlExports, Q as useWorkflowsStore, o as onMounted, c3 as jsonParse, e as createBlock, bA as useNodeHelpers, aR as N8nTooltip, aS as N8nLink, X as watch, bJ as N8nRadioButtons, aV as createSlots, bF as N8nIcon, a0 as useSourceControlStore, dM as useSchemaPreviewStore, R as useRoute, bI as toRef, bl as usePinnedData, e8 as useNodeType, cZ as storeToRefs, e9 as TRIMMED_TASK_DATA_CONNECTIONS_KEY, ea as executionDataToJson, eb as NODE_TYPES_EXCLUDED_FROM_OUTPUT_NAME_APPEND, ec as CORE_NODES_CATEGORY, ed as computedAsync, bQ as ndvEventBus, ag as useTelemetry, y as onBeforeUnmount, aJ as useStorage, ee as LOCAL_STORAGE_PIN_DATA_DISCOVERY_NDV_FLAG, ef as dataPinningEventBus, eg as LOCAL_STORAGE_PIN_DATA_DISCOVERY_CANVAS_FLAG, eh as searchInObject, bw as getConnectionTypes, ei as isObject, ej as MAX_DISPLAY_DATA_SIZE_SCHEMA_VIEW, ek as HTML_NODE_TYPE, x as renderSlot, cb as N8nCallout, el as DATA_PINNING_DOCS_URL, aB as vShow, c9 as Suspense, ca as defineAsyncComponent, b5 as normalizeProps, b8 as mergeProps, bh as N8nButton, em as _sfc_main$c, en as N8nSelect, eo as N8nTabs, b6 as guardReactiveProps, ep as _sfc_main$d, eq as JsonEditor, er as DATA_EDITING_DOCS_URL, dy as InfoTip, es as N8nBlockUi, ao as __vitePreload, et as isPresent, bx as getNodeOutputs, eu as getGenericHints, ev as clearJsonKey, ew as TEST_PIN_DATA, aP as useExternalHooks, ex as isEmpty, ey as isEqual } from "./index-BEvy7DZc.js";
3
+ import { F as FileSaver_minExports } from "./FileSaver.min-BuBI9fyd.js";
4
+ import { u as useExecutionHelpers } from "./useExecutionHelpers-DcgY6WXs.js";
5
5
  function responseHasSubworkflowData(response) {
6
6
  return ["executionId", "workflowId"].every(
7
7
  (x) => hasKey(response, x) && typeof response[x] === "string"
@@ -1583,6 +1583,31 @@ function requireCore() {
1583
1583
  }
1584
1584
  var coreExports = /* @__PURE__ */ requireCore();
1585
1585
  const HighlightJS = /* @__PURE__ */ getDefaultExportFromCjs(coreExports);
1586
+ const VueMarkdown = defineComponent({
1587
+ name: "VueMarkdown",
1588
+ props: {
1589
+ source: {
1590
+ type: String,
1591
+ required: true
1592
+ },
1593
+ options: {
1594
+ type: Object,
1595
+ required: false
1596
+ },
1597
+ plugins: {
1598
+ type: Array,
1599
+ required: false
1600
+ }
1601
+ },
1602
+ setup(props) {
1603
+ const md = ref(new MarkdownIt(props.options ?? {}));
1604
+ for (const plugin of props.plugins ?? []) {
1605
+ md.value.use(plugin);
1606
+ }
1607
+ const content = computed(() => md.value.render(props.source));
1608
+ return () => h("div", { innerHTML: content.value });
1609
+ }
1610
+ });
1586
1611
  function createNode(parent, nodeName, currentDepth, runIndex, r, children = []) {
1587
1612
  return {
1588
1613
  parent,
@@ -1725,103 +1750,150 @@ function getConsumedTokensV2(task) {
1725
1750
  }, emptyTokenUsageData);
1726
1751
  return tokenUsage;
1727
1752
  }
1728
- function createNodeV2(parent, node, currentDepth, runIndex, runData, children = []) {
1753
+ function createNodeV2(node, context, runIndex, runData, children = []) {
1729
1754
  return {
1730
- parent,
1755
+ parent: context.parent,
1731
1756
  node,
1732
- id: `${node.name}:${runIndex}`,
1733
- depth: currentDepth,
1757
+ id: `${context.workflow.id}:${node.name}:${context.executionId}:${runIndex}`,
1758
+ depth: context.depth,
1734
1759
  runIndex,
1735
1760
  runData,
1736
1761
  children,
1737
- consumedTokens: getConsumedTokensV2(runData)
1762
+ consumedTokens: getConsumedTokensV2(runData),
1763
+ workflow: context.workflow,
1764
+ executionId: context.executionId,
1765
+ execution: context.data
1738
1766
  };
1739
1767
  }
1740
- function getTreeNodeDataV2(nodeName, runData, workflow, data, runIndex) {
1741
- const node = workflow.getNode(nodeName);
1742
- return node ? getTreeNodeDataRecV2(void 0, node, runData, 0, workflow, data, runIndex) : [];
1768
+ function getTreeNodeDataV2(nodeName, runData, runIndex, context) {
1769
+ const node = context.workflow.getNode(nodeName);
1770
+ return node ? getTreeNodeDataRecV2(node, runData, context, runIndex) : [];
1743
1771
  }
1744
- function getTreeNodeDataRecV2(parent, node, runData, currentDepth, workflow, data, runIndex) {
1745
- const connectedSubNodes = workflow.getParentNodes(node.name, "ALL_NON_MAIN", 1);
1746
- const treeNode = createNodeV2(parent, node, currentDepth, runIndex ?? 0, runData);
1747
- const children = connectedSubNodes.flatMap(
1748
- (subNodeName) => (data[subNodeName] ?? []).flatMap((t, index) => {
1749
- const isMatched = currentDepth === 0 && t.source.some((source) => source !== null) ? t.source.some(
1772
+ function getChildNodes(treeNode, node, runIndex, context) {
1773
+ if (hasSubExecution(treeNode)) {
1774
+ const workflowId = treeNode.runData.metadata?.subExecution?.workflowId;
1775
+ const executionId = treeNode.runData.metadata?.subExecution?.executionId;
1776
+ const workflow = workflowId ? context.workflows[workflowId] : void 0;
1777
+ const subWorkflowRunData = executionId ? context.subWorkflowData[executionId] : void 0;
1778
+ if (!workflow || !subWorkflowRunData || !executionId) {
1779
+ return [];
1780
+ }
1781
+ return createLogTreeRec({
1782
+ ...context,
1783
+ parent: treeNode,
1784
+ depth: context.depth + 1,
1785
+ workflow,
1786
+ executionId,
1787
+ data: subWorkflowRunData
1788
+ });
1789
+ }
1790
+ const connectedSubNodes = context.workflow.getParentNodes(node.name, "ALL_NON_MAIN", 1);
1791
+ const isExecutionRoot = treeNode.parent === void 0 || treeNode.executionId !== treeNode.parent.executionId;
1792
+ return connectedSubNodes.flatMap(
1793
+ (subNodeName) => (context.data.resultData.runData[subNodeName] ?? []).flatMap((t, index) => {
1794
+ const isMatched = isExecutionRoot && t.source.some((source) => source !== null) ? t.source.some(
1750
1795
  (source) => source?.previousNode === node.name && (runIndex === void 0 || source.previousNodeRun === runIndex)
1751
1796
  ) : runIndex === void 0 || index === runIndex;
1752
1797
  if (!isMatched) {
1753
1798
  return [];
1754
1799
  }
1755
- const subNode = workflow.getNode(subNodeName);
1756
- return subNode ? getTreeNodeDataRecV2(treeNode, subNode, t, currentDepth + 1, workflow, data, index) : [];
1800
+ const subNode = context.workflow.getNode(subNodeName);
1801
+ return subNode ? getTreeNodeDataRecV2(
1802
+ subNode,
1803
+ t,
1804
+ { ...context, depth: context.depth + 1, parent: treeNode },
1805
+ index
1806
+ ) : [];
1757
1807
  })
1758
- ).sort((a, b) => {
1759
- if (a.runData.executionIndex !== void 0 && b.runData.executionIndex !== void 0) {
1760
- return a.runData.executionIndex - b.runData.executionIndex;
1761
- }
1762
- const aTime = a.runData.startTime ?? 0;
1763
- const bTime = b.runData.startTime ?? 0;
1764
- return aTime - bTime;
1765
- });
1808
+ );
1809
+ }
1810
+ function getTreeNodeDataRecV2(node, runData, context, runIndex) {
1811
+ const treeNode = createNodeV2(node, context, runIndex ?? 0, runData);
1812
+ const children = getChildNodes(treeNode, node, runIndex, context).sort(sortLogEntries);
1766
1813
  treeNode.children = children;
1767
1814
  return [treeNode];
1768
1815
  }
1769
1816
  function getTotalConsumedTokens(...usage) {
1770
1817
  return usage.reduce(addTokenUsageData, emptyTokenUsageData);
1771
1818
  }
1772
- function getSubtreeTotalConsumedTokens(treeNode) {
1773
- return getTotalConsumedTokens(
1774
- treeNode.consumedTokens,
1775
- ...treeNode.children.map(getSubtreeTotalConsumedTokens)
1776
- );
1819
+ function getSubtreeTotalConsumedTokens(treeNode, includeSubWorkflow) {
1820
+ const executionId = treeNode.executionId;
1821
+ function calculate(currentNode) {
1822
+ if (!includeSubWorkflow && currentNode.executionId !== executionId) {
1823
+ return emptyTokenUsageData;
1824
+ }
1825
+ return getTotalConsumedTokens(
1826
+ currentNode.consumedTokens,
1827
+ ...currentNode.children.map(calculate)
1828
+ );
1829
+ }
1830
+ return calculate(treeNode);
1777
1831
  }
1778
- function findLogEntryToAutoSelectRec(data, subTree, depth) {
1832
+ function findLogEntryToAutoSelectRec(subTree, depth) {
1779
1833
  for (const entry of subTree) {
1780
- const taskData = data.data?.resultData.runData[entry.node.name]?.[entry.runIndex];
1781
- if (taskData?.error) {
1834
+ if (entry.runData?.error) {
1782
1835
  return entry;
1783
1836
  }
1784
- const childAutoSelect = findLogEntryToAutoSelectRec(data, entry.children, depth + 1);
1837
+ const childAutoSelect = findLogEntryToAutoSelectRec(entry.children, depth + 1);
1785
1838
  if (childAutoSelect) {
1786
1839
  return childAutoSelect;
1787
1840
  }
1788
- if (data.workflowData.nodes.find((n) => n.name === entry.node.name)?.type === AGENT_LANGCHAIN_NODE_TYPE) {
1841
+ if (entry.node.type === AGENT_LANGCHAIN_NODE_TYPE) {
1789
1842
  return entry;
1790
1843
  }
1791
1844
  }
1792
1845
  return depth === 0 ? subTree[0] : void 0;
1793
1846
  }
1794
- function createLogEntries(workflow, runData) {
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) => ({
1847
+ function createLogTree(workflow, response, workflows = {}, subWorkflowData = {}) {
1848
+ return createLogTreeRec({
1849
+ parent: void 0,
1850
+ depth: 0,
1851
+ executionId: response.id,
1852
+ workflow,
1853
+ workflows,
1854
+ data: response.data ?? { resultData: { runData: {} } },
1855
+ subWorkflowData
1856
+ });
1857
+ }
1858
+ function createLogTreeRec(context) {
1859
+ const runs = Object.entries(context.data.resultData.runData).flatMap(
1860
+ ([nodeName, taskData]) => context.workflow.getChildNodes(nodeName, "ALL_NON_MAIN").length > 0 || context.workflow.getNode(nodeName)?.disabled ? [] : taskData.map((task, runIndex) => ({
1797
1861
  nodeName,
1798
- task,
1862
+ runData: task,
1799
1863
  runIndex,
1800
1864
  nodeHasMultipleRuns: taskData.length > 1
1801
1865
  }))
1802
- ).sort((a, b) => {
1803
- if (a.task.executionIndex !== void 0 && b.task.executionIndex !== void 0) {
1804
- return a.task.executionIndex - b.task.executionIndex;
1805
- }
1806
- return a.nodeName === b.nodeName ? a.runIndex - b.runIndex : a.task.startTime - b.task.startTime;
1807
- });
1866
+ ).sort(sortLogEntries);
1808
1867
  return runs.flatMap(
1809
- ({ nodeName, runIndex, task, nodeHasMultipleRuns }) => getTreeNodeDataV2(
1810
- nodeName,
1811
- task,
1812
- workflow,
1813
- runData,
1814
- nodeHasMultipleRuns ? runIndex : void 0
1815
- )
1868
+ ({ nodeName, runIndex, runData, nodeHasMultipleRuns }) => getTreeNodeDataV2(nodeName, runData, nodeHasMultipleRuns ? runIndex : void 0, context)
1816
1869
  );
1817
1870
  }
1818
- function includesLogEntry(log, logs) {
1819
- return logs.some(
1820
- (l) => l.node.name === log.node.name && log.runIndex === l.runIndex || includesLogEntry(log, l.children)
1821
- );
1871
+ function findLogEntryRec(id, entries) {
1872
+ for (const entry of entries) {
1873
+ if (entry.id === id) {
1874
+ return entry;
1875
+ }
1876
+ const child = findLogEntryRec(id, entry.children);
1877
+ if (child) {
1878
+ return child;
1879
+ }
1880
+ }
1881
+ return void 0;
1822
1882
  }
1823
- function findSelectedLogEntry(state, execution) {
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;
1883
+ function findSelectedLogEntry(selection, entries) {
1884
+ switch (selection.type) {
1885
+ case "initial":
1886
+ return findLogEntryToAutoSelectRec(entries, 0);
1887
+ case "none":
1888
+ return void 0;
1889
+ case "selected": {
1890
+ const entry = findLogEntryRec(selection.id, entries);
1891
+ if (entry) {
1892
+ return entry;
1893
+ }
1894
+ return findLogEntryToAutoSelectRec(entries, 0);
1895
+ }
1896
+ }
1825
1897
  }
1826
1898
  function deepToRaw(sourceObj) {
1827
1899
  const seen = /* @__PURE__ */ new WeakMap();
@@ -1857,6 +1929,70 @@ function flattenLogEntries(entries, collapsedEntryIds, ret = []) {
1857
1929
  }
1858
1930
  return ret;
1859
1931
  }
1932
+ function getEntryAtRelativeIndex(entries, id, relativeIndex) {
1933
+ const offset = entries.findIndex((e) => e.id === id);
1934
+ return offset === -1 ? void 0 : entries[offset + relativeIndex];
1935
+ }
1936
+ function sortLogEntries(a, b) {
1937
+ if (a.runData.startTime === b.runData.startTime) {
1938
+ return a.runData.executionIndex - b.runData.executionIndex;
1939
+ }
1940
+ return a.runData.startTime - b.runData.startTime;
1941
+ }
1942
+ function mergeStartData(startData, response) {
1943
+ if (!response.data) {
1944
+ return response;
1945
+ }
1946
+ const nodeNames = [
1947
+ ...new Set(
1948
+ Object.keys(startData).concat(Object.keys(response.data.resultData.runData))
1949
+ ).values()
1950
+ ];
1951
+ const runData = Object.fromEntries(
1952
+ nodeNames.map((nodeName) => {
1953
+ const tasks = response.data?.resultData.runData[nodeName] ?? [];
1954
+ const mergedTasks = tasks.concat(
1955
+ (startData[nodeName] ?? []).filter(
1956
+ (task) => (
1957
+ // To remove duplicate runs, we check start time in addition to execution index
1958
+ // because nodes such as Wait and Form emits multiple websocket events with
1959
+ // different execution index for a single run
1960
+ tasks.every(
1961
+ (t) => t.startTime < task.startTime && t.executionIndex !== task.executionIndex
1962
+ )
1963
+ )
1964
+ ).map((task) => ({
1965
+ ...task,
1966
+ executionTime: 0,
1967
+ executionStatus: "running"
1968
+ }))
1969
+ );
1970
+ return [nodeName, mergedTasks];
1971
+ })
1972
+ );
1973
+ return {
1974
+ ...response,
1975
+ data: {
1976
+ ...response.data,
1977
+ resultData: {
1978
+ ...response.data.resultData,
1979
+ runData
1980
+ }
1981
+ }
1982
+ };
1983
+ }
1984
+ function hasSubExecution(entry) {
1985
+ return !!entry.runData.metadata?.subExecution;
1986
+ }
1987
+ function getDepth(entry) {
1988
+ let depth = 0;
1989
+ let currentEntry = entry;
1990
+ while (currentEntry.parent !== void 0) {
1991
+ currentEntry = currentEntry.parent;
1992
+ depth++;
1993
+ }
1994
+ return depth;
1995
+ }
1860
1996
  const _hoisted_1$8 = { class: "node-error-view__header" };
1861
1997
  const _hoisted_2$4 = {
1862
1998
  class: "node-error-view__header-message",
@@ -2805,20 +2941,20 @@ function requireVueJsonPretty() {
2805
2941
  function p(e3) {
2806
2942
  var t3 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "root", n3 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0, o2 = arguments.length > 3 ? arguments[3] : void 0, r2 = o2 || {}, l2 = r2.key, a2 = r2.index, c2 = r2.type, i2 = void 0 === c2 ? "content" : c2, u2 = r2.showComma, d2 = void 0 !== u2 && u2, f2 = r2.length, y2 = void 0 === f2 ? 1 : f2, v2 = s(e3);
2807
2943
  if ("array" === v2) {
2808
- var b2 = h(e3.map(function(e4, o3, r3) {
2944
+ var b2 = h2(e3.map(function(e4, o3, r3) {
2809
2945
  return p(e4, "".concat(t3, "[").concat(o3, "]"), n3 + 1, { index: o3, showComma: o3 !== r3.length - 1, length: y2, type: i2 });
2810
2946
  }));
2811
2947
  return [p("[", t3, n3, { showComma: false, key: l2, length: e3.length, type: "arrayStart" })[0]].concat(b2, p("]", t3, n3, { showComma: d2, length: e3.length, type: "arrayEnd" })[0]);
2812
2948
  }
2813
2949
  if ("object" === v2) {
2814
- var g2 = Object.keys(e3), m2 = h(g2.map(function(o3, r3, l3) {
2950
+ var g2 = Object.keys(e3), m2 = h2(g2.map(function(o3, r3, l3) {
2815
2951
  return p(e3[o3], /^[a-zA-Z_]\w*$/.test(o3) ? "".concat(t3, ".").concat(o3) : "".concat(t3, '["').concat(o3, '"]'), n3 + 1, { key: o3, showComma: r3 !== l3.length - 1, length: y2, type: i2 });
2816
2952
  }));
2817
2953
  return [p("{", t3, n3, { showComma: false, key: l2, index: a2, length: g2.length, type: "objectStart" })[0]].concat(m2, p("}", t3, n3, { showComma: d2, length: g2.length, type: "objectEnd" })[0]);
2818
2954
  }
2819
2955
  return [{ content: e3, level: n3, key: l2, index: a2, path: t3, showComma: d2, length: y2, type: i2 }];
2820
2956
  }
2821
- function h(e3) {
2957
+ function h2(e3) {
2822
2958
  if ("function" == typeof Array.prototype.flat) return e3.flat();
2823
2959
  for (var t3 = n2(e3), o2 = []; t3.length; ) {
2824
2960
  var r2 = t3.shift();
@@ -2877,7 +3013,7 @@ function requireVueJsonPretty() {
2877
3013
  return "multiple" === e3.selectableType;
2878
3014
  }), p2 = (0, a.computed)(function() {
2879
3015
  return "single" === e3.selectableType;
2880
- }), h2 = (0, a.computed)(function() {
3016
+ }), h3 = (0, a.computed)(function() {
2881
3017
  return e3.nodeSelectable(e3.node) && (d2.value || p2.value);
2882
3018
  }), f2 = (0, a.reactive)({ editing: false }), y2 = function(t4) {
2883
3019
  var o3, r3, l3 = "null" === (r3 = null === (o3 = t4.target) || void 0 === o3 ? void 0 : o3.value) ? null : "undefined" === r3 ? void 0 : "true" === r3 || "false" !== r3 && (r3[0] + r3[r3.length - 1] === '""' || r3[0] + r3[r3.length - 1] === "''" ? r3.slice(1, -1) : "number" == typeof Number(r3) && !isNaN(Number(r3)) || "NaN" === r3 ? Number(r3) : r3);
@@ -2895,7 +3031,7 @@ function requireVueJsonPretty() {
2895
3031
  }, C2 = function() {
2896
3032
  n3("selectedChange", e3.node);
2897
3033
  }, k2 = function() {
2898
- n3("nodeClick", e3.node), h2.value && e3.selectOnClickNode && n3("selectedChange", e3.node);
3034
+ n3("nodeClick", e3.node), h3.value && e3.selectOnClickNode && n3("selectedChange", e3.node);
2899
3035
  }, w = function(t4) {
2900
3036
  if (e3.editable && !f2.editing) {
2901
3037
  f2.editing = true;
@@ -2908,7 +3044,7 @@ function requireVueJsonPretty() {
2908
3044
  };
2909
3045
  return function() {
2910
3046
  var t4, n4 = e3.node;
2911
- return (0, a.createVNode)("div", { class: { "vjs-tree-node": true, "has-selector": e3.showSelectController, "has-carets": e3.showIcon, "is-highlight": e3.highlightSelectedNode && e3.checked }, onClick: k2, style: e3.style }, [e3.showLineNumber && (0, a.createVNode)("span", { class: "vjs-node-index" }, [n4.id + 1]), e3.showSelectController && h2.value && "objectEnd" !== n4.type && "arrayEnd" !== n4.type && (0, a.createVNode)(i, { isMultiple: d2.value, checked: e3.checked, onChange: C2 }, null), (0, a.createVNode)("div", { class: "vjs-indent" }, [Array.from(Array(n4.level)).map(function(t5, n5) {
3047
+ return (0, a.createVNode)("div", { class: { "vjs-tree-node": true, "has-selector": e3.showSelectController, "has-carets": e3.showIcon, "is-highlight": e3.highlightSelectedNode && e3.checked }, onClick: k2, style: e3.style }, [e3.showLineNumber && (0, a.createVNode)("span", { class: "vjs-node-index" }, [n4.id + 1]), e3.showSelectController && h3.value && "objectEnd" !== n4.type && "arrayEnd" !== n4.type && (0, a.createVNode)(i, { isMultiple: d2.value, checked: e3.checked, onChange: C2 }, null), (0, a.createVNode)("div", { class: "vjs-indent" }, [Array.from(Array(n4.level)).map(function(t5, n5) {
2912
3048
  return (0, a.createVNode)("div", { key: n5, class: { "vjs-indent-unit": true, "has-line": e3.showLine } }, null);
2913
3049
  }), e3.showIcon && (0, a.createVNode)(u, { nodeType: n4.type, onClick: m2 }, null)]), n4.key && (0, a.createVNode)("span", { class: "vjs-key" }, [(t4 = e3.renderNodeKey, t4 ? t4({ node: e3.node, defaultKey: l2.value || "" }) : l2.value), (0, a.createVNode)("span", { class: "vjs-colon" }, [":".concat(e3.showKeyValueSpace ? " " : "")])]), (0, a.createVNode)("span", null, ["content" !== n4.type && n4.content ? (0, a.createVNode)(c, { data: n4.content.toString(), onClick: g2 }, null) : (0, a.createVNode)("span", { class: r2.value, onClick: !e3.editable || e3.editableTrigger && "click" !== e3.editableTrigger ? void 0 : w, onDblclick: e3.editable && "dblclick" === e3.editableTrigger ? w : void 0 }, [e3.editable && f2.editing ? (0, a.createVNode)("input", { value: v2.value, onChange: y2, style: { padding: "3px 8px", border: "1px solid #eee", boxShadow: "none", boxSizing: "border-box", borderRadius: 5, fontFamily: "inherit" } }, null) : b2()]), n4.showComma && (0, a.createVNode)("span", null, [","]), e3.showLength && e3.collapsed && (0, a.createVNode)("span", { class: "vjs-comment" }, [(0, a.createTextVNode)(" // "), n4.length, (0, a.createTextVNode)(" items ")])])]);
2914
3050
  };
@@ -2946,7 +3082,7 @@ function requireVueJsonPretty() {
2946
3082
  var r3, a2 = o3.level >= t3, c3 = null === (r3 = e3.pathCollapsible) || void 0 === r3 ? void 0 : r3.call(e3, o3);
2947
3083
  return "objectStart" !== o3.type && "arrayStart" !== o3.type || !a2 && !c3 ? n3 : C(C({}, n3), {}, l({}, o3.path, 1));
2948
3084
  }, {});
2949
- }, s2 = (0, a.reactive)({ translateY: 0, visibleData: null, hiddenPaths: d2(e3.deep) }), h2 = (0, a.computed)(function() {
3085
+ }, s2 = (0, a.reactive)({ translateY: 0, visibleData: null, hiddenPaths: d2(e3.deep) }), h3 = (0, a.computed)(function() {
2950
3086
  for (var e4 = null, t3 = [], n3 = u2.value.length, o3 = 0; o3 < n3; o3++) {
2951
3087
  var r3 = C(C({}, u2.value[o3]), {}, { id: o3 }), l2 = s2.hiddenPaths[r3.path];
2952
3088
  if (e4 && e4.path === r3.path) {
@@ -2968,7 +3104,7 @@ function requireVueJsonPretty() {
2968
3104
  }), v2 = (0, a.computed)(function() {
2969
3105
  return !e3.selectableType || e3.selectOnClickNode || e3.showSelectController ? "" : "When selectableType is not null, selectOnClickNode and showSelectController cannot be false at the same time, because this will cause the selection to fail.";
2970
3106
  }), b2 = function() {
2971
- var t3 = h2.value;
3107
+ var t3 = h3.value;
2972
3108
  if (e3.virtual) {
2973
3109
  var n3, o3 = e3.height / e3.itemHeight, r3 = (null === (n3 = i2.value) || void 0 === n3 ? void 0 : n3.scrollTop) || 0, l2 = Math.floor(r3 / e3.itemHeight), a2 = l2 < 0 ? 0 : l2 + o3 > t3.length ? t3.length - o3 : l2;
2974
3110
  a2 < 0 && (a2 = 0);
@@ -3032,7 +3168,7 @@ function requireVueJsonPretty() {
3032
3168
  throw new Error("[VueJSONPretty] ".concat(e4));
3033
3169
  }(v2.value);
3034
3170
  }), (0, a.watchEffect)(function() {
3035
- h2.value && b2();
3171
+ h3.value && b2();
3036
3172
  }), (0, a.watch)(function() {
3037
3173
  return e3.deep;
3038
3174
  }, function(e4) {
@@ -3041,7 +3177,7 @@ function requireVueJsonPretty() {
3041
3177
  var t3, n3, o3 = null !== (t3 = e3.renderNodeKey) && void 0 !== t3 ? t3 : c2.renderNodeKey, r3 = null !== (n3 = e3.renderNodeValue) && void 0 !== n3 ? n3 : c2.renderNodeValue, l2 = s2.visibleData && s2.visibleData.map(function(t4) {
3042
3178
  return (0, a.createVNode)(g, { key: t4.id, node: t4, collapsed: !!s2.hiddenPaths[t4.path], showDoubleQuotes: e3.showDoubleQuotes, showLength: e3.showLength, checked: y2.value.includes(t4.path), selectableType: e3.selectableType, showLine: e3.showLine, showLineNumber: e3.showLineNumber, showSelectController: e3.showSelectController, selectOnClickNode: e3.selectOnClickNode, nodeSelectable: e3.nodeSelectable, highlightSelectedNode: e3.highlightSelectedNode, editable: e3.editable, editableTrigger: e3.editableTrigger, showIcon: e3.showIcon, showKeyValueSpace: e3.showKeyValueSpace, renderNodeKey: o3, renderNodeValue: r3, onNodeClick: w, onBracketsClick: j, onIconClick: S, onSelectedChange: k2, onValueChange: O, style: e3.itemHeight && 20 !== e3.itemHeight ? { lineHeight: "".concat(e3.itemHeight, "px") } : {} }, null);
3043
3179
  });
3044
- return (0, a.createVNode)("div", { ref: i2, class: { "vjs-tree": true, "is-virtual": e3.virtual }, onScroll: e3.virtual ? m2 : void 0, style: e3.showLineNumber ? C({ paddingLeft: "".concat(12 * Number(u2.value.length.toString().length), "px") }, e3.style) : e3.style }, [e3.virtual ? (0, a.createVNode)("div", { class: "vjs-tree-list", style: { height: "".concat(e3.height, "px") } }, [(0, a.createVNode)("div", { class: "vjs-tree-list-holder", style: { height: "".concat(h2.value.length * e3.itemHeight, "px") } }, [(0, a.createVNode)("div", { class: "vjs-tree-list-holder-inner", style: { transform: "translateY(".concat(s2.translateY, "px)") } }, [l2])])]) : l2]);
3180
+ return (0, a.createVNode)("div", { ref: i2, class: { "vjs-tree": true, "is-virtual": e3.virtual }, onScroll: e3.virtual ? m2 : void 0, style: e3.showLineNumber ? C({ paddingLeft: "".concat(12 * Number(u2.value.length.toString().length), "px") }, e3.style) : e3.style }, [e3.virtual ? (0, a.createVNode)("div", { class: "vjs-tree-list", style: { height: "".concat(e3.height, "px") } }, [(0, a.createVNode)("div", { class: "vjs-tree-list-holder", style: { height: "".concat(h3.value.length * e3.itemHeight, "px") } }, [(0, a.createVNode)("div", { class: "vjs-tree-list-holder-inner", style: { transform: "translateY(".concat(s2.translateY, "px)") } }, [l2])])]) : l2]);
3045
3181
  };
3046
3182
  } });
3047
3183
  }(), r;
@@ -3587,22 +3723,22 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3587
3723
  emits: ["search", "runChange", "itemHover", "linkRun", "unlinkRun", "activatePane", "tableMounted", "displayModeChange"],
3588
3724
  setup(__props, { expose: __expose, emit: __emit }) {
3589
3725
  const LazyRunDataTable = defineAsyncComponent(
3590
- async () => await __vitePreload(() => import("./RunDataTable-CpS78GlT.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0)
3726
+ async () => await __vitePreload(() => import("./RunDataTable-CRwBT8_s.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0)
3591
3727
  );
3592
3728
  const LazyRunDataJson = defineAsyncComponent(
3593
- async () => await __vitePreload(() => import("./RunDataJson-CptVuHuA.js"), true ? __vite__mapDeps([6,1,2,7,3,4,8]) : void 0)
3729
+ async () => await __vitePreload(() => import("./RunDataJson-BJ8lDeAI.js"), true ? __vite__mapDeps([6,1,2,7,3,4,8]) : void 0)
3594
3730
  );
3595
3731
  const LazyRunDataSchema = defineAsyncComponent(
3596
- async () => await __vitePreload(() => import("./index-DZ6VpjNj.js").then((n) => n.iQ), true ? __vite__mapDeps([1,2]) : void 0)
3732
+ async () => await __vitePreload(() => import("./index-BEvy7DZc.js").then((n) => n.i5), true ? __vite__mapDeps([1,2]) : void 0)
3597
3733
  );
3598
3734
  const LazyRunDataHtml = defineAsyncComponent(
3599
3735
  async () => await __vitePreload(() => Promise.resolve().then(() => RunDataHtml$1), true ? void 0 : void 0)
3600
3736
  );
3601
3737
  const LazyRunDataAi = defineAsyncComponent(
3602
- async () => await __vitePreload(() => import("./RunDataParsedAiContent-BbXv-NPD.js"), true ? __vite__mapDeps([9,1,2,7,3,4,10]) : void 0)
3738
+ async () => await __vitePreload(() => import("./RunDataParsedAiContent--QjlaSo3.js"), true ? __vite__mapDeps([9,1,2,7,3,4,10]) : void 0)
3603
3739
  );
3604
3740
  const LazyRunDataSearch = defineAsyncComponent(
3605
- async () => await __vitePreload(() => import("./RunDataSearch-B90wjsDA.js"), true ? __vite__mapDeps([11,1,2,12]) : void 0)
3741
+ async () => await __vitePreload(() => import("./RunDataSearch-InL45suv.js"), true ? __vite__mapDeps([11,1,2,12]) : void 0)
3606
3742
  );
3607
3743
  const props = __props;
3608
3744
  const emit = __emit;
@@ -3643,7 +3779,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3643
3779
  const isArchivedWorkflow = computed(() => workflowsStore.workflow.isArchived);
3644
3780
  const isReadOnlyRoute = computed(() => route.meta.readOnlyCanvas === true);
3645
3781
  const isWaitNodeWaiting = computed(() => {
3646
- return node.value?.name && workflowExecution.value?.data?.resultData?.runData?.[node.value?.name]?.[props.runIndex]?.executionStatus === "waiting";
3782
+ return node.value?.name && workflowExecution.value?.resultData?.runData?.[node.value?.name]?.[props.runIndex]?.executionStatus === "waiting";
3647
3783
  });
3648
3784
  const { activeNode } = storeToRefs(ndvStore);
3649
3785
  const nodeType = computed(() => {
@@ -3701,13 +3837,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3701
3837
  return [];
3702
3838
  });
3703
3839
  const workflowExecution = computed(
3704
- () => props.workflowExecution ?? workflowsStore.getWorkflowExecution ?? void 0
3840
+ () => props.workflowExecution ?? workflowsStore.getWorkflowExecution?.data ?? void 0
3705
3841
  );
3706
3842
  const workflowRunData = computed(() => {
3707
3843
  if (workflowExecution.value === void 0) {
3708
3844
  return null;
3709
3845
  }
3710
- const executionData = workflowExecution.value?.data;
3846
+ const executionData = workflowExecution.value;
3711
3847
  if (executionData?.resultData) {
3712
3848
  return executionData.resultData.runData;
3713
3849
  }
@@ -4052,7 +4188,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4052
4188
  const workflowNode = props.workflow.getNode(node.value.name);
4053
4189
  if (workflowNode) {
4054
4190
  const nodeHints = nodeHelpers.getNodeHints(props.workflow, workflowNode, nodeType.value, {
4055
- runExecutionData: workflowExecution.value?.data ?? null,
4191
+ runExecutionData: workflowExecution.value ?? null,
4056
4192
  runIndex: props.runIndex,
4057
4193
  connectionInputData: parentNodeOutputData.value
4058
4194
  });
@@ -5390,24 +5526,29 @@ const style0 = {
5390
5526
  const cssModules = {
5391
5527
  "$style": style0
5392
5528
  };
5393
- const RunData = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-148793aa"]]);
5529
+ const RunData = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-03f081bd"]]);
5394
5530
  export {
5395
5531
  HighlightJS as H,
5396
5532
  RunData as R,
5397
- ViewSubExecution as V,
5533
+ VueMarkdown as V,
5398
5534
  _sfc_main$9 as _,
5399
5535
  getTotalConsumedTokens as a,
5400
- flattenLogEntries as b,
5401
- createLogEntries as c,
5536
+ findSelectedLogEntry as b,
5537
+ createLogTree as c,
5402
5538
  deepToRaw as d,
5403
- findSelectedLogEntry as e,
5539
+ getEntryAtRelativeIndex as e,
5404
5540
  formatTokenUsageCount as f,
5405
5541
  getSubtreeTotalConsumedTokens as g,
5406
- _sfc_main$a as h,
5407
- getConsumedTokens as i,
5408
- createAiData as j,
5409
- getTreeNodeData as k,
5410
- getReferencedData as l,
5411
- VueJsonPretty as m,
5412
- parseAiContent as p
5542
+ hasSubExecution as h,
5543
+ getDepth as i,
5544
+ flattenLogEntries as j,
5545
+ _sfc_main$a as k,
5546
+ getConsumedTokens as l,
5547
+ mergeStartData as m,
5548
+ ViewSubExecution as n,
5549
+ createAiData as o,
5550
+ parseAiContent as p,
5551
+ getTreeNodeData as q,
5552
+ getReferencedData as r,
5553
+ VueJsonPretty as s
5413
5554
  };
@@ -1,7 +1,6 @@
1
- import { p as parseAiContent, h as _sfc_main$3, i as getConsumedTokens, V as ViewSubExecution, f as formatTokenUsageCount, _ as _sfc_main$5, j as createAiData, k as getTreeNodeData, l as getReferencedData } from "./RunData-b0RE2JWc.js";
2
- import { d as defineComponent, r as ref, q as computed, bm as NodeConnectionTypes, i as createElementBlock, g as openBlock, n as normalizeClass, k as createBaseVNode, e as createBlock, f as createCommentVNode, j as createVNode, m as unref, er as FontAwesomeIcon, t as toDisplayString, bH as N8nRadioButtons, _ as _export_sfc, bz as useNodeTypesStore, Q as useWorkflowsStore, h as resolveComponent, bC as _sfc_main$4, w as withCtx, l as createTextVNode, c as useI18n, F as Fragment, D as renderList, X as watch, es as ElTree, B as normalizeStyle } from "./index-DZ6VpjNj.js";
3
- import RunDataAi$1 from "./RunDataParsedAiContent-BbXv-NPD.js";
4
- import { b as capitalize } from "./useCanvasOperations-u8oSDa_u.js";
1
+ import { p as parseAiContent, k as _sfc_main$3, l as getConsumedTokens, n as ViewSubExecution, f as formatTokenUsageCount, _ as _sfc_main$5, o as createAiData, q as getTreeNodeData, r as getReferencedData } from "./RunData-D3endKo8.js";
2
+ import { d as defineComponent, r as ref, q as computed, by as NodeConnectionTypes, i as createElementBlock, g as openBlock, n as normalizeClass, k as createBaseVNode, e as createBlock, f as createCommentVNode, j as createVNode, m as unref, ez as FontAwesomeIcon, t as toDisplayString, eA as capitalize, bJ as N8nRadioButtons, _ as _export_sfc, bz as useNodeTypesStore, Q as useWorkflowsStore, h as resolveComponent, bD as _sfc_main$4, w as withCtx, l as createTextVNode, c as useI18n, F as Fragment, D as renderList, X as watch, eB as ElTree, B as normalizeStyle } from "./index-BEvy7DZc.js";
3
+ import RunDataAi$1 from "./RunDataParsedAiContent--QjlaSo3.js";
5
4
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
6
5
  __name: "AiRunContentBlock",
7
6
  props: {
@@ -1,9 +1,9 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunDataJsonActions-3jjDztw7.js","assets/index-DZ6VpjNj.js","assets/index-yNaoC3fo.css","assets/_commonjs-dynamic-modules-TGKdzP3c.js","assets/RunDataJsonActions-DrgwFS0W.css"])))=>i.map(i=>d[i]);
2
- import { d as defineComponent, as as useNDVStore, r as ref, hM as useElementSize, q as computed, e2 as executionDataToJson, i as createElementBlock, g as openBlock, e as createBlock, j as createVNode, w as withCtx, f as createCommentVNode, m as unref, c5 as defineAsyncComponent, c4 as Suspense, hH as TextWithHighlights, n as normalizeClass, hI as MappingPill, hf as Draggable, ao as __vitePreload, v as shorten, hL as getMappedExpression, hN as isString, hO as nonExistingJsonPath, aP as useExternalHooks, ag as useTelemetry, _ as _export_sfc } from "./index-DZ6VpjNj.js";
3
- import { m as VueJsonPretty } from "./RunData-b0RE2JWc.js";
4
- import "./FileSaver.min-bgn7Q9Gt.js";
5
- import "./useExecutionHelpers-DqwMonFW.js";
6
- import "./dateFormatter-BPfJSa6q.js";
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunDataJsonActions-DpCNv6bq.js","assets/index-BEvy7DZc.js","assets/index-Ed_z14lJ.css","assets/_commonjs-dynamic-modules-TGKdzP3c.js","assets/RunDataJsonActions-DrgwFS0W.css"])))=>i.map(i=>d[i]);
2
+ import { d as defineComponent, as as useNDVStore, r as ref, gC as useElementSize, q as computed, ea as executionDataToJson, i as createElementBlock, g as openBlock, e as createBlock, j as createVNode, w as withCtx, f as createCommentVNode, m as unref, ca as defineAsyncComponent, c9 as Suspense, gx as TextWithHighlights, n as normalizeClass, gy as MappingPill, g4 as Draggable, ao as __vitePreload, v as shorten, gB as getMappedExpression, aP as useExternalHooks, ag as useTelemetry, gD as isString, gE as nonExistingJsonPath, _ as _export_sfc } from "./index-BEvy7DZc.js";
3
+ import { s as VueJsonPretty } from "./RunData-D3endKo8.js";
4
+ import "./FileSaver.min-BuBI9fyd.js";
5
+ import "./useExecutionHelpers-DcgY6WXs.js";
6
+ import "./dateFormatter-DNA1ez0J.js";
7
7
  const _sfc_main = /* @__PURE__ */ defineComponent({
8
8
  __name: "RunDataJson",
9
9
  props: {
@@ -22,7 +22,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
22
22
  },
23
23
  setup(__props) {
24
24
  const LazyRunDataJsonActions = defineAsyncComponent(
25
- async () => await __vitePreload(() => import("./RunDataJsonActions-3jjDztw7.js"), true ? __vite__mapDeps([0,1,2,3,4]) : void 0)
25
+ async () => await __vitePreload(() => import("./RunDataJsonActions-DpCNv6bq.js"), true ? __vite__mapDeps([0,1,2,3,4]) : void 0)
26
26
  );
27
27
  const props = __props;
28
28
  const ndvStore = useNDVStore();
@@ -1,4 +1,4 @@
1
- import { dN as commonjsGlobal, cx as getDefaultExportFromCjs, d as defineComponent, hO as nonExistingJsonPath, as as useNDVStore, Q as useWorkflowsStore, bA as useNodeHelpers, bf as useClipboard, bq as usePinnedData, a as useToast, R as useRoute, q as computed, h as resolveComponent, i as createElementBlock, g as openBlock, e as createBlock, m as unref, c as useI18n, w as withCtx, k as createBaseVNode, j as createVNode, l as createTextVNode, t as toDisplayString, n as normalizeClass, ag as useTelemetry, en as clearJsonKey, e2 as executionDataToJson, iG as convertPath, _ as _export_sfc } from "./index-DZ6VpjNj.js";
1
+ import { dU as commonjsGlobal, cD as getDefaultExportFromCjs, d as defineComponent, gE as nonExistingJsonPath, as as useNDVStore, Q as useWorkflowsStore, bA as useNodeHelpers, bg as useClipboard, bl as usePinnedData, a as useToast, R as useRoute, q as computed, h as resolveComponent, i as createElementBlock, g as openBlock, e as createBlock, m as unref, c as useI18n, w as withCtx, k as createBaseVNode, j as createVNode, l as createTextVNode, t as toDisplayString, n as normalizeClass, ag as useTelemetry, ev as clearJsonKey, ea as executionDataToJson, hH as convertPath, _ as _export_sfc } from "./index-BEvy7DZc.js";
2
2
  import { c as commonjsRequire } from "./_commonjs-dynamic-modules-TGKdzP3c.js";
3
3
  var jsonpath = { exports: {} };
4
4
  /*! jsonpath 1.1.1 */
@@ -1,8 +1,8 @@
1
- import { d as defineComponent, bf as useClipboard, a as useToast, i as createElementBlock, g as openBlock, n as normalizeClass, F as Fragment, D as renderList, e as createBlock, f as createCommentVNode, m as unref, b8 as VueMarkdown, t as toDisplayString, j as createVNode, aT as _sfc_main$1, c as useI18n, _ as _export_sfc } from "./index-DZ6VpjNj.js";
2
- import { H as HighlightJS } from "./RunData-b0RE2JWc.js";
3
- import "./FileSaver.min-bgn7Q9Gt.js";
4
- import "./useExecutionHelpers-DqwMonFW.js";
5
- import "./dateFormatter-BPfJSa6q.js";
1
+ import { d as defineComponent, bg as useClipboard, a as useToast, i as createElementBlock, g as openBlock, n as normalizeClass, F as Fragment, D as renderList, e as createBlock, f as createCommentVNode, m as unref, t as toDisplayString, j as createVNode, aT as _sfc_main$1, c as useI18n, _ as _export_sfc } from "./index-BEvy7DZc.js";
2
+ import { V as VueMarkdown, H as HighlightJS } from "./RunData-D3endKo8.js";
3
+ import "./FileSaver.min-BuBI9fyd.js";
4
+ import "./useExecutionHelpers-DcgY6WXs.js";
5
+ import "./dateFormatter-DNA1ez0J.js";
6
6
  const _hoisted_1 = ["data-content-type"];
7
7
  const _hoisted_2 = ["textContent"];
8
8
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, G as useDebounce, r as ref, q as computed, c as useI18n, o as onMounted, bb as onUnmounted, X as watch, h as resolveComponent, e as createBlock, g as openBlock, w as withCtx, j as createVNode, n as normalizeClass, B as normalizeStyle, _ as _export_sfc } from "./index-DZ6VpjNj.js";
1
+ import { d as defineComponent, G as useDebounce, r as ref, q as computed, c as useI18n, o as onMounted, bc as onUnmounted, X as watch, h as resolveComponent, e as createBlock, g as openBlock, w as withCtx, j as createVNode, n as normalizeClass, B as normalizeStyle, _ as _export_sfc } from "./index-BEvy7DZc.js";
2
2
  const COLLAPSED_WIDTH = "30px";
3
3
  const OPEN_WIDTH = "204px";
4
4
  const OPEN_MIN_WIDTH = "120px";
@@ -1,6 +1,6 @@
1
- import { d as defineComponent, r as ref, as as useNDVStore, Q as useWorkflowsStore, cT as storeToRefs, q as computed, o as onMounted, X as watch, h as resolveComponent, i as createElementBlock, g as openBlock, n as normalizeClass, k as createBaseVNode, f as createCommentVNode, F as Fragment, D as renderList, j as createVNode, w as withCtx, aA as withDirectives, e as createBlock, m as unref, aT as _sfc_main$1, aB as vShow, c as useI18n, aR as N8nTooltip, l as createTextVNode, t as toDisplayString, ds as InfoTip, hf as Draggable, hH as TextWithHighlights, hI as MappingPill, v as shorten, hJ as Tree, hK as getPairedItemId, hL as getMappedExpression, aP as useExternalHooks, ag as useTelemetry, _ as _export_sfc } from "./index-DZ6VpjNj.js";
2
- import { u as useExecutionHelpers } from "./useExecutionHelpers-DqwMonFW.js";
3
- import "./dateFormatter-BPfJSa6q.js";
1
+ import { d as defineComponent, r as ref, as as useNDVStore, Q as useWorkflowsStore, cZ as storeToRefs, q as computed, o as onMounted, X as watch, h as resolveComponent, i as createElementBlock, g as openBlock, n as normalizeClass, k as createBaseVNode, f as createCommentVNode, F as Fragment, D as renderList, j as createVNode, w as withCtx, aA as withDirectives, e as createBlock, m as unref, aT as _sfc_main$1, aB as vShow, c as useI18n, aR as N8nTooltip, l as createTextVNode, t as toDisplayString, dy as InfoTip, g4 as Draggable, gx as TextWithHighlights, gy as MappingPill, v as shorten, gz as Tree, gA as getPairedItemId, gB as getMappedExpression, aP as useExternalHooks, ag as useTelemetry, _ as _export_sfc } from "./index-BEvy7DZc.js";
2
+ import { u as useExecutionHelpers } from "./useExecutionHelpers-DcgY6WXs.js";
3
+ import "./dateFormatter-DNA1ez0J.js";
4
4
  const _imports_0 = "/%7B%7BBASE_PATH%7D%7D/static/data-mapping-gif.gif";
5
5
  const _hoisted_1 = ["data-row"];
6
6
  const _hoisted_2 = ["data-row"];
@@ -1,6 +1,6 @@
1
- import { d as defineComponent, b as useRouter, a as useToast, cK as useSSOStore, r as ref, bR as reactive, c as useI18n, e as createBlock, g as openBlock, V as VIEWS } from "./index-DZ6VpjNj.js";
2
- import { A as AuthView } from "./AuthView-8SLMP0H_.js";
3
- import "./Logo-DUDCllkm.js";
1
+ import { d as defineComponent, b as useRouter, a as useToast, cQ as useSSOStore, r as ref, bS as reactive, c as useI18n, e as createBlock, g as openBlock, V as VIEWS } from "./index-BEvy7DZc.js";
2
+ import { A as AuthView } from "./AuthView-B4QlUHa3.js";
3
+ import "./Logo-BWI1k82s.js";
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "SamlOnboarding",
6
6
  setup(__props) {