n8n-editor-ui 1.104.0 → 1.105.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-CIyQ3zKd.js → AnimatedSpinner-CiVjnVTs.js} +1 -1
- package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-xv6FYiyR.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-Duv062St.js} +1 -1
- package/dist/assets/{AuthView-dJdngoqx.js → AuthView-Dpa-SRT8.js} +2 -2
- package/dist/assets/{ChangePasswordView-C74U84q5.js → ChangePasswordView-CB9uaGfm.js} +3 -3
- package/dist/assets/CollectionParameter-oBzQ1Hh-.js +4 -0
- package/dist/assets/{ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-CkASni2S.js → ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-DIcGPKiM.js} +1 -1
- package/dist/assets/{CredentialsView-jouDB3H1.js → CredentialsView-AW9gSm0C.js} +8 -8
- package/dist/assets/{DemoFooter-CHlbEpB-.js → DemoFooter-DybJBgCY.js} +6 -9
- package/dist/assets/{EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-CbDihlsO.js → EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-GcMQ_YdZ.js} +1 -1
- package/dist/assets/{EntityNotFound-Dtqj9thX.js → EntityNotFound-Bi2pl54e.js} +1 -1
- package/dist/assets/{EntityUnAuthorised-BBsbc6du.js → EntityUnAuthorised-HDf2HNt2.js} +1 -1
- package/dist/assets/{ErrorView-BN4Jm32q.js → ErrorView-BPodDJdx.js} +1 -1
- package/dist/assets/{EvaluationsRootView-B70WfmnQ.js → EvaluationsRootView-pO4cP-Fb.js} +1 -1
- package/dist/assets/{EvaluationsView-DQd7op3j.js → EvaluationsView-CI108a8E.js} +3 -3
- package/dist/assets/{ExecutionsTime-Bo7IOE5K.css → ExecutionsTime-etWexlXm.css} +6 -6
- package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-C_2brmCr.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-CGxPzqoO.js} +23 -30
- package/dist/assets/{ExecutionsView-CKPZTnZV.js → ExecutionsView-BaQKVP7R.js} +8 -9
- package/dist/assets/{FixedCollectionParameter-CA-CigeR.js → FixedCollectionParameter-BpCwKUsj.js} +1 -1
- package/dist/assets/{ForgotMyPasswordView-YyVmo-nw.js → ForgotMyPasswordView-CPC4cOzo.js} +3 -3
- package/dist/assets/{InfoAccordion-BNmUe2V9.js → InfoAccordion-M_n3OwQC.js} +1 -1
- package/dist/assets/{InsightsChartAverageRuntime-C9sCNhzD.js → InsightsChartAverageRuntime-CECRGvo9.js} +4 -4
- package/dist/assets/{InsightsChartFailed-DWA6YbZj.js → InsightsChartFailed-CTysIk94.js} +4 -4
- package/dist/assets/{InsightsChartFailureRate-CfknGtrr.js → InsightsChartFailureRate-LYCt3dgO.js} +4 -4
- package/dist/assets/{InsightsChartTimeSaved-DtLO9DJx.js → InsightsChartTimeSaved-msRVtM_g.js} +4 -4
- package/dist/assets/{InsightsChartTotal-yX_QJ-44.js → InsightsChartTotal-B_SUDPoP.js} +4 -4
- package/dist/assets/{InsightsDashboard-BlYvn96O.js → InsightsDashboard-CEgagMwD.js} +10 -10
- package/dist/assets/{InsightsPaywall-BCfIY_xn.js → InsightsPaywall-EnxDs7BF.js} +1 -1
- package/dist/assets/{InsightsSummary-OiO7efWD.js → InsightsSummary-DWzNYCfc.js} +1 -1
- package/dist/assets/{InsightsTableWorkflows-pTl3m7wx.js → InsightsTableWorkflows-Dl55NtXk.js} +5 -5
- package/dist/assets/{Logo-8g4P9vyv.js → Logo-MNn4rP0b.js} +1 -1
- package/dist/assets/{LogsPanel-D0xdq4fV.css → LogsPanel-B-Tmod-K.css} +25 -22
- package/dist/assets/{LogsPanel-so01MtIR.js → LogsPanel-DN3BXSh7.js} +209 -51
- package/dist/assets/{MainHeader-CcUlKfHC.js → MainHeader-F9ONi2FH.js} +8 -10
- package/dist/assets/{MainSidebar-DOGhP_oY.js → MainSidebar-Bf58ZTkX.js} +2 -3
- package/dist/assets/{N8nDataTableServer-9HerjyzX.js → N8nDataTableServer-PFDwZhpw.js} +1 -1
- package/dist/assets/{NodeCreation-CVbCKnet.js → NodeCreation-B9FRFHG0.js} +16 -13
- package/dist/assets/{NodeCreator-BOosPF8_.js → NodeCreator-nBzvpVJI.js} +11 -20
- package/dist/assets/{NodeDetailsView-KFidngJi.js → NodeDetailsView-CQQOZQXq.js} +13 -17
- package/dist/assets/{NodeDetailsViewV2-BL4KKqW-.js → NodeDetailsViewV2-DKnduvJH.js} +27 -31
- package/dist/assets/{NodeDetailsViewV2-BxNx4ZUM.css → NodeDetailsViewV2-LLVofUjw.css} +21 -19
- package/dist/assets/NodeView-B2097MY0.css +852 -0
- package/dist/assets/NodeView-rsVaGRIZ.js +2684 -0
- package/dist/assets/{ProjectHeader-B9-GdGvC.js → ProjectHeader-B8m2WaGw.js} +2 -2
- package/dist/assets/{ProjectSettings-CE4_geFa.js → ProjectSettings-CKIJ3B4S.js} +3 -3
- package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-Bb8zUJvi.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-D5oQ44UZ.js} +1 -1
- package/dist/assets/{ResourcesListLayout-ClTEnqVS.js → ResourcesListLayout-G2r5AxKI.js} +3 -3
- package/dist/assets/{RunDataJson-fXQKTIFD.js → RunDataJson-CAcnDJHh.js} +3 -6
- package/dist/assets/{RunDataJsonActions-CMP1sUPZ.js → RunDataJsonActions-jhh18-uN.js} +13 -13
- package/dist/assets/{RunDataParsedAiContent-CHK6Y4ET.js → RunDataParsedAiContent-B8wa1hGI.js} +25 -11
- package/dist/assets/{RunDataSearch-CAZGWZzz.js → RunDataSearch-CFmNTJ3I.js} +1 -1
- package/dist/assets/{RunDataTable-CeqmA-n3.js → RunDataTable-91h3y7DT.js} +1 -2
- package/dist/assets/{SamlOnboarding-BrdzPMSK.js → SamlOnboarding-8Gb7hf0c.js} +3 -3
- package/dist/assets/{SettingsApiView-Cj2YYKAl.js → SettingsApiView-BozlwAdS.js} +1 -1
- package/dist/assets/{SettingsCommunityNodesView-ChB--kZD.js → SettingsCommunityNodesView-RlNbis18.js} +4 -4
- package/dist/assets/{SettingsExternalSecrets-BjghCvkE.js → SettingsExternalSecrets-Blou_9Mh.js} +1 -1
- package/dist/assets/{SettingsLdapView-DIB1-nTk.js → SettingsLdapView-wf-fX_Jl.js} +1 -1
- package/dist/assets/{SettingsLogStreamingView-BOOGkcwK.js → SettingsLogStreamingView-DNaMOOjb.js} +1 -1
- package/dist/assets/{SettingsPersonalView-DaNZTNUy.js → SettingsPersonalView-DzYhwUgL.js} +1 -1
- package/dist/assets/{SettingsSourceControl-B5fQRT0V.js → SettingsSourceControl-D5eiGsMG.js} +1 -1
- package/dist/assets/{SettingsSso-CWX-T13W.js → SettingsSso-BF8vNEd4.js} +7 -12
- package/dist/assets/{SettingsUsageAndPlan-Cnnf9k6X.js → SettingsUsageAndPlan-Di_gUxTt.js} +1 -1
- package/dist/assets/{SettingsUsersView-BLDi4lpv.js → SettingsUsersView-BDNxV1rM.js} +2 -3
- package/dist/assets/{SettingsView-Dtc8MEv6.js → SettingsView-CAaXgrDd.js} +1 -1
- package/dist/assets/{SetupView-C4C-2Idz.js → SetupView-DIO89PJN.js} +3 -3
- package/dist/assets/{SetupWorkflowCredentialsButton-Pzrxag-k.js → SetupWorkflowCredentialsButton-y92onTNS.js} +1 -1
- package/dist/assets/{SetupWorkflowFromTemplateView-CRsZDYct.js → SetupWorkflowFromTemplateView-Hnqry6sO.js} +3 -3
- package/dist/assets/{SigninView-COyoSAUi.js → SigninView-t0q2CjNU.js} +3 -3
- package/dist/assets/{SignoutView-B0t9kc5s.js → SignoutView-DjCS-jDi.js} +1 -1
- package/dist/assets/{SignupView-BN8MCOnb.js → SignupView-BoEH4AVN.js} +3 -3
- package/dist/assets/{TableBase-BmhIwPwZ.js → TableBase-D-1VfIgb.js} +1 -1
- package/dist/assets/{Tags-DeTgaVsD.js → Tags-CnT3a0bf.js} +1 -1
- package/dist/assets/{TemplateDetails-Bh-WSvQ-.js → TemplateDetails-B-tHb3Wq.js} +4 -4
- package/dist/assets/{TemplateList-DxvJMjPE.js → TemplateList-j7v4XLCo.js} +3 -3
- package/dist/assets/{TemplatesCollectionView-BhilAS_8.js → TemplatesCollectionView-BPxSoEA5.js} +6 -6
- package/dist/assets/{TemplatesSearchView-CWxnTQ8Z.js → TemplatesSearchView-kZfygKcP.js} +3 -3
- package/dist/assets/{TemplatesView-Co-FQLhr.js → TemplatesView-KQ5r6RZF.js} +2 -2
- package/dist/assets/{TemplatesWorkflowView-DAWgsT0T.js → TemplatesWorkflowView-Pdm_DUrH.js} +6 -6
- package/dist/assets/{TriggerPanel-JaXhe1VW.js → TriggerPanel-WYRtg2P1.js} +39 -29
- package/dist/assets/{TriggerPanel-DJv04feX.css → TriggerPanel-gMtmEr6n.css} +16 -13
- package/dist/assets/{VariablesView-JnfEn1f-.js → VariablesView-CdihBrCp.js} +5 -5
- package/dist/assets/{VueMarkdown-DDKnTMgT.js → VueMarkdown-CLlUve9b.js} +1 -1
- package/dist/assets/{WorkerView-DZG4C_Qp.js → WorkerView-C_q2Cgtl.js} +6 -6
- package/dist/assets/{WorkflowActivator-C8hP37n7.js → WorkflowActivator-CDlyaU2W.js} +2 -2
- package/dist/assets/{WorkflowExecutionsInfoAccordion-DCNvkxhh.js → WorkflowExecutionsInfoAccordion-1aoYaoWj.js} +2 -2
- package/dist/assets/{WorkflowExecutionsLandingPage-DVp6SoPy.js → WorkflowExecutionsLandingPage-Cuz4EdsV.js} +3 -3
- package/dist/assets/{WorkflowExecutionsPreview-CKYWZWv1.js → WorkflowExecutionsPreview-BmDk9pdW.js} +7 -6
- package/dist/assets/{WorkflowExecutionsView-BIkweP3p.js → WorkflowExecutionsView-ClPpGdce.js} +6 -8
- package/dist/assets/{WorkflowHistory-C0LrWJW0.js → WorkflowHistory-EoRsFrnu.js} +2 -3
- package/dist/assets/{WorkflowOnboardingView-CWMUgnLK.js → WorkflowOnboardingView-B4DUomvQ.js} +1 -1
- package/dist/assets/{WorkflowPreview-DmYMBSH3.js → WorkflowPreview-dQweS-xu.js} +1 -1
- package/dist/assets/{WorkflowsView-jEphnf90.js → WorkflowsView-DQJRBDtq.js} +275 -30
- package/dist/assets/{WorkflowsView-CyJbJBc8.css → WorkflowsView-DsJIOJ7h.css} +263 -0
- package/dist/assets/{aiTemplatesStarterCollection.store-oECEA5nR.js → aiTemplatesStarterCollection.store-CTW_MDA8.js} +3 -2
- package/dist/assets/canvas-CMXo2Bja.js +5 -0
- package/dist/assets/{chartjs.utils-CP28DnUQ.js → chartjs.utils-CHvsojzm.js} +2 -2
- package/dist/assets/{en-BX7CKkqE.js → en-D7cJPQEa.js} +22 -2
- package/dist/assets/{global-link-actions-BjpAG7gt.js → global-link-actions-BxO50hoE.js} +1 -1
- package/dist/assets/{index-BWpYwmXd.css → index-BwGKZdwg.css} +15180 -4281
- package/dist/assets/{index-Cm5yBbby.js → index-DycvFkIw.js} +62283 -30324
- package/dist/assets/{index-CjbtyS1n.js → index-T1FYm0tg.js} +1 -1
- package/dist/assets/{pickBy-DA-1tKxT.js → pickBy-DMiUcEKW.js} +1 -1
- package/dist/assets/{polyfills-B8p9DdqU.js → polyfills-eMEFRc79.js} +0 -32
- package/dist/assets/{templateActions-D9IAsJ2m.js → templateActions-DrHAzjmQ.js} +1 -1
- package/dist/assets/{useBeforeUnload-BR-V9Uaz.js → useBeforeUnload-uDmDsya_.js} +1 -1
- package/dist/assets/{useExecutionDebugging-C8zR-uFJ.js → useExecutionDebugging-wqUkD23F.js} +1 -1
- package/dist/assets/{useImportCurlCommand-B3-fEq8S.js → useImportCurlCommand-CBZG4Lbx.js} +1 -2
- package/dist/assets/{useProjectPages-qXIMd_UF.js → useProjectPages-CW2fEpJH.js} +1 -1
- package/dist/assets/{usePushConnection-Duvg6z8O.js → usePushConnection-BM5QyJob.js} +3 -3
- package/dist/assets/{useWorkflowActivate-BE4Ckf9k.js → useWorkflowActivate-Dw_VspVF.js} +1 -1
- package/dist/index.html +5 -5
- package/dist/static/posthog.init.js +41 -0
- package/dist/static/prefers-color-scheme.css +5 -0
- package/index.html +2 -2
- package/package.json +1 -1
- package/tsconfig.json +1 -0
- package/dist/assets/ActionDropdown-BmC0wfMx.css +0 -172
- package/dist/assets/ActionDropdown-Ct6XJ0cl.js +0 -172
- package/dist/assets/CollectionParameter-DCn5Jtcj.js +0 -4
- package/dist/assets/FileSaver.min-BvxTURBB.js +0 -81
- package/dist/assets/NodeView-BzC6ELga.js +0 -18815
- package/dist/assets/NodeView-G2qfXaOy.css +0 -7402
- package/dist/assets/import-curl-BD22LJ4z.js +0 -5
- package/dist/assets/useExecutionHelpers-DQcWcZ8o.js +0 -94
- package/dist/assets/useKeybindings-2A271Jke.css +0 -2007
- package/dist/assets/useKeybindings-DetzdpXy.js +0 -3627
|
@@ -1916,7 +1916,7 @@
|
|
|
1916
1916
|
-------------------------- */
|
|
1917
1917
|
/* BEM
|
|
1918
1918
|
-------------------------- */
|
|
1919
|
-
.chat-input[data-v-
|
|
1919
|
+
.chat-input[data-v-b2a5be81] {
|
|
1920
1920
|
display: flex;
|
|
1921
1921
|
justify-content: center;
|
|
1922
1922
|
align-items: center;
|
|
@@ -1924,16 +1924,16 @@
|
|
|
1924
1924
|
flex-direction: column;
|
|
1925
1925
|
position: relative;
|
|
1926
1926
|
}
|
|
1927
|
-
.chat-input[data-v-
|
|
1927
|
+
.chat-input[data-v-b2a5be81] * {
|
|
1928
1928
|
box-sizing: border-box;
|
|
1929
1929
|
}
|
|
1930
|
-
.chat-inputs[data-v-
|
|
1930
|
+
.chat-inputs[data-v-b2a5be81] {
|
|
1931
1931
|
width: 100%;
|
|
1932
1932
|
display: flex;
|
|
1933
1933
|
justify-content: center;
|
|
1934
1934
|
align-items: flex-end;
|
|
1935
1935
|
}
|
|
1936
|
-
.chat-inputs textarea[data-v-
|
|
1936
|
+
.chat-inputs textarea[data-v-b2a5be81] {
|
|
1937
1937
|
font-family: inherit;
|
|
1938
1938
|
font-size: var(--chat--input--font-size);
|
|
1939
1939
|
width: 100%;
|
|
@@ -1950,20 +1950,20 @@
|
|
|
1950
1950
|
outline: none;
|
|
1951
1951
|
line-height: var(--chat--input--line-height, 1.5);
|
|
1952
1952
|
}
|
|
1953
|
-
.chat-inputs textarea[data-v-
|
|
1953
|
+
.chat-inputs textarea[data-v-b2a5be81]::-moz-placeholder {
|
|
1954
1954
|
font-size: var(--chat--input--placeholder--font-size, var(--chat--input--font-size));
|
|
1955
1955
|
}
|
|
1956
|
-
.chat-inputs textarea[data-v-
|
|
1956
|
+
.chat-inputs textarea[data-v-b2a5be81]::placeholder {
|
|
1957
1957
|
font-size: var(--chat--input--placeholder--font-size, var(--chat--input--font-size));
|
|
1958
1958
|
}
|
|
1959
|
-
.chat-inputs textarea[data-v-
|
|
1959
|
+
.chat-inputs textarea[data-v-b2a5be81]:focus, .chat-inputs textarea[data-v-b2a5be81]:hover {
|
|
1960
1960
|
border-color: var(--chat--input--border-active, 0);
|
|
1961
1961
|
}
|
|
1962
|
-
.chat-inputs-controls[data-v-
|
|
1962
|
+
.chat-inputs-controls[data-v-b2a5be81] {
|
|
1963
1963
|
display: flex;
|
|
1964
1964
|
}
|
|
1965
|
-
.chat-input-send-button[data-v-
|
|
1966
|
-
.chat-input-file-button[data-v-
|
|
1965
|
+
.chat-input-send-button[data-v-b2a5be81],
|
|
1966
|
+
.chat-input-file-button[data-v-b2a5be81] {
|
|
1967
1967
|
height: var(--chat--textarea--height);
|
|
1968
1968
|
width: var(--chat--textarea--height);
|
|
1969
1969
|
background: var(--chat--input--send--button--background, white);
|
|
@@ -1976,31 +1976,31 @@
|
|
|
1976
1976
|
justify-content: center;
|
|
1977
1977
|
transition: color var(--chat--transition-duration) ease;
|
|
1978
1978
|
}
|
|
1979
|
-
.chat-input-send-button svg[data-v-
|
|
1980
|
-
.chat-input-file-button svg[data-v-
|
|
1979
|
+
.chat-input-send-button svg[data-v-b2a5be81],
|
|
1980
|
+
.chat-input-file-button svg[data-v-b2a5be81] {
|
|
1981
1981
|
min-width: -moz-fit-content;
|
|
1982
1982
|
min-width: fit-content;
|
|
1983
1983
|
}
|
|
1984
|
-
.chat-input-send-button[disabled][data-v-
|
|
1985
|
-
.chat-input-file-button[disabled][data-v-
|
|
1984
|
+
.chat-input-send-button[disabled][data-v-b2a5be81],
|
|
1985
|
+
.chat-input-file-button[disabled][data-v-b2a5be81] {
|
|
1986
1986
|
cursor: no-drop;
|
|
1987
1987
|
color: var(--chat--color-disabled);
|
|
1988
1988
|
}
|
|
1989
|
-
.chat-input-send-button .chat-input-send-button[data-v-
|
|
1990
|
-
.chat-input-file-button .chat-input-send-button[data-v-
|
|
1991
|
-
.chat-input-file-button .chat-input-send-button[data-v-
|
|
1989
|
+
.chat-input-send-button .chat-input-send-button[data-v-b2a5be81]:hover, .chat-input-send-button .chat-input-send-button[data-v-b2a5be81]:focus,
|
|
1990
|
+
.chat-input-file-button .chat-input-send-button[data-v-b2a5be81]:hover,
|
|
1991
|
+
.chat-input-file-button .chat-input-send-button[data-v-b2a5be81]:focus {
|
|
1992
1992
|
background: var(--chat--input--send--button--background-hover, var(--chat--input--send--button--background));
|
|
1993
1993
|
color: var(--chat--input--send--button--color-hover);
|
|
1994
1994
|
}
|
|
1995
|
-
.chat-input-file-button[data-v-
|
|
1995
|
+
.chat-input-file-button[data-v-b2a5be81] {
|
|
1996
1996
|
background: var(--chat--input--file--button--background, white);
|
|
1997
1997
|
color: var(--chat--input--file--button--color);
|
|
1998
1998
|
}
|
|
1999
|
-
.chat-input-file-button[data-v-
|
|
1999
|
+
.chat-input-file-button[data-v-b2a5be81]:hover {
|
|
2000
2000
|
background: var(--chat--input--file--button--background-hover);
|
|
2001
2001
|
color: var(--chat--input--file--button--color-hover);
|
|
2002
2002
|
}
|
|
2003
|
-
.chat-files[data-v-
|
|
2003
|
+
.chat-files[data-v-b2a5be81] {
|
|
2004
2004
|
display: flex;
|
|
2005
2005
|
overflow-x: hidden;
|
|
2006
2006
|
overflow-y: auto;
|
|
@@ -2010,7 +2010,7 @@
|
|
|
2010
2010
|
gap: 0.5rem;
|
|
2011
2011
|
padding: var(--chat--files-spacing);
|
|
2012
2012
|
}
|
|
2013
|
-
.chat-input-left-panel[data-v-
|
|
2013
|
+
.chat-input-left-panel[data-v-b2a5be81] {
|
|
2014
2014
|
width: var(--chat--input--left--panel--width);
|
|
2015
2015
|
margin-left: 0.4rem;
|
|
2016
2016
|
}/* BEM support Func
|
|
@@ -3472,7 +3472,10 @@
|
|
|
3472
3472
|
-------------------------- */
|
|
3473
3473
|
/* BEM
|
|
3474
3474
|
-------------------------- */
|
|
3475
|
-
.
|
|
3475
|
+
._component_qlocg_123 {
|
|
3476
|
+
--color-run-data-background: var(--color-background-light);
|
|
3477
|
+
}
|
|
3478
|
+
._title_qlocg_127 {
|
|
3476
3479
|
text-transform: uppercase;
|
|
3477
3480
|
letter-spacing: 3px;
|
|
3478
3481
|
}/* BEM support Func
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { _ as
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { N as N8nActionDropdown } from "./ActionDropdown-Ct6XJ0cl.js";
|
|
7
|
-
import "./FileSaver.min-BvxTURBB.js";
|
|
8
|
-
import "./useExecutionHelpers-DQcWcZ8o.js";
|
|
1
|
+
import { bo as addTokenUsageData, bp as emptyTokenUsageData, bq as parseErrorMetadata, br as isChatNode, bs as NodeConnectionTypes, bt as v4, bu as get, bv as isRef, bw as isReactive, bx as isProxy, by as toRaw, bz as AGENT_LANGCHAIN_NODE_TYPE, bA as MANUAL_CHAT_TRIGGER_NODE_TYPE, bB as CHAT_TRIGGER_NODE_TYPE, bC as isEmpty, a as useToast, r as ref, x as computed, c as useI18n$1, bD as usePinnedData, aC as useMessage, aD as MODAL_CONFIRM, a5 as useWorkflowsStore, ad as useRootStore, bE as useLogsStore, b as useRouter, bF as useNodeHelpers, bG as useRunWorkflow, V as VIEWS, bH as chatEventBus, ab as watch, bI as provide, d as defineComponent, h as createElementBlock, g as openBlock, n as normalizeClass, i as createVNode, j as createBaseVNode, l as unref, p as N8nText, w as withCtx, J as renderSlot, k as createTextVNode, t as toDisplayString, _ as _export_sfc, a6 as useRoute, af as useSourceControlStore, bJ as useCanvasOperations, bK as useNodeTypesStore, bL as START_NODE_TYPE, e as createBlock, f as createCommentVNode, $ as N8nTooltip, bM as formatTokenUsageCount, bN as getDefaultExportFromCjs, bO as requireUpperFirst, F as Fragment, as as useTemplateRef, bP as useTimestamp, bQ as toTime, bR as toDayMonth, bS as withModifiers, y as renderList, P as normalizeStyle, bT as NodeIcon, a1 as I18nT, N as N8nIcon, a0 as _sfc_main$k, q as N8nButton, K as nextTick, bU as getScrollbarWidth, bV as useVirtualList, bW as toRef, D as mergeProps, H as N8nRadioButtons, bX as inject, bY as toRefs, o as onMounted, bZ as normalizeProps, b_ as guardReactiveProps, b$ as resolveDynamicComponent, c0 as markdownLink, c1 as useFileDialog, c2 as onUnmounted, aV as withDirectives, c3 as vModelText, a$ as withKeys, c4 as useAttrs, c5 as useClipboard, bi as createSlots, aP as useNDVStore, c6 as PiPWindowSymbol, c7 as resolveDirective, c8 as RunData, a2 as N8nLink, c9 as waitingNodeTooltip, aR as useLocalStorage, ca as LOG_DETAILS_PANEL_STATE, cb as KeyboardShortcutTooltip, cc as N8nResizeWrapper, cd as useStyles, ay as N8nActionDropdown, ce as Workflow, cf as useThrottleFn, cg as parse, ch as shallowRef, T as useUIStore, ae as useCanvasStore, aA as useTelemetry, ci as onScopeDispose, I as onBeforeUnmount, cj as applyThemeToBody, ck as useProvideTooltipAppendTo, cl as LOGS_PANEL_STATE, cm as LOCAL_STORAGE_PANEL_HEIGHT, cn as LOCAL_STORAGE_OVERVIEW_PANEL_WIDTH, co as LOCAL_STORAGE_PANEL_WIDTH, cp as useActiveElement, cq as useKeybindings, cr as ndvEventBus } from "./index-DycvFkIw.js";
|
|
2
|
+
import { _ as __unplugin_components_1 } from "./AnimatedSpinner-CiVjnVTs.js";
|
|
3
|
+
import { _ as _sfc_main$j } from "./ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-DIcGPKiM.js";
|
|
4
|
+
import { H as HighlightJS, V as VueMarkdown } from "./VueMarkdown-CLlUve9b.js";
|
|
5
|
+
import { c as canvasEventBus } from "./canvas-CMXo2Bja.js";
|
|
9
6
|
const TOOL_EXECUTOR_NODE_NAME = "PartialExecutionToolExecutor";
|
|
7
|
+
function constructChatWebsocketUrl(url, executionId, sessionId2, isPublic) {
|
|
8
|
+
const baseUrl = new URL(url).origin;
|
|
9
|
+
const wsProtocol = baseUrl.startsWith("https") ? "wss" : "ws";
|
|
10
|
+
const wsUrl = baseUrl.replace(/^https?/, wsProtocol);
|
|
11
|
+
return `${wsUrl}/chat?sessionId=${sessionId2}&executionId=${executionId}${isPublic ? "&isPublic=true" : ""}`;
|
|
12
|
+
}
|
|
10
13
|
function getConsumedTokens(task) {
|
|
11
14
|
if (!task.data) {
|
|
12
15
|
return emptyTokenUsageData;
|
|
@@ -349,7 +352,7 @@ function extractResponseText(responseData) {
|
|
|
349
352
|
if (!responseData || isEmpty(responseData)) {
|
|
350
353
|
return void 0;
|
|
351
354
|
}
|
|
352
|
-
const paths = ["output", "text", "response.text"];
|
|
355
|
+
const paths = ["output", "text", "response.text", "message"];
|
|
353
356
|
const matchedPath = paths.find((path) => get(responseData, path));
|
|
354
357
|
if (!matchedPath) return JSON.stringify(responseData, null, 2);
|
|
355
358
|
const matchedOutput = get(responseData, matchedPath);
|
|
@@ -373,6 +376,22 @@ function restoreChatHistory(workflowExecutionData, emptyText2) {
|
|
|
373
376
|
);
|
|
374
377
|
return [...userMessage ? [userMessage] : [], ...botMessage ? [botMessage] : []];
|
|
375
378
|
}
|
|
379
|
+
async function processFiles(data) {
|
|
380
|
+
if (!data || data.length === 0) return [];
|
|
381
|
+
const filePromises = data.map(async (file) => {
|
|
382
|
+
return new Promise((resolve, reject) => {
|
|
383
|
+
const reader = new FileReader();
|
|
384
|
+
reader.onload = () => resolve({
|
|
385
|
+
name: file.name,
|
|
386
|
+
type: file.type,
|
|
387
|
+
data: reader.result
|
|
388
|
+
});
|
|
389
|
+
reader.onerror = () => reject(new Error(`Error reading file: ${reader.error?.message ?? "Unknown error"}`));
|
|
390
|
+
reader.readAsDataURL(file);
|
|
391
|
+
});
|
|
392
|
+
});
|
|
393
|
+
return await Promise.all(filePromises);
|
|
394
|
+
}
|
|
376
395
|
function isSubNodeLog(logEntry) {
|
|
377
396
|
return logEntry.parent !== void 0 && logEntry.parent.executionId === logEntry.executionId;
|
|
378
397
|
}
|
|
@@ -384,12 +403,16 @@ function useChatMessaging({
|
|
|
384
403
|
messages: messages2,
|
|
385
404
|
sessionId: sessionId2,
|
|
386
405
|
executionResultData,
|
|
387
|
-
onRunChatWorkflow
|
|
406
|
+
onRunChatWorkflow,
|
|
407
|
+
ws
|
|
388
408
|
}) {
|
|
389
409
|
const locale = useI18n$1();
|
|
390
410
|
const { showError } = useToast();
|
|
391
411
|
const previousMessageIndex = ref(0);
|
|
392
412
|
const isLoading = ref(false);
|
|
413
|
+
const setLoadingState = (loading) => {
|
|
414
|
+
isLoading.value = loading;
|
|
415
|
+
};
|
|
393
416
|
async function convertFileToBinaryData(file) {
|
|
394
417
|
const reader = new FileReader();
|
|
395
418
|
return await new Promise((resolve, reject) => {
|
|
@@ -468,9 +491,12 @@ function useChatMessaging({
|
|
|
468
491
|
message
|
|
469
492
|
});
|
|
470
493
|
isLoading.value = false;
|
|
494
|
+
ws.value = null;
|
|
471
495
|
if (!response?.executionId) {
|
|
472
496
|
return;
|
|
473
497
|
}
|
|
498
|
+
const responseMode = triggerNode.parameters.options?.responseMode;
|
|
499
|
+
if (responseMode === "responseNodes") return;
|
|
474
500
|
const chatMessage = executionResultData.value ? extractBotResponse(
|
|
475
501
|
executionResultData.value,
|
|
476
502
|
response.executionId,
|
|
@@ -510,23 +536,39 @@ function useChatMessaging({
|
|
|
510
536
|
files
|
|
511
537
|
};
|
|
512
538
|
messages2.value.push(newMessage);
|
|
513
|
-
|
|
539
|
+
if (ws.value?.readyState === WebSocket.OPEN && !isLoading.value) {
|
|
540
|
+
ws.value.send(
|
|
541
|
+
JSON.stringify({
|
|
542
|
+
sessionId: sessionId2.value,
|
|
543
|
+
action: "sendMessage",
|
|
544
|
+
chatInput: message,
|
|
545
|
+
files: await processFiles(files)
|
|
546
|
+
})
|
|
547
|
+
);
|
|
548
|
+
isLoading.value = true;
|
|
549
|
+
} else {
|
|
550
|
+
await startWorkflowWithMessage(newMessage.text, files);
|
|
551
|
+
}
|
|
514
552
|
}
|
|
515
553
|
return {
|
|
516
554
|
previousMessageIndex,
|
|
517
555
|
isLoading: computed(() => isLoading.value),
|
|
556
|
+
setLoadingState,
|
|
518
557
|
sendMessage
|
|
519
558
|
};
|
|
520
559
|
}
|
|
521
|
-
const ChatSymbol = "Chat";
|
|
560
|
+
const ChatSymbol$1 = "Chat";
|
|
522
561
|
const ChatOptionsSymbol = "ChatOptions";
|
|
562
|
+
const ChatSymbol = "Chat";
|
|
523
563
|
function useChatState(isReadOnly) {
|
|
524
564
|
const locale = useI18n$1();
|
|
525
565
|
const workflowsStore = useWorkflowsStore();
|
|
566
|
+
const rootStore = useRootStore();
|
|
526
567
|
const logsStore = useLogsStore();
|
|
527
568
|
const router = useRouter();
|
|
528
569
|
const nodeHelpers = useNodeHelpers();
|
|
529
570
|
const { runWorkflow } = useRunWorkflow({ router });
|
|
571
|
+
const ws = ref(null);
|
|
530
572
|
const messages2 = ref([]);
|
|
531
573
|
const currentSessionId = ref(v4().replace(/-/g, ""));
|
|
532
574
|
const previousChatMessages = computed(() => workflowsStore.getPastChatMessages);
|
|
@@ -539,12 +581,16 @@ function useChatState(isReadOnly) {
|
|
|
539
581
|
const allowedFilesMimeTypes = computed(
|
|
540
582
|
() => chatTriggerNode.value?.parameters?.options?.allowedFilesMimeTypes?.toString() ?? ""
|
|
541
583
|
);
|
|
542
|
-
const
|
|
584
|
+
const respondNodesResponseMode = computed(
|
|
585
|
+
() => chatTriggerNode.value?.parameters?.options?.responseMode === "responseNodes"
|
|
586
|
+
);
|
|
587
|
+
const { sendMessage, isLoading, setLoadingState } = useChatMessaging({
|
|
543
588
|
chatTrigger: chatTriggerNode,
|
|
544
589
|
messages: messages2,
|
|
545
590
|
sessionId: currentSessionId,
|
|
546
591
|
executionResultData: computed(() => workflowsStore.getWorkflowExecution?.data?.resultData),
|
|
547
|
-
onRunChatWorkflow
|
|
592
|
+
onRunChatWorkflow,
|
|
593
|
+
ws
|
|
548
594
|
});
|
|
549
595
|
function createChatConfig(params) {
|
|
550
596
|
const chatConfig2 = {
|
|
@@ -615,6 +661,40 @@ function useChatState(isReadOnly) {
|
|
|
615
661
|
}
|
|
616
662
|
const response = await runWorkflow(runWorkflowOptions);
|
|
617
663
|
if (response) {
|
|
664
|
+
if (respondNodesResponseMode.value) {
|
|
665
|
+
const wsUrl = constructChatWebsocketUrl(
|
|
666
|
+
rootStore.urlBaseEditor,
|
|
667
|
+
response.executionId,
|
|
668
|
+
currentSessionId.value,
|
|
669
|
+
false
|
|
670
|
+
);
|
|
671
|
+
ws.value = new WebSocket(wsUrl);
|
|
672
|
+
ws.value.onmessage = (event) => {
|
|
673
|
+
if (event.data === "n8n|heartbeat") {
|
|
674
|
+
ws.value?.send("n8n|heartbeat-ack");
|
|
675
|
+
return;
|
|
676
|
+
}
|
|
677
|
+
if (event.data === "n8n|continue") {
|
|
678
|
+
setLoadingState(true);
|
|
679
|
+
return;
|
|
680
|
+
}
|
|
681
|
+
setLoadingState(false);
|
|
682
|
+
const newMessage = {
|
|
683
|
+
text: event.data,
|
|
684
|
+
sender: "bot",
|
|
685
|
+
sessionId: currentSessionId.value,
|
|
686
|
+
id: v4()
|
|
687
|
+
};
|
|
688
|
+
messages2.value.push(newMessage);
|
|
689
|
+
if (logsStore.isOpen) {
|
|
690
|
+
chatEventBus.emit("focusInput");
|
|
691
|
+
}
|
|
692
|
+
};
|
|
693
|
+
ws.value.onclose = () => {
|
|
694
|
+
setLoadingState(false);
|
|
695
|
+
ws.value = null;
|
|
696
|
+
};
|
|
697
|
+
}
|
|
618
698
|
await createExecutionPromise();
|
|
619
699
|
workflowsStore.appendChatMessage(payload.message);
|
|
620
700
|
return response;
|
|
@@ -848,7 +928,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
848
928
|
{ immediate: true }
|
|
849
929
|
);
|
|
850
930
|
return (_ctx, _cache) => {
|
|
851
|
-
const _component_NodeIcon =
|
|
931
|
+
const _component_NodeIcon = NodeIcon;
|
|
852
932
|
const _component_AnimatedSpinner = __unplugin_components_1;
|
|
853
933
|
return openBlock(), createElementBlock("div", {
|
|
854
934
|
ref: "containerRef",
|
|
@@ -970,7 +1050,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
970
1050
|
icon: "triangle-alert",
|
|
971
1051
|
class: normalizeClass(_ctx.$style.compactErrorIcon)
|
|
972
1052
|
}, null, 8, ["class"])) : createCommentVNode("", true),
|
|
973
|
-
!_ctx.isCompact || !props.latestInfo?.deleted ? (openBlock(), createBlock(unref(_sfc_main$
|
|
1053
|
+
!_ctx.isCompact || !props.latestInfo?.deleted ? (openBlock(), createBlock(unref(_sfc_main$k), {
|
|
974
1054
|
key: 4,
|
|
975
1055
|
type: "secondary",
|
|
976
1056
|
size: "small",
|
|
@@ -984,7 +1064,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
984
1064
|
"aria-label": unref(locale).baseText("logs.overview.body.open"),
|
|
985
1065
|
onClick: _cache[0] || (_cache[0] = withModifiers(($event) => emit("openNdv"), ["stop"]))
|
|
986
1066
|
}, null, 8, ["style", "disabled", "class", "aria-label"])) : createCommentVNode("", true),
|
|
987
|
-
!_ctx.isCompact || !props.isReadOnly && !props.latestInfo?.deleted && !props.latestInfo?.disabled ? (openBlock(), createBlock(unref(_sfc_main$
|
|
1067
|
+
!_ctx.isCompact || !props.isReadOnly && !props.latestInfo?.deleted && !props.latestInfo?.disabled ? (openBlock(), createBlock(unref(_sfc_main$k), {
|
|
988
1068
|
key: 5,
|
|
989
1069
|
type: "secondary",
|
|
990
1070
|
size: "small",
|
|
@@ -3818,7 +3898,7 @@ function xml(hljs) {
|
|
|
3818
3898
|
};
|
|
3819
3899
|
}
|
|
3820
3900
|
function useChat() {
|
|
3821
|
-
return inject(ChatSymbol);
|
|
3901
|
+
return inject(ChatSymbol$1);
|
|
3822
3902
|
}
|
|
3823
3903
|
function useOptions() {
|
|
3824
3904
|
const options = inject(ChatOptionsSymbol);
|
|
@@ -4152,7 +4232,9 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
4152
4232
|
const input = ref("");
|
|
4153
4233
|
const isSubmitting = ref(false);
|
|
4154
4234
|
const resizeObserver = ref(null);
|
|
4235
|
+
const waitingForChatResponse = ref(false);
|
|
4155
4236
|
const isSubmitDisabled = computed(() => {
|
|
4237
|
+
if (waitingForChatResponse.value) return false;
|
|
4156
4238
|
return input.value === "" || unref(waitingForResponse) || options.disabled?.value === true;
|
|
4157
4239
|
});
|
|
4158
4240
|
const isInputDisabled = computed(() => options.disabled?.value === true);
|
|
@@ -4226,6 +4308,89 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
4226
4308
|
input.value = value;
|
|
4227
4309
|
focusChatInput();
|
|
4228
4310
|
}
|
|
4311
|
+
function attachFiles() {
|
|
4312
|
+
if (files.value) {
|
|
4313
|
+
const filesToAttach = Array.from(files.value);
|
|
4314
|
+
resetFileDialog();
|
|
4315
|
+
files.value = null;
|
|
4316
|
+
return filesToAttach;
|
|
4317
|
+
}
|
|
4318
|
+
return [];
|
|
4319
|
+
}
|
|
4320
|
+
function setupWebsocketConnection(executionId) {
|
|
4321
|
+
if (options.webhookUrl && chatStore.currentSessionId.value) {
|
|
4322
|
+
try {
|
|
4323
|
+
const wsUrl = constructChatWebsocketUrl(
|
|
4324
|
+
options.webhookUrl,
|
|
4325
|
+
executionId,
|
|
4326
|
+
chatStore.currentSessionId.value,
|
|
4327
|
+
true
|
|
4328
|
+
);
|
|
4329
|
+
chatStore.ws = new WebSocket(wsUrl);
|
|
4330
|
+
chatStore.ws.onmessage = (e) => {
|
|
4331
|
+
if (e.data === "n8n|heartbeat") {
|
|
4332
|
+
chatStore.ws?.send("n8n|heartbeat-ack");
|
|
4333
|
+
return;
|
|
4334
|
+
}
|
|
4335
|
+
if (e.data === "n8n|continue") {
|
|
4336
|
+
waitingForChatResponse.value = false;
|
|
4337
|
+
chatStore.waitingForResponse.value = true;
|
|
4338
|
+
return;
|
|
4339
|
+
}
|
|
4340
|
+
const newMessage = {
|
|
4341
|
+
id: v4(),
|
|
4342
|
+
text: e.data,
|
|
4343
|
+
sender: "bot"
|
|
4344
|
+
};
|
|
4345
|
+
chatStore.messages.value.push(newMessage);
|
|
4346
|
+
waitingForChatResponse.value = true;
|
|
4347
|
+
chatStore.waitingForResponse.value = false;
|
|
4348
|
+
};
|
|
4349
|
+
chatStore.ws.onclose = () => {
|
|
4350
|
+
chatStore.ws = null;
|
|
4351
|
+
waitingForChatResponse.value = false;
|
|
4352
|
+
chatStore.waitingForResponse.value = false;
|
|
4353
|
+
};
|
|
4354
|
+
} catch (error2) {
|
|
4355
|
+
console.error("Error setting up websocket connection", error2);
|
|
4356
|
+
}
|
|
4357
|
+
}
|
|
4358
|
+
}
|
|
4359
|
+
async function processFiles2(data) {
|
|
4360
|
+
if (!data || data.length === 0) return [];
|
|
4361
|
+
const filePromises = data.map(async (file) => {
|
|
4362
|
+
return new Promise((resolve, reject) => {
|
|
4363
|
+
const reader = new FileReader();
|
|
4364
|
+
reader.onload = () => resolve({
|
|
4365
|
+
name: file.name,
|
|
4366
|
+
type: file.type,
|
|
4367
|
+
data: reader.result
|
|
4368
|
+
});
|
|
4369
|
+
reader.onerror = () => reject(new Error(`Error reading file: ${reader.error?.message ?? "Unknown error"}`));
|
|
4370
|
+
reader.readAsDataURL(file);
|
|
4371
|
+
});
|
|
4372
|
+
});
|
|
4373
|
+
return await Promise.all(filePromises);
|
|
4374
|
+
}
|
|
4375
|
+
async function respondToChatNode(ws, messageText) {
|
|
4376
|
+
const sentMessage = {
|
|
4377
|
+
id: v4(),
|
|
4378
|
+
text: messageText,
|
|
4379
|
+
sender: "user",
|
|
4380
|
+
files: files.value ? attachFiles() : void 0
|
|
4381
|
+
};
|
|
4382
|
+
chatStore.messages.value.push(sentMessage);
|
|
4383
|
+
ws.send(
|
|
4384
|
+
JSON.stringify({
|
|
4385
|
+
sessionId: chatStore.currentSessionId.value,
|
|
4386
|
+
action: "sendMessage",
|
|
4387
|
+
chatInput: messageText,
|
|
4388
|
+
files: await processFiles2(sentMessage.files)
|
|
4389
|
+
})
|
|
4390
|
+
);
|
|
4391
|
+
chatStore.waitingForResponse.value = true;
|
|
4392
|
+
waitingForChatResponse.value = false;
|
|
4393
|
+
}
|
|
4229
4394
|
async function onSubmit(event) {
|
|
4230
4395
|
event.preventDefault();
|
|
4231
4396
|
if (isSubmitDisabled.value) {
|
|
@@ -4234,10 +4399,15 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
4234
4399
|
const messageText = input.value;
|
|
4235
4400
|
input.value = "";
|
|
4236
4401
|
isSubmitting.value = true;
|
|
4237
|
-
|
|
4402
|
+
if (chatStore.ws && waitingForChatResponse.value) {
|
|
4403
|
+
await respondToChatNode(chatStore.ws, messageText);
|
|
4404
|
+
return;
|
|
4405
|
+
}
|
|
4406
|
+
const response = await chatStore.sendMessage(messageText, attachFiles());
|
|
4407
|
+
if (response?.executionId) {
|
|
4408
|
+
setupWebsocketConnection(response.executionId);
|
|
4409
|
+
}
|
|
4238
4410
|
isSubmitting.value = false;
|
|
4239
|
-
resetFileDialog();
|
|
4240
|
-
files.value = null;
|
|
4241
4411
|
}
|
|
4242
4412
|
async function onSubmitKeydown(event) {
|
|
4243
4413
|
if (event.shiftKey || event.isComposing) {
|
|
@@ -4325,7 +4495,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
4325
4495
|
], 8, _hoisted_6)
|
|
4326
4496
|
])
|
|
4327
4497
|
]),
|
|
4328
|
-
files.value?.length && !isSubmitting.value ? (openBlock(), createElementBlock("div", _hoisted_7, [
|
|
4498
|
+
files.value?.length && (!isSubmitting.value || waitingForChatResponse.value) ? (openBlock(), createElementBlock("div", _hoisted_7, [
|
|
4329
4499
|
(openBlock(true), createElementBlock(Fragment, null, renderList(files.value, (file) => {
|
|
4330
4500
|
return openBlock(), createBlock(ChatFile, {
|
|
4331
4501
|
key: file.name,
|
|
@@ -4340,7 +4510,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
4340
4510
|
};
|
|
4341
4511
|
}
|
|
4342
4512
|
});
|
|
4343
|
-
const ChatInput = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-
|
|
4513
|
+
const ChatInput = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-b2a5be81"]]);
|
|
4344
4514
|
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
4345
4515
|
__name: "MessageTyping",
|
|
4346
4516
|
props: {
|
|
@@ -4508,18 +4678,9 @@ const MessageOptionTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__cssMo
|
|
|
4508
4678
|
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
4509
4679
|
__name: "MessageOptionAction",
|
|
4510
4680
|
props: {
|
|
4511
|
-
label: {
|
|
4512
|
-
|
|
4513
|
-
|
|
4514
|
-
},
|
|
4515
|
-
icon: {
|
|
4516
|
-
type: Object,
|
|
4517
|
-
required: true
|
|
4518
|
-
},
|
|
4519
|
-
placement: {
|
|
4520
|
-
type: String,
|
|
4521
|
-
default: "top"
|
|
4522
|
-
}
|
|
4681
|
+
label: {},
|
|
4682
|
+
icon: {},
|
|
4683
|
+
placement: {}
|
|
4523
4684
|
},
|
|
4524
4685
|
setup(__props) {
|
|
4525
4686
|
const attrs = useAttrs();
|
|
@@ -4532,14 +4693,14 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
4532
4693
|
return openBlock(), createElementBlock("div", {
|
|
4533
4694
|
class: normalizeClass(_ctx.$style.container)
|
|
4534
4695
|
}, [
|
|
4535
|
-
createVNode(_component_n8n_tooltip, { placement:
|
|
4696
|
+
createVNode(_component_n8n_tooltip, { placement: _ctx.placement }, {
|
|
4536
4697
|
content: withCtx(() => [
|
|
4537
|
-
createTextVNode(toDisplayString(
|
|
4698
|
+
createTextVNode(toDisplayString(_ctx.label), 1)
|
|
4538
4699
|
]),
|
|
4539
4700
|
default: withCtx(() => [
|
|
4540
4701
|
createVNode(_component_n8n_icon, {
|
|
4541
4702
|
class: normalizeClass(_ctx.$style.icon),
|
|
4542
|
-
icon:
|
|
4703
|
+
icon: _ctx.icon,
|
|
4543
4704
|
size: "xsmall",
|
|
4544
4705
|
onClick
|
|
4545
4706
|
}, null, 8, ["class", "icon"])
|
|
@@ -4680,7 +4841,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
4680
4841
|
content: unref(locale).baseText("chat.window.session.resetSession")
|
|
4681
4842
|
}, {
|
|
4682
4843
|
default: withCtx(() => [
|
|
4683
|
-
createVNode(unref(_sfc_main$
|
|
4844
|
+
createVNode(unref(_sfc_main$k), {
|
|
4684
4845
|
class: normalizeClass(_ctx.$style.newHeaderButton),
|
|
4685
4846
|
"data-test-id": "refresh-session-button",
|
|
4686
4847
|
outline: "",
|
|
@@ -4863,6 +5024,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
4863
5024
|
const _directive_n8n_html = resolveDirective("n8n-html");
|
|
4864
5025
|
return runDataProps.value ? (openBlock(), createBlock(RunData, mergeProps({ key: 0 }, runDataProps.value, {
|
|
4865
5026
|
key: `run-data${unref(pipWindow) ? "-pip" : ""}`,
|
|
5027
|
+
class: _ctx.$style.component,
|
|
4866
5028
|
workflow: _ctx.logEntry.workflow,
|
|
4867
5029
|
"workflow-execution": _ctx.logEntry.execution,
|
|
4868
5030
|
"too-much-data-title": unref(locale).baseText("ndv.output.tooMuchData.title"),
|
|
@@ -4952,12 +5114,14 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
4952
5114
|
]),
|
|
4953
5115
|
key: "1"
|
|
4954
5116
|
} : void 0
|
|
4955
|
-
]), 1040, ["workflow", "workflow-execution", "too-much-data-title", "no-data-in-branch-message", "executing-message", "pane-type", "display-mode", "disable-ai-content", "is-executing", "collapsing-table-column-name"])) : createCommentVNode("", true);
|
|
5117
|
+
]), 1040, ["class", "workflow", "workflow-execution", "too-much-data-title", "no-data-in-branch-message", "executing-message", "pane-type", "display-mode", "disable-ai-content", "is-executing", "collapsing-table-column-name"])) : createCommentVNode("", true);
|
|
4956
5118
|
};
|
|
4957
5119
|
}
|
|
4958
5120
|
});
|
|
4959
|
-
const
|
|
5121
|
+
const component = "_component_qlocg_123";
|
|
5122
|
+
const title$1 = "_title_qlocg_127";
|
|
4960
5123
|
const style0$3 = {
|
|
5124
|
+
component,
|
|
4961
5125
|
title: title$1
|
|
4962
5126
|
};
|
|
4963
5127
|
const cssModules$3 = {
|
|
@@ -5110,7 +5274,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
5110
5274
|
createBaseVNode("div", {
|
|
5111
5275
|
class: normalizeClass(_ctx.$style.title)
|
|
5112
5276
|
}, [
|
|
5113
|
-
createVNode(
|
|
5277
|
+
createVNode(NodeIcon, {
|
|
5114
5278
|
"node-type": type.value,
|
|
5115
5279
|
size: 16,
|
|
5116
5280
|
class: normalizeClass(_ctx.$style.icon)
|
|
@@ -5315,7 +5479,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
5315
5479
|
content: popOutButtonText.value
|
|
5316
5480
|
}, {
|
|
5317
5481
|
default: withCtx(() => [
|
|
5318
|
-
createVNode(unref(_sfc_main$
|
|
5482
|
+
createVNode(unref(_sfc_main$k), {
|
|
5319
5483
|
icon: "pop-out",
|
|
5320
5484
|
type: "tertiary",
|
|
5321
5485
|
text: "",
|
|
@@ -5343,7 +5507,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
5343
5507
|
"z-index": tooltipZIndex.value
|
|
5344
5508
|
}, {
|
|
5345
5509
|
default: withCtx(() => [
|
|
5346
|
-
createVNode(unref(_sfc_main$
|
|
5510
|
+
createVNode(unref(_sfc_main$k), {
|
|
5347
5511
|
type: "tertiary",
|
|
5348
5512
|
text: "",
|
|
5349
5513
|
size: "small",
|
|
@@ -5485,17 +5649,11 @@ function useLogsSelection(execution, tree2, flatLogEntries, toggleExpand) {
|
|
|
5485
5649
|
const uiStore = useUIStore();
|
|
5486
5650
|
const canvasStore = useCanvasStore();
|
|
5487
5651
|
const workflowsStore = useWorkflowsStore();
|
|
5488
|
-
const experimentalNdvStore = useExperimentalNdvStore();
|
|
5489
5652
|
function syncSelectionToCanvasIfEnabled(value) {
|
|
5490
5653
|
if (!logsStore.isLogSelectionSyncedWithCanvas) {
|
|
5491
5654
|
return;
|
|
5492
5655
|
}
|
|
5493
|
-
|
|
5494
|
-
canvasEventBus.emit("nodes:select", { ids: [value.node.id], panIntoView: false });
|
|
5495
|
-
experimentalNdvStore.focusNode(value.node.id);
|
|
5496
|
-
} else {
|
|
5497
|
-
canvasEventBus.emit("nodes:select", { ids: [value.node.id], panIntoView: true });
|
|
5498
|
-
}
|
|
5656
|
+
canvasEventBus.emit("nodes:select", { ids: [value.node.id], panIntoView: true });
|
|
5499
5657
|
}
|
|
5500
5658
|
function select(value) {
|
|
5501
5659
|
manualLogEntrySelection.value = value === void 0 ? { type: "none" } : { type: "selected", entry: value };
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import { d as defineComponent, x as computed, h as createElementBlock, g as openBlock, i as createVNode, l as unref, E as ElDropdown, w as withCtx, j as createBaseVNode, n as normalizeClass, f as createCommentVNode, F as Fragment, y as renderList, e as createBlock, z as N8nAvatar, t as toDisplayString, A as ElDropdownMenu, B as ElDropdownItem, C as N8nUserInfo, D as mergeProps, _ as _export_sfc, G as MAIN_HEADER_TABS, H as N8nRadioButtons, r as ref, I as onBeforeUnmount, o as onMounted, J as renderSlot, K as nextTick, L as debounce, O as resolveComponent, P as normalizeStyle, Q as createEventBus, k as createTextVNode, R as useTagsStore, S as useDebounce, T as useUIStore, U as BREAKPOINT_SM, W as BREAKPOINT_XL, X as BREAKPOINT_LG, Y as BREAKPOINT_MD, Z as getBannerRowHeight, V as VIEWS, $ as N8nTooltip, a0 as _sfc_main$b, c as useI18n, a1 as I18nT, a2 as N8nLink, a3 as defineStore, a4 as usePushConnectionStore, a5 as useWorkflowsStore, u as useUsersStore, a6 as useRoute, a7 as PLACEHOLDER_EMPTY_WORKFLOW_ID, a8 as STORES, a9 as TIME, aa as useDocumentVisibility, ab as watch, ac as useCssModule, ad as useRootStore, ae as useCanvasStore, v as useSettingsStore, af as useSourceControlStore, ag as useProjectsStore, ah as useFoldersStore, ai as useNpsSurveyStore, b as useRouter, a as useToast, aj as useDocumentTitle, ak as useWorkflowSaving, al as useWorkflowHelpers, am as usePageRedirectionHelper, an as getResourcePermissions, ao as WORKFLOW_MENU_ACTIONS, ap as hasPermission, aq as EnterpriseEditionFeature, ar as ProjectTypes, as as useTemplateRef, at as InlineRename, au as MAX_WORKFLOW_NAME_LENGTH, av as _sfc_main$c, aw as N8nBadge, q as N8nButton, ax as SaveButton, ay as
|
|
2
|
-
import {
|
|
3
|
-
import { _ as
|
|
4
|
-
import {
|
|
5
|
-
import { u as
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import "./
|
|
9
|
-
import "./global-link-actions-BjpAG7gt.js";
|
|
10
|
-
import "./aiTemplatesStarterCollection.store-oECEA5nR.js";
|
|
1
|
+
import { d as defineComponent, x as computed, h as createElementBlock, g as openBlock, i as createVNode, l as unref, E as ElDropdown, w as withCtx, j as createBaseVNode, n as normalizeClass, f as createCommentVNode, F as Fragment, y as renderList, e as createBlock, z as N8nAvatar, t as toDisplayString, A as ElDropdownMenu, B as ElDropdownItem, C as N8nUserInfo, D as mergeProps, _ as _export_sfc, G as MAIN_HEADER_TABS, H as N8nRadioButtons, r as ref, I as onBeforeUnmount, o as onMounted, J as renderSlot, K as nextTick, L as debounce, O as resolveComponent, P as normalizeStyle, Q as createEventBus, k as createTextVNode, R as useTagsStore, S as useDebounce, T as useUIStore, U as BREAKPOINT_SM, W as BREAKPOINT_XL, X as BREAKPOINT_LG, Y as BREAKPOINT_MD, Z as getBannerRowHeight, V as VIEWS, $ as N8nTooltip, a0 as _sfc_main$b, c as useI18n, a1 as I18nT, a2 as N8nLink, a3 as defineStore, a4 as usePushConnectionStore, a5 as useWorkflowsStore, u as useUsersStore, a6 as useRoute, a7 as PLACEHOLDER_EMPTY_WORKFLOW_ID, a8 as STORES, a9 as TIME, aa as useDocumentVisibility, ab as watch, ac as useCssModule, ad as useRootStore, ae as useCanvasStore, v as useSettingsStore, af as useSourceControlStore, ag as useProjectsStore, ah as useFoldersStore, ai as useNpsSurveyStore, b as useRouter, a as useToast, aj as useDocumentTitle, ak as useWorkflowSaving, al as useWorkflowHelpers, am as usePageRedirectionHelper, an as getResourcePermissions, ao as WORKFLOW_MENU_ACTIONS, ap as hasPermission, aq as EnterpriseEditionFeature, ar as ProjectTypes, as as useTemplateRef, at as InlineRename, au as MAX_WORKFLOW_NAME_LENGTH, av as _sfc_main$c, aw as N8nBadge, q as N8nButton, ax as SaveButton, ay as N8nActionDropdown, az as WORKFLOW_SHARE_MODAL_KEY, aA as useTelemetry, aB as nodeViewEventBus, aC as useMessage, aD as MODAL_CONFIRM, aE as WORKFLOW_SETTINGS_MODAL_KEY, aF as SOURCE_CONTROL_PUSH_MODAL_KEY, aG as IMPORT_WORKFLOW_URL_MODAL_KEY, aH as FileSaver_minExports, aI as DUPLICATE_MODAL_KEY, aJ as ResourceType, aK as PROJECT_MOVE_RESOURCE_MODAL, aL as __vitePreload, aM as hyphenate, aN as h, aO as hasOwn, aP as useNDVStore, aQ as useExecutionsStore, aR as useLocalStorage, aS as LOCAL_STORAGE_HIDE_GITHUB_STAR_BUTTON, aT as STICKY_NODE_TYPE, aU as onBeforeMount, aV as withDirectives, aW as vShow, aX as N8N_MAIN_GITHUB_REPO_URL, N as N8nIcon } from "./index-DycvFkIw.js";
|
|
2
|
+
import { _ as __unplugin_components_0, W as WorkflowActivator } from "./WorkflowActivator-CDlyaU2W.js";
|
|
3
|
+
import { _ as _sfc_main$d } from "./PushConnectionTracker.vue_vue_type_script_setup_true_lang-D5oQ44UZ.js";
|
|
4
|
+
import { u as useBeforeUnload } from "./useBeforeUnload-uDmDsya_.js";
|
|
5
|
+
import { u as usePushConnection } from "./usePushConnection-BM5QyJob.js";
|
|
6
|
+
import "./useWorkflowActivate-Dw_VspVF.js";
|
|
7
|
+
import "./global-link-actions-BxO50hoE.js";
|
|
8
|
+
import "./aiTemplatesStarterCollection.store-CTW_MDA8.js";
|
|
11
9
|
const _hoisted_1$3 = {
|
|
12
10
|
class: "user-stack",
|
|
13
11
|
"data-test-id": "user-stack-container"
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { d as defineComponent, r as ref, e as createBlock, g as openBlock, w as withCtx, i as createVNode, l as unref,
|
|
2
|
-
import {
|
|
3
|
-
import { L as Logo } from "./Logo-8g4P9vyv.js";
|
|
1
|
+
import { d as defineComponent, r as ref, e as createBlock, g as openBlock, w as withCtx, i as createVNode, l as unref, aY as ElSubMenu, n as normalizeClass, h as createElementBlock, F as Fragment, y as renderList, aZ as _sfc_main$6, a_ as ElMenuItem, f as createCommentVNode, k as createTextVNode, J as renderSlot, N as N8nIcon, t as toDisplayString, D as mergeProps, a$ as withKeys, b0 as ElMenu, _ as _export_sfc, b1 as get, b2 as useLoadingService, T as useUIStore, af as useSourceControlStore, ag as useProjectsStore, a as useToast, x as computed, ap as hasPermission, an as getResourcePermissions, P as normalizeStyle, j as createBaseVNode, $ as N8nTooltip, q as N8nButton, c as useI18n, Q as createEventBus, aF as SOURCE_CONTROL_PUSH_MODAL_KEY, b3 as notifyUserAboutPullWorkFolderOutcome, b4 as sourceControlEventBus, b5 as SOURCE_CONTROL_PULL_MODAL_KEY, a3 as defineStore, b6 as useCloudPlanStore, ad as useRootStore, b7 as useStorage, b8 as DateTime, a8 as STORES, aA as useTelemetry, v as useSettingsStore, b as useRouter, b9 as sortByProperty, V as VIEWS, am as usePageRedirectionHelper, u as useUsersStore, aU as onBeforeMount, ba as N8nMenuItem, p as N8nText, bb as useDebugInfo, bc as useVersionsStore, a2 as N8nLink, bd as VERSIONS_MODAL_KEY, be as useTemplatesStore, a5 as useWorkflowsStore, S as useDebounce, a6 as useRoute, bf as RELEASE_NOTES_URL, o as onMounted, bg as useExternalHooks, K as nextTick, I as onBeforeUnmount, bh as onClickOutside, O as resolveComponent, a1 as I18nT, a0 as _sfc_main$7, bi as createSlots, z as N8nAvatar, ay as N8nActionDropdown, bj as N8nMenu, bk as WHATS_NEW_MODAL_KEY, bl as ABOUT_MODAL_KEY, bm as trackTemplatesClick, bn as TemplateClickSource } from "./index-DycvFkIw.js";
|
|
2
|
+
import { L as Logo } from "./Logo-MNn4rP0b.js";
|
|
4
3
|
const ROOT_MENU_INDEX = "-1";
|
|
5
4
|
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
6
5
|
...{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as defineComponent,
|
|
1
|
+
import { d as defineComponent, bv as isRef, ch as shallowRef, ab as watch, r as ref, fl as watchEffect, aN as h, l as unref, e5 as mergeModels, fm as useSlots, x as computed, e6 as useModel, fn as ElCheckbox, cf as useThrottleFn, h as createElementBlock, g as openBlock, j as createBaseVNode, f as createCommentVNode, P as normalizeStyle, n as normalizeClass, F as Fragment, y as renderList, e as createBlock, k as createTextVNode, t as toDisplayString, bS as withModifiers, J as renderSlot, i as createVNode, fo as ElSkeletonItem, D as mergeProps, fp as _sfc_main$1, fq as ElSelect, w as withCtx, fr as ElOption, bu as get, _ as _export_sfc } from "./index-DycvFkIw.js";
|
|
2
2
|
/**
|
|
3
3
|
* table-core
|
|
4
4
|
*
|