n8n-editor-ui
Version:
Workflow Editor UI for n8n
1 lines • 61.7 kB
JavaScript
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{};e.SENTRY_RELEASE={id:`n8n@2.13.4`}}catch{}})();try{(function(){var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`73908952-438f-4ad7-959d-ae9ca159e022`,e._sentryDebugIdIdentifier=`sentry-dbid-73908952-438f-4ad7-959d-ae9ca159e022`)})()}catch{}import{o as e}from"./chunk-DxpFCn6T.js";import{$ as t,$t as n,A as r,C as i,E as a,F as o,Ft as s,I as c,K as l,N as u,O as d,Qt as f,R as p,S as m,Sn as h,T as g,U as _,W as v,Wt as y,X as b,_ as x,_n as S,at as C,bt as ee,c as w,en as T,gt as E,it as D,j as O,p as k,pt as A,q as j,rt as M,st as N,tt as te,vn as P,w as F,yn as I,yt as L}from"./vue.runtime.esm-bundler-D9KLAxvJ.js";import{M as ne,bt as R,w as z,z as B}from"./_MapCache-CUJwh2qp.js";import{$i as V,At as re,Bt as H,Gi as U,H as ie,Hi as ae,I as W,Ii as oe,Ji as G,Ki as se,Li as ce,Mi as le,Qi as ue,Ti as K,Ui as de,Ut as fe,Wi as q,Z as pe,Zi as J,_t as me,bt as he,gt as ge,h as _e,j as ve,m as ye,n as be,na as xe,qi as Se,ut as Ce}from"./src-wni2AGA3.js";import{t as Y}from"./_plugin-vue_export-helper-Dm3nT7Ps.js";import"./sanitize-html-my1ogl5v.js";import{Ai as we,Ar as Te,As as Ee,E as De,Er as Oe,Et as ke,Ft as Ae,Gr as je,Ii as Me,It as Ne,Nr as Pe,Pr as Fe,Ra as Ie,Tr as Le,aa as Re,an as ze,cn as Be,dn as X,en as Ve,gr as He,ia as Ue,in as We,jr as Ge,kt as Ke,ll as qe,na as Je,nn as Ye,r as Xe,rn as Ze,s as Qe,t as $e,vn as et,w as tt,xn as nt,yn as rt}from"./users.store-BHWXXawf.js";import"./MainSidebarHeader-BHA0TF0B.js";import{t as it}from"./BaseLayout-DD0w0m1B.js";import{$s as at,Bc as ot,Bl as Z,Cs as st,Gs as ct,Gt as lt,Ic as ut,Ps as dt,Qs as ft,Rc as pt,T as mt,Uo as ht,Ws as gt,Ys as _t,_ as vt,cn as yt,dc as bt,ec as xt,g as St,gr as Ct,is as wt,ks as Tt,ms as Q,o as Et,pc as Dt,pl as Ot,ps as $,t as kt,tc as At,vl as jt,xr as Mt,y as Nt}from"./constants-CIP7tKq1.js";import"./merge-BqvKZ38d.js";import{r as Pt}from"./_baseOrderBy-CaKruttV.js";import{t as Ft}from"./banners.store-D1XIK6Qv.js";import"./dateformat-CYfyw486.js";import{n as It,t as Lt}from"./useDebounce-CTeIt-cH.js";import"./versions.store-CNV-esbv.js";import"./usePageRedirectionHelper-Dxb_B6-R.js";import"./dataTable.store-DzRmkvR8.js";import{t as Rt}from"./useClipboard-D72kaMkX.js";import"./useBugReporting-CbZrOWLY.js";import{t as zt}from"./executions.store-CZbPSd3l.js";import{t as Bt}from"./assistant.store-BOJw9cI0.js";import{t as Vt}from"./chatPanel.store-N5nWYKck.js";import"./RunData-CqDg79Fs.js";import"./NDVEmptyState-DMWlSoOG.js";import"./externalSecrets.ee.store-JZ2zh2En.js";import"./uniqBy-CvYQiCPx.js";import"./usePinnedData-bxdhY-Ce.js";import"./nodeIcon-BFJyt77y.js";import"./canvas.utils-BMxgA7cX.js";import"./canvas.eventBus-C-z2MFNA.js";import"./useCanvasOperations-CI7Ylcwf.js";import"./setupPanel.store-D0Kh-_X7.js";import"./nodeTransforms-DgA3LbBA.js";import"./templateTransforms-Bcjcx-gt.js";import"./ProjectIcon-BBMQDCgu.js";import"./CredentialIcon-BKhP7Biv.js";import"./useDynamicCredentials-C74iW7Qx.js";import"./RunDataHtml-B-bE8ase.js";import"./NodeIcon-0naEDfOR.js";import"./useRunWorkflow-BbbTafql.js";import{t as Ht}from"./pushConnection.store-L5aofOKN.js";import{t as Ut}from"./useInjectWorkflowId-BSmCE6rY.js";import"./vue-json-pretty-CBkxkEgX.js";import{t as Wt}from"./collaboration.store-BcnGWDqh.js";import"./dateFormatter-aoRZizgK.js";import"./useExecutionHelpers-D8SD8Eej.js";import{t as Gt}from"./TimeAgo-B5--ltV7.js";import"./roles.store-B4WtqADh.js";import"./KeyboardShortcutTooltip-CrTbwZwY.js";import{t as Kt}from"./folders.store-DKth0xuB.js";import"./TagsDropdown-DD1kUoaA.js";import{t as qt}from"./WorkflowTagsDropdown-BqoujWpp.js";import{t as Jt}from"./dist-DG6crvT0.js";import"./sso.store-DmM4R1YZ.js";import{t as Yt}from"./router-B4sCyKhY.js";import"./insights.store-DoHmMCwa.js";import"./insights.constants-BWd0PYhd.js";import"./insights.utils-BGXnT8rV.js";import{a as Xt,s as Zt}from"./mcp.constants-1YI8b9Rg.js";import"./sourceControl.eventBus-BBs1sz7q.js";import{i as Qt,r as $t}from"./utils-B8F_XQAK.js";import{t as en}from"./useMcp-D0Wazsp1.js";import{t as tn}from"./useKeybindings-C1FXJp2f.js";import{t as nn}from"./chatHubPanel.store-DX1OXDdC.js";import{t as rn}from"./useWorkflowActivate-DFt4_Nvv.js";import"./useGlobalEntityCreation-Bu-B9YLA.js";import{f as an,l as on,t as sn}from"./chat.store-Bg89IR0u.js";import{t as cn}from"./useProvideWorkflowId-DtueOBFb.js";import{t as ln}from"./LoadingView-DuT1o70s.js";import"./useSettingsItems-otijpHKn.js";import{t as un}from"./ChatAgentAvatar-Dxv-BN__.js";import{t as dn}from"./AppSidebar-C0AtBqTc.js";import"./readyToRun.store-DpPozriV.js";import"./resourceCenter.store-CLLPe8N4.js";import"./useLogsTreeExpand-CFu0Brhy.js";import{i as fn,n as pn,r as mn,t as hn}from"./usePostMessageHandler-CY7vlSSv.js";import"./AnimatedSpinner-CGTlYi1c.js";import"./useResizablePanel-CFn0Gfyi.js";import"./aiTemplatesStarterCollection.store-BmxR4DN8.js";import"./readyToRunWorkflows.store-Cuyl81V2.js";import"./useExecutionDebugging-CgM9Buet.js";import{a as gn,n as _n,r as vn,t as yn}from"./ChatGreetings-BawDM94-.js";import{n as bn}from"./ToolsSelector-C3Jxpxix.js";import"./ProjectBreadcrumb-Dme2WBZU.js";import{t as xn}from"./FolderBreadcrumbs-DQCcj0vL.js";import{t as Sn}from"./ConnectionTracker-DW6_ZDhd.js";import{t as Cn}from"./useWorkflowsCache-CKDN9xCS.js";import{t as wn}from"./usePushConnection-DNqura4v.js";var Tn=u({__name:`MenuGroup`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e;return(e,r)=>(t(),F(y(Se),_({role:`group`},n),{default:L(()=>[D(e.$slots,`default`)]),_:3},16))}}),En=u({__name:`MenuLabel`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`div`}},setup(e){let n=e;return(e,r)=>(t(),F(y(Se),P(o(n)),{default:L(()=>[D(e.$slots,`default`)]),_:3},16))}}),Dn=u({__name:`DropdownMenuGroup`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e;return G(),(e,r)=>(t(),F(y(Tn),P(o(n)),{default:L(()=>[D(e.$slots,`default`)]),_:3},16))}}),On=u({__name:`DropdownMenuLabel`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e;return G(),(e,r)=>(t(),F(y(En),P(o(n)),{default:L(()=>[D(e.$slots,`default`)]),_:3},16))}});function kn(){let e=ge();return{layoutProps:m(()=>e.meta.layoutProps??{})}}var An=Y(u({__name:`AskAssistantFloatingButton`,setup(e){let n=Bt(),r=Be(),o=Vt(),s=Ee(),c=R(),{APP_Z_INDEXES:l}=Oe(),u=m(()=>{let e=n.lastUnread;return e?.type===`block`?e.title:e?.type===`text`?e.content:e?.type===`code-diff`?e.description:``}),d=m(()=>s.settings.ai.allowSendingParameterValues),f=async()=>{r.isAIBuilderEnabled&&d.value?o.isOpen&&o.isBuilderModeActive?o.close():await o.open({mode:`builder`}):await o.toggle({mode:`assistant`}),o.isOpen&&n.trackUserOpenedAssistant({source:`canvas`,task:`placeholder`,has_existing_session:!n.isSessionEnded})};return(e,r)=>(t(),a(`div`,{class:S(e.$style.container),"data-test-id":`ask-assistant-floating-button`},[O(y(le),{"z-index":y(l).ASK_ASSISTANT_FLOATING_BUTTON_TOOLTIP,placement:`top`,visible:!!u.value,"popper-class":e.$style.tooltip},{content:L(()=>[i(`div`,{class:S(e.$style.text)},h(u.value),3),i(`div`,{class:S(e.$style.assistant)},[O(y(K),{size:`mini`}),i(`span`,null,h(y(c).baseText(`aiAssistant.name`)),1)],2)]),default:L(()=>[O(y(ce),{"unread-count":y(n).unreadCount,onClick:f},null,8,[`unread-count`])]),_:1},8,[`z-index`,`visible`,`popper-class`])],2))}}),[[`__cssModules`,{$style:{container:`_container_m8h8t_125`,tooltip:`_tooltip_m8h8t_132`,assistant:`_assistant_m8h8t_138`,text:`_text_m8h8t_148`}}]]),jn=Y(u({__name:`CanvasChatSessionDropdown`,props:{sessionId:{},sessionTitle:{},workflowId:{}},emits:[`select-session`],setup(e,{emit:n}){let c=e,l=n,u=R(),d=sn(),f=p(ut,s()),g=m(()=>!!f.value),_=m(()=>f.value?.document.body),v=s(!1),b=s(!1),C=s(!1),ee=s(null),w=m(()=>(d.sessions.ids??[]).reduce((e,t)=>{let n=d.sessions.byId[t];return n&&n.workflowId===c.workflowId&&n.type===`manual`&&e.push(n),e},[])),T=m(()=>an(w.value)),D=m(()=>w.value.length===0&&!b.value);async function k(e){if(v.value=e,e&&!C.value){b.value=!0;try{await d.fetchSessions(!0,{type:`manual`}),C.value=!0}finally{b.value=!1}}}function A(e){l(`select-session`,e),v.value=!1}function j(e){return e.id}return E(()=>c.workflowId,()=>{v.value=!1,C.value=!1}),E(v,(e,t,n)=>{let r=_.value;if(!r||!e)return;let i=r.ownerDocument;if(!i||i===document)return;let a,o=setTimeout(()=>{a=e=>{(ee.value?.$el)?.contains(e.target)||setTimeout(()=>{v.value&&=!1},0)},i.addEventListener(`pointerdown`,a)},0);n(()=>{clearTimeout(o),a&&i.removeEventListener(`pointerdown`,a)})}),(n,s)=>(t(),F(y(se),{modal:!g.value,open:v.value,"onUpdate:open":k},{default:L(()=>[O(y(ae),{class:S([n.$style.trigger,{[n.$style.open]:v.value}]),title:y(u).baseText(`chatHub.canvas.session.tooltip.sessionId`,{interpolate:{sessionId:c.sessionId}}),"data-test-id":`canvas-chat-session-dropdown`},{default:L(()=>[O(y(J),{size:`small`,class:S(n.$style.triggerText)},{default:L(()=>[r(h(e.sessionTitle),1)]),_:1},8,[`class`]),O(y(V),{icon:`chevron-down`,size:`small`,class:S(n.$style.chevron)},null,8,[`class`])]),_:1},8,[`class`,`title`]),O(y(de),P(o(_.value?{to:_.value}:{})),{default:L(()=>[O(y(U),{ref_key:`contentRef`,ref:ee,class:S(n.$style.content),"side-offset":4,align:`start`,"avoid-collisions":!0},{default:L(()=>[b.value?(t(),a(`div`,{key:0,class:S(n.$style.emptyState)},[O(y(J),{size:`small`,color:`text-light`},{default:L(()=>[...s[0]||=[r(`…`,-1)]]),_:1})],2)):D.value?(t(),a(`div`,{key:1,class:S(n.$style.emptyState)},[O(y(J),{size:`small`,color:`text-light`},{default:L(()=>[r(h(y(u).baseText(`chatHub.canvas.session.noSessions`)),1)]),_:1})],2)):(t(!0),a(x,{key:2},M(T.value,e=>(t(),F(y(Dn),{key:e.group,class:S(n.$style.group)},{default:L(()=>[O(y(On),{class:S(n.$style.groupLabel)},{default:L(()=>[r(h(e.group),1)]),_:2},1032,[`class`]),(t(!0),a(x,null,M(e.sessions,e=>(t(),F(y(q),{key:e.id,class:S([n.$style.sessionItem,{[n.$style.active]:e.id===c.sessionId}]),onSelect:t=>A(e.id)},{default:L(()=>[i(`span`,{class:S(n.$style.sessionTitle)},h(j(e)),3)]),_:2},1032,[`class`,`onSelect`]))),128))]),_:2},1032,[`class`]))),128))]),_:1},8,[`class`])]),_:1},16)]),_:1},8,[`modal`,`open`]))}}),[[`__cssModules`,{$style:{trigger:`_trigger_1wl1x_125`,triggerText:`_triggerText_1wl1x_141`,chevron:`_chevron_1wl1x_147`,open:`_open_1wl1x_151`,content:`_content_1wl1x_155`,slideDown:`_slideDown_1wl1x_1`,slideUp:`_slideUp_1wl1x_1`,emptyState:`_emptyState_1wl1x_174`,group:`_group_1wl1x_179`,groupLabel:`_groupLabel_1wl1x_183`,sessionItem:`_sessionItem_1wl1x_191`,active:`_active_1wl1x_209`,sessionTitle:`_sessionTitle_1wl1x_213`}}]]),Mn=Y(u({__name:`CanvasChatHubPanel`,props:{floating:{type:Boolean,default:!1}},emits:[`close`,`pop-out`],setup(e,{expose:n,emit:o}){let c=e,l=o,u=R(),d=sn(),f=Qe(),p=Ue(),_=nn(),v=Ve(),b=Rt(),C=Le(),ee=m(()=>window.parent===window),w=m(()=>_.isPoppedOut),T=s(ht()),D=s(),k=A(`inputRef`),j=A(`scrollable`),N=m(()=>p?.value?.allNodes??[]),te=m(()=>N.value.find(e=>e.type===lt)),P=m(()=>{let e=te.value?.parameters?.agentName;return typeof e==`string`&&e.trim()?e.trim():f.workflowName||`Workflow`}),I=m(()=>{let e=f.workflowId;if(!e)return null;let t=te.value?.parameters,n=t?.agentIcon,r=d.getAgent({provider:`n8n`,workflowId:e},{name:P.value,icon:n??null}),i=t?.options,a=t?.agentDescription,o=typeof a==`string`&&a.trim()?a.trim():null,s=(t?.suggestedPrompts)?.prompts?.filter(e=>typeof e.text==`string`&&e.text.trim().length>0).map(e=>({text:e.text,...e.icon?{icon:e.icon}:{}}));return{...r,...o===null?{}:{description:o},...s?.length?{suggestedPrompts:s}:{},...i?{metadata:{...r.metadata,allowFileUploads:i.allowFileUploads===!0,allowedFilesMimeTypes:typeof i.allowedFilesMimeTypes==`string`?i.allowedFilesMimeTypes:r.metadata.allowedFilesMimeTypes}}:{}}}),{chatMessages:ne,isResponding:z,isNewSession:B,messagingState:V,arrivedState:re,scrollToBottom:H,loadSession:U}=gn({sessionId:T,scrollableRef:j}),ie=m(()=>I.value?.metadata.allowFileUploads??!1);function ae(e){k.value?.addAttachments(e)}let W=bn(ie,ae),G=m(()=>u.baseText(`chat.window.session.id`,{interpolate:{id:`${T.value.slice(0,5)}...`}}));async function se(){await b.copy(T.value),C.showMessage({title:u.baseText(`generic.copiedToClipboard`),message:``,type:`success`})}function ce(){v.track(`User clicked new chat button`,{source:`canvas`}),T.value=ht()}async function ue(e){T.value=e;try{await U(e)}catch{T.value=ht()}}E(()=>f.workflowId,()=>{T.value=ht()});async function K(e,t){!e.trim()||z.value||!I.value||(await d.sendMessage(T.value,e,I.value,{},t),k.value?.reset())}async function de(){await d.stopStreamingMessage(T.value)}async function fe(e){z.value||e.type!==`ai`||!I.value||(D.value=void 0,await d.regenerateMessage(T.value,e.id,I.value,{}))}function q(e){D.value=e}function pe(){D.value=void 0}async function me(e,t,n){!D.value||z.value||!I.value||(await d.editMessage(T.value,D.value,e,I.value,{},t,n),D.value=void 0)}function he(e){I.value&&v.track(`User clicked chat hub suggested prompt`,{...on(I.value.model),source:`canvas`}),k.value?.setText(e),k.value?.focus()}function ge(){k.value?.focus()}return n({focusInput:ge,sessionId:T,sessionIdText:G,handleNewSession:ce,handleSelectSession:ue,copySessionId:se}),(e,n)=>(t(),a(`div`,{class:S([e.$style.panel,{[e.$style.poppedOut]:w.value,[e.$style.floating]:c.floating,[e.$style.isDraggingFile]:y(W).isDragging.value}]),onDragenter:n[3]||=(...e)=>y(W).handleDragEnter&&y(W).handleDragEnter(...e),onDragleave:n[4]||=(...e)=>y(W).handleDragLeave&&y(W).handleDragLeave(...e),onDragover:n[5]||=(...e)=>y(W).handleDragOver&&y(W).handleDragOver(...e),onDrop:n[6]||=(...e)=>y(W).handleDrop&&y(W).handleDrop(...e),onPaste:n[7]||=(...e)=>y(W).handlePaste&&y(W).handlePaste(...e)},[y(W).isDragging.value?(t(),a(`div`,{key:0,class:S(e.$style.dropOverlay)},[O(y(J),{size:`large`,color:`text-dark`},{default:L(()=>[r(h(y(u).baseText(`chatHub.chat.dropOverlay`)),1)]),_:1})],2)):g(``,!0),c.floating?g(``,!0):(t(),a(`div`,{key:1,class:S(e.$style.header)},[i(`div`,{class:S(e.$style.headerTitle)},[O(un,{agent:I.value,size:`sm`},null,8,[`agent`]),O(y(J),{size:`medium`,bold:!0,class:S(e.$style.headerTitleText)},{default:L(()=>[r(h(P.value),1)]),_:1},8,[`class`]),i(`span`,{class:S(e.$style.previewBadge)},h(y(u).baseText(`chatHub.canvas.previewBadge`)),3)],2),i(`div`,{class:S(e.$style.headerActions)},[O(jn,{"session-id":T.value,"session-title":G.value,"workflow-id":y(f).workflowId,onSelectSession:ue},null,8,[`session-id`,`session-title`,`workflow-id`]),O(y(le),{placement:`bottom`},{content:L(()=>[r(h(T.value)+` `,1),n[8]||=i(`br`,null,null,-1),r(` `+h(y(u).baseText(`chat.window.session.id.copy`)),1)]),default:L(()=>[O(y(oe),{icon:`copy`,variant:`ghost`,size:`small`,"data-test-id":`canvas-chat-session-id`,onClick:se})]),_:1}),O(y(le),{placement:`bottom`},{content:L(()=>[r(h(y(u).baseText(`chat.window.session.resetSession`)),1)]),default:L(()=>[O(y(oe),{icon:`undo-2`,variant:`ghost`,size:`small`,"data-test-id":`canvas-chat-hub-new-session`,onClick:ce})]),_:1}),ee.value&&!w.value?(t(),F(y(le),{key:0,placement:`bottom`},{content:L(()=>[r(h(y(u).baseText(`runData.panel.actions.popOut`)),1)]),default:L(()=>[O(y(oe),{icon:`external-link`,variant:`ghost`,size:`small`,"data-test-id":`canvas-chat-hub-pop-out`,onClick:n[0]||=e=>l(`pop-out`)})]),_:1})):g(``,!0),O(y(oe),{icon:`x`,variant:`ghost`,size:`small`,"data-test-id":`canvas-chat-hub-close`,onClick:n[1]||=e=>l(`close`)})],2)],2)),O(y(ye),{type:`scroll`,"enable-vertical-scroll":!0,"enable-horizontal-scroll":!1,"as-child":``,class:S(e.$style.scrollArea)},{default:L(()=>[i(`div`,{ref:`scrollable`,class:S({[e.$style.scrollable]:!0,[e.$style.isNewSession]:y(B)})},[y(B)?(t(),a(`div`,{key:0,class:S(e.$style.greetingsWrapper)},[O(yn,{"selected-agent":I.value,onSelectPrompt:he},null,8,[`selected-agent`])],2)):(t(),a(`div`,{key:1,role:`log`,"aria-live":`polite`,class:S(e.$style.messageList)},[(t(!0),a(x,null,M(y(ne),e=>(t(),F(vn,{key:e.id,message:e,compact:!1,"is-editing":D.value===e.id,"is-edit-submitting":y(d).streaming?.revisionOfMessageId===e.id,"has-session-streaming":y(z),"cached-agent-display-name":I.value?.name??null,"cached-agent-icon":I.value?.icon??null,"accepted-mime-types":I.value?.metadata.allowedFilesMimeTypes??``,onStartEdit:t=>q(e.id),onCancelEdit:pe,onUpdate:me,onRegenerate:fe},null,8,[`message`,`is-editing`,`is-edit-submitting`,`has-session-streaming`,`cached-agent-display-name`,`cached-agent-icon`,`accepted-mime-types`,`onStartEdit`]))),128))],2)),i(`div`,{class:S(e.$style.promptContainer)},[!y(re).bottom&&!y(B)?(t(),F(y(oe),{key:0,variant:`subtle`,icon:`arrow-down`,class:S(e.$style.scrollToBottomButton),title:y(u).baseText(`chatHub.chat.scrollToBottom`),onClick:n[2]||=e=>y(H)(!0)},null,8,[`class`,`title`])):g(``,!0),O(_n,{ref_key:`inputRef`,ref:k,class:S(e.$style.prompt),"selected-model":I.value,"checked-tool-ids":[],"messaging-state":y(V),"is-tools-selectable":!1,"is-new-session":y(B),"show-credits-claimed-callout":!1,"show-dynamic-credentials-missing-callout":!1,compact:c.floating,"accepted-mime-types":I.value?.metadata.allowedFilesMimeTypes??``,placeholder:y(u).baseText(`chatHub.chat.prompt.placeholder.sendPreview`),"ai-credits-quota":`0`,onSubmit:K,onStop:de},null,8,[`class`,`selected-model`,`messaging-state`,`is-new-session`,`compact`,`accepted-mime-types`,`placeholder`])],2)],2)]),_:1},8,[`class`])],34))}}),[[`__cssModules`,{$style:{panel:`_panel_1ev99_125`,poppedOut:`_poppedOut_1ev99_133`,floating:`_floating_1ev99_136`,header:`_header_1ev99_141`,headerTitle:`_headerTitle_1ev99_152`,headerTitleText:`_headerTitleText_1ev99_159`,headerActions:`_headerActions_1ev99_165`,previewBadge:`_previewBadge_1ev99_173`,scrollArea:`_scrollArea_1ev99_184`,scrollable:`_scrollable_1ev99_189`,isNewSession:`_isNewSession_1ev99_198`,promptContainer:`_promptContainer_1ev99_201`,prompt:`_prompt_1ev99_201`,greetingsWrapper:`_greetingsWrapper_1ev99_208`,messageList:`_messageList_1ev99_215`,scrollToBottomButton:`_scrollToBottomButton_1ev99_241`,isDraggingFile:`_isDraggingFile_1ev99_249`,dropOverlay:`_dropOverlay_1ev99_253`}}]]),Nn=u({__name:`CanvasChatFloatingMenu`,props:{sessionId:{},workflowId:{},canPopOut:{type:Boolean}},emits:[`select-session`,`copy-session-id`,`new-session`,`pop-out`],setup(e,{emit:n}){let r=e,i=n,a=R(),o=sn(),c=p(ut,s()),l=m(()=>!!c.value),u=m(()=>c.value?.document.body),d=s(!1),f=s(!1),h=m(()=>(o.sessions.ids??[]).reduce((e,t)=>{let n=o.sessions.byId[t];return n&&n.workflowId===r.workflowId&&n.type===`manual`&&e.push(n),e},[])),g=m(()=>{let e=an(h.value);if(e.length===0&&!d.value)return[{id:`__no-sessions__`,label:a.baseText(`chatHub.canvas.session.noSessions`),disabled:!0}];let t=[];for(let n=0;n<e.length;n++){let i=e[n];t.push({id:`__group-${n}__`,label:i.group,disabled:!0,divided:n>0});for(let e of i.sessions)t.push({id:e.id,label:e.id,checked:e.id===r.sessionId})}return t}),_=m(()=>{let e=[{id:`sessions`,label:a.baseText(`chatHub.canvas.menu.sessions`),icon:{type:`icon`,value:`history`},children:g.value,loading:d.value},{id:`copy-session-id`,label:a.baseText(`chatHub.canvas.menu.copySessionId`),icon:{type:`icon`,value:`copy`},divided:!0},{id:`new-session`,label:a.baseText(`chatHub.canvas.menu.newSession`),icon:{type:`icon`,value:`undo-2`}}];return r.canPopOut&&e.push({id:`pop-out`,label:a.baseText(`chatHub.canvas.menu.popOut`),icon:{type:`icon`,value:`external-link`}}),e});async function v(e,t){if(e===`sessions`&&t&&!f.value){f.value=!0,d.value=!0;try{await o.fetchSessions(!0,{type:`manual`})}finally{d.value=!1}}}function b(e){switch(e){case`copy-session-id`:i(`copy-session-id`);break;case`new-session`:i(`new-session`);break;case`pop-out`:setTimeout(()=>{document.activeElement?.blur?.(),i(`pop-out`)});break;default:e!==`__no-sessions__`&&i(`select-session`,e);break}}return E(()=>r.workflowId,()=>{f.value=!1}),(e,n)=>(t(),F(y(be),{items:_.value,"portal-target":u.value,modal:!l.value,placement:`bottom-end`,"data-test-id":`canvas-chat-floating-menu`,onSelect:b,"onSubmenu:toggle":v},null,8,[`items`,`portal-target`,`modal`]))}}),Pn=16,Fn=560,In=700,Ln=Y(u({__name:`CanvasChatFloatingWindow`,emits:[`close`,`pop-out`],setup(e,{expose:n,emit:i}){let a=i,o=R(),c=Qe(),l=nn(),u=m(()=>l.isPoppedOut),d=s(),f=A(`floatingWindowRef`),p=m(()=>window.parent===window),_=B(bt,{});function b(){let e=document.getElementById(`canvas`);if(e){let t=e.getBoundingClientRect();return{x:t.left,y:t.top}}return{x:0,y:0}}let x=m(()=>{if(_.value.x!==void 0&&_.value.y!==void 0)return{x:_.value.x,y:_.value.y};let e=b();return{x:e.x+Pn,y:e.y+Pn}}),C=m(()=>_.value.width??Fn),ee=m(()=>_.value.height??In);function w(e){_.value={..._.value,x:e.x,y:e.y}}function T(e){_.value={..._.value,width:e.width,height:e.height}}function D(){if(u.value)return;_.value={};let e=b();f.value?.resetPosition({x:e.x+Pn,y:e.y+Pn},{width:Fn,height:In})}E(()=>d.value,async e=>{e&&(await v(),e.focusInput())});function k(){d.value?.focusInput()}return n({focusInput:k,canvasChatHubRef:d}),(e,n)=>(t(),F(y(he),{ref_key:`floatingWindowRef`,ref:f,width:C.value,height:ee.value,"min-width":400,"min-height":300,"initial-position":x.value,class:S({[e.$style.poppedOut]:u.value}),"data-test-id":`canvas-chat-floating-window`,onClose:n[5]||=e=>a(`close`),onMove:w,onResize:T,onHeaderDoubleClick:D},{"header-icon":L(()=>[O(un,{agent:null,size:`sm`})]),header:L(()=>[O(y(J),{size:`medium`,bold:!0,class:S(e.$style.headerTitle)},{default:L(()=>[r(h(y(o).baseText(`chatHub.canvas.floatingTitle`)),1)]),_:1},8,[`class`])]),"header-actions":L(()=>[d.value?.sessionId?(t(),F(Nn,{key:0,"session-id":d.value.sessionId,"workflow-id":y(c).workflowId,"can-pop-out":p.value&&!u.value,onSelectSession:d.value.handleSelectSession,onCopySessionId:n[0]||=e=>d.value.copySessionId(),onNewSession:n[1]||=e=>d.value.handleNewSession(),onPopOut:n[2]||=e=>a(`pop-out`)},null,8,[`session-id`,`workflow-id`,`can-pop-out`,`onSelectSession`])):g(``,!0)]),default:L(()=>[O(Mn,{ref_key:`canvasChatHubRef`,ref:d,floating:!0,onClose:n[3]||=e=>a(`close`),onPopOut:n[4]||=e=>a(`pop-out`)},null,512)]),_:1},8,[`width`,`height`,`initial-position`,`class`]))}}),[[`__cssModules`,{$style:{headerTitle:`_headerTitle_gh5qv_125`,poppedOut:`_poppedOut_gh5qv_131`}}]]),Rn=Y(u({__name:`CanvasChatOverlay`,setup(e,{expose:n}){let r=ge(),o=nn(),c=Qe(),l=s(),u=A(`popOutContainer`),d=A(`popOutContent`),f=m(()=>o.isPoppedOut),p=m(()=>o.isOpen),h=s(!1);E(p,e=>{e&&(h.value=!0,v(()=>{l.value?.focusInput()}))},{immediate:!0}),fn({title:m(()=>`Chat - ${c.workflowName||`Workflow`}`),initialWidth:560,initialHeight:700,container:u,content:d,shouldPopOut:m(()=>f.value&&o.isOpen),onRequestClose:()=>{o.close()}}),E(()=>r.meta.nodeView,e=>{!e&&f.value&&o.close()});function _(){o.close()}function y(){o.popOut()}function b(){l.value?.focusInput()}return n({focusInput:b}),(e,n)=>(t(),a(`div`,{ref_key:`popOutContainer`,ref:u,class:S(e.$style.popOutContainer)},[i(`div`,{ref_key:`popOutContent`,ref:d,class:S([e.$style.popOutContent,{[e.$style.poppedOut]:f.value}])},[h.value?ee((t(),F(Ln,{key:0,ref_key:`canvasChatFloatingWindowRef`,ref:l,onClose:_,onPopOut:y},null,512)),[[k,p.value]]):g(``,!0)],2)],2))}}),[[`__cssModules`,{$style:{popOutContainer:`_popOutContainer_wed02_125`,popOutContent:`_popOutContent_wed02_129`,poppedOut:`_poppedOut_wed02_132`}}]]),zn=Y(u({__name:`TabBar`,props:{items:{},modelValue:{default:$.WORKFLOW}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=n;function i(e,t){r(`update:modelValue`,e,t)}return(n,r)=>e.items?(t(),a(`div`,{key:0,class:S({[n.$style.container]:!0,"tab-bar-container":!0})},[O(y(ie),{"model-value":e.modelValue,options:e.items,"onUpdate:modelValue":i},null,8,[`model-value`,`options`])],2)):g(``,!0)}}),[[`__cssModules`,{$style:{container:`_container_11dda_125`}}]]),Bn=u({__name:`BreakpointsObserver`,props:{valueXS:{},valueXL:{},valueLG:{},valueMD:{},valueSM:{},valueDefault:{}},setup(e){let n=e,{callDebounced:r}=Lt(),i=Ft(),o=s(window.innerWidth),c=m(()=>o.value<768?`XS`:o.value>=1920?`XL`:o.value>=1200?`LG`:o.value>=992?`MD`:`SM`),l=m(()=>n.valueXS&&o.value<768?n.valueXS:n.valueXL&&o.value>=1920?n.valueXL:n.valueLG&&o.value>=1200?n.valueLG:n.valueMD&&o.value>=992?n.valueMD:n.valueSM?n.valueSM:n.valueDefault),u=()=>{r(d,{debounceTime:50})},d=async()=>{o.value=window.innerWidth,await v();let e=await qe();i.updateBannersHeight(e)};return b(()=>{window.addEventListener(`resize`,u)}),j(()=>{window.removeEventListener(`resize`,u)}),(e,n)=>(t(),a(`span`,null,[D(e.$slots,`default`,{bp:c.value,value:l.value})]))}}),Vn=u({__name:`WorkflowProductionChecklist`,props:{workflow:{}},setup(e){let n=e,r=R(),i=me(),a=De(),o=tt(),c=Cn(),l=Xe(),u=Ge(),d=Ve(),f=Te(),h=Ee(),{isEligibleForMcpAccess:_}=en(),v=$e(),x=p(pt,null),S=s(!1),C=s(null),ee=m(()=>n.workflow.nodes.some(e=>o.getNodeType(e.type,e.typeVersion)?.codex?.categories?.includes(`AI`))),w=m(()=>a.evaluationSetOutputsNodeExist),T=m(()=>!!n.workflow.settings?.errorWorkflow),D=m(()=>n.workflow.nodes.some(e=>e.type===`n8n-nodes-base.errorTrigger`&&e.disabled!==!0)),O=m(()=>n.workflow?.nodes?n.workflow.nodes.some(e=>e.type===`n8n-nodes-base.timeSaved`&&e.disabled!==!0):!1),k=m(()=>n.workflow.settings?.timeSavedPerExecution!==void 0||O.value),A=m(()=>l.isModalActiveById[gt]),j=m(()=>f.preferences.branchReadOnly),M=m(()=>v.isInstanceOwner),N=m(()=>v.isAdmin),te=m(()=>h.isModuleActive(`mcp`)),P=m(()=>h.moduleSettings.mcp?.mcpAccessEnabled??!1),I=m(()=>M.value||N.value),L=m(()=>_(n.workflow)),ne=m(()=>{if(c.isCacheLoading.value)return[];let e=!!x?.value?.activeVersionId,t=[],i=C.value?.suggestedActions??{};e&&!D.value&&!i.errorWorkflow?.ignored&&t.push({id:`errorWorkflow`,title:r.baseText(`workflowProductionChecklist.errorWorkflow.title`),description:r.baseText(`workflowProductionChecklist.errorWorkflow.description`),moreInfoLink:St,completed:T.value}),e&&ee.value&&a.isEvaluationEnabled&&!i.evaluations?.ignored&&t.push({id:`evaluations`,title:r.baseText(`workflowProductionChecklist.evaluations.title`),description:r.baseText(`workflowProductionChecklist.evaluations.description`),moreInfoLink:vt,completed:w.value}),e&&!i.timeSaved?.ignored&&t.push({id:`timeSaved`,title:r.baseText(`workflowProductionChecklist.timeSaved.title`),description:r.baseText(`workflowProductionChecklist.timeSaved.description`),moreInfoLink:mt,completed:k.value});let o=s();return o&&t.push(o),t;function s(){if(!te.value||!L.value)return null;let e={title:r.baseText(`mcp.productionChecklist.title`),moreInfoLink:Xt};return P.value?i[`workflow-mcp-access`]?.ignored?null:{...e,id:`workflow-mcp-access`,description:r.baseText(`mcp.productionChecklist.workflow.description`),completed:n.workflow.settings?.availableInMCP??!1}:!I.value||i[`instance-mcp-access`]?.ignored?null:{...e,id:`instance-mcp-access`,description:r.baseText(`mcp.productionChecklist.instance.description`),completed:!1}}});async function z(){n.workflow.id&&(C.value=await c.getMergedWorkflowSettings(n.workflow.id))}async function B(e){switch(e){case`evaluations`:await i.push({name:Q.EVALUATION_EDIT,params:{name:n.workflow.id}});break;case`errorWorkflow`:case`timeSaved`:case`workflow-mcp-access`:l.openModal(xt);break;case`instance-mcp-access`:await i.push({name:Zt});break;default:break}S.value=!1}function V(e){return[`evaluations`,`errorWorkflow`,`timeSaved`,`workflow-mcp-access`,`instance-mcp-access`].includes(e)}async function re(e){V(e)&&(await c.ignoreSuggestedAction(n.workflow.id,e),await z(),d.track(`user clicked ignore suggested action`,{actionId:e}))}async function H(){await u.confirm(r.baseText(`workflowProductionChecklist.ignoreAllConfirmation.description`),r.baseText(`workflowProductionChecklist.ignoreAllConfirmation.title`),{confirmButtonText:r.baseText(`workflowProductionChecklist.ignoreAllConfirmation.confirm`)})===`confirm`&&(await c.ignoreAllSuggestedActionsForAllWorkflows(ne.value.map(e=>e.id)),await z(),d.track(`user clicked ignore suggested actions for all workflows`))}function U(){S.value=!0}function ie(){d.track(`user opened suggested actions checklist`)}function ae(e){e?(S.value=!0,ie()):A.value||(S.value=!1)}return E(()=>!!x?.value?.activeVersionId,async(e,t)=>{e&&!t&&(C.value?.firstActivatedAt||setTimeout(()=>{U()},0),await c.updateFirstActivatedAt(n.workflow.id))}),b(async()=>{await z()}),(e,n)=>ne.value.length>0?(t(),F(y(W),{key:0,open:S.value,title:y(r).baseText(`workflowProductionChecklist.title`),actions:ne.value,"ignore-all-label":y(r).baseText(`workflowProductionChecklist.turnOffWorkflowSuggestions`),notice:j.value?y(r).baseText(`workflowProductionChecklist.readOnlyNotice`):``,"popover-alignment":`end`,onActionClick:B,onIgnoreClick:re,onIgnoreAll:H,"onUpdate:open":ae},null,8,[`open`,`title`,`actions`,`ignore-all-label`,`notice`])):g(``,!0)}}),Hn=u({__name:`IntersectionObserver`,props:{threshold:{default:0},enabled:{type:Boolean,default:!1},eventBus:{}},emits:[`observed`],setup(e,{emit:n}){let r=e,i=n,o=s(null),c=s(null);return j(()=>{r.enabled&&o.value&&o.value.disconnect()}),b(()=>{if(!r.enabled)return;let e={root:c.value,rootMargin:`0px`,threshold:r.threshold},t=new IntersectionObserver(e=>{e.forEach(({target:e,isIntersecting:t})=>{i(`observed`,{el:e,isIntersecting:t})})},e);o.value=t,r.eventBus.on(`observe`,e=>{e&&t.observe(e)}),r.eventBus.on(`unobserve`,e=>{t.unobserve(e)})}),(e,n)=>(t(),a(`div`,{ref_key:`root`,ref:c},[D(e.$slots,`default`)],512))}}),Un=u({__name:`IntersectionObserved`,props:{enabled:{type:Boolean,default:!1},eventBus:{}},setup(e){let n=e,r=s(null);return b(async()=>{n.enabled&&(await v(),n.eventBus.emit(`observe`,r.value))}),j(()=>{n.enabled&&n.eventBus.emit(`unobserve`,r.value)}),(e,n)=>(t(),a(`span`,{ref_key:`observed`,ref:r},[D(e.$slots,`default`)],512))}}),Wn=e(It(),1),Gn={class:`tags`},Kn=[`onClick`],qn=Y(u({__name:`TagsContainer`,props:{tagIds:{},tagsById:{},limit:{default:20},clickable:{type:Boolean,default:!1},responsive:{type:Boolean,default:!1}},emits:[`click`],setup(e,{emit:n}){let r=e,o=n,c=s(320),l=re(),u=s({}),d=s(),f=m(()=>({"max-width":`${c.value}px`})),p=m(()=>{let e=r.tagIds.map(e=>r.tagsById[e]).filter(Boolean),t=r.limit?e.slice(0,r.limit):e;t=t.map(e=>({...e,hidden:r.responsive&&!u.value[e.id]}));let n=t.length;if(r.responsive&&(n=Object.values(u.value).reduce((e,t)=>t?e+1:e,0)),n<e.length){let r=e.slice(n),i=r.reduce((e,t)=>e?`${e}, ${t.name}`:t.name,``),a={id:`count`,name:`+${r.length}`,title:i,isCount:!0};t.splice(n,0,a)}return t}),h=()=>{let e=d.value?.$el?.parentNode;e&&(c.value=0,v(()=>{c.value=e.clientWidth}))},g=(0,Wn.default)(h,100),_=({el:e,isIntersecting:t})=>{e.dataset.id&&(u.value={...u.value,[e.dataset.id]:t})},C=(e,t)=>{r.clickable&&e.stopPropagation(),t.hidden||o(`click`,t.id)};return b(()=>{h(),window.addEventListener(`resize`,g)}),j(()=>{window.removeEventListener(`resize`,g)}),(n,r)=>(t(),F(Hn,{ref_key:`tagsContainer`,ref:d,threshold:1,class:`tags-container`,style:I(f.value),enabled:e.responsive,"event-bus":y(l),onObserved:_},{default:L(()=>[i(`span`,Gn,[(t(!0),a(x,null,M(p.value,n=>(t(),a(`span`,{key:n.id,class:S({clickable:!n.hidden}),onClick:e=>C(e,n)},[n.isCount?(t(),F(y(pe),{key:0,title:n.title,text:n.name,clickable:!1,class:`count-container`},null,8,[`title`,`text`])):(t(),F(Un,{key:1,class:S({hideTag:n.hidden}),"data-id":n.id,enabled:e.responsive,"event-bus":y(l)},{default:L(()=>[O(y(pe),{title:n.name,text:n.name,clickable:e.clickable},null,8,[`title`,`text`,`clickable`])]),_:2},1032,[`class`,`data-id`,`enabled`,`event-bus`]))],10,Kn))),128))])]),_:1},8,[`style`,`enabled`,`event-bus`]))}}),[[`__scopeId`,`data-v-8ecf8b55`]]),Jn=u({__name:`WorkflowTagsContainer`,props:{tagIds:{},limit:{},clickable:{type:Boolean},responsive:{type:Boolean}},emits:[`click`],setup(e,{emit:n}){let r=n,i=Ke(),a=m(()=>i.tagsById);function o(e){r(`click`,e)}return(n,r)=>(t(),F(qn,{"tag-ids":e.tagIds,"tags-by-id":a.value,limit:e.limit,clickable:e.clickable,responsive:e.responsive,onClick:o},null,8,[`tag-ids`,`tags-by-id`,`limit`,`clickable`,`responsive`]))}}),Yn=e(Fe(),1);const Xn=(e,t)=>e??(typeof t==`string`?t:void 0);var Zn=Y(u({__name:`ActionsDropdownMenu`,props:{workflowPermissions:{},isNewWorkflow:{type:Boolean},isArchived:{type:Boolean},id:{},name:{},tags:{},currentFolder:{}},setup(e,{expose:n}){let r=e,o=s(),c=Le(),l=R(),u=ge(),d=Ae(),f=Te(),p=Wt(),h=je(),g=Xe(),_=w(),v=Pt(),b=Ke(),x=Ee(),C=$e(),ee=ke(),T=re(),E=Ve(),D=m(()=>u.meta&&(u.meta.nodeView||u.meta.keepWorkflowAlive===!0)),k=m(()=>[Q.EXECUTION_HOME.toString(),Q.WORKFLOW_EXECUTIONS.toString(),Q.EXECUTION_PREVIEW].includes(u.name||``)),A=m(()=>p.shouldBeReadOnly),j=m(()=>x.isEnterpriseFeatureEnabled[Ot.Sharing]);function M(){let e=o.value;if(e?.files&&e.files.length!==0){let t=new FileReader;t.onload=()=>{let n;try{n=JSON.parse(t.result)}catch{c.showMessage({title:l.baseText(`mainSidebar.showMessage.handleFileImport.title`),message:l.baseText(`mainSidebar.showMessage.handleFileImport.message`),type:`error`});return}finally{t.onload=null,e.value=``}X.emit(`importWorkflowData`,{data:n})},t.readAsText(e.files[0])}}let N=m(()=>{let e=[{id:Z.DOWNLOAD,label:l.baseText(`menuActions.download`),disabled:!D.value}];return j.value&&r.workflowPermissions.share&&e.push({id:Z.SHARE,label:l.baseText(`workflowDetails.share`),disabled:!D.value}),r.workflowPermissions.move&&d.isTeamProjectFeatureEnabled&&e.push({id:Z.CHANGE_OWNER,label:l.baseText(`workflows.item.changeOwner`),disabled:r.isNewWorkflow}),!A.value&&!r.isArchived&&!f.preferences.branchReadOnly&&e.push({id:Z.RENAME,label:l.baseText(`generic.rename`),disabled:!D.value||r.workflowPermissions.update!==!0}),(r.workflowPermissions.update===!0&&!A.value&&!r.isArchived&&!f.preferences.branchReadOnly||r.isNewWorkflow)&&(e.unshift({id:Z.DUPLICATE,label:l.baseText(`menuActions.duplicate`),disabled:!D.value||!r.id}),e.unshift({id:Z.EDIT_DESCRIPTION,label:l.baseText(`menuActions.editDescription`),disabled:!D.value||!r.id}),e.push({id:Z.IMPORT_FROM_URL,label:l.baseText(`menuActions.importFromUrl`),disabled:!D.value||k.value},{id:Z.IMPORT_FROM_FILE,label:l.baseText(`menuActions.importFromFile`),disabled:!D.value||k.value})),He([`rbac`],{rbac:{scope:`sourceControl:push`}})&&e.push({id:Z.PUSH,label:l.baseText(`menuActions.push`),disabled:!f.isEnterpriseSourceControlEnabled||!D.value||k.value||f.preferences.branchReadOnly}),e.push({id:Z.SETTINGS,label:l.baseText(`generic.settings`),disabled:!D.value||r.isNewWorkflow}),(r.workflowPermissions.delete===!0&&!A.value&&!f.preferences.branchReadOnly||r.isNewWorkflow)&&(r.isArchived?(e.push({id:Z.UNARCHIVE,label:l.baseText(`menuActions.unarchive`),disabled:!D.value||r.isNewWorkflow}),e.push({id:Z.DELETE,label:l.baseText(`menuActions.delete`),disabled:!D.value||r.isNewWorkflow,customClass:_.deleteItem,divided:!0})):e.push({id:Z.ARCHIVE,label:l.baseText(`menuActions.archive`),disabled:!D.value||r.isNewWorkflow,customClass:_.deleteItem,divided:!0})),e});async function te(e){switch(e){case Z.EDIT_DESCRIPTION:{let e=Xn(r.id,u.params.name);if(!e)return;let t=h.getWorkflowById(e).description;g.openModalWithData({name:ct,data:{workflowId:e,workflowDescription:t}});break}case Z.DUPLICATE:g.openModalWithData({name:st,data:{id:r.id,name:r.name,tags:r.tags,parentFolderId:r.currentFolder?.id}});break;case Z.RENAME:X.emit(`renameWorkflow`);break;case Z.DOWNLOAD:{let e=await ee.getWorkflowDataToSave(),{tags:t,...n}=e,i={...n,meta:{...n.meta,instanceId:v.instanceId},tags:(t??[]).map(e=>{let{usageCount:t,...n}=b.tagsById[e];return n})},a=new Blob([JSON.stringify(i,null,2)],{type:`application/json;charset=utf-8`}),o=r.name||`unsaved_workflow`;o=Jt(o),Ye.track(`User exported workflow`,{workflow_id:e.id}),(0,Yn.default)(a,o+`.json`);break}case Z.IMPORT_FROM_URL:g.openModal(Tt);break;case Z.IMPORT_FROM_FILE:X.emit(`importWorkflowFromFile`);break;case Z.PUSH:try{Yt.push({query:{...u.query,sourceControl:`push`}})}catch(e){switch(e.message){case`source_control_not_connected`:c.showError({...e,message:``},l.baseText(`settings.sourceControl.error.not.connected.title`),l.baseText(`settings.sourceControl.error.not.connected.message`));break;default:c.showError(e,l.baseText(`error`))}}break;case Z.SETTINGS:g.openModal(xt);break;case Z.SHARE:g.openModalWithData({name:At,data:{id:r.id}}),E.track(`User opened sharing modal`,{workflow_id:r.id,user_id_sharer:C.currentUser?.id,sub_view:u.name===Q.WORKFLOWS?`Workflows listing`:`Workflow editor`});break;case Z.ARCHIVE:X.emit(`archiveWorkflow`);break;case Z.UNARCHIVE:X.emit(`unarchiveWorkflow`);break;case Z.DELETE:X.emit(`deleteWorkflow`);break;case Z.CHANGE_OWNER:{let e=Xn(r.id,u.params.name);if(!e)return;T.once(`resource-moved`,async()=>await Yt.push({name:Q.WORKFLOWS})),g.openModalWithData({name:Ie,data:{resource:h.workflowsById[e],resourceType:we.Workflow,resourceTypeLabel:l.baseText(`generic.workflow`).toLowerCase(),eventBus:T}});break}default:break}}return n({importFileRef:o}),(e,n)=>(t(),a(`div`,{class:S([y(_).group])},[i(`input`,{ref_key:`importFileRef`,ref:o,class:S(y(_).hiddenInput),type:`file`,"data-test-id":`workflow-import-input`,onChange:n[0]||=e=>M()},null,34),O(y(H),{items:N.value,"data-test-id":`workflow-menu`,onSelect:te},null,8,[`items`])],2))}}),[[`__cssModules`,{$style:{deleteItem:`_deleteItem_ldsb8_125`,group:`_group_ldsb8_129`,hiddenInput:`_hiddenInput_ldsb8_134`}}]]),Qn={key:0},$n={key:1},er={key:2},tr={key:3},nr=u({__name:`WorkflowHistoryButton`,props:{workflowId:{},isNewWorkflow:{type:Boolean}},setup(e){let n=R(),r=e,i=Xe(),o=nt(),c=s(!1),{debounce:l}=Lt(),u=l(()=>{c.value=!1},{debounceTime:jt,trailing:!0});E(()=>i.isActionActive.workflowSaving,e=>{e?c.value=!0:u()});let d=m(()=>({name:Q.WORKFLOW_HISTORY,params:{workflowId:r.workflowId}})),f=m(()=>o.autoSaveState===kt.Scheduled),p=m(()=>r.isNewWorkflow||f.value||c.value);return(r,i)=>e.workflowId?(t(),F(y(le),{key:0,placement:`bottom`,"show-after":300},{content:L(()=>[e.isNewWorkflow?(t(),a(`span`,Qn,h(y(n).baseText(`workflowHistory.button.tooltip.empty`)),1)):f.value?(t(),a(`span`,$n,h(y(n).baseText(`workflowHistory.button.tooltip.scheduled`)),1)):c.value?(t(),a(`span`,er,h(y(n).baseText(`workflowHistory.button.tooltip.saving`)),1)):(t(),a(`span`,tr,h(y(n).baseText(`workflowHistory.button.tooltip`)),1))]),default:L(()=>[(t(),F(N(p.value?`div`:y(Ce)),{to:p.value?void 0:d.value},{default:L(()=>[O(y(oe),{class:`n8n-button--highlight`,variant:`ghost`,disabled:p.value,loading:c.value,"data-test-id":`workflow-history-button`,icon:`history`,"aria-label":y(n).baseText(`workflowHistory.title`),size:`medium`},null,8,[`disabled`,`loading`,`aria-label`])]),_:1},8,[`to`]))]),_:1})):g(``,!0)}}),rr=Y(u({__name:`CollaborationPane`,setup(e){let n=Wt(),r=$e();E(z(),e=>{e===`hidden`?n.stopHeartbeat():n.startHeartbeat()});let i=m(()=>n.collaborators.length>1),o=m(()=>{let e=n.collaborators.map(({user:e})=>e),t=e.findIndex(e=>e.id===r.currentUser?.id);if(t<1)return{defaultGroup:e};let[i]=e.splice(t,1);return{defaultGroup:[i,...e]}}),s=m(()=>r.currentUser?.email);return b(()=>{n.initialize()}),j(()=>{n.terminate()}),(e,n)=>i.value?(t(),a(`div`,{key:0,class:S(`collaboration-pane-container ${e.$style.container}`),"data-test-id":`collaboration-pane`},[O(y(ve),{users:o.value,"current-user-email":s.value},null,8,[`users`,`current-user-email`])],2)):g(``,!0)}}),[[`__cssModules`,{$style:{container:`_container_cvwuq_125`}}]]),ir={"data-test-id":`workflow-active-version-info`},ar=function(e){return e.PUBLISH=`publish`,e.NAME_VERSION=`name-version`,e.UNPUBLISH=`unpublish`,e}(ar||{}),or=Y(u({__name:`WorkflowHeaderDraftPublishActions`,props:{id:{},tags:{},name:{},currentFolder:{},isArchived:{type:Boolean},isNewWorkflow:{type:Boolean},workflowPermissions:{}},setup(e,{expose:n}){let o=e,c=A(`actionsMenu`),l=Xe(),u=Qe(),d=m(()=>Re(Je(o.id))),f=Wt(),p=Ae(),_=Pe(),v=Ee(),C=R(),ee=me(),w=Le(),T=nt(),{saveCurrentWorkflow:E,cancelAutoSave:D}=rt({router:ee}),k=rn(),M=m(()=>v.isEnterpriseFeatureEnabled[Ot.NamedVersions]),N=s(!1),te=m(()=>c.value?.importFileRef),P=m(()=>Me(u.workflowTriggerNodes)),I=m(()=>P.value.length>0),ne=m(()=>{let e=!!K.value,t=u.workflow.versionId!==K.value?.versionId||l.hasUnsavedWorkflowChanges;return e?I.value?u.nodesIssuesExist?`published-node-issues`:t?`published-with-changes`:`published-no-changes`:`published-invalid-trigger`:I.value&&!u.nodesIssuesExist?`not-published-eligible`:`not-published-not-eligible`}),z=m(()=>f.shouldBeReadOnly),B=m(()=>o.workflowPermissions.update),V=m(()=>o.workflowPermissions.publish),U=m(()=>o.workflowPermissions.unpublish),ie=m(()=>p.currentProject?.type===Ne.Personal),ae=async()=>{let e=!1;if(T.autoSaveState===kt.InProgress&&T.pendingSave){N.value=!0;try{await T.pendingSave,e=!0}catch{}finally{N.value=!1}}else T.autoSaveState===kt.Scheduled&&D();return(!e||l.stateIsDirty||o.isNewWorkflow)&&(N.value=!0,e=await E({},!0),N.value=!1),e},W=async()=>{(l.stateIsDirty||o.isNewWorkflow)&&!await ae()||l.openModalWithData({name:at,data:{}})},G=m(()=>{if(!V.value){let e={text:C.baseText(`workflows.publish`),enabled:!1,showIndicator:!1,indicatorClass:``,tooltip:ie.value?C.baseText(`workflows.publish.personalSpaceRestricted`):C.baseText(`workflows.publish.permissionDenied`),showVersionInfo:!1};return K.value?{...e,showIndicator:!0,showVersionInfo:!0,indicatorClass:`published`}:e}return o.isNewWorkflow?{text:C.baseText(`workflows.publish`),enabled:I.value&&!u.nodesIssuesExist,showIndicator:!1,indicatorClass:``,tooltip:I.value?u.nodesIssuesExist?C.baseText(`workflowActivator.showMessage.activeChangedNodesIssuesExistTrue.title`,{interpolate:{count:u.nodesWithIssues.length},adjustToNumber:u.nodesWithIssues.length}):``:C.baseText(`workflows.publishModal.noTriggerMessage`),showVersionInfo:!1}:{"not-published-not-eligible":{text:C.baseText(`workflows.publish`),enabled:!1,showIndicator:!1,indicatorClass:``,tooltip:I.value?C.baseText(`workflowActivator.showMessage.activeChangedNodesIssuesExistTrue.title`,{interpolate:{count:u.nodesWithIssues.length},adjustToNumber:u.nodesWithIssues.length}):C.baseText(`workflows.publishModal.noTriggerMessage`),showVersionInfo:!1},"not-published-eligible":{text:C.baseText(`workflows.publish`),enabled:!0,showIndicator:!1,indicatorClass:``,tooltip:``,showVersionInfo:!1},"published-no-changes":{text:C.baseText(`generic.published`),enabled:!1,showIndicator:!0,indicatorClass:`published`,tooltip:``,showVersionInfo:!0},"published-with-changes":{text:C.baseText(`workflows.publish`),enabled:!0,showIndicator:!0,indicatorClass:`changes`,tooltip:C.baseText(`workflows.publishModal.changes`),showVersionInfo:!1},"published-node-issues":{text:C.baseText(`workflows.publish`),enabled:!1,showIndicator:!0,indicatorClass:`error`,tooltip:C.baseText(`workflowActivator.showMessage.activeChangedNodesIssuesExistTrue.title`,{interpolate:{count:u.nodesWithIssues.length},adjustToNumber:u.nodesWithIssues.length}),showVersionInfo:!0},"published-invalid-trigger":{text:C.baseText(`workflows.publish`),enabled:!1,showIndicator:!0,indicatorClass:`changes`,tooltip:C.baseText(`workflows.publishModal.noTriggerMessage`),showVersionInfo:!0}}[ne.value]}),se=m(()=>o.isNewWorkflow?!1:o.isArchived||!B.value&&!V.value),ce=m(()=>o.isNewWorkflow||z.value||!G.value.enabled||!V.value),K=m(()=>d.value?.activeVersion??null),de=m(()=>K.value?K.value.name??$t(K.value.versionId):``),fe=m(()=>Qt(K.value?.workflowPublishHistory??[])?.createdAt),q=m(()=>{let e=[{id:ar.PUBLISH,label:C.baseText(`workflows.publish`),shortcut:{shiftKey:!0,keys:[`P`]},disabled:ce.value}];return M.value&&e.push({id:ar.NAME_VERSION,label:C.baseText(`generic.nameVersion`),shortcut:{metaKey:!0,keys:[`S`]},disabled:!B.value||!u.workflow.versionId}),e.push({id:ar.UNPUBLISH,label:C.baseText(`workflows.unpublish`),disabled:!K.value||z.value||!U.value,divided:!0,shortcut:{metaKey:!0,keys:[`U`]}}),e}),pe=async()=>{if((l.stateIsDirty||o.isNewWorkflow)&&!await ae())return;let e=u.workflow.versionId,t=u.versionData,n=re(),r=s({versionId:e,versionName:t?.name??void 0,description:t?.description??void 0,modalTitle:C.baseText(`workflowHistory.nameVersionModal.title`),submitButtonLabel:C.baseText(`workflowHistory.nameVersionModal.confirmButton`),submitting:!1,eventBus:n});n.once(`submit`,async t=>{r.value.submitting=!0;try{await _.updateWorkflowHistoryVersion(o.id,e,{name:t.name,description:t.description}),u.setWorkflowVersionData({versionId:e,name:t.name,description:t.description}),w.showMessage({title:C.baseText(`workflowHistory.action.nameVersion.success.title`),type:`success`}),l.closeModal(_t)}catch(e){w.showError(e,C.baseText(`workflowHistory.action.nameVersion.error.title`))}finally{r.value.submitting=!1}}),l.openModalWithData({name:_t,data:r.value})},J=()=>{if(!K.value){w.showMessage({title:C.baseText(`workflowHistory.action.unpublish.notAvailable`),type:`warning`});return}let e=re();e.once(`unpublish`,async()=>{let e=await k.unpublishWorkflowFromHistory(o.id);l.closeModal(ft),e&&w.showMessage({title:C.baseText(`workflowHistory.action.unpublish.success.title`),type:`success`})}),l.openModalWithData({name:ft,data:{versionName:K.value.name,eventBus:e}})},he=async e=>{switch(e){case ar.PUBLISH:await W();break;case ar.NAME_VERSION:await pe();break;case ar.UNPUBLISH:J();break;default:break}};return tn({shift_p:{disabled:()=>ce.value,run:async()=>{await W()}},"ctrl+s":{disabled:()=>!M.value||!B.value||!u.workflow.versionId,run:async()=>{await pe()}},"ctrl+u":{disabled:()=>!K.value||!U.value||z.value,run:J}}),b(()=>{X.on(`publishWorkflow`,W),X.on(`unpublishWorkflow`,J)}),j(()=>{X.off(`publishWorkflow`,W),X.off(`unpublishWorkflow`,J)}),n({importFileRef:te}),(n,s)=>(t(),a(`div`,{class:S(n.$style.container)},[e.isNewWorkflow?g(``,!0):(t(),F(rr,{key:0})),se.value?g(``,!0):(t(),a(`div`,{key:1,class:S(n.$style.publishButtonWrapper)},[i(`div`,{class:S(n.$style.buttonGroup)},[O(y(le),{disabled:ne.value===`not-published-eligible`&&o.workflowPermissions.publish,"show-after":300,offset:15},{content:L(()=>[i(`div`,null,[G.value.tooltip?(t(),a(x,{key:0},[r(h(G.value.tooltip)+` `,1),s[0]||=i(`br`,null,null,-1)],64)):g(``,!0),K.value&&G.value.showVersionInfo?(t(),a(x,{key:1},[i(`span`,ir,h(de.value),1),s[1]||=i(`br`,null,null,-1),r(h(y(C).baseText(`workflowHistory.item.active`))+` `,1),fe.value?(t(),F(Gt,{key:0,date:fe.value},null,8,[`date`])):g(``,!0)],64)):g(``,!0)])]),default:L(()=>[O(y(ue),{class:S(n.$style.groupButtonLeft),loading:N.value,disabled:!G.value.enabled||ce.value,variant:`subtle`,"data-test-id":`workflow-open-publish-modal-button`,onClick:W},{default:L(()=>[i(`div`,{class:S([n.$style.flex])},[G.value.showIndicator?(t(),a(`span`,{key:0,"data-test-id":`workflow-active-version-indicator`,class:S({[n.$style.indicatorDot]:!0,[n.$style.indicatorPublished]:G.value.indicatorClass===`published`,[n.$style.indicatorChanges]:G.value.indicatorClass===`changes`,[n.$style.indicatorIssues]:G.value.indicatorClass===`error`})},null,2)):g(``,!0),i(`span`,{class:S([ne.value===`published-no-changes`&&n.$style.indicatorPublishedText])},h(G.value.text),3)],2)]),_:1},8,[`class`,`loading`,`disabled`])]),_:1},8,[`disabled`]),O(y(H),{items:q.value,placement:`bottom-end`,"data-test-id":`version-menu`,onSelect:he},{activator:L(()=>[O(y(oe),{class:S(n.$style.groupButtonRight),variant:`subtle`,icon:`chevron-down`,"aria-label":y(C).baseText(`node.moreActions`),"data-test-id":`version-menu-button`},null,8,[`class`,`aria-label`])]),_:1},8,[`items`])],2)],2)),O(nr,{"workflow-id":o.id,"is-new-workflow":e.isNewWorkflow},null,8,[`workflow-id`,`is-new-workflow`]),O(Zn,{id:e.id,ref:`actionsMenu`,"workflow-permissions":e.workflowPermissions,"is-new-workflow":e.isNewWorkflow,"is-archived":e.isArchived,name:e.name,tags:e.tags,"current-folder":e.currentFolder},null,8,[`id`,`workflow-permissions`,`is-new-workflow`,`is-archived`,`name`,`tags`,`current-folder`])],2))}}),[[`__cssModules`,{$style:{container:`_container_joo8n_125`,activeVersionIndicator:`_activeVersionIndicator_joo8n_129`,icon:`_icon_joo8n_133`,publishButtonWrapper:`_publishButtonWrapper_joo8n_137`,buttonGroup:`_buttonGroup_joo8n_143`,groupButtonLeft:`_groupButtonLeft_joo8n_147`,groupButtonRight:`_groupButtonRight_joo8n_159`,indicatorDot:`_indicatorDot_joo8n_168`,indicatorPublished:`_indicatorPublished_joo8n_176`,indicatorPublishedText:`_indicatorPublishedText_joo8n_180`,indicatorChanges:`_indicatorChanges_joo8n_184`,indicatorIssues:`_indicatorIssues_joo8n_188`,flex:`_flex_joo8n_192`}}]]),sr={class:`tags`,"data-test-id":`workflow-tags-container`},cr={key:1},lr=Y(u({__name:`WorkflowDetails`,props:{id:{},tags:{},name:{},currentFolder:{},isArchived:{type:Boolean},description:{}},setup(e){let n={XS:150,SM:200,MD:250,LG:500,XL:1e3},o=e,c=w(),l=Ee(),u=Xe(),d=Qe(),f=je(),_=Ae(),v=Wt(),C=Te(),ee=Kt(),T=R(),D=me(),k=ge(),M=R(),N=Ve(),te=Ge(),P=Le(),I=et(),ne=Ut(),z=We(),B=p(pt,null),V=s(!1),H=s([]),U=A(`workflowHeaderActions`),ie=re(),ae=(e,t)=>{if(e.length!==t.length)return!0;let n=new Set(e);return t.reduce((e,t)=>e||!n.has(t),!1)},W=m(()=>!d.isWorkflowSaved[o.id]),oe=m(()=>wt(B?.value?.scopes).workflow),G=m(()=>C.preferences.branchReadOnly||v.shouldBeReadOnly),se=m(()=>W.value?G.value:G.value||o.isArchived||!oe.value.update),ce=m(()=>o.tags),le=m(()=>{if(!W.value&&o.currentFolder)return o.currentFolder;let e=k.query.parentFolderId;return e?ee.getCachedFolder(e):null});E(()=>o.id,()=>{V.value=!1,q.value?.forceCancel()});function ue(){se.value||(H.value=[...o.tags],V.value=!0,setTimeout(()=>{q.value?.forceCancel(),ie.emit(`focus`)},0))}function K(){let e=o.tags,t=H.value;if(!ae(e,t)){V.value=!1;return}if(se.value){V.value=!1;return}v.requestWriteAccess(),B?.value&&B.value.setTags(t),u.markStateDirty(`metadata`),N.track(`User edited workflow tags`,{workflow_id:o.id,new_tag_count:t.length}),V.value=!1}function de(){V.value=!1}let q=A(`renameInput`);function pe(){q.value?.forceFocus&&q.value.forceFocus()}function J(e){let t=e.trim();if(!t){P.showMessage({title:M.baseText(`renameActi