n8n-editor-ui 1.84.0 → 1.85.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.
Files changed (117) hide show
  1. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-78eP7HIe.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BefsLZo6.js} +1 -1
  2. package/dist/assets/{AuthView-Bn_LB3Kw.js → AuthView-Bwnmj61F.js} +2 -2
  3. package/dist/assets/{CanvasChat-CGGQcCRA.css → CanvasChatSwitch-BcSDHC-c.css} +522 -24
  4. package/dist/assets/{CanvasChat-tuKMnT6J.js → CanvasChatSwitch-Dgc1t6ax.js} +919 -509
  5. package/dist/assets/{ChangePasswordView-aXYIR8zr.js → ChangePasswordView-Ojbow8CX.js} +3 -3
  6. package/dist/assets/CollectionParameter-2r_LuiyO.js +4 -0
  7. package/dist/assets/CommitMonoVariable-ytizKI8U.woff2 +0 -0
  8. package/dist/assets/{CredentialsView-k8CeiyMJ.js → CredentialsView-DhEvPiu_.js} +19 -8
  9. package/dist/assets/{ErrorView-e-cpk6J7.js → ErrorView-RGryGbpa.js} +1 -1
  10. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-BYacEmlc.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-Iwq0aeRX.js} +2 -2
  11. package/dist/assets/{ExecutionsView-CQi8A4ps.js → ExecutionsView-CL7Ei3Em.js} +25 -8
  12. package/dist/assets/{ExecutionsView-CRTcP3sx.css → ExecutionsView-JCKikuIS.css} +2 -2
  13. package/dist/assets/{FileSaver.min-DmMmlWYQ.js → FileSaver.min-C4OYrSWg.js} +1 -1
  14. package/dist/assets/{FixedCollectionParameter-BfUPtP5M.js → FixedCollectionParameter-CJ4s-1jy.js} +1 -1
  15. package/dist/assets/{ForgotMyPasswordView-Dzao5PZ9.js → ForgotMyPasswordView-7tFMaf89.js} +3 -3
  16. package/dist/assets/InterVariable-DiVDrmQJ.woff2 +0 -0
  17. package/dist/assets/InterVariable-Italic-FCBEiFp6.woff2 +0 -0
  18. package/dist/assets/{Logo-DVRZ2qRx.js → Logo-BW8jOa0h.js} +1 -1
  19. package/dist/assets/{MainHeader-BUw_JG4S.js → MainHeader-BUWCKbvC.js} +47 -22
  20. package/dist/assets/{MainHeader-CX-ZfeKE.css → MainHeader-CWA2JfVJ.css} +22 -22
  21. package/dist/assets/{MainSidebar-C6aXqICd.js → MainSidebar-BeZfQeco.js} +2 -2
  22. package/dist/assets/{NodeCreation-B9-99kNr.js → NodeCreation-DIg39Pbx.js} +5 -5
  23. package/dist/assets/{NodeCreator-DH90304h.js → NodeCreator-BwYjrEUk.js} +10 -11
  24. package/dist/assets/{NodeCreator-DDiuO5S0.css → NodeCreator-D9fmPdS2.css} +12 -12
  25. package/dist/assets/{NodeDetailsView-0RXvy-0D.css → NodeDetailsView-C1z3N5z_.css} +46 -46
  26. package/dist/assets/{NodeDetailsView-Ci-9Cz_w.js → NodeDetailsView-WuroVzlr.js} +38 -38
  27. package/dist/assets/{NodeView-CFUO-Q9X.js → NodeView-CmjajouX.js} +20 -23
  28. package/dist/assets/{ProjectCardBadge-CGqr1_BG.js → ProjectCardBadge-cIqYJxKe.js} +1 -1
  29. package/dist/assets/{ProjectHeader-CQjB5wC7.css → ProjectHeader-B-a6_GH6.css} +7 -7
  30. package/dist/assets/{ProjectHeader-C8hRwBFC.js → ProjectHeader-BGrFY-5v.js} +7 -21
  31. package/dist/assets/{ProjectSettings-motYfWGR.js → ProjectSettings-D10vay6-.js} +2 -2
  32. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-DzkWenq4.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-DJAYslHT.js} +2 -2
  33. package/dist/assets/{ResourcesListLayout-BYVhS2j5.js → ResourcesListLayout-C6v8Zm5q.js} +21 -18
  34. package/dist/assets/{ResourcesListLayout-BqQI0lCG.css → ResourcesListLayout-CWgWhtKq.css} +39 -36
  35. package/dist/assets/{RunDataAi-DJ-PSs_k.css → RunDataAi-CN9FrT9c.css} +2 -2
  36. package/dist/assets/{RunDataAi-pfKF0Nfm.js → RunDataAi-dhPBStdr.js} +25 -20
  37. package/dist/assets/{RunDataJson-CNT_rM-i.js → RunDataJson-kGRhUGn3.js} +12 -12
  38. package/dist/assets/{RunDataJsonActions-BTLAUv9R.js → RunDataJsonActions-BTljOq8V.js} +2 -2
  39. package/dist/assets/{RunDataSearch-BpcbBojC.js → RunDataSearch-mVQhE8PH.js} +1 -1
  40. package/dist/assets/{RunDataTable-ZnG9QEzJ.js → RunDataTable-CFoDiExh.js} +2 -2
  41. package/dist/assets/{SamlOnboarding-DjhCWFIr.js → SamlOnboarding-dDZHHNp4.js} +3 -3
  42. package/dist/assets/{SettingsApiView-C1ClqjeG.js → SettingsApiView-C9hbuZ42.js} +2 -3
  43. package/dist/assets/{SettingsCommunityNodesView-D5eLIpQC.js → SettingsCommunityNodesView-0wzih2lc.js} +5 -5
  44. package/dist/assets/{SettingsExternalSecrets-ubf6jijA.js → SettingsExternalSecrets-BCDoBPTc.js} +1 -1
  45. package/dist/assets/{SettingsLdapView-BezV6JLr.js → SettingsLdapView-CBCprymb.js} +1 -1
  46. package/dist/assets/{SettingsLogStreamingView-ETOxA5Tw.js → SettingsLogStreamingView-CMQQQdcB.js} +2 -2
  47. package/dist/assets/{SettingsPersonalView-DGxUC8Q4.js → SettingsPersonalView-DtAM5Qmb.js} +1 -1
  48. package/dist/assets/{SettingsSourceControl-1vHHG6W9.js → SettingsSourceControl-CysMFVZs.js} +1 -1
  49. package/dist/assets/{SettingsSso-CdI26YPF.js → SettingsSso-B0PZUvVx.js} +7 -7
  50. package/dist/assets/{SettingsSso-BjoJZ2DU.css → SettingsSso-DyrGnPdA.css} +10 -10
  51. package/dist/assets/{SettingsUsageAndPlan-BmI8cSiq.js → SettingsUsageAndPlan-2QUTEbXv.js} +8 -3
  52. package/dist/assets/{SettingsUsageAndPlan-Cul4YcIk.css → SettingsUsageAndPlan-b3WY2Ea_.css} +3 -3
  53. package/dist/assets/{SettingsUsersView-90JmT1qM.js → SettingsUsersView-C16e4GB4.js} +1 -1
  54. package/dist/assets/{SettingsView-i7rE7s3I.js → SettingsView-B-BQ6FGS.js} +1 -1
  55. package/dist/assets/{SetupView-Lp4ullGE.js → SetupView-Kx3RATQz.js} +3 -3
  56. package/dist/assets/{SetupWorkflowCredentialsButton-CoXXUd3B.js → SetupWorkflowCredentialsButton-BQ2_-L-1.js} +1 -1
  57. package/dist/assets/{SetupWorkflowFromTemplateView-TVU0-Zq4.js → SetupWorkflowFromTemplateView-D_E17TKc.js} +3 -3
  58. package/dist/assets/{SigninView-BqF8j6-h.js → SigninView-d0aJ1Mkg.js} +3 -3
  59. package/dist/assets/{SignoutView-DrYJ9Qe3.js → SignoutView-CvyFrh7y.js} +1 -1
  60. package/dist/assets/{SignupView-_EKPhYKN.js → SignupView-CnlD_UrJ.js} +3 -3
  61. package/dist/assets/{TemplateDetails-DAalg9G2.js → TemplateDetails-DRuh9UqO.js} +1 -1
  62. package/dist/assets/{TemplateList-BEYMeJMu.js → TemplateList-gpWBWX3r.js} +1 -1
  63. package/dist/assets/{TemplatesCollectionView-fMELXCRX.js → TemplatesCollectionView-Y6-pxrOD.js} +5 -5
  64. package/dist/assets/{TemplatesSearchView-BO-e3IH7.js → TemplatesSearchView-DP8XRZ62.js} +3 -3
  65. package/dist/assets/{TemplatesView-p57nARMp.js → TemplatesView-B3vanV3h.js} +1 -1
  66. package/dist/assets/{TemplatesWorkflowView-DAbL5S1-.js → TemplatesWorkflowView-CIB9qsVC.js} +5 -5
  67. package/dist/assets/{TestDefinitionEditView-BTo9LlAU.js → TestDefinitionEditView-BkhmS3l4.js} +7 -8
  68. package/dist/assets/{TestDefinitionListView-D_-DyZDv.js → TestDefinitionListView-tvjwd9Ts.js} +1 -1
  69. package/dist/assets/{TestDefinitionNewView-Crk5OePO.js → TestDefinitionNewView-DOGHwct6.js} +2 -2
  70. package/dist/assets/{TestDefinitionRootView-BtiqAWW1.js → TestDefinitionRootView-B-QvwldV.js} +1 -1
  71. package/dist/assets/{VariablesView-BvDpOTm3.css → VariablesView-ATWfdJsE.css} +5 -5
  72. package/dist/assets/{VariablesView-Bg3GI1iE.js → VariablesView-CoBnz2nF.js} +5 -5
  73. package/dist/assets/{WorkerView-CaTyr1ci.js → WorkerView-CsTZzlRj.js} +7 -7
  74. package/dist/assets/{WorkflowActivator-BvmRhIkt.js → WorkflowActivator-DeLhupjy.js} +2 -2
  75. package/dist/assets/{WorkflowExecutionsInfoAccordion-BuIbG1kZ.js → WorkflowExecutionsInfoAccordion-WRdvo2wq.js} +1 -1
  76. package/dist/assets/{WorkflowExecutionsLandingPage-BirtsKx4.js → WorkflowExecutionsLandingPage-DP8mgG6I.js} +2 -2
  77. package/dist/assets/{WorkflowExecutionsPreview-DFyHWF9H.js → WorkflowExecutionsPreview-BmG1Fptg.js} +22 -22
  78. package/dist/assets/{WorkflowExecutionsPreview-CPGOOAq2.css → WorkflowExecutionsPreview-CHu6M3Dh.css} +22 -22
  79. package/dist/assets/{WorkflowExecutionsView-IUjVjxU9.js → WorkflowExecutionsView-DmN-exp3.js} +6 -7
  80. package/dist/assets/{WorkflowHistory-BqKSxr_5.js → WorkflowHistory-CdEr7dbB.js} +3 -3
  81. package/dist/assets/{WorkflowOnboardingView-Bs0Rmm6I.js → WorkflowOnboardingView-D45YjFmk.js} +1 -1
  82. package/dist/assets/{WorkflowPreview-1jsK9hpV.js → WorkflowPreview-x0_AdULu.js} +1 -1
  83. package/dist/assets/{WorkflowsView-MzPw02jI.js → WorkflowsView-BhcJ-MjE.js} +329 -79
  84. package/dist/assets/{WorkflowsView-Sg6GR5kC.css → WorkflowsView-r9qJOUEb.css} +22 -15
  85. package/dist/assets/{easyAiWorkflowUtils-DlyLBhIZ.js → easyAiWorkflowUtils-NXaV8dgZ.js} +5 -5
  86. package/dist/assets/{global-link-actions-DvwtxSrW.js → global-link-actions-DgZH3fz2.js} +1 -1
  87. package/dist/assets/{import-curl-CbxpR02g.js → import-curl-DUv4B2nO.js} +1 -1
  88. package/dist/assets/{index-CyVlLoqB.js → index-CDluwnbb.js} +2656 -2132
  89. package/dist/assets/{index-74EeM2i2.css → index-CgXKy7t-.css} +1208 -1185
  90. package/dist/assets/{index-tzkIB4Tg.js → index-DAyhXitv.js} +1 -1
  91. package/dist/assets/{pickBy-DI3cF803.js → pickBy-D-hOoXP_.js} +1 -1
  92. package/dist/assets/{pushConnection.store-BhUCpqAg.js → pushConnection.store-Dl_VgTY2.js} +1 -1
  93. package/dist/assets/{templateActions-BnGO7zdc.js → templateActions-B4AFVixD.js} +1 -1
  94. package/dist/assets/{useBeforeUnload-DtKxjKeS.js → useBeforeUnload-DS-CCd-3.js} +1 -1
  95. package/dist/assets/{useCanvasMapping-CI4ehFWu.css → useCanvasMapping-CJcAsQmx.css} +47 -47
  96. package/dist/assets/{useCanvasMapping-BCP7UO9p.js → useCanvasMapping-DnPGwCm3.js} +53 -54
  97. package/dist/assets/{useCanvasOperations-Ctquo5LL.js → useCanvasOperations-CY1OrN2X.js} +453 -183
  98. package/dist/assets/useClearExecutionButtonVisible-CjX9PqMR.js +23 -0
  99. package/dist/assets/{useExecutionDebugging-C0TAc9fj.js → useExecutionDebugging-BN-lQ24h.js} +1 -1
  100. package/dist/assets/{useExecutionHelpers-BQHL3OpL.js → useExecutionHelpers-wN0DRQB-.js} +1 -1
  101. package/dist/assets/{useImportCurlCommand-IE8oJ9bp.js → useImportCurlCommand-DgTeVIgh.js} +2 -2
  102. package/dist/assets/useOverview-BBgWJdVL.js +161 -0
  103. package/dist/assets/useOverview-DcRuPjLJ.css +232 -0
  104. package/dist/assets/{usePushConnection-DXozzPWi.js → usePushConnection-F1s4Muc0.js} +4 -4
  105. package/dist/assets/{useRunWorkflow-D9JIEr1s.js → useRunWorkflow-RBDuKZVj.js} +12 -12
  106. package/dist/assets/{useTestDefinitionForm-8dJH3v29.js → useTestDefinitionForm-DX1gvhBC.js} +1 -1
  107. package/dist/assets/{useWorkflowActivate-CI3X35ZJ.js → useWorkflowActivate-DsRC3mvG.js} +1 -1
  108. package/dist/index.html +2 -2
  109. package/package.json +1 -1
  110. package/dist/assets/CollectionParameter-DR9e0MGf.js +0 -4
  111. package/dist/assets/open-sans-latin-400-normal-kLvSbl7y.woff +0 -0
  112. package/dist/assets/open-sans-latin-400-normal-sjvN8RAh.woff2 +0 -0
  113. package/dist/assets/open-sans-latin-600-normal-BYc6TgXR.woff2 +0 -0
  114. package/dist/assets/open-sans-latin-600-normal-CJ2UE_uF.woff +0 -0
  115. package/dist/assets/open-sans-latin-700-normal-DMXgkrz3.woff +0 -0
  116. package/dist/assets/open-sans-latin-700-normal-DXyImmHa.woff2 +0 -0
  117. package/dist/assets/usePinnedData-CtRDhd6k.js +0 -274
