n8n-editor-ui 1.91.0 → 1.92.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-fxUUiJkt.js → AnimatedSpinner-CtKKeDrz.js} +1 -1
- package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DaejGlee.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DR6h_xsK.js} +1 -1
- package/dist/assets/{AuthView-C38evMFm.js → AuthView-mKkzBRxh.js} +2 -2
- package/dist/assets/{CanvasChatSwitch-wA9DYH8v.js → CanvasChatSwitch-Bu2VD2kp.js} +22 -10
- package/dist/assets/{ChangePasswordView-BhWZeFH0.js → ChangePasswordView-D5UI1v-J.js} +3 -3
- package/dist/assets/CollectionParameter-BeCTpZ-q.js +4 -0
- package/dist/assets/{CredentialsView-Nqr-i2Pe.js → CredentialsView-B78eNJO5.js} +6 -6
- package/dist/assets/{DemoFooter-BWR2cAp9.js → DemoFooter-DP26HpCu.js} +8 -8
- package/dist/assets/{ErrorView-CS9OEuyr.js → ErrorView-C3fvEdCg.js} +1 -1
- package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-DetKnv65.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-BBpwYdHY.js} +2 -2
- package/dist/assets/{ExecutionsView-C9YWPuDj.js → ExecutionsView-BvlDZwIs.js} +8 -8
- package/dist/assets/{FileSaver.min-DmkzTNV9.js → FileSaver.min-BzAtcQXX.js} +1 -1
- package/dist/assets/{FixedCollectionParameter-B95bmTf5.js → FixedCollectionParameter-CS5zXMAh.js} +1 -1
- package/dist/assets/{ForgotMyPasswordView-qiBahYik.js → ForgotMyPasswordView-CVQ7pcIG.js} +3 -3
- package/dist/assets/{InsightsChartAverageRuntime-Dxhbd0ns.js → InsightsChartAverageRuntime-Boh0SMb3.js} +4 -4
- package/dist/assets/{InsightsChartFailed-BQcqQ0cP.js → InsightsChartFailed-IZ-KYOU9.js} +4 -4
- package/dist/assets/{InsightsChartFailureRate-ByRknnji.js → InsightsChartFailureRate-2fWw3p0L.js} +4 -4
- package/dist/assets/{InsightsChartTimeSaved-DwWd2CE4.js → InsightsChartTimeSaved-B2pLVys1.js} +4 -4
- package/dist/assets/{InsightsChartTotal-ByBJBO5S.js → InsightsChartTotal-2QD4wPLR.js} +4 -4
- package/dist/assets/{InsightsDashboard-Bi1pPMYJ.js → InsightsDashboard-CbiFbJ8w.js} +10 -10
- package/dist/assets/{InsightsPaywall-BHAFddnZ.js → InsightsPaywall-5d-cSdiS.js} +1 -1
- package/dist/assets/{InsightsSummary-BbdmlYGl.js → InsightsSummary-gldDQ9rg.js} +1 -1
- package/dist/assets/{InsightsTableWorkflows-06mtfv-r.js → InsightsTableWorkflows-_eTCUNCX.js} +2 -2
- package/dist/assets/{Logo-YWli2nsX.js → Logo-Dl2xVRIu.js} +1 -1
- package/dist/assets/{LogsPanel-CutVxFbc.js → LogsPanel-JnYirDqa.js} +73 -105
- package/dist/assets/{LogsPanel-DLC2TAqh.css → LogsPanel-mTaFEGk_.css} +38 -34
- package/dist/assets/{MainHeader-DeD-Rq-o.js → MainHeader-Bk29pgmL.js} +9 -9
- package/dist/assets/{MainSidebar-w7XcpgsG.js → MainSidebar-BM5ku_wM.js} +11 -11
- package/dist/assets/{MainSidebar-CKMiDGvH.css → MainSidebar-zZpP3qQ0.css} +13 -12
- package/dist/assets/{NodeCreation-BPVX4AyM.js → NodeCreation-BEjdAYc_.js} +4 -4
- package/dist/assets/{NodeCreator-ORfmLjpf.js → NodeCreator-cEUgbAI9.js} +3 -3
- package/dist/assets/{NodeDetailsView-z4dW5CZA.js → NodeDetailsView-D4O9dKTA.js} +62 -47
- package/dist/assets/{NodeDetailsView-CGgV4Pn_.css → NodeDetailsView-DsFLtbxi.css} +20 -20
- package/dist/assets/{NodeView-DoYUR6zN.js → NodeView-DDSOUm8E.js} +29 -16
- package/dist/assets/{ProjectCardBadge-9gGGsnO4.js → ProjectCardBadge-BNn2hiMe.js} +1 -1
- package/dist/assets/{ProjectHeader-mP1U8azT.js → ProjectHeader-CaEZ2OPj.js} +1 -1
- package/dist/assets/{ProjectSettings-BXv7wHt2.js → ProjectSettings-otA8E-yW.js} +2 -2
- package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-Cu81u0g8.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-C3JbZMCk.js} +1 -1
- package/dist/assets/{ResourcesListLayout-l12N8elL.js → ResourcesListLayout-1d9Ic6VX.js} +1 -1
- package/dist/assets/{RunData-C9dtm1M2.css → RunData-BjlZgIyx.css} +12 -2
- package/dist/assets/{RunData-DcTRJlPx.js → RunData-Bx47sNQp.js} +383 -189
- package/dist/assets/{RunDataAi-BF2gZZGr.css → RunDataAi-D9VLFXIf.css} +10 -51
- package/dist/assets/{RunDataAi-gSq_Xjqe.js → RunDataAi-DOac7nwD.js} +27 -310
- package/dist/assets/{RunDataJson-ZWzRQWbP.js → RunDataJson-Pev6yNEV.js} +7 -7
- package/dist/assets/{RunDataJsonActions-CLZHKSxo.js → RunDataJsonActions-Co4xgmVq.js} +1 -1
- package/dist/assets/RunDataParsedAiContent-9EEUzCKp.css +176 -0
- package/dist/assets/RunDataParsedAiContent-D6MNLmT3.js +148 -0
- package/dist/assets/{RunDataSearch-DGVT04w4.js → RunDataSearch-C8orcAlP.js} +1 -1
- package/dist/assets/{RunDataTable-DXZeWFoe.js → RunDataTable-oi_l8dhA.js} +3 -3
- package/dist/assets/{SamlOnboarding-oqY0GJU1.js → SamlOnboarding-CT5J6dx0.js} +3 -3
- package/dist/assets/{SettingsApiView-wOjTe5Iz.js → SettingsApiView-CupjcI9v.js} +1 -1
- package/dist/assets/{SettingsCommunityNodesView-BferxshR.js → SettingsCommunityNodesView-B5K2VLyJ.js} +4 -4
- package/dist/assets/{SettingsExternalSecrets-AVAe3pFB.js → SettingsExternalSecrets-BidJCf_t.js} +1 -1
- package/dist/assets/{SettingsLdapView-Dzz0oH8X.js → SettingsLdapView-Cva6akhW.js} +1 -1
- package/dist/assets/{SettingsLogStreamingView-7wK5X84p.js → SettingsLogStreamingView-Cy-rAKUO.js} +1 -1
- package/dist/assets/{SettingsPersonalView-DFJF_V6T.js → SettingsPersonalView-ZJ1Syok2.js} +14 -13
- package/dist/assets/{SettingsSourceControl-CMcBENTO.js → SettingsSourceControl-CMtqqlkO.js} +1 -1
- package/dist/assets/{SettingsSso-Z1Q6NEkd.js → SettingsSso-Bi3OpykL.js} +1 -1
- package/dist/assets/{SettingsUsageAndPlan-CcRKHQ0-.js → SettingsUsageAndPlan-C5TbwZhP.js} +1 -1
- package/dist/assets/{SettingsUsersView-B3WfDCek.js → SettingsUsersView-BHuP5k0A.js} +1 -1
- package/dist/assets/{SettingsView-BlwKUaR5.js → SettingsView-DPIIqaKN.js} +1 -1
- package/dist/assets/{SetupView-D5lrdUoq.js → SetupView-C4V9j6sh.js} +3 -3
- package/dist/assets/{SetupWorkflowCredentialsButton-Bc6VdFCN.js → SetupWorkflowCredentialsButton-BZ9ILQUp.js} +1 -1
- package/dist/assets/{SetupWorkflowFromTemplateView-CJD5W1WL.js → SetupWorkflowFromTemplateView-3uV3zSU2.js} +3 -3
- package/dist/assets/{SigninView-DH2fyWJ4.js → SigninView-DWZHdCjG.js} +3 -3
- package/dist/assets/{SignoutView-CBkwCdXi.js → SignoutView-DbduXAir.js} +1 -1
- package/dist/assets/{SignupView-BRMhMcBZ.js → SignupView-DWq6VACk.js} +3 -3
- package/dist/assets/{TemplateDetails-D-BdppKN.js → TemplateDetails-BckqE6GK.js} +1 -1
- package/dist/assets/{TemplateList-BnoYTtBt.js → TemplateList-Bw0JeBMP.js} +1 -1
- package/dist/assets/{TemplatesCollectionView-BjJj8lj5.js → TemplatesCollectionView-CAKT-mpV.js} +5 -5
- package/dist/assets/{TemplatesSearchView-EuczA-oB.js → TemplatesSearchView-I2a5us58.js} +3 -3
- package/dist/assets/{TemplatesView-lDM12E7u.js → TemplatesView-6EwGFFJK.js} +1 -1
- package/dist/assets/{TemplatesWorkflowView-CvyrJnPM.js → TemplatesWorkflowView-C8xYMhwu.js} +5 -5
- package/dist/assets/{TestDefinitionEditView-D3rNVRaa.js → TestDefinitionEditView-CNd3Cuzq.js} +7 -7
- package/dist/assets/{TestDefinitionListView-m3RGW84j.js → TestDefinitionListView-BwTWIaAM.js} +1 -1
- package/dist/assets/{TestDefinitionNewView-BdBvbajQ.js → TestDefinitionNewView-BQas0_G1.js} +2 -2
- package/dist/assets/{TestDefinitionRootView-DJnT-m57.js → TestDefinitionRootView-D971MFye.js} +1 -1
- package/dist/assets/{VariablesView-C7i_CSj8.js → VariablesView-DcBBuFxh.js} +3 -3
- package/dist/assets/{WorkerView-GWMai3R9.js → WorkerView-DSgBNIeb.js} +6 -6
- package/dist/assets/{WorkflowActivator-SziK5CNk.js → WorkflowActivator-CPCbgb_n.js} +2 -2
- package/dist/assets/{WorkflowExecutionsInfoAccordion-DENHBjmU.js → WorkflowExecutionsInfoAccordion-Bc6vzAZu.js} +1 -1
- package/dist/assets/{WorkflowExecutionsLandingPage-BzDiGWu4.js → WorkflowExecutionsLandingPage-BPPS4V9i.js} +2 -2
- package/dist/assets/{WorkflowExecutionsPreview-DqdkoKXB.js → WorkflowExecutionsPreview-Bbb5MB8Z.js} +6 -6
- package/dist/assets/{WorkflowExecutionsView-AxW7n6yq.js → WorkflowExecutionsView-Pz-7iHJY.js} +11 -9
- package/dist/assets/{WorkflowHistory-BVlsuqfI.js → WorkflowHistory-Czo9IuI6.js} +3 -3
- package/dist/assets/{WorkflowOnboardingView-fOW1AS_n.js → WorkflowOnboardingView-B8DdkfJ5.js} +1 -1
- package/dist/assets/{WorkflowPreview-ChN9npJk.js → WorkflowPreview-eVlO1itk.js} +1 -1
- package/dist/assets/{WorkflowsView-s_WHwcWN.js → WorkflowsView-Cr2D0vym.js} +9 -9
- package/dist/assets/{chartjs.utils-wOlz1LMy.js → chartjs.utils-Dk1WO3Mr.js} +2 -2
- package/dist/assets/{dateFormatter-yaAmYK7_.js → dateFormatter-C8N5khiG.js} +1 -1
- package/dist/assets/{easyAiWorkflowUtils-CVW2fylI.js → easyAiWorkflowUtils-CLqHnasO.js} +1 -1
- package/dist/assets/{global-link-actions-X1_8ARhd.js → global-link-actions-BvoZh8u9.js} +1 -1
- package/dist/assets/{import-curl-DdqJa2Tm.js → import-curl-BpxkGYMX.js} +1 -1
- package/dist/assets/{index-B7FgXPOI.js → index-B6eunbxp.js} +2871 -2467
- package/dist/assets/{index-CK1EcLzg.js → index-Br8T1Gn6.js} +1 -1
- package/dist/assets/{index-sq5ggyEC.css → index-DCpy4nCU.css} +124 -0
- package/dist/assets/{pickBy-s5T-2ufr.js → pickBy-8Urz9lDY.js} +1 -1
- package/dist/assets/{templateActions-sdO4R-bv.js → templateActions-DzjysjbQ.js} +1 -1
- package/dist/assets/{useBeforeUnload-CQPMw1S7.js → useBeforeUnload-DxrN8vOO.js} +1 -1
- package/dist/assets/{useCanvasMapping-DRc556sb.js → useCanvasMapping-C2BQB9QB.js} +21 -18
- package/dist/assets/{useCanvasOperations-B0S86JW0.js → useCanvasOperations-DaP5jKbH.js} +2 -2
- package/dist/assets/{useClearExecutionButtonVisible-C3SJ4iFv.js → useClearExecutionButtonVisible-BV-jMf2m.js} +2 -2
- package/dist/assets/{useExecutionDebugging-CJwhg6O9.js → useExecutionDebugging-0pPCimcw.js} +1 -1
- package/dist/assets/{useExecutionHelpers-BWNgdgwx.js → useExecutionHelpers-DIvhViMz.js} +2 -2
- package/dist/assets/{useImportCurlCommand-DAljDdWP.js → useImportCurlCommand-BWf4R83s.js} +19 -10
- package/dist/assets/usePushConnection-Pobjq0U9.js +632 -0
- package/dist/assets/{useTestDefinitionForm-CLiOMqSh.js → useTestDefinitionForm-BA3IS_2B.js} +1 -1
- package/dist/assets/{useWorkflowActivate-yVdxh8CC.js → useWorkflowActivate-DFqvrpj6.js} +1 -1
- package/dist/assets/useWorkflowSaving-BACesUoL.js +66 -0
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/dist/assets/CollectionParameter-X0kImkTc.js +0 -4
- package/dist/assets/usePushConnection-BBpCn7jd.js +0 -537
|
@@ -120,71 +120,30 @@
|
|
|
120
120
|
-------------------------- */
|
|
121
121
|
/* BEM
|
|
122
122
|
-------------------------- */
|
|
123
|
-
.
|
|
124
|
-
position: absolute;
|
|
125
|
-
right: var(--spacing-s);
|
|
126
|
-
top: var(--spacing-s);
|
|
127
|
-
}
|
|
128
|
-
._rawContent_kaw5r_129 {
|
|
129
|
-
position: relative;
|
|
130
|
-
}
|
|
131
|
-
._markdown_kaw5r_133 {
|
|
132
|
-
white-space: pre-wrap;
|
|
133
|
-
}
|
|
134
|
-
._markdown_kaw5r_133 h1 {
|
|
135
|
-
font-size: var(--font-size-l);
|
|
136
|
-
line-height: var(--font-line-height-xloose);
|
|
137
|
-
}
|
|
138
|
-
._markdown_kaw5r_133 h2 {
|
|
139
|
-
font-size: var(--font-size-m);
|
|
140
|
-
line-height: var(--font-line-height-loose);
|
|
141
|
-
}
|
|
142
|
-
._markdown_kaw5r_133 h3 {
|
|
143
|
-
font-size: var(--font-size-s);
|
|
144
|
-
line-height: var(--font-line-height-regular);
|
|
145
|
-
}
|
|
146
|
-
._markdown_kaw5r_133 pre {
|
|
147
|
-
background: var(--chat--message--pre--background);
|
|
148
|
-
border-radius: var(--border-radius-base);
|
|
149
|
-
line-height: var(--font-line-height-xloose);
|
|
150
|
-
padding: var(--spacing-s);
|
|
151
|
-
font-size: var(--font-size-s);
|
|
152
|
-
white-space: pre-wrap;
|
|
153
|
-
}
|
|
154
|
-
._contentText_kaw5r_157 {
|
|
155
|
-
padding-top: var(--spacing-s);
|
|
156
|
-
padding-left: var(--spacing-m);
|
|
157
|
-
padding-right: var(--spacing-m);
|
|
158
|
-
font-size: var(--font-size-s);
|
|
159
|
-
}
|
|
160
|
-
._block_kaw5r_164 {
|
|
123
|
+
._block_wafm4_123 {
|
|
161
124
|
padding: var(--spacing-s) 0 var(--spacing-2xs) var(--spacing-2xs);
|
|
162
125
|
border: 1px solid var(--color-foreground-light);
|
|
163
126
|
margin-top: var(--spacing-s);
|
|
164
127
|
border-radius: var(--border-radius-base);
|
|
165
128
|
}
|
|
166
|
-
:root .
|
|
129
|
+
:root ._blockContent_wafm4_130 {
|
|
167
130
|
height: 0;
|
|
168
131
|
overflow: hidden;
|
|
169
132
|
}
|
|
170
|
-
:root .
|
|
133
|
+
:root ._blockContent_wafm4_130._blockContentExpanded_wafm4_134 {
|
|
171
134
|
height: auto;
|
|
172
135
|
}
|
|
173
|
-
.
|
|
174
|
-
line-height: var(--font-line-height-xloose);
|
|
175
|
-
white-space: pre-line;
|
|
176
|
-
}
|
|
177
|
-
._rawSwitch_kaw5r_184 {
|
|
136
|
+
._rawSwitch_wafm4_138 {
|
|
178
137
|
opacity: 0;
|
|
179
138
|
height: -moz-fit-content;
|
|
180
139
|
height: fit-content;
|
|
181
140
|
margin-left: auto;
|
|
182
141
|
margin-right: var(--spacing-2xs);
|
|
183
142
|
}
|
|
184
|
-
.
|
|
143
|
+
._block_wafm4_123:hover ._rawSwitch_wafm4_138 {
|
|
185
144
|
opacity: 1;
|
|
186
145
|
}
|
|
187
|
-
.
|
|
146
|
+
._blockHeader_wafm4_148 {
|
|
188
147
|
display: flex;
|
|
189
148
|
gap: var(--spacing-xs);
|
|
190
149
|
cursor: pointer;
|
|
@@ -193,24 +152,24 @@
|
|
|
193
152
|
padding: var(--spacing-2xs) var(--spacing-xs);
|
|
194
153
|
align-items: center;
|
|
195
154
|
}
|
|
196
|
-
.
|
|
155
|
+
._blockHeader_wafm4_148 * {
|
|
197
156
|
-webkit-user-select: none;
|
|
198
157
|
user-select: none;
|
|
199
158
|
}
|
|
200
|
-
.
|
|
159
|
+
._blockTitle_wafm4_161 {
|
|
201
160
|
font-size: var(--font-size-s);
|
|
202
161
|
color: var(--color-text-dark);
|
|
203
162
|
margin: 0;
|
|
204
163
|
padding-bottom: var(--spacing-4xs);
|
|
205
164
|
}
|
|
206
|
-
.
|
|
165
|
+
._blockToggle_wafm4_168 {
|
|
207
166
|
border: none;
|
|
208
167
|
background: none;
|
|
209
168
|
padding: 0;
|
|
210
169
|
color: var(--color-text-base);
|
|
211
170
|
margin-top: calc(-1 * var(--spacing-3xs));
|
|
212
171
|
}
|
|
213
|
-
.
|
|
172
|
+
._error_wafm4_176 {
|
|
214
173
|
padding: var(--spacing-s) 0;
|
|
215
174
|
}
|
|
216
175
|
._container_dypaw_2 {
|
|
@@ -1,159 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
type: "json",
|
|
6
|
-
data: execData,
|
|
7
|
-
parsed: false
|
|
8
|
-
});
|
|
9
|
-
const outputTypeParsers = {
|
|
10
|
-
[NodeConnectionTypes.AiLanguageModel](execData) {
|
|
11
|
-
const response = execData.response ?? execData;
|
|
12
|
-
if (!response) throw new Error("No response from Language Model");
|
|
13
|
-
if (Array.isArray(response?.messages) && response?.messages.length === 1 && typeof response?.messages[0] === "string") {
|
|
14
|
-
return {
|
|
15
|
-
type: "text",
|
|
16
|
-
data: response.messages[0],
|
|
17
|
-
parsed: true
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
if (response.messages && Array.isArray(response.messages)) {
|
|
21
|
-
return outputTypeParsers[NodeConnectionTypes.AiMemory](execData);
|
|
22
|
-
}
|
|
23
|
-
if (response.generations) {
|
|
24
|
-
const generations = response.generations;
|
|
25
|
-
const content = generations.map((generation) => {
|
|
26
|
-
if (generation?.text) return generation.text;
|
|
27
|
-
if (Array.isArray(generation)) {
|
|
28
|
-
return generation.map((item) => item.text ?? item).join("\n\n").trim();
|
|
29
|
-
}
|
|
30
|
-
return generation;
|
|
31
|
-
});
|
|
32
|
-
return {
|
|
33
|
-
type: "json",
|
|
34
|
-
data: content,
|
|
35
|
-
parsed: true
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
return {
|
|
39
|
-
type: "json",
|
|
40
|
-
data: response,
|
|
41
|
-
parsed: true
|
|
42
|
-
};
|
|
43
|
-
},
|
|
44
|
-
[NodeConnectionTypes.AiTool]: fallbackParser,
|
|
45
|
-
[NodeConnectionTypes.AiAgent]: fallbackParser,
|
|
46
|
-
[NodeConnectionTypes.AiMemory](execData) {
|
|
47
|
-
const chatHistory = execData.chatHistory ?? execData.messages ?? execData?.response?.chat_history;
|
|
48
|
-
if (Array.isArray(chatHistory)) {
|
|
49
|
-
const responseText = chatHistory.map((content) => {
|
|
50
|
-
if (content.type === "constructor" && content.id?.includes("messages") && content.kwargs) {
|
|
51
|
-
let message = content.kwargs.content;
|
|
52
|
-
if (Array.isArray(message)) {
|
|
53
|
-
message = message.map((item) => {
|
|
54
|
-
const { type, image_url } = item;
|
|
55
|
-
if (type === "image_url" && typeof image_url === "object" && typeof image_url.url === "string") {
|
|
56
|
-
return ``;
|
|
57
|
-
} else if (typeof image_url === "string") {
|
|
58
|
-
return ``;
|
|
59
|
-
}
|
|
60
|
-
return item.text;
|
|
61
|
-
}).join("\n");
|
|
62
|
-
}
|
|
63
|
-
if (Object.keys(content.kwargs.additional_kwargs).length) {
|
|
64
|
-
message += ` (${JSON.stringify(content.kwargs.additional_kwargs)})`;
|
|
65
|
-
}
|
|
66
|
-
if (content.id.includes("HumanMessage")) {
|
|
67
|
-
message = `**Human:** ${String(message).trim()}`;
|
|
68
|
-
} else if (content.id.includes("AIMessage")) {
|
|
69
|
-
message = `**AI:** ${message}`;
|
|
70
|
-
} else if (content.id.includes("SystemMessage")) {
|
|
71
|
-
message = `**System Message:** ${message}`;
|
|
72
|
-
}
|
|
73
|
-
return message;
|
|
74
|
-
}
|
|
75
|
-
return "";
|
|
76
|
-
}).join("\n\n");
|
|
77
|
-
if (responseText.length === 0) {
|
|
78
|
-
return fallbackParser(execData);
|
|
79
|
-
}
|
|
80
|
-
return {
|
|
81
|
-
type: "markdown",
|
|
82
|
-
data: responseText,
|
|
83
|
-
parsed: true
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
return fallbackParser(execData);
|
|
87
|
-
},
|
|
88
|
-
[NodeConnectionTypes.AiOutputParser]: fallbackParser,
|
|
89
|
-
[NodeConnectionTypes.AiRetriever]: fallbackParser,
|
|
90
|
-
[NodeConnectionTypes.AiVectorStore](execData) {
|
|
91
|
-
if (execData.documents) {
|
|
92
|
-
return {
|
|
93
|
-
type: "json",
|
|
94
|
-
data: execData.documents,
|
|
95
|
-
parsed: true
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
return fallbackParser(execData);
|
|
99
|
-
},
|
|
100
|
-
[NodeConnectionTypes.AiEmbedding](execData) {
|
|
101
|
-
if (execData.documents) {
|
|
102
|
-
return {
|
|
103
|
-
type: "json",
|
|
104
|
-
data: execData.documents,
|
|
105
|
-
parsed: true
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
return fallbackParser(execData);
|
|
109
|
-
},
|
|
110
|
-
[NodeConnectionTypes.AiDocument](execData) {
|
|
111
|
-
if (execData.documents) {
|
|
112
|
-
return {
|
|
113
|
-
type: "json",
|
|
114
|
-
data: execData.documents,
|
|
115
|
-
parsed: true
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
return fallbackParser(execData);
|
|
119
|
-
},
|
|
120
|
-
[NodeConnectionTypes.AiTextSplitter](execData) {
|
|
121
|
-
const arrayData = Array.isArray(execData.response) ? execData.response : [execData.textSplitter];
|
|
122
|
-
return {
|
|
123
|
-
type: "text",
|
|
124
|
-
data: arrayData.join("\n\n"),
|
|
125
|
-
parsed: true
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
|
-
const useAiContentParsers = () => {
|
|
130
|
-
const parseAiRunData = (executionData, endpointType) => {
|
|
131
|
-
if ([NodeConnectionTypes.AiChain, NodeConnectionTypes.Main].includes(
|
|
132
|
-
endpointType
|
|
133
|
-
)) {
|
|
134
|
-
return executionData.map((data) => ({ raw: data.json, parsedContent: null }));
|
|
135
|
-
}
|
|
136
|
-
const contentJson = executionData.map((node) => {
|
|
137
|
-
const hasBinaryData = !isObjectEmpty(node.binary);
|
|
138
|
-
return hasBinaryData ? node.binary : node.json;
|
|
139
|
-
});
|
|
140
|
-
const parser = outputTypeParsers[endpointType];
|
|
141
|
-
if (!parser)
|
|
142
|
-
return [
|
|
143
|
-
{
|
|
144
|
-
raw: contentJson.filter((item) => item !== void 0),
|
|
145
|
-
parsedContent: null
|
|
146
|
-
}
|
|
147
|
-
];
|
|
148
|
-
const parsedOutput = contentJson.filter((c) => c !== void 0).map((c) => ({ raw: c, parsedContent: parser(c) }));
|
|
149
|
-
return parsedOutput;
|
|
150
|
-
};
|
|
151
|
-
return {
|
|
152
|
-
parseAiRunData
|
|
153
|
-
};
|
|
154
|
-
};
|
|
155
|
-
const _hoisted_1$2 = ["data-content-type"];
|
|
156
|
-
const _hoisted_2$2 = ["textContent"];
|
|
1
|
+
import { p as parseAiContent, h as _sfc_main$3, i as getConsumedTokens, V as ViewSubExecution, f as formatTokenUsageCount, _ as _sfc_main$5, j as createAiData, k as getTreeNodeData, l as getReferencedData } from "./RunData-Bx47sNQp.js";
|
|
2
|
+
import { d as defineComponent, r as ref, q as computed, bm 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, eq as FontAwesomeIcon, t as toDisplayString, bG as N8nRadioButtons, _ as _export_sfc, bz as useNodeTypesStore, Q as useWorkflowsStore, h as resolveComponent, bC as _sfc_main$4, w as withCtx, l as createTextVNode, c as useI18n, F as Fragment, D as renderList, X as watch, er as ElTree, B as normalizeStyle } from "./index-B6eunbxp.js";
|
|
3
|
+
import RunDataAi$1 from "./RunDataParsedAiContent-D6MNLmT3.js";
|
|
4
|
+
import { d as capitalize } from "./useCanvasOperations-DaP5jKbH.js";
|
|
157
5
|
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
158
6
|
__name: "AiRunContentBlock",
|
|
159
7
|
props: {
|
|
@@ -162,14 +10,12 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
162
10
|
},
|
|
163
11
|
setup(__props) {
|
|
164
12
|
const props = __props;
|
|
165
|
-
const i18n = useI18n();
|
|
166
|
-
const clipboard = useClipboard();
|
|
167
|
-
const { showMessage } = useToast();
|
|
168
|
-
const contentParsers = useAiContentParsers();
|
|
169
13
|
const isExpanded = ref(getInitialExpandedState());
|
|
170
14
|
const renderType = ref("rendered");
|
|
171
|
-
const
|
|
172
|
-
const
|
|
15
|
+
const parsedRun = computed(() => parseAiContent(props.runData.data ?? [], props.runData.type));
|
|
16
|
+
const contentParsed = computed(
|
|
17
|
+
() => parsedRun.value.some((item) => item.parsedContent?.parsed === true)
|
|
18
|
+
);
|
|
173
19
|
function getInitialExpandedState() {
|
|
174
20
|
const collapsedTypes = {
|
|
175
21
|
input: [
|
|
@@ -185,98 +31,14 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
185
31
|
};
|
|
186
32
|
return !collapsedTypes[props.runData.inOut].includes(props.runData.type);
|
|
187
33
|
}
|
|
188
|
-
function isJsonString(text) {
|
|
189
|
-
try {
|
|
190
|
-
JSON.parse(text);
|
|
191
|
-
return true;
|
|
192
|
-
} catch (e) {
|
|
193
|
-
return false;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
const markdownOptions = {
|
|
197
|
-
highlight(str, lang) {
|
|
198
|
-
if (lang && HighlightJS.getLanguage(lang)) {
|
|
199
|
-
try {
|
|
200
|
-
return HighlightJS.highlight(str, { language: lang }).value;
|
|
201
|
-
} catch {
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
return "";
|
|
205
|
-
}
|
|
206
|
-
};
|
|
207
|
-
function parseAiRunData(run) {
|
|
208
|
-
if (!run.data) {
|
|
209
|
-
return;
|
|
210
|
-
}
|
|
211
|
-
const parsedData = contentParsers.parseAiRunData(run.data, run.type);
|
|
212
|
-
return parsedData;
|
|
213
|
-
}
|
|
214
|
-
function isMarkdown(content) {
|
|
215
|
-
if (typeof content !== "string") return false;
|
|
216
|
-
const markdownPatterns = [
|
|
217
|
-
/^# .+/gm,
|
|
218
|
-
// headers
|
|
219
|
-
/\*{1,2}.+\*{1,2}/g,
|
|
220
|
-
// emphasis and strong
|
|
221
|
-
/\[.+\]\(.+\)/g,
|
|
222
|
-
// links
|
|
223
|
-
/```[\s\S]+```/g
|
|
224
|
-
// code blocks
|
|
225
|
-
];
|
|
226
|
-
return markdownPatterns.some((pattern) => pattern.test(content));
|
|
227
|
-
}
|
|
228
|
-
function formatToJsonMarkdown(data) {
|
|
229
|
-
return "```json\n" + data + "\n```";
|
|
230
|
-
}
|
|
231
|
-
function jsonToMarkdown(data) {
|
|
232
|
-
if (isMarkdown(data)) return data;
|
|
233
|
-
if (Array.isArray(data) && data.length && typeof data[0] !== "number") {
|
|
234
|
-
const markdownArray = data.map((item) => jsonToMarkdown(item));
|
|
235
|
-
return markdownArray.join("\n\n").trim();
|
|
236
|
-
}
|
|
237
|
-
if (typeof data === "string") {
|
|
238
|
-
if (isJsonString(data)) {
|
|
239
|
-
return formatToJsonMarkdown(data);
|
|
240
|
-
}
|
|
241
|
-
return data;
|
|
242
|
-
}
|
|
243
|
-
return formatToJsonMarkdown(JSON.stringify(data, null, 2));
|
|
244
|
-
}
|
|
245
|
-
function setContentParsed(content) {
|
|
246
|
-
contentParsed.value = !!content.find((item) => {
|
|
247
|
-
if (item.parsedContent?.parsed === true) {
|
|
248
|
-
return true;
|
|
249
|
-
}
|
|
250
|
-
return false;
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
34
|
function onBlockHeaderClick() {
|
|
254
35
|
isExpanded.value = !isExpanded.value;
|
|
255
36
|
}
|
|
256
|
-
function onCopyToClipboard(content) {
|
|
257
|
-
try {
|
|
258
|
-
void clipboard.copy(JSON.stringify(content, void 0, 2));
|
|
259
|
-
showMessage({
|
|
260
|
-
title: i18n.baseText("generic.copiedToClipboard"),
|
|
261
|
-
type: "success"
|
|
262
|
-
});
|
|
263
|
-
} catch (err) {
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
37
|
function onRenderTypeChange(value) {
|
|
267
38
|
renderType.value = value;
|
|
268
39
|
}
|
|
269
|
-
onMounted(() => {
|
|
270
|
-
parsedRun.value = parseAiRunData(props.runData);
|
|
271
|
-
if (parsedRun.value) {
|
|
272
|
-
setContentParsed(parsedRun.value);
|
|
273
|
-
}
|
|
274
|
-
});
|
|
275
40
|
return (_ctx, _cache) => {
|
|
276
|
-
const _component_font_awesome_icon = resolveComponent("font-awesome-icon");
|
|
277
|
-
const _component_n8n_radio_buttons = resolveComponent("n8n-radio-buttons");
|
|
278
41
|
const _component_NodeErrorView = _sfc_main$3;
|
|
279
|
-
const _component_n8n_icon_button = resolveComponent("n8n-icon-button");
|
|
280
42
|
return openBlock(), createElementBlock("div", {
|
|
281
43
|
class: normalizeClass(_ctx.$style.block)
|
|
282
44
|
}, [
|
|
@@ -287,7 +49,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
287
49
|
createBaseVNode("button", {
|
|
288
50
|
class: normalizeClass(_ctx.$style.blockToggle)
|
|
289
51
|
}, [
|
|
290
|
-
createVNode(
|
|
52
|
+
createVNode(unref(FontAwesomeIcon), {
|
|
291
53
|
icon: isExpanded.value ? "angle-down" : "angle-right",
|
|
292
54
|
size: "lg"
|
|
293
55
|
}, null, 8, ["icon"])
|
|
@@ -295,7 +57,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
295
57
|
createBaseVNode("p", {
|
|
296
58
|
class: normalizeClass(_ctx.$style.blockTitle)
|
|
297
59
|
}, toDisplayString(unref(capitalize)(_ctx.runData.inOut)), 3),
|
|
298
|
-
contentParsed.value && !_ctx.error && isExpanded.value ? (openBlock(), createBlock(
|
|
60
|
+
contentParsed.value && !_ctx.error && isExpanded.value ? (openBlock(), createBlock(unref(N8nRadioButtons), {
|
|
299
61
|
key: 0,
|
|
300
62
|
size: "small",
|
|
301
63
|
"model-value": renderType.value,
|
|
@@ -316,77 +78,32 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
316
78
|
_ctx.error ? (openBlock(), createBlock(_component_NodeErrorView, {
|
|
317
79
|
key: 0,
|
|
318
80
|
error: _ctx.error,
|
|
319
|
-
class: normalizeClass(_ctx.$style.error)
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
key: 0,
|
|
329
|
-
source: jsonToMarkdown(parsedContent.data),
|
|
330
|
-
class: normalizeClass(_ctx.$style.markdown),
|
|
331
|
-
options: markdownOptions
|
|
332
|
-
}, null, 8, ["source", "class"])) : createCommentVNode("", true),
|
|
333
|
-
parsedContent.type === "markdown" ? (openBlock(), createBlock(unref(VueMarkdown), {
|
|
334
|
-
key: 1,
|
|
335
|
-
source: parsedContent.data,
|
|
336
|
-
class: normalizeClass(_ctx.$style.markdown),
|
|
337
|
-
options: markdownOptions
|
|
338
|
-
}, null, 8, ["source", "class"])) : createCommentVNode("", true),
|
|
339
|
-
parsedContent.type === "text" ? (openBlock(), createElementBlock("p", {
|
|
340
|
-
key: 2,
|
|
341
|
-
class: normalizeClass(_ctx.$style.runText),
|
|
342
|
-
textContent: toDisplayString(parsedContent.data)
|
|
343
|
-
}, null, 10, _hoisted_2$2)) : createCommentVNode("", true)
|
|
344
|
-
], 64)) : (openBlock(), createElementBlock("div", {
|
|
345
|
-
key: 1,
|
|
346
|
-
class: normalizeClass(_ctx.$style.rawContent)
|
|
347
|
-
}, [
|
|
348
|
-
createVNode(_component_n8n_icon_button, {
|
|
349
|
-
size: "small",
|
|
350
|
-
class: normalizeClass(_ctx.$style.copyToClipboard),
|
|
351
|
-
type: "secondary",
|
|
352
|
-
title: unref(i18n).baseText("nodeErrorView.copyToClipboard"),
|
|
353
|
-
icon: "copy",
|
|
354
|
-
onClick: ($event) => onCopyToClipboard(raw)
|
|
355
|
-
}, null, 8, ["class", "title", "onClick"]),
|
|
356
|
-
createVNode(unref(VueMarkdown), {
|
|
357
|
-
source: jsonToMarkdown(raw),
|
|
358
|
-
class: normalizeClass(_ctx.$style.markdown)
|
|
359
|
-
}, null, 8, ["source", "class"])
|
|
360
|
-
], 2))
|
|
361
|
-
], 10, _hoisted_1$2);
|
|
362
|
-
}), 128))
|
|
81
|
+
class: normalizeClass(_ctx.$style.error),
|
|
82
|
+
"show-details": ""
|
|
83
|
+
}, null, 8, ["error", "class"])) : (openBlock(), createBlock(RunDataAi$1, {
|
|
84
|
+
key: 1,
|
|
85
|
+
data: _ctx.runData.data,
|
|
86
|
+
type: _ctx.runData.type,
|
|
87
|
+
content: parsedRun.value,
|
|
88
|
+
"render-type": renderType.value
|
|
89
|
+
}, null, 8, ["data", "type", "content", "render-type"]))
|
|
363
90
|
], 2)
|
|
364
91
|
], 2);
|
|
365
92
|
};
|
|
366
93
|
}
|
|
367
94
|
});
|
|
368
|
-
const
|
|
369
|
-
const
|
|
370
|
-
const
|
|
371
|
-
const
|
|
372
|
-
const
|
|
373
|
-
const
|
|
374
|
-
const
|
|
375
|
-
const
|
|
376
|
-
const rawSwitch = "_rawSwitch_kaw5r_184";
|
|
377
|
-
const blockHeader = "_blockHeader_kaw5r_194";
|
|
378
|
-
const blockTitle = "_blockTitle_kaw5r_207";
|
|
379
|
-
const blockToggle = "_blockToggle_kaw5r_214";
|
|
380
|
-
const error = "_error_kaw5r_222";
|
|
95
|
+
const block = "_block_wafm4_123";
|
|
96
|
+
const blockContent = "_blockContent_wafm4_130";
|
|
97
|
+
const blockContentExpanded = "_blockContentExpanded_wafm4_134";
|
|
98
|
+
const rawSwitch = "_rawSwitch_wafm4_138";
|
|
99
|
+
const blockHeader = "_blockHeader_wafm4_148";
|
|
100
|
+
const blockTitle = "_blockTitle_wafm4_161";
|
|
101
|
+
const blockToggle = "_blockToggle_wafm4_168";
|
|
102
|
+
const error = "_error_wafm4_176";
|
|
381
103
|
const style0$2 = {
|
|
382
|
-
copyToClipboard,
|
|
383
|
-
rawContent,
|
|
384
|
-
markdown,
|
|
385
|
-
contentText,
|
|
386
104
|
block,
|
|
387
105
|
blockContent,
|
|
388
106
|
blockContentExpanded,
|
|
389
|
-
runText,
|
|
390
107
|
rawSwitch,
|
|
391
108
|
blockHeader,
|
|
392
109
|
blockTitle,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunDataJsonActions-
|
|
2
|
-
import { d as defineComponent, as as useNDVStore, r as ref,
|
|
3
|
-
import { m as VueJsonPretty } from "./RunData-
|
|
4
|
-
import "./FileSaver.min-
|
|
5
|
-
import "./useExecutionHelpers-
|
|
6
|
-
import "./dateFormatter-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunDataJsonActions-Co4xgmVq.js","assets/index-B6eunbxp.js","assets/index-DCpy4nCU.css","assets/_commonjs-dynamic-modules-TGKdzP3c.js","assets/RunDataJsonActions-DrgwFS0W.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import { d as defineComponent, as as useNDVStore, r as ref, hE as useElementSize, q as computed, e0 as executionDataToJson, i as createElementBlock, g as openBlock, e as createBlock, j as createVNode, w as withCtx, f as createCommentVNode, m as unref, c3 as defineAsyncComponent, c2 as Suspense, hz as TextWithHighlights, n as normalizeClass, hA as MappingPill, h7 as Draggable, ao as __vitePreload, v as shorten, hD as getMappedExpression, hF as isString, hG as nonExistingJsonPath, aP as useExternalHooks, ag as useTelemetry, _ as _export_sfc } from "./index-B6eunbxp.js";
|
|
3
|
+
import { m as VueJsonPretty } from "./RunData-Bx47sNQp.js";
|
|
4
|
+
import "./FileSaver.min-BzAtcQXX.js";
|
|
5
|
+
import "./useExecutionHelpers-DIvhViMz.js";
|
|
6
|
+
import "./dateFormatter-C8N5khiG.js";
|
|
7
7
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
8
8
|
__name: "RunDataJson",
|
|
9
9
|
props: {
|
|
@@ -22,7 +22,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
22
22
|
},
|
|
23
23
|
setup(__props) {
|
|
24
24
|
const LazyRunDataJsonActions = defineAsyncComponent(
|
|
25
|
-
async () => await __vitePreload(() => import("./RunDataJsonActions-
|
|
25
|
+
async () => await __vitePreload(() => import("./RunDataJsonActions-Co4xgmVq.js"), true ? __vite__mapDeps([0,1,2,3,4]) : void 0)
|
|
26
26
|
);
|
|
27
27
|
const props = __props;
|
|
28
28
|
const ndvStore = useNDVStore();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { dK as commonjsGlobal, cv as getDefaultExportFromCjs, d as defineComponent, hG as nonExistingJsonPath, as as useNDVStore, Q as useWorkflowsStore, bA as useNodeHelpers, bf as useClipboard, bq as usePinnedData, a as useToast, R as useRoute, q as computed, h as resolveComponent, i as createElementBlock, g as openBlock, e as createBlock, m as unref, c as useI18n, w as withCtx, k as createBaseVNode, j as createVNode, l as createTextVNode, t as toDisplayString, n as normalizeClass, ag as useTelemetry, em as clearJsonKey, e0 as executionDataToJson, iy as convertPath, _ as _export_sfc } from "./index-B6eunbxp.js";
|
|
2
2
|
import { c as commonjsRequire } from "./_commonjs-dynamic-modules-TGKdzP3c.js";
|
|
3
3
|
var jsonpath = { exports: {} };
|
|
4
4
|
/*! jsonpath 1.1.1 */
|