n8n-editor-ui 1.85.2 → 1.87.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/AnimatedSpinner-ChSRgyeI.css +39 -0
- package/dist/assets/AnimatedSpinner-urWn52iY.js +18 -0
- package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-B2Xk-4o2.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DIbgkfAC.js} +1 -1
- package/dist/assets/{AuthView-Bhr2Ols-.js → AuthView-DIQI5asI.js} +2 -2
- package/dist/assets/{CanvasChatSwitch-BcSDHC-c.css → CanvasChatSwitch-0IWSu8RE.css} +488 -46
- package/dist/assets/{CanvasChatSwitch-E9vu2jW8.js → CanvasChatSwitch-BIpZuY-n.js} +697 -214
- package/dist/assets/{ChangePasswordView-BzAEcqVw.js → ChangePasswordView-D8Qv0tim.js} +3 -3
- package/dist/assets/CollectionParameter-DT1MnS63.js +4 -0
- package/dist/assets/{CredentialsView-CZiEXdjH.js → CredentialsView-tJ8-2RrO.js} +8 -8
- package/dist/assets/{ErrorView-C1QywuMY.js → ErrorView-CZEZD7LB.js} +1 -1
- package/dist/assets/{ExecutionsTime-BOPJEomw.css → ExecutionsTime-DZHUIJjP.css} +6 -6
- package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-l5VZIkoy.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-gcknFyjA.js} +23 -20
- package/dist/assets/{ExecutionsView-Bo0Nk8lV.js → ExecutionsView-BCfIz8EF.js} +49 -57
- package/dist/assets/{ExecutionsView-JCKikuIS.css → ExecutionsView-ByQf9yli.css} +13 -47
- package/dist/assets/{FileSaver.min-D3VgyjMF.js → FileSaver.min-Bs2qHlKb.js} +1 -1
- package/dist/assets/{FixedCollectionParameter-RpfOY9Ho.js → FixedCollectionParameter-E0LDqNW3.js} +1 -1
- package/dist/assets/{ForgotMyPasswordView-DPTddCxG.js → ForgotMyPasswordView-YOnrzvKJ.js} +3 -3
- package/dist/assets/InsightsChartAverageRuntime-DWrrriYN.js +61 -0
- package/dist/assets/InsightsChartFailed-DRi6JC3m.js +57 -0
- package/dist/assets/InsightsChartFailureRate-BdFNsMpg.js +57 -0
- package/dist/assets/InsightsChartTimeSaved-C12GZzSQ.js +71 -0
- package/dist/assets/InsightsChartTotal-Cn386HO4.js +59 -0
- package/dist/assets/InsightsDashboard-BawwZ0Oo.js +154 -0
- package/dist/assets/InsightsDashboard-CB4vHnBh.css +152 -0
- package/dist/assets/InsightsPaywall-OeXh6LeZ.css +133 -0
- package/dist/assets/InsightsPaywall-g3JcqAYL.js +58 -0
- package/dist/assets/{useOverview-DcRuPjLJ.css → InsightsSummary-W08OzElS.css} +57 -35
- package/dist/assets/InsightsSummary-vMmKUcie.js +185 -0
- package/dist/assets/InsightsTableWorkflows-DQQ1vvMz.js +129 -0
- package/dist/assets/InsightsTableWorkflows-Us3j4UTO.css +128 -0
- package/dist/assets/{Logo-CxllxUni.js → Logo-Vm92axlM.js} +1 -1
- package/dist/assets/{MainHeader-9gTxUJIR.js → MainHeader-BUhpvu2K.js} +9 -10
- package/dist/assets/{MainSidebar-CRJML8mh.js → MainSidebar-D5P5FSUQ.js} +11 -4
- package/dist/assets/{NodeCreation-zoYjBJl6.js → NodeCreation-BgW5u-Bc.js} +4 -4
- package/dist/assets/{NodeCreator-D-qBRyBy.js → NodeCreator-CFe2n6vJ.js} +10 -26
- package/dist/assets/{NodeDetailsView-C1z3N5z_.css → NodeDetailsView-BT-ro74o.css} +63 -70
- package/dist/assets/{NodeDetailsView-C1iBFaC1.js → NodeDetailsView-CmtK-rDD.js} +145 -482
- package/dist/assets/{NodeView-Bio-FnnF.js → NodeView-BqaNPfpx.js} +19 -21
- package/dist/assets/{ProjectCardBadge-BEflW6oP.js → ProjectCardBadge-BKgtzWr1.js} +69 -36
- package/dist/assets/{ProjectCardBadge-C78ap7Rc.css → ProjectCardBadge-t3v64i1e.css} +18 -13
- package/dist/assets/{ProjectHeader-DK3_g_D8.js → ProjectHeader-BWVSdavS.js} +33 -7
- package/dist/assets/{ProjectHeader-B-a6_GH6.css → ProjectHeader-BsBpG-Mj.css} +7 -7
- package/dist/assets/{ProjectSettings-CLMy_-YC.js → ProjectSettings-BL-2-uOg.js} +3 -3
- package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-CSazgsi8.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-BL-bMMgn.js} +1 -2
- package/dist/assets/{ResourcesListLayout-CBvvL0VM.js → ResourcesListLayout-CozpmfUY.js} +1 -1
- package/dist/assets/{RunDataAi-C-tu9GrI.js → RunDataAi-B_EadpzG.js} +188 -94
- package/dist/assets/{RunDataAi-CN9FrT9c.css → RunDataAi-CUUDqZRP.css} +128 -0
- package/dist/assets/{RunDataJson-ClpS_600.js → RunDataJson-CyNNCtyd.js} +11 -12
- package/dist/assets/{RunDataJsonActions-gWW8Qkt_.js → RunDataJsonActions-SQqaiBEP.js} +1 -2
- package/dist/assets/{RunDataSearch-Dgv5JYk-.js → RunDataSearch-BF9kshKq.js} +1 -1
- package/dist/assets/{RunDataTable-nsOk35pD.js → RunDataTable-DsW7wuc2.js} +10 -8
- package/dist/assets/{SamlOnboarding-C5TSdGcx.js → SamlOnboarding-BX7RiRJB.js} +3 -3
- package/dist/assets/{SettingsApiView-CzQG1ofR.js → SettingsApiView-CDIPYvaG.js} +1 -1
- package/dist/assets/{SettingsCommunityNodesView-D_F3n2NO.js → SettingsCommunityNodesView-BRSEkT73.js} +4 -5
- package/dist/assets/{SettingsExternalSecrets-BUgKlMoR.js → SettingsExternalSecrets-D7ASuAnS.js} +1 -1
- package/dist/assets/{SettingsLdapView-CAmuVErd.js → SettingsLdapView-DA5fZZ51.js} +1 -1
- package/dist/assets/{SettingsLogStreamingView-DLkHrsx5.js → SettingsLogStreamingView-C9qkYvCr.js} +1 -1
- package/dist/assets/{SettingsPersonalView-2elwsG0f.js → SettingsPersonalView-BnNOJcvO.js} +2 -2
- package/dist/assets/{SettingsSourceControl-BD426GUo.js → SettingsSourceControl--ozL4427.js} +1 -1
- package/dist/assets/{SettingsSso-B-7lLoTI.js → SettingsSso-Bfe_HRSr.js} +1 -1
- package/dist/assets/{SettingsUsageAndPlan-EUWVJYe2.js → SettingsUsageAndPlan-CzvMNudh.js} +1 -1
- package/dist/assets/{SettingsUsersView-C3GbTYvU.js → SettingsUsersView-DGu5ku48.js} +1 -1
- package/dist/assets/{SettingsView-DSMM_8SL.js → SettingsView-CvreVxXL.js} +1 -1
- package/dist/assets/{SetupView-CexY8Lic.js → SetupView-BJT6GtIA.js} +3 -3
- package/dist/assets/{SetupWorkflowCredentialsButton-BpLp754t.js → SetupWorkflowCredentialsButton-BEq2gs_-.js} +2 -4
- package/dist/assets/{SetupWorkflowFromTemplateView-CLvS9Kda.js → SetupWorkflowFromTemplateView-F9oCDWX8.js} +3 -12
- package/dist/assets/{SigninView-CYkcm3hG.js → SigninView-DyoDtCBc.js} +3 -3
- package/dist/assets/{SignoutView-C2HutrZm.js → SignoutView-DclBslYe.js} +1 -1
- package/dist/assets/{SignupView-B-o-ka0Z.js → SignupView-BhB0Hhj0.js} +3 -3
- package/dist/assets/{TemplateDetails-C20G_lj4.js → TemplateDetails-B3utdyMi.js} +1 -1
- package/dist/assets/{TemplateList-DQzcYS6n.js → TemplateList-Bgz1iiiH.js} +1 -1
- package/dist/assets/{TemplatesCollectionView-DEEMhmYZ.js → TemplatesCollectionView-CORzb8YZ.js} +7 -9
- package/dist/assets/{TemplatesSearchView-S6802uNr.js → TemplatesSearchView-DTuv4-5C.js} +3 -3
- package/dist/assets/{TemplatesView-CT7S5O4K.js → TemplatesView-CFV5SVF7.js} +1 -1
- package/dist/assets/{TemplatesWorkflowView-BMd9OmqA.js → TemplatesWorkflowView-CQVVdNty.js} +5 -7
- package/dist/assets/{TestDefinitionEditView-BXhOuJrU.css → TestDefinitionEditView-Cwkrz308.css} +12 -143
- package/dist/assets/{TestDefinitionEditView-5kDGEtaD.js → TestDefinitionEditView-DX6GIeq2.js} +179 -331
- package/dist/assets/{TestDefinitionListView-BM-hghAY.js → TestDefinitionListView-CLEkthYQ.js} +1 -1
- package/dist/assets/{TestDefinitionNewView-CNN-qAmL.js → TestDefinitionNewView-DWTTqvlN.js} +2 -2
- package/dist/assets/{TestDefinitionRootView-S8g84AaK.js → TestDefinitionRootView-D0yLW0V6.js} +1 -1
- package/dist/assets/{VariablesView-D90WCfYK.js → VariablesView-Dsr4pqth.js} +3 -3
- package/dist/assets/{WorkerView-BHVIRKm_.js → WorkerView-Bbu5wv-g.js} +6 -7
- package/dist/assets/{WorkflowActivator-BsceIfln.js → WorkflowActivator-C197X_D6.js} +2 -2
- package/dist/assets/{WorkflowExecutionsInfoAccordion-DxGIzmq4.js → WorkflowExecutionsInfoAccordion-CHPlRtMQ.js} +1 -1
- package/dist/assets/{WorkflowExecutionsLandingPage-czqJYUnQ.js → WorkflowExecutionsLandingPage-CnvMc3SA.js} +2 -2
- package/dist/assets/{WorkflowExecutionsPreview-BzCGXWj0.js → WorkflowExecutionsPreview-CJBM3Awe.js} +24 -256
- package/dist/assets/{WorkflowExecutionsPreview-CHu6M3Dh.css → WorkflowExecutionsPreview-D7jTJ8GL.css} +16 -48
- package/dist/assets/{WorkflowExecutionsView-syep-_N0.js → WorkflowExecutionsView-BwB6WS6M.js} +11 -17
- package/dist/assets/{WorkflowHistory-CmHn_hnX.js → WorkflowHistory-U5a4aYts.js} +4 -4
- package/dist/assets/{WorkflowOnboardingView-BmhaZBkH.js → WorkflowOnboardingView-DHUUTLOo.js} +1 -1
- package/dist/assets/{WorkflowPreview-BN13256Q.js → WorkflowPreview-D8pwehRe.js} +1 -1
- package/dist/assets/{WorkflowsView-r9qJOUEb.css → WorkflowsView-CJB9aI6A.css} +27 -41
- package/dist/assets/{WorkflowsView-6qbtftll.js → WorkflowsView-DIh7kqZk.js} +76 -141
- package/dist/assets/chartjs.utils-DTEY3u-V.js +193 -0
- package/dist/assets/dateFormatter-C7xnNKzY.js +21 -0
- package/dist/assets/{easyAiWorkflowUtils-C7LfXIgb.js → easyAiWorkflowUtils-V__OjFo9.js} +1 -1
- package/dist/assets/{global-link-actions-znEIb0N4.js → global-link-actions-vGpWr9Uz.js} +1 -1
- package/dist/assets/{import-curl-BsKs3fYs.js → import-curl-C6ERUxFe.js} +1 -1
- package/dist/assets/{index-Cjz62pAo.js → index-BrjPYODL.js} +3 -1
- package/dist/assets/{index-DZljH0cm.js → index-DD7Wuhk5.js} +11407 -5580
- package/dist/assets/{index-CgXKy7t-.css → index-DJ205bL0.css} +418 -92
- package/dist/assets/{pickBy-DlIFPp_M.js → pickBy-BILEJ4hg.js} +1 -1
- package/dist/assets/{templateActions-ClDjWPHA.js → templateActions-M3qRQiV6.js} +2 -7
- package/dist/assets/{useBeforeUnload-BFlrxvKb.js → useBeforeUnload-DTsj_abb.js} +1 -1
- package/dist/assets/{useCanvasMapping-CJcAsQmx.css → useCanvasMapping-BkGr1HdJ.css} +29 -28
- package/dist/assets/{useCanvasMapping-C0PMQVwg.js → useCanvasMapping-DJvMRP2s.js} +71 -56
- package/dist/assets/{useCanvasOperations-2Ca5hPmu.js → useCanvasOperations-DCaSrD1N.js} +26 -254
- package/dist/assets/{useClearExecutionButtonVisible-D8unhL-H.js → useClearExecutionButtonVisible-CVPKhr9F.js} +2 -2
- package/dist/assets/{useExecutionDebugging-MiAgkS54.js → useExecutionDebugging-yY2o_eNc.js} +1 -1
- package/dist/assets/{useExecutionHelpers-CgD9G_XU.js → useExecutionHelpers-BVY9xXbG.js} +2 -19
- package/dist/assets/{useImportCurlCommand-D6LUnncf.js → useImportCurlCommand-Chewi-_x.js} +2 -2
- package/dist/assets/{usePushConnection-DAhrfl2L.js → usePushConnection-9zsAnuvC.js} +13 -6
- package/dist/assets/{useTestDefinitionForm-TDiKTq9o.js → useTestDefinitionForm-CCVy0jKP.js} +1 -31
- package/dist/assets/{useWorkflowActivate-C_GRAYoC.js → useWorkflowActivate-DeEvbrsK.js} +1 -1
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/dist/assets/CollectionParameter-XKkHxrwX.js +0 -4
- package/dist/assets/pushConnection.store-DHLcz9cC.js +0 -238
- package/dist/assets/useOverview-BqIOGpWx.js +0 -161
- package/dist/assets/useRunWorkflow-sGIs6NeH.js +0 -521
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { dM as baseSlice, dN as toString, dO as createCompounder, dP as SetCache, dQ as arrayIncludes, dR as cacheHas, dS as baseRest, dT as isArrayLikeObject, dU as baseFlatten, dV as CORE_NODES_CATEGORY, dW as DEFAULT_SUBCATEGORY, bj as v4, p as useSettingsStore, dX as AI_TRANSFORM_NODE_TYPE, bn as AI_SUBCATEGORY, dY as HUMAN_IN_THE_LOOP_CATEGORY, bo as AI_CATEGORY_AGENTS, dZ as sortBy, de as i18n, d_ as AI_CATEGORY_OTHER_TOOLS, d$ as SEND_AND_WAIT_OPERATION, e0 as AI_CATEGORY_DOCUMENT_LOADERS, e1 as AI_CATEGORY_LANGUAGE_MODELS, e2 as AI_CATEGORY_MEMORY, e3 as AI_CATEGORY_OUTPUTPARSER, e4 as AI_CATEGORY_RETRIEVERS, e5 as AI_CATEGORY_TEXT_SPLITTERS, e6 as AI_WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE, e7 as AI_CODE_TOOL_LANGCHAIN_NODE_TYPE, c as useI18n, e8 as AI_CATEGORY_TOOLS, e9 as AI_CATEGORY_EMBEDDING, ea as AI_CATEGORY_VECTOR_STORES, eb as AI_UNCATEGORIZED_CATEGORY, ec as AI_OTHERS_NODE_CREATOR_VIEW, bu as NodeConnectionTypes, bw as useNodeTypesStore, aP as useTemplatesStore, ed as AI_NODE_CREATOR_VIEW, ee as RSS_READ_NODE_TYPE, ef as EMAIL_SEND_NODE_TYPE, eg as SET_NODE_TYPE, eh as CODE_NODE_TYPE, ei as DATETIME_NODE_TYPE, ej as FILTER_NODE_TYPE, ek as REMOVE_DUPLICATES_NODE_TYPE, el as SPLIT_OUT_NODE_TYPE, em as LIMIT_NODE_TYPE, en as SUMMARIZE_NODE_TYPE, eo as AGGREGATE_NODE_TYPE, ep as MERGE_NODE_TYPE, eq as HTML_NODE_TYPE, er as MARKDOWN_NODE_TYPE, es as XML_NODE_TYPE, et as CRYPTO_NODE_TYPE, eu as EXTRACT_FROM_FILE_NODE_TYPE, ev as CONVERT_TO_FILE_NODE_TYPE, ew as COMPRESSION_NODE_TYPE, ex as EDIT_IMAGE_NODE_TYPE, ey as TRANSFORM_DATA_SUBCATEGORY, ez as IF_NODE_TYPE, eA as SPLIT_IN_BATCHES_NODE_TYPE, eB as FLOWS_CONTROL_SUBCATEGORY, eC as HTTP_REQUEST_NODE_TYPE, eD as WEBHOOK_NODE_TYPE, eE as HELPERS_SUBCATEGORY, eF as HITL_SUBCATEGORY, eG as TRIGGER_NODE_CREATOR_VIEW, eH as REGULAR_NODE_CREATOR_VIEW, eI as MANUAL_TRIGGER_NODE_TYPE, eJ as EMAIL_IMAP_NODE_TYPE, eK as SCHEDULE_TRIGGER_NODE_TYPE, eL as FORM_TRIGGER_NODE_TYPE, dB as EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE, bv as CHAT_TRIGGER_NODE_TYPE, eM as OTHER_TRIGGER_NODES_SUBCATEGORY, bp as AI_CATEGORY_CHAINS, S as defineStore, r as ref, q as computed, a2 as useCanvasStore, eN as AI_CATEGORY_ROOT_NODES, z as nextTick, eO as getThemedValue, L as useUIStore, bq as AI_CODE_NODE_TYPE, eP as AI_TRANSFORM_NODE_TYPE$1, eQ as isValidCanvasConnectionMode, c2 as CanvasConnectionMode, c1 as isValidNodeConnectionType, U as useWorkflowsStore, au as useNDVStore, aR as useExternalHooks, eR as isVueFlowConnection, br as getNodeInputs, eS as CUSTOM_API_CALL_KEY, Y as STORES, c5 as NODE_CREATOR_OPEN_SOURCES, ai as useTelemetry, a1 as useRootStore, bM as useCredentialsStore, bP as useHistoryStore, E as useTagsStore, av as useExecutionsStore, a4 as useProjectsStore, a as useToast, a7 as useWorkflowHelpers, bx as useNodeHelpers, ba as useClipboard, eT as UPDATE_WEBHOOK_ID_NODE_TYPES, dw as generateNodesGraph, eU as getNewNodePosition, eV as AddConnectionCommand, aA as STICKY_NODE_TYPE, bt as getNodeOutputs, eW as RemoveConnectionCommand, ac as EnterpriseEditionFeature, cb as deepCopy, eX as isPresent, eY as RemoveNodeCommand, eZ as RenameNodeCommand, bi as usePinnedData, e_ as useDataSchema, e$ as MoveNodeCommand, f0 as DEFAULT_NODE_SIZE, f1 as CONFIGURATION_NODE_SIZE, bs as getConnectionTypes, f2 as generateOffsets, f3 as CONFIGURABLE_NODE_SIZE, f4 as PUSH_NODES_OFFSET, f5 as AddNodeCommand, f6 as NODE_SIZE, f7 as GRID_SIZE, f8 as getNodeParameters } from "./index-DD7Wuhk5.js";
|
|
2
2
|
function castSlice(array, start, end) {
|
|
3
3
|
var length = array.length;
|
|
4
4
|
end = end === void 0 ? length : end;
|
|
@@ -72,236 +72,6 @@ function baseDifference(array, values, iteratee, comparator) {
|
|
|
72
72
|
var difference = baseRest(function(array, values) {
|
|
73
73
|
return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) : [];
|
|
74
74
|
});
|
|
75
|
-
function useNodeType(options = {}) {
|
|
76
|
-
const nodeTypesStore = useNodeTypesStore();
|
|
77
|
-
const nodeType = computed(() => {
|
|
78
|
-
if (options.nodeType) {
|
|
79
|
-
return unref(options.nodeType);
|
|
80
|
-
}
|
|
81
|
-
const activeNode = unref(options.node);
|
|
82
|
-
if (activeNode) {
|
|
83
|
-
return nodeTypesStore.getNodeType(activeNode.type, activeNode.typeVersion);
|
|
84
|
-
}
|
|
85
|
-
return null;
|
|
86
|
-
});
|
|
87
|
-
const isSubNodeType$1 = computed(() => isSubNodeType(nodeType.value));
|
|
88
|
-
const isMultipleOutputsNodeType = computed(() => {
|
|
89
|
-
const outputs = nodeType.value?.outputs;
|
|
90
|
-
if (typeof outputs === "string") return false;
|
|
91
|
-
return (outputs ?? []).length > 1;
|
|
92
|
-
});
|
|
93
|
-
return {
|
|
94
|
-
nodeType,
|
|
95
|
-
isSubNodeType: isSubNodeType$1,
|
|
96
|
-
isMultipleOutputsNodeType
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
function usePinnedData(node, options = {}) {
|
|
100
|
-
const rootStore = useRootStore();
|
|
101
|
-
const workflowsStore = useWorkflowsStore();
|
|
102
|
-
const toast = useToast();
|
|
103
|
-
const i18n2 = useI18n();
|
|
104
|
-
const telemetry = useTelemetry();
|
|
105
|
-
const externalHooks = useExternalHooks();
|
|
106
|
-
const { getInputDataWithPinned } = useDataSchema();
|
|
107
|
-
const { isSubNodeType: isSubNodeType2, isMultipleOutputsNodeType } = useNodeType({
|
|
108
|
-
node
|
|
109
|
-
});
|
|
110
|
-
const data = computed(() => {
|
|
111
|
-
const targetNode = unref(node);
|
|
112
|
-
return targetNode ? workflowsStore.pinDataByNodeName(targetNode.name) : void 0;
|
|
113
|
-
});
|
|
114
|
-
const hasData = computed(() => {
|
|
115
|
-
const targetNode = unref(node);
|
|
116
|
-
return !!targetNode && typeof data.value !== "undefined";
|
|
117
|
-
});
|
|
118
|
-
const isValidNodeType = computed(() => {
|
|
119
|
-
const targetNode = unref(node);
|
|
120
|
-
return !!targetNode && !isSubNodeType2.value && !isMultipleOutputsNodeType.value && !PIN_DATA_NODE_TYPES_DENYLIST.includes(targetNode.type);
|
|
121
|
-
});
|
|
122
|
-
function canPinNode(checkDataEmpty = false, outputIndex) {
|
|
123
|
-
const targetNode = unref(node);
|
|
124
|
-
if (targetNode === null || PIN_DATA_NODE_TYPES_DENYLIST.includes(targetNode.type)) return false;
|
|
125
|
-
const nodeType = useNodeTypesStore().getNodeType(targetNode.type, targetNode.typeVersion);
|
|
126
|
-
const dataToPin = getInputDataWithPinned(targetNode);
|
|
127
|
-
if (!nodeType || checkDataEmpty && dataToPin.length === 0) return false;
|
|
128
|
-
const workflow = workflowsStore.getCurrentWorkflow();
|
|
129
|
-
const outputs = getNodeOutputs(workflow, targetNode, nodeType).map(
|
|
130
|
-
(output) => typeof output === "string" ? { type: output } : output
|
|
131
|
-
);
|
|
132
|
-
const mainOutputs = outputs.filter(
|
|
133
|
-
(output) => output.type === NodeConnectionTypes.Main && output.category !== "error"
|
|
134
|
-
);
|
|
135
|
-
let indexAcceptable = true;
|
|
136
|
-
if (outputIndex !== void 0) {
|
|
137
|
-
const output = outputs[outputIndex];
|
|
138
|
-
if (outputs[outputIndex] === void 0) return false;
|
|
139
|
-
indexAcceptable = output.type === NodeConnectionTypes.Main && output.category !== "error";
|
|
140
|
-
}
|
|
141
|
-
return mainOutputs.length === 1 && indexAcceptable;
|
|
142
|
-
}
|
|
143
|
-
function isValidJSON(data2) {
|
|
144
|
-
try {
|
|
145
|
-
JSON.parse(data2);
|
|
146
|
-
return true;
|
|
147
|
-
} catch (error) {
|
|
148
|
-
const title = i18n2.baseText("runData.editOutputInvalid");
|
|
149
|
-
const toRemove = new RegExp(/JSON\.parse:|of the JSON data/, "g");
|
|
150
|
-
const message = error.message.replace(toRemove, "").trim();
|
|
151
|
-
const positionMatchRegEx = /at position (\d+)/;
|
|
152
|
-
const positionMatch = error.message.match(positionMatchRegEx);
|
|
153
|
-
error.message = message.charAt(0).toUpperCase() + message.slice(1);
|
|
154
|
-
error.message = error.message.replace(
|
|
155
|
-
"Unexpected token ' in JSON",
|
|
156
|
-
i18n2.baseText("runData.editOutputInvalid.singleQuote")
|
|
157
|
-
);
|
|
158
|
-
if (positionMatch) {
|
|
159
|
-
const position = parseInt(positionMatch[1], 10);
|
|
160
|
-
const lineBreaksUpToPosition = (data2.slice(0, position).match(/\n/g) || []).length;
|
|
161
|
-
error.message = error.message.replace(
|
|
162
|
-
positionMatchRegEx,
|
|
163
|
-
i18n2.baseText("runData.editOutputInvalid.atPosition", {
|
|
164
|
-
interpolate: {
|
|
165
|
-
position: `${position}`
|
|
166
|
-
}
|
|
167
|
-
})
|
|
168
|
-
);
|
|
169
|
-
error.message = `${i18n2.baseText("runData.editOutputInvalid.onLine", {
|
|
170
|
-
interpolate: {
|
|
171
|
-
line: `${lineBreaksUpToPosition + 1}`
|
|
172
|
-
}
|
|
173
|
-
})} ${error.message}`;
|
|
174
|
-
}
|
|
175
|
-
toast.showError(error, title);
|
|
176
|
-
return false;
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
function getMaxPinnedDataSize() {
|
|
180
|
-
return window.maxPinnedDataSize ?? MAX_PINNED_DATA_SIZE;
|
|
181
|
-
}
|
|
182
|
-
function isValidSize(data2) {
|
|
183
|
-
const targetNode = unref(node);
|
|
184
|
-
if (!targetNode) {
|
|
185
|
-
return false;
|
|
186
|
-
}
|
|
187
|
-
if (typeof data2 === "object") data2 = JSON.stringify(data2);
|
|
188
|
-
const { pinData: currentPinData, ...workflow } = workflowsStore.getCurrentWorkflow();
|
|
189
|
-
const workflowJson = jsonStringify(workflow, { replaceCircularRefs: true });
|
|
190
|
-
const newPinData = { ...currentPinData, [targetNode.name]: data2 };
|
|
191
|
-
const newPinDataSize = workflowsStore.getPinDataSize(newPinData);
|
|
192
|
-
if (newPinDataSize > getMaxPinnedDataSize()) {
|
|
193
|
-
toast.showError(
|
|
194
|
-
new Error(
|
|
195
|
-
i18n2.baseText("ndv.pinData.error.tooLarge.description", {
|
|
196
|
-
interpolate: {
|
|
197
|
-
size: toMegaBytes(newPinDataSize),
|
|
198
|
-
limit: toMegaBytes(getMaxPinnedDataSize())
|
|
199
|
-
}
|
|
200
|
-
})
|
|
201
|
-
),
|
|
202
|
-
i18n2.baseText("ndv.pinData.error.tooLarge.title")
|
|
203
|
-
);
|
|
204
|
-
return false;
|
|
205
|
-
}
|
|
206
|
-
const workflowSize = stringSizeInBytes(workflowJson) + newPinDataSize;
|
|
207
|
-
const limit = MAX_WORKFLOW_SIZE - MAX_EXPECTED_REQUEST_SIZE;
|
|
208
|
-
if (workflowSize > limit) {
|
|
209
|
-
toast.showError(
|
|
210
|
-
new Error(
|
|
211
|
-
i18n2.baseText("ndv.pinData.error.tooLargeWorkflow.description", {
|
|
212
|
-
interpolate: { size: toMegaBytes(workflowSize), limit: toMegaBytes(limit) }
|
|
213
|
-
})
|
|
214
|
-
),
|
|
215
|
-
i18n2.baseText("ndv.pinData.error.tooLargeWorkflow.title")
|
|
216
|
-
);
|
|
217
|
-
return false;
|
|
218
|
-
}
|
|
219
|
-
return true;
|
|
220
|
-
}
|
|
221
|
-
function onSetDataSuccess({ source }) {
|
|
222
|
-
const targetNode = unref(node);
|
|
223
|
-
const displayMode = unref(options.displayMode);
|
|
224
|
-
const runIndex = unref(options.runIndex);
|
|
225
|
-
const telemetryPayload = {
|
|
226
|
-
pinning_source: source,
|
|
227
|
-
node_type: targetNode?.type,
|
|
228
|
-
push_ref: rootStore.pushRef,
|
|
229
|
-
data_size: stringSizeInBytes(data.value),
|
|
230
|
-
view: displayMode,
|
|
231
|
-
run_index: runIndex
|
|
232
|
-
};
|
|
233
|
-
void externalHooks.run("runData.onDataPinningSuccess", telemetryPayload);
|
|
234
|
-
telemetry.track("Ndv data pinning success", telemetryPayload);
|
|
235
|
-
}
|
|
236
|
-
function onSetDataError({
|
|
237
|
-
errorType,
|
|
238
|
-
source
|
|
239
|
-
}) {
|
|
240
|
-
const targetNode = unref(node);
|
|
241
|
-
const displayMode = unref(options.displayMode);
|
|
242
|
-
const runIndex = unref(options.runIndex);
|
|
243
|
-
telemetry.track("Ndv data pinning failure", {
|
|
244
|
-
pinning_source: source,
|
|
245
|
-
node_type: targetNode?.type,
|
|
246
|
-
push_ref: rootStore.pushRef,
|
|
247
|
-
data_size: stringSizeInBytes(data.value),
|
|
248
|
-
view: displayMode,
|
|
249
|
-
run_index: runIndex,
|
|
250
|
-
error_type: errorType
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
|
-
function setData(data2, source) {
|
|
254
|
-
const targetNode = unref(node);
|
|
255
|
-
if (!targetNode) {
|
|
256
|
-
return;
|
|
257
|
-
}
|
|
258
|
-
if (typeof data2 === "string") {
|
|
259
|
-
if (!isValidJSON(data2)) {
|
|
260
|
-
onSetDataError({ errorType: "invalid-json", source });
|
|
261
|
-
throw new Error("Invalid JSON");
|
|
262
|
-
}
|
|
263
|
-
data2 = jsonParse(data2);
|
|
264
|
-
}
|
|
265
|
-
if (!isValidSize(data2)) {
|
|
266
|
-
onSetDataError({ errorType: "data-too-large", source });
|
|
267
|
-
throw new Error("Data too large");
|
|
268
|
-
}
|
|
269
|
-
workflowsStore.pinData({ node: targetNode, data: data2 });
|
|
270
|
-
onSetDataSuccess({ source });
|
|
271
|
-
}
|
|
272
|
-
function onUnsetData({ source }) {
|
|
273
|
-
const targetNode = unref(node);
|
|
274
|
-
const runIndex = unref(options.runIndex);
|
|
275
|
-
telemetry.track("User unpinned ndv data", {
|
|
276
|
-
node_type: targetNode?.type,
|
|
277
|
-
push_ref: rootStore.pushRef,
|
|
278
|
-
run_index: runIndex,
|
|
279
|
-
source,
|
|
280
|
-
data_size: stringSizeInBytes(data.value)
|
|
281
|
-
});
|
|
282
|
-
}
|
|
283
|
-
function unsetData(source) {
|
|
284
|
-
const targetNode = unref(node);
|
|
285
|
-
if (!targetNode) {
|
|
286
|
-
return;
|
|
287
|
-
}
|
|
288
|
-
onUnsetData({ source });
|
|
289
|
-
workflowsStore.unpinData({ node: targetNode });
|
|
290
|
-
}
|
|
291
|
-
return {
|
|
292
|
-
data,
|
|
293
|
-
hasData,
|
|
294
|
-
isValidNodeType,
|
|
295
|
-
canPinNode,
|
|
296
|
-
setData,
|
|
297
|
-
onSetDataSuccess,
|
|
298
|
-
onSetDataError,
|
|
299
|
-
unsetData,
|
|
300
|
-
onUnsetData,
|
|
301
|
-
isValidJSON,
|
|
302
|
-
isValidSize
|
|
303
|
-
};
|
|
304
|
-
}
|
|
305
75
|
const SEQUENTIAL_BONUS = 60;
|
|
306
76
|
const SEPARATOR_BONUS = 30;
|
|
307
77
|
const CAMEL_BONUS = 30;
|
|
@@ -1415,6 +1185,7 @@ const useViewStacks = defineStore("nodeCreatorViewStacks", () => {
|
|
|
1415
1185
|
extendedInfo = { info: relatedAIView?.properties.info };
|
|
1416
1186
|
}
|
|
1417
1187
|
await nextTick();
|
|
1188
|
+
const iconName = getThemedValue(relatedAIView?.properties.icon, useUIStore().appliedTheme);
|
|
1418
1189
|
pushViewStack(
|
|
1419
1190
|
{
|
|
1420
1191
|
title: relatedAIView?.properties.title,
|
|
@@ -1422,11 +1193,11 @@ const useViewStacks = defineStore("nodeCreatorViewStacks", () => {
|
|
|
1422
1193
|
rootView: AI_OTHERS_NODE_CREATOR_VIEW,
|
|
1423
1194
|
mode: "nodes",
|
|
1424
1195
|
items: nodeCreatorStore.allNodeCreatorNodes,
|
|
1425
|
-
nodeIcon: {
|
|
1426
|
-
|
|
1427
|
-
|
|
1196
|
+
nodeIcon: iconName ? {
|
|
1197
|
+
type: "icon",
|
|
1198
|
+
name: iconName,
|
|
1428
1199
|
color: relatedAIView?.properties.iconProps?.color
|
|
1429
|
-
},
|
|
1200
|
+
} : void 0,
|
|
1430
1201
|
panelClass: relatedAIView?.properties.panelClass,
|
|
1431
1202
|
baseFilter: (i) => {
|
|
1432
1203
|
if (i.key === AI_CODE_NODE_TYPE) return false;
|
|
@@ -2081,11 +1852,15 @@ function useCanvasOperations({ router }) {
|
|
|
2081
1852
|
trackTidyUp({ result, source, target });
|
|
2082
1853
|
}
|
|
2083
1854
|
function trackTidyUp({ result, source, target }) {
|
|
2084
|
-
telemetry.track(
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
1855
|
+
telemetry.track(
|
|
1856
|
+
"User tidied up canvas",
|
|
1857
|
+
{
|
|
1858
|
+
source,
|
|
1859
|
+
target,
|
|
1860
|
+
nodes_count: result.nodes.length
|
|
1861
|
+
},
|
|
1862
|
+
{ withPostHog: true }
|
|
1863
|
+
);
|
|
2089
1864
|
}
|
|
2090
1865
|
function updateNodesPosition(events, { trackHistory = false, trackBulk = true } = {}) {
|
|
2091
1866
|
if (trackHistory && trackBulk) {
|
|
@@ -2605,7 +2380,8 @@ function useCanvasOperations({ router }) {
|
|
|
2605
2380
|
node.parameters,
|
|
2606
2381
|
true,
|
|
2607
2382
|
false,
|
|
2608
|
-
node
|
|
2383
|
+
node,
|
|
2384
|
+
nodeTypeDescription
|
|
2609
2385
|
);
|
|
2610
2386
|
node.parameters = nodeParameters ?? {};
|
|
2611
2387
|
}
|
|
@@ -3353,11 +3129,9 @@ function useCanvasOperations({ router }) {
|
|
|
3353
3129
|
uiStore.stateIsDirty = false;
|
|
3354
3130
|
return data;
|
|
3355
3131
|
}
|
|
3356
|
-
async function toggleChatOpen(source) {
|
|
3132
|
+
async function toggleChatOpen(source, isOpen) {
|
|
3357
3133
|
const workflow = workflowsStore.getCurrentWorkflow();
|
|
3358
|
-
workflowsStore.
|
|
3359
|
-
workflowsStore.chatPanelState === "closed" ? "attached" : "closed"
|
|
3360
|
-
);
|
|
3134
|
+
workflowsStore.toggleLogsPanelOpen(isOpen);
|
|
3361
3135
|
const payload = {
|
|
3362
3136
|
workflow_id: workflow.id,
|
|
3363
3137
|
button_type: source
|
|
@@ -3440,18 +3214,16 @@ export {
|
|
|
3440
3214
|
capitalize as d,
|
|
3441
3215
|
checkOverlap as e,
|
|
3442
3216
|
mapLegacyConnectionsToCanvasConnections as f,
|
|
3443
|
-
|
|
3444
|
-
|
|
3217
|
+
formatTriggerActionName as g,
|
|
3218
|
+
useViewStacks as h,
|
|
3445
3219
|
insertSpacersBetweenEndpoints as i,
|
|
3446
|
-
|
|
3447
|
-
|
|
3448
|
-
|
|
3220
|
+
camelCase as j,
|
|
3221
|
+
useKeyboardNavigation as k,
|
|
3222
|
+
AIView as l,
|
|
3449
3223
|
mapLegacyEndpointsToCanvasConnectionPort as m,
|
|
3450
|
-
|
|
3451
|
-
AIView as o,
|
|
3224
|
+
flattenCreateElements as n,
|
|
3452
3225
|
parseCanvasConnectionHandleString as p,
|
|
3453
|
-
flattenCreateElements as q,
|
|
3454
3226
|
sortNodeCreateElements as s,
|
|
3455
3227
|
transformNodeType as t,
|
|
3456
|
-
|
|
3228
|
+
upperFirst as u
|
|
3457
3229
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { b as useCanvasOperations } from "./useCanvasOperations-
|
|
1
|
+
import { W as useRoute, a3 as useSourceControlStore, U as useWorkflowsStore, q as computed, b as useRouter, bw as useNodeTypesStore, bS as START_NODE_TYPE } from "./index-DD7Wuhk5.js";
|
|
2
|
+
import { b as useCanvasOperations } from "./useCanvasOperations-DCaSrD1N.js";
|
|
3
3
|
function useClearExecutionButtonVisible() {
|
|
4
4
|
const route = useRoute();
|
|
5
5
|
const sourceControlStore = useSourceControlStore();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { b as useRouter, a as useToast,
|
|
1
|
+
import { b as useRouter, a as useToast, U as useWorkflowsStore, p as useSettingsStore, L as useUIStore, a8 as usePageRedirectionHelper, q as computed, ac as EnterpriseEditionFeature, c as useI18n, ch as DEBUG_PAYWALL_MODAL_KEY, as as h, ci as sanitizeHtml, ak as useMessage, al as MODAL_CONFIRM, V as VIEWS, ai as useTelemetry, a1 as useRootStore, cj as isFullExecutionResponse } from "./index-DD7Wuhk5.js";
|
|
2
2
|
const useExecutionDebugging = () => {
|
|
3
3
|
const telemetry = useTelemetry();
|
|
4
4
|
const router = useRouter();
|
|
@@ -1,18 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
const mask = `d mmm${new Date(fullDate).getFullYear() === (/* @__PURE__ */ new Date()).getFullYear() ? "" : ", yyyy"}#HH:MM:ss`;
|
|
4
|
-
const formattedDate = dateFormat(fullDate, mask);
|
|
5
|
-
const [date, time] = formattedDate.split("#");
|
|
6
|
-
return { date, time };
|
|
7
|
-
};
|
|
8
|
-
function convertToDisplayDate(fullDate) {
|
|
9
|
-
const mask = `d mmm${new Date(fullDate).getFullYear() === (/* @__PURE__ */ new Date()).getFullYear() ? "" : ", yyyy"}#HH:MM:ss`;
|
|
10
|
-
const formattedDate = dateFormat(fullDate, mask);
|
|
11
|
-
const [date, time] = formattedDate.split("#");
|
|
12
|
-
return { date, time };
|
|
13
|
-
}
|
|
14
|
-
const toDayMonth = (fullDate) => dateFormat(fullDate, "d mmm");
|
|
15
|
-
const toTime = (fullDate) => dateFormat(fullDate, "HH:MM:ss");
|
|
1
|
+
import { c as convertToDisplayDate } from "./dateFormatter-C7xnNKzY.js";
|
|
2
|
+
import { b as useRouter, V as VIEWS, ai as useTelemetry, c as useI18n } from "./index-DD7Wuhk5.js";
|
|
16
3
|
function useExecutionHelpers() {
|
|
17
4
|
const i18n = useI18n();
|
|
18
5
|
const router = useRouter();
|
|
@@ -104,9 +91,5 @@ function useExecutionHelpers() {
|
|
|
104
91
|
};
|
|
105
92
|
}
|
|
106
93
|
export {
|
|
107
|
-
toTime as a,
|
|
108
|
-
convertToDisplayDateComponents as b,
|
|
109
|
-
convertToDisplayDate as c,
|
|
110
|
-
toDayMonth as t,
|
|
111
94
|
useExecutionHelpers as u
|
|
112
95
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { gP as require$$0, cl as getDefaultExportFromCjs, a as useToast, m as unref, cM as assert, gQ as CURL_IMPORT_NOT_SUPPORTED_PROTOCOLS, gR as CURL_IMPORT_NODES_PROTOCOLS, c as useI18n, gS as get } from "./index-DD7Wuhk5.js";
|
|
2
2
|
import { c as commonjsRequire } from "./_commonjs-dynamic-modules-TGKdzP3c.js";
|
|
3
|
-
import { i as importCurlEventBus } from "./import-curl-
|
|
3
|
+
import { i as importCurlEventBus } from "./import-curl-C6ERUxFe.js";
|
|
4
4
|
class CCError extends Error {
|
|
5
5
|
}
|
|
6
6
|
const UTF8encoder = new TextEncoder();
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { g as globalLinkActionsEventBus } from "./global-link-actions-
|
|
3
|
-
import {
|
|
4
|
-
import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-C7LfXIgb.js";
|
|
1
|
+
import { dq as makeRestApiRequest, S as defineStore, a1 as useRootStore, d as defineComponent, cc as resolveDirective, i as createElementBlock, g as openBlock, aC as withDirectives, k as createBaseVNode, t as toDisplayString, m as unref, c as useI18n, a7 as useWorkflowHelpers, bx as useNodeHelpers, a as useToast, bM as useCredentialsStore, bw as useNodeTypesStore, T as usePushConnectionStore, p as useSettingsStore, L as useUIStore, U as useWorkflowsStore, dr as useAssistantStore, aw as usePostHog, r as ref, ds as clearPopupWindowState, b$ as AI_CREDITS_EXPERIMENT, ai as useTelemetry, dt as parse, du as hasTrimmedItem, dv as codeNodeEditorEventBus, am as WORKFLOW_SETTINGS_MODAL_KEY, dw as generateNodesGraph, as as h, dx as getTriggerNodeServiceName, dy as hasTrimmedData, aR as useExternalHooks, dz as useSchemaPreviewStore } from "./index-DD7Wuhk5.js";
|
|
2
|
+
import { g as globalLinkActionsEventBus } from "./global-link-actions-vGpWr9Uz.js";
|
|
3
|
+
import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-V__OjFo9.js";
|
|
5
4
|
const GET_STATUS_ENDPOINT = "/orchestration/worker/status";
|
|
6
5
|
const sendGetWorkerStatus = async (context) => {
|
|
7
6
|
await makeRestApiRequest(context, "POST", GET_STATUS_ENDPOINT);
|
|
@@ -228,7 +227,13 @@ function usePushConnection({ router }) {
|
|
|
228
227
|
let executionData;
|
|
229
228
|
if (receivedData.type === "executionFinished" && receivedData.data.rawData) {
|
|
230
229
|
const { workflowId, status, rawData } = receivedData.data;
|
|
231
|
-
executionData = {
|
|
230
|
+
executionData = {
|
|
231
|
+
workflowId,
|
|
232
|
+
data: parse(rawData),
|
|
233
|
+
status,
|
|
234
|
+
startedAt: workflowsStore.workflowExecutionData?.startedAt ?? /* @__PURE__ */ new Date(),
|
|
235
|
+
stoppedAt: /* @__PURE__ */ new Date()
|
|
236
|
+
};
|
|
232
237
|
} else {
|
|
233
238
|
uiStore.setProcessingExecutionResults(true);
|
|
234
239
|
if (receivedData.type === "executionFinished" && receivedData.data.status === "success") {
|
|
@@ -253,7 +258,9 @@ function usePushConnection({ router }) {
|
|
|
253
258
|
executionData = {
|
|
254
259
|
workflowId: execution.workflowId,
|
|
255
260
|
data: parse(execution.data),
|
|
256
|
-
status: execution.status
|
|
261
|
+
status: execution.status,
|
|
262
|
+
startedAt: workflowsStore.workflowExecutionData?.startedAt,
|
|
263
|
+
stoppedAt: receivedData.type === "executionFinished" ? /* @__PURE__ */ new Date() : void 0
|
|
257
264
|
};
|
|
258
265
|
} catch {
|
|
259
266
|
uiStore.setProcessingExecutionResults(false);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { g5 as useTestDefinitionStore, r as ref, q as computed } from "./index-DD7Wuhk5.js";
|
|
2
2
|
function useTestDefinitionForm() {
|
|
3
3
|
const evaluationsStore = useTestDefinitionStore();
|
|
4
4
|
const state = ref({
|
|
@@ -22,7 +22,6 @@ function useTestDefinitionForm() {
|
|
|
22
22
|
value: "",
|
|
23
23
|
__rl: true
|
|
24
24
|
},
|
|
25
|
-
metrics: [],
|
|
26
25
|
mockedNodes: []
|
|
27
26
|
});
|
|
28
27
|
const isSaving = ref(false);
|
|
@@ -37,7 +36,6 @@ function useTestDefinitionForm() {
|
|
|
37
36
|
await evaluationsStore.fetchAll({ force: true, workflowId });
|
|
38
37
|
const testDefinition = evaluationsStore.testDefinitionsById[testId];
|
|
39
38
|
if (testDefinition) {
|
|
40
|
-
const metrics = await evaluationsStore.fetchMetrics(testId);
|
|
41
39
|
state.value.description = {
|
|
42
40
|
value: testDefinition.description ?? "",
|
|
43
41
|
isEditing: false,
|
|
@@ -58,7 +56,6 @@ function useTestDefinitionForm() {
|
|
|
58
56
|
value: testDefinition.evaluationWorkflowId ?? "",
|
|
59
57
|
__rl: true
|
|
60
58
|
};
|
|
61
|
-
state.value.metrics = metrics;
|
|
62
59
|
state.value.mockedNodes = testDefinition.mockedNodes ?? [];
|
|
63
60
|
evaluationsStore.updateRunFieldIssues(testDefinition.id);
|
|
64
61
|
}
|
|
@@ -80,31 +77,6 @@ function useTestDefinitionForm() {
|
|
|
80
77
|
isSaving.value = false;
|
|
81
78
|
}
|
|
82
79
|
};
|
|
83
|
-
const deleteMetric = async (metricId, testId) => {
|
|
84
|
-
await evaluationsStore.deleteMetric({ id: metricId, testDefinitionId: testId });
|
|
85
|
-
state.value.metrics = state.value.metrics.filter((metric) => metric.id !== metricId);
|
|
86
|
-
};
|
|
87
|
-
const updateMetrics = async (testId) => {
|
|
88
|
-
const promises = state.value.metrics.map(async (metric) => {
|
|
89
|
-
if (!metric.name) return;
|
|
90
|
-
if (!metric.id) {
|
|
91
|
-
const createdMetric = await evaluationsStore.createMetric({
|
|
92
|
-
name: metric.name,
|
|
93
|
-
testDefinitionId: testId
|
|
94
|
-
});
|
|
95
|
-
metric.id = createdMetric.id;
|
|
96
|
-
} else {
|
|
97
|
-
await evaluationsStore.updateMetric({
|
|
98
|
-
name: metric.name,
|
|
99
|
-
id: metric.id,
|
|
100
|
-
testDefinitionId: testId
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
isSaving.value = true;
|
|
105
|
-
await Promise.all(promises);
|
|
106
|
-
isSaving.value = false;
|
|
107
|
-
};
|
|
108
80
|
const updateTest = async (testId) => {
|
|
109
81
|
if (isSaving.value) return;
|
|
110
82
|
isSaving.value = true;
|
|
@@ -168,8 +140,6 @@ function useTestDefinitionForm() {
|
|
|
168
140
|
state,
|
|
169
141
|
fields,
|
|
170
142
|
isSaving: computed(() => isSaving.value),
|
|
171
|
-
deleteMetric,
|
|
172
|
-
updateMetrics,
|
|
173
143
|
loadTestData,
|
|
174
144
|
createTest,
|
|
175
145
|
updateTest,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as ref, b as useRouter,
|
|
1
|
+
import { r as ref, b as useRouter, a7 as useWorkflowHelpers, U as useWorkflowsStore, L as useUIStore, a as useToast, a5 as useNpsSurveyStore, X as PLACEHOLDER_EMPTY_WORKFLOW_ID, ai as useTelemetry, aR as useExternalHooks, c as useI18n, aL as useStorage, dE as LOCAL_STORAGE_ACTIVATION_FLAG, dF as WORKFLOW_ACTIVE_MODAL_KEY } from "./index-DD7Wuhk5.js";
|
|
2
2
|
function useWorkflowActivate() {
|
|
3
3
|
const updatingWorkflowActivation = ref(false);
|
|
4
4
|
const router = useRouter();
|
package/dist/index.html
CHANGED
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
<script>!function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled getFeatureFlag onFeatureFlags reloadFeatureFlags".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[])</script>
|
|
17
17
|
|
|
18
18
|
<title>n8n.io - Workflow Automation</title>
|
|
19
|
-
<script type="module" crossorigin src="/{{BASE_PATH}}/assets/index-
|
|
20
|
-
<link rel="stylesheet" crossorigin href="/{{BASE_PATH}}/assets/index-
|
|
19
|
+
<script type="module" crossorigin src="/{{BASE_PATH}}/assets/index-DD7Wuhk5.js"></script>
|
|
20
|
+
<link rel="stylesheet" crossorigin href="/{{BASE_PATH}}/assets/index-DJ205bL0.css">
|
|
21
21
|
</head>
|
|
22
22
|
<body>
|
|
23
23
|
<noscript>
|
package/package.json
CHANGED