@@ -1,274 +0,0 @@
1
- import { dJ as baseSlice, dK as toString, bs as useNodeTypesStore, q as computed, m as unref, dL as isSubNodeType, a0 as useRootStore, T as useWorkflowsStore, a as useToast, dM as PIN_DATA_NODE_TYPES_DENYLIST, dN as jsonStringify, c as useI18n, dO as toMegaBytes, dP as stringSizeInBytes, ag as useTelemetry, aP as useExternalHooks, bH as jsonParse, dQ as useDataSchema, bf as getNodeOutputs, bg as NodeConnectionType, dR as MAX_PINNED_DATA_SIZE, dS as MAX_WORKFLOW_SIZE, dT as MAX_EXPECTED_REQUEST_SIZE } from "./index-CyVlLoqB.js";
2
- function castSlice(array, start, end) {
3
- var length = array.length;
4
- end = end === void 0 ? length : end;
5
- return false ? array : baseSlice(array, start, end);
6
- }
7
- var rsAstralRange$1 = "\\ud800-\\udfff", rsComboMarksRange$1 = "\\u0300-\\u036f", reComboHalfMarksRange$1 = "\\ufe20-\\ufe2f", rsComboSymbolsRange$1 = "\\u20d0-\\u20ff", rsComboRange$1 = rsComboMarksRange$1 + reComboHalfMarksRange$1 + rsComboSymbolsRange$1, rsVarRange$1 = "\\ufe0e\\ufe0f";
8
- var rsZWJ$1 = "\\u200d";
9
- var reHasUnicode = RegExp("[" + rsZWJ$1 + rsAstralRange$1 + rsComboRange$1 + rsVarRange$1 + "]");
10
- function hasUnicode(string) {
11
- return reHasUnicode.test(string);
12
- }
13
- function asciiToArray(string) {
14
- return string.split("");
15
- }
16
- var rsAstralRange = "\\ud800-\\udfff", rsComboMarksRange = "\\u0300-\\u036f", reComboHalfMarksRange = "\\ufe20-\\ufe2f", rsComboSymbolsRange = "\\u20d0-\\u20ff", rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, rsVarRange = "\\ufe0e\\ufe0f";
17
- var rsAstral = "[" + rsAstralRange + "]", rsCombo = "[" + rsComboRange + "]", rsFitz = "\\ud83c[\\udffb-\\udfff]", rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")", rsNonAstral = "[^" + rsAstralRange + "]", rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}", rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]", rsZWJ = "\\u200d";
18
- var reOptMod = rsModifier + "?", rsOptVar = "[" + rsVarRange + "]?", rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*", rsSeq = rsOptVar + reOptMod + rsOptJoin, rsSymbol = "(?:" + [rsNonAstral + rsCombo + "?", rsCombo, rsRegional, rsSurrPair, rsAstral].join("|") + ")";
19
- var reUnicode = RegExp(rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq, "g");
20
- function unicodeToArray(string) {
21
- return string.match(reUnicode) || [];
22
- }
23
- function stringToArray(string) {
24
- return hasUnicode(string) ? unicodeToArray(string) : asciiToArray(string);
25
- }
26
- function createCaseFirst(methodName) {
27
- return function(string) {
28
- string = toString(string);
29
- var strSymbols = hasUnicode(string) ? stringToArray(string) : void 0;
30
- var chr = strSymbols ? strSymbols[0] : string.charAt(0);
31
- var trailing = strSymbols ? castSlice(strSymbols, 1).join("") : string.slice(1);
32
- return chr[methodName]() + trailing;
33
- };
34
- }
35
- var upperFirst = createCaseFirst("toUpperCase");
36
- function capitalize(string) {
37
- return upperFirst(toString(string).toLowerCase());
38
- }
39
- function useNodeType(options = {}) {
40
- const nodeTypesStore = useNodeTypesStore();
41
- const nodeType = computed(() => {
42
- if (options.nodeType) {
43
- return unref(options.nodeType);
44
- }
45
- const activeNode = unref(options.node);
46
- if (activeNode) {
47
- return nodeTypesStore.getNodeType(activeNode.type, activeNode.typeVersion);
48
- }
49
- return null;
50
- });
51
- const isSubNodeType$1 = computed(() => isSubNodeType(nodeType.value));
52
- const isMultipleOutputsNodeType = computed(() => {
53
- const outputs = nodeType.value?.outputs;
54
- if (typeof outputs === "string") return false;
55
- return (outputs ?? []).length > 1;
56
- });
57
- return {
58
- nodeType,
59
- isSubNodeType: isSubNodeType$1,
60
- isMultipleOutputsNodeType
61
- };
62
- }
63
- function usePinnedData(node, options = {}) {
64
- const rootStore = useRootStore();
65
- const workflowsStore = useWorkflowsStore();
66
- const toast = useToast();
67
- const i18n = useI18n();
68
- const telemetry = useTelemetry();
69
- const externalHooks = useExternalHooks();
70
- const { getInputDataWithPinned } = useDataSchema();
71
- const { isSubNodeType: isSubNodeType2, isMultipleOutputsNodeType } = useNodeType({
72
- node
73
- });
74
- const data = computed(() => {
75
- const targetNode = unref(node);
76
- return targetNode ? workflowsStore.pinDataByNodeName(targetNode.name) : void 0;
77
- });
78
- const hasData = computed(() => {
79
- const targetNode = unref(node);
80
- return !!targetNode && typeof data.value !== "undefined";
81
- });
82
- const isValidNodeType = computed(() => {
83
- const targetNode = unref(node);
84
- return !!targetNode && !isSubNodeType2.value && !isMultipleOutputsNodeType.value && !PIN_DATA_NODE_TYPES_DENYLIST.includes(targetNode.type);
85
- });
86
- function canPinNode(checkDataEmpty = false, outputIndex) {
87
- const targetNode = unref(node);
88
- if (targetNode === null || PIN_DATA_NODE_TYPES_DENYLIST.includes(targetNode.type)) return false;
89
- const nodeType = useNodeTypesStore().getNodeType(targetNode.type, targetNode.typeVersion);
90
- const dataToPin = getInputDataWithPinned(targetNode);
91
- if (!nodeType || checkDataEmpty && dataToPin.length === 0) return false;
92
- const workflow = workflowsStore.getCurrentWorkflow();
93
- const outputs = getNodeOutputs(workflow, targetNode, nodeType).map(
94
- (output) => typeof output === "string" ? { type: output } : output
95
- );
96
- const mainOutputs = outputs.filter(
97
- (output) => output.type === NodeConnectionType.Main && output.category !== "error"
98
- );
99
- let indexAcceptable = true;
100
- if (outputIndex !== void 0) {
101
- const output = outputs[outputIndex];
102
- if (outputs[outputIndex] === void 0) return false;
103
- indexAcceptable = output.type === NodeConnectionType.Main && output.category !== "error";
104
- }
105
- return mainOutputs.length === 1 && indexAcceptable;
106
- }
107
- function isValidJSON(data2) {
108
- try {
109
- JSON.parse(data2);
110
- return true;
111
- } catch (error) {
112
- const title = i18n.baseText("runData.editOutputInvalid");
113
- const toRemove = new RegExp(/JSON\.parse:|of the JSON data/, "g");
114
- const message = error.message.replace(toRemove, "").trim();
115
- const positionMatchRegEx = /at position (\d+)/;
116
- const positionMatch = error.message.match(positionMatchRegEx);
117
- error.message = message.charAt(0).toUpperCase() + message.slice(1);
118
- error.message = error.message.replace(
119
- "Unexpected token ' in JSON",
120
- i18n.baseText("runData.editOutputInvalid.singleQuote")
121
- );
122
- if (positionMatch) {
123
- const position = parseInt(positionMatch[1], 10);
124
- const lineBreaksUpToPosition = (data2.slice(0, position).match(/\n/g) || []).length;
125
- error.message = error.message.replace(
126
- positionMatchRegEx,
127
- i18n.baseText("runData.editOutputInvalid.atPosition", {
128
- interpolate: {
129
- position: `${position}`
130
- }
131
- })
132
- );
133
- error.message = `${i18n.baseText("runData.editOutputInvalid.onLine", {
134
- interpolate: {
135
- line: `${lineBreaksUpToPosition + 1}`
136
- }
137
- })} ${error.message}`;
138
- }
139
- toast.showError(error, title);
140
- return false;
141
- }
142
- }
143
- function getMaxPinnedDataSize() {
144
- return window.maxPinnedDataSize ?? MAX_PINNED_DATA_SIZE;
145
- }
146
- function isValidSize(data2) {
147
- const targetNode = unref(node);
148
- if (!targetNode) {
149
- return false;
150
- }
151
- if (typeof data2 === "object") data2 = JSON.stringify(data2);
152
- const { pinData: currentPinData, ...workflow } = workflowsStore.getCurrentWorkflow();
153
- const workflowJson = jsonStringify(workflow, { replaceCircularRefs: true });
154
- const newPinData = { ...currentPinData, [targetNode.name]: data2 };
155
- const newPinDataSize = workflowsStore.getPinDataSize(newPinData);
156
- if (newPinDataSize > getMaxPinnedDataSize()) {
157
- toast.showError(
158
- new Error(
159
- i18n.baseText("ndv.pinData.error.tooLarge.description", {
160
- interpolate: {
161
- size: toMegaBytes(newPinDataSize),
162
- limit: toMegaBytes(getMaxPinnedDataSize())
163
- }
164
- })
165
- ),
166
- i18n.baseText("ndv.pinData.error.tooLarge.title")
167
- );
168
- return false;
169
- }
170
- const workflowSize = stringSizeInBytes(workflowJson) + newPinDataSize;
171
- const limit = MAX_WORKFLOW_SIZE - MAX_EXPECTED_REQUEST_SIZE;
172
- if (workflowSize > limit) {
173
- toast.showError(
174
- new Error(
175
- i18n.baseText("ndv.pinData.error.tooLargeWorkflow.description", {
176
- interpolate: { size: toMegaBytes(workflowSize), limit: toMegaBytes(limit) }
177
- })
178
- ),
179
- i18n.baseText("ndv.pinData.error.tooLargeWorkflow.title")
180
- );
181
- return false;
182
- }
183
- return true;
184
- }
185
- function onSetDataSuccess({ source }) {
186
- const targetNode = unref(node);
187
- const displayMode = unref(options.displayMode);
188
- const runIndex = unref(options.runIndex);
189
- const telemetryPayload = {
190
- pinning_source: source,
191
- node_type: targetNode?.type,
192
- push_ref: rootStore.pushRef,
193
- data_size: stringSizeInBytes(data.value),
194
- view: displayMode,
195
- run_index: runIndex
196
- };
197
- void externalHooks.run("runData.onDataPinningSuccess", telemetryPayload);
198
- telemetry.track("Ndv data pinning success", telemetryPayload);
199
- }
200
- function onSetDataError({
201
- errorType,
202
- source
203
- }) {
204
- const targetNode = unref(node);
205
- const displayMode = unref(options.displayMode);
206
- const runIndex = unref(options.runIndex);
207
- telemetry.track("Ndv data pinning failure", {
208
- pinning_source: source,
209
- node_type: targetNode?.type,
210
- push_ref: rootStore.pushRef,
211
- data_size: stringSizeInBytes(data.value),
212
- view: displayMode,
213
- run_index: runIndex,
214
- error_type: errorType
215
- });
216
- }
217
- function setData(data2, source) {
218
- const targetNode = unref(node);
219
- if (!targetNode) {
220
- return;
221
- }
222
- if (typeof data2 === "string") {
223
- if (!isValidJSON(data2)) {
224
- onSetDataError({ errorType: "invalid-json", source });
225
- throw new Error("Invalid JSON");
226
- }
227
- data2 = jsonParse(data2);
228
- }
229
- if (!isValidSize(data2)) {
230
- onSetDataError({ errorType: "data-too-large", source });
231
- throw new Error("Data too large");
232
- }
233
- workflowsStore.pinData({ node: targetNode, data: data2 });
234
- onSetDataSuccess({ source });
235
- }
236
- function onUnsetData({ source }) {
237
- const targetNode = unref(node);
238
- const runIndex = unref(options.runIndex);
239
- telemetry.track("User unpinned ndv data", {
240
- node_type: targetNode?.type,
241
- push_ref: rootStore.pushRef,
242
- run_index: runIndex,
243
- source,
244
- data_size: stringSizeInBytes(data.value)
245
- });
246
- }
247
- function unsetData(source) {
248
- const targetNode = unref(node);
249
- if (!targetNode) {
250
- return;
251
- }
252
- onUnsetData({ source });
253
- workflowsStore.unpinData({ node: targetNode });
254
- }
255
- return {
256
- data,
257
- hasData,
258
- isValidNodeType,
259
- canPinNode,
260
- setData,
261
- onSetDataSuccess,
262
- onSetDataError,
263
- unsetData,
264
- onUnsetData,
265
- isValidJSON,
266
- isValidSize
267
- };
268
- }
269
- export {
270
- useNodeType as a,
271
- upperFirst as b,
272
- capitalize as c,
273
- usePinnedData as u
274
- };