n8n-editor-ui 1.98.0 → 1.99.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.
- package/dist/assets/{AnimatedSpinner-CeafaU8r.js → AnimatedSpinner-DBpZ0Yu1.js} +1 -1
- package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-B6tcMuMJ.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DosAuCu3.js} +1 -1
- package/dist/assets/{AuthView-DcxHdw3B.js → AuthView-BiOFaV2S.js} +7 -3
- package/dist/assets/{ChangePasswordView-C-_Y-Wdn.js → ChangePasswordView-mtQwZyOO.js} +3 -3
- package/dist/assets/CollectionParameter-c94uS8bu.js +4 -0
- package/dist/assets/{CredentialsView-B4AQUpNx.js → CredentialsView-DQNwlIXT.js} +22 -13
- package/dist/assets/{DemoFooter-DV5GQmvM.js → DemoFooter-BwAxjuTl.js} +6 -6
- package/dist/assets/EntityNotFound-CBu7H3J_.css +10 -0
- package/dist/assets/EntityNotFound-ZFryE1o_.js +95 -0
- package/dist/assets/EntityUnAuthorised-BwDthxJU.css +10 -0
- package/dist/assets/EntityUnAuthorised-CKWCBHud.js +72 -0
- package/dist/assets/{ErrorView-OKh_lVSY.js → ErrorView-BY6sewiA.js} +1 -1
- package/dist/assets/{EvaluationsRootView-D2dmekKB.js → EvaluationsRootView-xOuJQWay.js} +1 -1
- package/dist/assets/{EvaluationsView-CKUqX-AI.js → EvaluationsView-BROhBSOp.js} +3 -3
- package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-C-Hx4KA-.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-D9G_v1Ab.js} +2 -2
- package/dist/assets/{ExecutionsView-WztTT6H6.js → ExecutionsView-CbnzvSxS.js} +8 -8
- package/dist/assets/{FileSaver.min-sGd5mes-.js → FileSaver.min-DfMUUVIo.js} +1 -1
- package/dist/assets/{FixedCollectionParameter-Cn2WDdQw.js → FixedCollectionParameter-9OU9Hss8.js} +1 -1
- package/dist/assets/{ForgotMyPasswordView-DxQoCGIP.js → ForgotMyPasswordView-BeBiaa7k.js} +3 -3
- package/dist/assets/{InsightsChartAverageRuntime-CB5N_io5.js → InsightsChartAverageRuntime-BoOlfupR.js} +4 -4
- package/dist/assets/{InsightsChartFailed-Y-mbC7CD.js → InsightsChartFailed-EkxSJRC_.js} +4 -4
- package/dist/assets/{InsightsChartFailureRate-6zPSfC-G.js → InsightsChartFailureRate-DILuKQgW.js} +4 -4
- package/dist/assets/{InsightsChartTimeSaved-Bih3Ry4R.js → InsightsChartTimeSaved-B8zQ-H8f.js} +4 -4
- package/dist/assets/{InsightsChartTotal-N-9xWBIy.js → InsightsChartTotal-CYSe4Yf4.js} +4 -4
- package/dist/assets/{InsightsDashboard-DN5PbVTp.js → InsightsDashboard-CBcgJvYC.js} +11 -11
- package/dist/assets/{InsightsPaywall-CV34iKyQ.js → InsightsPaywall-Bjz5a_10.js} +1 -1
- package/dist/assets/{InsightsSummary-b-sHA8wL.js → InsightsSummary-GXzzw2Bl.js} +1 -1
- package/dist/assets/{InsightsTableWorkflows-Cz3GFggF.js → InsightsTableWorkflows-DkgxvIv4.js} +2 -2
- package/dist/assets/{Logo-CTlaJzVH.js → Logo-CHeW0pXf.js} +1 -1
- package/dist/assets/{LogsPanel-DVSP-ORT.css → LogsPanel-BkEQ0mgk.css} +18 -11
- package/dist/assets/{LogsPanel-Dfj2Ol1s.js → LogsPanel-D9HhJ7ms.js} +168 -105
- package/dist/assets/{MainHeader-BHGtRsRJ.js → MainHeader-obfyYKSJ.js} +8 -9
- package/dist/assets/{MainSidebar-BGXtPjO-.js → MainSidebar-CEQGuBhs.js} +2 -2
- package/dist/assets/{NodeCreation-DfKAwFJq.js → NodeCreation-DPp19Ka9.js} +37 -5
- package/dist/assets/{NodeCreator-Cp8Apzva.css → NodeCreator-B1jJcOYT.css} +126 -0
- package/dist/assets/{NodeCreator-D1mNPRWq.js → NodeCreator-nnCPbD1c.js} +134 -76
- package/dist/assets/{NodeDetailsView-DIo1g1iE.js → NodeDetailsView-DNJ33kVZ.js} +12 -13
- package/dist/assets/{NodeView-CFUh-L67.js → NodeView-5Dx7iByY.js} +48 -14
- package/dist/assets/{NodeView-Duifly4c.css → NodeView-Cpu1z_ye.css} +16 -16
- package/dist/assets/{ProjectCardBadge-CWPzWiZa.js → ProjectCardBadge-BWKFpStx.js} +1 -1
- package/dist/assets/{ProjectHeader-BsBpG-Mj.css → ProjectHeader-B5uv4DKo.css} +24 -6
- package/dist/assets/{ProjectHeader-Ddqs2fwN.js → ProjectHeader-fFNmvvkD.js} +91 -24
- package/dist/assets/{ProjectSettings-DFwkW9xy.js → ProjectSettings-DoNg30_j.js} +41 -16
- package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-CTSX9GvK.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-CI5PGbAh.js} +1 -1
- package/dist/assets/{ResourcesListLayout-DZR7Zzzo.js → ResourcesListLayout-BU62R_hh.js} +2 -2
- package/dist/assets/{RunData-D_KDVdF4.js → RunData-CeKn3olP.js} +11 -10
- package/dist/assets/{RunDataJson-LDc1ImEr.js → RunDataJson-C_rW7mc7.js} +6 -6
- package/dist/assets/{RunDataJsonActions-DH83rAfY.js → RunDataJsonActions-DRAOfb9H.js} +1 -1
- package/dist/assets/{RunDataParsedAiContent-BU8uoK2N.js → RunDataParsedAiContent-DXoyZ0Lo.js} +4 -4
- package/dist/assets/{RunDataSearch-DGVpnOkl.js → RunDataSearch-C4MgXtFK.js} +1 -1
- package/dist/assets/{RunDataTable-CSRGOCHh.js → RunDataTable-DSs4rVYS.js} +2 -2
- package/dist/assets/{SamlOnboarding-CQ4b1hlf.js → SamlOnboarding-lKrgxGB0.js} +7 -7
- package/dist/assets/{SettingsApiView-DHQc2KYI.js → SettingsApiView-C6KULaro.js} +1 -1
- package/dist/assets/{SettingsCommunityNodesView-C9utcS3k.js → SettingsCommunityNodesView-CyDP25oX.js} +3 -4
- package/dist/assets/{SettingsExternalSecrets-DcD2lv4W.js → SettingsExternalSecrets-BZf4KEM4.js} +1 -1
- package/dist/assets/{SettingsLdapView-DiL_dbfx.js → SettingsLdapView-DZLtSs77.js} +8 -7
- package/dist/assets/{SettingsLogStreamingView-CN_D-m7S.js → SettingsLogStreamingView-CUwQjHKl.js} +1 -1
- package/dist/assets/{SettingsPersonalView-DutmrxU7.js → SettingsPersonalView-Cp7H3KfM.js} +6 -4
- package/dist/assets/{SettingsSourceControl-DeBjBqNW.js → SettingsSourceControl-B0qExx0z.js} +1 -1
- package/dist/assets/{SettingsSso-DyrGnPdA.css → SettingsSso-D4HKPLvV.css} +10 -13
- package/dist/assets/SettingsSso-DuBpfB81.js +496 -0
- package/dist/assets/{SettingsUsageAndPlan-Dv-wky39.js → SettingsUsageAndPlan-Xyw8eMqN.js} +1 -1
- package/dist/assets/{SettingsUsersView-JfPgtJEV.js → SettingsUsersView-Db12aUQP.js} +3 -3
- package/dist/assets/{SettingsView-CHu8eepA.js → SettingsView-BYuw6sXO.js} +1 -1
- package/dist/assets/{SetupView-UIS9B4wr.js → SetupView-cDcX6bMh.js} +4 -5
- package/dist/assets/{SetupWorkflowCredentialsButton-Bs2dYq3b.js → SetupWorkflowCredentialsButton-B87oaiGh.js} +1 -1
- package/dist/assets/{SetupWorkflowFromTemplateView-BTFARopX.js → SetupWorkflowFromTemplateView-DfDdLi-i.js} +3 -3
- package/dist/assets/{SigninView-B1eEz_t4.js → SigninView-Dqmccr9v.js} +6 -5
- package/dist/assets/{SignoutView-CV1Qsb3z.js → SignoutView-xmtpMMVt.js} +1 -1
- package/dist/assets/{SignupView-C2cyiw-C.js → SignupView-imMHiv-n.js} +4 -5
- package/dist/assets/{TemplateDetails-MawFSspH.js → TemplateDetails-67i7kfJq.js} +1 -1
- package/dist/assets/{TemplateList-AnYGr5-6.js → TemplateList-BsUj3ieO.js} +1 -1
- package/dist/assets/{TemplatesCollectionView-xd0kx-UE.js → TemplatesCollectionView-D0_oPDB3.js} +5 -5
- package/dist/assets/{TemplatesSearchView-ngTSHAkQ.js → TemplatesSearchView-4ryz7-XG.js} +3 -3
- package/dist/assets/{TemplatesView-BAX6LGxX.js → TemplatesView-ByYt4Ep8.js} +1 -1
- package/dist/assets/{TemplatesWorkflowView-DGd4xJ_J.js → TemplatesWorkflowView-DxiKHsgJ.js} +5 -5
- package/dist/assets/{VariablesView-CwEnfQxV.js → VariablesView-B8wkOWyp.js} +4 -4
- package/dist/assets/{WorkerView-DtXiHaTA.js → WorkerView-CAiaTkll.js} +5 -6
- package/dist/assets/{WorkflowActivator-CLLu_k_M.js → WorkflowActivator-CErBRTtp.js} +2 -2
- package/dist/assets/{WorkflowExecutionsInfoAccordion-vFGtC4-o.js → WorkflowExecutionsInfoAccordion-BjT3fJFQ.js} +1 -1
- package/dist/assets/{WorkflowExecutionsLandingPage-Dp7WJMF0.js → WorkflowExecutionsLandingPage-CrTI4sZL.js} +2 -2
- package/dist/assets/{WorkflowExecutionsPreview-BgpOEXPG.css → WorkflowExecutionsPreview-Bk3NJMZf.css} +9 -9
- package/dist/assets/{WorkflowExecutionsPreview-w7h7YCEJ.js → WorkflowExecutionsPreview-i0p45Sej.js} +9 -9
- package/dist/assets/{WorkflowExecutionsView-BzKlwTMm.js → WorkflowExecutionsView-CV9YDOwL.js} +5 -5
- package/dist/assets/{WorkflowHistory-CT3kO5Sn.js → WorkflowHistory-BIwUopWh.js} +3 -3
- package/dist/assets/{WorkflowOnboardingView-C3gpu3_i.js → WorkflowOnboardingView-BfxIhcjn.js} +1 -1
- package/dist/assets/{WorkflowPreview-BZm3MTEb.js → WorkflowPreview-kynBnKdp.js} +1 -1
- package/dist/assets/{WorkflowsView-meCWhW8Y.css → WorkflowsView-ipf8KKwB.css} +21 -16
- package/dist/assets/{WorkflowsView-4eqdgz9H.js → WorkflowsView-mZNl15yj.js} +26 -23
- package/dist/assets/{canvas-C0_KeJmQ.js → canvas-BstTJOpX.js} +1 -1
- package/dist/assets/{chartjs.utils-Bv6lUve-.js → chartjs.utils-C3jZQPP3.js} +2 -2
- package/dist/assets/{en-BcWgUFsO.js → en-gSl4aEB-.js} +18 -2
- package/dist/assets/{global-link-actions-BF0Tj_I9.js → global-link-actions-CW1V4kFI.js} +1 -1
- package/dist/assets/{import-curl-DsHxi7kp.js → import-curl-CF2r_L9J.js} +1 -1
- package/dist/assets/{index-B-xWz5mo.css → index-C1XlnjOl.css} +103 -70
- package/dist/assets/{index-DHKtGXZ1.js → index-CQa0Jv2S.js} +1 -1
- package/dist/assets/{index-Bpsc-Tmx.js → index-Q8IZ0Cou.js} +31613 -30742
- package/dist/assets/{pickBy-DIPqytvl.js → pickBy-Biy2pl7T.js} +1 -1
- package/dist/assets/{templateActions-qdbZojQ1.js → templateActions-DaSXNJXL.js} +1 -1
- package/dist/assets/{useBeforeUnload-B2awFcaP.js → useBeforeUnload-C71vlfPw.js} +1 -1
- package/dist/assets/{useExecutionDebugging-CYIymPhg.js → useExecutionDebugging-DbaExLsv.js} +1 -1
- package/dist/assets/{useExecutionHelpers-nG7T98Lv.js → useExecutionHelpers-A5rsPx0e.js} +1 -1
- package/dist/assets/{useImportCurlCommand-DVjZNYjv.js → useImportCurlCommand-oVnUvrp_.js} +2 -2
- package/dist/assets/{useProjectPages-p-uBP4T5.js → useProjectPages-DV4j_y25.js} +6 -2
- package/dist/assets/{usePushConnection-B7DMiByn.js → usePushConnection-CAxPjJ8k.js} +2 -3
- package/dist/assets/{useWorkflowActivate-CNqz_pHl.js → useWorkflowActivate-BTOkypU2.js} +1 -1
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/dist/assets/CollectionParameter-Dal7qnlG.js +0 -4
- package/dist/assets/SettingsSso-xIee31bc.js +0 -327
- package/dist/assets/easyAiWorkflowUtils-DRIGIHJ7.js +0 -132
|
@@ -1205,6 +1205,7 @@
|
|
|
1205
1205
|
.chat-message > .chat-message-markdown {
|
|
1206
1206
|
display: block;
|
|
1207
1207
|
box-sizing: border-box;
|
|
1208
|
+
font-size: inherit;
|
|
1208
1209
|
}
|
|
1209
1210
|
.chat-message > .chat-message-markdown > *:first-child {
|
|
1210
1211
|
margin-top: 0;
|
|
@@ -3551,7 +3552,7 @@
|
|
|
3551
3552
|
-------------------------- */
|
|
3552
3553
|
/* BEM
|
|
3553
3554
|
-------------------------- */
|
|
3554
|
-
.
|
|
3555
|
+
._container_tdw6t_123 {
|
|
3555
3556
|
flex-grow: 1;
|
|
3556
3557
|
flex-shrink: 1;
|
|
3557
3558
|
display: flex;
|
|
@@ -3559,46 +3560,52 @@
|
|
|
3559
3560
|
align-items: stretch;
|
|
3560
3561
|
overflow: hidden;
|
|
3561
3562
|
}
|
|
3562
|
-
.
|
|
3563
|
+
._header_tdw6t_132 {
|
|
3563
3564
|
padding: var(--spacing-2xs);
|
|
3564
3565
|
}
|
|
3565
|
-
.
|
|
3566
|
+
._actions_tdw6t_136 {
|
|
3566
3567
|
display: flex;
|
|
3567
3568
|
align-items: center;
|
|
3568
3569
|
gap: var(--spacing-2xs);
|
|
3569
3570
|
padding-inline-end: var(--spacing-2xs);
|
|
3570
3571
|
}
|
|
3571
|
-
.
|
|
3572
|
+
._actions_tdw6t_136 ._pressed_tdw6t_142 {
|
|
3572
3573
|
background-color: var(--color-button-secondary-focus-outline);
|
|
3573
3574
|
}
|
|
3574
|
-
.
|
|
3575
|
+
._title_tdw6t_146 {
|
|
3575
3576
|
display: flex;
|
|
3576
3577
|
align-items: center;
|
|
3577
3578
|
flex-shrink: 1;
|
|
3578
3579
|
}
|
|
3579
|
-
.
|
|
3580
|
+
._icon_tdw6t_152 {
|
|
3580
3581
|
margin-right: var(--spacing-2xs);
|
|
3581
3582
|
}
|
|
3582
|
-
.
|
|
3583
|
+
._executionSummary_tdw6t_156 {
|
|
3583
3584
|
flex-shrink: 1;
|
|
3584
3585
|
}
|
|
3585
|
-
.
|
|
3586
|
+
._content_tdw6t_160 {
|
|
3586
3587
|
flex-shrink: 1;
|
|
3587
3588
|
flex-grow: 1;
|
|
3588
3589
|
display: flex;
|
|
3589
3590
|
align-items: stretch;
|
|
3590
3591
|
overflow: hidden;
|
|
3591
3592
|
}
|
|
3592
|
-
.
|
|
3593
|
+
._outputPanel_tdw6t_168 {
|
|
3593
3594
|
width: 0;
|
|
3594
3595
|
flex-grow: 1;
|
|
3595
3596
|
}
|
|
3596
|
-
.
|
|
3597
|
+
._inputResizer_tdw6t_173 {
|
|
3597
3598
|
overflow: hidden;
|
|
3598
3599
|
flex-shrink: 0;
|
|
3599
3600
|
}
|
|
3600
|
-
.
|
|
3601
|
+
._inputResizer_tdw6t_173:not(:is(:last-child, ._collapsed_tdw6t_177, ._full_tdw6t_177)) {
|
|
3601
3602
|
border-right: var(--border-base);
|
|
3603
|
+
}
|
|
3604
|
+
._placeholder_tdw6t_181 {
|
|
3605
|
+
flex-grow: 1;
|
|
3606
|
+
display: flex;
|
|
3607
|
+
align-items: center;
|
|
3608
|
+
justify-content: center;
|
|
3602
3609
|
}/* BEM support Func
|
|
3603
3610
|
-------------------------- */
|
|
3604
3611
|
/* Transition
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { _ as _sfc_main$i, H as HighlightJS, V as VueMarkdown, R as RunData } from "./RunData-
|
|
3
|
-
import { c as canvasEventBus } from "./canvas-
|
|
4
|
-
import "./FileSaver.min-
|
|
5
|
-
import "./useExecutionHelpers-
|
|
1
|
+
import { b4 as isArrayLike, b5 as isArray, b6 as isBuffer, b7 as isTypedArray, b8 as isArguments, b9 as getTag, ba as isPrototype, bb as baseKeys, bc as addTokenUsageData, bd as emptyTokenUsageData, be as isChatNode, bf as NodeConnectionTypes, bg as v4, bh as get, bi as isRef, bj as isReactive, bk as isProxy, bl as toRaw, bm as AGENT_LANGCHAIN_NODE_TYPE, bn as MANUAL_CHAT_TRIGGER_NODE_TYPE, bo as CHAT_TRIGGER_NODE_TYPE, a as useToast, r as ref, x as computed, c as useI18n$1, bp as usePinnedData, ao as useMessage, ap as MODAL_CONFIRM, T as useWorkflowsStore, bq as useLogsStore, b as useRouter, br as useNodeHelpers, bs as useRunWorkflow, V as VIEWS, bt as chatEventBus, $ as watch, bu as provide, d as defineComponent, i as createElementBlock, g as openBlock, n as normalizeClass, j as createVNode, k as createBaseVNode, m as unref, p as N8nText, w as withCtx, A as renderSlot, l as createTextVNode, t as toDisplayString, _ as _export_sfc, U as useRoute, a3 as useSourceControlStore, bv as useCanvasOperations, bw as useNodeTypesStore, bx as START_NODE_TYPE, e as createBlock, f as createCommentVNode, aZ as N8nTooltip, by as formatTokenUsageCount, bz as getDefaultExportFromCjs, bA as requireUpperFirst, ag as useTemplateRef, bB as useTimestamp, bC as toTime, bD as toDayMonth, bE as withModifiers, F as Fragment, G as renderList, D as normalizeStyle, bF as _sfc_main$j, bG as I18nT, bH as N8nIcon, a$ as _sfc_main$k, q as N8nButton, B as nextTick, bI as useVirtualList, bJ as toRef, bK as mergeProps, bL as N8nRadioButtons, bM as inject, bN as toRefs, o as onMounted, bO as normalizeProps, bP as guardReactiveProps, bQ as resolveDynamicComponent, bR as markdownLink, bS as useFileDialog, bT as onUnmounted, aI as withDirectives, bU as vModelText, bV as withKeys, h as resolveComponent, bW as useClipboard, b1 as createSlots, aA as useNDVStore, bX as resolveDirective, a_ as N8nLink, bY as waitingNodeTooltip, aD as useLocalStorage, bZ as LOG_DETAILS_PANEL_STATE, b_ as KeyboardShortcutTooltip, b$ as N8nResizeWrapper, c0 as useStyles, c1 as N8nActionDropdown, c2 as Workflow, c3 as useThrottleFn, c4 as parse, J as useUIStore, a2 as useCanvasStore, am as useTelemetry, z as onBeforeUnmount, c5 as useProvideTooltipAppendTo, c6 as IsInPiPWindowSymbol, c7 as LOGS_PANEL_STATE, c8 as LOCAL_STORAGE_PANEL_HEIGHT, c9 as LOCAL_STORAGE_OVERVIEW_PANEL_WIDTH, ca as LOCAL_STORAGE_PANEL_WIDTH, cb as ndvEventBus } from "./index-Q8IZ0Cou.js";
|
|
2
|
+
import { p as parseErrorMetadata, _ as _sfc_main$i, H as HighlightJS, V as VueMarkdown, R as RunData } from "./RunData-CeKn3olP.js";
|
|
3
|
+
import { c as canvasEventBus } from "./canvas-BstTJOpX.js";
|
|
4
|
+
import "./FileSaver.min-DfMUUVIo.js";
|
|
5
|
+
import "./useExecutionHelpers-A5rsPx0e.js";
|
|
6
|
+
const TOOL_EXECUTOR_NODE_NAME = "PartialExecutionToolExecutor";
|
|
6
7
|
var mapTag = "[object Map]", setTag = "[object Set]";
|
|
7
8
|
var objectProto = Object.prototype;
|
|
8
9
|
var hasOwnProperty = objectProto.hasOwnProperty;
|
|
@@ -50,23 +51,18 @@ function createNode(node, context, runIndex, runData, children = []) {
|
|
|
50
51
|
runIndex,
|
|
51
52
|
runData,
|
|
52
53
|
children,
|
|
53
|
-
consumedTokens: getConsumedTokens(runData),
|
|
54
|
+
consumedTokens: runData ? getConsumedTokens(runData) : emptyTokenUsageData,
|
|
54
55
|
workflow: context.workflow,
|
|
55
56
|
executionId: context.executionId,
|
|
56
57
|
execution: context.data
|
|
57
58
|
};
|
|
58
59
|
}
|
|
59
|
-
function getTreeNodeData(nodeName, runData, runIndex, context) {
|
|
60
|
-
const node = context.workflow.getNode(nodeName);
|
|
61
|
-
return node ? getTreeNodeDataRec(node, runData, context, runIndex) : [];
|
|
62
|
-
}
|
|
63
60
|
function getChildNodes(treeNode, node, runIndex, context) {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
if (!workflow || !subWorkflowRunData || !executionId) {
|
|
61
|
+
const subExecutionLocator = findSubExecutionLocator(treeNode);
|
|
62
|
+
if (subExecutionLocator !== void 0) {
|
|
63
|
+
const workflow = context.workflows[subExecutionLocator.workflowId];
|
|
64
|
+
const subWorkflowRunData = context.subWorkflowData[subExecutionLocator.executionId];
|
|
65
|
+
if (!workflow || !subWorkflowRunData) {
|
|
70
66
|
return [];
|
|
71
67
|
}
|
|
72
68
|
return createLogTreeRec({
|
|
@@ -74,33 +70,36 @@ function getChildNodes(treeNode, node, runIndex, context) {
|
|
|
74
70
|
parent: treeNode,
|
|
75
71
|
depth: context.depth + 1,
|
|
76
72
|
workflow,
|
|
77
|
-
executionId,
|
|
73
|
+
executionId: subExecutionLocator.executionId,
|
|
78
74
|
data: subWorkflowRunData
|
|
79
75
|
});
|
|
80
76
|
}
|
|
81
77
|
const connectedSubNodes = context.workflow.getParentNodes(node.name, "ALL_NON_MAIN", 1);
|
|
82
|
-
const isExecutionRoot = treeNode
|
|
78
|
+
const isExecutionRoot = !isSubNodeLog(treeNode);
|
|
79
|
+
function isMatchedSource(source) {
|
|
80
|
+
return (source?.previousNode === node.name || isPlaceholderLog(treeNode) && source?.previousNode === TOOL_EXECUTOR_NODE_NAME) && (runIndex === void 0 || source.previousNodeRun === runIndex);
|
|
81
|
+
}
|
|
83
82
|
return connectedSubNodes.flatMap(
|
|
84
83
|
(subNodeName) => (context.data.resultData.runData[subNodeName] ?? []).flatMap((t, index) => {
|
|
85
|
-
const isMatched = isExecutionRoot && t.source.some((source) => source !== null) ? t.source.some(
|
|
86
|
-
(source) => source?.previousNode === node.name && (runIndex === void 0 || source.previousNodeRun === runIndex)
|
|
87
|
-
) : runIndex === void 0 || index === runIndex;
|
|
84
|
+
const isMatched = isExecutionRoot && t.source.some((source) => source !== null) ? t.source.some(isMatchedSource) : runIndex === void 0 || index === runIndex;
|
|
88
85
|
if (!isMatched) {
|
|
89
86
|
return [];
|
|
90
87
|
}
|
|
91
88
|
const subNode = context.workflow.getNode(subNodeName);
|
|
92
|
-
return subNode ?
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
) : [];
|
|
89
|
+
return subNode ? getTreeNodeData(subNode, t, index, {
|
|
90
|
+
...context,
|
|
91
|
+
depth: context.depth + 1,
|
|
92
|
+
parent: treeNode
|
|
93
|
+
}) : [];
|
|
98
94
|
})
|
|
99
95
|
);
|
|
100
96
|
}
|
|
101
|
-
function
|
|
97
|
+
function getTreeNodeData(node, runData, runIndex, context) {
|
|
102
98
|
const treeNode = createNode(node, context, runIndex ?? 0, runData);
|
|
103
99
|
const children = getChildNodes(treeNode, node, runIndex, context).sort(sortLogEntries);
|
|
100
|
+
if ((runData === void 0 || node.disabled) && children.length === 0) {
|
|
101
|
+
return [];
|
|
102
|
+
}
|
|
104
103
|
treeNode.children = children;
|
|
105
104
|
return [treeNode];
|
|
106
105
|
}
|
|
@@ -130,6 +129,9 @@ function findLogEntryToAutoSelectRec(subTree, depth) {
|
|
|
130
129
|
return childAutoSelect;
|
|
131
130
|
}
|
|
132
131
|
if (entry.node.type === AGENT_LANGCHAIN_NODE_TYPE) {
|
|
132
|
+
if (isPlaceholderLog(entry) && entry.children.length > 0) {
|
|
133
|
+
return entry.children[0];
|
|
134
|
+
}
|
|
133
135
|
return entry;
|
|
134
136
|
}
|
|
135
137
|
}
|
|
@@ -147,17 +149,32 @@ function createLogTree(workflow, response, workflows = {}, subWorkflowData = {})
|
|
|
147
149
|
});
|
|
148
150
|
}
|
|
149
151
|
function createLogTreeRec(context) {
|
|
150
|
-
const
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
152
|
+
const runData = context.data.resultData.runData;
|
|
153
|
+
return Object.entries(runData).flatMap(([nodeName, taskData]) => {
|
|
154
|
+
const node = context.workflow.getNode(nodeName);
|
|
155
|
+
if (node === null) {
|
|
156
|
+
return [];
|
|
157
|
+
}
|
|
158
|
+
const childNodes = context.workflow.getChildNodes(nodeName, "ALL_NON_MAIN");
|
|
159
|
+
if (childNodes.length === 0) {
|
|
160
|
+
return taskData.map((task, runIndex) => ({
|
|
161
|
+
node,
|
|
162
|
+
task,
|
|
163
|
+
runIndex,
|
|
164
|
+
nodeHasMultipleRuns: taskData.length > 1
|
|
165
|
+
}));
|
|
166
|
+
}
|
|
167
|
+
if (childNodes.some((child) => (runData[child] ?? []).length > 0)) {
|
|
168
|
+
return [];
|
|
169
|
+
}
|
|
170
|
+
const firstChild = context.workflow.getNode(childNodes[0]);
|
|
171
|
+
if (firstChild === null) {
|
|
172
|
+
return [];
|
|
173
|
+
}
|
|
174
|
+
return [{ node: firstChild, nodeHasMultipleRuns: false }];
|
|
175
|
+
}).flatMap(
|
|
176
|
+
({ node, runIndex, task, nodeHasMultipleRuns }) => getTreeNodeData(node, task, nodeHasMultipleRuns ? runIndex : void 0, context)
|
|
157
177
|
).sort(sortLogEntries);
|
|
158
|
-
return runs.flatMap(
|
|
159
|
-
({ nodeName, runIndex, runData, nodeHasMultipleRuns }) => getTreeNodeData(nodeName, runData, nodeHasMultipleRuns ? runIndex : void 0, context)
|
|
160
|
-
);
|
|
161
178
|
}
|
|
162
179
|
function findLogEntryRec(isMatched, entries) {
|
|
163
180
|
for (const entry of entries) {
|
|
@@ -225,6 +242,12 @@ function getEntryAtRelativeIndex(entries, id, relativeIndex) {
|
|
|
225
242
|
return offset === -1 ? void 0 : entries[offset + relativeIndex];
|
|
226
243
|
}
|
|
227
244
|
function sortLogEntries(a, b) {
|
|
245
|
+
if (a.runData === void 0) {
|
|
246
|
+
return a.children.length > 0 ? sortLogEntries(a.children[0], b) : 0;
|
|
247
|
+
}
|
|
248
|
+
if (b.runData === void 0) {
|
|
249
|
+
return b.children.length > 0 ? sortLogEntries(a, b.children[0]) : 0;
|
|
250
|
+
}
|
|
228
251
|
if (a.runData.startTime === b.runData.startTime) {
|
|
229
252
|
return a.runData.executionIndex - b.runData.executionIndex;
|
|
230
253
|
}
|
|
@@ -273,7 +296,14 @@ function mergeStartData(startData, response) {
|
|
|
273
296
|
};
|
|
274
297
|
}
|
|
275
298
|
function hasSubExecution(entry) {
|
|
276
|
-
return
|
|
299
|
+
return findSubExecutionLocator(entry) !== void 0;
|
|
300
|
+
}
|
|
301
|
+
function findSubExecutionLocator(entry) {
|
|
302
|
+
const metadata = entry.runData?.metadata?.subExecution;
|
|
303
|
+
if (metadata) {
|
|
304
|
+
return { workflowId: metadata.workflowId, executionId: metadata.executionId };
|
|
305
|
+
}
|
|
306
|
+
return parseErrorMetadata(entry.runData?.error)?.subExecution;
|
|
277
307
|
}
|
|
278
308
|
function getDepth(entry) {
|
|
279
309
|
let depth = 0;
|
|
@@ -360,6 +390,12 @@ function restoreChatHistory(workflowExecutionData, emptyText2) {
|
|
|
360
390
|
);
|
|
361
391
|
return [...userMessage ? [userMessage] : [], ...botMessage ? [botMessage] : []];
|
|
362
392
|
}
|
|
393
|
+
function isSubNodeLog(logEntry) {
|
|
394
|
+
return logEntry.parent !== void 0 && logEntry.parent.executionId === logEntry.executionId;
|
|
395
|
+
}
|
|
396
|
+
function isPlaceholderLog(treeNode) {
|
|
397
|
+
return treeNode.runData === void 0;
|
|
398
|
+
}
|
|
363
399
|
function useChatMessaging({
|
|
364
400
|
chatTrigger,
|
|
365
401
|
messages: messages2,
|
|
@@ -779,10 +815,13 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
779
815
|
const nodeTypeStore = useNodeTypesStore();
|
|
780
816
|
const type = computed(() => nodeTypeStore.getNodeType(props.data.node.type));
|
|
781
817
|
const isSettled = computed(
|
|
782
|
-
() => props.data.runData
|
|
818
|
+
() => props.data.runData?.executionStatus && !["running", "waiting"].includes(props.data.runData.executionStatus)
|
|
783
819
|
);
|
|
784
|
-
const isError = computed(() => !!props.data.runData
|
|
820
|
+
const isError = computed(() => !!props.data.runData?.error);
|
|
785
821
|
const startedAtText = computed(() => {
|
|
822
|
+
if (props.data.runData === void 0) {
|
|
823
|
+
return "—";
|
|
824
|
+
}
|
|
786
825
|
const time = new Date(props.data.runData.startTime);
|
|
787
826
|
return locale.baseText("logs.overview.body.started", {
|
|
788
827
|
interpolate: {
|
|
@@ -790,19 +829,17 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
790
829
|
}
|
|
791
830
|
});
|
|
792
831
|
});
|
|
793
|
-
const statusText = computed(() => upperFirst(props.data.runData
|
|
832
|
+
const statusText = computed(() => upperFirst(props.data.runData?.executionStatus ?? ""));
|
|
794
833
|
const timeText = computed(
|
|
795
|
-
() => locale.displayTimer(
|
|
834
|
+
() => props.data.runData ? locale.displayTimer(
|
|
796
835
|
isSettled.value ? props.data.runData.executionTime : Math.floor((now.value - props.data.runData.startTime) / 1e3) * 1e3,
|
|
797
836
|
true
|
|
798
|
-
)
|
|
837
|
+
) : void 0
|
|
799
838
|
);
|
|
800
839
|
const subtreeConsumedTokens = computed(
|
|
801
840
|
() => props.shouldShowTokenCountColumn ? getSubtreeTotalConsumedTokens(props.data, false) : void 0
|
|
802
841
|
);
|
|
803
|
-
const hasChildren = computed(
|
|
804
|
-
() => props.data.children.length > 0 || !!props.data.runData.metadata?.subExecution
|
|
805
|
-
);
|
|
842
|
+
const hasChildren = computed(() => props.data.children.length > 0 || hasSubExecution(props.data));
|
|
806
843
|
function isLastChild(level) {
|
|
807
844
|
let parent = props.data.parent;
|
|
808
845
|
let data = props.data;
|
|
@@ -902,10 +939,12 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
902
939
|
createTextVNode(toDisplayString(timeText.value), 1)
|
|
903
940
|
]),
|
|
904
941
|
_: 1
|
|
905
|
-
})) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
942
|
+
})) : timeText.value !== void 0 ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
906
943
|
createTextVNode(toDisplayString(unref(locale).baseText("logs.overview.body.summaryText.for", {
|
|
907
944
|
interpolate: { status: statusText.value, time: timeText.value }
|
|
908
945
|
})), 1)
|
|
946
|
+
], 64)) : (openBlock(), createElementBlock(Fragment, { key: 2 }, [
|
|
947
|
+
createTextVNode("—")
|
|
909
948
|
], 64))
|
|
910
949
|
]),
|
|
911
950
|
_: 1
|
|
@@ -4773,12 +4812,14 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
4773
4812
|
const locale = useI18n$1();
|
|
4774
4813
|
const ndvStore = useNDVStore();
|
|
4775
4814
|
const displayMode = ref(__props.paneType === "input" ? "schema" : "table");
|
|
4776
|
-
const isMultipleInput = computed(
|
|
4815
|
+
const isMultipleInput = computed(
|
|
4816
|
+
() => __props.paneType === "input" && (__props.logEntry.runData?.source.length ?? 0) > 1
|
|
4817
|
+
);
|
|
4777
4818
|
const runDataProps = computed(() => {
|
|
4778
4819
|
if (__props.logEntry.depth > 0 || __props.paneType === "output") {
|
|
4779
4820
|
return { node: __props.logEntry.node, runIndex: __props.logEntry.runIndex };
|
|
4780
4821
|
}
|
|
4781
|
-
const source = __props.logEntry.runData
|
|
4822
|
+
const source = __props.logEntry.runData?.source[0];
|
|
4782
4823
|
const node = source && __props.logEntry.workflow.getNode(source.previousNode);
|
|
4783
4824
|
if (!source || !node) {
|
|
4784
4825
|
return void 0;
|
|
@@ -4794,7 +4835,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
4794
4835
|
};
|
|
4795
4836
|
});
|
|
4796
4837
|
const isExecuting = computed(
|
|
4797
|
-
() => __props.paneType === "output" && (__props.logEntry.runData
|
|
4838
|
+
() => __props.paneType === "output" && (__props.logEntry.runData?.executionStatus === "running" || __props.logEntry.runData?.executionStatus === "waiting")
|
|
4798
4839
|
);
|
|
4799
4840
|
function handleClickOpenNdv() {
|
|
4800
4841
|
ndvStore.setActiveNodeName(__props.logEntry.node.name);
|
|
@@ -5055,7 +5096,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
5055
5096
|
name: _ctx.logEntry.node.name,
|
|
5056
5097
|
"is-deleted": _ctx.latestInfo?.deleted ?? false
|
|
5057
5098
|
}, null, 8, ["latest-name", "name", "is-deleted"]),
|
|
5058
|
-
_ctx.isOpen ? (openBlock(), createBlock(LogsViewExecutionSummary, {
|
|
5099
|
+
_ctx.isOpen && _ctx.logEntry.runData !== void 0 ? (openBlock(), createBlock(LogsViewExecutionSummary, {
|
|
5059
5100
|
key: 0,
|
|
5060
5101
|
class: normalizeClass(_ctx.$style.executionSummary),
|
|
5061
5102
|
status: _ctx.logEntry.runData.executionStatus ?? "unknown",
|
|
@@ -5066,7 +5107,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
5066
5107
|
], 2)
|
|
5067
5108
|
]),
|
|
5068
5109
|
actions: withCtx(() => [
|
|
5069
|
-
_ctx.isOpen && !isTriggerNode.value ? (openBlock(), createElementBlock("div", {
|
|
5110
|
+
_ctx.isOpen && !isTriggerNode.value && !unref(isPlaceholderLog)(_ctx.logEntry) ? (openBlock(), createElementBlock("div", {
|
|
5070
5111
|
key: 0,
|
|
5071
5112
|
class: normalizeClass(_ctx.$style.actions)
|
|
5072
5113
|
}, [
|
|
@@ -5118,56 +5159,69 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
5118
5159
|
class: normalizeClass(_ctx.$style.content),
|
|
5119
5160
|
"data-test-id": "logs-details-body"
|
|
5120
5161
|
}, [
|
|
5121
|
-
|
|
5162
|
+
unref(isPlaceholderLog)(_ctx.logEntry) ? (openBlock(), createElementBlock("div", {
|
|
5122
5163
|
key: 0,
|
|
5123
|
-
class: normalizeClass(
|
|
5124
|
-
|
|
5125
|
-
|
|
5126
|
-
|
|
5127
|
-
|
|
5128
|
-
|
|
5129
|
-
|
|
5130
|
-
|
|
5131
|
-
|
|
5132
|
-
|
|
5133
|
-
|
|
5134
|
-
|
|
5135
|
-
|
|
5136
|
-
|
|
5137
|
-
|
|
5138
|
-
|
|
5139
|
-
|
|
5140
|
-
|
|
5141
|
-
|
|
5142
|
-
|
|
5143
|
-
|
|
5144
|
-
|
|
5145
|
-
|
|
5146
|
-
|
|
5147
|
-
|
|
5148
|
-
|
|
5149
|
-
|
|
5150
|
-
|
|
5151
|
-
|
|
5152
|
-
|
|
5153
|
-
|
|
5164
|
+
class: normalizeClass(_ctx.$style.placeholder)
|
|
5165
|
+
}, [
|
|
5166
|
+
createVNode(unref(N8nText), { color: "text-base" }, {
|
|
5167
|
+
default: withCtx(() => [
|
|
5168
|
+
createTextVNode(toDisplayString(unref(locale).baseText("ndv.output.runNodeHint")), 1)
|
|
5169
|
+
]),
|
|
5170
|
+
_: 1
|
|
5171
|
+
})
|
|
5172
|
+
], 2)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
5173
|
+
!isTriggerNode.value && _ctx.panels !== unref(LOG_DETAILS_PANEL_STATE).OUTPUT ? (openBlock(), createBlock(unref(N8nResizeWrapper), {
|
|
5174
|
+
key: 0,
|
|
5175
|
+
class: normalizeClass({
|
|
5176
|
+
[_ctx.$style.inputResizer]: true,
|
|
5177
|
+
[_ctx.$style.collapsed]: unref(resizer).isCollapsed.value,
|
|
5178
|
+
[_ctx.$style.full]: unref(resizer).isFullSize.value
|
|
5179
|
+
}),
|
|
5180
|
+
width: unref(resizer).size.value,
|
|
5181
|
+
style: normalizeStyle(shouldResize.value ? { width: `${unref(resizer).size.value ?? 0}px` } : void 0),
|
|
5182
|
+
"supported-directions": ["right"],
|
|
5183
|
+
"is-resizing-enabled": shouldResize.value,
|
|
5184
|
+
window: _ctx.window,
|
|
5185
|
+
onResize: unref(resizer).onResize,
|
|
5186
|
+
onResizeend: handleResizeEnd
|
|
5187
|
+
}, {
|
|
5188
|
+
default: withCtx(() => [
|
|
5189
|
+
createVNode(LogsViewRunData, {
|
|
5190
|
+
"data-test-id": "log-details-input",
|
|
5191
|
+
"pane-type": "input",
|
|
5192
|
+
title: unref(locale).baseText("logs.details.header.actions.input"),
|
|
5193
|
+
"log-entry": _ctx.logEntry
|
|
5194
|
+
}, null, 8, ["title", "log-entry"])
|
|
5195
|
+
]),
|
|
5196
|
+
_: 1
|
|
5197
|
+
}, 8, ["class", "width", "style", "is-resizing-enabled", "window", "onResize"])) : createCommentVNode("", true),
|
|
5198
|
+
isTriggerNode.value || _ctx.panels !== unref(LOG_DETAILS_PANEL_STATE).INPUT ? (openBlock(), createBlock(LogsViewRunData, {
|
|
5199
|
+
key: 1,
|
|
5200
|
+
"data-test-id": "log-details-output",
|
|
5201
|
+
"pane-type": "output",
|
|
5202
|
+
class: normalizeClass(_ctx.$style.outputPanel),
|
|
5203
|
+
title: unref(locale).baseText("logs.details.header.actions.output"),
|
|
5204
|
+
"log-entry": _ctx.logEntry
|
|
5205
|
+
}, null, 8, ["class", "title", "log-entry"])) : createCommentVNode("", true)
|
|
5206
|
+
], 64))
|
|
5154
5207
|
], 2)) : createCommentVNode("", true)
|
|
5155
5208
|
], 2);
|
|
5156
5209
|
};
|
|
5157
5210
|
}
|
|
5158
5211
|
});
|
|
5159
|
-
const container$2 = "
|
|
5160
|
-
const header = "
|
|
5161
|
-
const actions = "
|
|
5162
|
-
const pressed = "
|
|
5163
|
-
const title = "
|
|
5164
|
-
const icon = "
|
|
5165
|
-
const executionSummary = "
|
|
5166
|
-
const content = "
|
|
5167
|
-
const outputPanel = "
|
|
5168
|
-
const inputResizer = "
|
|
5169
|
-
const collapsed = "
|
|
5170
|
-
const full = "
|
|
5212
|
+
const container$2 = "_container_tdw6t_123";
|
|
5213
|
+
const header = "_header_tdw6t_132";
|
|
5214
|
+
const actions = "_actions_tdw6t_136";
|
|
5215
|
+
const pressed = "_pressed_tdw6t_142";
|
|
5216
|
+
const title = "_title_tdw6t_146";
|
|
5217
|
+
const icon = "_icon_tdw6t_152";
|
|
5218
|
+
const executionSummary = "_executionSummary_tdw6t_156";
|
|
5219
|
+
const content = "_content_tdw6t_160";
|
|
5220
|
+
const outputPanel = "_outputPanel_tdw6t_168";
|
|
5221
|
+
const inputResizer = "_inputResizer_tdw6t_173";
|
|
5222
|
+
const collapsed = "_collapsed_tdw6t_177";
|
|
5223
|
+
const full = "_full_tdw6t_177";
|
|
5224
|
+
const placeholder = "_placeholder_tdw6t_181";
|
|
5171
5225
|
const style0$2 = {
|
|
5172
5226
|
container: container$2,
|
|
5173
5227
|
header,
|
|
@@ -5180,7 +5234,8 @@ const style0$2 = {
|
|
|
5180
5234
|
outputPanel,
|
|
5181
5235
|
inputResizer,
|
|
5182
5236
|
collapsed,
|
|
5183
|
-
full
|
|
5237
|
+
full,
|
|
5238
|
+
placeholder
|
|
5184
5239
|
};
|
|
5185
5240
|
const cssModules$2 = {
|
|
5186
5241
|
"$style": style0$2
|
|
@@ -5335,19 +5390,18 @@ function useLogsExecutionData() {
|
|
|
5335
5390
|
nodeHelpers.updateNodesExecutionIssues();
|
|
5336
5391
|
}
|
|
5337
5392
|
async function loadSubExecution(logEntry) {
|
|
5338
|
-
const
|
|
5339
|
-
|
|
5340
|
-
if (!execData.value?.data || !executionId || !workflowId) {
|
|
5393
|
+
const locator = findSubExecutionLocator(logEntry);
|
|
5394
|
+
if (!execData.value?.data || locator === void 0) {
|
|
5341
5395
|
return;
|
|
5342
5396
|
}
|
|
5343
5397
|
try {
|
|
5344
|
-
const subExecution = await workflowsStore.fetchExecutionDataById(executionId);
|
|
5398
|
+
const subExecution = await workflowsStore.fetchExecutionDataById(locator.executionId);
|
|
5345
5399
|
const data = subExecution?.data ? parse(subExecution.data) : void 0;
|
|
5346
5400
|
if (!data || !subExecution) {
|
|
5347
5401
|
throw Error("Data is missing");
|
|
5348
5402
|
}
|
|
5349
|
-
subWorkflowExecData.value[executionId] = data;
|
|
5350
|
-
subWorkflows.value[workflowId] = new Workflow({
|
|
5403
|
+
subWorkflowExecData.value[locator.executionId] = data;
|
|
5404
|
+
subWorkflows.value[locator.workflowId] = new Workflow({
|
|
5351
5405
|
...subExecution.workflowData,
|
|
5352
5406
|
nodeTypes: workflowsStore.getNodeTypes()
|
|
5353
5407
|
});
|
|
@@ -5430,6 +5484,15 @@ function useLogsSelection(execution, tree2, flatLogEntries, toggleExpand) {
|
|
|
5430
5484
|
manualLogEntrySelection.value = { type: "selected", id: nextEntry.id };
|
|
5431
5485
|
syncSelectionToCanvasIfEnabled(nextEntry);
|
|
5432
5486
|
}
|
|
5487
|
+
watch(
|
|
5488
|
+
selected2,
|
|
5489
|
+
(sel) => {
|
|
5490
|
+
if (sel) {
|
|
5491
|
+
logsStore.setSubNodeSelected(isSubNodeLog(sel));
|
|
5492
|
+
}
|
|
5493
|
+
},
|
|
5494
|
+
{ immediate: true }
|
|
5495
|
+
);
|
|
5433
5496
|
watch(
|
|
5434
5497
|
[() => uiStore.lastSelectedNode, () => logsStore.isLogSelectionSyncedWithCanvas],
|
|
5435
5498
|
([selectedOnCanvas, shouldSync]) => {
|
|
@@ -5690,7 +5753,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
5690
5753
|
async function handleOpenNdv(treeNode) {
|
|
5691
5754
|
ndvStore.setActiveNodeName(treeNode.node.name);
|
|
5692
5755
|
await nextTick(() => {
|
|
5693
|
-
const source = treeNode.runData
|
|
5756
|
+
const source = treeNode.runData?.source[0];
|
|
5694
5757
|
const inputBranch = source?.previousNodeOutput ?? 0;
|
|
5695
5758
|
ndvEventBus.emit("updateInputNodeName", source?.previousNode);
|
|
5696
5759
|
ndvEventBus.emit("setInputBranchIndex", inputBranch);
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { d as defineComponent,
|
|
2
|
-
import { _ as __unplugin_components_0, W as WorkflowActivator } from "./WorkflowActivator-
|
|
3
|
-
import { _ as _sfc_main$b } from "./PushConnectionTracker.vue_vue_type_script_setup_true_lang-
|
|
4
|
-
import { u as useBeforeUnload } from "./useBeforeUnload-
|
|
5
|
-
import { F as FileSaver_minExports } from "./FileSaver.min-
|
|
6
|
-
import { u as usePushConnection } from "./usePushConnection-
|
|
7
|
-
import "./useWorkflowActivate-
|
|
8
|
-
import "./
|
|
9
|
-
import "./global-link-actions-BF0Tj_I9.js";
|
|
1
|
+
import { d as defineComponent, y as MAIN_HEADER_TABS, h as resolveComponent, i as createElementBlock, f as createCommentVNode, g as openBlock, n as normalizeClass, j as createVNode, _ as _export_sfc, r as ref, z as onBeforeUnmount, o as onMounted, A as renderSlot, B as nextTick, x as computed, C as debounce, e as createBlock, m as unref, D as normalizeStyle, E as createEventBus, w as withCtx, k as createBaseVNode, F as Fragment, G as renderList, l as createTextVNode, t as toDisplayString, H as useTagsStore, I as useDebounce, J as useUIStore, K as BREAKPOINT_SM, L as BREAKPOINT_XL, O as BREAKPOINT_LG, P as BREAKPOINT_MD, Q as getBannerRowHeight, V as VIEWS, c as useI18n, R as defineStore, S as usePushConnectionStore, T as useWorkflowsStore, u as useUsersStore, U as useRoute, W as PLACEHOLDER_EMPTY_WORKFLOW_ID, X as STORES, Y as TIME, Z as useDocumentVisibility, $ as watch, a0 as useCssModule, a1 as useRootStore, a2 as useCanvasStore, v as useSettingsStore, a3 as useSourceControlStore, a4 as useProjectsStore, a5 as useFoldersStore, a6 as useNpsSurveyStore, b as useRouter, a as useToast, a7 as useDocumentTitle, a8 as useWorkflowSaving, a9 as useWorkflowHelpers, aa as usePageRedirectionHelper, ab as getResourcePermissions, ac as WORKFLOW_MENU_ACTIONS, ad as hasPermission, ae as EnterpriseEditionFeature, af as ProjectTypes, ag as useTemplateRef, ah as InlineRename, ai as MAX_WORKFLOW_NAME_LENGTH, aj as _sfc_main$a, ak as SaveButton, al as WORKFLOW_SHARE_MODAL_KEY, am as useTelemetry, an as nodeViewEventBus, ao as useMessage, ap as MODAL_CONFIRM, aq as WORKFLOW_SETTINGS_MODAL_KEY, ar as SOURCE_CONTROL_PUSH_MODAL_KEY, as as IMPORT_WORKFLOW_URL_MODAL_KEY, at as DUPLICATE_MODAL_KEY, au as ResourceType, av as PROJECT_MOVE_RESOURCE_MODAL, aw as __vitePreload, ax as hyphenate, ay as h, az as hasOwn, aA as useNDVStore, aB as useExecutionsStore, aC as usePostHog, aD as useLocalStorage, aE as LOCAL_STORAGE_HIDE_GITHUB_STAR_BUTTON, aF as WORKFLOW_EVALUATION_EXPERIMENT, aG as STICKY_NODE_TYPE, aH as onBeforeMount, aI as withDirectives, aJ as vShow, aK as N8N_MAIN_GITHUB_REPO_URL } from "./index-Q8IZ0Cou.js";
|
|
2
|
+
import { _ as __unplugin_components_0, W as WorkflowActivator } from "./WorkflowActivator-CErBRTtp.js";
|
|
3
|
+
import { _ as _sfc_main$b } from "./PushConnectionTracker.vue_vue_type_script_setup_true_lang-CI5PGbAh.js";
|
|
4
|
+
import { u as useBeforeUnload } from "./useBeforeUnload-C71vlfPw.js";
|
|
5
|
+
import { F as FileSaver_minExports } from "./FileSaver.min-DfMUUVIo.js";
|
|
6
|
+
import { u as usePushConnection } from "./usePushConnection-CAxPjJ8k.js";
|
|
7
|
+
import "./useWorkflowActivate-BTOkypU2.js";
|
|
8
|
+
import "./global-link-actions-CW1V4kFI.js";
|
|
10
9
|
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
11
10
|
__name: "TabBar",
|
|
12
11
|
props: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { L as Logo } from "./Logo-
|
|
1
|
+
import { aL as get, d as defineComponent, aM as useLoadingService, J as useUIStore, a3 as useSourceControlStore, a4 as useProjectsStore, a as useToast, r as ref, x as computed, ad as hasPermission, ab as getResourcePermissions, h as resolveComponent, i as createElementBlock, f as createCommentVNode, g as openBlock, D as normalizeStyle, n as normalizeClass, m as unref, k as createBaseVNode, j as createVNode, l as createTextVNode, t as toDisplayString, w as withCtx, c as useI18n, E as createEventBus, ar as SOURCE_CONTROL_PUSH_MODAL_KEY, aN as notifyUserAboutPullWorkFolderOutcome, aO as sourceControlEventBus, aP as SOURCE_CONTROL_PULL_MODAL_KEY, _ as _export_sfc, R as defineStore, aQ as useCloudPlanStore, a1 as useRootStore, aR as useStorage, aS as DateTime, X as STORES, am as useTelemetry, v as useSettingsStore, b as useRouter, aT as sortByProperty, V as VIEWS, aa as usePageRedirectionHelper, e as createBlock, F as Fragment, G as renderList, aU as useDebugInfo, aV as useTemplatesStore, u as useUsersStore, aW as useVersionsStore, T as useWorkflowsStore, I as useDebounce, U as useRoute, o as onMounted, aX as useExternalHooks, B as nextTick, z as onBeforeUnmount, aY as onClickOutside, aZ as N8nTooltip, a_ as N8nLink, a$ as _sfc_main$5, b0 as N8nNavigationDropdown, b1 as createSlots, b2 as VERSIONS_MODAL_KEY, b3 as ABOUT_MODAL_KEY } from "./index-Q8IZ0Cou.js";
|
|
2
|
+
import { L as Logo } from "./Logo-CHeW0pXf.js";
|
|
3
3
|
async function getBecomeCreatorCta(context) {
|
|
4
4
|
const response = await get(context.baseUrl, "/cta/become-creator");
|
|
5
5
|
return response;
|