n8n-editor-ui 1.86.0 → 1.87.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-ChSRgyeI.css +39 -0
- package/dist/assets/AnimatedSpinner-urWn52iY.js +18 -0
- package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DofUIs9S.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DIbgkfAC.js} +1 -1
- package/dist/assets/{AuthView-CyY2quTd.js → AuthView-DIQI5asI.js} +2 -2
- package/dist/assets/{CanvasChatSwitch-CRtE2Fld.css → CanvasChatSwitch-0IWSu8RE.css} +249 -45
- package/dist/assets/{CanvasChatSwitch-BTInPgKl.js → CanvasChatSwitch-BIpZuY-n.js} +437 -268
- package/dist/assets/{ChangePasswordView-Db-MkXhZ.js → ChangePasswordView-D8Qv0tim.js} +3 -3
- package/dist/assets/CollectionParameter-DT1MnS63.js +4 -0
- package/dist/assets/{CredentialsView-CLr_6U2B.js → CredentialsView-tJ8-2RrO.js} +8 -8
- package/dist/assets/{ErrorView-CUS5vnCW.js → ErrorView-CZEZD7LB.js} +1 -1
- package/dist/assets/{ExecutionsTime-BOPJEomw.css → ExecutionsTime-DZHUIJjP.css} +6 -6
- package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-D15zjPBZ.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-gcknFyjA.js} +23 -20
- package/dist/assets/{ExecutionsView-1df-oH5P.js → ExecutionsView-BCfIz8EF.js} +48 -56
- package/dist/assets/{ExecutionsView-BnBpSqVn.css → ExecutionsView-ByQf9yli.css} +13 -47
- package/dist/assets/{FileSaver.min-DLKMtSuf.js → FileSaver.min-Bs2qHlKb.js} +1 -1
- package/dist/assets/{FixedCollectionParameter-CcqTLBeP.js → FixedCollectionParameter-E0LDqNW3.js} +1 -1
- package/dist/assets/{ForgotMyPasswordView-BHRWkO2H.js → ForgotMyPasswordView-YOnrzvKJ.js} +3 -3
- package/dist/assets/InsightsChartAverageRuntime-DWrrriYN.js +61 -0
- package/dist/assets/InsightsChartFailed-DRi6JC3m.js +57 -0
- package/dist/assets/InsightsChartFailureRate-BdFNsMpg.js +57 -0
- package/dist/assets/InsightsChartTimeSaved-C12GZzSQ.js +71 -0
- package/dist/assets/InsightsChartTotal-Cn386HO4.js +59 -0
- package/dist/assets/InsightsDashboard-BawwZ0Oo.js +154 -0
- package/dist/assets/InsightsDashboard-CB4vHnBh.css +152 -0
- package/dist/assets/InsightsPaywall-OeXh6LeZ.css +133 -0
- package/dist/assets/InsightsPaywall-g3JcqAYL.js +58 -0
- package/dist/assets/{InsightsSummary-DcRuPjLJ.css → InsightsSummary-W08OzElS.css} +57 -35
- package/dist/assets/InsightsSummary-vMmKUcie.js +185 -0
- package/dist/assets/InsightsTableWorkflows-DQQ1vvMz.js +129 -0
- package/dist/assets/InsightsTableWorkflows-Us3j4UTO.css +128 -0
- package/dist/assets/{Logo-DbXTFYA8.js → Logo-Vm92axlM.js} +1 -1
- package/dist/assets/{MainHeader-BfQR9Td3.js → MainHeader-BUhpvu2K.js} +9 -10
- package/dist/assets/{MainSidebar-CDUegYGN.js → MainSidebar-D5P5FSUQ.js} +11 -2
- package/dist/assets/{NodeCreation-BBXRRxZa.js → NodeCreation-BgW5u-Bc.js} +4 -4
- package/dist/assets/{NodeCreator-BiyvtIjb.js → NodeCreator-CFe2n6vJ.js} +3 -3
- package/dist/assets/{NodeDetailsView-BcVu3kf0.css → NodeDetailsView-BT-ro74o.css} +63 -70
- package/dist/assets/{NodeDetailsView-Ph7FVpa8.js → NodeDetailsView-CmtK-rDD.js} +138 -478
- package/dist/assets/{NodeView-BEJ48TF4.js → NodeView-BqaNPfpx.js} +19 -21
- package/dist/assets/{ProjectCardBadge-B7cCM6Eo.js → ProjectCardBadge-BKgtzWr1.js} +1 -1
- package/dist/assets/{ProjectHeader-BjPaep-H.js → ProjectHeader-BWVSdavS.js} +1 -1
- package/dist/assets/{ProjectSettings-C1By1g0Z.js → ProjectSettings-BL-2-uOg.js} +2 -2
- package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-UHiXbqwy.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-BL-bMMgn.js} +1 -2
- package/dist/assets/{ResourcesListLayout-CiiXWGd5.js → ResourcesListLayout-CozpmfUY.js} +1 -1
- package/dist/assets/{RunDataAi-CQE0VYut.js → RunDataAi-B_EadpzG.js} +88 -37
- package/dist/assets/{RunDataAi-CN9FrT9c.css → RunDataAi-CUUDqZRP.css} +128 -0
- package/dist/assets/{RunDataJson-BY9cOxFp.js → RunDataJson-CyNNCtyd.js} +11 -12
- package/dist/assets/{RunDataJsonActions-CuFjccfe.js → RunDataJsonActions-SQqaiBEP.js} +1 -2
- package/dist/assets/{RunDataSearch-afEc-21Y.js → RunDataSearch-BF9kshKq.js} +1 -1
- package/dist/assets/{RunDataTable-N6yWFXKt.js → RunDataTable-DsW7wuc2.js} +10 -8
- package/dist/assets/{SamlOnboarding-HDQzVmha.js → SamlOnboarding-BX7RiRJB.js} +3 -3
- package/dist/assets/{SettingsApiView-DQMZT3uc.js → SettingsApiView-CDIPYvaG.js} +1 -1
- package/dist/assets/{SettingsCommunityNodesView-BlQT_0E8.js → SettingsCommunityNodesView-BRSEkT73.js} +4 -5
- package/dist/assets/{SettingsExternalSecrets-BL_3qoNS.js → SettingsExternalSecrets-D7ASuAnS.js} +1 -1
- package/dist/assets/{SettingsLdapView-BMsfXg-A.js → SettingsLdapView-DA5fZZ51.js} +1 -1
- package/dist/assets/{SettingsLogStreamingView-Bm5vaSO2.js → SettingsLogStreamingView-C9qkYvCr.js} +1 -1
- package/dist/assets/{SettingsPersonalView-Djl1VXnE.js → SettingsPersonalView-BnNOJcvO.js} +1 -1
- package/dist/assets/{SettingsSourceControl-A-9nD8hG.js → SettingsSourceControl--ozL4427.js} +1 -1
- package/dist/assets/{SettingsSso-DZCscZY6.js → SettingsSso-Bfe_HRSr.js} +1 -1
- package/dist/assets/{SettingsUsageAndPlan-Rd5AGlNl.js → SettingsUsageAndPlan-CzvMNudh.js} +1 -1
- package/dist/assets/{SettingsUsersView-NEahsGVs.js → SettingsUsersView-DGu5ku48.js} +1 -1
- package/dist/assets/{SettingsView-CeXAUGXE.js → SettingsView-CvreVxXL.js} +1 -1
- package/dist/assets/{SetupView-BI7oJfg0.js → SetupView-BJT6GtIA.js} +3 -3
- package/dist/assets/{SetupWorkflowCredentialsButton-DMZX1S1F.js → SetupWorkflowCredentialsButton-BEq2gs_-.js} +2 -4
- package/dist/assets/{SetupWorkflowFromTemplateView-DZsPVdhN.js → SetupWorkflowFromTemplateView-F9oCDWX8.js} +3 -12
- package/dist/assets/{SigninView-CzVnEKyz.js → SigninView-DyoDtCBc.js} +3 -3
- package/dist/assets/{SignoutView-C4ynr4AN.js → SignoutView-DclBslYe.js} +1 -1
- package/dist/assets/{SignupView-9nwGonm9.js → SignupView-BhB0Hhj0.js} +3 -3
- package/dist/assets/{TemplateDetails-DT1tI4AF.js → TemplateDetails-B3utdyMi.js} +1 -1
- package/dist/assets/{TemplateList-DGPm_Qol.js → TemplateList-Bgz1iiiH.js} +1 -1
- package/dist/assets/{TemplatesCollectionView-DwXY5s5G.js → TemplatesCollectionView-CORzb8YZ.js} +7 -9
- package/dist/assets/{TemplatesSearchView-D0R7uF40.js → TemplatesSearchView-DTuv4-5C.js} +3 -3
- package/dist/assets/{TemplatesView-BZ-ntkfi.js → TemplatesView-CFV5SVF7.js} +1 -1
- package/dist/assets/{TemplatesWorkflowView-TwVAHvD7.js → TemplatesWorkflowView-CQVVdNty.js} +5 -7
- package/dist/assets/{TestDefinitionEditView-C3nnWQ4Q.css → TestDefinitionEditView-Cwkrz308.css} +12 -18
- package/dist/assets/{TestDefinitionEditView-o2Gc4BjN.js → TestDefinitionEditView-DX6GIeq2.js} +163 -199
- package/dist/assets/{TestDefinitionListView-BuUWjPAl.js → TestDefinitionListView-CLEkthYQ.js} +1 -1
- package/dist/assets/{TestDefinitionNewView-DmSFNxfn.js → TestDefinitionNewView-DWTTqvlN.js} +2 -2
- package/dist/assets/{TestDefinitionRootView-1dNmGZUI.js → TestDefinitionRootView-D0yLW0V6.js} +1 -1
- package/dist/assets/{VariablesView-D46tH9pw.js → VariablesView-Dsr4pqth.js} +3 -3
- package/dist/assets/{WorkerView-G0K849qT.js → WorkerView-Bbu5wv-g.js} +6 -7
- package/dist/assets/{WorkflowActivator-DfalOPsa.js → WorkflowActivator-C197X_D6.js} +2 -2
- package/dist/assets/{WorkflowExecutionsInfoAccordion-BcD7ZskD.js → WorkflowExecutionsInfoAccordion-CHPlRtMQ.js} +1 -1
- package/dist/assets/{WorkflowExecutionsLandingPage-BhPbJi5K.js → WorkflowExecutionsLandingPage-CnvMc3SA.js} +2 -2
- package/dist/assets/{WorkflowExecutionsPreview-CowaFwPg.js → WorkflowExecutionsPreview-CJBM3Awe.js} +24 -256
- package/dist/assets/{WorkflowExecutionsPreview-CHu6M3Dh.css → WorkflowExecutionsPreview-D7jTJ8GL.css} +16 -48
- package/dist/assets/{WorkflowExecutionsView-BAojAjIM.js → WorkflowExecutionsView-BwB6WS6M.js} +11 -17
- package/dist/assets/{WorkflowHistory-Bj5_YFN8.js → WorkflowHistory-U5a4aYts.js} +4 -4
- package/dist/assets/{WorkflowOnboardingView-D9peqUJs.js → WorkflowOnboardingView-DHUUTLOo.js} +1 -1
- package/dist/assets/{WorkflowPreview-gflk06YT.js → WorkflowPreview-D8pwehRe.js} +1 -1
- package/dist/assets/{WorkflowsView-CmgKYCQ6.js → WorkflowsView-DIh7kqZk.js} +10 -10
- package/dist/assets/chartjs.utils-DTEY3u-V.js +193 -0
- package/dist/assets/dateFormatter-C7xnNKzY.js +21 -0
- package/dist/assets/{easyAiWorkflowUtils-CLssJdgl.js → easyAiWorkflowUtils-V__OjFo9.js} +1 -1
- package/dist/assets/{global-link-actions-BphqczCY.js → global-link-actions-vGpWr9Uz.js} +1 -1
- package/dist/assets/{import-curl-C9KhAemD.js → import-curl-C6ERUxFe.js} +1 -1
- package/dist/assets/{index-C0DaAYgf.js → index-BrjPYODL.js} +3 -1
- package/dist/assets/{index-CkOV8f0Z.js → index-DD7Wuhk5.js} +9472 -3624
- package/dist/assets/{index-BaqhUIB7.css → index-DJ205bL0.css} +369 -44
- package/dist/assets/{pickBy-DUugkW7s.js → pickBy-BILEJ4hg.js} +1 -1
- package/dist/assets/{templateActions-Czp13jCM.js → templateActions-M3qRQiV6.js} +2 -7
- package/dist/assets/{useBeforeUnload-BBbiw-FV.js → useBeforeUnload-DTsj_abb.js} +1 -1
- package/dist/assets/{useCanvasMapping-Cla--atl.js → useCanvasMapping-DJvMRP2s.js} +6 -6
- package/dist/assets/{useCanvasOperations-FyzGfva5.js → useCanvasOperations-DCaSrD1N.js} +27 -256
- package/dist/assets/{useClearExecutionButtonVisible-fESJZE5R.js → useClearExecutionButtonVisible-CVPKhr9F.js} +2 -2
- package/dist/assets/{useExecutionDebugging-D4s4CdaL.js → useExecutionDebugging-yY2o_eNc.js} +1 -1
- package/dist/assets/{useExecutionHelpers-Bm91b8wb.js → useExecutionHelpers-BVY9xXbG.js} +2 -19
- package/dist/assets/{useImportCurlCommand-BPNuR5ZX.js → useImportCurlCommand-Chewi-_x.js} +2 -2
- package/dist/assets/{usePushConnection-BbQhNUm8.js → usePushConnection-9zsAnuvC.js} +3 -4
- package/dist/assets/{useTestDefinitionForm-ZJngcsSH.js → useTestDefinitionForm-CCVy0jKP.js} +1 -1
- package/dist/assets/{useWorkflowActivate-CkCvd-g6.js → useWorkflowActivate-DeEvbrsK.js} +1 -1
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/dist/assets/CollectionParameter-BD3jmKi_.js +0 -4
- package/dist/assets/InsightsSummary-CyilLKXz.js +0 -152
- package/dist/assets/pushConnection.store-Cb2TGyrZ.js +0 -238
- package/dist/assets/useRunWorkflow-DnbQqqcB.js +0 -527
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { H as HighlightJS, R as RunDataAi, f as formatTokenUsageCount, _ as _sfc_main$
|
|
3
|
-
import { u as
|
|
4
|
-
import {
|
|
5
|
-
import { u as
|
|
6
|
-
import "./useExecutionHelpers-
|
|
7
|
-
import "./pushConnection.store-Cb2TGyrZ.js";
|
|
1
|
+
import { aZ as inject, a_ 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, b0 as normalizeProps, b1 as guardReactiveProps, b2 as resolveDynamicComponent, b3 as mergeProps, b4 as VueMarkdown, F as Fragment, D as renderList, b5 as markdownLink, b6 as useFileDialog, b7 as onUnmounted, B as normalizeStyle, aC as withDirectives, b8 as vModelText, H as withKeys, w as withCtx, I as watch, h as resolveComponent, l as createTextVNode, b9 as N8nText, ba as useClipboard, a as useToast, c as useI18n$1, aS as N8nTooltip, bb as N8nButton, aU as _sfc_main$i, aW as createSlots, aL as useStorage, bc as watchEffect, y as onBeforeUnmount, K as useDebounce, bd as provide, be as useProvideTooltipAppendTo, bf as IsInPiPWindowSymbol, bg as isEmpty, bh as get, bi as usePinnedData, ak as useMessage, al 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 NodeConnectionTypes, bv as CHAT_TRIGGER_NODE_TYPE$1, U as useWorkflowsStore, bw as useNodeTypesStore, a2 as useCanvasStore, b as useRouter, bx as useNodeHelpers, by as useRunWorkflow, V as VIEWS, bz as LOGS_PANEL_STATE, bA as useTemplateRef, bB as N8nResizeWrapper, ai as useTelemetry, bC as _sfc_main$k, bD as I18nT, bE as N8nIcon, au as useNDVStore, bF as ElTree, bG as N8nRadioButtons, z as nextTick, bH as useStyles, p as useSettingsStore } from "./index-DD7Wuhk5.js";
|
|
2
|
+
import { H as HighlightJS, R as RunDataAi, f as formatTokenUsageCount, _ as _sfc_main$j, g as getSubtreeTotalConsumedTokens, a as getTreeNodeData, c as createAiData, b as getTotalConsumedTokens } from "./RunDataAi-B_EadpzG.js";
|
|
3
|
+
import { u as useClearExecutionButtonVisible } from "./useClearExecutionButtonVisible-CVPKhr9F.js";
|
|
4
|
+
import { t as toTime, a as toDayMonth } from "./dateFormatter-C7xnNKzY.js";
|
|
5
|
+
import { u as upperFirst } from "./useCanvasOperations-DCaSrD1N.js";
|
|
6
|
+
import "./useExecutionHelpers-BVY9xXbG.js";
|
|
8
7
|
function bash(hljs) {
|
|
9
8
|
const regex = hljs.regex;
|
|
10
9
|
const VAR = {};
|
|
@@ -2605,7 +2604,7 @@ function render$2(_ctx, _cache) {
|
|
|
2605
2604
|
}
|
|
2606
2605
|
const IconPreview = { name: "mdi-openInNew", render: render$2 };
|
|
2607
2606
|
const _hoisted_1$7 = { class: "chat-file-name" };
|
|
2608
|
-
const _sfc_main$
|
|
2607
|
+
const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
2609
2608
|
__name: "ChatFile",
|
|
2610
2609
|
props: {
|
|
2611
2610
|
file: {},
|
|
@@ -2655,7 +2654,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
2655
2654
|
};
|
|
2656
2655
|
}
|
|
2657
2656
|
});
|
|
2658
|
-
const ChatFile = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
2657
|
+
const ChatFile = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-70b9370d"]]);
|
|
2659
2658
|
const _hoisted_1$6 = {
|
|
2660
2659
|
key: 0,
|
|
2661
2660
|
class: "chat-message-actions"
|
|
@@ -2664,7 +2663,7 @@ const _hoisted_2$3 = {
|
|
|
2664
2663
|
key: 2,
|
|
2665
2664
|
class: "chat-message-files"
|
|
2666
2665
|
};
|
|
2667
|
-
const _sfc_main$
|
|
2666
|
+
const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
2668
2667
|
__name: "Message",
|
|
2669
2668
|
props: {
|
|
2670
2669
|
message: {}
|
|
@@ -2730,8 +2729,8 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
2730
2729
|
try {
|
|
2731
2730
|
const dataURL = await readFileAsDataURL(file);
|
|
2732
2731
|
fileSources.value[file.name] = dataURL;
|
|
2733
|
-
} catch (
|
|
2734
|
-
console.error("Error reading file:",
|
|
2732
|
+
} catch (error2) {
|
|
2733
|
+
console.error("Error reading file:", error2);
|
|
2735
2734
|
}
|
|
2736
2735
|
}
|
|
2737
2736
|
}
|
|
@@ -2846,7 +2845,7 @@ const _hoisted_7 = {
|
|
|
2846
2845
|
key: 0,
|
|
2847
2846
|
class: "chat-files"
|
|
2848
2847
|
};
|
|
2849
|
-
const _sfc_main$
|
|
2848
|
+
const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
2850
2849
|
__name: "Input",
|
|
2851
2850
|
props: {
|
|
2852
2851
|
placeholder: { default: "inputPlaceholder" }
|
|
@@ -3051,8 +3050,8 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
3051
3050
|
};
|
|
3052
3051
|
}
|
|
3053
3052
|
});
|
|
3054
|
-
const ChatInput = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
3055
|
-
const _sfc_main$
|
|
3053
|
+
const ChatInput = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-9f775274"]]);
|
|
3054
|
+
const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
3056
3055
|
__name: "MessageTyping",
|
|
3057
3056
|
props: {
|
|
3058
3057
|
animation: { default: "bouncing" }
|
|
@@ -3077,7 +3076,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
3077
3076
|
messageContainer.value?.scrollToView();
|
|
3078
3077
|
});
|
|
3079
3078
|
return (_ctx, _cache) => {
|
|
3080
|
-
return openBlock(), createBlock(unref(_sfc_main$
|
|
3079
|
+
return openBlock(), createBlock(unref(_sfc_main$g), {
|
|
3081
3080
|
ref_key: "messageContainer",
|
|
3082
3081
|
ref: messageContainer,
|
|
3083
3082
|
class: normalizeClass(classes.value),
|
|
@@ -3100,12 +3099,15 @@ const _hoisted_1$2 = {
|
|
|
3100
3099
|
key: 0,
|
|
3101
3100
|
class: "empty-container"
|
|
3102
3101
|
};
|
|
3103
|
-
const _hoisted_2$1 = {
|
|
3102
|
+
const _hoisted_2$1 = {
|
|
3103
|
+
class: "empty",
|
|
3104
|
+
"data-test-id": "chat-messages-empty"
|
|
3105
|
+
};
|
|
3104
3106
|
const _hoisted_3 = {
|
|
3105
3107
|
key: 1,
|
|
3106
3108
|
class: "chat-messages-list"
|
|
3107
3109
|
};
|
|
3108
|
-
const _sfc_main$
|
|
3110
|
+
const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
3109
3111
|
__name: "MessagesList",
|
|
3110
3112
|
props: {
|
|
3111
3113
|
messages: {},
|
|
@@ -3147,13 +3149,13 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
3147
3149
|
])
|
|
3148
3150
|
])) : (openBlock(), createElementBlock("div", _hoisted_3, [
|
|
3149
3151
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(initialMessages), (initialMessage) => {
|
|
3150
|
-
return openBlock(), createBlock(_sfc_main$
|
|
3152
|
+
return openBlock(), createBlock(_sfc_main$g, {
|
|
3151
3153
|
key: initialMessage.id,
|
|
3152
3154
|
message: initialMessage
|
|
3153
3155
|
}, null, 8, ["message"]);
|
|
3154
3156
|
}), 128)),
|
|
3155
3157
|
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.messages, (message) => {
|
|
3156
|
-
return openBlock(), createBlock(_sfc_main$
|
|
3158
|
+
return openBlock(), createBlock(_sfc_main$g, {
|
|
3157
3159
|
key: message.id,
|
|
3158
3160
|
ref_for: true,
|
|
3159
3161
|
ref_key: "messageComponents",
|
|
@@ -3166,12 +3168,12 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
3166
3168
|
_: 2
|
|
3167
3169
|
}, 1032, ["message"]);
|
|
3168
3170
|
}), 128)),
|
|
3169
|
-
unref(waitingForResponse) ? (openBlock(), createBlock(_sfc_main$
|
|
3171
|
+
unref(waitingForResponse) ? (openBlock(), createBlock(_sfc_main$e, { key: 0 })) : createCommentVNode("", true)
|
|
3170
3172
|
]));
|
|
3171
3173
|
};
|
|
3172
3174
|
}
|
|
3173
3175
|
});
|
|
3174
|
-
const _sfc_main$
|
|
3176
|
+
const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
3175
3177
|
__name: "MessageOptionTooltip",
|
|
3176
3178
|
props: {
|
|
3177
3179
|
placement: {
|
|
@@ -3206,17 +3208,17 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
3206
3208
|
};
|
|
3207
3209
|
}
|
|
3208
3210
|
});
|
|
3209
|
-
const container$
|
|
3211
|
+
const container$7 = "_container_pqtqf_123";
|
|
3210
3212
|
const icon$2 = "_icon_pqtqf_129";
|
|
3211
|
-
const style0$
|
|
3212
|
-
container: container$
|
|
3213
|
+
const style0$9 = {
|
|
3214
|
+
container: container$7,
|
|
3213
3215
|
icon: icon$2
|
|
3214
3216
|
};
|
|
3215
|
-
const cssModules$
|
|
3216
|
-
"$style": style0$
|
|
3217
|
+
const cssModules$9 = {
|
|
3218
|
+
"$style": style0$9
|
|
3217
3219
|
};
|
|
3218
|
-
const MessageOptionTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
3219
|
-
const _sfc_main$
|
|
3220
|
+
const MessageOptionTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__cssModules", cssModules$9]]);
|
|
3221
|
+
const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
3220
3222
|
__name: "MessageOptionAction",
|
|
3221
3223
|
props: {
|
|
3222
3224
|
label: {
|
|
@@ -3257,17 +3259,17 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
3257
3259
|
};
|
|
3258
3260
|
}
|
|
3259
3261
|
});
|
|
3260
|
-
const container$
|
|
3262
|
+
const container$6 = "_container_u1r1u_123";
|
|
3261
3263
|
const icon$1 = "_icon_u1r1u_129";
|
|
3262
|
-
const style0$
|
|
3263
|
-
container: container$
|
|
3264
|
+
const style0$8 = {
|
|
3265
|
+
container: container$6,
|
|
3264
3266
|
icon: icon$1
|
|
3265
3267
|
};
|
|
3266
|
-
const cssModules$
|
|
3267
|
-
"$style": style0$
|
|
3268
|
+
const cssModules$8 = {
|
|
3269
|
+
"$style": style0$8
|
|
3268
3270
|
};
|
|
3269
|
-
const MessageOptionAction = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
3270
|
-
const _sfc_main$
|
|
3271
|
+
const MessageOptionAction = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__cssModules", cssModules$8]]);
|
|
3272
|
+
const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
3271
3273
|
__name: "PanelHeader",
|
|
3272
3274
|
props: {
|
|
3273
3275
|
title: {}
|
|
@@ -3299,20 +3301,20 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
3299
3301
|
};
|
|
3300
3302
|
}
|
|
3301
3303
|
});
|
|
3302
|
-
const container$
|
|
3304
|
+
const container$5 = "_container_u9nuz_123";
|
|
3303
3305
|
const title = "_title_u9nuz_144";
|
|
3304
3306
|
const actions$1 = "_actions_u9nuz_149";
|
|
3305
|
-
const style0$
|
|
3306
|
-
container: container$
|
|
3307
|
+
const style0$7 = {
|
|
3308
|
+
container: container$5,
|
|
3307
3309
|
title,
|
|
3308
3310
|
actions: actions$1
|
|
3309
3311
|
};
|
|
3310
|
-
const cssModules$
|
|
3311
|
-
"$style": style0$
|
|
3312
|
+
const cssModules$7 = {
|
|
3313
|
+
"$style": style0$7
|
|
3312
3314
|
};
|
|
3313
|
-
const PanelHeader = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
3315
|
+
const PanelHeader = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__cssModules", cssModules$7]]);
|
|
3314
3316
|
const _hoisted_1$1 = ["onClick"];
|
|
3315
|
-
const _sfc_main$
|
|
3317
|
+
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
3316
3318
|
__name: "ChatMessagesPanel",
|
|
3317
3319
|
props: {
|
|
3318
3320
|
pastChatMessages: {},
|
|
@@ -3399,6 +3401,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
3399
3401
|
}, [
|
|
3400
3402
|
_ctx.isNewLogsEnabled ? (openBlock(), createBlock(PanelHeader, {
|
|
3401
3403
|
key: 0,
|
|
3404
|
+
"data-test-id": "chat-header",
|
|
3402
3405
|
title: unref(locale).baseText("chat.window.title"),
|
|
3403
3406
|
onClick: _cache[0] || (_cache[0] = ($event) => emit("clickHeader"))
|
|
3404
3407
|
}, {
|
|
@@ -3429,7 +3432,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
3429
3432
|
content: unref(locale).baseText("chat.window.session.resetSession")
|
|
3430
3433
|
}, {
|
|
3431
3434
|
default: withCtx(() => [
|
|
3432
|
-
createVNode(unref(_sfc_main$
|
|
3435
|
+
createVNode(unref(_sfc_main$i), {
|
|
3433
3436
|
class: normalizeClass(_ctx.$style.headerButton),
|
|
3434
3437
|
"data-test-id": "refresh-session-button",
|
|
3435
3438
|
outline: "",
|
|
@@ -3469,7 +3472,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
3469
3472
|
]),
|
|
3470
3473
|
_: 1
|
|
3471
3474
|
}),
|
|
3472
|
-
createVNode(unref(_sfc_main$
|
|
3475
|
+
createVNode(unref(_sfc_main$i), {
|
|
3473
3476
|
class: normalizeClass(_ctx.$style.headerButton),
|
|
3474
3477
|
"data-test-id": "refresh-session-button",
|
|
3475
3478
|
outline: "",
|
|
@@ -3479,7 +3482,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
3479
3482
|
title: unref(locale).baseText("chat.window.session.reset"),
|
|
3480
3483
|
onClick: onRefreshSession
|
|
3481
3484
|
}, null, 8, ["class", "title"]),
|
|
3482
|
-
_ctx.showCloseButton ? (openBlock(), createBlock(unref(_sfc_main$
|
|
3485
|
+
_ctx.showCloseButton ? (openBlock(), createBlock(unref(_sfc_main$i), {
|
|
3483
3486
|
key: 0,
|
|
3484
3487
|
class: normalizeClass(_ctx.$style.headerButton),
|
|
3485
3488
|
outline: "",
|
|
@@ -3494,7 +3497,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
3494
3497
|
key: 2,
|
|
3495
3498
|
class: normalizeClass(_ctx.$style.chatBody)
|
|
3496
3499
|
}, [
|
|
3497
|
-
createVNode(_sfc_main$
|
|
3500
|
+
createVNode(_sfc_main$d, {
|
|
3498
3501
|
messages: _ctx.messages,
|
|
3499
3502
|
class: normalizeClass(_ctx.$style.messages),
|
|
3500
3503
|
"empty-text": _ctx.isNewLogsEnabled ? unref(locale).baseText("chat.window.chat.emptyChatMessage.v2") : void 0
|
|
@@ -3585,7 +3588,7 @@ const headerButton = "_headerButton_14fd2_183";
|
|
|
3585
3588
|
const chatBody = "_chatBody_14fd2_188";
|
|
3586
3589
|
const messages = "_messages_14fd2_197";
|
|
3587
3590
|
const messagesInput = "_messagesInput_14fd2_208";
|
|
3588
|
-
const style0$
|
|
3591
|
+
const style0$6 = {
|
|
3589
3592
|
chat: chat$2,
|
|
3590
3593
|
chatHeader,
|
|
3591
3594
|
chatTitle,
|
|
@@ -3597,13 +3600,13 @@ const style0$5 = {
|
|
|
3597
3600
|
messages,
|
|
3598
3601
|
messagesInput
|
|
3599
3602
|
};
|
|
3600
|
-
const cssModules$
|
|
3601
|
-
"$style": style0$
|
|
3603
|
+
const cssModules$6 = {
|
|
3604
|
+
"$style": style0$6
|
|
3602
3605
|
};
|
|
3603
|
-
const ChatMessagesPanel = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
3606
|
+
const ChatMessagesPanel = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__cssModules", cssModules$6]]);
|
|
3604
3607
|
const _hoisted_1 = { class: "meta" };
|
|
3605
3608
|
const _hoisted_2 = { key: 0 };
|
|
3606
|
-
const _sfc_main$
|
|
3609
|
+
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
3607
3610
|
__name: "ChatLogsPanel",
|
|
3608
3611
|
props: {
|
|
3609
3612
|
node: {},
|
|
@@ -3650,17 +3653,17 @@ const logsWrapper = "_logsWrapper_1n9n2_140";
|
|
|
3650
3653
|
const logsTitle = "_logsTitle_1n9n2_149";
|
|
3651
3654
|
const logs$1 = "_logs_1n9n2_123";
|
|
3652
3655
|
const actions = "_actions_1n9n2_159";
|
|
3653
|
-
const style0$
|
|
3656
|
+
const style0$5 = {
|
|
3654
3657
|
logsHeader,
|
|
3655
3658
|
logsWrapper,
|
|
3656
3659
|
logsTitle,
|
|
3657
3660
|
logs: logs$1,
|
|
3658
3661
|
actions
|
|
3659
3662
|
};
|
|
3660
|
-
const cssModules$
|
|
3661
|
-
"$style": style0$
|
|
3663
|
+
const cssModules$5 = {
|
|
3664
|
+
"$style": style0$5
|
|
3662
3665
|
};
|
|
3663
|
-
const ChatLogsPanel = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
3666
|
+
const ChatLogsPanel = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__cssModules", cssModules$5]]);
|
|
3664
3667
|
const LOCAL_STORAGE_PANEL_HEIGHT = "N8N_CANVAS_CHAT_HEIGHT";
|
|
3665
3668
|
const LOCAL_STORAGE_PANEL_WIDTH = "N8N_CANVAS_CHAT_WIDTH";
|
|
3666
3669
|
const MAX_WIDTH_PERCENTAGE = 0.8;
|
|
@@ -3816,12 +3819,9 @@ function usePiPWindow({
|
|
|
3816
3819
|
}
|
|
3817
3820
|
function useChatMessaging({
|
|
3818
3821
|
chatTrigger,
|
|
3819
|
-
connectedNode,
|
|
3820
3822
|
messages: messages2,
|
|
3821
3823
|
sessionId: sessionId2,
|
|
3822
|
-
workflow,
|
|
3823
3824
|
executionResultData,
|
|
3824
|
-
getWorkflowResultDataByNodeName,
|
|
3825
3825
|
onRunChatWorkflow
|
|
3826
3826
|
}) {
|
|
3827
3827
|
const locale = useI18n$1();
|
|
@@ -3982,31 +3982,11 @@ function useChatMessaging({
|
|
|
3982
3982
|
messages2.value.push(newMessage);
|
|
3983
3983
|
await startWorkflowWithMessage(newMessage.text, files);
|
|
3984
3984
|
}
|
|
3985
|
-
function getChatMessages() {
|
|
3986
|
-
if (!connectedNode.value) return [];
|
|
3987
|
-
const connectedMemoryInputs = workflow.value.connectionsByDestinationNode?.[connectedNode.value.name]?.[NodeConnectionTypes.AiMemory];
|
|
3988
|
-
if (!connectedMemoryInputs) return [];
|
|
3989
|
-
const memoryConnection = (connectedMemoryInputs ?? []).find((i) => (i ?? []).length > 0)?.[0];
|
|
3990
|
-
if (!memoryConnection) return [];
|
|
3991
|
-
const nodeResultData = getWorkflowResultDataByNodeName(memoryConnection.node);
|
|
3992
|
-
const memoryOutputData = (nodeResultData ?? []).map(
|
|
3993
|
-
(data) => get(data, ["data", NodeConnectionTypes.AiMemory, 0, 0, "json"])
|
|
3994
|
-
).find((data) => data && data.action === "saveContext");
|
|
3995
|
-
return (memoryOutputData?.chatHistory ?? []).map((message, index) => {
|
|
3996
|
-
return {
|
|
3997
|
-
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
3998
|
-
text: message.kwargs.content,
|
|
3999
|
-
id: `preload__${index}`,
|
|
4000
|
-
sender: last(message.id) === "HumanMessage" ? "user" : "bot"
|
|
4001
|
-
};
|
|
4002
|
-
});
|
|
4003
|
-
}
|
|
4004
3985
|
return {
|
|
4005
3986
|
previousMessageIndex,
|
|
4006
3987
|
isLoading: computed(() => isLoading.value),
|
|
4007
3988
|
sendMessage,
|
|
4008
|
-
extractResponseMessage
|
|
4009
|
-
getChatMessages
|
|
3989
|
+
extractResponseMessage
|
|
4010
3990
|
};
|
|
4011
3991
|
}
|
|
4012
3992
|
function useChatTrigger({
|
|
@@ -4087,7 +4067,7 @@ function useChatState(isDisabled, onWindowResize) {
|
|
|
4087
4067
|
const currentSessionId = ref(v4().replace(/-/g, ""));
|
|
4088
4068
|
const canvasNodes = computed(() => workflowsStore.allNodes);
|
|
4089
4069
|
const allConnections = computed(() => workflowsStore.allConnections);
|
|
4090
|
-
const
|
|
4070
|
+
const logsPanelState = computed(() => workflowsStore.logsPanelState);
|
|
4091
4071
|
const workflow = computed(() => workflowsStore.getCurrentWorkflow());
|
|
4092
4072
|
const {
|
|
4093
4073
|
chatTriggerNode,
|
|
@@ -4102,14 +4082,11 @@ function useChatState(isDisabled, onWindowResize) {
|
|
|
4102
4082
|
getNodeByName: workflowsStore.getNodeByName,
|
|
4103
4083
|
getNodeType: nodeTypesStore.getNodeType
|
|
4104
4084
|
});
|
|
4105
|
-
const { sendMessage,
|
|
4085
|
+
const { sendMessage, isLoading } = useChatMessaging({
|
|
4106
4086
|
chatTrigger: chatTriggerNode,
|
|
4107
|
-
connectedNode,
|
|
4108
4087
|
messages: messages2,
|
|
4109
4088
|
sessionId: currentSessionId,
|
|
4110
|
-
workflow,
|
|
4111
4089
|
executionResultData: computed(() => workflowsStore.getWorkflowExecution?.data?.resultData),
|
|
4112
|
-
getWorkflowResultDataByNodeName: workflowsStore.getWorkflowResultDataByNodeName,
|
|
4113
4090
|
onRunChatWorkflow
|
|
4114
4091
|
});
|
|
4115
4092
|
function createChatConfig(params) {
|
|
@@ -4152,14 +4129,11 @@ function useChatState(isDisabled, onWindowResize) {
|
|
|
4152
4129
|
provide(ChatSymbol, chatConfig);
|
|
4153
4130
|
provide(ChatOptionsSymbol, chatOptions);
|
|
4154
4131
|
watch(
|
|
4155
|
-
() =>
|
|
4132
|
+
() => logsPanelState.value,
|
|
4156
4133
|
(state) => {
|
|
4157
|
-
if (state !==
|
|
4134
|
+
if (state !== LOGS_PANEL_STATE.CLOSED) {
|
|
4158
4135
|
setChatTriggerNode();
|
|
4159
4136
|
setConnectedNode();
|
|
4160
|
-
if (messages2.value.length === 0) {
|
|
4161
|
-
messages2.value = getChatMessages();
|
|
4162
|
-
}
|
|
4163
4137
|
setTimeout(() => {
|
|
4164
4138
|
onWindowResize();
|
|
4165
4139
|
chatEventBus.emit("focusInput");
|
|
@@ -4234,7 +4208,7 @@ function useChatState(isDisabled, onWindowResize) {
|
|
|
4234
4208
|
displayExecution
|
|
4235
4209
|
};
|
|
4236
4210
|
}
|
|
4237
|
-
const _sfc_main$
|
|
4211
|
+
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
4238
4212
|
__name: "CanvasChat",
|
|
4239
4213
|
setup(__props, { expose: __expose }) {
|
|
4240
4214
|
const workflowsStore = useWorkflowsStore();
|
|
@@ -4244,7 +4218,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
4244
4218
|
const pipContainer = useTemplateRef("pipContainer");
|
|
4245
4219
|
const pipContent2 = useTemplateRef("pipContent");
|
|
4246
4220
|
const workflow = computed(() => workflowsStore.getCurrentWorkflow());
|
|
4247
|
-
const chatPanelState = computed(() => workflowsStore.
|
|
4221
|
+
const chatPanelState = computed(() => workflowsStore.logsPanelState);
|
|
4248
4222
|
const previousChatMessages = computed(() => workflowsStore.getPastChatMessages);
|
|
4249
4223
|
const resultData = computed(() => workflowsStore.getWorkflowRunData);
|
|
4250
4224
|
const telemetry = useTelemetry();
|
|
@@ -4262,13 +4236,13 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
4262
4236
|
initialWidth: window.document.body.offsetWidth * 0.8,
|
|
4263
4237
|
container: pipContainer,
|
|
4264
4238
|
content: pipContent2,
|
|
4265
|
-
shouldPopOut: computed(() => chatPanelState.value ===
|
|
4239
|
+
shouldPopOut: computed(() => chatPanelState.value === LOGS_PANEL_STATE.FLOATING),
|
|
4266
4240
|
onRequestClose: () => {
|
|
4267
|
-
if (chatPanelState.value ===
|
|
4241
|
+
if (chatPanelState.value === LOGS_PANEL_STATE.CLOSED) {
|
|
4268
4242
|
return;
|
|
4269
4243
|
}
|
|
4270
4244
|
telemetry.track("User toggled log view", { new_state: "attached" });
|
|
4271
|
-
workflowsStore.
|
|
4245
|
+
workflowsStore.setPreferPoppedOutLogsView(false);
|
|
4272
4246
|
}
|
|
4273
4247
|
});
|
|
4274
4248
|
const {
|
|
@@ -4287,14 +4261,15 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
4287
4261
|
workflow
|
|
4288
4262
|
});
|
|
4289
4263
|
const closePanel = () => {
|
|
4290
|
-
workflowsStore.
|
|
4264
|
+
workflowsStore.toggleLogsPanelOpen(false);
|
|
4291
4265
|
};
|
|
4292
4266
|
function onPopOut() {
|
|
4293
4267
|
telemetry.track("User toggled log view", { new_state: "floating" });
|
|
4294
|
-
workflowsStore.
|
|
4268
|
+
workflowsStore.toggleLogsPanelOpen(true);
|
|
4269
|
+
workflowsStore.setPreferPoppedOutLogsView(true);
|
|
4295
4270
|
}
|
|
4296
4271
|
watchEffect(() => {
|
|
4297
|
-
canvasStore.setPanelHeight(chatPanelState.value ===
|
|
4272
|
+
canvasStore.setPanelHeight(chatPanelState.value === LOGS_PANEL_STATE.ATTACHED ? height.value : 0);
|
|
4298
4273
|
});
|
|
4299
4274
|
return (_ctx, _cache) => {
|
|
4300
4275
|
const _component_n8n_icon_button = resolveComponent("n8n-icon-button");
|
|
@@ -4309,9 +4284,9 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
4309
4284
|
}, [
|
|
4310
4285
|
unref(chatTriggerNode) ? (openBlock(), createBlock(unref(N8nResizeWrapper), {
|
|
4311
4286
|
key: 0,
|
|
4312
|
-
"is-resizing-enabled": !unref(isPoppedOut) && chatPanelState.value ===
|
|
4287
|
+
"is-resizing-enabled": !unref(isPoppedOut) && chatPanelState.value === unref(LOGS_PANEL_STATE).ATTACHED,
|
|
4313
4288
|
"supported-directions": ["top"],
|
|
4314
|
-
class: normalizeClass([_ctx.$style.resizeWrapper, chatPanelState.value ===
|
|
4289
|
+
class: normalizeClass([_ctx.$style.resizeWrapper, chatPanelState.value === unref(LOGS_PANEL_STATE).CLOSED && _ctx.$style.empty]),
|
|
4315
4290
|
height: unref(height),
|
|
4316
4291
|
style: normalizeStyle(unref(rootStyles)),
|
|
4317
4292
|
onResize: unref(onResizeDebounced)
|
|
@@ -4323,7 +4298,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
4323
4298
|
class: normalizeClass([_ctx.$style.container, "ignore-key-press-canvas"]),
|
|
4324
4299
|
tabindex: "0"
|
|
4325
4300
|
}, [
|
|
4326
|
-
chatPanelState.value !==
|
|
4301
|
+
chatPanelState.value !== unref(LOGS_PANEL_STATE).CLOSED ? (openBlock(), createElementBlock("div", {
|
|
4327
4302
|
key: 0,
|
|
4328
4303
|
class: normalizeClass(_ctx.$style.chatResizer)
|
|
4329
4304
|
}, [
|
|
@@ -4397,28 +4372,28 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
4397
4372
|
const resizeWrapper$1 = "_resizeWrapper_1aajp_124";
|
|
4398
4373
|
const pipContent$1 = "_pipContent_1aajp_129";
|
|
4399
4374
|
const empty$1 = "_empty_1aajp_140";
|
|
4400
|
-
const container$
|
|
4375
|
+
const container$4 = "_container_1aajp_146";
|
|
4401
4376
|
const chatResizer = "_chatResizer_1aajp_154";
|
|
4402
4377
|
const footer = "_footer_1aajp_161";
|
|
4403
4378
|
const chat$1 = "_chat_1aajp_154";
|
|
4404
4379
|
const inner = "_inner_1aajp_180";
|
|
4405
4380
|
const logs = "_logs_1aajp_188";
|
|
4406
|
-
const style0$
|
|
4381
|
+
const style0$4 = {
|
|
4407
4382
|
resizeWrapper: resizeWrapper$1,
|
|
4408
4383
|
pipContent: pipContent$1,
|
|
4409
4384
|
empty: empty$1,
|
|
4410
|
-
container: container$
|
|
4385
|
+
container: container$4,
|
|
4411
4386
|
chatResizer,
|
|
4412
4387
|
footer,
|
|
4413
4388
|
chat: chat$1,
|
|
4414
4389
|
inner,
|
|
4415
4390
|
logs
|
|
4416
4391
|
};
|
|
4417
|
-
const cssModules$
|
|
4418
|
-
"$style": style0$
|
|
4392
|
+
const cssModules$4 = {
|
|
4393
|
+
"$style": style0$4
|
|
4419
4394
|
};
|
|
4420
|
-
const __unplugin_components_0
|
|
4421
|
-
const _sfc_main$
|
|
4395
|
+
const __unplugin_components_0 = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__cssModules", cssModules$4]]);
|
|
4396
|
+
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
4422
4397
|
__name: "ConsumedTokenCountText",
|
|
4423
4398
|
props: {
|
|
4424
4399
|
consumedTokens: {}
|
|
@@ -4426,7 +4401,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
4426
4401
|
setup(__props) {
|
|
4427
4402
|
const locale = useI18n$1();
|
|
4428
4403
|
return (_ctx, _cache) => {
|
|
4429
|
-
const _component_ConsumedTokensDetails = _sfc_main$
|
|
4404
|
+
const _component_ConsumedTokensDetails = _sfc_main$j;
|
|
4430
4405
|
return _ctx.consumedTokens !== void 0 ? (openBlock(), createBlock(unref(N8nTooltip), {
|
|
4431
4406
|
key: 0,
|
|
4432
4407
|
enterable: false
|
|
@@ -4446,15 +4421,16 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
4446
4421
|
};
|
|
4447
4422
|
}
|
|
4448
4423
|
});
|
|
4449
|
-
const _sfc_main$
|
|
4424
|
+
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
4450
4425
|
__name: "LogsOverviewRow",
|
|
4451
4426
|
props: {
|
|
4452
4427
|
data: {},
|
|
4453
4428
|
node: {},
|
|
4454
4429
|
isSelected: { type: Boolean },
|
|
4455
|
-
shouldShowConsumedTokens: { type: Boolean }
|
|
4430
|
+
shouldShowConsumedTokens: { type: Boolean },
|
|
4431
|
+
isCompact: { type: Boolean }
|
|
4456
4432
|
},
|
|
4457
|
-
emits: ["toggleExpanded"],
|
|
4433
|
+
emits: ["toggleExpanded", "triggerPartialExecution", "openNdv"],
|
|
4458
4434
|
setup(__props, { emit: __emit }) {
|
|
4459
4435
|
const props = __props;
|
|
4460
4436
|
const emit = __emit;
|
|
@@ -4467,28 +4443,18 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
4467
4443
|
);
|
|
4468
4444
|
const type = computed(() => node.value ? nodeTypeStore.getNodeType(node.value.type) : void 0);
|
|
4469
4445
|
const depth = computed(() => (props.node.level ?? 1) - 1);
|
|
4470
|
-
const
|
|
4471
|
-
|
|
4472
|
-
|
|
4473
|
-
|
|
4474
|
-
|
|
4475
|
-
|
|
4476
|
-
|
|
4477
|
-
return finalStatuses.includes(status) ? locale.baseText("logs.overview.body.summaryText", {
|
|
4446
|
+
const isSettled = computed(
|
|
4447
|
+
() => runData.value?.executionStatus && ["crashed", "error", "success"].includes(runData.value.executionStatus)
|
|
4448
|
+
);
|
|
4449
|
+
const isError = computed(() => !!runData.value?.error);
|
|
4450
|
+
const startedAtText = computed(() => {
|
|
4451
|
+
const time = new Date(runData.value?.startTime ?? 0);
|
|
4452
|
+
return locale.baseText("logs.overview.body.started", {
|
|
4478
4453
|
interpolate: {
|
|
4479
|
-
|
|
4480
|
-
time: locale.displayTimer(runData.value.executionTime, true)
|
|
4454
|
+
time: `${toTime(time, true)}, ${toDayMonth(time)}`
|
|
4481
4455
|
}
|
|
4482
|
-
})
|
|
4456
|
+
});
|
|
4483
4457
|
});
|
|
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
4458
|
const subtreeConsumedTokens = computed(
|
|
4493
4459
|
() => props.shouldShowConsumedTokens ? getSubtreeTotalConsumedTokens(props.data) : void 0
|
|
4494
4460
|
);
|
|
@@ -4503,10 +4469,15 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
4503
4469
|
return data === siblings[siblings.length - 1];
|
|
4504
4470
|
}
|
|
4505
4471
|
return (_ctx, _cache) => {
|
|
4506
|
-
const _component_NodeIcon = _sfc_main$
|
|
4472
|
+
const _component_NodeIcon = _sfc_main$k;
|
|
4507
4473
|
return node.value !== void 0 ? (openBlock(), createElementBlock("div", {
|
|
4508
4474
|
key: 0,
|
|
4509
|
-
class: normalizeClass({
|
|
4475
|
+
class: normalizeClass({
|
|
4476
|
+
[_ctx.$style.container]: true,
|
|
4477
|
+
[_ctx.$style.compact]: props.isCompact,
|
|
4478
|
+
[_ctx.$style.error]: isError.value,
|
|
4479
|
+
[_ctx.$style.selected]: props.isSelected
|
|
4480
|
+
})
|
|
4510
4481
|
}, [
|
|
4511
4482
|
(openBlock(true), createElementBlock(Fragment, null, renderList(depth.value, (level) => {
|
|
4512
4483
|
return openBlock(), createElementBlock("div", {
|
|
@@ -4518,6 +4489,10 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
4518
4489
|
})
|
|
4519
4490
|
}, null, 2);
|
|
4520
4491
|
}), 128)),
|
|
4492
|
+
createBaseVNode("div", {
|
|
4493
|
+
class: normalizeClass(_ctx.$style.background),
|
|
4494
|
+
style: normalizeStyle({ "--indent-depth": depth.value })
|
|
4495
|
+
}, null, 6),
|
|
4521
4496
|
createVNode(_component_NodeIcon, {
|
|
4522
4497
|
"node-type": type.value,
|
|
4523
4498
|
size: 16,
|
|
@@ -4527,13 +4502,14 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
4527
4502
|
tag: "div",
|
|
4528
4503
|
bold: true,
|
|
4529
4504
|
size: "small",
|
|
4530
|
-
class: normalizeClass(_ctx.$style.name)
|
|
4505
|
+
class: normalizeClass(_ctx.$style.name),
|
|
4506
|
+
color: isError.value ? "danger" : void 0
|
|
4531
4507
|
}, {
|
|
4532
4508
|
default: withCtx(() => [
|
|
4533
4509
|
createTextVNode(toDisplayString(node.value.name), 1)
|
|
4534
4510
|
]),
|
|
4535
4511
|
_: 1
|
|
4536
|
-
}, 8, ["class"]),
|
|
4512
|
+
}, 8, ["class", "color"]),
|
|
4537
4513
|
createVNode(unref(N8nText), {
|
|
4538
4514
|
tag: "div",
|
|
4539
4515
|
color: "text-light",
|
|
@@ -4541,7 +4517,36 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
4541
4517
|
class: normalizeClass(_ctx.$style.timeTook)
|
|
4542
4518
|
}, {
|
|
4543
4519
|
default: withCtx(() => [
|
|
4544
|
-
|
|
4520
|
+
isSettled.value && runData.value ? (openBlock(), createBlock(unref(I18nT), {
|
|
4521
|
+
key: 0,
|
|
4522
|
+
keypath: "logs.overview.body.summaryText"
|
|
4523
|
+
}, {
|
|
4524
|
+
status: withCtx(() => [
|
|
4525
|
+
isError.value ? (openBlock(), createBlock(unref(N8nText), {
|
|
4526
|
+
key: 0,
|
|
4527
|
+
color: "danger",
|
|
4528
|
+
bold: true,
|
|
4529
|
+
size: "small"
|
|
4530
|
+
}, {
|
|
4531
|
+
default: withCtx(() => [
|
|
4532
|
+
createVNode(unref(N8nIcon), {
|
|
4533
|
+
icon: "exclamation-triangle",
|
|
4534
|
+
class: normalizeClass(_ctx.$style.errorIcon)
|
|
4535
|
+
}, null, 8, ["class"]),
|
|
4536
|
+
createTextVNode(toDisplayString(unref(upperFirst)(runData.value.executionStatus)), 1)
|
|
4537
|
+
]),
|
|
4538
|
+
_: 1
|
|
4539
|
+
})) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
4540
|
+
createTextVNode(toDisplayString(unref(upperFirst)(runData.value.executionStatus)), 1)
|
|
4541
|
+
], 64))
|
|
4542
|
+
]),
|
|
4543
|
+
time: withCtx(() => [
|
|
4544
|
+
createTextVNode(toDisplayString(unref(locale).displayTimer(runData.value.executionTime, true)), 1)
|
|
4545
|
+
]),
|
|
4546
|
+
_: 1
|
|
4547
|
+
})) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
4548
|
+
createTextVNode(toDisplayString(unref(upperFirst)(runData.value?.executionStatus)), 1)
|
|
4549
|
+
], 64))
|
|
4545
4550
|
]),
|
|
4546
4551
|
_: 1
|
|
4547
4552
|
}, 8, ["class"]),
|
|
@@ -4564,71 +4569,124 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
4564
4569
|
class: normalizeClass(_ctx.$style.consumedTokens)
|
|
4565
4570
|
}, {
|
|
4566
4571
|
default: withCtx(() => [
|
|
4567
|
-
subtreeConsumedTokens.value.totalTokens > 0 && (props.data.children.length === 0 || !props.node.expanded) ? (openBlock(), createBlock(_sfc_main$
|
|
4572
|
+
subtreeConsumedTokens.value.totalTokens > 0 && (props.data.children.length === 0 || !props.node.expanded) ? (openBlock(), createBlock(_sfc_main$6, {
|
|
4568
4573
|
key: 0,
|
|
4569
4574
|
"consumed-tokens": subtreeConsumedTokens.value
|
|
4570
4575
|
}, null, 8, ["consumed-tokens"])) : createCommentVNode("", true)
|
|
4571
4576
|
]),
|
|
4572
4577
|
_: 1
|
|
4573
4578
|
}, 8, ["class"])) : createCommentVNode("", true),
|
|
4574
|
-
|
|
4575
|
-
|
|
4576
|
-
|
|
4577
|
-
|
|
4578
|
-
|
|
4579
|
-
|
|
4580
|
-
|
|
4581
|
-
|
|
4582
|
-
|
|
4583
|
-
|
|
4584
|
-
|
|
4585
|
-
|
|
4586
|
-
|
|
4587
|
-
|
|
4579
|
+
isError.value && _ctx.isCompact ? (openBlock(), createBlock(unref(N8nIcon), {
|
|
4580
|
+
key: 1,
|
|
4581
|
+
size: "medium",
|
|
4582
|
+
color: "danger",
|
|
4583
|
+
icon: "exclamation-triangle",
|
|
4584
|
+
class: normalizeClass(_ctx.$style.compactErrorIcon)
|
|
4585
|
+
}, null, 8, ["class"])) : createCommentVNode("", true),
|
|
4586
|
+
createVNode(unref(_sfc_main$i), {
|
|
4587
|
+
type: "secondary",
|
|
4588
|
+
size: "small",
|
|
4589
|
+
icon: "play",
|
|
4590
|
+
style: { "color": "var(--color-text-base)" },
|
|
4591
|
+
"aria-label": unref(locale).baseText("logs.overview.body.run"),
|
|
4592
|
+
class: normalizeClass([_ctx.$style.partialExecutionButton, depth.value > 0 ? _ctx.$style.unavailable : ""]),
|
|
4593
|
+
onClick: _cache[0] || (_cache[0] = withModifiers(($event) => emit("triggerPartialExecution", props.data), ["stop"]))
|
|
4594
|
+
}, null, 8, ["aria-label", "class"]),
|
|
4595
|
+
createVNode(unref(_sfc_main$i), {
|
|
4596
|
+
type: "secondary",
|
|
4597
|
+
size: "small",
|
|
4598
|
+
icon: "external-link-alt",
|
|
4599
|
+
style: { "color": "var(--color-text-base)" },
|
|
4600
|
+
class: normalizeClass(_ctx.$style.openNdvButton),
|
|
4601
|
+
"aria-label": unref(locale).baseText("logs.overview.body.open"),
|
|
4602
|
+
onClick: _cache[1] || (_cache[1] = withModifiers(($event) => emit("openNdv", props.data), ["stop"]))
|
|
4603
|
+
}, null, 8, ["class", "aria-label"]),
|
|
4604
|
+
!_ctx.isCompact || props.data.children.length > 0 ? (openBlock(), createBlock(unref(N8nButton), {
|
|
4605
|
+
key: 2,
|
|
4606
|
+
type: "secondary",
|
|
4607
|
+
size: "small",
|
|
4608
|
+
square: true,
|
|
4609
|
+
style: normalizeStyle({
|
|
4610
|
+
visibility: props.data.children.length === 0 ? "hidden" : "",
|
|
4611
|
+
color: "var(--color-text-base)"
|
|
4612
|
+
// give higher specificity than the style from the component itself
|
|
4613
|
+
}),
|
|
4614
|
+
class: normalizeClass(_ctx.$style.toggleButton),
|
|
4615
|
+
"aria-label": unref(locale).baseText("logs.overview.body.toggleRow"),
|
|
4616
|
+
onClick: _cache[2] || (_cache[2] = withModifiers(($event) => emit("toggleExpanded", props.node), ["stop"]))
|
|
4617
|
+
}, {
|
|
4618
|
+
default: withCtx(() => [
|
|
4619
|
+
createVNode(unref(N8nIcon), {
|
|
4620
|
+
size: "medium",
|
|
4621
|
+
icon: props.node.expanded ? "chevron-down" : "chevron-up"
|
|
4622
|
+
}, null, 8, ["icon"])
|
|
4623
|
+
]),
|
|
4624
|
+
_: 1
|
|
4625
|
+
}, 8, ["style", "class", "aria-label"])) : createCommentVNode("", true)
|
|
4588
4626
|
], 2)) : createCommentVNode("", true);
|
|
4589
4627
|
};
|
|
4590
4628
|
}
|
|
4591
4629
|
});
|
|
4592
|
-
const container$
|
|
4593
|
-
const
|
|
4594
|
-
const
|
|
4595
|
-
const
|
|
4596
|
-
const indent = "
|
|
4597
|
-
const connectorCurved = "
|
|
4598
|
-
const connectorStraight = "
|
|
4599
|
-
const
|
|
4600
|
-
const
|
|
4601
|
-
const
|
|
4602
|
-
const
|
|
4603
|
-
const
|
|
4604
|
-
|
|
4605
|
-
|
|
4606
|
-
|
|
4630
|
+
const container$3 = "_container_1jepl_123";
|
|
4631
|
+
const background = "_background_1jepl_140";
|
|
4632
|
+
const selected = "_selected_1jepl_149";
|
|
4633
|
+
const error = "_error_1jepl_152";
|
|
4634
|
+
const indent = "_indent_1jepl_156";
|
|
4635
|
+
const connectorCurved = "_connectorCurved_1jepl_165";
|
|
4636
|
+
const connectorStraight = "_connectorStraight_1jepl_175";
|
|
4637
|
+
const icon = "_icon_1jepl_184";
|
|
4638
|
+
const name = "_name_1jepl_190";
|
|
4639
|
+
const timeTook = "_timeTook_1jepl_195";
|
|
4640
|
+
const errorIcon = "_errorIcon_1jepl_200";
|
|
4641
|
+
const compact = "_compact_1jepl_204";
|
|
4642
|
+
const startedAt = "_startedAt_1jepl_211";
|
|
4643
|
+
const consumedTokens = "_consumedTokens_1jepl_220";
|
|
4644
|
+
const compactErrorIcon = "_compactErrorIcon_1jepl_233";
|
|
4645
|
+
const partialExecutionButton = "_partialExecutionButton_1jepl_241";
|
|
4646
|
+
const openNdvButton = "_openNdvButton_1jepl_242";
|
|
4647
|
+
const unavailable = "_unavailable_1jepl_252";
|
|
4648
|
+
const toggleButton = "_toggleButton_1jepl_260";
|
|
4649
|
+
const style0$3 = {
|
|
4650
|
+
container: container$3,
|
|
4651
|
+
background,
|
|
4607
4652
|
selected,
|
|
4653
|
+
error,
|
|
4608
4654
|
indent,
|
|
4609
4655
|
connectorCurved,
|
|
4610
4656
|
connectorStraight,
|
|
4657
|
+
icon,
|
|
4611
4658
|
name,
|
|
4612
4659
|
timeTook,
|
|
4660
|
+
errorIcon,
|
|
4661
|
+
compact,
|
|
4613
4662
|
startedAt,
|
|
4614
|
-
consumedTokens
|
|
4663
|
+
consumedTokens,
|
|
4664
|
+
compactErrorIcon,
|
|
4665
|
+
partialExecutionButton,
|
|
4666
|
+
openNdvButton,
|
|
4667
|
+
unavailable,
|
|
4668
|
+
toggleButton
|
|
4615
4669
|
};
|
|
4616
|
-
const cssModules$
|
|
4617
|
-
"$style": style0$
|
|
4670
|
+
const cssModules$3 = {
|
|
4671
|
+
"$style": style0$3
|
|
4618
4672
|
};
|
|
4619
|
-
const
|
|
4620
|
-
const _sfc_main$
|
|
4673
|
+
const LogsOverviewRow = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__cssModules", cssModules$3]]);
|
|
4674
|
+
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
4621
4675
|
__name: "LogsOverviewPanel",
|
|
4622
4676
|
props: {
|
|
4623
4677
|
isOpen: { type: Boolean },
|
|
4624
|
-
node: {}
|
|
4678
|
+
node: {},
|
|
4679
|
+
selected: {}
|
|
4625
4680
|
},
|
|
4626
|
-
emits: ["clickHeader"],
|
|
4681
|
+
emits: ["clickHeader", "select"],
|
|
4627
4682
|
setup(__props, { emit: __emit }) {
|
|
4628
4683
|
const emit = __emit;
|
|
4629
4684
|
const locale = useI18n$1();
|
|
4630
4685
|
const telemetry = useTelemetry();
|
|
4631
4686
|
const workflowsStore = useWorkflowsStore();
|
|
4687
|
+
const router = useRouter();
|
|
4688
|
+
const runWorkflow = useRunWorkflow({ router });
|
|
4689
|
+
const ndvStore = useNDVStore();
|
|
4632
4690
|
const nodeHelpers = useNodeHelpers();
|
|
4633
4691
|
const isClearExecutionButtonVisible = useClearExecutionButtonVisible();
|
|
4634
4692
|
const workflow = computed(() => workflowsStore.getCurrentWorkflow());
|
|
@@ -4665,17 +4723,16 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
4665
4723
|
const consumedTokens2 = computed(
|
|
4666
4724
|
() => getTotalConsumedTokens(...executionTree.value.map(getSubtreeTotalConsumedTokens))
|
|
4667
4725
|
);
|
|
4668
|
-
const selectedRun = ref(void 0);
|
|
4669
4726
|
function onClearExecutionData() {
|
|
4670
4727
|
workflowsStore.setWorkflowExecutionData(null);
|
|
4671
4728
|
nodeHelpers.updateNodesExecutionIssues();
|
|
4672
4729
|
}
|
|
4673
4730
|
function handleClickNode(clicked) {
|
|
4674
|
-
if (
|
|
4675
|
-
|
|
4731
|
+
if (__props.selected?.node === clicked.node && __props.selected.runIndex === clicked.runIndex) {
|
|
4732
|
+
emit("select", void 0);
|
|
4676
4733
|
return;
|
|
4677
4734
|
}
|
|
4678
|
-
|
|
4735
|
+
emit("select", { node: clicked.node, runIndex: clicked.runIndex });
|
|
4679
4736
|
telemetry.track("User selected node in log view", {
|
|
4680
4737
|
node_type: workflowsStore.nodesByName[clicked.node].type,
|
|
4681
4738
|
node_id: workflowsStore.nodesByName[clicked.node].id,
|
|
@@ -4683,16 +4740,30 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
4683
4740
|
workflow_id: workflow.value.id
|
|
4684
4741
|
});
|
|
4685
4742
|
}
|
|
4743
|
+
function handleSwitchView(value) {
|
|
4744
|
+
emit(
|
|
4745
|
+
"select",
|
|
4746
|
+
value === "overview" || executionTree.value.length === 0 ? void 0 : executionTree.value[0]
|
|
4747
|
+
);
|
|
4748
|
+
}
|
|
4686
4749
|
function handleToggleExpanded(treeNode) {
|
|
4687
4750
|
treeNode.expanded = !treeNode.expanded;
|
|
4688
4751
|
}
|
|
4752
|
+
async function handleOpenNdv(treeNode) {
|
|
4753
|
+
ndvStore.setActiveNodeName(treeNode.node);
|
|
4754
|
+
await nextTick(() => ndvStore.setOutputRunIndex(treeNode.runIndex));
|
|
4755
|
+
}
|
|
4756
|
+
async function handleTriggerPartialExecution(treeNode) {
|
|
4757
|
+
await runWorkflow.runWorkflow({ destinationNode: treeNode.node });
|
|
4758
|
+
}
|
|
4689
4759
|
return (_ctx, _cache) => {
|
|
4690
|
-
const _component_LogsOverviewRow = __unplugin_components_0;
|
|
4691
4760
|
return openBlock(), createElementBlock("div", {
|
|
4692
|
-
class: normalizeClass(_ctx.$style.container)
|
|
4761
|
+
class: normalizeClass(_ctx.$style.container),
|
|
4762
|
+
"data-test-id": "logs-overview"
|
|
4693
4763
|
}, [
|
|
4694
4764
|
createVNode(PanelHeader, {
|
|
4695
4765
|
title: unref(locale).baseText("logs.overview.header.title"),
|
|
4766
|
+
"data-test-id": "logs-overview-header",
|
|
4696
4767
|
onClick: _cache[0] || (_cache[0] = ($event) => emit("clickHeader"))
|
|
4697
4768
|
}, {
|
|
4698
4769
|
actions: withCtx(() => [
|
|
@@ -4722,14 +4793,16 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
4722
4793
|
}, 8, ["title"]),
|
|
4723
4794
|
_ctx.isOpen ? (openBlock(), createElementBlock("div", {
|
|
4724
4795
|
key: 0,
|
|
4725
|
-
class: normalizeClass([_ctx.$style.content, isEmpty2.value ? _ctx.$style.empty : ""])
|
|
4796
|
+
class: normalizeClass([_ctx.$style.content, isEmpty2.value ? _ctx.$style.empty : ""]),
|
|
4797
|
+
"data-test-id": "logs-overview-body"
|
|
4726
4798
|
}, [
|
|
4727
4799
|
isEmpty2.value ? (openBlock(), createBlock(unref(N8nText), {
|
|
4728
4800
|
key: 0,
|
|
4729
4801
|
tag: "p",
|
|
4730
4802
|
size: "medium",
|
|
4731
4803
|
color: "text-base",
|
|
4732
|
-
class: normalizeClass(_ctx.$style.emptyText)
|
|
4804
|
+
class: normalizeClass(_ctx.$style.emptyText),
|
|
4805
|
+
"data-test-id": "logs-overview-empty"
|
|
4733
4806
|
}, {
|
|
4734
4807
|
default: withCtx(() => [
|
|
4735
4808
|
createTextVNode(toDisplayString(unref(locale).baseText("logs.overview.body.empty.message")), 1)
|
|
@@ -4748,7 +4821,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
4748
4821
|
}, {
|
|
4749
4822
|
default: withCtx(() => [
|
|
4750
4823
|
createBaseVNode("span", null, toDisplayString(executionStatusText.value), 1),
|
|
4751
|
-
consumedTokens2.value.totalTokens > 0 ? (openBlock(), createBlock(_sfc_main$
|
|
4824
|
+
consumedTokens2.value.totalTokens > 0 ? (openBlock(), createBlock(_sfc_main$6, {
|
|
4752
4825
|
key: 0,
|
|
4753
4826
|
"consumed-tokens": consumedTokens2.value
|
|
4754
4827
|
}, null, 8, ["consumed-tokens"])) : createCommentVNode("", true)
|
|
@@ -4757,6 +4830,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
4757
4830
|
}, 8, ["class"])) : createCommentVNode("", true),
|
|
4758
4831
|
executionTree.value.length > 0 ? (openBlock(), createBlock(unref(ElTree), {
|
|
4759
4832
|
key: 1,
|
|
4833
|
+
"node-key": "id",
|
|
4760
4834
|
class: normalizeClass(_ctx.$style.tree),
|
|
4761
4835
|
indent: 0,
|
|
4762
4836
|
data: executionTree.value,
|
|
@@ -4765,21 +4839,25 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
4765
4839
|
onNodeClick: handleClickNode
|
|
4766
4840
|
}, {
|
|
4767
4841
|
default: withCtx(({ node: elTreeNode, data }) => [
|
|
4768
|
-
createVNode(
|
|
4842
|
+
createVNode(LogsOverviewRow, {
|
|
4769
4843
|
data,
|
|
4770
4844
|
node: elTreeNode,
|
|
4771
|
-
"is-selected": data.node ===
|
|
4845
|
+
"is-selected": data.node === _ctx.selected?.node && data.runIndex === _ctx.selected?.runIndex,
|
|
4846
|
+
"is-compact": _ctx.selected !== void 0,
|
|
4772
4847
|
"should-show-consumed-tokens": consumedTokens2.value.totalTokens > 0,
|
|
4773
|
-
onToggleExpanded: handleToggleExpanded
|
|
4774
|
-
|
|
4848
|
+
onToggleExpanded: handleToggleExpanded,
|
|
4849
|
+
onOpenNdv: handleOpenNdv,
|
|
4850
|
+
onTriggerPartialExecution: handleTriggerPartialExecution
|
|
4851
|
+
}, null, 8, ["data", "node", "is-selected", "is-compact", "should-show-consumed-tokens"])
|
|
4775
4852
|
]),
|
|
4776
4853
|
_: 1
|
|
4777
4854
|
}, 8, ["class", "data"])) : createCommentVNode("", true),
|
|
4778
4855
|
createVNode(unref(N8nRadioButtons), {
|
|
4779
4856
|
size: "medium",
|
|
4780
4857
|
class: normalizeClass(_ctx.$style.switchViewButtons),
|
|
4781
|
-
"model-value":
|
|
4782
|
-
options: switchViewOptions.value
|
|
4858
|
+
"model-value": _ctx.selected ? "details" : "overview",
|
|
4859
|
+
options: switchViewOptions.value,
|
|
4860
|
+
"onUpdate:modelValue": handleSwitchView
|
|
4783
4861
|
}, null, 8, ["class", "model-value", "options"])
|
|
4784
4862
|
], 2))
|
|
4785
4863
|
], 2)) : createCommentVNode("", true)
|
|
@@ -4787,17 +4865,17 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
4787
4865
|
};
|
|
4788
4866
|
}
|
|
4789
4867
|
});
|
|
4790
|
-
const container$
|
|
4791
|
-
const content = "
|
|
4792
|
-
const empty = "
|
|
4793
|
-
const emptyText = "
|
|
4794
|
-
const scrollable = "
|
|
4795
|
-
const summary = "
|
|
4796
|
-
const tree = "
|
|
4797
|
-
const switchViewButtons = "
|
|
4798
|
-
const style0$
|
|
4799
|
-
container: container$
|
|
4800
|
-
content,
|
|
4868
|
+
const container$2 = "_container_1xpvq_123";
|
|
4869
|
+
const content$1 = "_content_1xpvq_133";
|
|
4870
|
+
const empty = "_empty_1xpvq_142";
|
|
4871
|
+
const emptyText = "_emptyText_1xpvq_147";
|
|
4872
|
+
const scrollable = "_scrollable_1xpvq_152";
|
|
4873
|
+
const summary = "_summary_1xpvq_159";
|
|
4874
|
+
const tree = "_tree_1xpvq_171";
|
|
4875
|
+
const switchViewButtons = "_switchViewButtons_1xpvq_178";
|
|
4876
|
+
const style0$2 = {
|
|
4877
|
+
container: container$2,
|
|
4878
|
+
content: content$1,
|
|
4801
4879
|
empty,
|
|
4802
4880
|
emptyText,
|
|
4803
4881
|
scrollable,
|
|
@@ -4805,17 +4883,119 @@ const style0$1 = {
|
|
|
4805
4883
|
tree,
|
|
4806
4884
|
switchViewButtons
|
|
4807
4885
|
};
|
|
4886
|
+
const cssModules$2 = {
|
|
4887
|
+
"$style": style0$2
|
|
4888
|
+
};
|
|
4889
|
+
const LogsOverviewPanel = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__cssModules", cssModules$2]]);
|
|
4890
|
+
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
4891
|
+
__name: "LogDetailsPanel",
|
|
4892
|
+
props: {
|
|
4893
|
+
isOpen: { type: Boolean }
|
|
4894
|
+
},
|
|
4895
|
+
emits: ["clickHeader"],
|
|
4896
|
+
setup(__props, { emit: __emit }) {
|
|
4897
|
+
const emit = __emit;
|
|
4898
|
+
return (_ctx, _cache) => {
|
|
4899
|
+
return openBlock(), createElementBlock("div", {
|
|
4900
|
+
class: normalizeClass(_ctx.$style.container),
|
|
4901
|
+
"data-test-id": "log-details"
|
|
4902
|
+
}, [
|
|
4903
|
+
createVNode(PanelHeader, {
|
|
4904
|
+
title: "Log details",
|
|
4905
|
+
"data-test-id": "logs-details-header",
|
|
4906
|
+
onClick: _cache[0] || (_cache[0] = ($event) => emit("clickHeader"))
|
|
4907
|
+
}, {
|
|
4908
|
+
actions: withCtx(() => [
|
|
4909
|
+
renderSlot(_ctx.$slots, "actions")
|
|
4910
|
+
]),
|
|
4911
|
+
_: 3
|
|
4912
|
+
}),
|
|
4913
|
+
_ctx.isOpen ? (openBlock(), createElementBlock("div", {
|
|
4914
|
+
key: 0,
|
|
4915
|
+
class: normalizeClass(_ctx.$style.content),
|
|
4916
|
+
"data-test-id": "logs-details-body"
|
|
4917
|
+
}, null, 2)) : createCommentVNode("", true)
|
|
4918
|
+
], 2);
|
|
4919
|
+
};
|
|
4920
|
+
}
|
|
4921
|
+
});
|
|
4922
|
+
const container$1 = "_container_q8l5j_123";
|
|
4923
|
+
const content = "_content_q8l5j_133";
|
|
4924
|
+
const style0$1 = {
|
|
4925
|
+
container: container$1,
|
|
4926
|
+
content
|
|
4927
|
+
};
|
|
4808
4928
|
const cssModules$1 = {
|
|
4809
4929
|
"$style": style0$1
|
|
4810
4930
|
};
|
|
4811
|
-
const
|
|
4931
|
+
const LogsDetailsPanel = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__cssModules", cssModules$1]]);
|
|
4932
|
+
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
4933
|
+
__name: "LogsPanelActions",
|
|
4934
|
+
props: {
|
|
4935
|
+
panelState: {},
|
|
4936
|
+
showPopOutButton: { type: Boolean }
|
|
4937
|
+
},
|
|
4938
|
+
emits: ["popOut", "toggleOpen"],
|
|
4939
|
+
setup(__props, { emit: __emit }) {
|
|
4940
|
+
const emit = __emit;
|
|
4941
|
+
const appStyles = useStyles();
|
|
4942
|
+
const locales = useI18n$1();
|
|
4943
|
+
const tooltipZIndex = computed(() => appStyles.APP_Z_INDEXES.ASK_ASSISTANT_FLOATING_BUTTON + 100);
|
|
4944
|
+
const popOutButtonText = computed(() => locales.baseText("runData.panel.actions.popOut"));
|
|
4945
|
+
const toggleButtonText = computed(
|
|
4946
|
+
() => locales.baseText(
|
|
4947
|
+
__props.panelState === LOGS_PANEL_STATE.ATTACHED ? "runData.panel.actions.collapse" : "runData.panel.actions.open"
|
|
4948
|
+
)
|
|
4949
|
+
);
|
|
4950
|
+
return (_ctx, _cache) => {
|
|
4951
|
+
return openBlock(), createElementBlock("div", null, [
|
|
4952
|
+
_ctx.showPopOutButton ? (openBlock(), createBlock(unref(N8nTooltip), {
|
|
4953
|
+
key: 0,
|
|
4954
|
+
"z-index": tooltipZIndex.value,
|
|
4955
|
+
content: popOutButtonText.value
|
|
4956
|
+
}, {
|
|
4957
|
+
default: withCtx(() => [
|
|
4958
|
+
createVNode(unref(_sfc_main$i), {
|
|
4959
|
+
icon: "pop-out",
|
|
4960
|
+
type: "secondary",
|
|
4961
|
+
size: "small",
|
|
4962
|
+
"icon-size": "medium",
|
|
4963
|
+
"aria-label": popOutButtonText.value,
|
|
4964
|
+
onClick: _cache[0] || (_cache[0] = withModifiers(($event) => emit("popOut"), ["stop"]))
|
|
4965
|
+
}, null, 8, ["aria-label"])
|
|
4966
|
+
]),
|
|
4967
|
+
_: 1
|
|
4968
|
+
}, 8, ["z-index", "content"])) : createCommentVNode("", true),
|
|
4969
|
+
_ctx.panelState !== unref(LOGS_PANEL_STATE).FLOATING ? (openBlock(), createBlock(unref(N8nTooltip), {
|
|
4970
|
+
key: 1,
|
|
4971
|
+
"z-index": tooltipZIndex.value,
|
|
4972
|
+
content: toggleButtonText.value
|
|
4973
|
+
}, {
|
|
4974
|
+
default: withCtx(() => [
|
|
4975
|
+
createVNode(unref(_sfc_main$i), {
|
|
4976
|
+
type: "secondary",
|
|
4977
|
+
size: "small",
|
|
4978
|
+
"icon-size": "medium",
|
|
4979
|
+
icon: _ctx.panelState === unref(LOGS_PANEL_STATE).ATTACHED ? "chevron-down" : "chevron-up",
|
|
4980
|
+
"aria-label": toggleButtonText.value,
|
|
4981
|
+
style: { "color": "var(--color-text-base)" },
|
|
4982
|
+
onClick: _cache[1] || (_cache[1] = withModifiers(($event) => emit("toggleOpen"), ["stop"]))
|
|
4983
|
+
}, null, 8, ["icon", "aria-label"])
|
|
4984
|
+
]),
|
|
4985
|
+
_: 1
|
|
4986
|
+
}, 8, ["z-index", "content"])) : createCommentVNode("", true)
|
|
4987
|
+
]);
|
|
4988
|
+
};
|
|
4989
|
+
}
|
|
4990
|
+
});
|
|
4812
4991
|
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
4813
4992
|
__name: "LogsPanel",
|
|
4814
4993
|
setup(__props) {
|
|
4815
4994
|
const workflowsStore = useWorkflowsStore();
|
|
4816
4995
|
const canvasStore = useCanvasStore();
|
|
4817
|
-
const panelState = computed(() => workflowsStore.
|
|
4996
|
+
const panelState = computed(() => workflowsStore.logsPanelState);
|
|
4818
4997
|
const container2 = ref();
|
|
4998
|
+
const selectedLogEntry = ref(void 0);
|
|
4819
4999
|
const pipContainer = useTemplateRef("pipContainer");
|
|
4820
5000
|
const pipContent2 = useTemplateRef("pipContent");
|
|
4821
5001
|
const previousChatMessages = computed(() => workflowsStore.getPastChatMessages);
|
|
@@ -4824,48 +5004,53 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
4824
5004
|
(node) => [CHAT_TRIGGER_NODE_TYPE$1, MANUAL_CHAT_TRIGGER_NODE_TYPE].includes(node.type)
|
|
4825
5005
|
)
|
|
4826
5006
|
);
|
|
4827
|
-
const locales = useI18n$1();
|
|
4828
5007
|
const telemetry = useTelemetry();
|
|
4829
5008
|
const { rootStyles, height, chatWidth, onWindowResize, onResizeDebounced, onResizeChatDebounced } = useResize(container2);
|
|
4830
5009
|
const { currentSessionId, messages: messages2, connectedNode, sendMessage, refreshSession, displayExecution } = useChatState(ref(false), onWindowResize);
|
|
4831
|
-
const
|
|
4832
|
-
const tooltipZIndex = computed(() => appStyles.APP_Z_INDEXES.ASK_ASSISTANT_FLOATING_BUTTON + 100);
|
|
5010
|
+
const isLogDetailsOpen = computed(() => selectedLogEntry.value !== void 0);
|
|
4833
5011
|
const { canPopOut, isPoppedOut, pipWindow } = usePiPWindow({
|
|
4834
5012
|
initialHeight: 400,
|
|
4835
5013
|
initialWidth: window.document.body.offsetWidth * 0.8,
|
|
4836
5014
|
container: pipContainer,
|
|
4837
5015
|
content: pipContent2,
|
|
4838
|
-
shouldPopOut: computed(() => panelState.value ===
|
|
5016
|
+
shouldPopOut: computed(() => panelState.value === LOGS_PANEL_STATE.FLOATING),
|
|
4839
5017
|
onRequestClose: () => {
|
|
4840
|
-
if (panelState.value ===
|
|
5018
|
+
if (panelState.value === LOGS_PANEL_STATE.CLOSED) {
|
|
4841
5019
|
return;
|
|
4842
5020
|
}
|
|
4843
5021
|
telemetry.track("User toggled log view", { new_state: "attached" });
|
|
4844
|
-
workflowsStore.
|
|
5022
|
+
workflowsStore.setPreferPoppedOutLogsView(false);
|
|
4845
5023
|
}
|
|
4846
5024
|
});
|
|
4847
|
-
|
|
4848
|
-
|
|
4849
|
-
|
|
4850
|
-
|
|
4851
|
-
|
|
4852
|
-
|
|
4853
|
-
|
|
4854
|
-
|
|
5025
|
+
const logsPanelActionsProps = computed(() => ({
|
|
5026
|
+
panelState: panelState.value,
|
|
5027
|
+
showPopOutButton: canPopOut.value && !isPoppedOut.value,
|
|
5028
|
+
onPopOut,
|
|
5029
|
+
onToggleOpen
|
|
5030
|
+
}));
|
|
5031
|
+
function onToggleOpen() {
|
|
5032
|
+
workflowsStore.toggleLogsPanelOpen();
|
|
5033
|
+
telemetry.track("User toggled log view", {
|
|
5034
|
+
new_state: panelState.value === LOGS_PANEL_STATE.CLOSED ? "attached" : "collapsed"
|
|
5035
|
+
});
|
|
4855
5036
|
}
|
|
4856
5037
|
function handleClickHeader() {
|
|
4857
|
-
if (panelState.value ===
|
|
5038
|
+
if (panelState.value === LOGS_PANEL_STATE.CLOSED) {
|
|
4858
5039
|
telemetry.track("User toggled log view", { new_state: "attached" });
|
|
4859
|
-
workflowsStore.
|
|
5040
|
+
workflowsStore.toggleLogsPanelOpen(true);
|
|
4860
5041
|
}
|
|
4861
5042
|
}
|
|
5043
|
+
function handleSelectLogEntry(selected2) {
|
|
5044
|
+
selectedLogEntry.value = selected2;
|
|
5045
|
+
}
|
|
4862
5046
|
function onPopOut() {
|
|
4863
5047
|
telemetry.track("User toggled log view", { new_state: "floating" });
|
|
4864
|
-
workflowsStore.
|
|
5048
|
+
workflowsStore.toggleLogsPanelOpen(true);
|
|
5049
|
+
workflowsStore.setPreferPoppedOutLogsView(true);
|
|
4865
5050
|
}
|
|
4866
5051
|
watch([panelState, height], ([state, h]) => {
|
|
4867
5052
|
canvasStore.setPanelHeight(
|
|
4868
|
-
state ===
|
|
5053
|
+
state === LOGS_PANEL_STATE.FLOATING ? 0 : state === LOGS_PANEL_STATE.ATTACHED ? h : 32
|
|
4869
5054
|
);
|
|
4870
5055
|
});
|
|
4871
5056
|
return (_ctx, _cache) => {
|
|
@@ -4881,9 +5066,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
4881
5066
|
createVNode(unref(N8nResizeWrapper), {
|
|
4882
5067
|
height: unref(height),
|
|
4883
5068
|
"supported-directions": ["top"],
|
|
4884
|
-
"is-resizing-enabled": panelState.value ===
|
|
5069
|
+
"is-resizing-enabled": panelState.value === unref(LOGS_PANEL_STATE).ATTACHED,
|
|
4885
5070
|
style: normalizeStyle(unref(rootStyles)),
|
|
4886
|
-
class: normalizeClass([_ctx.$style.resizeWrapper, panelState.value ===
|
|
5071
|
+
class: normalizeClass([_ctx.$style.resizeWrapper, panelState.value === unref(LOGS_PANEL_STATE).CLOSED ? "" : _ctx.$style.isOpen]),
|
|
4887
5072
|
onResize: unref(onResizeDebounced)
|
|
4888
5073
|
}, {
|
|
4889
5074
|
default: withCtx(() => [
|
|
@@ -4896,7 +5081,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
4896
5081
|
hasChat.value ? (openBlock(), createBlock(unref(N8nResizeWrapper), {
|
|
4897
5082
|
key: 0,
|
|
4898
5083
|
"supported-directions": ["right"],
|
|
4899
|
-
"is-resizing-enabled": panelState.value !==
|
|
5084
|
+
"is-resizing-enabled": panelState.value !== unref(LOGS_PANEL_STATE).CLOSED,
|
|
4900
5085
|
width: unref(chatWidth),
|
|
4901
5086
|
class: normalizeClass(_ctx.$style.chat),
|
|
4902
5087
|
window: unref(pipWindow),
|
|
@@ -4905,13 +5090,13 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
4905
5090
|
default: withCtx(() => [
|
|
4906
5091
|
createVNode(ChatMessagesPanel, {
|
|
4907
5092
|
"data-test-id": "canvas-chat",
|
|
4908
|
-
"is-open": panelState.value !==
|
|
5093
|
+
"is-open": panelState.value !== unref(LOGS_PANEL_STATE).CLOSED,
|
|
4909
5094
|
messages: unref(messages2),
|
|
4910
5095
|
"session-id": unref(currentSessionId),
|
|
4911
5096
|
"past-chat-messages": previousChatMessages.value,
|
|
4912
5097
|
"show-close-button": false,
|
|
4913
5098
|
"is-new-logs-enabled": true,
|
|
4914
|
-
onClose:
|
|
5099
|
+
onClose: onToggleOpen,
|
|
4915
5100
|
onRefreshSession: unref(refreshSession),
|
|
4916
5101
|
onDisplayExecution: unref(displayExecution),
|
|
4917
5102
|
onSendMessage: unref(sendMessage),
|
|
@@ -4921,49 +5106,29 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
4921
5106
|
_: 1
|
|
4922
5107
|
}, 8, ["is-resizing-enabled", "width", "class", "window", "onResize"])) : createCommentVNode("", true),
|
|
4923
5108
|
createVNode(LogsOverviewPanel, {
|
|
4924
|
-
|
|
5109
|
+
class: normalizeClass(_ctx.$style.logsOverview),
|
|
5110
|
+
"is-open": panelState.value !== unref(LOGS_PANEL_STATE).CLOSED,
|
|
4925
5111
|
node: unref(connectedNode),
|
|
5112
|
+
selected: selectedLogEntry.value,
|
|
5113
|
+
onClickHeader: handleClickHeader,
|
|
5114
|
+
onSelect: handleSelectLogEntry
|
|
5115
|
+
}, {
|
|
5116
|
+
actions: withCtx(() => [
|
|
5117
|
+
!isLogDetailsOpen.value ? (openBlock(), createBlock(_sfc_main$2, normalizeProps(mergeProps({ key: 0 }, logsPanelActionsProps.value)), null, 16)) : createCommentVNode("", true)
|
|
5118
|
+
]),
|
|
5119
|
+
_: 1
|
|
5120
|
+
}, 8, ["class", "is-open", "node", "selected"]),
|
|
5121
|
+
selectedLogEntry.value ? (openBlock(), createBlock(LogsDetailsPanel, {
|
|
5122
|
+
key: 1,
|
|
5123
|
+
class: normalizeClass(_ctx.$style.logDetails),
|
|
5124
|
+
"is-open": panelState.value !== unref(LOGS_PANEL_STATE).CLOSED,
|
|
4926
5125
|
onClickHeader: handleClickHeader
|
|
4927
5126
|
}, {
|
|
4928
5127
|
actions: withCtx(() => [
|
|
4929
|
-
|
|
4930
|
-
key: 0,
|
|
4931
|
-
"z-index": tooltipZIndex.value,
|
|
4932
|
-
content: unref(locales).baseText("runData.panel.actions.popOut")
|
|
4933
|
-
}, {
|
|
4934
|
-
default: withCtx(() => [
|
|
4935
|
-
createVNode(unref(_sfc_main$g), {
|
|
4936
|
-
icon: "pop-out",
|
|
4937
|
-
type: "secondary",
|
|
4938
|
-
size: "small",
|
|
4939
|
-
"icon-size": "medium",
|
|
4940
|
-
onClick: onPopOut
|
|
4941
|
-
})
|
|
4942
|
-
]),
|
|
4943
|
-
_: 1
|
|
4944
|
-
}, 8, ["z-index", "content"])) : createCommentVNode("", true),
|
|
4945
|
-
panelState.value !== "floating" ? (openBlock(), createBlock(unref(N8nTooltip), {
|
|
4946
|
-
key: 1,
|
|
4947
|
-
"z-index": tooltipZIndex.value,
|
|
4948
|
-
content: unref(locales).baseText(
|
|
4949
|
-
panelState.value === "attached" ? "runData.panel.actions.collapse" : "runData.panel.actions.open"
|
|
4950
|
-
)
|
|
4951
|
-
}, {
|
|
4952
|
-
default: withCtx(() => [
|
|
4953
|
-
createVNode(unref(_sfc_main$g), {
|
|
4954
|
-
type: "secondary",
|
|
4955
|
-
size: "small",
|
|
4956
|
-
"icon-size": "medium",
|
|
4957
|
-
icon: panelState.value === "attached" ? "chevron-down" : "chevron-up",
|
|
4958
|
-
style: { "color": "var(--color-text-base)" },
|
|
4959
|
-
onClick: withModifiers(handleToggleOpen, ["stop"])
|
|
4960
|
-
}, null, 8, ["icon"])
|
|
4961
|
-
]),
|
|
4962
|
-
_: 1
|
|
4963
|
-
}, 8, ["z-index", "content"])) : createCommentVNode("", true)
|
|
5128
|
+
isLogDetailsOpen.value ? (openBlock(), createBlock(_sfc_main$2, normalizeProps(mergeProps({ key: 0 }, logsPanelActionsProps.value)), null, 16)) : createCommentVNode("", true)
|
|
4964
5129
|
]),
|
|
4965
5130
|
_: 1
|
|
4966
|
-
}, 8, ["is-open"
|
|
5131
|
+
}, 8, ["class", "is-open"])) : createCommentVNode("", true)
|
|
4967
5132
|
], 2)
|
|
4968
5133
|
]),
|
|
4969
5134
|
_: 1
|
|
@@ -4973,17 +5138,21 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
4973
5138
|
};
|
|
4974
5139
|
}
|
|
4975
5140
|
});
|
|
4976
|
-
const resizeWrapper = "
|
|
4977
|
-
const pipContent = "
|
|
4978
|
-
const isOpen = "
|
|
4979
|
-
const container = "
|
|
4980
|
-
const chat = "
|
|
5141
|
+
const resizeWrapper = "_resizeWrapper_1zlbj_124";
|
|
5142
|
+
const pipContent = "_pipContent_1zlbj_129";
|
|
5143
|
+
const isOpen = "_isOpen_1zlbj_142";
|
|
5144
|
+
const container = "_container_1zlbj_149";
|
|
5145
|
+
const chat = "_chat_1zlbj_158";
|
|
5146
|
+
const logsOverview = "_logsOverview_1zlbj_164";
|
|
5147
|
+
const logDetails = "_logDetails_1zlbj_171";
|
|
4981
5148
|
const style0 = {
|
|
4982
5149
|
resizeWrapper,
|
|
4983
5150
|
pipContent,
|
|
4984
5151
|
isOpen,
|
|
4985
5152
|
container,
|
|
4986
|
-
chat
|
|
5153
|
+
chat,
|
|
5154
|
+
logsOverview,
|
|
5155
|
+
logDetails
|
|
4987
5156
|
};
|
|
4988
5157
|
const cssModules = {
|
|
4989
5158
|
"$style": style0
|
|
@@ -4994,7 +5163,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
4994
5163
|
setup(__props) {
|
|
4995
5164
|
const { isNewLogsEnabled } = useSettingsStore();
|
|
4996
5165
|
return (_ctx, _cache) => {
|
|
4997
|
-
const _component_CanvasChat = __unplugin_components_0
|
|
5166
|
+
const _component_CanvasChat = __unplugin_components_0;
|
|
4998
5167
|
return unref(isNewLogsEnabled) ? (openBlock(), createBlock(LogsPanel, { key: 0 })) : (openBlock(), createBlock(_component_CanvasChat, { key: 1 }));
|
|
4999
5168
|
};
|
|
5000
5169
|
}
|