n8n-editor-ui 1.92.0 → 1.94.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-CtKKeDrz.js → AnimatedSpinner-CY5xYI5m.js} +1 -1
- package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DR6h_xsK.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BOrzkwPH.js} +1 -1
- package/dist/assets/{AuthView-mKkzBRxh.js → AuthView-BTzGYAnY.js} +2 -2
- package/dist/assets/{CanvasChatSwitch-Bu2VD2kp.js → CanvasChatSwitch-CwpjFCL0.js} +17 -18
- package/dist/assets/{ChangePasswordView-D5UI1v-J.js → ChangePasswordView-BKR2UFVI.js} +3 -3
- package/dist/assets/CollectionParameter-BJtiV9En.js +4 -0
- package/dist/assets/{CredentialsView-B78eNJO5.js → CredentialsView-DVgxfnNi.js} +26 -11
- package/dist/assets/{DemoFooter-DP26HpCu.js → DemoFooter-C1T3Q0NX.js} +7 -8
- package/dist/assets/{ErrorView-C3fvEdCg.js → ErrorView-Cf2Yb8Ea.js} +1 -1
- package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-BBpwYdHY.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-DUu0UMcW.js} +2 -2
- package/dist/assets/{ExecutionsView-BvlDZwIs.js → ExecutionsView-DjNkfnDh.js} +20 -18
- package/dist/assets/{FileSaver.min-BzAtcQXX.js → FileSaver.min-C1p9Eies.js} +1 -1
- package/dist/assets/{FixedCollectionParameter-CS5zXMAh.js → FixedCollectionParameter-DN_uJhpe.js} +1 -1
- package/dist/assets/{ForgotMyPasswordView-CVQ7pcIG.js → ForgotMyPasswordView-BMQBDIrq.js} +3 -3
- package/dist/assets/{InsightsChartAverageRuntime-Boh0SMb3.js → InsightsChartAverageRuntime-JzBkV6Rc.js} +4 -4
- package/dist/assets/{InsightsChartFailed-IZ-KYOU9.js → InsightsChartFailed-DMD3c7zM.js} +4 -4
- package/dist/assets/{InsightsChartFailureRate-2fWw3p0L.js → InsightsChartFailureRate-D_qeZo4f.js} +4 -4
- package/dist/assets/{InsightsChartTimeSaved-B2pLVys1.js → InsightsChartTimeSaved-Cw2T-Wvp.js} +4 -4
- package/dist/assets/{InsightsChartTotal-2QD4wPLR.js → InsightsChartTotal-DlF47gob.js} +4 -4
- package/dist/assets/{InsightsDashboard-Bx4vx9gz.css → InsightsDashboard-BSrakbzr.css} +42 -8
- package/dist/assets/{InsightsDashboard-CbiFbJ8w.js → InsightsDashboard-CxQ9H296.js} +40 -41
- package/dist/assets/{InsightsPaywall-5d-cSdiS.js → InsightsPaywall-hRkAfeHz.js} +1 -1
- package/dist/assets/InsightsSummary-BcXd-3nU.js +209 -0
- package/dist/assets/{InsightsSummary-CdlaUpAt.css → InsightsSummary-DzGQpM5h.css} +27 -24
- package/dist/assets/{InsightsTableWorkflows-Blv_GPUj.css → InsightsTableWorkflows-DfTZQkWL.css} +3 -4
- package/dist/assets/{InsightsTableWorkflows-_eTCUNCX.js → InsightsTableWorkflows-ybloXdDn.js} +5 -6
- package/dist/assets/{Logo-Dl2xVRIu.js → Logo-BGe7-2Vd.js} +1 -1
- package/dist/assets/{LogsPanel-JnYirDqa.js → LogsPanel-DtTp6kY0.js} +334 -338
- package/dist/assets/{MainHeader-CEPLiR-5.css → MainHeader-Y95RcfHb.css} +24 -17
- package/dist/assets/{MainHeader-Bk29pgmL.js → MainHeader-h2DV-VuD.js} +148 -82
- package/dist/assets/{MainSidebar-BM5ku_wM.js → MainSidebar-AAHHRXFA.js} +28 -11
- package/dist/assets/{MainSidebar-zZpP3qQ0.css → MainSidebar-D1_1YFQZ.css} +2 -2
- package/dist/assets/{NodeCreation-BEjdAYc_.js → NodeCreation-nHiG-Lhi.js} +9 -5
- package/dist/assets/{NodeCreator-D9fmPdS2.css → NodeCreator-D18StsVZ.css} +1021 -174
- package/dist/assets/{NodeCreator-cEUgbAI9.js → NodeCreator-weAzsmlU.js} +862 -418
- package/dist/assets/{NodeDetailsView-D4O9dKTA.js → NodeDetailsView-BsXbcyfb.js} +22 -15
- package/dist/assets/{NodeDetailsView-DsFLtbxi.css → NodeDetailsView-DpO8nTmN.css} +16 -16
- package/dist/assets/{NodeView-DDSOUm8E.js → NodeView-BY1O3wWl.js} +104 -50
- package/dist/assets/{ProjectCardBadge-BNn2hiMe.js → ProjectCardBadge-3xpk5Z4e.js} +38 -2
- package/dist/assets/{ProjectHeader-CaEZ2OPj.js → ProjectHeader-CpoOisjf.js} +106 -64
- package/dist/assets/{ProjectSettings-otA8E-yW.js → ProjectSettings-B__3XaPY.js} +14 -3
- package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-C3JbZMCk.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-DaoPdG_5.js} +1 -1
- package/dist/assets/{ResourcesListLayout-1d9Ic6VX.js → ResourcesListLayout-DAxou314.js} +156 -53
- package/dist/assets/{ResourcesListLayout-CtGME7aU.css → ResourcesListLayout-DuNjbsMn.css} +8 -8
- package/dist/assets/{RunData-BjlZgIyx.css → RunData-CE5FsU6k.css} +2 -2
- package/dist/assets/{RunData-Bx47sNQp.js → RunData-fnd-jejc.js} +257 -99
- package/dist/assets/{RunDataAi-DOac7nwD.js → RunDataAi-Ck3VGKP_.js} +3 -4
- package/dist/assets/{RunDataJson-Pev6yNEV.js → RunDataJson-B80Z4URL.js} +7 -7
- package/dist/assets/{RunDataJsonActions-Co4xgmVq.js → RunDataJsonActions-CdZi1Qul.js} +1 -1
- package/dist/assets/{RunDataParsedAiContent-D6MNLmT3.js → RunDataParsedAiContent-BczxQ63H.js} +5 -5
- package/dist/assets/{RunDataSearch-C8orcAlP.js → RunDataSearch-C4KmCz4c.js} +1 -1
- package/dist/assets/{RunDataTable-oi_l8dhA.js → RunDataTable-CsLCZIWp.js} +3 -3
- package/dist/assets/{SamlOnboarding-CT5J6dx0.js → SamlOnboarding-DkhjCrPa.js} +3 -3
- package/dist/assets/{SettingsApiView-CupjcI9v.js → SettingsApiView-Ci2-rEpm.js} +1 -1
- package/dist/assets/{SettingsCommunityNodesView-B5K2VLyJ.js → SettingsCommunityNodesView-_UOppuqS.js} +24 -11
- package/dist/assets/{SettingsExternalSecrets-BidJCf_t.js → SettingsExternalSecrets-DHIkKr53.js} +1 -1
- package/dist/assets/{SettingsLdapView-Cva6akhW.js → SettingsLdapView-B8ezgdqP.js} +1 -1
- package/dist/assets/{SettingsLogStreamingView-Cy-rAKUO.js → SettingsLogStreamingView-YP6Xy7Fe.js} +1 -1
- package/dist/assets/{SettingsPersonalView-ZJ1Syok2.js → SettingsPersonalView-BmbFyWPb.js} +1 -1
- package/dist/assets/{SettingsSourceControl-CMtqqlkO.js → SettingsSourceControl-DwaOdDke.js} +1 -1
- package/dist/assets/{SettingsSso-Bi3OpykL.js → SettingsSso-DOC-P2wt.js} +14 -1
- package/dist/assets/{SettingsUsageAndPlan-C5TbwZhP.js → SettingsUsageAndPlan-DVOLlEkG.js} +1 -1
- package/dist/assets/{SettingsUsersView-BHuP5k0A.js → SettingsUsersView-CN_KLeIm.js} +1 -1
- package/dist/assets/{SettingsView-DPIIqaKN.js → SettingsView-DiAhLyco.js} +1 -1
- package/dist/assets/{SetupView-C4V9j6sh.js → SetupView-OE_yCNOU.js} +3 -3
- package/dist/assets/{SetupWorkflowCredentialsButton-BZ9ILQUp.js → SetupWorkflowCredentialsButton-Dx1IkZgW.js} +1 -1
- package/dist/assets/{SetupWorkflowFromTemplateView-3uV3zSU2.js → SetupWorkflowFromTemplateView-lQXKgIuL.js} +3 -3
- package/dist/assets/{SigninView-DWZHdCjG.js → SigninView-BWSrzbF7.js} +3 -3
- package/dist/assets/{SignoutView-DbduXAir.js → SignoutView-DxGgFxt2.js} +1 -1
- package/dist/assets/{SignupView-DWq6VACk.js → SignupView-Dtu5bMqF.js} +3 -3
- package/dist/assets/{TemplateDetails-BckqE6GK.js → TemplateDetails-CQ7TYqsP.js} +1 -1
- package/dist/assets/{TemplateList-Bw0JeBMP.js → TemplateList-Cxmv-0p-.js} +1 -1
- package/dist/assets/{TemplatesCollectionView-CAKT-mpV.js → TemplatesCollectionView-xvV6FXib.js} +5 -5
- package/dist/assets/{TemplatesSearchView-I2a5us58.js → TemplatesSearchView-CsECyZ52.js} +3 -3
- package/dist/assets/{TemplatesView-6EwGFFJK.js → TemplatesView-DrEKpZTU.js} +1 -1
- package/dist/assets/{TemplatesWorkflowView-C8xYMhwu.js → TemplatesWorkflowView-iSAL_yol.js} +5 -5
- package/dist/assets/{TestDefinitionEditView-CNd3Cuzq.js → TestDefinitionEditView-C3ohfu_r.js} +6 -7
- package/dist/assets/{TestDefinitionListView-BwTWIaAM.js → TestDefinitionListView-Dwto0jxH.js} +1 -1
- package/dist/assets/{TestDefinitionNewView-BQas0_G1.js → TestDefinitionNewView-9xVUm2ZJ.js} +2 -2
- package/dist/assets/{TestDefinitionRootView-D971MFye.js → TestDefinitionRootView-DLurQ4xl.js} +1 -1
- package/dist/assets/{VariablesView-DcBBuFxh.js → VariablesView-Cg2WSt_e.js} +4 -3
- package/dist/assets/{WorkerView-DSgBNIeb.js → WorkerView-BG-Dl0Ej.js} +6 -6
- package/dist/assets/{WorkflowActivator-DAyH7N29.css → WorkflowActivator-DrMTmuTZ.css} +2 -2
- package/dist/assets/{WorkflowActivator-CPCbgb_n.js → WorkflowActivator-e7wvW1kJ.js} +17 -11
- package/dist/assets/{WorkflowExecutionsInfoAccordion-Bc6vzAZu.js → WorkflowExecutionsInfoAccordion-CijtfO0l.js} +1 -1
- package/dist/assets/{WorkflowExecutionsLandingPage-BPPS4V9i.js → WorkflowExecutionsLandingPage-Do4y1yOx.js} +2 -2
- package/dist/assets/{WorkflowExecutionsPreview-Bbb5MB8Z.js → WorkflowExecutionsPreview-Bqo_3PXl.js} +6 -6
- package/dist/assets/{WorkflowExecutionsView-Pz-7iHJY.js → WorkflowExecutionsView-C1gS45nc.js} +10 -10
- package/dist/assets/{WorkflowHistory-Czo9IuI6.js → WorkflowHistory-CypQw7rC.js} +37 -19
- package/dist/assets/{WorkflowOnboardingView-B8DdkfJ5.js → WorkflowOnboardingView-DoKXpaNj.js} +1 -1
- package/dist/assets/{WorkflowPreview-eVlO1itk.js → WorkflowPreview-Bxs5XzBX.js} +1 -1
- package/dist/assets/{WorkflowsView-Cr2D0vym.js → WorkflowsView-BlvgD3xI.js} +299 -157
- package/dist/assets/{WorkflowsView-B2_HJCJ5.css → WorkflowsView-CQvTAWQ0.css} +24 -13
- package/dist/assets/{chartjs.utils-Dk1WO3Mr.js → chartjs.utils-CuWcgqCr.js} +2 -2
- package/dist/assets/{dateFormatter-C8N5khiG.js → dateFormatter-LbucaaRt.js} +1 -1
- package/dist/assets/{easyAiWorkflowUtils-CLqHnasO.js → easyAiWorkflowUtils-_kvYb5hw.js} +1 -1
- package/dist/assets/{global-link-actions-BvoZh8u9.js → global-link-actions-DG0SjhQE.js} +1 -1
- package/dist/assets/{import-curl-BpxkGYMX.js → import-curl-DQ6uPzZ1.js} +1 -1
- package/dist/assets/{index-DCpy4nCU.css → index-BA8d2DN9.css} +311 -515
- package/dist/assets/{index-B6eunbxp.js → index-hdsPF3tl.js} +61611 -57550
- package/dist/assets/{index-Br8T1Gn6.js → index-vIybYvt3.js} +1 -1
- package/dist/assets/{pickBy-8Urz9lDY.js → pickBy-DmKUpB7M.js} +1 -1
- package/dist/assets/{polyfills-CLZ4X0Ad.js → polyfills-J2x06Gdp.js} +157 -224
- package/dist/assets/{templateActions-DzjysjbQ.js → templateActions-DxoxchKp.js} +1 -1
- package/dist/assets/{typescript.worker-BsxN2afA.js → typescript.worker-B1loTpxy.js} +1 -1
- package/dist/assets/{useBeforeUnload-DxrN8vOO.js → useBeforeUnload-B7JAQiE8.js} +1 -1
- package/dist/assets/{useCanvasMapping-cuXLM-h-.css → useCanvasMapping-CFf4cwnq.css} +6 -5
- package/dist/assets/{useCanvasMapping-C2BQB9QB.js → useCanvasMapping-CvcOHj5p.js} +94 -50
- package/dist/assets/{useClearExecutionButtonVisible-BV-jMf2m.js → useClearExecutionButtonVisible-DFNEJves.js} +1 -2
- package/dist/assets/{useExecutionDebugging-0pPCimcw.js → useExecutionDebugging-DsRIfE0y.js} +1 -1
- package/dist/assets/{useExecutionHelpers-DIvhViMz.js → useExecutionHelpers-CEOL8_vt.js} +3 -3
- package/dist/assets/{useImportCurlCommand-BWf4R83s.js → useImportCurlCommand-DdIN4YaF.js} +2 -2
- package/dist/assets/useProjectPages-OGc-GAxb.js +17 -0
- package/dist/assets/{usePushConnection-Pobjq0U9.js → usePushConnection-DNGIaS0A.js} +29 -127
- package/dist/assets/{useTestDefinitionForm-BA3IS_2B.js → useTestDefinitionForm-Bi6EgFVm.js} +1 -1
- package/dist/assets/{useWorkflowActivate-DFqvrpj6.js → useWorkflowActivate-CJ1hLmv2.js} +1 -1
- package/dist/assets/{useWorkflowSaving-BACesUoL.js → useWorkflowSaving-BuokdhTC.js} +2 -2
- package/dist/index.html +3 -3
- package/package.json +1 -1
- package/tsconfig.json +1 -0
- package/vite.config.mts +4 -0
- package/dist/assets/CollectionParameter-BeCTpZ-q.js +0 -4
- package/dist/assets/InsightsSummary-gldDQ9rg.js +0 -207
- package/dist/assets/useCanvasOperations-DaP5jKbH.js +0 -3183
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunDataTable-
|
|
2
|
-
import {
|
|
3
|
-
import { F as FileSaver_minExports } from "./FileSaver.min-
|
|
4
|
-
import { u as useExecutionHelpers } from "./useExecutionHelpers-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunDataTable-CsLCZIWp.js","assets/index-hdsPF3tl.js","assets/index-BA8d2DN9.css","assets/useExecutionHelpers-CEOL8_vt.js","assets/dateFormatter-LbucaaRt.js","assets/RunDataTable-CUxj7dHx.css","assets/RunDataJson-B80Z4URL.js","assets/FileSaver.min-C1p9Eies.js","assets/RunDataJson-BH9HLoGC.css","assets/RunDataParsedAiContent-BczxQ63H.js","assets/RunDataParsedAiContent-9EEUzCKp.css","assets/RunDataSearch-C4KmCz4c.js","assets/RunDataSearch-R6qtl0Jf.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import { dX as hasKey, cD as getDefaultExportFromCjs, d as defineComponent, r as ref, dY as MarkdownIt, q as computed, aq as h, b2 as isRef, dZ as isReactive, d_ as isProxy, dn as toRaw, d$ as AGENT_LANGCHAIN_NODE_TYPE, bg as useClipboard, a as useToast, e0 as useAIAssistantHelpers, bz as useNodeTypesStore, as as useNDVStore, Z as useRootStore, dL as useAssistantStore, H as useUIStore, e1 as MAX_DISPLAY_DATA_SIZE, dN as isCommunityPackageName, c as useI18n, h as resolveComponent, cu as resolveDirective, i as createElementBlock, g as openBlock, n as normalizeClass, k as createBaseVNode, f as createCommentVNode, aA as withDirectives, t as toDisplayString, j as createVNode, m as unref, e2 as InlineAskAssistantButton, w as withCtx, aT as _sfc_main$b, l as createTextVNode, F as Fragment, D as renderList, e3 as NEW_ASSISTANT_SESSION_MODAL, cA as sanitizeHtml, by as NodeConnectionTypes, e4 as isObjectEmpty, bf as N8nText, b3 as withModifiers, _ as _export_sfc, e5 as requireVue, e6 as sanitizeHtml$1, e7 as sanitizeHtmlExports, Q as useWorkflowsStore, o as onMounted, c3 as jsonParse, e as createBlock, bA as useNodeHelpers, aR as N8nTooltip, aS as N8nLink, X as watch, bJ as N8nRadioButtons, aV as createSlots, bF as N8nIcon, a0 as useSourceControlStore, dM as useSchemaPreviewStore, R as useRoute, bI as toRef, bl as usePinnedData, e8 as useNodeType, cZ as storeToRefs, e9 as TRIMMED_TASK_DATA_CONNECTIONS_KEY, ea as executionDataToJson, eb as NODE_TYPES_EXCLUDED_FROM_OUTPUT_NAME_APPEND, ec as CORE_NODES_CATEGORY, ed as computedAsync, bQ as ndvEventBus, ag as useTelemetry, y as onBeforeUnmount, aJ as useStorage, ee as LOCAL_STORAGE_PIN_DATA_DISCOVERY_NDV_FLAG, ef as dataPinningEventBus, eg as LOCAL_STORAGE_PIN_DATA_DISCOVERY_CANVAS_FLAG, eh as searchInObject, bw as getConnectionTypes, ei as isObject, ej as MAX_DISPLAY_DATA_SIZE_SCHEMA_VIEW, ek as HTML_NODE_TYPE, x as renderSlot, cb as N8nCallout, el as DATA_PINNING_DOCS_URL, aB as vShow, c9 as Suspense, ca as defineAsyncComponent, b5 as normalizeProps, b8 as mergeProps, bh as N8nButton, em as _sfc_main$c, en as N8nSelect, eo as N8nTabs, b6 as guardReactiveProps, ep as _sfc_main$d, eq as JsonEditor, er as DATA_EDITING_DOCS_URL, dy as InfoTip, es as N8nBlockUi, ao as __vitePreload, et as isPresent, bx as getNodeOutputs, eu as getGenericHints, ev as clearJsonKey, ew as TEST_PIN_DATA, aP as useExternalHooks, ex as isEmpty, ey as isEqual } from "./index-hdsPF3tl.js";
|
|
3
|
+
import { F as FileSaver_minExports } from "./FileSaver.min-C1p9Eies.js";
|
|
4
|
+
import { u as useExecutionHelpers } from "./useExecutionHelpers-CEOL8_vt.js";
|
|
5
5
|
function responseHasSubworkflowData(response) {
|
|
6
6
|
return ["executionId", "workflowId"].every(
|
|
7
7
|
(x) => hasKey(response, x) && typeof response[x] === "string"
|
|
@@ -1583,6 +1583,31 @@ function requireCore() {
|
|
|
1583
1583
|
}
|
|
1584
1584
|
var coreExports = /* @__PURE__ */ requireCore();
|
|
1585
1585
|
const HighlightJS = /* @__PURE__ */ getDefaultExportFromCjs(coreExports);
|
|
1586
|
+
const VueMarkdown = defineComponent({
|
|
1587
|
+
name: "VueMarkdown",
|
|
1588
|
+
props: {
|
|
1589
|
+
source: {
|
|
1590
|
+
type: String,
|
|
1591
|
+
required: true
|
|
1592
|
+
},
|
|
1593
|
+
options: {
|
|
1594
|
+
type: Object,
|
|
1595
|
+
required: false
|
|
1596
|
+
},
|
|
1597
|
+
plugins: {
|
|
1598
|
+
type: Array,
|
|
1599
|
+
required: false
|
|
1600
|
+
}
|
|
1601
|
+
},
|
|
1602
|
+
setup(props) {
|
|
1603
|
+
const md = ref(new MarkdownIt(props.options ?? {}));
|
|
1604
|
+
for (const plugin of props.plugins ?? []) {
|
|
1605
|
+
md.value.use(plugin);
|
|
1606
|
+
}
|
|
1607
|
+
const content = computed(() => md.value.render(props.source));
|
|
1608
|
+
return () => h("div", { innerHTML: content.value });
|
|
1609
|
+
}
|
|
1610
|
+
});
|
|
1586
1611
|
function createNode(parent, nodeName, currentDepth, runIndex, r, children = []) {
|
|
1587
1612
|
return {
|
|
1588
1613
|
parent,
|
|
@@ -1606,9 +1631,17 @@ function getTreeNodeDataRec(parent, nodeName, currentDepth, workflow, aiData, ru
|
|
|
1606
1631
|
if (!connections) {
|
|
1607
1632
|
return resultData.map((d) => createNode(parent, nodeName, currentDepth, d.runIndex, d));
|
|
1608
1633
|
}
|
|
1634
|
+
const filteredAiData = currentDepth === 0 ? aiData?.filter(({ data }) => {
|
|
1635
|
+
if (!data?.source || data.source.every((source) => source === null)) {
|
|
1636
|
+
return true;
|
|
1637
|
+
}
|
|
1638
|
+
return data.source.some(
|
|
1639
|
+
(source) => source?.previousNode === nodeName && (runIndex === void 0 || source.previousNodeRun === runIndex)
|
|
1640
|
+
);
|
|
1641
|
+
}) : aiData;
|
|
1609
1642
|
const connectedSubNodes = workflow.getParentNodes(nodeName, "ALL_NON_MAIN", 1);
|
|
1610
1643
|
const treeNode = createNode(parent, nodeName, currentDepth, runIndex ?? 0);
|
|
1611
|
-
const children = (
|
|
1644
|
+
const children = (filteredAiData ?? []).flatMap(
|
|
1612
1645
|
(data) => connectedSubNodes.includes(data.node) && (runIndex === void 0 || data.runIndex === runIndex) ? getTreeNodeDataRec(treeNode, data.node, currentDepth + 1, workflow, aiData, data.runIndex) : []
|
|
1613
1646
|
);
|
|
1614
1647
|
treeNode.children = children;
|
|
@@ -1649,6 +1682,9 @@ function getReferencedData(taskData, withInput, withOutput) {
|
|
|
1649
1682
|
data: data[type][0],
|
|
1650
1683
|
inOut,
|
|
1651
1684
|
type,
|
|
1685
|
+
// Include source information in AI content to track which node triggered the execution
|
|
1686
|
+
// This enables filtering in the UI to show only relevant executions
|
|
1687
|
+
source: taskData.source,
|
|
1652
1688
|
metadata: {
|
|
1653
1689
|
executionTime: taskData.executionTime,
|
|
1654
1690
|
startTime: taskData.startTime,
|
|
@@ -1714,92 +1750,150 @@ function getConsumedTokensV2(task) {
|
|
|
1714
1750
|
}, emptyTokenUsageData);
|
|
1715
1751
|
return tokenUsage;
|
|
1716
1752
|
}
|
|
1717
|
-
function createNodeV2(
|
|
1753
|
+
function createNodeV2(node, context, runIndex, runData, children = []) {
|
|
1718
1754
|
return {
|
|
1719
|
-
parent,
|
|
1755
|
+
parent: context.parent,
|
|
1720
1756
|
node,
|
|
1721
|
-
id: `${node.name}:${runIndex}`,
|
|
1722
|
-
depth:
|
|
1757
|
+
id: `${context.workflow.id}:${node.name}:${context.executionId}:${runIndex}`,
|
|
1758
|
+
depth: context.depth,
|
|
1723
1759
|
runIndex,
|
|
1724
1760
|
runData,
|
|
1725
1761
|
children,
|
|
1726
|
-
consumedTokens: getConsumedTokensV2(runData)
|
|
1762
|
+
consumedTokens: getConsumedTokensV2(runData),
|
|
1763
|
+
workflow: context.workflow,
|
|
1764
|
+
executionId: context.executionId,
|
|
1765
|
+
execution: context.data
|
|
1727
1766
|
};
|
|
1728
1767
|
}
|
|
1729
|
-
function getTreeNodeDataV2(nodeName, runData,
|
|
1730
|
-
const node = workflow.getNode(nodeName);
|
|
1731
|
-
return node ? getTreeNodeDataRecV2(
|
|
1768
|
+
function getTreeNodeDataV2(nodeName, runData, runIndex, context) {
|
|
1769
|
+
const node = context.workflow.getNode(nodeName);
|
|
1770
|
+
return node ? getTreeNodeDataRecV2(node, runData, context, runIndex) : [];
|
|
1732
1771
|
}
|
|
1733
|
-
function
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1772
|
+
function getChildNodes(treeNode, node, runIndex, context) {
|
|
1773
|
+
if (hasSubExecution(treeNode)) {
|
|
1774
|
+
const workflowId = treeNode.runData.metadata?.subExecution?.workflowId;
|
|
1775
|
+
const executionId = treeNode.runData.metadata?.subExecution?.executionId;
|
|
1776
|
+
const workflow = workflowId ? context.workflows[workflowId] : void 0;
|
|
1777
|
+
const subWorkflowRunData = executionId ? context.subWorkflowData[executionId] : void 0;
|
|
1778
|
+
if (!workflow || !subWorkflowRunData || !executionId) {
|
|
1779
|
+
return [];
|
|
1780
|
+
}
|
|
1781
|
+
return createLogTreeRec({
|
|
1782
|
+
...context,
|
|
1783
|
+
parent: treeNode,
|
|
1784
|
+
depth: context.depth + 1,
|
|
1785
|
+
workflow,
|
|
1786
|
+
executionId,
|
|
1787
|
+
data: subWorkflowRunData
|
|
1788
|
+
});
|
|
1789
|
+
}
|
|
1790
|
+
const connectedSubNodes = context.workflow.getParentNodes(node.name, "ALL_NON_MAIN", 1);
|
|
1791
|
+
const isExecutionRoot = treeNode.parent === void 0 || treeNode.executionId !== treeNode.parent.executionId;
|
|
1792
|
+
return connectedSubNodes.flatMap(
|
|
1793
|
+
(subNodeName) => (context.data.resultData.runData[subNodeName] ?? []).flatMap((t, index) => {
|
|
1794
|
+
const isMatched = isExecutionRoot && t.source.some((source) => source !== null) ? t.source.some(
|
|
1795
|
+
(source) => source?.previousNode === node.name && (runIndex === void 0 || source.previousNodeRun === runIndex)
|
|
1796
|
+
) : runIndex === void 0 || index === runIndex;
|
|
1797
|
+
if (!isMatched) {
|
|
1739
1798
|
return [];
|
|
1740
1799
|
}
|
|
1741
|
-
const subNode = workflow.getNode(subNodeName);
|
|
1742
|
-
return subNode ? getTreeNodeDataRecV2(
|
|
1800
|
+
const subNode = context.workflow.getNode(subNodeName);
|
|
1801
|
+
return subNode ? getTreeNodeDataRecV2(
|
|
1802
|
+
subNode,
|
|
1803
|
+
t,
|
|
1804
|
+
{ ...context, depth: context.depth + 1, parent: treeNode },
|
|
1805
|
+
index
|
|
1806
|
+
) : [];
|
|
1743
1807
|
})
|
|
1744
|
-
)
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
const bTime = b.runData.startTime ?? 0;
|
|
1750
|
-
return aTime - bTime;
|
|
1751
|
-
});
|
|
1808
|
+
);
|
|
1809
|
+
}
|
|
1810
|
+
function getTreeNodeDataRecV2(node, runData, context, runIndex) {
|
|
1811
|
+
const treeNode = createNodeV2(node, context, runIndex ?? 0, runData);
|
|
1812
|
+
const children = getChildNodes(treeNode, node, runIndex, context).sort(sortLogEntries);
|
|
1752
1813
|
treeNode.children = children;
|
|
1753
1814
|
return [treeNode];
|
|
1754
1815
|
}
|
|
1755
1816
|
function getTotalConsumedTokens(...usage) {
|
|
1756
1817
|
return usage.reduce(addTokenUsageData, emptyTokenUsageData);
|
|
1757
1818
|
}
|
|
1758
|
-
function getSubtreeTotalConsumedTokens(treeNode) {
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1819
|
+
function getSubtreeTotalConsumedTokens(treeNode, includeSubWorkflow) {
|
|
1820
|
+
const executionId = treeNode.executionId;
|
|
1821
|
+
function calculate(currentNode) {
|
|
1822
|
+
if (!includeSubWorkflow && currentNode.executionId !== executionId) {
|
|
1823
|
+
return emptyTokenUsageData;
|
|
1824
|
+
}
|
|
1825
|
+
return getTotalConsumedTokens(
|
|
1826
|
+
currentNode.consumedTokens,
|
|
1827
|
+
...currentNode.children.map(calculate)
|
|
1828
|
+
);
|
|
1829
|
+
}
|
|
1830
|
+
return calculate(treeNode);
|
|
1763
1831
|
}
|
|
1764
|
-
function findLogEntryToAutoSelectRec(
|
|
1832
|
+
function findLogEntryToAutoSelectRec(subTree, depth) {
|
|
1765
1833
|
for (const entry of subTree) {
|
|
1766
|
-
|
|
1767
|
-
if (taskData?.error) {
|
|
1834
|
+
if (entry.runData?.error) {
|
|
1768
1835
|
return entry;
|
|
1769
1836
|
}
|
|
1770
|
-
const childAutoSelect = findLogEntryToAutoSelectRec(
|
|
1837
|
+
const childAutoSelect = findLogEntryToAutoSelectRec(entry.children, depth + 1);
|
|
1771
1838
|
if (childAutoSelect) {
|
|
1772
1839
|
return childAutoSelect;
|
|
1773
1840
|
}
|
|
1774
|
-
if (
|
|
1841
|
+
if (entry.node.type === AGENT_LANGCHAIN_NODE_TYPE) {
|
|
1775
1842
|
return entry;
|
|
1776
1843
|
}
|
|
1777
1844
|
}
|
|
1778
1845
|
return depth === 0 ? subTree[0] : void 0;
|
|
1779
1846
|
}
|
|
1780
|
-
function
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
return runs.flatMap(({ nodeName, runIndex, task }) => {
|
|
1790
|
-
if (workflow.getParentNodes(nodeName, "ALL_NON_MAIN").length > 0) {
|
|
1791
|
-
return getTreeNodeDataV2(nodeName, task, workflow, runData, void 0);
|
|
1792
|
-
}
|
|
1793
|
-
return getTreeNodeDataV2(nodeName, task, workflow, runData, runIndex);
|
|
1847
|
+
function createLogTree(workflow, response, workflows = {}, subWorkflowData = {}) {
|
|
1848
|
+
return createLogTreeRec({
|
|
1849
|
+
parent: void 0,
|
|
1850
|
+
depth: 0,
|
|
1851
|
+
executionId: response.id,
|
|
1852
|
+
workflow,
|
|
1853
|
+
workflows,
|
|
1854
|
+
data: response.data ?? { resultData: { runData: {} } },
|
|
1855
|
+
subWorkflowData
|
|
1794
1856
|
});
|
|
1795
1857
|
}
|
|
1796
|
-
function
|
|
1797
|
-
|
|
1798
|
-
(
|
|
1858
|
+
function createLogTreeRec(context) {
|
|
1859
|
+
const runs = Object.entries(context.data.resultData.runData).flatMap(
|
|
1860
|
+
([nodeName, taskData]) => context.workflow.getChildNodes(nodeName, "ALL_NON_MAIN").length > 0 || context.workflow.getNode(nodeName)?.disabled ? [] : taskData.map((task, runIndex) => ({
|
|
1861
|
+
nodeName,
|
|
1862
|
+
runData: task,
|
|
1863
|
+
runIndex,
|
|
1864
|
+
nodeHasMultipleRuns: taskData.length > 1
|
|
1865
|
+
}))
|
|
1866
|
+
).sort(sortLogEntries);
|
|
1867
|
+
return runs.flatMap(
|
|
1868
|
+
({ nodeName, runIndex, runData, nodeHasMultipleRuns }) => getTreeNodeDataV2(nodeName, runData, nodeHasMultipleRuns ? runIndex : void 0, context)
|
|
1799
1869
|
);
|
|
1800
1870
|
}
|
|
1801
|
-
function
|
|
1802
|
-
|
|
1871
|
+
function findLogEntryRec(id, entries) {
|
|
1872
|
+
for (const entry of entries) {
|
|
1873
|
+
if (entry.id === id) {
|
|
1874
|
+
return entry;
|
|
1875
|
+
}
|
|
1876
|
+
const child = findLogEntryRec(id, entry.children);
|
|
1877
|
+
if (child) {
|
|
1878
|
+
return child;
|
|
1879
|
+
}
|
|
1880
|
+
}
|
|
1881
|
+
return void 0;
|
|
1882
|
+
}
|
|
1883
|
+
function findSelectedLogEntry(selection, entries) {
|
|
1884
|
+
switch (selection.type) {
|
|
1885
|
+
case "initial":
|
|
1886
|
+
return findLogEntryToAutoSelectRec(entries, 0);
|
|
1887
|
+
case "none":
|
|
1888
|
+
return void 0;
|
|
1889
|
+
case "selected": {
|
|
1890
|
+
const entry = findLogEntryRec(selection.id, entries);
|
|
1891
|
+
if (entry) {
|
|
1892
|
+
return entry;
|
|
1893
|
+
}
|
|
1894
|
+
return findLogEntryToAutoSelectRec(entries, 0);
|
|
1895
|
+
}
|
|
1896
|
+
}
|
|
1803
1897
|
}
|
|
1804
1898
|
function deepToRaw(sourceObj) {
|
|
1805
1899
|
const seen = /* @__PURE__ */ new WeakMap();
|
|
@@ -1835,6 +1929,70 @@ function flattenLogEntries(entries, collapsedEntryIds, ret = []) {
|
|
|
1835
1929
|
}
|
|
1836
1930
|
return ret;
|
|
1837
1931
|
}
|
|
1932
|
+
function getEntryAtRelativeIndex(entries, id, relativeIndex) {
|
|
1933
|
+
const offset = entries.findIndex((e) => e.id === id);
|
|
1934
|
+
return offset === -1 ? void 0 : entries[offset + relativeIndex];
|
|
1935
|
+
}
|
|
1936
|
+
function sortLogEntries(a, b) {
|
|
1937
|
+
if (a.runData.startTime === b.runData.startTime) {
|
|
1938
|
+
return a.runData.executionIndex - b.runData.executionIndex;
|
|
1939
|
+
}
|
|
1940
|
+
return a.runData.startTime - b.runData.startTime;
|
|
1941
|
+
}
|
|
1942
|
+
function mergeStartData(startData, response) {
|
|
1943
|
+
if (!response.data) {
|
|
1944
|
+
return response;
|
|
1945
|
+
}
|
|
1946
|
+
const nodeNames = [
|
|
1947
|
+
...new Set(
|
|
1948
|
+
Object.keys(startData).concat(Object.keys(response.data.resultData.runData))
|
|
1949
|
+
).values()
|
|
1950
|
+
];
|
|
1951
|
+
const runData = Object.fromEntries(
|
|
1952
|
+
nodeNames.map((nodeName) => {
|
|
1953
|
+
const tasks = response.data?.resultData.runData[nodeName] ?? [];
|
|
1954
|
+
const mergedTasks = tasks.concat(
|
|
1955
|
+
(startData[nodeName] ?? []).filter(
|
|
1956
|
+
(task) => (
|
|
1957
|
+
// To remove duplicate runs, we check start time in addition to execution index
|
|
1958
|
+
// because nodes such as Wait and Form emits multiple websocket events with
|
|
1959
|
+
// different execution index for a single run
|
|
1960
|
+
tasks.every(
|
|
1961
|
+
(t) => t.startTime < task.startTime && t.executionIndex !== task.executionIndex
|
|
1962
|
+
)
|
|
1963
|
+
)
|
|
1964
|
+
).map((task) => ({
|
|
1965
|
+
...task,
|
|
1966
|
+
executionTime: 0,
|
|
1967
|
+
executionStatus: "running"
|
|
1968
|
+
}))
|
|
1969
|
+
);
|
|
1970
|
+
return [nodeName, mergedTasks];
|
|
1971
|
+
})
|
|
1972
|
+
);
|
|
1973
|
+
return {
|
|
1974
|
+
...response,
|
|
1975
|
+
data: {
|
|
1976
|
+
...response.data,
|
|
1977
|
+
resultData: {
|
|
1978
|
+
...response.data.resultData,
|
|
1979
|
+
runData
|
|
1980
|
+
}
|
|
1981
|
+
}
|
|
1982
|
+
};
|
|
1983
|
+
}
|
|
1984
|
+
function hasSubExecution(entry) {
|
|
1985
|
+
return !!entry.runData.metadata?.subExecution;
|
|
1986
|
+
}
|
|
1987
|
+
function getDepth(entry) {
|
|
1988
|
+
let depth = 0;
|
|
1989
|
+
let currentEntry = entry;
|
|
1990
|
+
while (currentEntry.parent !== void 0) {
|
|
1991
|
+
currentEntry = currentEntry.parent;
|
|
1992
|
+
depth++;
|
|
1993
|
+
}
|
|
1994
|
+
return depth;
|
|
1995
|
+
}
|
|
1838
1996
|
const _hoisted_1$8 = { class: "node-error-view__header" };
|
|
1839
1997
|
const _hoisted_2$4 = {
|
|
1840
1998
|
class: "node-error-view__header-message",
|
|
@@ -2783,20 +2941,20 @@ function requireVueJsonPretty() {
|
|
|
2783
2941
|
function p(e3) {
|
|
2784
2942
|
var t3 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "root", n3 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0, o2 = arguments.length > 3 ? arguments[3] : void 0, r2 = o2 || {}, l2 = r2.key, a2 = r2.index, c2 = r2.type, i2 = void 0 === c2 ? "content" : c2, u2 = r2.showComma, d2 = void 0 !== u2 && u2, f2 = r2.length, y2 = void 0 === f2 ? 1 : f2, v2 = s(e3);
|
|
2785
2943
|
if ("array" === v2) {
|
|
2786
|
-
var b2 =
|
|
2944
|
+
var b2 = h2(e3.map(function(e4, o3, r3) {
|
|
2787
2945
|
return p(e4, "".concat(t3, "[").concat(o3, "]"), n3 + 1, { index: o3, showComma: o3 !== r3.length - 1, length: y2, type: i2 });
|
|
2788
2946
|
}));
|
|
2789
2947
|
return [p("[", t3, n3, { showComma: false, key: l2, length: e3.length, type: "arrayStart" })[0]].concat(b2, p("]", t3, n3, { showComma: d2, length: e3.length, type: "arrayEnd" })[0]);
|
|
2790
2948
|
}
|
|
2791
2949
|
if ("object" === v2) {
|
|
2792
|
-
var g2 = Object.keys(e3), m2 =
|
|
2950
|
+
var g2 = Object.keys(e3), m2 = h2(g2.map(function(o3, r3, l3) {
|
|
2793
2951
|
return p(e3[o3], /^[a-zA-Z_]\w*$/.test(o3) ? "".concat(t3, ".").concat(o3) : "".concat(t3, '["').concat(o3, '"]'), n3 + 1, { key: o3, showComma: r3 !== l3.length - 1, length: y2, type: i2 });
|
|
2794
2952
|
}));
|
|
2795
2953
|
return [p("{", t3, n3, { showComma: false, key: l2, index: a2, length: g2.length, type: "objectStart" })[0]].concat(m2, p("}", t3, n3, { showComma: d2, length: g2.length, type: "objectEnd" })[0]);
|
|
2796
2954
|
}
|
|
2797
2955
|
return [{ content: e3, level: n3, key: l2, index: a2, path: t3, showComma: d2, length: y2, type: i2 }];
|
|
2798
2956
|
}
|
|
2799
|
-
function
|
|
2957
|
+
function h2(e3) {
|
|
2800
2958
|
if ("function" == typeof Array.prototype.flat) return e3.flat();
|
|
2801
2959
|
for (var t3 = n2(e3), o2 = []; t3.length; ) {
|
|
2802
2960
|
var r2 = t3.shift();
|
|
@@ -2855,7 +3013,7 @@ function requireVueJsonPretty() {
|
|
|
2855
3013
|
return "multiple" === e3.selectableType;
|
|
2856
3014
|
}), p2 = (0, a.computed)(function() {
|
|
2857
3015
|
return "single" === e3.selectableType;
|
|
2858
|
-
}),
|
|
3016
|
+
}), h3 = (0, a.computed)(function() {
|
|
2859
3017
|
return e3.nodeSelectable(e3.node) && (d2.value || p2.value);
|
|
2860
3018
|
}), f2 = (0, a.reactive)({ editing: false }), y2 = function(t4) {
|
|
2861
3019
|
var o3, r3, l3 = "null" === (r3 = null === (o3 = t4.target) || void 0 === o3 ? void 0 : o3.value) ? null : "undefined" === r3 ? void 0 : "true" === r3 || "false" !== r3 && (r3[0] + r3[r3.length - 1] === '""' || r3[0] + r3[r3.length - 1] === "''" ? r3.slice(1, -1) : "number" == typeof Number(r3) && !isNaN(Number(r3)) || "NaN" === r3 ? Number(r3) : r3);
|
|
@@ -2873,7 +3031,7 @@ function requireVueJsonPretty() {
|
|
|
2873
3031
|
}, C2 = function() {
|
|
2874
3032
|
n3("selectedChange", e3.node);
|
|
2875
3033
|
}, k2 = function() {
|
|
2876
|
-
n3("nodeClick", e3.node),
|
|
3034
|
+
n3("nodeClick", e3.node), h3.value && e3.selectOnClickNode && n3("selectedChange", e3.node);
|
|
2877
3035
|
}, w = function(t4) {
|
|
2878
3036
|
if (e3.editable && !f2.editing) {
|
|
2879
3037
|
f2.editing = true;
|
|
@@ -2886,7 +3044,7 @@ function requireVueJsonPretty() {
|
|
|
2886
3044
|
};
|
|
2887
3045
|
return function() {
|
|
2888
3046
|
var t4, n4 = e3.node;
|
|
2889
|
-
return (0, a.createVNode)("div", { class: { "vjs-tree-node": true, "has-selector": e3.showSelectController, "has-carets": e3.showIcon, "is-highlight": e3.highlightSelectedNode && e3.checked }, onClick: k2, style: e3.style }, [e3.showLineNumber && (0, a.createVNode)("span", { class: "vjs-node-index" }, [n4.id + 1]), e3.showSelectController &&
|
|
3047
|
+
return (0, a.createVNode)("div", { class: { "vjs-tree-node": true, "has-selector": e3.showSelectController, "has-carets": e3.showIcon, "is-highlight": e3.highlightSelectedNode && e3.checked }, onClick: k2, style: e3.style }, [e3.showLineNumber && (0, a.createVNode)("span", { class: "vjs-node-index" }, [n4.id + 1]), e3.showSelectController && h3.value && "objectEnd" !== n4.type && "arrayEnd" !== n4.type && (0, a.createVNode)(i, { isMultiple: d2.value, checked: e3.checked, onChange: C2 }, null), (0, a.createVNode)("div", { class: "vjs-indent" }, [Array.from(Array(n4.level)).map(function(t5, n5) {
|
|
2890
3048
|
return (0, a.createVNode)("div", { key: n5, class: { "vjs-indent-unit": true, "has-line": e3.showLine } }, null);
|
|
2891
3049
|
}), e3.showIcon && (0, a.createVNode)(u, { nodeType: n4.type, onClick: m2 }, null)]), n4.key && (0, a.createVNode)("span", { class: "vjs-key" }, [(t4 = e3.renderNodeKey, t4 ? t4({ node: e3.node, defaultKey: l2.value || "" }) : l2.value), (0, a.createVNode)("span", { class: "vjs-colon" }, [":".concat(e3.showKeyValueSpace ? " " : "")])]), (0, a.createVNode)("span", null, ["content" !== n4.type && n4.content ? (0, a.createVNode)(c, { data: n4.content.toString(), onClick: g2 }, null) : (0, a.createVNode)("span", { class: r2.value, onClick: !e3.editable || e3.editableTrigger && "click" !== e3.editableTrigger ? void 0 : w, onDblclick: e3.editable && "dblclick" === e3.editableTrigger ? w : void 0 }, [e3.editable && f2.editing ? (0, a.createVNode)("input", { value: v2.value, onChange: y2, style: { padding: "3px 8px", border: "1px solid #eee", boxShadow: "none", boxSizing: "border-box", borderRadius: 5, fontFamily: "inherit" } }, null) : b2()]), n4.showComma && (0, a.createVNode)("span", null, [","]), e3.showLength && e3.collapsed && (0, a.createVNode)("span", { class: "vjs-comment" }, [(0, a.createTextVNode)(" // "), n4.length, (0, a.createTextVNode)(" items ")])])]);
|
|
2892
3050
|
};
|
|
@@ -2924,7 +3082,7 @@ function requireVueJsonPretty() {
|
|
|
2924
3082
|
var r3, a2 = o3.level >= t3, c3 = null === (r3 = e3.pathCollapsible) || void 0 === r3 ? void 0 : r3.call(e3, o3);
|
|
2925
3083
|
return "objectStart" !== o3.type && "arrayStart" !== o3.type || !a2 && !c3 ? n3 : C(C({}, n3), {}, l({}, o3.path, 1));
|
|
2926
3084
|
}, {});
|
|
2927
|
-
}, s2 = (0, a.reactive)({ translateY: 0, visibleData: null, hiddenPaths: d2(e3.deep) }),
|
|
3085
|
+
}, s2 = (0, a.reactive)({ translateY: 0, visibleData: null, hiddenPaths: d2(e3.deep) }), h3 = (0, a.computed)(function() {
|
|
2928
3086
|
for (var e4 = null, t3 = [], n3 = u2.value.length, o3 = 0; o3 < n3; o3++) {
|
|
2929
3087
|
var r3 = C(C({}, u2.value[o3]), {}, { id: o3 }), l2 = s2.hiddenPaths[r3.path];
|
|
2930
3088
|
if (e4 && e4.path === r3.path) {
|
|
@@ -2946,7 +3104,7 @@ function requireVueJsonPretty() {
|
|
|
2946
3104
|
}), v2 = (0, a.computed)(function() {
|
|
2947
3105
|
return !e3.selectableType || e3.selectOnClickNode || e3.showSelectController ? "" : "When selectableType is not null, selectOnClickNode and showSelectController cannot be false at the same time, because this will cause the selection to fail.";
|
|
2948
3106
|
}), b2 = function() {
|
|
2949
|
-
var t3 =
|
|
3107
|
+
var t3 = h3.value;
|
|
2950
3108
|
if (e3.virtual) {
|
|
2951
3109
|
var n3, o3 = e3.height / e3.itemHeight, r3 = (null === (n3 = i2.value) || void 0 === n3 ? void 0 : n3.scrollTop) || 0, l2 = Math.floor(r3 / e3.itemHeight), a2 = l2 < 0 ? 0 : l2 + o3 > t3.length ? t3.length - o3 : l2;
|
|
2952
3110
|
a2 < 0 && (a2 = 0);
|
|
@@ -3010,7 +3168,7 @@ function requireVueJsonPretty() {
|
|
|
3010
3168
|
throw new Error("[VueJSONPretty] ".concat(e4));
|
|
3011
3169
|
}(v2.value);
|
|
3012
3170
|
}), (0, a.watchEffect)(function() {
|
|
3013
|
-
|
|
3171
|
+
h3.value && b2();
|
|
3014
3172
|
}), (0, a.watch)(function() {
|
|
3015
3173
|
return e3.deep;
|
|
3016
3174
|
}, function(e4) {
|
|
@@ -3019,7 +3177,7 @@ function requireVueJsonPretty() {
|
|
|
3019
3177
|
var t3, n3, o3 = null !== (t3 = e3.renderNodeKey) && void 0 !== t3 ? t3 : c2.renderNodeKey, r3 = null !== (n3 = e3.renderNodeValue) && void 0 !== n3 ? n3 : c2.renderNodeValue, l2 = s2.visibleData && s2.visibleData.map(function(t4) {
|
|
3020
3178
|
return (0, a.createVNode)(g, { key: t4.id, node: t4, collapsed: !!s2.hiddenPaths[t4.path], showDoubleQuotes: e3.showDoubleQuotes, showLength: e3.showLength, checked: y2.value.includes(t4.path), selectableType: e3.selectableType, showLine: e3.showLine, showLineNumber: e3.showLineNumber, showSelectController: e3.showSelectController, selectOnClickNode: e3.selectOnClickNode, nodeSelectable: e3.nodeSelectable, highlightSelectedNode: e3.highlightSelectedNode, editable: e3.editable, editableTrigger: e3.editableTrigger, showIcon: e3.showIcon, showKeyValueSpace: e3.showKeyValueSpace, renderNodeKey: o3, renderNodeValue: r3, onNodeClick: w, onBracketsClick: j, onIconClick: S, onSelectedChange: k2, onValueChange: O, style: e3.itemHeight && 20 !== e3.itemHeight ? { lineHeight: "".concat(e3.itemHeight, "px") } : {} }, null);
|
|
3021
3179
|
});
|
|
3022
|
-
return (0, a.createVNode)("div", { ref: i2, class: { "vjs-tree": true, "is-virtual": e3.virtual }, onScroll: e3.virtual ? m2 : void 0, style: e3.showLineNumber ? C({ paddingLeft: "".concat(12 * Number(u2.value.length.toString().length), "px") }, e3.style) : e3.style }, [e3.virtual ? (0, a.createVNode)("div", { class: "vjs-tree-list", style: { height: "".concat(e3.height, "px") } }, [(0, a.createVNode)("div", { class: "vjs-tree-list-holder", style: { height: "".concat(
|
|
3180
|
+
return (0, a.createVNode)("div", { ref: i2, class: { "vjs-tree": true, "is-virtual": e3.virtual }, onScroll: e3.virtual ? m2 : void 0, style: e3.showLineNumber ? C({ paddingLeft: "".concat(12 * Number(u2.value.length.toString().length), "px") }, e3.style) : e3.style }, [e3.virtual ? (0, a.createVNode)("div", { class: "vjs-tree-list", style: { height: "".concat(e3.height, "px") } }, [(0, a.createVNode)("div", { class: "vjs-tree-list-holder", style: { height: "".concat(h3.value.length * e3.itemHeight, "px") } }, [(0, a.createVNode)("div", { class: "vjs-tree-list-holder-inner", style: { transform: "translateY(".concat(s2.translateY, "px)") } }, [l2])])]) : l2]);
|
|
3023
3181
|
};
|
|
3024
3182
|
} });
|
|
3025
3183
|
}(), r;
|
|
@@ -3565,22 +3723,22 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
3565
3723
|
emits: ["search", "runChange", "itemHover", "linkRun", "unlinkRun", "activatePane", "tableMounted", "displayModeChange"],
|
|
3566
3724
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
3567
3725
|
const LazyRunDataTable = defineAsyncComponent(
|
|
3568
|
-
async () => await __vitePreload(() => import("./RunDataTable-
|
|
3726
|
+
async () => await __vitePreload(() => import("./RunDataTable-CsLCZIWp.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0)
|
|
3569
3727
|
);
|
|
3570
3728
|
const LazyRunDataJson = defineAsyncComponent(
|
|
3571
|
-
async () => await __vitePreload(() => import("./RunDataJson-
|
|
3729
|
+
async () => await __vitePreload(() => import("./RunDataJson-B80Z4URL.js"), true ? __vite__mapDeps([6,1,2,7,3,4,8]) : void 0)
|
|
3572
3730
|
);
|
|
3573
3731
|
const LazyRunDataSchema = defineAsyncComponent(
|
|
3574
|
-
async () => await __vitePreload(() => import("./index-
|
|
3732
|
+
async () => await __vitePreload(() => import("./index-hdsPF3tl.js").then((n) => n.i5), true ? __vite__mapDeps([1,2]) : void 0)
|
|
3575
3733
|
);
|
|
3576
3734
|
const LazyRunDataHtml = defineAsyncComponent(
|
|
3577
3735
|
async () => await __vitePreload(() => Promise.resolve().then(() => RunDataHtml$1), true ? void 0 : void 0)
|
|
3578
3736
|
);
|
|
3579
3737
|
const LazyRunDataAi = defineAsyncComponent(
|
|
3580
|
-
async () => await __vitePreload(() => import("./RunDataParsedAiContent-
|
|
3738
|
+
async () => await __vitePreload(() => import("./RunDataParsedAiContent-BczxQ63H.js"), true ? __vite__mapDeps([9,1,2,7,3,4,10]) : void 0)
|
|
3581
3739
|
);
|
|
3582
3740
|
const LazyRunDataSearch = defineAsyncComponent(
|
|
3583
|
-
async () => await __vitePreload(() => import("./RunDataSearch-
|
|
3741
|
+
async () => await __vitePreload(() => import("./RunDataSearch-C4KmCz4c.js"), true ? __vite__mapDeps([11,1,2,12]) : void 0)
|
|
3584
3742
|
);
|
|
3585
3743
|
const props = __props;
|
|
3586
3744
|
const emit = __emit;
|
|
@@ -3604,7 +3762,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
3604
3762
|
const rootStore = useRootStore();
|
|
3605
3763
|
const uiStore = useUIStore();
|
|
3606
3764
|
const schemaPreviewStore = useSchemaPreviewStore();
|
|
3607
|
-
const posthogStore = usePostHog();
|
|
3608
3765
|
const toast = useToast();
|
|
3609
3766
|
const route = useRoute();
|
|
3610
3767
|
const nodeHelpers = useNodeHelpers();
|
|
@@ -3619,9 +3776,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
3619
3776
|
const { isSubNodeType } = useNodeType({
|
|
3620
3777
|
node
|
|
3621
3778
|
});
|
|
3779
|
+
const isArchivedWorkflow = computed(() => workflowsStore.workflow.isArchived);
|
|
3622
3780
|
const isReadOnlyRoute = computed(() => route.meta.readOnlyCanvas === true);
|
|
3623
3781
|
const isWaitNodeWaiting = computed(() => {
|
|
3624
|
-
return node.value?.name && workflowExecution.value?.
|
|
3782
|
+
return node.value?.name && workflowExecution.value?.resultData?.runData?.[node.value?.name]?.[props.runIndex]?.executionStatus === "waiting";
|
|
3625
3783
|
});
|
|
3626
3784
|
const { activeNode } = storeToRefs(ndvStore);
|
|
3627
3785
|
const nodeType = computed(() => {
|
|
@@ -3679,13 +3837,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
3679
3837
|
return [];
|
|
3680
3838
|
});
|
|
3681
3839
|
const workflowExecution = computed(
|
|
3682
|
-
() => props.workflowExecution ?? workflowsStore.getWorkflowExecution ?? void 0
|
|
3840
|
+
() => props.workflowExecution ?? workflowsStore.getWorkflowExecution?.data ?? void 0
|
|
3683
3841
|
);
|
|
3684
3842
|
const workflowRunData = computed(() => {
|
|
3685
3843
|
if (workflowExecution.value === void 0) {
|
|
3686
3844
|
return null;
|
|
3687
3845
|
}
|
|
3688
|
-
const executionData = workflowExecution.value
|
|
3846
|
+
const executionData = workflowExecution.value;
|
|
3689
3847
|
if (executionData?.resultData) {
|
|
3690
3848
|
return executionData.resultData.runData;
|
|
3691
3849
|
}
|
|
@@ -3841,7 +3999,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
3841
3999
|
return canPinData.value;
|
|
3842
4000
|
});
|
|
3843
4001
|
const pinButtonDisabled = computed(
|
|
3844
|
-
() => !rawInputData.value.length && !pinnedData.hasData.value || !!binaryData.value?.length || isReadOnlyRoute.value || readOnlyEnv.value
|
|
4002
|
+
() => !rawInputData.value.length && !pinnedData.hasData.value || !!binaryData.value?.length || isReadOnlyRoute.value || readOnlyEnv.value || isArchivedWorkflow.value
|
|
3845
4003
|
);
|
|
3846
4004
|
const activeTaskMetadata = computed(() => {
|
|
3847
4005
|
if (!node.value) {
|
|
@@ -3867,12 +4025,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
3867
4025
|
return Boolean(taskData?.inputOverride);
|
|
3868
4026
|
});
|
|
3869
4027
|
const isSchemaPreviewEnabled = computed(
|
|
3870
|
-
() => props.paneType === "input" && !(nodeType.value?.codex?.categories ?? []).some(
|
|
3871
|
-
(category) => category === CORE_NODES_CATEGORY
|
|
3872
|
-
) && posthogStore.isVariantEnabled(
|
|
3873
|
-
SCHEMA_PREVIEW_EXPERIMENT.name,
|
|
3874
|
-
SCHEMA_PREVIEW_EXPERIMENT.variant
|
|
3875
|
-
)
|
|
4028
|
+
() => props.paneType === "input" && !(nodeType.value?.codex?.categories ?? []).some((category) => category === CORE_NODES_CATEGORY)
|
|
3876
4029
|
);
|
|
3877
4030
|
const hasPreviewSchema = computedAsync(async () => {
|
|
3878
4031
|
if (!isSchemaPreviewEnabled.value || props.nodes.length === 0) return false;
|
|
@@ -4035,7 +4188,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
4035
4188
|
const workflowNode = props.workflow.getNode(node.value.name);
|
|
4036
4189
|
if (workflowNode) {
|
|
4037
4190
|
const nodeHints = nodeHelpers.getNodeHints(props.workflow, workflowNode, nodeType.value, {
|
|
4038
|
-
runExecutionData: workflowExecution.value
|
|
4191
|
+
runExecutionData: workflowExecution.value ?? null,
|
|
4039
4192
|
runIndex: props.runIndex,
|
|
4040
4193
|
connectionInputData: parentNodeOutputData.value
|
|
4041
4194
|
});
|
|
@@ -4082,7 +4235,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
4082
4235
|
return;
|
|
4083
4236
|
}
|
|
4084
4237
|
const pinDataDiscoveryFlag = useStorage(LOCAL_STORAGE_PIN_DATA_DISCOVERY_NDV_FLAG).value;
|
|
4085
|
-
if (value && value.length > 0 && !isReadOnlyRoute.value && !pinDataDiscoveryFlag) {
|
|
4238
|
+
if (value && value.length > 0 && !isReadOnlyRoute.value && !isArchivedWorkflow.value && !pinDataDiscoveryFlag) {
|
|
4086
4239
|
pinDataDiscoveryComplete();
|
|
4087
4240
|
setTimeout(() => {
|
|
4088
4241
|
isControlledPinDataTooltip.value = true;
|
|
@@ -4507,7 +4660,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
4507
4660
|
]),
|
|
4508
4661
|
default: withCtx(() => [
|
|
4509
4662
|
createTextVNode(toDisplayString(unref(i18n).baseText("runData.pindata.thisDataIsPinned")) + " ", 1),
|
|
4510
|
-
!isReadOnlyRoute.value && !readOnlyEnv.value ? (openBlock(), createElementBlock("span", _hoisted_1, [
|
|
4663
|
+
!isReadOnlyRoute.value && !isArchivedWorkflow.value && !readOnlyEnv.value ? (openBlock(), createElementBlock("span", _hoisted_1, [
|
|
4511
4664
|
createVNode(unref(N8nLink), {
|
|
4512
4665
|
theme: "secondary",
|
|
4513
4666
|
size: "small",
|
|
@@ -5373,24 +5526,29 @@ const style0 = {
|
|
|
5373
5526
|
const cssModules = {
|
|
5374
5527
|
"$style": style0
|
|
5375
5528
|
};
|
|
5376
|
-
const RunData = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-
|
|
5529
|
+
const RunData = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-03f081bd"]]);
|
|
5377
5530
|
export {
|
|
5378
5531
|
HighlightJS as H,
|
|
5379
5532
|
RunData as R,
|
|
5380
|
-
|
|
5533
|
+
VueMarkdown as V,
|
|
5381
5534
|
_sfc_main$9 as _,
|
|
5382
5535
|
getTotalConsumedTokens as a,
|
|
5383
|
-
|
|
5384
|
-
|
|
5536
|
+
findSelectedLogEntry as b,
|
|
5537
|
+
createLogTree as c,
|
|
5385
5538
|
deepToRaw as d,
|
|
5386
|
-
|
|
5539
|
+
getEntryAtRelativeIndex as e,
|
|
5387
5540
|
formatTokenUsageCount as f,
|
|
5388
5541
|
getSubtreeTotalConsumedTokens as g,
|
|
5389
|
-
|
|
5390
|
-
|
|
5391
|
-
|
|
5392
|
-
|
|
5393
|
-
|
|
5394
|
-
|
|
5395
|
-
|
|
5542
|
+
hasSubExecution as h,
|
|
5543
|
+
getDepth as i,
|
|
5544
|
+
flattenLogEntries as j,
|
|
5545
|
+
_sfc_main$a as k,
|
|
5546
|
+
getConsumedTokens as l,
|
|
5547
|
+
mergeStartData as m,
|
|
5548
|
+
ViewSubExecution as n,
|
|
5549
|
+
createAiData as o,
|
|
5550
|
+
parseAiContent as p,
|
|
5551
|
+
getTreeNodeData as q,
|
|
5552
|
+
getReferencedData as r,
|
|
5553
|
+
VueJsonPretty as s
|
|
5396
5554
|
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { p as parseAiContent,
|
|
2
|
-
import { d as defineComponent, r as ref, q as computed,
|
|
3
|
-
import RunDataAi$1 from "./RunDataParsedAiContent-
|
|
4
|
-
import { d as capitalize } from "./useCanvasOperations-DaP5jKbH.js";
|
|
1
|
+
import { p as parseAiContent, k as _sfc_main$3, l as getConsumedTokens, n as ViewSubExecution, f as formatTokenUsageCount, _ as _sfc_main$5, o as createAiData, q as getTreeNodeData, r as getReferencedData } from "./RunData-fnd-jejc.js";
|
|
2
|
+
import { d as defineComponent, r as ref, q as computed, by as NodeConnectionTypes, i as createElementBlock, g as openBlock, n as normalizeClass, k as createBaseVNode, e as createBlock, f as createCommentVNode, j as createVNode, m as unref, ez as FontAwesomeIcon, t as toDisplayString, eA as capitalize, bJ as N8nRadioButtons, _ as _export_sfc, bz as useNodeTypesStore, Q as useWorkflowsStore, h as resolveComponent, bD as _sfc_main$4, w as withCtx, l as createTextVNode, c as useI18n, F as Fragment, D as renderList, X as watch, eB as ElTree, B as normalizeStyle } from "./index-hdsPF3tl.js";
|
|
3
|
+
import RunDataAi$1 from "./RunDataParsedAiContent-BczxQ63H.js";
|
|
5
4
|
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
6
5
|
__name: "AiRunContentBlock",
|
|
7
6
|
props: {
|