n8n-editor-ui 1.113.0 → 1.114.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/.build/cache-marker +1 -1
- package/.build/node-popularity.json +1823 -1823
- package/dist/assets/{AddDataStoreModal-BpBgou0E.js → AddDataStoreModal-gdYynAXK.js} +8 -8
- package/dist/assets/{AnimatedSpinner-BVVzuhy8.js → AnimatedSpinner-BmfqnkMh.js} +1 -1
- package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-D9y_kml7.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CVFW66bR.js} +1 -1
- package/dist/assets/{AuthView-DLJKQ74o.js → AuthView-CYJ7bCsV.js} +2 -2
- package/dist/assets/{ChangePasswordView-BMWrkaiq.js → ChangePasswordView-zducTJEL.js} +3 -3
- package/dist/assets/CollectionParameter-CxZhodaL.js +4 -0
- package/dist/assets/{ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-CgS2Cb5Q.js → ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-DFcvVtT3.js} +1 -1
- package/dist/assets/{CredentialsView-DHSg9xJ1.js → CredentialsView-CZU7hcHm.js} +19 -19
- package/dist/assets/{DataStoreActions.vue_vue_type_script_setup_true_lang-C2Dn9B2o.js → DataStoreActions.vue_vue_type_script_setup_true_lang-D2PEOSYF.js} +1 -1
- package/dist/assets/{DataStoreDetailsView-yJ7Ifouw.js → DataStoreDetailsView-cCwLSizn.js} +38 -26
- package/dist/assets/{DataStoreView-jb9J_g-Y.js → DataStoreView-DVBz_mE7.js} +13 -14
- package/dist/assets/{DemoFooter-BYvzzkpQ.js → DemoFooter-Cyz5315_.js} +6 -6
- package/dist/assets/{EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-BfHfE-dU.js → EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-Ber_ThA-.js} +3 -3
- package/dist/assets/{EntityNotFound-lPracI2m.js → EntityNotFound-E440DAgo.js} +1 -1
- package/dist/assets/{EntityUnAuthorised-zuygLqjz.js → EntityUnAuthorised-CGA8Pnag.js} +1 -1
- package/dist/assets/{ErrorView-C_k5_sJ0.js → ErrorView-DRsAZvNh.js} +9 -9
- package/dist/assets/{EvaluationsRootView-DP2_MhvN.js → EvaluationsRootView-CBh2oepG.js} +5 -5
- package/dist/assets/{EvaluationsView-BHRPpTsS.js → EvaluationsView-Bk0AxB7_.js} +3 -3
- package/dist/assets/{ExecutionsTime-etWexlXm.css → ExecutionsTime-CWHk7ZwI.css} +6 -6
- package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-DTpILxvC.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-CNY2bHYv.js} +39 -39
- package/dist/assets/{ExecutionsView-Bv3YVM-6.js → ExecutionsView-ByBXIAlI.js} +10 -10
- package/dist/assets/{FixedCollectionParameter-CZc3TqBt.js → FixedCollectionParameter-B2zzgypc.js} +4 -4
- package/dist/assets/{FixedCollectionParameter-Dg7ZadcB.css → FixedCollectionParameter-TY1-sHgZ.css} +18 -18
- package/dist/assets/{ForgotMyPasswordView-CaiqDg42.js → ForgotMyPasswordView-BgKsPtpt.js} +3 -3
- package/dist/assets/{InfoAccordion-TbgnFURd.js → InfoAccordion-CsiczXnv.js} +1 -1
- package/dist/assets/{InsightsChartAverageRuntime-BqCmV_C3.js → InsightsChartAverageRuntime-Gy5dvV3h.js} +4 -4
- package/dist/assets/{InsightsChartFailed-nhNAvWJ-.js → InsightsChartFailed-Oe0oEJCc.js} +4 -4
- package/dist/assets/{InsightsChartFailureRate-Ca8Ar9nD.js → InsightsChartFailureRate-DU1kHSZv.js} +4 -4
- package/dist/assets/{InsightsChartTimeSaved-CuO9b6Em.js → InsightsChartTimeSaved-CTUmcK5A.js} +4 -4
- package/dist/assets/{InsightsChartTotal-Dk2_nvoT.js → InsightsChartTotal-BtVfKdlz.js} +4 -4
- package/dist/assets/{InsightsDashboard-zCjTFLpM.js → InsightsDashboard-D65QIYuB.js} +11 -11
- package/dist/assets/{InsightsPaywall-CBtrv5fk.js → InsightsPaywall-Bm7hpUXq.js} +1 -1
- package/dist/assets/{InsightsSummary-BWRporX0.js → InsightsSummary-B_lIzS7D.js} +2 -3
- package/dist/assets/{InsightsTableWorkflows-DlGA2gWN.js → InsightsTableWorkflows-HAoS3XKw.js} +6 -7
- package/dist/assets/{Logo-ayCSvzHf.js → Logo-oWcxWkkZ.js} +1 -1
- package/dist/assets/{LogsPanel-DwPSXTSp.js → LogsPanel-BCGl1Nn3.js} +189 -101
- package/dist/assets/{LogsPanel-CUsQIBpC.css → LogsPanel-BE9Gl1z0.css} +26 -27
- package/dist/assets/{MainHeader-6lIHYgJG.css → MainHeader-BM1jYnSL.css} +6 -6
- package/dist/assets/{MainHeader-BGOzl1ir.js → MainHeader-BTi38P2q.js} +17 -17
- package/dist/assets/{MainSidebar-a73tcV9E.css → MainSidebar-BWPXOik1.css} +156 -0
- package/dist/assets/{MainSidebar-CGhxTuih.js → MainSidebar-f5ouPYUb.js} +204 -48
- package/dist/assets/{NodeCreation-C2TX7WTu.js → NodeCreation-BeqOH71X.js} +11 -11
- package/dist/assets/{NodeCreator-tQVCw9Uh.js → NodeCreator-Ck3oKOFP.js} +47 -34
- package/dist/assets/{NodeDetailsView-C-BCfvgR.js → NodeDetailsView-BOC4Hg0s.js} +27 -27
- package/dist/assets/{NodeDetailsViewV2-CHkxHxvz.js → NodeDetailsViewV2-M9x7-EpG.js} +16 -16
- package/dist/assets/{NodeView-B6Bv6TYS.js → NodeView-C9_Bsqwa.js} +88 -258
- package/dist/assets/{NodeView-Chs2u0U9.css → NodeView-DoRx_8YL.css} +0 -165
- package/dist/assets/{PageViewLayout-_SQAsKsq.js → PageViewLayout-BIOAQYgC.js} +1 -1
- package/dist/assets/{PrebuiltAgentTemplatesView-DOI6Oras.js → PrebuiltAgentTemplatesView-Bl6VzvHf.js} +2 -2
- package/dist/assets/{ProjectBreadcrumb-DdovGxoT.js → ProjectBreadcrumb-BO4fGsZ-.js} +28 -12
- package/dist/assets/{ProjectHeader-B5uv4DKo.css → ProjectHeader-BNMKpvzV.css} +9 -9
- package/dist/assets/{ProjectHeader-CmNr3RiV.js → ProjectHeader-DeQSPU2Z.js} +10 -10
- package/dist/assets/{ProjectSettings-BLw1-aa2.js → ProjectSettings-Bie7IE72.js} +169 -161
- package/dist/assets/{ProjectSettings-B5z1mrGW.css → ProjectSettings-Cj1kC16G.css} +30 -15
- package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-BvsEzRu6.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-R3ag1qU9.js} +5 -5
- package/dist/assets/{ResourcesListLayout-vTwRIDRz.css → ResourcesListLayout-BseE8-rt.css} +8 -8
- package/dist/assets/{ResourcesListLayout-CFoOOQpo.js → ResourcesListLayout-Dpz7rW4E.js} +42 -42
- package/dist/assets/{RunDataJson-KBqmqbfA.js → RunDataJson-D9c7DSu3.js} +3 -3
- package/dist/assets/{RunDataJsonActions-CKFc7ymK.js → RunDataJsonActions-DSwvkK8R.js} +1 -1
- package/dist/assets/{RunDataParsedAiContent-Ce_ctsro.js → RunDataParsedAiContent-Dw4DMcCc.js} +2 -2
- package/dist/assets/{RunDataSearch-gM--YmOH.js → RunDataSearch-CHn_C4l1.js} +59 -16
- package/dist/assets/{RunDataTable-CV1IQEC1.js → RunDataTable-BVcP67HC.js} +4 -4
- package/dist/assets/{SamlOnboarding-sD7YkjXE.js → SamlOnboarding-evZs5JmT.js} +3 -3
- package/dist/assets/{SelectedItemsInfo-CWRoXt5N.js → SelectedItemsInfo-BD8U-j2_.js} +1 -1
- package/dist/assets/{SettingsApiView-CjxSweZ2.js → SettingsApiView-C9ICg95A.js} +23 -24
- package/dist/assets/{SettingsCommunityNodesView-BZS-1Pu8.js → SettingsCommunityNodesView-BKv6oPzd.js} +31 -31
- package/dist/assets/{SettingsExternalSecrets-CUP7WmUX.js → SettingsExternalSecrets-B1fXLwpl.js} +18 -18
- package/dist/assets/{SettingsLdapView-CAcFtpvb.js → SettingsLdapView-1uB_1Kjt.js} +17 -17
- package/dist/assets/{SettingsLogStreamingView-Db06ainF.js → SettingsLogStreamingView-Cg5xgDBl.js} +29 -29
- package/dist/assets/SettingsMCPView-8ZO6fO7I.js +626 -0
- package/dist/assets/SettingsMCPView-INU33iV4.css +370 -0
- package/dist/assets/{SettingsPersonalView-CFAcW525.js → SettingsPersonalView-hcRTSivt.js} +31 -31
- package/dist/assets/{SettingsSourceControl-Cl0Z45op.js → SettingsSourceControl-CmWbELjI.js} +208 -65
- package/dist/assets/{SettingsSso-hvpitcmh.js → SettingsSso-DaF1HUCT.js} +61 -23
- package/dist/assets/{SettingsUsageAndPlan-CfFJy6fo.css → SettingsUsageAndPlan-CfunueCX.css} +3 -3
- package/dist/assets/{SettingsUsageAndPlan-pIa02R8X.js → SettingsUsageAndPlan-D35oEsJZ.js} +16 -17
- package/dist/assets/{SettingsUsersView-Bc_d_j_C.js → SettingsUsersView-ZRALZYsy.js} +4 -4
- package/dist/assets/{SettingsView-k1Qk6b9u.js → SettingsView-CgvnNTk-.js} +13 -12
- package/dist/assets/{SetupView-CgueTipX.js → SetupView-ChAnZVE2.js} +3 -3
- package/dist/assets/{SetupWorkflowCredentialsButton-9ZdgoxH6.js → SetupWorkflowCredentialsButton-BszdxOvj.js} +3 -3
- package/dist/assets/{SetupWorkflowFromTemplateView-DImn3MLc.js → SetupWorkflowFromTemplateView-DNXIp_P5.js} +13 -13
- package/dist/assets/{SigninView-Dy2njlT9.js → SigninView-wo3QJ5sB.js} +17 -17
- package/dist/assets/{SignoutView-BW4OLG4T.js → SignoutView-CQhFqBlf.js} +1 -1
- package/dist/assets/{SignupView-DqiOjgU_.js → SignupView-DchGNZfW.js} +3 -3
- package/dist/assets/{TableBase-J7qyS7Oi.js → TableBase-CtxQxn5Y.js} +1 -1
- package/dist/assets/{Tags-DHmekS5b.js → Tags-BXpnsQt9.js} +1 -1
- package/dist/assets/{TemplateDetails-lA7coCfr.js → TemplateDetails-BJTTpXQu.js} +11 -11
- package/dist/assets/{TemplateList-C_enJUC-.js → TemplateList-Ci2Gabt3.js} +15 -15
- package/dist/assets/{TemplatesCollectionView-Bvr4Jl4e.js → TemplatesCollectionView-CUX1Go6k.js} +15 -15
- package/dist/assets/{TemplatesSearchView-DNEWIXcA.js → TemplatesSearchView-DPFeZwku.js} +30 -30
- package/dist/assets/{TemplatesView-D6kBDKHq.js → TemplatesView-B2kjPDKq.js} +3 -3
- package/dist/assets/{TemplatesWorkflowView-CxpvFC33.js → TemplatesWorkflowView-DITL6wCM.js} +18 -18
- package/dist/assets/{TriggerPanel-DiD8pi0I.css → TriggerPanel-CZRJpcTa.css} +26 -24
- package/dist/assets/{TriggerPanel-aOMoGQPb.js → TriggerPanel-CrYeGN3J.js} +100 -124
- package/dist/assets/{VariablesView-CF7zW6sO.js → VariablesView-Bwp171eQ.js} +9 -9
- package/dist/assets/{VariablesView-BHcrNXsw.css → VariablesView-CO67wOhz.css} +6 -6
- package/dist/assets/{WorkerView-CPSFDQ3M.js → WorkerView-CTITbNMD.js} +27 -27
- package/dist/assets/{WorkflowActivator-jI4sUqXL.css → WorkflowActivator-BqnfTqdT.css} +2 -2
- package/dist/assets/{WorkflowActivator-2k4uBcXx.js → WorkflowActivator-ULjjOqRW.js} +35 -27
- package/dist/assets/{WorkflowExecutionsInfoAccordion-DLSyy7P3.js → WorkflowExecutionsInfoAccordion-Du8aYVAp.js} +2 -2
- package/dist/assets/{WorkflowExecutionsLandingPage-B0lwEkzs.js → WorkflowExecutionsLandingPage--NydRWjB.js} +3 -3
- package/dist/assets/{WorkflowExecutionsPreview-fdG8WvjQ.js → WorkflowExecutionsPreview-SapcKnCv.js} +17 -17
- package/dist/assets/{WorkflowExecutionsView-DqWqyiNg.css → WorkflowExecutionsView-BI8VcrjR.css} +2 -2
- package/dist/assets/{WorkflowExecutionsView-DoOsdRNS.js → WorkflowExecutionsView-DzM_rNXF.js} +20 -20
- package/dist/assets/{WorkflowHistory-BmCEHmbX.js → WorkflowHistory-Db-y1oNT.js} +23 -23
- package/dist/assets/{WorkflowOnboardingView-DoANwef9.js → WorkflowOnboardingView-WrpmE_wt.js} +1 -1
- package/dist/assets/{WorkflowPreview-BcVSQJ1r.js → WorkflowPreview-7kOr6cGA.js} +10 -7
- package/dist/assets/{WorkflowsView-MF9XcT0u.css → WorkflowsView-Cn8b7sC6.css} +295 -18
- package/dist/assets/{WorkflowsView-DfkdEDYd.js → WorkflowsView-DyYy_N8O.js} +314 -136
- package/dist/assets/{canvas-DjkOwLgJ.js → canvas-DTKhYM6C.js} +1 -1
- package/dist/assets/{chartjs.utils-P0M5ijsc.js → chartjs.utils-CJ62oVGG.js} +2 -2
- package/dist/assets/{core-WbBbE4BE.js → core-VF74aV13.js} +1 -1
- package/dist/assets/{global-link-actions-Cq9wmyMP.js → global-link-actions-Ddo-afkv.js} +1 -1
- package/dist/assets/{index-DGLJxfnn.js → index-BOW55EQc.js} +16959 -15085
- package/dist/assets/{index-vcIMPEwS.js → index-BUUYM12e.js} +1 -1
- package/dist/assets/{index-CpPc1kM8.css → index-CTgzCbB9.css} +10049 -10911
- package/dist/assets/{pickBy-ClKklBll.js → pickBy-CwZEa5Ur.js} +1 -1
- package/dist/assets/{readyToRunWorkflows.store-By37rv7G.js → readyToRunWorkflows.store-C7dZP8KI.js} +1 -1
- package/dist/assets/{readyToRunWorkflowsV2.store-Dl9lSVnl.js → readyToRunWorkflowsV2.store-BJY-F_Le.js} +2 -2
- package/dist/assets/{templateActions-DIHXnHcb.js → templateActions-BfUcgZvZ.js} +1 -1
- package/dist/assets/{useBeforeUnload-DixKQhw1.js → useBeforeUnload-CEwAxZFs.js} +1 -1
- package/dist/assets/{useExecutionDebugging-CONIO3Vz.js → useExecutionDebugging-Moxdvo-v.js} +1 -1
- package/dist/assets/{useImportCurlCommand-CcLwFKyp.js → useImportCurlCommand-C5Ra8auY.js} +1 -1
- package/dist/assets/{useProjectPages-eaNvpOz-.js → useProjectPages-D2nu5pZ9.js} +1 -1
- package/dist/assets/{usePushConnection-C9lQfiNc.js → usePushConnection-Dnr2PF2n.js} +12 -6
- package/dist/assets/{useWorkflowActivate-ByzVgA6z.js → useWorkflowActivate-Ch6gRZjX.js} +1 -1
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/scripts/cache-marker.mjs +11 -0
- package/turbo.json +2 -1
- package/dist/assets/CollectionParameter-Cb7K8toD.js +0 -4
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { _ as __unplugin_components_1 } from "./AnimatedSpinner-
|
|
3
|
-
import { _ as _sfc_main$j } from "./ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-
|
|
4
|
-
import { H as HighlightJS, V as VueMarkdown } from "./core-
|
|
5
|
-
import { c as canvasEventBus } from "./canvas-
|
|
1
|
+
import { bD as addTokenUsageData, bE as emptyTokenUsageData, bF as parseErrorMetadata, bG as isChatNode, bH as NodeConnectionTypes, bI as v4, bJ as get, bK as AGENT_LANGCHAIN_NODE_TYPE, bL as MANUAL_CHAT_TRIGGER_NODE_TYPE, bM as CHAT_TRIGGER_NODE_TYPE, bN as isEmpty, a as useToast, r as ref, x as computed, c as useI18n$1, bO as usePinnedData, an as useMessage, ao as MODAL_CONFIRM, a2 as useWorkflowsStore, au as useRootStore, bP as useLogsStore, b as useRouter, bQ as useNodeHelpers, bR as useRunWorkflow, a8 as watch, V as VIEWS, bS as chatEventBus, a4 as PLACEHOLDER_EMPTY_WORKFLOW_ID, bT as provide, d as defineComponent, h as createElementBlock, g as openBlock, n as normalizeClass, i as createVNode, j as createBaseVNode, l as unref, p as N8nText, w as withCtx, Y as renderSlot, k as createTextVNode, t as toDisplayString, _ as _export_sfc, a3 as useRoute, ag as useSourceControlStore, bU as useCanvasOperations, ae as useNodeTypesStore, bV as START_NODE_TYPE, e as createBlock, f as createCommentVNode, aa as Tooltip, bW as formatTokenUsageCount, bX as getDefaultExportFromCjs, bY as requireUpperFirst, F as Fragment, aH as useTemplateRef, bZ as useTimestamp, b_ as toTime, b$ as toDayMonth, B as withModifiers, A as renderList, aq as normalizeStyle, c0 as NodeIcon, ac as I18nT, N as N8nIcon, ab as _sfc_main$k, q as N8nButton, Z as nextTick, c1 as getScrollbarWidth, c2 as useVirtualList, c3 as toRef, K as mergeProps, O as N8nRadioButtons, c4 as inject, c5 as isRef, c6 as toRefs, o as onMounted, c7 as normalizeProps, c8 as guardReactiveProps, c9 as resolveDynamicComponent, ca as markdownLink, cb as useFileDialog, bm as onUnmounted, b3 as withDirectives, cc as vModelText, b9 as withKeys, cd as useAttrs, ce as useClipboard, bv as createSlots, aZ as useNDVStore, cf as PopOutWindowKey, cg as resolveDirective, ch as RunData, C as N8nLink, ci as NDVEmptyState, cj as waitingNodeTooltip, ck as RunDataItemCount, a$ as useLocalStorage, cl as useExperimentalNdvStore, cm as LOG_DETAILS_PANEL_STATE, cn as KeyboardShortcutTooltip, co as N8nResizeWrapper, cp as useStyles, aN as N8nActionDropdown, cq as LOGS_EXECUTION_DATA_THROTTLE_DURATION, cr as Workflow, cs as useThrottleFn, ct as shallowRef, cu as parse, Q as useUIStore, cv as useCanvasStore, am as useTelemetry, ay as useDocumentTitle, cw as onScopeDispose, X as onBeforeUnmount, cx as useProvideTooltipAppendTo, cy as LOGS_PANEL_STATE, cz as LOCAL_STORAGE_PANEL_HEIGHT, cA as LOCAL_STORAGE_OVERVIEW_PANEL_WIDTH, cB as LOCAL_STORAGE_PANEL_WIDTH, cC as useActiveElement, br as useKeybindings, cD as ndvEventBus } from "./index-BOW55EQc.js";
|
|
2
|
+
import { _ as __unplugin_components_1 } from "./AnimatedSpinner-BmfqnkMh.js";
|
|
3
|
+
import { _ as _sfc_main$j } from "./ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-DFcvVtT3.js";
|
|
4
|
+
import { H as HighlightJS, V as VueMarkdown } from "./core-VF74aV13.js";
|
|
5
|
+
import { c as canvasEventBus } from "./canvas-DTKhYM6C.js";
|
|
6
6
|
const TOOL_EXECUTOR_NODE_NAME = "PartialExecutionToolExecutor";
|
|
7
7
|
function constructChatWebsocketUrl(url, executionId, sessionId2, isPublic) {
|
|
8
8
|
const baseUrl = new URL(url).origin;
|
|
@@ -310,8 +310,20 @@ function extractBotResponse(resultData, executionId, emptyText2) {
|
|
|
310
310
|
if (get(nodeResponseData, "error")) {
|
|
311
311
|
responseMessage = "[ERROR: " + get(nodeResponseData, "error.message") + "]";
|
|
312
312
|
} else {
|
|
313
|
-
const
|
|
314
|
-
|
|
313
|
+
const mainOutputs = get(nodeResponseData, "data.main");
|
|
314
|
+
let text;
|
|
315
|
+
if (mainOutputs && Array.isArray(mainOutputs)) {
|
|
316
|
+
for (const branch of mainOutputs) {
|
|
317
|
+
if (branch?.[0]?.json) {
|
|
318
|
+
const responseData = branch[0].json;
|
|
319
|
+
text = extractResponseText(responseData);
|
|
320
|
+
if (text) {
|
|
321
|
+
break;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
text = text ?? emptyText2;
|
|
315
327
|
if (!text) {
|
|
316
328
|
return void 0;
|
|
317
329
|
}
|
|
@@ -373,6 +385,20 @@ function isSubNodeLog(logEntry) {
|
|
|
373
385
|
function isPlaceholderLog(treeNode) {
|
|
374
386
|
return treeNode.runData === void 0;
|
|
375
387
|
}
|
|
388
|
+
function copyExecutionData(executionData) {
|
|
389
|
+
return {
|
|
390
|
+
...executionData,
|
|
391
|
+
data: {
|
|
392
|
+
...executionData.data,
|
|
393
|
+
resultData: {
|
|
394
|
+
...executionData.data?.resultData,
|
|
395
|
+
runData: Object.fromEntries(
|
|
396
|
+
Object.entries(executionData.data?.resultData.runData ?? {}).map(([k, v]) => [k, [...v]])
|
|
397
|
+
)
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
};
|
|
401
|
+
}
|
|
376
402
|
function useChatMessaging({
|
|
377
403
|
chatTrigger,
|
|
378
404
|
sessionId: sessionId2,
|
|
@@ -713,15 +739,21 @@ function useChatState(isReadOnly) {
|
|
|
713
739
|
const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
714
740
|
__name: "LogsPanelHeader",
|
|
715
741
|
props: {
|
|
716
|
-
title: {}
|
|
742
|
+
title: {},
|
|
743
|
+
isClickable: { type: Boolean }
|
|
717
744
|
},
|
|
718
745
|
emits: ["click"],
|
|
719
746
|
setup(__props, { emit: __emit }) {
|
|
720
747
|
const emit = __emit;
|
|
748
|
+
function handleClick() {
|
|
749
|
+
if (__props.isClickable) {
|
|
750
|
+
emit("click");
|
|
751
|
+
}
|
|
752
|
+
}
|
|
721
753
|
return (_ctx, _cache) => {
|
|
722
754
|
return openBlock(), createElementBlock("header", {
|
|
723
|
-
class: normalizeClass(_ctx.$style.container),
|
|
724
|
-
onClick:
|
|
755
|
+
class: normalizeClass([_ctx.$style.container, { [_ctx.$style.clickable]: _ctx.isClickable }]),
|
|
756
|
+
onClick: handleClick
|
|
725
757
|
}, [
|
|
726
758
|
createVNode(unref(N8nText), {
|
|
727
759
|
class: normalizeClass(_ctx.$style.title),
|
|
@@ -744,11 +776,13 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
744
776
|
};
|
|
745
777
|
}
|
|
746
778
|
});
|
|
747
|
-
const container$8 = "
|
|
748
|
-
const
|
|
749
|
-
const
|
|
779
|
+
const container$8 = "_container_mhycn_123";
|
|
780
|
+
const clickable = "_clickable_mhycn_135";
|
|
781
|
+
const title$2 = "_title_mhycn_143";
|
|
782
|
+
const actions$1 = "_actions_mhycn_151";
|
|
750
783
|
const style0$b = {
|
|
751
784
|
container: container$8,
|
|
785
|
+
clickable,
|
|
752
786
|
title: title$2,
|
|
753
787
|
actions: actions$1
|
|
754
788
|
};
|
|
@@ -1195,7 +1229,8 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
1195
1229
|
execution: {},
|
|
1196
1230
|
entries: {},
|
|
1197
1231
|
flatLogEntries: {},
|
|
1198
|
-
latestNodeInfo: {}
|
|
1232
|
+
latestNodeInfo: {},
|
|
1233
|
+
isHeaderClickable: { type: Boolean }
|
|
1199
1234
|
},
|
|
1200
1235
|
emits: ["clickHeader", "select", "clearExecutionData", "openNdv", "toggleExpanded"],
|
|
1201
1236
|
setup(__props, { emit: __emit }) {
|
|
@@ -1277,6 +1312,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
1277
1312
|
createVNode(LogsPanelHeader, {
|
|
1278
1313
|
title: unref(locale).baseText("logs.overview.header.title"),
|
|
1279
1314
|
"data-test-id": "logs-overview-header",
|
|
1315
|
+
"is-clickable": _ctx.isHeaderClickable,
|
|
1280
1316
|
onClick: _cache[1] || (_cache[1] = ($event) => emit("clickHeader"))
|
|
1281
1317
|
}, {
|
|
1282
1318
|
actions: withCtx(() => [
|
|
@@ -1305,7 +1341,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
1305
1341
|
renderSlot(_ctx.$slots, "actions")
|
|
1306
1342
|
]),
|
|
1307
1343
|
_: 3
|
|
1308
|
-
}, 8, ["title"]),
|
|
1344
|
+
}, 8, ["title", "is-clickable"]),
|
|
1309
1345
|
_ctx.isOpen ? (openBlock(), createElementBlock("div", {
|
|
1310
1346
|
key: 0,
|
|
1311
1347
|
class: normalizeClass([_ctx.$style.content, isEmpty2.value ? _ctx.$style.empty : ""]),
|
|
@@ -4254,7 +4290,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
4254
4290
|
props: {
|
|
4255
4291
|
placeholder: { default: "inputPlaceholder" }
|
|
4256
4292
|
},
|
|
4257
|
-
emits: ["arrowKeyDown"],
|
|
4293
|
+
emits: ["arrowKeyDown", "escapeKeyDown"],
|
|
4258
4294
|
setup(__props, { emit: __emit }) {
|
|
4259
4295
|
const props = __props;
|
|
4260
4296
|
const { t } = useI18n();
|
|
@@ -4468,6 +4504,11 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
4468
4504
|
key: event.key,
|
|
4469
4505
|
currentInputValue: input.value
|
|
4470
4506
|
});
|
|
4507
|
+
} else if (event.key === "Escape") {
|
|
4508
|
+
event.preventDefault();
|
|
4509
|
+
emit("escapeKeyDown", {
|
|
4510
|
+
currentInputValue: input.value
|
|
4511
|
+
});
|
|
4471
4512
|
}
|
|
4472
4513
|
}
|
|
4473
4514
|
function onOpenFileDialog() {
|
|
@@ -4545,7 +4586,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
4545
4586
|
};
|
|
4546
4587
|
}
|
|
4547
4588
|
});
|
|
4548
|
-
const ChatInput = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-
|
|
4589
|
+
const ChatInput = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-0216470d"]]);
|
|
4549
4590
|
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
4550
4591
|
__name: "MessageTyping",
|
|
4551
4592
|
props: {
|
|
@@ -4675,12 +4716,12 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
4675
4716
|
},
|
|
4676
4717
|
setup(__props) {
|
|
4677
4718
|
return (_ctx, _cache) => {
|
|
4678
|
-
const
|
|
4679
|
-
const
|
|
4719
|
+
const _component_N8nIcon = N8nIcon;
|
|
4720
|
+
const _component_N8nTooltip = Tooltip;
|
|
4680
4721
|
return openBlock(), createElementBlock("div", {
|
|
4681
4722
|
class: normalizeClass(_ctx.$style.container)
|
|
4682
4723
|
}, [
|
|
4683
|
-
createVNode(
|
|
4724
|
+
createVNode(_component_N8nTooltip, { placement: __props.placement }, {
|
|
4684
4725
|
content: withCtx(() => [
|
|
4685
4726
|
renderSlot(_ctx.$slots, "default")
|
|
4686
4727
|
]),
|
|
@@ -4688,7 +4729,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
4688
4729
|
createBaseVNode("span", {
|
|
4689
4730
|
class: normalizeClass(_ctx.$style.icon)
|
|
4690
4731
|
}, [
|
|
4691
|
-
createVNode(
|
|
4732
|
+
createVNode(_component_N8nIcon, {
|
|
4692
4733
|
icon: "info",
|
|
4693
4734
|
size: "xsmall"
|
|
4694
4735
|
})
|
|
@@ -4723,17 +4764,17 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
4723
4764
|
attrs.onClick?.();
|
|
4724
4765
|
};
|
|
4725
4766
|
return (_ctx, _cache) => {
|
|
4726
|
-
const
|
|
4727
|
-
const
|
|
4767
|
+
const _component_N8nIcon = N8nIcon;
|
|
4768
|
+
const _component_N8nTooltip = Tooltip;
|
|
4728
4769
|
return openBlock(), createElementBlock("div", {
|
|
4729
4770
|
class: normalizeClass(_ctx.$style.container)
|
|
4730
4771
|
}, [
|
|
4731
|
-
createVNode(
|
|
4772
|
+
createVNode(_component_N8nTooltip, { placement: _ctx.placement }, {
|
|
4732
4773
|
content: withCtx(() => [
|
|
4733
4774
|
createTextVNode(toDisplayString(_ctx.label), 1)
|
|
4734
4775
|
]),
|
|
4735
4776
|
default: withCtx(() => [
|
|
4736
|
-
createVNode(
|
|
4777
|
+
createVNode(_component_N8nIcon, {
|
|
4737
4778
|
class: normalizeClass(_ctx.$style.icon),
|
|
4738
4779
|
icon: _ctx.icon,
|
|
4739
4780
|
size: "xsmall",
|
|
@@ -4765,7 +4806,8 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
4765
4806
|
sessionId: {},
|
|
4766
4807
|
showCloseButton: { type: Boolean },
|
|
4767
4808
|
isOpen: { type: Boolean, default: true },
|
|
4768
|
-
isReadOnly: { type: Boolean, default: false }
|
|
4809
|
+
isReadOnly: { type: Boolean, default: false },
|
|
4810
|
+
isHeaderClickable: { type: Boolean }
|
|
4769
4811
|
},
|
|
4770
4812
|
emits: ["displayExecution", "sendMessage", "refreshSession", "close", "clickHeader"],
|
|
4771
4813
|
setup(__props, { emit: __emit }) {
|
|
@@ -4774,7 +4816,8 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
4774
4816
|
const clipboard = useClipboard();
|
|
4775
4817
|
const locale = useI18n$1();
|
|
4776
4818
|
const toast = useToast();
|
|
4777
|
-
const previousMessageIndex = ref(
|
|
4819
|
+
const previousMessageIndex = ref(-1);
|
|
4820
|
+
const currentInputBuffer = ref("");
|
|
4778
4821
|
const sessionIdText = computed(
|
|
4779
4822
|
() => locale.baseText("chat.window.session.id", {
|
|
4780
4823
|
interpolate: { id: `${props.sessionId.slice(0, 5)}...` }
|
|
@@ -4796,7 +4839,8 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
4796
4839
|
chatEventBus.emit("setInputValue", message.text);
|
|
4797
4840
|
}
|
|
4798
4841
|
function sendMessage(message) {
|
|
4799
|
-
previousMessageIndex.value =
|
|
4842
|
+
previousMessageIndex.value = -1;
|
|
4843
|
+
currentInputBuffer.value = "";
|
|
4800
4844
|
emit("sendMessage", message);
|
|
4801
4845
|
}
|
|
4802
4846
|
function onRefreshSession() {
|
|
@@ -4804,30 +4848,44 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
4804
4848
|
}
|
|
4805
4849
|
function onArrowKeyDown({ currentInputValue, key }) {
|
|
4806
4850
|
const pastMessages = props.pastChatMessages;
|
|
4807
|
-
|
|
4808
|
-
if (
|
|
4809
|
-
|
|
4851
|
+
if (pastMessages.length === 0) return;
|
|
4852
|
+
if (currentInputValue.length === 0 && previousMessageIndex.value !== -1) {
|
|
4853
|
+
previousMessageIndex.value = -1;
|
|
4854
|
+
currentInputBuffer.value = "";
|
|
4855
|
+
}
|
|
4856
|
+
if (previousMessageIndex.value === -1 && currentInputValue.length > 0) {
|
|
4857
|
+
currentInputBuffer.value = currentInputValue;
|
|
4858
|
+
}
|
|
4859
|
+
if (key === "ArrowUp") {
|
|
4810
4860
|
chatEventBus.emit("blurInput");
|
|
4811
|
-
if (
|
|
4812
|
-
previousMessageIndex.value =
|
|
4813
|
-
} else {
|
|
4814
|
-
|
|
4815
|
-
if (currentInputValue.length === 0 && previousMessageIndex.value === 0) {
|
|
4816
|
-
previousMessageIndex.value = pastMessages.length - 1;
|
|
4817
|
-
} else {
|
|
4818
|
-
previousMessageIndex.value = previousMessageIndex.value === 0 ? pastMessages.length - 1 : previousMessageIndex.value - 1;
|
|
4819
|
-
}
|
|
4820
|
-
} else if (key === "ArrowDown") {
|
|
4821
|
-
previousMessageIndex.value = previousMessageIndex.value === pastMessages.length - 1 ? 0 : previousMessageIndex.value + 1;
|
|
4822
|
-
}
|
|
4861
|
+
if (previousMessageIndex.value === -1) {
|
|
4862
|
+
previousMessageIndex.value = pastMessages.length - 1;
|
|
4863
|
+
} else if (previousMessageIndex.value > 0) {
|
|
4864
|
+
previousMessageIndex.value--;
|
|
4823
4865
|
}
|
|
4824
4866
|
const selectedMessage = pastMessages[previousMessageIndex.value];
|
|
4825
4867
|
chatEventBus.emit("setInputValue", selectedMessage);
|
|
4826
4868
|
chatEventBus.emit("focusInput");
|
|
4869
|
+
} else if (key === "ArrowDown") {
|
|
4870
|
+
if (previousMessageIndex.value === -1) return;
|
|
4871
|
+
chatEventBus.emit("blurInput");
|
|
4872
|
+
if (previousMessageIndex.value < pastMessages.length - 1) {
|
|
4873
|
+
previousMessageIndex.value++;
|
|
4874
|
+
const selectedMessage = pastMessages[previousMessageIndex.value];
|
|
4875
|
+
chatEventBus.emit("setInputValue", selectedMessage);
|
|
4876
|
+
} else {
|
|
4877
|
+
previousMessageIndex.value = -1;
|
|
4878
|
+
chatEventBus.emit("setInputValue", currentInputBuffer.value);
|
|
4879
|
+
currentInputBuffer.value = "";
|
|
4880
|
+
}
|
|
4881
|
+
chatEventBus.emit("focusInput");
|
|
4827
4882
|
}
|
|
4828
|
-
|
|
4829
|
-
|
|
4830
|
-
|
|
4883
|
+
}
|
|
4884
|
+
function onEscapeKey() {
|
|
4885
|
+
if (previousMessageIndex.value === -1) return;
|
|
4886
|
+
previousMessageIndex.value = -1;
|
|
4887
|
+
chatEventBus.emit("setInputValue", currentInputBuffer.value);
|
|
4888
|
+
currentInputBuffer.value = "";
|
|
4831
4889
|
}
|
|
4832
4890
|
async function copySessionId() {
|
|
4833
4891
|
await clipboard.copy(props.sessionId);
|
|
@@ -4846,6 +4904,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
4846
4904
|
createVNode(LogsPanelHeader, {
|
|
4847
4905
|
"data-test-id": "chat-header",
|
|
4848
4906
|
title: unref(locale).baseText("chat.window.title"),
|
|
4907
|
+
"is-clickable": _ctx.isHeaderClickable,
|
|
4849
4908
|
onClick: _cache[0] || (_cache[0] = ($event) => emit("clickHeader"))
|
|
4850
4909
|
}, {
|
|
4851
4910
|
actions: withCtx(() => [
|
|
@@ -4892,7 +4951,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
4892
4951
|
}, 8, ["content"])) : createCommentVNode("", true)
|
|
4893
4952
|
]),
|
|
4894
4953
|
_: 1
|
|
4895
|
-
}, 8, ["title"]),
|
|
4954
|
+
}, 8, ["title", "is-clickable"]),
|
|
4896
4955
|
_ctx.isOpen ? (openBlock(), createElementBlock("main", {
|
|
4897
4956
|
key: 0,
|
|
4898
4957
|
class: normalizeClass(_ctx.$style.chatBody),
|
|
@@ -4945,7 +5004,8 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
4945
5004
|
createVNode(ChatInput, {
|
|
4946
5005
|
"data-test-id": "lm-chat-inputs",
|
|
4947
5006
|
placeholder: inputPlaceholder.value,
|
|
4948
|
-
onArrowKeyDown
|
|
5007
|
+
onArrowKeyDown,
|
|
5008
|
+
onEscapeKeyDown: onEscapeKey
|
|
4949
5009
|
}, createSlots({ _: 2 }, [
|
|
4950
5010
|
_ctx.pastChatMessages.length > 0 ? {
|
|
4951
5011
|
name: "leftPanel",
|
|
@@ -4959,16 +5019,18 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
4959
5019
|
type: "tertiary",
|
|
4960
5020
|
text: "",
|
|
4961
5021
|
size: "mini",
|
|
5022
|
+
disabled: previousMessageIndex.value === 0,
|
|
4962
5023
|
onClick: _cache[1] || (_cache[1] = ($event) => onArrowKeyDown({ currentInputValue: "", key: "ArrowUp" }))
|
|
4963
|
-
}),
|
|
5024
|
+
}, null, 8, ["disabled"]),
|
|
4964
5025
|
createVNode(unref(N8nButton), {
|
|
4965
5026
|
title: "Navigate to next message",
|
|
4966
5027
|
icon: "chevron-down",
|
|
4967
5028
|
type: "tertiary",
|
|
4968
5029
|
text: "",
|
|
4969
5030
|
size: "mini",
|
|
5031
|
+
disabled: previousMessageIndex.value === -1,
|
|
4970
5032
|
onClick: _cache[2] || (_cache[2] = ($event) => onArrowKeyDown({ currentInputValue: "", key: "ArrowDown" }))
|
|
4971
|
-
})
|
|
5033
|
+
}, null, 8, ["disabled"])
|
|
4972
5034
|
], 2)
|
|
4973
5035
|
]),
|
|
4974
5036
|
key: "0"
|
|
@@ -5015,7 +5077,8 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
5015
5077
|
title: {},
|
|
5016
5078
|
paneType: {},
|
|
5017
5079
|
logEntry: {},
|
|
5018
|
-
collapsingTableColumnName: {}
|
|
5080
|
+
collapsingTableColumnName: {},
|
|
5081
|
+
searchShortcut: {}
|
|
5019
5082
|
},
|
|
5020
5083
|
emits: ["collapsingTableColumnChanged"],
|
|
5021
5084
|
setup(__props, { emit: __emit }) {
|
|
@@ -5078,6 +5141,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
5078
5141
|
"is-executing": isExecuting.value,
|
|
5079
5142
|
"table-header-bg-color": "light",
|
|
5080
5143
|
"collapsing-table-column-name": _ctx.collapsingTableColumnName,
|
|
5144
|
+
"search-shortcut": _ctx.searchShortcut,
|
|
5081
5145
|
onDisplayModeChange: handleChangeDisplayMode,
|
|
5082
5146
|
onCollapsingTableColumnChanged: _cache[0] || (_cache[0] = ($event) => emit("collapsingTableColumnChanged", $event))
|
|
5083
5147
|
}), createSlots({
|
|
@@ -5098,31 +5162,22 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
5098
5162
|
createVNode(RunDataItemCount, normalizeProps(guardReactiveProps(itemCountProps)), null, 16)
|
|
5099
5163
|
]),
|
|
5100
5164
|
"no-output-data": withCtx(() => [
|
|
5101
|
-
createVNode(
|
|
5102
|
-
|
|
5103
|
-
|
|
5104
|
-
size: "large"
|
|
5105
|
-
}, {
|
|
5106
|
-
default: withCtx(() => [
|
|
5107
|
-
createTextVNode(toDisplayString(unref(locale).baseText("ndv.output.noOutputData.title")), 1)
|
|
5108
|
-
]),
|
|
5109
|
-
_: 1
|
|
5110
|
-
})
|
|
5165
|
+
createVNode(NDVEmptyState, {
|
|
5166
|
+
title: unref(locale).baseText("ndv.output.noOutputData.title")
|
|
5167
|
+
}, null, 8, ["title"])
|
|
5111
5168
|
]),
|
|
5112
5169
|
"node-waiting": withCtx(() => [
|
|
5113
|
-
createVNode(
|
|
5114
|
-
|
|
5115
|
-
|
|
5116
|
-
size: "large"
|
|
5170
|
+
createVNode(NDVEmptyState, {
|
|
5171
|
+
title: unref(locale).baseText("ndv.output.waitNodeWaiting.title"),
|
|
5172
|
+
wide: ""
|
|
5117
5173
|
}, {
|
|
5118
5174
|
default: withCtx(() => [
|
|
5119
|
-
|
|
5175
|
+
withDirectives(createBaseVNode("span", null, null, 512), [
|
|
5176
|
+
[_directive_n8n_html, unref(waitingNodeTooltip)(_ctx.logEntry.node)]
|
|
5177
|
+
])
|
|
5120
5178
|
]),
|
|
5121
5179
|
_: 1
|
|
5122
|
-
})
|
|
5123
|
-
withDirectives(createVNode(unref(N8nText), null, null, 512), [
|
|
5124
|
-
[_directive_n8n_html, unref(waitingNodeTooltip)(_ctx.logEntry.node)]
|
|
5125
|
-
])
|
|
5180
|
+
}, 8, ["title"])
|
|
5126
5181
|
]),
|
|
5127
5182
|
_: 2
|
|
5128
5183
|
}, [
|
|
@@ -5154,7 +5209,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
5154
5209
|
]),
|
|
5155
5210
|
key: "1"
|
|
5156
5211
|
} : void 0
|
|
5157
|
-
]), 1040, ["class", "workflow-object", "workflow-execution", "too-much-data-title", "no-data-in-branch-message", "executing-message", "pane-type", "display-mode", "disable-ai-content", "is-executing", "collapsing-table-column-name"])) : createCommentVNode("", true);
|
|
5212
|
+
]), 1040, ["class", "workflow-object", "workflow-execution", "too-much-data-title", "no-data-in-branch-message", "executing-message", "pane-type", "display-mode", "disable-ai-content", "is-executing", "collapsing-table-column-name", "search-shortcut"])) : createCommentVNode("", true);
|
|
5158
5213
|
};
|
|
5159
5214
|
}
|
|
5160
5215
|
});
|
|
@@ -5269,13 +5324,16 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
5269
5324
|
latestInfo: {},
|
|
5270
5325
|
panels: {},
|
|
5271
5326
|
collapsingInputTableColumnName: {},
|
|
5272
|
-
collapsingOutputTableColumnName: {}
|
|
5327
|
+
collapsingOutputTableColumnName: {},
|
|
5328
|
+
isHeaderClickable: { type: Boolean }
|
|
5273
5329
|
},
|
|
5274
5330
|
emits: ["clickHeader", "toggleInputOpen", "toggleOutputOpen", "collapsingInputTableColumnChanged", "collapsingOutputTableColumnChanged"],
|
|
5275
5331
|
setup(__props, { emit: __emit }) {
|
|
5276
5332
|
const emit = __emit;
|
|
5277
5333
|
const locale = useI18n$1();
|
|
5278
5334
|
const nodeTypeStore = useNodeTypesStore();
|
|
5335
|
+
const ndvStore = useNDVStore();
|
|
5336
|
+
const experimentalNdvStore = useExperimentalNdvStore();
|
|
5279
5337
|
const type = computed(() => nodeTypeStore.getNodeType(__props.logEntry.node.type));
|
|
5280
5338
|
const consumedTokens2 = computed(() => getSubtreeTotalConsumedTokens(__props.logEntry, false));
|
|
5281
5339
|
const isTriggerNode = computed(() => type.value?.group.includes("trigger"));
|
|
@@ -5289,6 +5347,9 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
5289
5347
|
allowFullSize: true
|
|
5290
5348
|
});
|
|
5291
5349
|
const shouldResize = computed(() => __props.panels === LOG_DETAILS_PANEL_STATE.BOTH);
|
|
5350
|
+
const searchShortcutPriorityPanel = computed(
|
|
5351
|
+
() => ndvStore.isNDVOpen || experimentalNdvStore.isMapperOpen ? void 0 : __props.panels === LOG_DETAILS_PANEL_STATE.INPUT ? "input" : "output"
|
|
5352
|
+
);
|
|
5292
5353
|
function handleResizeEnd() {
|
|
5293
5354
|
if (resizer.isCollapsed.value) {
|
|
5294
5355
|
emit("toggleInputOpen", false);
|
|
@@ -5308,6 +5369,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
5308
5369
|
createVNode(LogsPanelHeader, {
|
|
5309
5370
|
"data-test-id": "log-details-header",
|
|
5310
5371
|
class: normalizeClass(_ctx.$style.header),
|
|
5372
|
+
"is-clickable": _ctx.isHeaderClickable,
|
|
5311
5373
|
onClick: _cache[2] || (_cache[2] = ($event) => emit("clickHeader"))
|
|
5312
5374
|
}, {
|
|
5313
5375
|
title: withCtx(() => [
|
|
@@ -5380,7 +5442,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
5380
5442
|
renderSlot(_ctx.$slots, "actions")
|
|
5381
5443
|
]),
|
|
5382
5444
|
_: 3
|
|
5383
|
-
}, 8, ["class"]),
|
|
5445
|
+
}, 8, ["class", "is-clickable"]),
|
|
5384
5446
|
_ctx.isOpen ? (openBlock(), createElementBlock("div", {
|
|
5385
5447
|
key: 0,
|
|
5386
5448
|
class: normalizeClass(_ctx.$style.content),
|
|
@@ -5419,8 +5481,9 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
5419
5481
|
title: unref(locale).baseText("logs.details.header.actions.input"),
|
|
5420
5482
|
"log-entry": _ctx.logEntry,
|
|
5421
5483
|
"collapsing-table-column-name": _ctx.collapsingInputTableColumnName,
|
|
5484
|
+
"search-shortcut": searchShortcutPriorityPanel.value === "input" ? "ctrl+f" : void 0,
|
|
5422
5485
|
onCollapsingTableColumnChanged: _cache[3] || (_cache[3] = ($event) => emit("collapsingInputTableColumnChanged", $event))
|
|
5423
|
-
}, null, 8, ["title", "log-entry", "collapsing-table-column-name"])
|
|
5486
|
+
}, null, 8, ["title", "log-entry", "collapsing-table-column-name", "search-shortcut"])
|
|
5424
5487
|
]),
|
|
5425
5488
|
_: 1
|
|
5426
5489
|
}, 8, ["class", "width", "style", "is-resizing-enabled", "window", "onResize"])) : createCommentVNode("", true),
|
|
@@ -5432,8 +5495,9 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
5432
5495
|
title: unref(locale).baseText("logs.details.header.actions.output"),
|
|
5433
5496
|
"log-entry": _ctx.logEntry,
|
|
5434
5497
|
"collapsing-table-column-name": _ctx.collapsingOutputTableColumnName,
|
|
5498
|
+
"search-shortcut": searchShortcutPriorityPanel.value === "output" ? "ctrl+f" : void 0,
|
|
5435
5499
|
onCollapsingTableColumnChanged: _cache[4] || (_cache[4] = ($event) => emit("collapsingOutputTableColumnChanged", $event))
|
|
5436
|
-
}, null, 8, ["class", "title", "log-entry", "collapsing-table-column-name"])) : createCommentVNode("", true)
|
|
5500
|
+
}, null, 8, ["class", "title", "log-entry", "collapsing-table-column-name", "search-shortcut"])) : createCommentVNode("", true)
|
|
5437
5501
|
], 64))
|
|
5438
5502
|
], 2)) : createCommentVNode("", true)
|
|
5439
5503
|
], 2);
|
|
@@ -5538,7 +5602,9 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
5538
5602
|
"activator-size": "small",
|
|
5539
5603
|
items: menuItems.value,
|
|
5540
5604
|
teleported: false,
|
|
5541
|
-
onSelect: handleSelectMenuItem
|
|
5605
|
+
onSelect: handleSelectMenuItem,
|
|
5606
|
+
onClick: _cache[1] || (_cache[1] = withModifiers(() => {
|
|
5607
|
+
}, ["stop"]))
|
|
5542
5608
|
}, null, 8, ["items"])) : createCommentVNode("", true),
|
|
5543
5609
|
_ctx.showToggleButton ? (openBlock(), createBlock(KeyboardShortcutTooltip, {
|
|
5544
5610
|
key: 2,
|
|
@@ -5554,7 +5620,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
5554
5620
|
"icon-size": "medium",
|
|
5555
5621
|
icon: _ctx.isOpen ? "chevron-down" : "chevron-up",
|
|
5556
5622
|
"aria-label": toggleButtonText.value,
|
|
5557
|
-
onClick: _cache[
|
|
5623
|
+
onClick: _cache[2] || (_cache[2] = withModifiers(($event) => emit("toggleOpen"), ["stop"]))
|
|
5558
5624
|
}, null, 8, ["icon", "aria-label"])
|
|
5559
5625
|
]),
|
|
5560
5626
|
_: 1
|
|
@@ -5571,16 +5637,28 @@ const cssModules$1 = {
|
|
|
5571
5637
|
"$style": style0$1
|
|
5572
5638
|
};
|
|
5573
5639
|
const LogsPanelActions = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__cssModules", cssModules$1]]);
|
|
5574
|
-
function
|
|
5640
|
+
function useThrottle(state, timeout) {
|
|
5641
|
+
const throttled = shallowRef(state.value);
|
|
5642
|
+
watch(
|
|
5643
|
+
state,
|
|
5644
|
+
useThrottleFn(() => throttled.value = state.value, timeout, true, true)
|
|
5645
|
+
);
|
|
5646
|
+
return throttled;
|
|
5647
|
+
}
|
|
5648
|
+
function useLogsExecutionData(isEnabled) {
|
|
5575
5649
|
const nodeHelpers = useNodeHelpers();
|
|
5576
5650
|
const workflowsStore = useWorkflowsStore();
|
|
5577
5651
|
const toast = useToast();
|
|
5578
|
-
const
|
|
5652
|
+
const state = ref();
|
|
5653
|
+
const updateInterval = computed(
|
|
5654
|
+
() => Object.keys(state.value?.startData ?? {}).length > 1 ? LOGS_EXECUTION_DATA_THROTTLE_DURATION : 0
|
|
5655
|
+
);
|
|
5656
|
+
const throttledState = useThrottle(state, updateInterval);
|
|
5579
5657
|
const subWorkflowExecData = ref({});
|
|
5580
5658
|
const subWorkflows = ref({});
|
|
5581
5659
|
const workflow = computed(
|
|
5582
|
-
() =>
|
|
5583
|
-
...
|
|
5660
|
+
() => throttledState.value ? new Workflow({
|
|
5661
|
+
...throttledState.value.response.workflowData,
|
|
5584
5662
|
nodeTypes: workflowsStore.getNodeTypes()
|
|
5585
5663
|
}) : void 0
|
|
5586
5664
|
);
|
|
@@ -5604,27 +5682,28 @@ function useLogsExecutionData() {
|
|
|
5604
5682
|
)
|
|
5605
5683
|
);
|
|
5606
5684
|
const entries = computed(() => {
|
|
5607
|
-
if (!
|
|
5685
|
+
if (!isEnabled.value || !throttledState.value || !workflow.value) {
|
|
5608
5686
|
return [];
|
|
5609
5687
|
}
|
|
5688
|
+
const mergedExecutionData = mergeStartData(
|
|
5689
|
+
throttledState.value.startData,
|
|
5690
|
+
throttledState.value.response
|
|
5691
|
+
);
|
|
5610
5692
|
return createLogTree(
|
|
5611
5693
|
workflow.value,
|
|
5612
|
-
|
|
5694
|
+
mergedExecutionData,
|
|
5613
5695
|
subWorkflows.value,
|
|
5614
5696
|
subWorkflowExecData.value
|
|
5615
5697
|
);
|
|
5616
5698
|
});
|
|
5617
|
-
const updateInterval = computed(
|
|
5618
|
-
() => (entries.value?.length ?? 0) > 1 ? LOGS_EXECUTION_DATA_THROTTLE_DURATION : 0
|
|
5619
|
-
);
|
|
5620
5699
|
function resetExecutionData() {
|
|
5621
|
-
|
|
5700
|
+
state.value = void 0;
|
|
5622
5701
|
workflowsStore.setWorkflowExecutionData(null);
|
|
5623
5702
|
nodeHelpers.updateNodesExecutionIssues();
|
|
5624
5703
|
}
|
|
5625
5704
|
async function loadSubExecution(logEntry) {
|
|
5626
5705
|
const locator = findSubExecutionLocator(logEntry);
|
|
5627
|
-
if (!
|
|
5706
|
+
if (!state.value || locator === void 0) {
|
|
5628
5707
|
return;
|
|
5629
5708
|
}
|
|
5630
5709
|
try {
|
|
@@ -5653,10 +5732,10 @@ function useLogsExecutionData() {
|
|
|
5653
5732
|
],
|
|
5654
5733
|
useThrottleFn(
|
|
5655
5734
|
([executionId], [previousExecutionId]) => {
|
|
5656
|
-
|
|
5657
|
-
workflowsStore.
|
|
5658
|
-
workflowsStore.
|
|
5659
|
-
|
|
5735
|
+
state.value = workflowsStore.workflowExecutionData === null ? void 0 : {
|
|
5736
|
+
response: copyExecutionData(workflowsStore.workflowExecutionData),
|
|
5737
|
+
startData: workflowsStore.workflowExecutionStartedData?.[1] ?? {}
|
|
5738
|
+
};
|
|
5660
5739
|
if (executionId !== previousExecutionId) {
|
|
5661
5740
|
subWorkflowExecData.value = {};
|
|
5662
5741
|
subWorkflows.value = {};
|
|
@@ -5677,7 +5756,7 @@ function useLogsExecutionData() {
|
|
|
5677
5756
|
}
|
|
5678
5757
|
);
|
|
5679
5758
|
return {
|
|
5680
|
-
execution: computed(() =>
|
|
5759
|
+
execution: computed(() => throttledState.value?.response),
|
|
5681
5760
|
entries,
|
|
5682
5761
|
hasChat,
|
|
5683
5762
|
latestNodeNameById,
|
|
@@ -6088,7 +6167,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
6088
6167
|
refreshSession,
|
|
6089
6168
|
displayExecution
|
|
6090
6169
|
} = useChatState(props.isReadOnly);
|
|
6091
|
-
const { entries, execution, hasChat, latestNodeNameById, resetExecutionData, loadSubExecution } = useLogsExecutionData();
|
|
6170
|
+
const { entries, execution, hasChat, latestNodeNameById, resetExecutionData, loadSubExecution } = useLogsExecutionData(isOpen);
|
|
6092
6171
|
const { flatLogEntries, toggleExpanded } = useLogsTreeExpand(entries, loadSubExecution);
|
|
6093
6172
|
const { selected: selected2, select, selectNext, selectPrev } = useLogsSelection(
|
|
6094
6173
|
execution,
|
|
@@ -6124,7 +6203,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
6124
6203
|
ArrowDown: selectNext,
|
|
6125
6204
|
ArrowUp: selectPrev,
|
|
6126
6205
|
Space: () => selected2.value && toggleExpanded(selected2.value),
|
|
6127
|
-
Enter: () => selected2.value && handleOpenNdv(selected2.value)
|
|
6206
|
+
Enter: () => selected2.value && handleOpenNdv(selected2.value),
|
|
6207
|
+
...isPoppedOut.value ? {
|
|
6208
|
+
// We need shortcuts for toggling input/output panel in the pop-out window only
|
|
6209
|
+
// because these are also implemented in the canvas
|
|
6210
|
+
i: () => logsStore.toggleInputOpen(),
|
|
6211
|
+
o: () => logsStore.toggleOutputOpen()
|
|
6212
|
+
} : {}
|
|
6128
6213
|
}));
|
|
6129
6214
|
function handleResizeOverviewPanelEnd() {
|
|
6130
6215
|
if (isOverviewPanelFullWidth.value) {
|
|
@@ -6202,12 +6287,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
6202
6287
|
"past-chat-messages": unref(previousChatMessages),
|
|
6203
6288
|
"show-close-button": false,
|
|
6204
6289
|
"is-new-logs-enabled": true,
|
|
6290
|
+
"is-header-clickable": !unref(isPoppedOut),
|
|
6205
6291
|
onClose: unref(onToggleOpen),
|
|
6206
6292
|
onRefreshSession: unref(refreshSession),
|
|
6207
6293
|
onDisplayExecution: unref(displayExecution),
|
|
6208
6294
|
onSendMessage: unref(sendMessage),
|
|
6209
|
-
onClickHeader:
|
|
6210
|
-
}, null, 8, ["is-open", "is-read-only", "messages", "session-id", "past-chat-messages", "onClose", "onRefreshSession", "onDisplayExecution", "onSendMessage"]))
|
|
6295
|
+
onClickHeader: unref(onToggleOpen)
|
|
6296
|
+
}, null, 8, ["is-open", "is-read-only", "messages", "session-id", "past-chat-messages", "is-header-clickable", "onClose", "onRefreshSession", "onDisplayExecution", "onSendMessage", "onClickHeader"]))
|
|
6211
6297
|
]),
|
|
6212
6298
|
_: 1
|
|
6213
6299
|
}, 8, ["is-resizing-enabled", "width", "style", "class", "window", "onResize", "onResizeend"])) : createCommentVNode("", true),
|
|
@@ -6237,7 +6323,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
6237
6323
|
entries: unref(entries),
|
|
6238
6324
|
"latest-node-info": unref(latestNodeNameById),
|
|
6239
6325
|
"flat-log-entries": unref(flatLogEntries),
|
|
6240
|
-
|
|
6326
|
+
"is-header-clickable": !unref(isPoppedOut),
|
|
6327
|
+
onClickHeader: unref(onToggleOpen),
|
|
6241
6328
|
onSelect: unref(select),
|
|
6242
6329
|
onClearExecutionData: unref(resetExecutionData),
|
|
6243
6330
|
onToggleExpanded: unref(toggleExpanded),
|
|
@@ -6247,7 +6334,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
6247
6334
|
!isLogDetailsVisuallyOpen.value ? (openBlock(), createBlock(LogsPanelActions, normalizeProps(mergeProps({ key: 0 }, logsPanelActionsProps.value)), null, 16)) : createCommentVNode("", true)
|
|
6248
6335
|
]),
|
|
6249
6336
|
_: 1
|
|
6250
|
-
}, 8, ["class", "is-open", "is-read-only", "is-compact", "selected", "execution", "entries", "latest-node-info", "flat-log-entries", "onSelect", "onClearExecutionData", "onToggleExpanded"])
|
|
6337
|
+
}, 8, ["class", "is-open", "is-read-only", "is-compact", "selected", "execution", "entries", "latest-node-info", "flat-log-entries", "is-header-clickable", "onClickHeader", "onSelect", "onClearExecutionData", "onToggleExpanded"])
|
|
6251
6338
|
]),
|
|
6252
6339
|
_: 1
|
|
6253
6340
|
}, 8, ["class", "width", "style", "is-resizing-enabled", "window", "onResize"]),
|
|
@@ -6261,7 +6348,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
6261
6348
|
panels: unref(logsStore).detailsState,
|
|
6262
6349
|
"collapsing-input-table-column-name": inputCollapsingColumnName.value,
|
|
6263
6350
|
"collapsing-output-table-column-name": outputCollapsingColumnName.value,
|
|
6264
|
-
|
|
6351
|
+
"is-header-clickable": !unref(isPoppedOut),
|
|
6352
|
+
onClickHeader: unref(onToggleOpen),
|
|
6265
6353
|
onToggleInputOpen: unref(logsStore).toggleInputOpen,
|
|
6266
6354
|
onToggleOutputOpen: unref(logsStore).toggleOutputOpen,
|
|
6267
6355
|
onCollapsingInputTableColumnChanged: handleChangeInputTableColumnCollapsing,
|
|
@@ -6271,7 +6359,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
6271
6359
|
isLogDetailsVisuallyOpen.value ? (openBlock(), createBlock(LogsPanelActions, normalizeProps(mergeProps({ key: 0 }, logsPanelActionsProps.value)), null, 16)) : createCommentVNode("", true)
|
|
6272
6360
|
]),
|
|
6273
6361
|
_: 1
|
|
6274
|
-
}, 8, ["class", "is-open", "log-entry", "window", "latest-info", "panels", "collapsing-input-table-column-name", "collapsing-output-table-column-name", "onToggleInputOpen", "onToggleOutputOpen"])) : createCommentVNode("", true)
|
|
6362
|
+
}, 8, ["class", "is-open", "log-entry", "window", "latest-info", "panels", "collapsing-input-table-column-name", "collapsing-output-table-column-name", "is-header-clickable", "onClickHeader", "onToggleInputOpen", "onToggleOutputOpen"])) : createCommentVNode("", true)
|
|
6275
6363
|
], 2)
|
|
6276
6364
|
], 2)
|
|
6277
6365
|
]),
|