n8n-editor-ui 1.85.2 → 1.86.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/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-B2Xk-4o2.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DofUIs9S.js} +1 -1
- package/dist/assets/{AuthView-Bhr2Ols-.js → AuthView-CyY2quTd.js} +2 -2
- package/dist/assets/{CanvasChatSwitch-E9vu2jW8.js → CanvasChatSwitch-BTInPgKl.js} +413 -99
- package/dist/assets/{CanvasChatSwitch-BcSDHC-c.css → CanvasChatSwitch-CRtE2Fld.css} +284 -46
- package/dist/assets/{ChangePasswordView-BzAEcqVw.js → ChangePasswordView-Db-MkXhZ.js} +3 -3
- package/dist/assets/CollectionParameter-BD3jmKi_.js +4 -0
- package/dist/assets/{CredentialsView-CZiEXdjH.js → CredentialsView-CLr_6U2B.js} +6 -6
- package/dist/assets/{ErrorView-C1QywuMY.js → ErrorView-CUS5vnCW.js} +1 -1
- package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-l5VZIkoy.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-D15zjPBZ.js} +2 -2
- package/dist/assets/{ExecutionsView-Bo0Nk8lV.js → ExecutionsView-1df-oH5P.js} +8 -8
- package/dist/assets/{ExecutionsView-JCKikuIS.css → ExecutionsView-BnBpSqVn.css} +2 -2
- package/dist/assets/{FileSaver.min-D3VgyjMF.js → FileSaver.min-DLKMtSuf.js} +1 -1
- package/dist/assets/{FixedCollectionParameter-RpfOY9Ho.js → FixedCollectionParameter-CcqTLBeP.js} +1 -1
- package/dist/assets/{ForgotMyPasswordView-DPTddCxG.js → ForgotMyPasswordView-BHRWkO2H.js} +3 -3
- package/dist/assets/{useOverview-BqIOGpWx.js → InsightsSummary-CyilLKXz.js} +5 -14
- package/dist/assets/{Logo-CxllxUni.js → Logo-DbXTFYA8.js} +1 -1
- package/dist/assets/{MainHeader-9gTxUJIR.js → MainHeader-BfQR9Td3.js} +10 -10
- package/dist/assets/{MainSidebar-CRJML8mh.js → MainSidebar-CDUegYGN.js} +2 -4
- package/dist/assets/{NodeCreation-zoYjBJl6.js → NodeCreation-BBXRRxZa.js} +4 -4
- package/dist/assets/{NodeCreator-D-qBRyBy.js → NodeCreator-BiyvtIjb.js} +10 -26
- package/dist/assets/{NodeDetailsView-C1z3N5z_.css → NodeDetailsView-BcVu3kf0.css} +2 -2
- package/dist/assets/{NodeDetailsView-C1iBFaC1.js → NodeDetailsView-Ph7FVpa8.js} +21 -18
- package/dist/assets/{NodeView-Bio-FnnF.js → NodeView-BEJ48TF4.js} +14 -14
- package/dist/assets/{ProjectCardBadge-BEflW6oP.js → ProjectCardBadge-B7cCM6Eo.js} +69 -36
- package/dist/assets/{ProjectCardBadge-C78ap7Rc.css → ProjectCardBadge-t3v64i1e.css} +18 -13
- package/dist/assets/{ProjectHeader-DK3_g_D8.js → ProjectHeader-BjPaep-H.js} +33 -7
- package/dist/assets/{ProjectHeader-B-a6_GH6.css → ProjectHeader-BsBpG-Mj.css} +7 -7
- package/dist/assets/{ProjectSettings-CLMy_-YC.js → ProjectSettings-C1By1g0Z.js} +3 -3
- package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-CSazgsi8.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-UHiXbqwy.js} +2 -2
- package/dist/assets/{ResourcesListLayout-CBvvL0VM.js → ResourcesListLayout-CiiXWGd5.js} +1 -1
- package/dist/assets/{RunDataAi-C-tu9GrI.js → RunDataAi-CQE0VYut.js} +115 -72
- package/dist/assets/{RunDataJson-ClpS_600.js → RunDataJson-BY9cOxFp.js} +12 -12
- package/dist/assets/{RunDataJsonActions-gWW8Qkt_.js → RunDataJsonActions-CuFjccfe.js} +2 -2
- package/dist/assets/{RunDataSearch-Dgv5JYk-.js → RunDataSearch-afEc-21Y.js} +1 -1
- package/dist/assets/{RunDataTable-nsOk35pD.js → RunDataTable-N6yWFXKt.js} +2 -2
- package/dist/assets/{SamlOnboarding-C5TSdGcx.js → SamlOnboarding-HDQzVmha.js} +3 -3
- package/dist/assets/{SettingsApiView-CzQG1ofR.js → SettingsApiView-DQMZT3uc.js} +1 -1
- package/dist/assets/{SettingsCommunityNodesView-D_F3n2NO.js → SettingsCommunityNodesView-BlQT_0E8.js} +5 -5
- package/dist/assets/{SettingsExternalSecrets-BUgKlMoR.js → SettingsExternalSecrets-BL_3qoNS.js} +1 -1
- package/dist/assets/{SettingsLdapView-CAmuVErd.js → SettingsLdapView-BMsfXg-A.js} +1 -1
- package/dist/assets/{SettingsLogStreamingView-DLkHrsx5.js → SettingsLogStreamingView-Bm5vaSO2.js} +1 -1
- package/dist/assets/{SettingsPersonalView-2elwsG0f.js → SettingsPersonalView-Djl1VXnE.js} +2 -2
- package/dist/assets/{SettingsSourceControl-BD426GUo.js → SettingsSourceControl-A-9nD8hG.js} +1 -1
- package/dist/assets/{SettingsSso-B-7lLoTI.js → SettingsSso-DZCscZY6.js} +1 -1
- package/dist/assets/{SettingsUsageAndPlan-EUWVJYe2.js → SettingsUsageAndPlan-Rd5AGlNl.js} +1 -1
- package/dist/assets/{SettingsUsersView-C3GbTYvU.js → SettingsUsersView-NEahsGVs.js} +1 -1
- package/dist/assets/{SettingsView-DSMM_8SL.js → SettingsView-CeXAUGXE.js} +1 -1
- package/dist/assets/{SetupView-CexY8Lic.js → SetupView-BI7oJfg0.js} +3 -3
- package/dist/assets/{SetupWorkflowCredentialsButton-BpLp754t.js → SetupWorkflowCredentialsButton-DMZX1S1F.js} +1 -1
- package/dist/assets/{SetupWorkflowFromTemplateView-CLvS9Kda.js → SetupWorkflowFromTemplateView-DZsPVdhN.js} +3 -3
- package/dist/assets/{SigninView-CYkcm3hG.js → SigninView-CzVnEKyz.js} +3 -3
- package/dist/assets/{SignoutView-C2HutrZm.js → SignoutView-C4ynr4AN.js} +1 -1
- package/dist/assets/{SignupView-B-o-ka0Z.js → SignupView-9nwGonm9.js} +3 -3
- package/dist/assets/{TemplateDetails-C20G_lj4.js → TemplateDetails-DT1tI4AF.js} +1 -1
- package/dist/assets/{TemplateList-DQzcYS6n.js → TemplateList-DGPm_Qol.js} +1 -1
- package/dist/assets/{TemplatesCollectionView-DEEMhmYZ.js → TemplatesCollectionView-DwXY5s5G.js} +5 -5
- package/dist/assets/{TemplatesSearchView-S6802uNr.js → TemplatesSearchView-D0R7uF40.js} +3 -3
- package/dist/assets/{TemplatesView-CT7S5O4K.js → TemplatesView-BZ-ntkfi.js} +1 -1
- package/dist/assets/{TemplatesWorkflowView-BMd9OmqA.js → TemplatesWorkflowView-TwVAHvD7.js} +5 -5
- package/dist/assets/{TestDefinitionEditView-BXhOuJrU.css → TestDefinitionEditView-C3nnWQ4Q.css} +0 -125
- package/dist/assets/{TestDefinitionEditView-5kDGEtaD.js → TestDefinitionEditView-o2Gc4BjN.js} +23 -139
- package/dist/assets/{TestDefinitionListView-BM-hghAY.js → TestDefinitionListView-BuUWjPAl.js} +1 -1
- package/dist/assets/{TestDefinitionNewView-CNN-qAmL.js → TestDefinitionNewView-DmSFNxfn.js} +2 -2
- package/dist/assets/{TestDefinitionRootView-S8g84AaK.js → TestDefinitionRootView-1dNmGZUI.js} +1 -1
- package/dist/assets/{VariablesView-D90WCfYK.js → VariablesView-D46tH9pw.js} +3 -3
- package/dist/assets/{WorkerView-BHVIRKm_.js → WorkerView-G0K849qT.js} +7 -7
- package/dist/assets/{WorkflowActivator-BsceIfln.js → WorkflowActivator-DfalOPsa.js} +2 -2
- package/dist/assets/{WorkflowExecutionsInfoAccordion-DxGIzmq4.js → WorkflowExecutionsInfoAccordion-BcD7ZskD.js} +1 -1
- package/dist/assets/{WorkflowExecutionsLandingPage-czqJYUnQ.js → WorkflowExecutionsLandingPage-BhPbJi5K.js} +2 -2
- package/dist/assets/{WorkflowExecutionsPreview-BzCGXWj0.js → WorkflowExecutionsPreview-CowaFwPg.js} +5 -5
- package/dist/assets/{WorkflowExecutionsView-syep-_N0.js → WorkflowExecutionsView-BAojAjIM.js} +6 -6
- package/dist/assets/{WorkflowHistory-CmHn_hnX.js → WorkflowHistory-Bj5_YFN8.js} +3 -3
- package/dist/assets/{WorkflowOnboardingView-BmhaZBkH.js → WorkflowOnboardingView-D9peqUJs.js} +1 -1
- package/dist/assets/{WorkflowPreview-BN13256Q.js → WorkflowPreview-gflk06YT.js} +1 -1
- package/dist/assets/{WorkflowsView-r9qJOUEb.css → WorkflowsView-CJB9aI6A.css} +27 -41
- package/dist/assets/{WorkflowsView-6qbtftll.js → WorkflowsView-CmgKYCQ6.js} +74 -139
- package/dist/assets/{easyAiWorkflowUtils-C7LfXIgb.js → easyAiWorkflowUtils-CLssJdgl.js} +1 -1
- package/dist/assets/{global-link-actions-znEIb0N4.js → global-link-actions-BphqczCY.js} +1 -1
- package/dist/assets/{import-curl-BsKs3fYs.js → import-curl-C9KhAemD.js} +1 -1
- package/dist/assets/{index-CgXKy7t-.css → index-BaqhUIB7.css} +55 -54
- package/dist/assets/{index-Cjz62pAo.js → index-C0DaAYgf.js} +1 -1
- package/dist/assets/{index-DZljH0cm.js → index-CkOV8f0Z.js} +2469 -2490
- package/dist/assets/{pickBy-DlIFPp_M.js → pickBy-DUugkW7s.js} +1 -1
- package/dist/assets/{pushConnection.store-DHLcz9cC.js → pushConnection.store-Cb2TGyrZ.js} +1 -1
- package/dist/assets/{templateActions-ClDjWPHA.js → templateActions-Czp13jCM.js} +1 -1
- package/dist/assets/{useBeforeUnload-BFlrxvKb.js → useBeforeUnload-BBbiw-FV.js} +1 -1
- package/dist/assets/{useCanvasMapping-CJcAsQmx.css → useCanvasMapping-BkGr1HdJ.css} +29 -28
- package/dist/assets/{useCanvasMapping-C0PMQVwg.js → useCanvasMapping-Cla--atl.js} +71 -56
- package/dist/assets/{useCanvasOperations-2Ca5hPmu.js → useCanvasOperations-FyzGfva5.js} +14 -13
- package/dist/assets/{useClearExecutionButtonVisible-D8unhL-H.js → useClearExecutionButtonVisible-fESJZE5R.js} +2 -2
- package/dist/assets/{useExecutionDebugging-MiAgkS54.js → useExecutionDebugging-D4s4CdaL.js} +1 -1
- package/dist/assets/{useExecutionHelpers-CgD9G_XU.js → useExecutionHelpers-Bm91b8wb.js} +1 -1
- package/dist/assets/{useImportCurlCommand-D6LUnncf.js → useImportCurlCommand-BPNuR5ZX.js} +2 -2
- package/dist/assets/{usePushConnection-DAhrfl2L.js → usePushConnection-BbQhNUm8.js} +14 -6
- package/dist/assets/{useRunWorkflow-sGIs6NeH.js → useRunWorkflow-DnbQqqcB.js} +8 -2
- package/dist/assets/{useTestDefinitionForm-TDiKTq9o.js → useTestDefinitionForm-ZJngcsSH.js} +1 -31
- package/dist/assets/{useWorkflowActivate-C_GRAYoC.js → useWorkflowActivate-CkCvd-g6.js} +1 -1
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/dist/assets/CollectionParameter-XKkHxrwX.js +0 -4
- /package/dist/assets/{useOverview-DcRuPjLJ.css → InsightsSummary-DcRuPjLJ.css} +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { aY as inject, aZ as isRef, i as createElementBlock, g as openBlock, k as createBaseVNode, d as defineComponent, q as computed, j as createVNode, e as createBlock, f as createCommentVNode, m as unref, t as toDisplayString, J as withModifiers, _ as _export_sfc, a_ as toRefs, r as ref, o as onMounted, n as normalizeClass, x as renderSlot, a$ as normalizeProps, b0 as guardReactiveProps, b1 as resolveDynamicComponent, b2 as mergeProps, b3 as VueMarkdown, F as Fragment, D as renderList, b4 as markdownLink, b5 as useFileDialog, b6 as onUnmounted, B as normalizeStyle, aB as withDirectives, b7 as vModelText, H as withKeys, w as withCtx, I as watch, h as resolveComponent, l as createTextVNode, b8 as useClipboard, a as useToast, c as useI18n$1, aR as N8nTooltip,
|
|
2
|
-
import { H as HighlightJS, R as RunDataAi } from "./RunDataAi-
|
|
3
|
-
import { u as usePinnedData } from "./useCanvasOperations-
|
|
4
|
-
import { u as useRunWorkflow } from "./useRunWorkflow-
|
|
5
|
-
import { u as useClearExecutionButtonVisible } from "./useClearExecutionButtonVisible-
|
|
6
|
-
import "./useExecutionHelpers-
|
|
7
|
-
import "./pushConnection.store-
|
|
1
|
+
import { aY as inject, aZ as isRef, i as createElementBlock, g as openBlock, k as createBaseVNode, d as defineComponent, q as computed, j as createVNode, e as createBlock, f as createCommentVNode, m as unref, t as toDisplayString, J as withModifiers, _ as _export_sfc, a_ as toRefs, r as ref, o as onMounted, n as normalizeClass, x as renderSlot, a$ as normalizeProps, b0 as guardReactiveProps, b1 as resolveDynamicComponent, b2 as mergeProps, b3 as VueMarkdown, F as Fragment, D as renderList, b4 as markdownLink, b5 as useFileDialog, b6 as onUnmounted, B as normalizeStyle, aB as withDirectives, b7 as vModelText, H as withKeys, w as withCtx, I as watch, h as resolveComponent, l as createTextVNode, b8 as N8nText, b9 as useClipboard, a as useToast, c as useI18n$1, aR as N8nTooltip, ba as N8nButton, aT as _sfc_main$g, aV as createSlots, aK as useStorage, bb as watchEffect, y as onBeforeUnmount, K as useDebounce, bc as provide, bd as useProvideTooltipAppendTo, be as IsInPiPWindowSymbol, bf as NodeConnectionTypes, bg as get, bh as last, bi as isEmpty, aj as useMessage, ak as MODAL_CONFIRM, bj as v4, bk as MANUAL_CHAT_TRIGGER_NODE_TYPE, bl as CHAT_TRIGGER_NODE_TYPE, bm as CHAIN_SUMMARIZATION_LANGCHAIN_NODE_TYPE, bn as AI_SUBCATEGORY, bo as AI_CATEGORY_AGENTS, bp as AI_CATEGORY_CHAINS, bq as AI_CODE_NODE_TYPE, br as getNodeInputs, bs as getConnectionTypes, bt as getNodeOutputs, bu as CHAT_TRIGGER_NODE_TYPE$1, T as useWorkflowsStore, bv as useNodeTypesStore, a1 as useCanvasStore, b as useRouter, bw as useNodeHelpers, V as VIEWS, bx as useTemplateRef, by as N8nResizeWrapper, ah as useTelemetry, bz as _sfc_main$i, bA as ElTree, bB as N8nRadioButtons, bC as useStyles, p as useSettingsStore } from "./index-CkOV8f0Z.js";
|
|
2
|
+
import { H as HighlightJS, R as RunDataAi, f as formatTokenUsageCount, _ as _sfc_main$h, g as getSubtreeTotalConsumedTokens, a as getTreeNodeData, c as createAiData, b as getTotalConsumedTokens } from "./RunDataAi-CQE0VYut.js";
|
|
3
|
+
import { u as usePinnedData, a as upperFirst } from "./useCanvasOperations-FyzGfva5.js";
|
|
4
|
+
import { u as useRunWorkflow } from "./useRunWorkflow-DnbQqqcB.js";
|
|
5
|
+
import { u as useClearExecutionButtonVisible } from "./useClearExecutionButtonVisible-fESJZE5R.js";
|
|
6
|
+
import "./useExecutionHelpers-Bm91b8wb.js";
|
|
7
|
+
import "./pushConnection.store-Cb2TGyrZ.js";
|
|
8
8
|
function bash(hljs) {
|
|
9
9
|
const regex = hljs.regex;
|
|
10
10
|
const VAR = {};
|
|
@@ -2605,7 +2605,7 @@ function render$2(_ctx, _cache) {
|
|
|
2605
2605
|
}
|
|
2606
2606
|
const IconPreview = { name: "mdi-openInNew", render: render$2 };
|
|
2607
2607
|
const _hoisted_1$7 = { class: "chat-file-name" };
|
|
2608
|
-
const _sfc_main$
|
|
2608
|
+
const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
2609
2609
|
__name: "ChatFile",
|
|
2610
2610
|
props: {
|
|
2611
2611
|
file: {},
|
|
@@ -2655,7 +2655,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
2655
2655
|
};
|
|
2656
2656
|
}
|
|
2657
2657
|
});
|
|
2658
|
-
const ChatFile = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
2658
|
+
const ChatFile = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-70b9370d"]]);
|
|
2659
2659
|
const _hoisted_1$6 = {
|
|
2660
2660
|
key: 0,
|
|
2661
2661
|
class: "chat-message-actions"
|
|
@@ -2664,7 +2664,7 @@ const _hoisted_2$3 = {
|
|
|
2664
2664
|
key: 2,
|
|
2665
2665
|
class: "chat-message-files"
|
|
2666
2666
|
};
|
|
2667
|
-
const _sfc_main$
|
|
2667
|
+
const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
2668
2668
|
__name: "Message",
|
|
2669
2669
|
props: {
|
|
2670
2670
|
message: {}
|
|
@@ -2846,7 +2846,7 @@ const _hoisted_7 = {
|
|
|
2846
2846
|
key: 0,
|
|
2847
2847
|
class: "chat-files"
|
|
2848
2848
|
};
|
|
2849
|
-
const _sfc_main$
|
|
2849
|
+
const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
2850
2850
|
__name: "Input",
|
|
2851
2851
|
props: {
|
|
2852
2852
|
placeholder: { default: "inputPlaceholder" }
|
|
@@ -3051,8 +3051,8 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
3051
3051
|
};
|
|
3052
3052
|
}
|
|
3053
3053
|
});
|
|
3054
|
-
const ChatInput = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
3055
|
-
const _sfc_main$
|
|
3054
|
+
const ChatInput = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-9f775274"]]);
|
|
3055
|
+
const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
3056
3056
|
__name: "MessageTyping",
|
|
3057
3057
|
props: {
|
|
3058
3058
|
animation: { default: "bouncing" }
|
|
@@ -3077,7 +3077,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
3077
3077
|
messageContainer.value?.scrollToView();
|
|
3078
3078
|
});
|
|
3079
3079
|
return (_ctx, _cache) => {
|
|
3080
|
-
return openBlock(), createBlock(unref(_sfc_main$
|
|
3080
|
+
return openBlock(), createBlock(unref(_sfc_main$e), {
|
|
3081
3081
|
ref_key: "messageContainer",
|
|
3082
3082
|
ref: messageContainer,
|
|
3083
3083
|
class: normalizeClass(classes.value),
|
|
@@ -3105,7 +3105,7 @@ const _hoisted_3 = {
|
|
|
3105
3105
|
key: 1,
|
|
3106
3106
|
class: "chat-messages-list"
|
|
3107
3107
|
};
|
|
3108
|
-
const _sfc_main$
|
|
3108
|
+
const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
3109
3109
|
__name: "MessagesList",
|
|
3110
3110
|
props: {
|
|
3111
3111
|
messages: {},
|
|
@@ -3147,13 +3147,13 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
3147
3147
|
])
|
|
3148
3148
|
])) : (openBlock(), createElementBlock("div", _hoisted_3, [
|
|
3149
3149
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(initialMessages), (initialMessage) => {
|
|
3150
|
-
return openBlock(), createBlock(_sfc_main$
|
|
3150
|
+
return openBlock(), createBlock(_sfc_main$e, {
|
|
3151
3151
|
key: initialMessage.id,
|
|
3152
3152
|
message: initialMessage
|
|
3153
3153
|
}, null, 8, ["message"]);
|
|
3154
3154
|
}), 128)),
|
|
3155
3155
|
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.messages, (message) => {
|
|
3156
|
-
return openBlock(), createBlock(_sfc_main$
|
|
3156
|
+
return openBlock(), createBlock(_sfc_main$e, {
|
|
3157
3157
|
key: message.id,
|
|
3158
3158
|
ref_for: true,
|
|
3159
3159
|
ref_key: "messageComponents",
|
|
@@ -3166,12 +3166,12 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
3166
3166
|
_: 2
|
|
3167
3167
|
}, 1032, ["message"]);
|
|
3168
3168
|
}), 128)),
|
|
3169
|
-
unref(waitingForResponse) ? (openBlock(), createBlock(_sfc_main$
|
|
3169
|
+
unref(waitingForResponse) ? (openBlock(), createBlock(_sfc_main$c, { key: 0 })) : createCommentVNode("", true)
|
|
3170
3170
|
]));
|
|
3171
3171
|
};
|
|
3172
3172
|
}
|
|
3173
3173
|
});
|
|
3174
|
-
const _sfc_main$
|
|
3174
|
+
const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
3175
3175
|
__name: "MessageOptionTooltip",
|
|
3176
3176
|
props: {
|
|
3177
3177
|
placement: {
|
|
@@ -3206,17 +3206,17 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
3206
3206
|
};
|
|
3207
3207
|
}
|
|
3208
3208
|
});
|
|
3209
|
-
const container$
|
|
3210
|
-
const icon$
|
|
3211
|
-
const style0$
|
|
3212
|
-
container: container$
|
|
3213
|
-
icon: icon$
|
|
3209
|
+
const container$6 = "_container_pqtqf_123";
|
|
3210
|
+
const icon$2 = "_icon_pqtqf_129";
|
|
3211
|
+
const style0$8 = {
|
|
3212
|
+
container: container$6,
|
|
3213
|
+
icon: icon$2
|
|
3214
3214
|
};
|
|
3215
|
-
const cssModules$
|
|
3216
|
-
"$style": style0$
|
|
3215
|
+
const cssModules$8 = {
|
|
3216
|
+
"$style": style0$8
|
|
3217
3217
|
};
|
|
3218
|
-
const MessageOptionTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
3219
|
-
const _sfc_main$
|
|
3218
|
+
const MessageOptionTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__cssModules", cssModules$8]]);
|
|
3219
|
+
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
3220
3220
|
__name: "MessageOptionAction",
|
|
3221
3221
|
props: {
|
|
3222
3222
|
label: {
|
|
@@ -3257,17 +3257,17 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
3257
3257
|
};
|
|
3258
3258
|
}
|
|
3259
3259
|
});
|
|
3260
|
-
const container$
|
|
3261
|
-
const icon = "_icon_u1r1u_129";
|
|
3262
|
-
const style0$
|
|
3263
|
-
container: container$
|
|
3264
|
-
icon
|
|
3260
|
+
const container$5 = "_container_u1r1u_123";
|
|
3261
|
+
const icon$1 = "_icon_u1r1u_129";
|
|
3262
|
+
const style0$7 = {
|
|
3263
|
+
container: container$5,
|
|
3264
|
+
icon: icon$1
|
|
3265
3265
|
};
|
|
3266
|
-
const cssModules$
|
|
3267
|
-
"$style": style0$
|
|
3266
|
+
const cssModules$7 = {
|
|
3267
|
+
"$style": style0$7
|
|
3268
3268
|
};
|
|
3269
|
-
const MessageOptionAction = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
3270
|
-
const _sfc_main$
|
|
3269
|
+
const MessageOptionAction = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__cssModules", cssModules$7]]);
|
|
3270
|
+
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
3271
3271
|
__name: "PanelHeader",
|
|
3272
3272
|
props: {
|
|
3273
3273
|
title: {}
|
|
@@ -3280,9 +3280,16 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
3280
3280
|
class: normalizeClass(_ctx.$style.container),
|
|
3281
3281
|
onClick: _cache[0] || (_cache[0] = ($event) => emit("click"))
|
|
3282
3282
|
}, [
|
|
3283
|
-
|
|
3284
|
-
class: normalizeClass(_ctx.$style.title)
|
|
3285
|
-
|
|
3283
|
+
createVNode(unref(N8nText), {
|
|
3284
|
+
class: normalizeClass(_ctx.$style.title),
|
|
3285
|
+
bold: true,
|
|
3286
|
+
size: "small"
|
|
3287
|
+
}, {
|
|
3288
|
+
default: withCtx(() => [
|
|
3289
|
+
createTextVNode(toDisplayString(_ctx.title), 1)
|
|
3290
|
+
]),
|
|
3291
|
+
_: 1
|
|
3292
|
+
}, 8, ["class"]),
|
|
3286
3293
|
createBaseVNode("div", {
|
|
3287
3294
|
class: normalizeClass(_ctx.$style.actions)
|
|
3288
3295
|
}, [
|
|
@@ -3292,20 +3299,20 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
3292
3299
|
};
|
|
3293
3300
|
}
|
|
3294
3301
|
});
|
|
3295
|
-
const container$
|
|
3296
|
-
const title = "
|
|
3297
|
-
const actions$1 = "
|
|
3298
|
-
const style0$
|
|
3299
|
-
container: container$
|
|
3302
|
+
const container$4 = "_container_u9nuz_123";
|
|
3303
|
+
const title = "_title_u9nuz_144";
|
|
3304
|
+
const actions$1 = "_actions_u9nuz_149";
|
|
3305
|
+
const style0$6 = {
|
|
3306
|
+
container: container$4,
|
|
3300
3307
|
title,
|
|
3301
3308
|
actions: actions$1
|
|
3302
3309
|
};
|
|
3303
|
-
const cssModules$
|
|
3304
|
-
"$style": style0$
|
|
3310
|
+
const cssModules$6 = {
|
|
3311
|
+
"$style": style0$6
|
|
3305
3312
|
};
|
|
3306
|
-
const PanelHeader = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
3313
|
+
const PanelHeader = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__cssModules", cssModules$6]]);
|
|
3307
3314
|
const _hoisted_1$1 = ["onClick"];
|
|
3308
|
-
const _sfc_main$
|
|
3315
|
+
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
3309
3316
|
__name: "ChatMessagesPanel",
|
|
3310
3317
|
props: {
|
|
3311
3318
|
pastChatMessages: {},
|
|
@@ -3422,7 +3429,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
3422
3429
|
content: unref(locale).baseText("chat.window.session.resetSession")
|
|
3423
3430
|
}, {
|
|
3424
3431
|
default: withCtx(() => [
|
|
3425
|
-
createVNode(unref(_sfc_main$
|
|
3432
|
+
createVNode(unref(_sfc_main$g), {
|
|
3426
3433
|
class: normalizeClass(_ctx.$style.headerButton),
|
|
3427
3434
|
"data-test-id": "refresh-session-button",
|
|
3428
3435
|
outline: "",
|
|
@@ -3462,7 +3469,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
3462
3469
|
]),
|
|
3463
3470
|
_: 1
|
|
3464
3471
|
}),
|
|
3465
|
-
createVNode(unref(_sfc_main$
|
|
3472
|
+
createVNode(unref(_sfc_main$g), {
|
|
3466
3473
|
class: normalizeClass(_ctx.$style.headerButton),
|
|
3467
3474
|
"data-test-id": "refresh-session-button",
|
|
3468
3475
|
outline: "",
|
|
@@ -3472,7 +3479,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
3472
3479
|
title: unref(locale).baseText("chat.window.session.reset"),
|
|
3473
3480
|
onClick: onRefreshSession
|
|
3474
3481
|
}, null, 8, ["class", "title"]),
|
|
3475
|
-
_ctx.showCloseButton ? (openBlock(), createBlock(unref(_sfc_main$
|
|
3482
|
+
_ctx.showCloseButton ? (openBlock(), createBlock(unref(_sfc_main$g), {
|
|
3476
3483
|
key: 0,
|
|
3477
3484
|
class: normalizeClass(_ctx.$style.headerButton),
|
|
3478
3485
|
outline: "",
|
|
@@ -3487,7 +3494,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
3487
3494
|
key: 2,
|
|
3488
3495
|
class: normalizeClass(_ctx.$style.chatBody)
|
|
3489
3496
|
}, [
|
|
3490
|
-
createVNode(_sfc_main$
|
|
3497
|
+
createVNode(_sfc_main$b, {
|
|
3491
3498
|
messages: _ctx.messages,
|
|
3492
3499
|
class: normalizeClass(_ctx.$style.messages),
|
|
3493
3500
|
"empty-text": _ctx.isNewLogsEnabled ? unref(locale).baseText("chat.window.chat.emptyChatMessage.v2") : void 0
|
|
@@ -3568,17 +3575,17 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
3568
3575
|
};
|
|
3569
3576
|
}
|
|
3570
3577
|
});
|
|
3571
|
-
const chat$2 = "
|
|
3572
|
-
const chatHeader = "
|
|
3573
|
-
const chatTitle = "
|
|
3574
|
-
const session = "
|
|
3575
|
-
const sessionId = "
|
|
3576
|
-
const copyable = "
|
|
3577
|
-
const headerButton = "
|
|
3578
|
-
const chatBody = "
|
|
3579
|
-
const messages = "
|
|
3580
|
-
const messagesInput = "
|
|
3581
|
-
const style0$
|
|
3578
|
+
const chat$2 = "_chat_14fd2_123";
|
|
3579
|
+
const chatHeader = "_chatHeader_14fd2_148";
|
|
3580
|
+
const chatTitle = "_chatTitle_14fd2_161";
|
|
3581
|
+
const session = "_session_14fd2_165";
|
|
3582
|
+
const sessionId = "_sessionId_14fd2_173";
|
|
3583
|
+
const copyable = "_copyable_14fd2_179";
|
|
3584
|
+
const headerButton = "_headerButton_14fd2_183";
|
|
3585
|
+
const chatBody = "_chatBody_14fd2_188";
|
|
3586
|
+
const messages = "_messages_14fd2_197";
|
|
3587
|
+
const messagesInput = "_messagesInput_14fd2_208";
|
|
3588
|
+
const style0$5 = {
|
|
3582
3589
|
chat: chat$2,
|
|
3583
3590
|
chatHeader,
|
|
3584
3591
|
chatTitle,
|
|
@@ -3590,13 +3597,13 @@ const style0$4 = {
|
|
|
3590
3597
|
messages,
|
|
3591
3598
|
messagesInput
|
|
3592
3599
|
};
|
|
3593
|
-
const cssModules$
|
|
3594
|
-
"$style": style0$
|
|
3600
|
+
const cssModules$5 = {
|
|
3601
|
+
"$style": style0$5
|
|
3595
3602
|
};
|
|
3596
|
-
const ChatMessagesPanel = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
3603
|
+
const ChatMessagesPanel = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__cssModules", cssModules$5]]);
|
|
3597
3604
|
const _hoisted_1 = { class: "meta" };
|
|
3598
3605
|
const _hoisted_2 = { key: 0 };
|
|
3599
|
-
const _sfc_main$
|
|
3606
|
+
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
3600
3607
|
__name: "ChatLogsPanel",
|
|
3601
3608
|
props: {
|
|
3602
3609
|
node: {},
|
|
@@ -3643,17 +3650,17 @@ const logsWrapper = "_logsWrapper_1n9n2_140";
|
|
|
3643
3650
|
const logsTitle = "_logsTitle_1n9n2_149";
|
|
3644
3651
|
const logs$1 = "_logs_1n9n2_123";
|
|
3645
3652
|
const actions = "_actions_1n9n2_159";
|
|
3646
|
-
const style0$
|
|
3653
|
+
const style0$4 = {
|
|
3647
3654
|
logsHeader,
|
|
3648
3655
|
logsWrapper,
|
|
3649
3656
|
logsTitle,
|
|
3650
3657
|
logs: logs$1,
|
|
3651
3658
|
actions
|
|
3652
3659
|
};
|
|
3653
|
-
const cssModules$
|
|
3654
|
-
"$style": style0$
|
|
3660
|
+
const cssModules$4 = {
|
|
3661
|
+
"$style": style0$4
|
|
3655
3662
|
};
|
|
3656
|
-
const ChatLogsPanel = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
3663
|
+
const ChatLogsPanel = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__cssModules", cssModules$4]]);
|
|
3657
3664
|
const LOCAL_STORAGE_PANEL_HEIGHT = "N8N_CANVAS_CHAT_HEIGHT";
|
|
3658
3665
|
const LOCAL_STORAGE_PANEL_WIDTH = "N8N_CANVAS_CHAT_WIDTH";
|
|
3659
3666
|
const MAX_WIDTH_PERCENTAGE = 0.8;
|
|
@@ -4227,7 +4234,7 @@ function useChatState(isDisabled, onWindowResize) {
|
|
|
4227
4234
|
displayExecution
|
|
4228
4235
|
};
|
|
4229
4236
|
}
|
|
4230
|
-
const _sfc_main$
|
|
4237
|
+
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
4231
4238
|
__name: "CanvasChat",
|
|
4232
4239
|
setup(__props, { expose: __expose }) {
|
|
4233
4240
|
const workflowsStore = useWorkflowsStore();
|
|
@@ -4390,23 +4397,222 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
4390
4397
|
const resizeWrapper$1 = "_resizeWrapper_1aajp_124";
|
|
4391
4398
|
const pipContent$1 = "_pipContent_1aajp_129";
|
|
4392
4399
|
const empty$1 = "_empty_1aajp_140";
|
|
4393
|
-
const container$
|
|
4400
|
+
const container$3 = "_container_1aajp_146";
|
|
4394
4401
|
const chatResizer = "_chatResizer_1aajp_154";
|
|
4395
4402
|
const footer = "_footer_1aajp_161";
|
|
4396
4403
|
const chat$1 = "_chat_1aajp_154";
|
|
4397
4404
|
const inner = "_inner_1aajp_180";
|
|
4398
4405
|
const logs = "_logs_1aajp_188";
|
|
4399
|
-
const style0$
|
|
4406
|
+
const style0$3 = {
|
|
4400
4407
|
resizeWrapper: resizeWrapper$1,
|
|
4401
4408
|
pipContent: pipContent$1,
|
|
4402
4409
|
empty: empty$1,
|
|
4403
|
-
container: container$
|
|
4410
|
+
container: container$3,
|
|
4404
4411
|
chatResizer,
|
|
4405
4412
|
footer,
|
|
4406
4413
|
chat: chat$1,
|
|
4407
4414
|
inner,
|
|
4408
4415
|
logs
|
|
4409
4416
|
};
|
|
4417
|
+
const cssModules$3 = {
|
|
4418
|
+
"$style": style0$3
|
|
4419
|
+
};
|
|
4420
|
+
const __unplugin_components_0$1 = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__cssModules", cssModules$3]]);
|
|
4421
|
+
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
4422
|
+
__name: "ConsumedTokenCountText",
|
|
4423
|
+
props: {
|
|
4424
|
+
consumedTokens: {}
|
|
4425
|
+
},
|
|
4426
|
+
setup(__props) {
|
|
4427
|
+
const locale = useI18n$1();
|
|
4428
|
+
return (_ctx, _cache) => {
|
|
4429
|
+
const _component_ConsumedTokensDetails = _sfc_main$h;
|
|
4430
|
+
return _ctx.consumedTokens !== void 0 ? (openBlock(), createBlock(unref(N8nTooltip), {
|
|
4431
|
+
key: 0,
|
|
4432
|
+
enterable: false
|
|
4433
|
+
}, {
|
|
4434
|
+
content: withCtx(() => [
|
|
4435
|
+
createVNode(_component_ConsumedTokensDetails, { "consumed-tokens": _ctx.consumedTokens }, null, 8, ["consumed-tokens"])
|
|
4436
|
+
]),
|
|
4437
|
+
default: withCtx(() => [
|
|
4438
|
+
createBaseVNode("span", null, toDisplayString(unref(locale).baseText("runData.aiContentBlock.tokens", {
|
|
4439
|
+
interpolate: {
|
|
4440
|
+
count: unref(formatTokenUsageCount)(_ctx.consumedTokens, "total")
|
|
4441
|
+
}
|
|
4442
|
+
})), 1)
|
|
4443
|
+
]),
|
|
4444
|
+
_: 1
|
|
4445
|
+
})) : createCommentVNode("", true);
|
|
4446
|
+
};
|
|
4447
|
+
}
|
|
4448
|
+
});
|
|
4449
|
+
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
4450
|
+
__name: "LogsOverviewRow",
|
|
4451
|
+
props: {
|
|
4452
|
+
data: {},
|
|
4453
|
+
node: {},
|
|
4454
|
+
isSelected: { type: Boolean },
|
|
4455
|
+
shouldShowConsumedTokens: { type: Boolean }
|
|
4456
|
+
},
|
|
4457
|
+
emits: ["toggleExpanded"],
|
|
4458
|
+
setup(__props, { emit: __emit }) {
|
|
4459
|
+
const props = __props;
|
|
4460
|
+
const emit = __emit;
|
|
4461
|
+
const locale = useI18n$1();
|
|
4462
|
+
const workflowsStore = useWorkflowsStore();
|
|
4463
|
+
const nodeTypeStore = useNodeTypesStore();
|
|
4464
|
+
const node = computed(() => workflowsStore.nodesByName[props.data.node]);
|
|
4465
|
+
const runData = computed(
|
|
4466
|
+
() => node.value ? workflowsStore.workflowExecutionData?.data?.resultData.runData[node.value.name]?.[props.data.runIndex] : void 0
|
|
4467
|
+
);
|
|
4468
|
+
const type = computed(() => node.value ? nodeTypeStore.getNodeType(node.value.type) : void 0);
|
|
4469
|
+
const depth = computed(() => (props.node.level ?? 1) - 1);
|
|
4470
|
+
const timeTookText = computed(() => {
|
|
4471
|
+
const finalStatuses = ["crashed", "error", "success"];
|
|
4472
|
+
const status = runData.value?.executionStatus;
|
|
4473
|
+
if (!status) {
|
|
4474
|
+
return "";
|
|
4475
|
+
}
|
|
4476
|
+
const statusText = upperFirst(status);
|
|
4477
|
+
return finalStatuses.includes(status) ? locale.baseText("logs.overview.body.summaryText", {
|
|
4478
|
+
interpolate: {
|
|
4479
|
+
status: statusText,
|
|
4480
|
+
time: locale.displayTimer(runData.value.executionTime, true)
|
|
4481
|
+
}
|
|
4482
|
+
}) : statusText;
|
|
4483
|
+
});
|
|
4484
|
+
const startedAtText = computed(
|
|
4485
|
+
() => locale.baseText("logs.overview.body.started", {
|
|
4486
|
+
interpolate: {
|
|
4487
|
+
time: new Date(runData.value?.startTime ?? 0).toISOString()
|
|
4488
|
+
// TODO: confirm date format
|
|
4489
|
+
}
|
|
4490
|
+
})
|
|
4491
|
+
);
|
|
4492
|
+
const subtreeConsumedTokens = computed(
|
|
4493
|
+
() => props.shouldShowConsumedTokens ? getSubtreeTotalConsumedTokens(props.data) : void 0
|
|
4494
|
+
);
|
|
4495
|
+
function isLastChild(level) {
|
|
4496
|
+
let parent = props.data.parent;
|
|
4497
|
+
let data = props.data;
|
|
4498
|
+
for (let i = 0; i < depth.value - level; i++) {
|
|
4499
|
+
data = parent;
|
|
4500
|
+
parent = parent?.parent;
|
|
4501
|
+
}
|
|
4502
|
+
const siblings = parent?.children ?? [];
|
|
4503
|
+
return data === siblings[siblings.length - 1];
|
|
4504
|
+
}
|
|
4505
|
+
return (_ctx, _cache) => {
|
|
4506
|
+
const _component_NodeIcon = _sfc_main$i;
|
|
4507
|
+
return node.value !== void 0 ? (openBlock(), createElementBlock("div", {
|
|
4508
|
+
key: 0,
|
|
4509
|
+
class: normalizeClass({ [_ctx.$style.container]: true, [_ctx.$style.selected]: props.isSelected })
|
|
4510
|
+
}, [
|
|
4511
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(depth.value, (level) => {
|
|
4512
|
+
return openBlock(), createElementBlock("div", {
|
|
4513
|
+
key: level,
|
|
4514
|
+
class: normalizeClass({
|
|
4515
|
+
[_ctx.$style.indent]: true,
|
|
4516
|
+
[_ctx.$style.connectorCurved]: level === depth.value,
|
|
4517
|
+
[_ctx.$style.connectorStraight]: !isLastChild(level)
|
|
4518
|
+
})
|
|
4519
|
+
}, null, 2);
|
|
4520
|
+
}), 128)),
|
|
4521
|
+
createVNode(_component_NodeIcon, {
|
|
4522
|
+
"node-type": type.value,
|
|
4523
|
+
size: 16,
|
|
4524
|
+
class: normalizeClass(_ctx.$style.icon)
|
|
4525
|
+
}, null, 8, ["node-type", "class"]),
|
|
4526
|
+
createVNode(unref(N8nText), {
|
|
4527
|
+
tag: "div",
|
|
4528
|
+
bold: true,
|
|
4529
|
+
size: "small",
|
|
4530
|
+
class: normalizeClass(_ctx.$style.name)
|
|
4531
|
+
}, {
|
|
4532
|
+
default: withCtx(() => [
|
|
4533
|
+
createTextVNode(toDisplayString(node.value.name), 1)
|
|
4534
|
+
]),
|
|
4535
|
+
_: 1
|
|
4536
|
+
}, 8, ["class"]),
|
|
4537
|
+
createVNode(unref(N8nText), {
|
|
4538
|
+
tag: "div",
|
|
4539
|
+
color: "text-light",
|
|
4540
|
+
size: "small",
|
|
4541
|
+
class: normalizeClass(_ctx.$style.timeTook)
|
|
4542
|
+
}, {
|
|
4543
|
+
default: withCtx(() => [
|
|
4544
|
+
createTextVNode(toDisplayString(timeTookText.value), 1)
|
|
4545
|
+
]),
|
|
4546
|
+
_: 1
|
|
4547
|
+
}, 8, ["class"]),
|
|
4548
|
+
createVNode(unref(N8nText), {
|
|
4549
|
+
tag: "div",
|
|
4550
|
+
color: "text-light",
|
|
4551
|
+
size: "small",
|
|
4552
|
+
class: normalizeClass(_ctx.$style.startedAt)
|
|
4553
|
+
}, {
|
|
4554
|
+
default: withCtx(() => [
|
|
4555
|
+
createTextVNode(toDisplayString(startedAtText.value), 1)
|
|
4556
|
+
]),
|
|
4557
|
+
_: 1
|
|
4558
|
+
}, 8, ["class"]),
|
|
4559
|
+
subtreeConsumedTokens.value !== void 0 ? (openBlock(), createBlock(unref(N8nText), {
|
|
4560
|
+
key: 0,
|
|
4561
|
+
tag: "div",
|
|
4562
|
+
color: "text-light",
|
|
4563
|
+
size: "small",
|
|
4564
|
+
class: normalizeClass(_ctx.$style.consumedTokens)
|
|
4565
|
+
}, {
|
|
4566
|
+
default: withCtx(() => [
|
|
4567
|
+
subtreeConsumedTokens.value.totalTokens > 0 && (props.data.children.length === 0 || !props.node.expanded) ? (openBlock(), createBlock(_sfc_main$4, {
|
|
4568
|
+
key: 0,
|
|
4569
|
+
"consumed-tokens": subtreeConsumedTokens.value
|
|
4570
|
+
}, null, 8, ["consumed-tokens"])) : createCommentVNode("", true)
|
|
4571
|
+
]),
|
|
4572
|
+
_: 1
|
|
4573
|
+
}, 8, ["class"])) : createCommentVNode("", true),
|
|
4574
|
+
createBaseVNode("div", null, [
|
|
4575
|
+
createVNode(unref(_sfc_main$g), {
|
|
4576
|
+
type: "secondary",
|
|
4577
|
+
size: "medium",
|
|
4578
|
+
icon: props.node.expanded ? "chevron-down" : "chevron-up",
|
|
4579
|
+
style: normalizeStyle({
|
|
4580
|
+
visibility: props.data.children.length === 0 ? "hidden" : "",
|
|
4581
|
+
color: "var(--color-text-base)"
|
|
4582
|
+
// give higher specificity than the style from the component itself
|
|
4583
|
+
}),
|
|
4584
|
+
class: normalizeClass(_ctx.$style.toggleButton),
|
|
4585
|
+
onClick: _cache[0] || (_cache[0] = withModifiers(($event) => emit("toggleExpanded", props.node), ["stop"]))
|
|
4586
|
+
}, null, 8, ["icon", "style", "class"])
|
|
4587
|
+
])
|
|
4588
|
+
], 2)) : createCommentVNode("", true);
|
|
4589
|
+
};
|
|
4590
|
+
}
|
|
4591
|
+
});
|
|
4592
|
+
const container$2 = "_container_16ks1_123";
|
|
4593
|
+
const toggleButton = "_toggleButton_16ks1_135";
|
|
4594
|
+
const icon = "_icon_16ks1_141";
|
|
4595
|
+
const selected = "_selected_16ks1_149";
|
|
4596
|
+
const indent = "_indent_16ks1_149";
|
|
4597
|
+
const connectorCurved = "_connectorCurved_16ks1_161";
|
|
4598
|
+
const connectorStraight = "_connectorStraight_16ks1_171";
|
|
4599
|
+
const name = "_name_16ks1_185";
|
|
4600
|
+
const timeTook = "_timeTook_16ks1_190";
|
|
4601
|
+
const startedAt = "_startedAt_16ks1_196";
|
|
4602
|
+
const consumedTokens = "_consumedTokens_16ks1_202";
|
|
4603
|
+
const style0$2 = {
|
|
4604
|
+
container: container$2,
|
|
4605
|
+
toggleButton,
|
|
4606
|
+
icon,
|
|
4607
|
+
selected,
|
|
4608
|
+
indent,
|
|
4609
|
+
connectorCurved,
|
|
4610
|
+
connectorStraight,
|
|
4611
|
+
name,
|
|
4612
|
+
timeTook,
|
|
4613
|
+
startedAt,
|
|
4614
|
+
consumedTokens
|
|
4615
|
+
};
|
|
4410
4616
|
const cssModules$2 = {
|
|
4411
4617
|
"$style": style0$2
|
|
4412
4618
|
};
|
|
@@ -4414,20 +4620,74 @@ const __unplugin_components_0 = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__cs
|
|
|
4414
4620
|
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
4415
4621
|
__name: "LogsOverviewPanel",
|
|
4416
4622
|
props: {
|
|
4417
|
-
isOpen: { type: Boolean }
|
|
4623
|
+
isOpen: { type: Boolean },
|
|
4624
|
+
node: {}
|
|
4418
4625
|
},
|
|
4419
4626
|
emits: ["clickHeader"],
|
|
4420
4627
|
setup(__props, { emit: __emit }) {
|
|
4421
4628
|
const emit = __emit;
|
|
4422
4629
|
const locale = useI18n$1();
|
|
4630
|
+
const telemetry = useTelemetry();
|
|
4423
4631
|
const workflowsStore = useWorkflowsStore();
|
|
4424
4632
|
const nodeHelpers = useNodeHelpers();
|
|
4425
4633
|
const isClearExecutionButtonVisible = useClearExecutionButtonVisible();
|
|
4634
|
+
const workflow = computed(() => workflowsStore.getCurrentWorkflow());
|
|
4635
|
+
const executionTree = computed(
|
|
4636
|
+
() => __props.node ? getTreeNodeData(
|
|
4637
|
+
__props.node.name,
|
|
4638
|
+
workflow.value,
|
|
4639
|
+
createAiData(__props.node.name, workflow.value, workflowsStore.getWorkflowResultDataByNodeName)
|
|
4640
|
+
) : []
|
|
4641
|
+
);
|
|
4642
|
+
const isEmpty2 = computed(() => workflowsStore.workflowExecutionData === null);
|
|
4643
|
+
const switchViewOptions = computed(() => [
|
|
4644
|
+
{ label: locale.baseText("logs.overview.header.switch.details"), value: "details" },
|
|
4645
|
+
{ label: locale.baseText("logs.overview.header.switch.overview"), value: "overview" }
|
|
4646
|
+
]);
|
|
4647
|
+
const executionStatusText = computed(() => {
|
|
4648
|
+
const execution = workflowsStore.workflowExecutionData;
|
|
4649
|
+
if (!execution) {
|
|
4650
|
+
return void 0;
|
|
4651
|
+
}
|
|
4652
|
+
if (execution.startedAt && execution.stoppedAt) {
|
|
4653
|
+
return locale.baseText("logs.overview.body.summaryText", {
|
|
4654
|
+
interpolate: {
|
|
4655
|
+
status: upperFirst(execution.status),
|
|
4656
|
+
time: locale.displayTimer(
|
|
4657
|
+
+new Date(execution.stoppedAt) - +new Date(execution.startedAt),
|
|
4658
|
+
true
|
|
4659
|
+
)
|
|
4660
|
+
}
|
|
4661
|
+
});
|
|
4662
|
+
}
|
|
4663
|
+
return upperFirst(execution.status);
|
|
4664
|
+
});
|
|
4665
|
+
const consumedTokens2 = computed(
|
|
4666
|
+
() => getTotalConsumedTokens(...executionTree.value.map(getSubtreeTotalConsumedTokens))
|
|
4667
|
+
);
|
|
4668
|
+
const selectedRun = ref(void 0);
|
|
4426
4669
|
function onClearExecutionData() {
|
|
4427
4670
|
workflowsStore.setWorkflowExecutionData(null);
|
|
4428
4671
|
nodeHelpers.updateNodesExecutionIssues();
|
|
4429
4672
|
}
|
|
4673
|
+
function handleClickNode(clicked) {
|
|
4674
|
+
if (selectedRun.value?.node === clicked.node && selectedRun.value.runIndex === clicked.runIndex) {
|
|
4675
|
+
selectedRun.value = void 0;
|
|
4676
|
+
return;
|
|
4677
|
+
}
|
|
4678
|
+
selectedRun.value = { node: clicked.node, runIndex: clicked.runIndex };
|
|
4679
|
+
telemetry.track("User selected node in log view", {
|
|
4680
|
+
node_type: workflowsStore.nodesByName[clicked.node].type,
|
|
4681
|
+
node_id: workflowsStore.nodesByName[clicked.node].id,
|
|
4682
|
+
execution_id: workflowsStore.workflowExecutionData?.id,
|
|
4683
|
+
workflow_id: workflow.value.id
|
|
4684
|
+
});
|
|
4685
|
+
}
|
|
4686
|
+
function handleToggleExpanded(treeNode) {
|
|
4687
|
+
treeNode.expanded = !treeNode.expanded;
|
|
4688
|
+
}
|
|
4430
4689
|
return (_ctx, _cache) => {
|
|
4690
|
+
const _component_LogsOverviewRow = __unplugin_components_0;
|
|
4431
4691
|
return openBlock(), createElementBlock("div", {
|
|
4432
4692
|
class: normalizeClass(_ctx.$style.container)
|
|
4433
4693
|
}, [
|
|
@@ -4462,9 +4722,10 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
4462
4722
|
}, 8, ["title"]),
|
|
4463
4723
|
_ctx.isOpen ? (openBlock(), createElementBlock("div", {
|
|
4464
4724
|
key: 0,
|
|
4465
|
-
class: normalizeClass([_ctx.$style.content, _ctx.$style.empty])
|
|
4725
|
+
class: normalizeClass([_ctx.$style.content, isEmpty2.value ? _ctx.$style.empty : ""])
|
|
4466
4726
|
}, [
|
|
4467
|
-
|
|
4727
|
+
isEmpty2.value ? (openBlock(), createBlock(unref(N8nText), {
|
|
4728
|
+
key: 0,
|
|
4468
4729
|
tag: "p",
|
|
4469
4730
|
size: "medium",
|
|
4470
4731
|
color: "text-base",
|
|
@@ -4474,21 +4735,75 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
4474
4735
|
createTextVNode(toDisplayString(unref(locale).baseText("logs.overview.body.empty.message")), 1)
|
|
4475
4736
|
]),
|
|
4476
4737
|
_: 1
|
|
4477
|
-
}, 8, ["class"])
|
|
4738
|
+
}, 8, ["class"])) : (openBlock(), createElementBlock("div", {
|
|
4739
|
+
key: 1,
|
|
4740
|
+
class: normalizeClass(_ctx.$style.scrollable)
|
|
4741
|
+
}, [
|
|
4742
|
+
executionStatusText.value !== void 0 ? (openBlock(), createBlock(unref(N8nText), {
|
|
4743
|
+
key: 0,
|
|
4744
|
+
tag: "div",
|
|
4745
|
+
color: "text-light",
|
|
4746
|
+
size: "small",
|
|
4747
|
+
class: normalizeClass(_ctx.$style.summary)
|
|
4748
|
+
}, {
|
|
4749
|
+
default: withCtx(() => [
|
|
4750
|
+
createBaseVNode("span", null, toDisplayString(executionStatusText.value), 1),
|
|
4751
|
+
consumedTokens2.value.totalTokens > 0 ? (openBlock(), createBlock(_sfc_main$4, {
|
|
4752
|
+
key: 0,
|
|
4753
|
+
"consumed-tokens": consumedTokens2.value
|
|
4754
|
+
}, null, 8, ["consumed-tokens"])) : createCommentVNode("", true)
|
|
4755
|
+
]),
|
|
4756
|
+
_: 1
|
|
4757
|
+
}, 8, ["class"])) : createCommentVNode("", true),
|
|
4758
|
+
executionTree.value.length > 0 ? (openBlock(), createBlock(unref(ElTree), {
|
|
4759
|
+
key: 1,
|
|
4760
|
+
class: normalizeClass(_ctx.$style.tree),
|
|
4761
|
+
indent: 0,
|
|
4762
|
+
data: executionTree.value,
|
|
4763
|
+
"expand-on-click-node": false,
|
|
4764
|
+
"default-expand-all": true,
|
|
4765
|
+
onNodeClick: handleClickNode
|
|
4766
|
+
}, {
|
|
4767
|
+
default: withCtx(({ node: elTreeNode, data }) => [
|
|
4768
|
+
createVNode(_component_LogsOverviewRow, {
|
|
4769
|
+
data,
|
|
4770
|
+
node: elTreeNode,
|
|
4771
|
+
"is-selected": data.node === selectedRun.value?.node && data.runIndex === selectedRun.value?.runIndex,
|
|
4772
|
+
"should-show-consumed-tokens": consumedTokens2.value.totalTokens > 0,
|
|
4773
|
+
onToggleExpanded: handleToggleExpanded
|
|
4774
|
+
}, null, 8, ["data", "node", "is-selected", "should-show-consumed-tokens"])
|
|
4775
|
+
]),
|
|
4776
|
+
_: 1
|
|
4777
|
+
}, 8, ["class", "data"])) : createCommentVNode("", true),
|
|
4778
|
+
createVNode(unref(N8nRadioButtons), {
|
|
4779
|
+
size: "medium",
|
|
4780
|
+
class: normalizeClass(_ctx.$style.switchViewButtons),
|
|
4781
|
+
"model-value": selectedRun.value ? "details" : "overview",
|
|
4782
|
+
options: switchViewOptions.value
|
|
4783
|
+
}, null, 8, ["class", "model-value", "options"])
|
|
4784
|
+
], 2))
|
|
4478
4785
|
], 2)) : createCommentVNode("", true)
|
|
4479
4786
|
], 2);
|
|
4480
4787
|
};
|
|
4481
4788
|
}
|
|
4482
4789
|
});
|
|
4483
|
-
const container$1 = "
|
|
4484
|
-
const content = "
|
|
4485
|
-
const empty = "
|
|
4486
|
-
const emptyText = "
|
|
4790
|
+
const container$1 = "_container_ok07h_123";
|
|
4791
|
+
const content = "_content_ok07h_132";
|
|
4792
|
+
const empty = "_empty_ok07h_141";
|
|
4793
|
+
const emptyText = "_emptyText_ok07h_146";
|
|
4794
|
+
const scrollable = "_scrollable_ok07h_151";
|
|
4795
|
+
const summary = "_summary_ok07h_158";
|
|
4796
|
+
const tree = "_tree_ok07h_170";
|
|
4797
|
+
const switchViewButtons = "_switchViewButtons_ok07h_177";
|
|
4487
4798
|
const style0$1 = {
|
|
4488
4799
|
container: container$1,
|
|
4489
4800
|
content,
|
|
4490
4801
|
empty,
|
|
4491
|
-
emptyText
|
|
4802
|
+
emptyText,
|
|
4803
|
+
scrollable,
|
|
4804
|
+
summary,
|
|
4805
|
+
tree,
|
|
4806
|
+
switchViewButtons
|
|
4492
4807
|
};
|
|
4493
4808
|
const cssModules$1 = {
|
|
4494
4809
|
"$style": style0$1
|
|
@@ -4512,10 +4827,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
4512
4827
|
const locales = useI18n$1();
|
|
4513
4828
|
const telemetry = useTelemetry();
|
|
4514
4829
|
const { rootStyles, height, chatWidth, onWindowResize, onResizeDebounced, onResizeChatDebounced } = useResize(container2);
|
|
4515
|
-
const { currentSessionId, messages: messages2, sendMessage, refreshSession, displayExecution } = useChatState(
|
|
4516
|
-
ref(false),
|
|
4517
|
-
onWindowResize
|
|
4518
|
-
);
|
|
4830
|
+
const { currentSessionId, messages: messages2, connectedNode, sendMessage, refreshSession, displayExecution } = useChatState(ref(false), onWindowResize);
|
|
4519
4831
|
const appStyles = useStyles();
|
|
4520
4832
|
const tooltipZIndex = computed(() => appStyles.APP_Z_INDEXES.ASK_ASSISTANT_FLOATING_BUTTON + 100);
|
|
4521
4833
|
const { canPopOut, isPoppedOut, pipWindow } = usePiPWindow({
|
|
@@ -4578,7 +4890,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
4578
4890
|
createBaseVNode("div", {
|
|
4579
4891
|
ref_key: "container",
|
|
4580
4892
|
ref: container2,
|
|
4581
|
-
class: normalizeClass(_ctx.$style.container)
|
|
4893
|
+
class: normalizeClass([_ctx.$style.container, "ignore-key-press-canvas"]),
|
|
4894
|
+
tabindex: "0"
|
|
4582
4895
|
}, [
|
|
4583
4896
|
hasChat.value ? (openBlock(), createBlock(unref(N8nResizeWrapper), {
|
|
4584
4897
|
key: 0,
|
|
@@ -4609,6 +4922,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
4609
4922
|
}, 8, ["is-resizing-enabled", "width", "class", "window", "onResize"])) : createCommentVNode("", true),
|
|
4610
4923
|
createVNode(LogsOverviewPanel, {
|
|
4611
4924
|
"is-open": panelState.value !== "closed",
|
|
4925
|
+
node: unref(connectedNode),
|
|
4612
4926
|
onClickHeader: handleClickHeader
|
|
4613
4927
|
}, {
|
|
4614
4928
|
actions: withCtx(() => [
|
|
@@ -4618,7 +4932,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
4618
4932
|
content: unref(locales).baseText("runData.panel.actions.popOut")
|
|
4619
4933
|
}, {
|
|
4620
4934
|
default: withCtx(() => [
|
|
4621
|
-
createVNode(unref(_sfc_main$
|
|
4935
|
+
createVNode(unref(_sfc_main$g), {
|
|
4622
4936
|
icon: "pop-out",
|
|
4623
4937
|
type: "secondary",
|
|
4624
4938
|
size: "small",
|
|
@@ -4636,7 +4950,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
4636
4950
|
)
|
|
4637
4951
|
}, {
|
|
4638
4952
|
default: withCtx(() => [
|
|
4639
|
-
createVNode(unref(_sfc_main$
|
|
4953
|
+
createVNode(unref(_sfc_main$g), {
|
|
4640
4954
|
type: "secondary",
|
|
4641
4955
|
size: "small",
|
|
4642
4956
|
"icon-size": "medium",
|
|
@@ -4649,7 +4963,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
4649
4963
|
}, 8, ["z-index", "content"])) : createCommentVNode("", true)
|
|
4650
4964
|
]),
|
|
4651
4965
|
_: 1
|
|
4652
|
-
}, 8, ["is-open"])
|
|
4966
|
+
}, 8, ["is-open", "node"])
|
|
4653
4967
|
], 2)
|
|
4654
4968
|
]),
|
|
4655
4969
|
_: 1
|
|
@@ -4659,11 +4973,11 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
4659
4973
|
};
|
|
4660
4974
|
}
|
|
4661
4975
|
});
|
|
4662
|
-
const resizeWrapper = "
|
|
4663
|
-
const pipContent = "
|
|
4664
|
-
const isOpen = "
|
|
4665
|
-
const container = "
|
|
4666
|
-
const chat = "
|
|
4976
|
+
const resizeWrapper = "_resizeWrapper_4rmz8_124";
|
|
4977
|
+
const pipContent = "_pipContent_4rmz8_129";
|
|
4978
|
+
const isOpen = "_isOpen_4rmz8_142";
|
|
4979
|
+
const container = "_container_4rmz8_149";
|
|
4980
|
+
const chat = "_chat_4rmz8_158";
|
|
4667
4981
|
const style0 = {
|
|
4668
4982
|
resizeWrapper,
|
|
4669
4983
|
pipContent,
|
|
@@ -4680,7 +4994,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
4680
4994
|
setup(__props) {
|
|
4681
4995
|
const { isNewLogsEnabled } = useSettingsStore();
|
|
4682
4996
|
return (_ctx, _cache) => {
|
|
4683
|
-
const _component_CanvasChat = __unplugin_components_0;
|
|
4997
|
+
const _component_CanvasChat = __unplugin_components_0$1;
|
|
4684
4998
|
return unref(isNewLogsEnabled) ? (openBlock(), createBlock(LogsPanel, { key: 0 })) : (openBlock(), createBlock(_component_CanvasChat, { key: 1 }));
|
|
4685
4999
|
};
|
|
4686
5000
|
}
|